clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
kraiskil has quit [Ping timeout: 260 seconds]
vidbina has quit [Ping timeout: 260 seconds]
dh73 has quit [Quit: Leaving.]
<meawoppl> followup, is bitrange assigment like this legit
<meawoppl> reg[15:0] foo;
<meawoppl> posedge @(whatever)
<meawoppl> foo[15:8] <= foo[7:0];
<meawoppl> ?
zkms has quit [Quit: zkms]
zkms has joined #yosys
<ZipCPU> meowppl: Yes, that's a legitimate assignment. I like to place the assignment to foo[7:0] nearby, but it can be done in a separate block
<ZipCPU> (Verilator might have problems with separate blocks for separate parts of a value, but it is legal Verilog)
quigonjinn has quit [Ping timeout: 268 seconds]
rohitksingh has joined #yosys
rohitksingh has quit [Ping timeout: 260 seconds]
GenTooMan has joined #yosys
rohitksingh has joined #yosys
allenlorenz has joined #yosys
pie_ has quit [Ping timeout: 268 seconds]
pie_ has joined #yosys
pie_ has quit [Ping timeout: 240 seconds]
rohitksingh has quit [Ping timeout: 260 seconds]
rohitksingh has joined #yosys
Jybz has joined #yosys
emeb_mac has quit [Quit: Leaving.]
rohitksingh has quit [Ping timeout: 260 seconds]
FL4SHK has joined #yosys
fsasm has joined #yosys
kraiskil has joined #yosys
kraiskil has quit [Ping timeout: 265 seconds]
kraiskil has joined #yosys
rombik_su has joined #yosys
pie_ has joined #yosys
pie_ has quit [Ping timeout: 258 seconds]
kraiskil has quit [Ping timeout: 258 seconds]
rohitksingh has joined #yosys
kraiskil has joined #yosys
Laksen has joined #yosys
pie_ has joined #yosys
pie_ has quit [Ping timeout: 248 seconds]
pie_ has joined #yosys
kraiskil has quit [Ping timeout: 258 seconds]
rohitksingh has quit [Ping timeout: 260 seconds]
mwk has quit [Ping timeout: 268 seconds]
rohitksingh has joined #yosys
mwk_ has joined #yosys
mwk_ is now known as mwk
rohitksingh has quit [Ping timeout: 260 seconds]
emeb_mac has joined #yosys
emeb_mac has quit [Client Quit]
kraiskil has joined #yosys
X-Scale has quit [Ping timeout: 260 seconds]
Laksen has quit [Quit: Leaving]
<Xiretza> I can't get synth_xilinx to infer true dual port RAMs (two read and write ports, one of each per clock domain), is that simply not supported yet?
X-Scale has joined #yosys
<whitequark> yes
<whitequark> yosys can't do TDP RAM at all yet
Jybz has quit [Quit: Konversation terminated!]
<Xiretza> ooooh, I see, that explains it. I guess it was never necessary for ICE40/ECP5
<daveshah> It is necessary for ECP5
<daveshah> It's just memory_bram is too horrible for anyone to have attempted to do it yet
<Xiretza> that doesn't exactly inspire confidence in trying it myself... to be clear, most configurations with just a single clock domain should be possible, just not two independent clocks per $mem?
<mwk> Xiretza: no
<mwk> the problem is that yosys doesn't know how to merge a single port in both read and write modes
<mwk> *how to use
<mwk> so if you read from memory in one place, and write to it in another place, it has to use two different ports
<Xiretza> mwk: and yosys only supports a single port per memory?
<mwk> no
<mwk> it supports however many ports are available
<mwk> just every available port can only be either read or write, not both at once
<Xiretza> mwk: okay, and how do those relate to clock domains? do all ports have to be on the same clock?
<mwk> clock domains don't matter, it's about ports
<mwk> the two ports can be on two different clocks, and yosys does support that
<Xiretza> so it can only use each of the two ports a RAMB36E1 offers as either read or write (so read+read, read+write, or write+write, only one of which makes sense)?
<mwk> correct
<daveshah> read-read would make sense for a ROM
<daveshah> but it's not supported
<mwk> huh, it's not?
<daveshah> I don't think so, it would need an extra rule for memory_bram
<mwk> ugghh
<mwk> right
<mwk> of course
<daveshah> memory_bram itself should support such a pattern
<Xiretza> daveshah: right, are those built from RAMB36E1 though?
<daveshah> but the rules and techmaps don't
<daveshah> Xiretza: yes or RAMB18E1 for smaller ones
pie_ has quit [Remote host closed the connection]
<Xiretza> interesting, for some reason I thought there were separate ROM blocks. alright then, seems like some more in-depth work is required, don't think I have much of a chance to take that on. I'll just keep the designs I'm testing to two ports for now
pie_ has joined #yosys
<mwk> ROM is just preinitialized RAM with the ports used only for read
<Xiretza> yeah, it makes sense now that I think about it, just never occured to me
<Xiretza> thanks a lot for all your help!
fsasm has quit [Ping timeout: 240 seconds]
_whitelogger has joined #yosys
meawoppl has quit [Remote host closed the connection]
m_w has joined #yosys
m_w has quit [Client Quit]
cr1901_modern has quit [Quit: Leaving.]
pie_ has quit [Quit: No Ping reply in 180 seconds.]
cr1901_modern has joined #yosys
pie_ has joined #yosys
pie_ has quit [Excess Flood]
pie_ has joined #yosys
lutsabound has joined #yosys
pie_ has quit [Ping timeout: 265 seconds]
pie_ has joined #yosys
emeb_mac has joined #yosys
pie_ has quit [Ping timeout: 248 seconds]
rombik_su has quit [Read error: Connection reset by peer]
tpb has quit [Remote host closed the connection]
tpb has joined #yosys