#milkymist IRC log for Tuesday, 2013-11-05

larschm, I keep forgetting this. What's the difference between a bram where the output is clock and one where it is not and when do you want to use one or the other?10:14
lekernelyou mean registered?10:48
larscprobably. basically the difference between data = ram[raddr] and @(posedge clk) data <= ram[raddr]10:49
lekernelall BRAMs have 1-cycle latency. you can optionally add another output register that improves the clock-to-output delay, but on slowtan6 the performance is less than registering in the fabric so you should never use it (as performance optimization is always the target due to the inherent slowness of the silicon)10:50
lekernelif you have an asynchronous read, you cannot map to BRAM10:51
lekernelunless the synthesizer moves some other design register into the memory via retiming10:51
larscok, I see10:53
lekernelyou can still have the form10:53
lekernel@(posedge clk) addr_registered <= addr10:53
lekernelassign data = ram[addr_registered]10:54
lekernelwhich describes a write-first memory mappable to block RAM10:54
lekernelas opposed to @(posedge clk) data <= ram[raddr]10:54
lekernelwhich is read-first10:54
larscso only if the address is combinatorial logic I won't be able to map it to a BRAM?10:58
lekerneland if you can't register the data either11:30
lekernelXst will generally try to extract a register from the address generation logic, or the data processing logic, and put it into the BRAM. but a) it's only so smart b) in some cases, extracting the register would lead to disasterous timing11:32
larscbut for a fifo with a read counter I should be fine I guess?11:32
lekerneltry synthesizing it and look at the netlist11:33
lekernelit's not always that clear11:33
lekerneldepends how your fifo works :)11:33
larscIt will probably be fine since the output will eventually be a register again, but in a different core11:34
lekernelah, I'd double check that. we're talking about Xilinx software, remember? :)11:48
lekernelI'm willing to take bets it won't work11:48
larscthe FF will probably explode if it does not work11:54
larscFF count11:54
lekerneldistributed RAMs are never mapped to FFs - they use the LUTs themselves as storage (with read-write capability), in a special mode11:55
larscok, so the lut cound will explode11:56
larscgood to know: "INFO: [Common 17-86] Your PlanAhead license expires in -127 day(s)"12:15
lekernelDRM failing in that direction is unusal, but less bothersome :)12:16
larsclooks as if I got a BRAM12:27
larscI wonder how you go about implementing a stb-ack style handshaking for a read-first BRAM, since you essentially need to increment the address one cycle before ack is asserted.12:30
lekernelassign addr_next = ack ? addr + 1 : addr12:33
lekernelalways @clk addr <= addr_next12:33
lekernelalways @clk data <= mem[addr_next]12:34
lekernelsomething like that12:34
larscthat makes sense, thanks12:41
ysionneauhum, seems I fixed the jbig2dec issue18:19
ysionneauwill post a patch later in the evening18:19
GitHub52[scripts] sbourdeauducq pushed 2 new commits to master: http://git.io/i1RFDw22:16
GitHub52scripts/master a748e57 Yann Sionneau: binutils and GDB update22:16
GitHub52scripts/master 8222d63 Yann Sionneau: Fix jbig2dec 404 error issue22:16
ysionneaulekernel wpwrak I am trying to put together a list of videos showing the Milkymist One board doing visual effects22:33
ysionneauif I miss some links please add thel22:34
ysionneauI know that on some links it's the ML401 and on some other links it's the first milkymist one demo which is not the flickernoise software22:34
ysionneaumaybe I should tag those videos with [flickernoise] and [early engineering demo]22:34
ysionneauif you have videos of the Mixxeo board in action, please put the links on the piratepad as well22:35
ysionneauand now, I'm calling it a day22:36
ysionneaugn8 :)22:36
wpwrakif you like technical, here's one: http://downloads.qi-hardware.com/people/werner/m1/demo/wheel.ogv22:41
wpwrakthen there's of course this one: http://downloads.qi-hardware.com/people/werner/m1/demo/MVI_1747.MOV22:47
ysionneaugreat! could you put them on the piratepad page ?22:47
ysionneauif not already dlne22:47
ysionneauim on my phone right now22:47
wpwrakdone. lemme check two larger ones ...22:51
wpwrakbah. mplayer doesn't want to play them. that sucks.22:53
sh4rm4wpwrak, time to get mpv player then ;)23:54
sh4rm4looks as if wolfspraul hasn't been around lately, hmm ?23:55
sh4rm4i'm curious why/how he got all commit names in his fpgatools repo changed23:55
--- Wed Nov 6 201300:00

Generated by irclog2html.py 2.9.2 by Marius Gedminas - find it at mg.pov.lt!