*** tpb has joined #yosys | 00:00 | |
*** rohitksingh has quit IRC | 00:32 | |
*** rohitksingh has joined #yosys | 00:38 | |
*** Thorn has joined #yosys | 01:10 | |
*** ktemkin has quit IRC | 01:11 | |
*** _florent_ has quit IRC | 01:11 | |
*** _florent_ has joined #yosys | 01:11 | |
*** ktemkin has joined #yosys | 01:11 | |
*** tecepe has quit IRC | 01:12 | |
*** flammit has quit IRC | 01:12 | |
*** ovf has quit IRC | 01:12 | |
*** mithro has quit IRC | 01:12 | |
*** bubble_buster has quit IRC | 01:12 | |
*** litghost has quit IRC | 01:12 | |
*** tecepe has joined #yosys | 01:12 | |
*** marex-cloud has quit IRC | 01:13 | |
*** benreynwar has quit IRC | 01:13 | |
*** flammit has joined #yosys | 01:13 | |
*** bubble_buster has joined #yosys | 01:13 | |
*** litghost has joined #yosys | 01:13 | |
*** benreynwar has joined #yosys | 01:14 | |
*** mithro has joined #yosys | 01:14 | |
*** ovf has joined #yosys | 01:15 | |
*** marex-cloud has joined #yosys | 02:01 | |
*** pie_ has quit IRC | 02:07 | |
*** citypw has joined #yosys | 02:28 | |
*** rohitksingh has quit IRC | 02:35 | |
*** rohitksingh has joined #yosys | 02:35 | |
*** kraiskil has joined #yosys | 03:37 | |
*** rohitksingh has quit IRC | 03:49 | |
*** rohitksingh has joined #yosys | 03:53 | |
*** flaviusb has joined #yosys | 05:11 | |
*** nrossi has joined #yosys | 05:15 | |
*** _whitelogger has quit IRC | 06:03 | |
*** _whitelogger has joined #yosys | 06:05 | |
*** _whitelogger has quit IRC | 06:15 | |
*** _whitelogger has joined #yosys | 06:17 | |
*** kraiskil has quit IRC | 06:18 | |
*** adjtm has joined #yosys | 06:30 | |
*** rektide_ has joined #yosys | 06:33 | |
*** ravenexp has quit IRC | 06:38 | |
*** adjtm_ has quit IRC | 06:38 | |
*** Twix has quit IRC | 06:38 | |
*** tlwoerner has quit IRC | 06:38 | |
*** rektide has quit IRC | 06:38 | |
*** nurelin has quit IRC | 06:38 | |
*** Nazara has quit IRC | 06:38 | |
*** Marex has quit IRC | 06:38 | |
*** Ristovski has quit IRC | 06:38 | |
*** forrestv has quit IRC | 06:38 | |
*** Marex has joined #yosys | 06:43 | |
*** Ristovski has joined #yosys | 06:43 | |
*** forrestv has joined #yosys | 06:43 | |
*** ravenexp has joined #yosys | 06:49 | |
*** Twix has joined #yosys | 06:49 | |
*** nurelin has joined #yosys | 06:49 | |
*** Nazara has joined #yosys | 06:49 | |
*** emeb_mac has quit IRC | 07:01 | |
*** ravenexp has quit IRC | 07:15 | |
*** Twix has quit IRC | 07:15 | |
*** nurelin has quit IRC | 07:15 | |
*** Nazara has quit IRC | 07:15 | |
*** ravenexp has joined #yosys | 07:17 | |
*** Twix has joined #yosys | 07:17 | |
*** nurelin has joined #yosys | 07:17 | |
*** Nazara has joined #yosys | 07:17 | |
*** voxadam has quit IRC | 07:38 | |
*** rohitksingh_ has joined #yosys | 07:39 | |
*** rohitksingh has quit IRC | 07:40 | |
*** voxadam has joined #yosys | 07:51 | |
*** togo has joined #yosys | 08:28 | |
*** kraiskil has joined #yosys | 08:28 | |
*** dys has joined #yosys | 08:35 | |
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. | 09:08 |
---|---|---|
daveshah | They are for driving 0 and 1 as needed | 10:00 |
*** captain_morgan20 has quit IRC | 10:13 | |
*** captain_morgan20 has joined #yosys | 10:14 | |
pepijndevos | daveshah, right, but on Gowin ther is just a global VCC and VSS net, can I express that somehow? | 10:52 |
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 | 10:53 |
daveshah | and use that instead of the LUTs | 10:53 |
*** rohitksingh_ has quit IRC | 11:44 | |
*** pie_ has joined #yosys | 14:56 | |
*** emeb has joined #yosys | 14:56 | |
*** kuldeep has joined #yosys | 15:02 | |
*** promach3 has joined #yosys | 15:23 | |
*** fevv8[m] has joined #yosys | 15:23 | |
*** pepijndevos[m] has joined #yosys | 15:23 | |
*** FabM has quit IRC | 16:34 | |
*** citypw has quit IRC | 16:38 | |
*** kraiskil has quit IRC | 17:03 | |
*** fsasm has joined #yosys | 17:10 | |
*** dys has quit IRC | 17:12 | |
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... | 17:26 |
*** dys has joined #yosys | 17:34 | |
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 | 17:35 |
daveshah | I would recommend the former | 17:36 |
pepijndevos | Hm okay, but how does that interact with reading a netlist? | 17:37 |
daveshah | Effectively, don't have any top level ports in your netlist | 17:37 |
daveshah | Just IO buffer cells instantiated with the BEL=... and keep=1 attributes set | 17:37 |
daveshah | I have an example somewhere, let me dig it out | 17:38 |
daveshah | This is for Xilinx but same principle applies elsewhere | 17:39 |
daveshah | https://www.irccloud.com/pastebin/zNZXuyyv/ | 17:39 |
tpb | Title: Snippet | IRCCloud (at www.irccloud.com) | 17:39 |
daveshah | (you would need blackbox definitions for the IO buffer primitives too) | 17:39 |
pepijndevos | Oh! On the verilog side. Interesting. | 17:40 |
pepijndevos | Nice, thanks | 17:40 |
*** Jybz has joined #yosys | 18:27 | |
janrinze | will 'autoname' add more comprehension for ecp5 too? | 18:35 |
janrinze | i see it's added for synt_ice40 but it could easily be added to synth_ecp5 too, right? | 18:36 |
janrinze | i just answered my own question. Added the run("autoname"); to the if (check_label("check")) and apparently it works okay. | 20:10 |
janrinze | Also give a lot more sensible info about the critical path now. Nice. | 20:11 |
*** Jybz has quit IRC | 20:14 | |
*** Jybz has joined #yosys | 20:27 | |
*** togo has quit IRC | 20:38 | |
*** emeb_mac has joined #yosys | 20:54 | |
daveshah | janrinze: yeah | 20:55 |
daveshah | I'll apply that now | 20:56 |
*** nrossi has quit IRC | 21:02 | |
daveshah | janrinze: done | 21:03 |
*** rohitksingh has joined #yosys | 21:12 | |
*** fsasm has quit IRC | 21:16 | |
*** gmc has joined #yosys | 21:24 | |
*** gmc has quit IRC | 21:26 | |
*** gmc has joined #yosys | 21:28 | |
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. | 21:55 |
daveshah | It needs a total rewrite and that's a big project | 21:56 |
janrinze | hmm.. it does? | 21:56 |
janrinze | What if we do things incrementally? | 21:57 |
ZirconiumX | daveshah: it's the memory_bram pass, right? | 21:58 |
daveshah | Yeah, don't even look at the code | 21:58 |
daveshah | It has been the source of several horrible synthesis bugs too | 21:59 |
janrinze | It is possible to have MemoryA correctly inferrred with DP16KD. | 22:00 |
janrinze | Thus we can inferr two seperate memory blocks with DP16KD. which are unrelated. | 22:00 |
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 | 22:01 |
janrinze | right? | 22:01 |
janrinze | Or does the default implementation use both ports? | 22:02 |
janrinze | if the address for reading and writing of memA uses the same wires we can guarantee that only one port is sufficient. | 22:04 |
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. | 22:05 |
janrinze | Right? | 22:05 |
daveshah | This is all technically correct | 22:07 |
daveshah | But memory_bram is a hacky enough pass already | 22:08 |
janrinze | I can feel a big "But..." coming.. | 22:08 |
daveshah | And personally I'm not interested in adding any more hackyness or time wasting missynthesis bugs to a pass that really needs reconsideration | 22:08 |
janrinze | makes sense. | 22:08 |
daveshah | Particularly given there are several other missing features like async bram, a better transparency model and resets | 22:09 |
daveshah | Better handling of transparent ports, in particular, is needed for support for common dpram patterns | 22:09 |
janrinze | Okay, understood. | 22:09 |
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); | 22:11 |
janrinze | because I am pretty sure that this readmemh wont work on a module. :-D | 22:11 |
*** X-Scale has quit IRC | 22:37 | |
*** X-Scale` has joined #yosys | 22:39 | |
*** Jybz has quit IRC | 22:51 | |
*** dys has quit IRC | 23:08 | |
*** emeb has quit IRC | 23:53 |
Generated by irclog2html.py 2.13.1 by Marius Gedminas - find it at mg.pov.lt!