Closed mkurc-ant closed 3 years ago
Can we just detect and older version of Yosys and bail out rather than supporting both?
@mithro Yes we can. But do we have to drop support for the older one? This is just a matter of some prefixes in select
pattern, the older version still works fine.
Requires https://github.com/SymbiFlow/python-symbiflow-v2x/pull/76 for the CI to pass.
@mithro Yes we can. But do we have to drop support for the older one? This is just a matter of some prefixes in
select
pattern, the older version still works fine.
It requires a lot of extra plumbing around a value and it is likely we will need newer Yosys features in other areas soon anyway.
Please rebase and drop support for the older version. You can then merge.
@mithro I've dropped the support but it looks like in SymbiFlow we still use the "old" one. On the other hand Quicklogic uses the "new" one. (Apart from that conda version names for Yosys seem not to correspond one-to-one with its version).
@mkurc-ant - I thought @acomodi had upgraded our Yosys version?
@mithro @mkurc-ant There was indeed a Yosys upgrade that dates back to the 7th of July (https://github.com/SymbiFlow/yosys/commit/d8b2d1a2b1a93057678cf49bb8f0329f191faba1). Probably this is the "old" version mentioned in the comment above (https://github.com/SymbiFlow/python-symbiflow-v2x/pull/73#issuecomment-691916295).
@acomodi Can you point me to the Conda package version with that Yosys version?
@mkurc-ant This is the symbiflow-anaconda packages page https://anaconda.org/SymbiFlow/symbiflow-yosys/files, and the exact package that is currently used in symbiflow-arch-defs is symbiflow-yosys-0.8_6021_gd8b2d1a2-20200708_083630.tar.bz2
@acomodi Ah, now I see. The env for V2X uses yosys
not symbiflow-yosys
Is this ready to merge now?
@mithro Yes. I've enforced usage of the newer Yosys version and dropped support for the older one.
This PR changes the selection pattern syntax used for
select
commands. At some point the syntax was changed in upstream Yosys which made V2X crash. Moreover in this PR there is a piece of code that identifies which syntax is required for the version of Yosys being used. The correct syntax is chosen automatically.