IRC logs for #openrisc Wednesday, 2012-11-28

p03shMy name is Sergey Marfin and currently I am trying to port orpsoc to VC707 Virtex-7 Xilinx board.00:49
p03shI have already tried and have successfully built minsoc for it, had some UART issues, but AdvDebug worked fine through a Platform Cable USB.00:49
p03shI am having some question regarding porting. As it seems, the Atlys Diligent board has the most common peripherals with my board.00:49
p03shI would like to start with just a uart, a debug interface and GPIO.00:49
p03shSo, questions:00:50
p03sh1) Considering modyfing atlys sources, what files and defines should I modify. In minsoc it was the memory defines (BRAM), the BSCAN JTAG defines (which I cannot find in orpsoc), the board.h file, the ucf constraints file, and defines of target FPGA (which I cannot find as well, those are critical for compilation).00:50
p03sh2) How should I generate clocks? Is it a good idea to use Xilinx Clock Wizard in CoreGen?00:50
p03sh3) Could you please outline how should I modify the DDR2 wrapper to use DDR3 MIG core interface?00:50
p03sh4) If it is not that difficult, could someone explain to me the general process of porting orpsoc to other boards? I have multiple, but no support for them whatsoever.00:50
p03shThanks in advance, I have a lot more questions though.00:50
p03shHappy synthesizing!00:50
p03shSystem specs : Ubuntu 12.10 Linux x32, ISE+Vivado 14.3, vc707 development board00:50
p03shAnybody here?00:56
p03shHello everyone!01:10
p03sh_Hello everyone!02:07
p03sh_Could I have some help regarding orpsoc synthesis?02:07
stekernp03sh_: most people here are in europe, so we are sleeping05:16
stekern1) orpsoc_top.v, the files in boards/xilinx/atlys/rtl/verilog/include, boards/xilinx/atlys/syn and boards/xilinx/atlys/backend/par05:21
stekern2) look at boards/xilinx/atlys/rtl/verilog/clkgen/clkgen.v05:22
stekern3) no idea what the DDR3 mig interface looks like05:23
stekern4) take the board port that is most similiar and modify it05:23
stekernok, all tests in updated mor1kx-devenv passes, except intloop and exceptionsteptest09:14
stekernjuliusb: or1k-shortjump caught 2 bugs ;)09:15
stekernone flag bug (that darn flag), and one writeback bug09:16
stekernhmm, looks like it's something wrong with the delay-slot detection logic09:36
stekerncouldn't something like this work? if (padv_execute) execute_delay_slot <= (op_jr | op_jbr | op_jal);09:40
stekerninstead of this I mean:
p03sh_Thanks, stekern!10:32
p03sh_Can I use advanced debug system with orpsoc like I did with minsoc? I think it should attach just fine10:33
stekernthe atlys board doesn't use it "out of the box", but I've used it with alteras de0 nano board and orpsoc, so if you've got adv_debug_sys working on atlys in minsoc I don't see why that shouldn't work10:37
stekernthat's the de0_nano board10:38
stekernI just took a look at or1200's pipeline layout, it's weird...10:42
@juliusbp03sh_: look at the documentation in ORPSoC, it explains how to do a board port I think11:45
@juliusbstekern: regarding calculating the execute_delay_slot signal, it's entirely possible your suggestion is good :)11:49
@juliusbbut how are you figuring out whether we're taking the conditional branches, etc.?11:49
stekernhmm, does that matter? it's still an delay-slot11:52
stekernbut that's perhaps not what the execute_delay_slot is intended to signal11:53
@juliusbthese are all good questions11:53
@juliusbit's intended to say that the instruction in the execute stage is in a delay slot, ie. we're about to branch away11:54
stekernhmm, but that's not what SR[DSX] is supposed to show, right?11:59
stekernand that's connected to execute_delay_slot through ctrl_delay_slot11:59
stekernI mean, if an exception happens in the delay slot, it shouldn't matter if the branch was about to be taken or not12:00
stekernit should be re-evaluated after rfe12:00
stekernor have I misunderstood it?12:00
p03sh_Excuse me one more time, but the ORPSoC manual says absolutely nothing about porting it to other boards. There's nothing about clock generation and work with RAM, except for outlines where the code is14:18
p03sh_And furthermore, I could not find any platform-specific ram blocks used in the designs, compared to minsoc. Even the atlys example uses generic memory instead of Xilinx BRAM blocks14:19
stekernp03sh_: usually blockram can be inferred from generic code14:35
stekerni.e., there's no benefit of using BRAM macros in most cases14:38
stekernclockgeneration is just taking the incoming board clock and feed it through some PLLs/DCMs to generate the clocks you need14:39
stekernno magic there14:39
stekernandresjacoby: can you please fix your client/connection14:59
p03sh_hm, that's not what it looks like. using hw macros seems to give at least 50% less synthesis time16:11
p03sh_how can I find out if generic memory is actually mapped as bram primitives?16:12
stekernp03sh: I have a hard time believing that using BRAM macros instead of instantiating RAMs would decrease synthesis time by 50%19:58
stekernwhat memblocks are you even speaking about here?19:58
stekernand to answer your question, you can see that in the map report (the .mrp file)19:59
@juliusbstekern: if the synthesis tool screws up and doesn't infer the BRAMs, and instead uses thousands of FFs, the synthesis time can be ridiculous20:46
@juliusbthat's what I've experienced anyway20:46
@juliusbregarding the delay-slot thing, yuo want to know if the instruction in the delay slot caused an exception (illegal insn, lsu/error) in which case, yes the RFE will need to go back to the preceeding inst (a jump/branch or something)20:48
@juliusb(otherwise, if an exception is raised during that branch, I think I have made it complete the delay slot instruction, then service in PIC or TT exception, and set the EPCR to the location of where we were branching to)20:49
@juliusbso, that's all - it's just if the guy in the delay slot is going to cause an exception, you want to know if it's a delay slot20:49
p03shjuliusb, exactly what happened with me on minsoc22:26
@juliusbwith you on minsoc?22:35
-!- Netsplit *.net <-> *.split quits: p03sh23:22
-!- Netsplit over, joins: p03sh23:30
olofkI'm thinking of starting to document file formats and structure for orpsocv3. Any ideas for what tools to use? There seem to be more than enough to choose from23:41
@juliusbolofk: asciidoc?23:55
olofkYeah, that could work. I just looked at python's built-in stuff, but that won't handle the configuration files23:55

Generated by 2.15.2 by Marius Gedminas - find it at!