*** tpb has joined #symbiflow | 00:00 | |
*** xobs has joined #symbiflow | 00:02 | |
*** promach3 has joined #symbiflow | 00:02 | |
*** unrznbl[m] has joined #symbiflow | 00:02 | |
*** abeljj[m] has joined #symbiflow | 00:02 | |
*** craigo has joined #symbiflow | 01:14 | |
*** tpb has joined #symbiflow | 02:20 | |
*** ktemkin has quit IRC | 02:21 | |
*** ktemkin_ is now known as ktemkin | 02:21 | |
*** craigo has quit IRC | 02:22 | |
*** ktemkin has quit IRC | 02:26 | |
promach3 | mithro: I had already asked in #freenode_#yosys:matrix.org | 02:26 |
---|---|---|
*** ktemkin has joined #symbiflow | 02:27 | |
mithro | promach3: Sorry, the people in #yosys probably know a *lot* more about formal than we do. | 02:28 |
*** citypw_ has joined #symbiflow | 02:41 | |
*** maartenBE has quit IRC | 02:45 | |
*** maartenBE has joined #symbiflow | 02:45 | |
*** Degi_ has joined #symbiflow | 03:43 | |
*** Degi has quit IRC | 03:44 | |
*** Degi_ is now known as Degi | 03:44 | |
*** rvalles has joined #symbiflow | 03:47 | |
*** rvalles_ has quit IRC | 03:49 | |
sf-slack | <jgoeders> @litghost Still having some issues with fasm2bels + interchange format. This is what I've done so far: • Downloaded/compiled rapidwright • Installed capnproto • Downloaded capnproto-java, compiled, and added capnpc-java to my PATH • After that I can "cd interchange && make" in rapidwright without error. • However, running fasm2bels test-py still hits several errors like this: ```raceback (most recent call | 04:36 |
sf-slack | last): File "/home/jgoeders/bfasst/third_party/fasm2bels/env/lib/python3.8/site-packages/parameterized/parameterized.py", line 533, in standalone_func return func(*(a + p.args), **p.kwargs) File "/home/jgoeders/bfasst/third_party/fasm2bels/tests/test_fasm2bels.py", line 108, in test_fasm2bels main() File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/fasm2bels.py", line 493, in main | 04:36 |
sf-slack | output_interchange(top, args.interchange_capnp_schema_dir, File "/home/jgoeders/bfasst/third_party/fasm2bels/fasm2bels/lib/interchange.py", line 561, in output_interchange interchange = Interchange(capnp_folder) File "/home/jgoeders/bfasst/third_party/fasm2bels/env/lib/python3.8/site-packages/fpga_interchange/interchange_capnp.py", line 797, in __init__ self.logical_netlist_schema = capnp.load( File | 04:36 |
sf-slack | "capnp/lib/capnp.pyx", line 4030, in capnp.lib.capnp.load File "capnp/lib/capnp.pyx", line 3293, in capnp.lib.capnp.SchemaParser.load capnp.lib.capnp.KjException: home/jgoeders/RapidWright/interchange/LogicalNetlist.capnp:1: failed: Import failed: /capnp/java.capnp``` I'm probably just missing a simple setup step, but I'm not sure what it is. I'd be happy to update the documentation once I get it running. | 04:36 |
*** daniellimws has quit IRC | 05:56 | |
*** daniellimws has joined #symbiflow | 05:58 | |
*** kgugala has quit IRC | 06:20 | |
*** kgugala has joined #symbiflow | 06:21 | |
*** jopdorp_ is now known as jopdorp | 06:31 | |
*** diamondman has quit IRC | 06:49 | |
*** diamondman has joined #symbiflow | 06:49 | |
*** kgugala has quit IRC | 07:31 | |
*** kgugala has joined #symbiflow | 07:31 | |
*** kgugala_ has joined #symbiflow | 07:48 | |
*** kgugala has quit IRC | 07:52 | |
LoneTech | making minor progress. xilinx bitgen can actually report the bit and frame locations of all LUTs and RAMs (that are in use in any design) using -l | 08:02 |
*** ym_ has joined #symbiflow | 08:40 | |
*** ym has quit IRC | 08:40 | |
*** mkru has joined #symbiflow | 08:47 | |
*** kgugala has joined #symbiflow | 08:51 | |
*** kgugala_ has quit IRC | 08:53 | |
*** kgugala_ has joined #symbiflow | 08:55 | |
*** kgugala has quit IRC | 08:58 | |
*** mkru has quit IRC | 09:29 | |
*** kraiskil has joined #symbiflow | 09:55 | |
*** umarcor|2 has joined #symbiflow | 09:56 | |
*** umarcor has quit IRC | 09:58 | |
*** kraiskil has quit IRC | 10:01 | |
*** craigo_ has quit IRC | 10:08 | |
*** citypw_ has quit IRC | 10:29 | |
*** citypw_ has joined #symbiflow | 10:30 | |
*** kraiskil has joined #symbiflow | 11:32 | |
*** m_hackerfoo has quit IRC | 11:36 | |
*** HackerFoo has quit IRC | 11:37 | |
*** m_hackerfoo has joined #symbiflow | 11:41 | |
*** HackerFoo has joined #symbiflow | 11:44 | |
*** craigo_ has joined #symbiflow | 12:08 | |
*** kgugala_ has quit IRC | 12:18 | |
*** kgugala has joined #symbiflow | 12:18 | |
*** rvalles has quit IRC | 12:22 | |
*** rvalles has joined #symbiflow | 12:29 | |
*** kraiskil has quit IRC | 12:30 | |
*** sf-slack3 has joined #symbiflow | 12:31 | |
*** sf-slack has quit IRC | 12:31 | |
*** FFY00 has quit IRC | 12:55 | |
*** rvalles has quit IRC | 13:00 | |
*** rvalles has joined #symbiflow | 13:02 | |
*** sf-slack has joined #symbiflow | 13:42 | |
*** sf-slack3 has quit IRC | 13:45 | |
*** rvalles has quit IRC | 13:46 | |
*** rvalles has joined #symbiflow | 13:46 | |
*** rvalles has quit IRC | 14:08 | |
*** citypw_ has quit IRC | 15:26 | |
Lofty | kgugala: Been looking through the test results you've sent me and added them to my chart | 15:53 |
litghost | jgoeders: How did you install capnproto-java? There was a bug in capnproto-java where it didn't install `capnp/java.capnp`, but I thought I had fixed it. | 15:59 |
litghost | jgoeders: If you create an issue on fasm2bels with your replication instructions, I take a look and see where your setup went astray | 15:59 |
litghost | jgoeders: But overall, I think you had the right idea | 16:00 |
litghost | jgoeders: I see the problem actually. You said " added capnpc-java to my PATH". You want to install capnproto-java, not just add capnpc-java to the PATH | 16:00 |
litghost | jgoeders: If you don't want to run "make install" on capnproto-java, we have conda packages for capnproto-java etc all | 16:01 |
Lofty | kgugala: So, top-120-13 is one of the ABC9 regressions, and it can be analyzed by `sta` | 16:04 |
sf-slack | <kgugala> I suppose this will be good test case | 16:05 |
Lofty | ABC finds a 474 LC, 78.9 ns logic path | 16:05 |
Lofty | ABC9 finds a 702 LC, 43.1 ns logic path | 16:05 |
Lofty | The reason that -D does nothing there is because the 16.8 ns logic target is too aggressive for that design | 16:06 |
*** rvalles has joined #symbiflow | 16:06 | |
Lofty | And I bet something similar is happening for soc_litex_pwm | 16:06 |
sf-slack | <kgugala> yep I think all the regressions are similar | 16:07 |
Lofty | So if you do a run with `scratchpad -set abc9.D 80000` on that design, ABC9 finds a design with a lot fewer LUT4s | 16:09 |
*** FFY00 has joined #symbiflow | 16:10 | |
Lofty | kgugala: ^ | 16:10 |
sf-slack | <kgugala> I see, can this parameter be somehow auto calculated? What about the two run approach you proposed yestarday? | 16:11 |
sf-slack | <kgugala> (I'll run this test case) | 16:11 |
Lofty | kgugala: you know how e.g. Quartus will ask you to specify the target clock frequency, and complain if you don't | 16:12 |
Lofty | abc9.D *is* that target clock frequency | 16:12 |
sf-slack | <kgugala> can we suck in sdc file? | 16:13 |
sf-slack | <kgugala> and use it to set this? | 16:13 |
Lofty | That would be feasible, yes | 16:13 |
sf-slack | <kgugala> I believe we have a plugin for xdc parsing | 16:13 |
sf-slack | <kgugala> https://github.com/SymbiFlow/yosys-symbiflow-plugins | 16:14 |
sf-slack | <kgugala> there is an sdc plugin | 16:14 |
sf-slack | <kgugala> maybe you can try using it? | 16:14 |
Lofty | I would probably fudge it a little and set abc9.D to roughly half (or maybe a third) the target delay | 16:14 |
Lofty | But sure, I can give that a go | 16:14 |
litghost | The XDC + SDC plugins should provide target periods for clock wires | 16:15 |
litghost | https://github.com/SymbiFlow/yosys-symbiflow-plugins/tree/master/sdc-plugin | 16:15 |
litghost | https://github.com/SymbiFlow/yosys-symbiflow-plugins/blob/0a5b28fafe3d14da440291a2dc8d9af486642c84/sdc-plugin/clocks.cc#L25-L37 | 16:15 |
litghost | Once the propagation pass is done, all clock wires should have clock period annotations | 16:16 |
Lofty | litghost: to my knowledge, the Yosys ABC9 pass doesn't do clock partitioning, and abc9.D is a global parameter | 16:16 |
litghost | Oph | 16:16 |
litghost | In the long term that might be problematic | 16:16 |
litghost | I know many real designs have multiple clock domains | 16:16 |
Lofty | In the long term, depending on a pass which has a maintainer that is currently on parental leave is more problematic :P | 16:17 |
litghost | I'd say that just means we have a documentation/testing problem, but sure | 16:17 |
Lofty | It's uh, not that straightforward | 16:20 |
litghost | Never is :) | 16:20 |
Lofty | Anyway, if kgugala can provide an SDC file for the benchmarks (which might require talking to QL), then I'd be happy to plumb SDC to ABC9 support | 16:22 |
sf-slack | <kgugala> those SDCs should be in QL repos | 16:22 |
Lofty | I also think tuning abc9.W could be beneficial | 16:23 |
Lofty | abc9.W is roughly intended to represent typical interconnect delay | 16:23 |
Lofty | Which is of course very tricky to estimate | 16:24 |
sf-slack | <kgugala> https://github.com/QuickLogic-Corp/symbiflow-arch-defs/tree/quicklogic-upstream-rebase/quicklogic/pp3/tests/quicklogic_testsuite/top_120_13 | 16:24 |
sf-slack | <kgugala> hmm, there is no sdc | 16:24 |
sf-slack | <kgugala> there is one here https://github.com/QuickLogic-Corp/symbiflow-arch-defs/tree/quicklogic-upstream-rebase/quicklogic/pp3/tests/quicklogic_testsuite/counter_16bit | 16:26 |
sf-slack | <kgugala> you can grab it for tests (before we add the rest) | 16:26 |
Lofty | Noted | 16:27 |
*** epony has quit IRC | 16:31 | |
Lofty | Funny to note: ABC gets a delay of 11.164 ns, while ABC9 gets a delay of 8.449 ns. | 16:31 |
Lofty | If you take into account potential interconnect delays, I think that means ABC fails timing | 16:31 |
Lofty | (for counter_16bit) | 16:32 |
sf-slack | <kgugala> I think we can have the number for interconnects | 16:32 |
sf-slack | <kgugala> @mkurc can possibly help here | 16:32 |
sf-slack | <mkurc> Hello. Indeed the data is present. | 16:33 |
sf-slack | <mkurc> But defining a single number for LUT-to-LUT connection won't be possible as it depends on the final routing. Nevertheless we can take eg. worst case or average delay and use it in Yosys | 16:34 |
Lofty | mkurc: as I said, it's difficult to come up with a good number for abc9.W | 16:36 |
Lofty | Something something machine learning /s | 16:36 |
sf-slack | <mkurc> @Lofty: You may find routing propagation delays there: https://github.com/QuickLogic-Corp/EOS-S3/tree/master/Timing%20Data%20Files. There should be two CSV files | 16:37 |
*** emilazy has quit IRC | 16:37 | |
*** emilazy has joined #symbiflow | 16:38 | |
*** craigo_ has quit IRC | 16:43 | |
*** rvalles has quit IRC | 17:07 | |
*** kgugala has quit IRC | 17:07 | |
*** rvalles has joined #symbiflow | 17:07 | |
*** kgugala has joined #symbiflow | 17:07 | |
*** epony has joined #symbiflow | 17:10 | |
*** epony has quit IRC | 17:18 | |
*** kraiskil has joined #symbiflow | 17:26 | |
*** epony has joined #symbiflow | 17:26 | |
nickoe | ammm, acomodi here? | 17:52 |
nickoe | I wonder what args write_bitstream actually takes | 17:52 |
nickoe | https://github.com/SymbiFlow/symbiflow-examples/issues/123#issuecomment-769025271 | 17:52 |
sf-slack | <acomodi> @nickoe: https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc/xc7/toolchain_wrappers/symbiflow_write_bitstream this is the script. I think we should add a help command to get its usage. | 17:56 |
sf-slack | <acomodi> In general though it takes: device, part, input FASM file and output bit file | 17:57 |
nickoe | mm, why don't I see this error in the log? https://github.com/SymbiFlow/symbiflow-arch-defs/blob/master/xc/xc7/toolchain_wrappers/symbiflow_write_bitstream#L59 | 17:57 |
nickoe | acomodi, do I need it for the synth command as well? | 17:58 |
nickoe | it looks like the quicklogic veriosn has the device for everything? | 17:58 |
nickoe | https://github.com/nickoe/nmigen/blob/b1af42fa046b302545b0fb79fc6e40897f4d540c/nmigen/vendor/quicklogic.py#L82-L124 | 17:58 |
*** infinite_recursi has joined #symbiflow | 17:59 | |
nickoe | mmm | 18:00 |
nickoe | I mean here, the device is used as an arg as well, for synth. https://github.com/SymbiFlow/symbiflow-examples/blob/b0ee6d226410a5af56af9f636d0041c0e3a712ab/xc7/counter_test/Makefile#L45 | 18:02 |
nickoe | acomodi, not it looks for FileNotFoundError: [Errno 2] No such file or directory: '/home/nickoe/symbiflow_install/xc7/conda/envs/xc7/share/symbiflow/prjxray-db/xc7a35t' | 18:03 |
nickoe | I added "-d {{platform.device}}" | 18:04 |
sf-slack | <acomodi> @nickoe No, that should be provided for the symbiflow_write_bitstream command only | 18:07 |
nickoe | acomodi, I am not sure how to actually get the device string properly | 18:07 |
nickoe | What do you mean? | 18:07 |
nickoe | ah, right. | 18:07 |
sf-slack | <acomodi> artix based devices (e.g. xc7a50tfgg484-1) has device name ase `artix7` | 18:07 |
nickoe | But still, I am not sure if we can get the artix7 string from the current nmigen stuff, but I wonder why it is required. Can't the write_bitstream just fint it? | 18:08 |
-_whitenotifier- [symbiflow-arch-defs] acomodi opened issue #1985: Provide better usage output for the toolchain wrappers - https://git.io/Jtl8l | 18:09 | |
nickoe | but it looks like it tries to find that device folder by itself.. | 18:11 |
nickoe | but fails | 18:11 |
* nickoe adds set -x | 18:11 | |
nickoe | https://dpaste.com/BSWNNSJ34 | 18:12 |
tpb | Title: dpaste: BSWNNSJ34 (at dpaste.com) | 18:12 |
nickoe | ohh that log was with my non working patch, wait a bit | 18:14 |
nickoe | unmodified incomminf | 18:14 |
*** FFY00 has quit IRC | 18:15 | |
nickoe | so this is unmodified https://dpaste.com/ARSDXEFUV | 18:16 |
tpb | Title: dpaste: ARSDXEFUV (at dpaste.com) | 18:16 |
nickoe | omg, it does fin the dir | 18:16 |
nickoe | but just not for the part_file | 18:16 |
nickoe | but does not set it as the root | 18:17 |
*** FFY00 has joined #symbiflow | 18:18 | |
nickoe | acomodi, so I guess it is a but in the toolchain wapper instead? | 18:18 |
nickoe | I mean it defines DEVICE but does not use it for the DBROOT | 18:18 |
nickoe | acomodi, isn't that the root causE? | 18:18 |
nickoe | ah | 18:19 |
nickoe | acomodi, but was introduced in https://github.com/SymbiFlow/symbiflow-arch-defs/commit/b35514859f7f02c289c2f6bc058fd3ca1c00143b | 18:20 |
nickoe | it moved the DBROOT=`realpath ${XRAY_DATABASE_DIR}/${DEVICE}` up | 18:20 |
nickoe | mmm, acomodi, but there is still no tilegrid.json | 18:28 |
nickoe | where is that located? | 18:28 |
sf-slack | <rsiddiqui> Hey everyone, I hope you all are fine and healthy. I'm Raheel an undergraduate student. I've been contributing to opensource for an year I've developed RISCV single cycle and 5 stage processor using chisel language and with that I have contributed in BURQ IDE for RISCV core testing with that I'm a python developer ranked 42 over all the world in Google Hashcode 2020 extended round. This yearI I'm really passionate | 18:29 |
sf-slack | about participating in Google Summer of code and couldn't found better organization than symbiflow for it. Can you guys help me If some one new want to contribute he can start? I would love to contribute as I just checked there are really cool projects. symbiflow | 18:29 |
nickoe | or is tilegrid.json generated? | 18:31 |
nickoe | mm, no the other chips has it :S | 18:31 |
litghost | prjxray-db conda package has it | 18:32 |
litghost | example | 18:32 |
litghost | : https://github.com/SymbiFlow/prjxray-db/tree/15d169033e6ad23db508c8a4676e73c1e569dc92/artix7/xc7a100tcsg324-1 | 18:32 |
sf-slack | <acomodi> nickoe: in the conda environment it can be found under `<install_dir>/conda/envs/xc7/share/symbiflow/prjxray-db/artix7/<part>` | 18:33 |
nickoe | acomodi, yeah, it _can_ but it is not dfined for all https://github.com/SymbiFlow/symbiflow-examples/issues/123#issuecomment-769289044 | 18:34 |
nickoe | although it is in https://github.com/SymbiFlow/prjxray-db/tree/15d169033e6ad23db508c8a4676e73c1e569dc92/artix7/xc7a35tcsg324-1 | 18:35 |
nickoe | why is it not present locally for me? | 18:35 |
litghost | nickoe: The file paths are getting switched around | 18:35 |
sf-slack | <acomodi> Yeah, so, there was a recent change in the database structure | 18:35 |
litghost | nickoe: I had you install a newer prjxray-db, which was an error | 18:35 |
litghost | nickoe: Install the version in xc7/requirements.txt and I think you'll be okay | 18:36 |
nickoe | I did patch the wrapper with https://github.com/nickoe/symbiflow-arch-defs/tree/fix_xc7_symbiflow_write_bitstream | 18:36 |
*** infinite_recursi has quit IRC | 18:36 | |
nickoe | litghost: ... but when was this updated? | 18:36 |
nickoe | how do I update it? isn't there some conda thing to do that? | 18:36 |
litghost | The following packages will be DOWNGRADED: | 18:36 |
litghost | 11:44 AM prjxray-db 0.0_0239_gd87c844-20201120_145821 --> v0.0_243_g057e179-20210119_091808 | 18:36 |
litghost | So to reverse it do: | 18:36 |
litghost | Run "conda install -c litex-hub prjxray-db=0.0_0239_gd87c844=20201120_145821" | 18:37 |
nickoe | ok, now it did build the bit file, but the flashing in nmigen does not appear to look for the correct bit file. | 18:40 |
nickoe | https://dpaste.com/BBY5L3UGW | 18:41 |
tpb | Title: dpaste: BBY5L3UGW (at dpaste.com) | 18:41 |
*** infinite_recursi has joined #symbiflow | 18:42 | |
sf-slack | <acomodi> You can use xc3sprog to program the basys3 through the microUSB port | 18:46 |
nickoe | well, yes, but it needs to know the path to the bit file | 18:47 |
nickoe | and that does not really resolve correctly when the symbiflow toolchain is used in nmigen, apparently. | 18:47 |
sf-slack | <acomodi> If symbiflow_write_bitstream completed correctly, the bit file should be in the build directory | 18:52 |
nickoe | acomodi, yes it is, please see https://github.com/SymbiFlow/symbiflow-examples/issues/123#issuecomment-769296924 | 18:52 |
*** infinite_recursi has quit IRC | 18:59 | |
nickoe | using openocd -f ${INSTALL_DIR}/${FPGA_FAM}/conda/envs/${FPGA_FAM}/share/openocd/scripts/board/digilent_arty.cfg -c "init; pld load 0 build/top.bit; exit" does flash and it blinks | 19:00 |
sf-slack | <acomodi> Great! | 19:01 |
litghost | Yay! | 19:01 |
nickoe | I am stuck at fixing the nmigen flashing though | 19:09 |
nickoe | acomodi, what is that kokoro thing? | 19:19 |
nickoe | the ci thin is not overly happy, but that does not seem to be caused by my change | 19:22 |
nickoe | ERROR: Could not find a version that satisfies the requirement rapidyaml (from python-fpga-interchange) | 19:23 |
nickoe | ERROR: No matching distribution found for rapidyaml | 19:23 |
nickoe | litghost: ^ | 19:24 |
litghost | Which CI failed? | 19:24 |
nickoe | https://github.com/SymbiFlow/symbiflow-arch-defs/pull/1986/checks?check_run_id=1786641234 | 19:28 |
litghost | Thanks | 19:32 |
* nickoe goes to the grocery store go get food | 19:34 | |
nickoe | lets hope your fix makes it green | 19:35 |
nickoe | litghost: why is that rapidyaml not on pypi yet? | 20:08 |
litghost | We don't have anything on PyPi right now | 20:08 |
litghost | Wider issue | 20:08 |
nickoe | ok | 20:57 |
nickoe | litghost: How long time does those other tests take? | 20:58 |
-_whitenotifier- [python-fpga-interchange] litghost opened issue #11: Remove rapidyaml git+https in requirements once rapidyaml is in PyPi - https://git.io/JtlaV | 21:23 | |
*** kraiskil has quit IRC | 21:40 | |
litghost | nickoe: A while, the CI is not short | 21:41 |
*** toshywoshy has joined #symbiflow | 22:18 | |
*** vup has quit IRC | 23:31 | |
*** vup has joined #symbiflow | 23:32 | |
*** y2kbugger has quit IRC | 23:36 | |
*** perillamint has quit IRC | 23:36 | |
*** ovf has quit IRC | 23:37 | |
*** y2kbugger has joined #symbiflow | 23:37 | |
*** elms_ has joined #symbiflow | 23:37 | |
*** tannewt has quit IRC | 23:37 | |
*** ovf has joined #symbiflow | 23:38 | |
*** elms has quit IRC | 23:38 | |
*** perillamint has joined #symbiflow | 23:38 | |
*** elms_ is now known as elms | 23:38 | |
*** tannewt has joined #symbiflow | 23:39 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!