Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New master+wip #81

Merged
merged 2,074 commits into from
Jul 6, 2020
Merged

New master+wip #81

merged 2,074 commits into from
Jul 6, 2020

Conversation

acomodi
Copy link

@acomodi acomodi commented Jun 19, 2020

This PR enables a new master+wip for yosys.

Apart from the issues discovered here #79 (comment), there is an additional one which needs to be solved, and is related to the impossibility of setting LOC attributes in the verilog design for primitives (issue open upstream YosysHQ#2176).

This new master+wip version is compatible with this version of symbiflow-arch-defs and all_xc7 tests do pass.

The only outstanding issue is solving a problem with Ethernet in the base linux-litex example which is not correctly working on HW.

Xiretza and others added 30 commits May 28, 2020 22:59
This is an existing invariant (most backends can't cope with these)
but one that was not checked or documented.
verilog: Move lexer location variables from global namespace to `VERILOG_FRONTEND` namespace.
Commit ca70a10 did not use a correct check.
ilang_lexer: fix check for out of range literal
qbfsat: Add `-solver` option and allow choice of Z3 or Yices, making Yices the default.
Restrict RTLIL::IdString to not contain whitespace or control chars
…v_logic

ast/simplify: don't bitblast async ROMs declared as `logic`
This is basically the same issue as in tests/various/plugin.sh,
which uses yosys-config to compile a plugin. `yosys-config --cxxflags`
points to `$PREFIX/share/` (/usr/local/share by default), which might
not exist yet or might be out of date. Building directly from the
headers in ./share/ avoids this.
smtbmc and qbfsat: Add timeout option to set solver timeouts for Z3, Yices, and CVC4.
blackbox: use Module::makeblackbox() method
Clean up `passes/techmap/techmap.cc`
Support asymmetric memories for verific frontend
`rewrite_filename` is already called in `Frontend::extra_args`.
acomodi and others added 16 commits July 2, 2020 13:17
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Keith Rothman <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
Signed-off-by: Alessandro Comodi <[email protected]>
This enables avoiding the co-mingling of the carry chain port with the
ports that connect to the fabric.

Signed-off-by: Keith Rothman <[email protected]>
This is an Octopus Merge commit of the following branches:

wip/carry4-cout
wip/disable-primitives
wip/disable_ramb18e_w2

Signed-off-by: Alessandro Comodi <[email protected]>
@litghost
Copy link

litghost commented Jul 2, 2020

@litghost, I have run the baslitex build once more with the branches pointed by you, and the implementation works on HW. The only thing though is that we reach a worse CPD than the current baselitex implementation, but it might be due to the usage of RAMB36.

That's good. At this point, we should probably build a VPR with the latest upstream master + the update to libblifparse (in a wip branch) + a temporary wip branch https://github.com/litghost/vtr-verilog-to-routing/tree/wip/add_back_disable_flag . I expect that VPR should work with current upstream and work with the new yosys master+wip. We can tease out the CPD stuff later. Looking at 1 circuit isn't enough to determine if the new yosys is better or worse, and the new yosys isn't significantly worse.

GitHub
Verilog to Routing -- Open Source CAD Flow for FPGA Research - litghost/vtr-verilog-to-routing

@litghost
Copy link

litghost commented Jul 2, 2020

I think there also is an issue with fasm2bels as the diff_fasm reports one fasm line difference related to the DOUTMUX:

--- /data/symbiflow/symbiflow-arch-defs/build/xc/xc7/tests/soc/litex/base/baselitex_arty/artix7-xc7a50t-virt-xc7a50t-test/top.bit.fasm  2020-07-02 10:55:30.114271878 +0200
+++ /data/symbiflow/symbiflow-arch-defs/build/xc/xc7/tests/soc/litex/base/baselitex_arty/artix7-xc7a50t-virt-xc7a50t-test/design_baselitex_arty_vivado.bit.fasm      2020-07-02 11:44:53.814974831 +0200
@@ -15509,7 +15509,7 @@                                           
 CLBLL_L_X28Y89.SLICEL_X1.DFF.ZRST                                  
 CLBLL_L_X28Y89.SLICEL_X1.DFFMUX.O5                                 
 CLBLL_L_X28Y89.SLICEL_X1.DLUT.INIT[63:0] = 64'b1010101010101010101010101010101011111111000000001111000011110000
-CLBLL_L_X28Y89.SLICEL_X1.DOUTMUX.CY                                
+CLBLL_L_X28Y89.SLICEL_X1.DOUTMUX.O6                                 
 CLBLL_L_X28Y89.SLICEL_X1.FFSYNC                                   
 CLBLL_L_X28Y89.SLICEL_X1.NOCLKINV                                   
 CLBLL_L_X28Y89.SLICEL_X1.PRECYINIT.C1 

The vivado-generated bitstream has a non-working ethernet module, therefore this is most probably a fasm2bels issue that was uncaught as CARRY chains used to implement LCUs were never adopted before.

Ya, this appears to be a fasm2bels bug.

@litghost
Copy link

litghost commented Jul 6, 2020

Looks like merging this was a mistake, as failing travis tests prevents the package from being pushed.

This was referenced Jul 6, 2020
@litghost litghost deleted the new-master+wip branch July 6, 2020 22:17
@litghost litghost restored the new-master+wip branch July 6, 2020 22:18
@litghost litghost deleted the new-master+wip branch November 20, 2020 21:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.