IRC logs for #openrisc Wednesday, 2013-04-10

--- Log opened Wed Apr 10 00:00:08 2013
stekernolofk: I registered to the workshop now, feel free to start pestering after 2013-06-11 ;)06:10
olofkstekern: Awesome06:10
stekerndevboards, gotta catch 'em all!06:11
olofkWe can always pretend that we are building a supercomputer cluster06:12
stekern$269 for that board isn't bad neither (if that will be the selling price, it's just "valued at" at the moment), it could get some spreadage I think06:18
stekerna cool openrisc demo on those boards with "silicon heaters" would be to do something realtime critical in the fpga using openrisc and one of the RTOS ports we have and do gui stuff on the arm06:29
stekernthat kind of chips seem to get some traction nowadays, e.g. cortex-a9 + cortex-m4 in the freescale vybrid chips:
stekernsorry, cortex-a506:37
stekernsometimes there are some very useful info on the opencores forums:,OpenRISC,0,502408:48
stekernyou just have to dig through the "PLZ EMAIL ME TEH CODEZ" ;)08:51
stekernmor1kx together with 100 MHz sdram clock (instead of 50 MHz) on de0 nano works just fine after I did what he suggested08:52
@juliusbthat's pretty cool!09:06
@juliusbso is mor1kx at 100MHz or just the SDRAM clock?09:08
stekernjust the SDRAM clock09:13
stekernmor1kx is at 50 MHz09:13
stekernI'm doing micro optimisations atm ;)09:14
stekernit's a pretty useful excersise, looking at the code and really think about what it will be in term of gates09:15
stekernexercise too09:16
stekernmade me find this gem of mine:
stekernI had just added more and more muxes to your original 'op_alu_i ? alu_valid_i : 1'b1;'09:18
_franck_stekern:, "Clock, PLL and Timing Considerations"09:18
_franck_I had this kind of problem on a custom board09:18
stekernuntil it became unreadable and inefficient :/09:19
@juliusbstekern: spring cleaning, huh? :)09:21
@juliusbI should do some, too.09:21
stekern_franck_: thanks, yeah, you probably have to do that, trim the offset for your board09:22
stekernjeremybennett_: or1ksim question: can you *force* tracing off somehow?09:23
stekernI have a linux image where I have a l.nop 8, so tracing will be turned on, but I want to run that image without tracing, but also without removing the l.nop 809:24
stekernjuliusb: yup, and I'm trying to simplify the comp_op logic, it's making a terrible path from register outputs to branc address throuh the flag generation09:31
stekernsince the ALU output is now connected combinatorially to the pc address09:33
stekernyou could of course stall on 'l.sfxx;' to get the registered output from execute, but that kind of would defeat the purpose of making the branches 1-cycle, since 'l.sfxx;' is *very* common09:36
stekernmore advanced solution: use the registered output from execute stage, but use a simple branch prediction on the conditional branches09:39
stekernbackwards branches always taken, forwards never09:39
stekernthat's probably what I should do, in the long run09:42
stekernman, this IRC thing is pretty cool, you resolve problems just by telling other people about them =P09:43
jeremybennett_stekern: I thought tracing was turn on/off by a special l.nop?09:44
stekernjeremybennett_: you are absolutely correct, it's turned on by 'l.nop 8' and turned off by 'l.nop 9', the problem I have is that I want to *prevent* the 'l.nop 8' from turning it on09:46
stekernif that's not possible, it's not a big deal, I just thought you might know from the top of your head09:47
jeremybennett_stekern: Not something I had ever considered. I guess there is a case for an "--ignore-nop-<n>" argument. Would be a new function (easy to implement)10:13
stekernyeah, that sounds good, and more generic than a "force tracing off"10:20
stekernjuliusb: how does this look to you?
@juliusbshould be easier to read13:01
@juliusb(I like how pastie does diff syntax highlighting!)13:01
@juliusbit works the same?13:02
stekernshould work the same, if I haven't done any brain farts. The tests passes with it at least.13:07
stekernand it generates slightly more lightweight logic13:08
stekernif you want to reuse logic for the a_eq_b, we could do: !(|xor_result), but that slightly less obvious what it does13:10
stekernand the synthesis tools might figure that out anyways13:11
@juliusboh great :)13:15
stekernactually, it looks like quartus doesn't figure that out and the critical path through a_eq_b went away for another one13:15
@juliusbi just figured out that the FPGA on the DE0 Nano costs 48 pounds each on, and I could buy the board for 69 pounds13:15
@juliusbpretty good deal!13:15
@juliusband that's 48 pounds with minimum quantity of 9013:16
stekernmaybe we put that in there, your descriptive name for it will tell what it does ;)13:16
stekernyup, it's really nicely priced13:16
stekerntime for floorball, bbl13:17
mor1kx[mor1kx] skristiansson pushed 2 new commits to master:
mor1kxmor1kx/master 28fe6f8 Stefan Kristiansson: execute_alu: whitespace cleanup17:11
mor1kxmor1kx/master 51e95dc Stefan Kristiansson: execute_alu: simplify (and micro optimize) compare ops...17:11
--- Log closed Thu Apr 11 00:00:10 2013

Generated by 2.15.2 by Marius Gedminas - find it at!