whitequark changed the topic of #yosys to: Yosys Open SYnthesis Suite: https://github.com/YosysHQ/yosys/ | Channel logs: https://libera.irclog.whitequark.org/yosys/ | Bridged to #yosys:matrix.org
tpb has quit [Remote host closed the connection]
tpb has joined #yosys
nelgau_ has joined #yosys
nelgau has quit [Read error: Connection reset by peer]
crzwdjk has quit [Ping timeout: 260 seconds]
crzwdjk has joined #yosys
nelgau has joined #yosys
nelgau_ has quit [Ping timeout: 255 seconds]
lexano has quit [Ping timeout: 256 seconds]
citypw has joined #yosys
nelgau has quit [Read error: Connection reset by peer]
nelgau_ has joined #yosys
bjork1intosh has quit [Ping timeout: 256 seconds]
bjorkintosh has joined #yosys
bjorkintosh has quit [Changing host]
bjorkintosh has joined #yosys
cr1901_ has joined #yosys
cr1901 has quit [Ping timeout: 268 seconds]
jn has quit [Ping timeout: 256 seconds]
jn_ has joined #yosys
jn_ has joined #yosys
nelgau_ has quit [Read error: Connection reset by peer]
uis246[m]1 has quit [Quit: Idle timeout reached: 172800s]
nelgau has joined #yosys
FabM has joined #yosys
FabM has joined #yosys
<Myrl-saki> Hi. :) I finally got an ECP5 board, how do I use registered output BRAM?
<Myrl-saki> Oh wait.
<Myrl-saki> In hindsight, maybe it's getting inferred? And that's why I'm having weird timings.
<Myrl-saki> TL;DR is that the slowest path right now is the BRAM, so I wanted to use registered output. So I did. But it still considers the output to not be regisetred.
<Myrl-saki> At least if I'm understanding it correctly..
<tnt> you can check in the .json to see if that ram is configured with output register.
<Myrl-saki> Huh true
<Myrl-saki> Ah
<Myrl-saki> test
<Myrl-saki> "REGMODE_A": "NOREG",
<Myrl-saki> Seems like that's a no.
<tnt> I'm not even sure if ecp5 infer ram supports output reg TBH.
<Myrl-saki> Okay, so that's answered, at least.
<Myrl-saki> Hm.
<Myrl-saki> Yeah, maybe I'm misunderstanding somethign here?
<Myrl-saki> ```
<Myrl-saki> Info: 5.6 5.6 Source ram.cells_a.0.1.DOA7
<Myrl-saki> Is this the input or an output of the RAM?
<Myrl-saki> Whoops, I better send my RAM implementation too.
<tnt> output.
<tnt> It's the time from the clock edge to the moment the data shows up on the data out pins.
<tnt> The ECP5 BRAM have a very long clock-to-out on BRAMs.
<tnt> well this ram model doesn't have an output register ...
<Myrl-saki> Wait, give me a bit to think about this lol. So, my original implementation was to just do `assign out[...] = cells[addr];`
<tnt> enabling out_reg on ecp5 means you have the input registers (because they are bram, always synchronous), then another register on the data output. So you have a read latency of 2 cycles.
<tnt> Your implementation was an asynchronous read ram ... that doesn't even _map_ to BRAMs at all ...
<Myrl-saki> Okay, I think I get it. So the way this works is that it actually latches the address?
<Myrl-saki> Like, one way I can see this is: `assign out[...] = cells[a_reg]; ... a_reg <= addr;`?
<tnt> yes
mobius has quit [Ping timeout: 246 seconds]
mobius has joined #yosys
<Myrl-saki> Can block RAM be considered as async write?
<Myrl-saki> Wait, that kind of makes no sense does it
<lofty> Myrl-saki: you basically never want async write
<Myrl-saki> Yeah, I kind of had a messup in understanding "async" and "sync" there, but I think I get it now.
jkm has joined #yosys
jkm has quit [Ping timeout: 250 seconds]
jkm has joined #yosys
lexano has joined #yosys
citypw has quit [Ping timeout: 240 seconds]
nelgau has quit [Read error: Connection reset by peer]
nelgau has joined #yosys
<Myrl-saki> Okay, stupid question, but like
<Myrl-saki> Am I having a hard time timing, because I'm using BRAM and IO at the same time? And using combinatorial logic between them
<Myrl-saki> A bit more specific: I'm progressively converting my CPU and peripherals into Wishbone, and it's not going as fast as I expected. This wasn't a problem on the Tang Nano 9K, so I'm surprised that it's a problem on this board.
<Myrl-saki> Hm, I think the coordinates should reveal if that's the problem, but I don't think it's that.
cr1901_ is now known as cr1901
<gatecat> somlo: I think https://github.com/YosysHQ/nextpnr/pull/1249, but I haven't actually tested with Python 3.13
<somlo> gatecat: thanks, I'll run some tests and report back
jkm has quit [Quit: Client closed]
jkm has joined #yosys
FabM has quit [Ping timeout: 260 seconds]
peeps has joined #yosys
peeps[zen] has quit [Remote host closed the connection]
jkm has quit [Quit: Client closed]
jkm has joined #yosys
cr1901 has quit [Quit: Leaving]
cr1901 has joined #yosys
jkm has quit [Quit: Client closed]
nonchip has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
nonchip has joined #yosys
nonchip has quit [Quit: No Ping reply in 180 seconds.]
nonchip has joined #yosys