clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
sklv has joined #yosys
digshadow has joined #yosys
ZipCPU|Laptop has joined #yosys
digshadow has quit [Ping timeout: 248 seconds]
digshadow has joined #yosys
sklv has quit [Quit: quit]
ZipCPU|Laptop has quit [Read error: Connection reset by peer]
digshadow has quit [Ping timeout: 255 seconds]
digshadow has joined #yosys
C_Elegans has joined #yosys
eduardo_ has joined #yosys
digshadow has quit [Ping timeout: 258 seconds]
eduardo__ has quit [Ping timeout: 268 seconds]
AlexDaniel has quit [Ping timeout: 240 seconds]
C_Elegans has quit [Ping timeout: 248 seconds]
digshadow has joined #yosys
nrossi has joined #yosys
juri_ has quit [Ping timeout: 268 seconds]
FabM has joined #yosys
dys has joined #yosys
mattvenn has joined #yosys
eduardo__ has joined #yosys
eduardo_ has quit [Ping timeout: 248 seconds]
AlexDaniel has joined #yosys
sklv has joined #yosys
digshadow has quit [Quit: Leaving.]
AlexDaniel has quit [Ping timeout: 255 seconds]
m_t has joined #yosys
sklv has quit [Ping timeout: 248 seconds]
sklv has joined #yosys
FabM has quit [Quit: ChatZilla 0.9.93 [Firefox 52.3.0/20170811091919]]
promach_ has joined #yosys
promach_ has quit [Quit: Leaving]
dys has quit [Ping timeout: 255 seconds]
sklv has quit [Remote host closed the connection]
dys has joined #yosys
digshadow has joined #yosys
sklv has joined #yosys
digshadow has quit [Ping timeout: 248 seconds]
nrossi has quit [Quit: Connection closed for inactivity]
<mattvenn> Anyone here know what a memrd block is?
<mattvenn> When I use yosys show I see them.
<awygle> mattvenn: seems to be a read port for a memory. See the memory_collect and memory_unpack passes
digshadow has joined #yosys
<mattvenn> I find they get inferred when I use an array of regs
<mattvenn> and then my design stops working
<mattvenn> I've put together a simple design to show what I mean https://github.com/mattvenn/memrd-problem
<awygle> That makes sense, because an array of regs is a memory. When you say "stops working" what do you mean? Can you post the non working code as well?
<mattvenn> the line commented out is the one that doesn't work
<mattvenn> by doesn't work I mean the LEDs don't show the ADC data
<awygle> So you're just commenting that line back in? That's the only change you're making?
<mattvenn> comment out the line above, and comment in the line below
<awygle> And you're running on hardware without simulation?
<mattvenn> the adc.v had a testbench, which simulated and ran fine
<mattvenn> as I need 4 of these running together I used the genvar and changed the single register to an array
<mattvenn> that's when I found this issue
<awygle> Frankly I'm surprised that compiles at all, and I think you have the standard confusion about reg. Reg doesn't automatically produce a register - it just means that you can assign to it in an always block. To register the output of your ADC module you will need to use the wire, then make an always @(posedge clk) block where you assign to the registers.
<mattvenn> the output of the adc is a register, so the data is already registered
<awygle> I highly suggest running in Icarus or Verilator before going straight to hardware, especially with Yosys. Yosys doesn't try very hard to protect you from invalid code, so I always at least run verilator --lint-only
<mattvenn> though I did also try an always block to register the data
<mattvenn> yes I use both
<mattvenn> though veriator showed me some weird stuff when i tried it on top.v
<awygle> So, if your output is already registered, and your wire solution works, what are you trying to accomplish?
<mattvenn> I just want to understand what's happening
<mattvenn> I've only just started using yosys show, and not seen the memrd block before. When it's inferred my design doesn't work
<mattvenn> so I was wondering what it was and if anyone has experienced issues with it
<mattvenn> if I don't use the generate, and only have one adc, the register version works
<awygle> That is frankly kind of weird. Maybe someone else has a better idea of what's going on in detail.
<mattvenn> only if I use a genvar do I get the memrd, and the design stops working
<mattvenn> thanks for your help though ;)
gnufan has joined #yosys
<ZipCPU> No, it's not all that wierd ... it's matching my own experiences.
mattvenn has quit [Ping timeout: 248 seconds]
AlexDaniel has joined #yosys
AlexDaniel has quit [Ping timeout: 255 seconds]
gnufan has quit [Ping timeout: 250 seconds]
gnufan has joined #yosys
digshadow has quit [Ping timeout: 240 seconds]
digshadow has joined #yosys
AlexDaniel has joined #yosys
gnufan has quit [Quit: Leaving.]
dys has quit [Ping timeout: 240 seconds]
proteusguy has quit [Ping timeout: 248 seconds]
proteusguy has joined #yosys
digshadow has quit [Ping timeout: 250 seconds]