clifford changed the topic of #yosys to: Yosys Open SYnthesis Suite: http://www.clifford.at/yosys/ -- Channel Logs: https://irclog.whitequark.org/yosys
rohitksingh has quit [Ping timeout: 245 seconds]
rohitksingh has joined #yosys
Thorn has joined #yosys
ktemkin has quit [Ping timeout: 252 seconds]
_florent_ has quit [Ping timeout: 252 seconds]
_florent_ has joined #yosys
ktemkin has joined #yosys
tecepe has quit [Ping timeout: 252 seconds]
flammit has quit [Ping timeout: 252 seconds]
ovf has quit [Ping timeout: 252 seconds]
mithro has quit [Ping timeout: 252 seconds]
bubble_buster has quit [Ping timeout: 252 seconds]
litghost has quit [Ping timeout: 252 seconds]
tecepe has joined #yosys
marex-cloud has quit [Ping timeout: 250 seconds]
benreynwar has quit [Ping timeout: 252 seconds]
flammit has joined #yosys
bubble_buster has joined #yosys
litghost has joined #yosys
benreynwar has joined #yosys
mithro has joined #yosys
ovf has joined #yosys
marex-cloud has joined #yosys
pie_ has quit [Ping timeout: 240 seconds]
citypw has joined #yosys
rohitksingh has quit [Ping timeout: 250 seconds]
rohitksingh has joined #yosys
kraiskil has joined #yosys
rohitksingh has quit [Ping timeout: 250 seconds]
rohitksingh has joined #yosys
flaviusb has joined #yosys
nrossi has joined #yosys
_whitelogger has joined #yosys
_whitelogger has joined #yosys
kraiskil has quit [Ping timeout: 276 seconds]
adjtm has joined #yosys
rektide_ has joined #yosys
ravenexp has quit [*.net *.split]
adjtm_ has quit [*.net *.split]
Twix has quit [*.net *.split]
tlwoerner has quit [*.net *.split]
rektide has quit [*.net *.split]
nurelin has quit [*.net *.split]
Nazara has quit [*.net *.split]
Ristovski has quit [*.net *.split]
Marex has quit [*.net *.split]
forrestv has quit [*.net *.split]
Marex has joined #yosys
forrestv has joined #yosys
Ristovski has joined #yosys
ravenexp has joined #yosys
nurelin has joined #yosys
Twix has joined #yosys
Nazara has joined #yosys
emeb_mac has quit [Quit: Leaving.]
ravenexp has quit [*.net *.split]
Twix has quit [*.net *.split]
nurelin has quit [*.net *.split]
Nazara has quit [*.net *.split]
Twix has joined #yosys
nurelin has joined #yosys
ravenexp has joined #yosys
Nazara has joined #yosys
voxadam has quit [Read error: Connection reset by peer]
rohitksingh_ has joined #yosys
rohitksingh has quit [Ping timeout: 250 seconds]
voxadam has joined #yosys
togo has joined #yosys
kraiskil has joined #yosys
dys has joined #yosys
<pepijndevos> Why is there a $PACKER_VCC and $PACKER_GND in my Nextpnr generic output? They got mapped to a slice with a LUT INIT of 1 and 0, as integers, while all other LUT have binary strings as init.
<daveshah> They are for driving 0 and 1 as needed
captain_morgan20 has quit [Read error: Connection reset by peer]
captain_morgan20 has joined #yosys
<pepijndevos> daveshah, right, but on Gowin ther is just a global VCC and VSS net, can I express that somehow?
<daveshah> You could modify the packer to create a single cell with two pins instead, one for the Vcc net and one for the Vss net
<daveshah> and use that instead of the LUTs
rohitksingh_ has quit [Ping timeout: 250 seconds]
pie_ has joined #yosys
emeb has joined #yosys
kuldeep has joined #yosys
fevv8[m] has joined #yosys
pepijndevos[m] has joined #yosys
promach3 has joined #yosys
FabM has quit [Ping timeout: 265 seconds]
citypw has quit [Ping timeout: 252 seconds]
kraiskil has quit [Ping timeout: 246 seconds]
fsasm has joined #yosys
dys has quit [Ping timeout: 250 seconds]
<pepijndevos> omg, I can make a Gowin bitstream! I just need to add constraints. Does the generic target have a way to do that? I can probably find this...
dys has joined #yosys
<daveshah> pepijndevos: you can either manually instantiate IO buffers and set the BEL attribute on them; or hack something in Python to set the BEL attribute on cells
<daveshah> I would recommend the former
<pepijndevos> Hm okay, but how does that interact with reading a netlist?
<daveshah> Effectively, don't have any top level ports in your netlist
<daveshah> Just IO buffer cells instantiated with the BEL=... and keep=1 attributes set
<daveshah> I have an example somewhere, let me dig it out
<daveshah> This is for Xilinx but same principle applies elsewhere
<tpb> Title: Snippet | IRCCloud (at www.irccloud.com)
<daveshah> (you would need blackbox definitions for the IO buffer primitives too)
<pepijndevos> Oh! On the verilog side. Interesting.
<pepijndevos> Nice, thanks
Jybz has joined #yosys
<janrinze> will 'autoname' add more comprehension for ecp5 too?
<janrinze> i see it's added for synt_ice40 but it could easily be added to synth_ecp5 too, right?
<janrinze> i just answered my own question. Added the run("autoname"); to the if (check_label("check")) and apparently it works okay.
<janrinze> Also give a lot more sensible info about the critical path now. Nice.
Jybz has quit [Read error: Connection reset by peer]
Jybz has joined #yosys
togo has quit [Ping timeout: 246 seconds]
emeb_mac has joined #yosys
<daveshah> janrinze: yeah
<daveshah> I'll apply that now
nrossi has quit [Quit: Connection closed for inactivity]
<daveshah> janrinze: done
rohitksingh has joined #yosys
fsasm has quit [Ping timeout: 252 seconds]
gmc has joined #yosys
gmc has quit [Remote host closed the connection]
gmc has joined #yosys
<janrinze> daveshah: can we improve the memory implementation? somehow it's near impossible to have a large dual port memory inferred. I have a solution that works with manually setting up lots of DP16KD but initializing that with a file is quite a challenge.
<daveshah> It needs a total rewrite and that's a big project
<janrinze> hmm.. it does?
<janrinze> What if we do things incrementally?
<ZirconiumX> daveshah: it's the memory_bram pass, right?
<daveshah> Yeah, don't even look at the code
<daveshah> It has been the source of several horrible synthesis bugs too
<janrinze> It is possible to have MemoryA correctly inferrred with DP16KD.
<janrinze> Thus we can inferr two seperate memory blocks with DP16KD. which are unrelated.
<janrinze> now if we use the access ports of the second and tie them to the first, discarding the second blocks, we should have a working DPRAM
<janrinze> right?
<janrinze> Or does the default implementation use both ports?
<janrinze> if the address for reading and writing of memA uses the same wires we can guarantee that only one port is sufficient.
<janrinze> thus implying that if the same is true for memB we can safely assume that each can be mapped to a single port of the DP16KD respectively.
<janrinze> Right?
<daveshah> This is all technically correct
<daveshah> But memory_bram is a hacky enough pass already
<janrinze> I can feel a big "But..." coming..
<daveshah> And personally I'm not interested in adding any more hackyness or time wasting missynthesis bugs to a pass that really needs reconsideration
<janrinze> makes sense.
<daveshah> Particularly given there are several other missing features like async bram, a better transparency model and resets
<daveshah> Better handling of transparent ports, in particular, is needed for support for common dpram patterns
<janrinze> Okay, understood.
<janrinze> Since i already have a module written to use DP16KD directly, I would like to find a way to set it up using initial $readmemh("rom_memory.hex",memory);
<janrinze> because I am pretty sure that this readmemh wont work on a module. :-D
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` has joined #yosys
Jybz has quit [Quit: Konversation terminated!]
dys has quit [Ping timeout: 276 seconds]
emeb has quit [Quit: Leaving.]
tpb has quit [Remote host closed the connection]
tpb has joined #yosys