mirror of
https://github.com/YosysHQ/yosys
synced 2026-05-31 14:17:49 +00:00
Merge pull request #5858 from YosysHQ/krys/check_before_flatten
Docs: Update synth starter for check before flatten
This commit is contained in:
commit
bfc09777e6
1 changed files with 12 additions and 12 deletions
|
|
@ -291,7 +291,10 @@ In `synth_ice40` we get these:
|
||||||
:name: synth_flatten
|
:name: synth_flatten
|
||||||
:caption: ``flatten`` section
|
:caption: ``flatten`` section
|
||||||
|
|
||||||
First off is `flatten`. Flattening the design like this can allow for
|
We start by runnning `check`. This doesn't affect the design, but it can
|
||||||
|
identify a few obvious problems which will cause errors later. Calling it here
|
||||||
|
lets us fail faster rather than wasting time on something we know is impossible.
|
||||||
|
Next up is `flatten`. Flattening the design like this can allow for
|
||||||
optimizations between modules which would otherwise be missed. Let's run
|
optimizations between modules which would otherwise be missed. Let's run
|
||||||
:yoscrypt:`flatten;;` on our design.
|
:yoscrypt:`flatten;;` on our design.
|
||||||
|
|
||||||
|
|
@ -363,17 +366,14 @@ In the iCE40 flow, we start with the following commands:
|
||||||
:caption: ``coarse`` section (part 1)
|
:caption: ``coarse`` section (part 1)
|
||||||
:name: synth_coarse1
|
:name: synth_coarse1
|
||||||
|
|
||||||
We've already come across `opt_expr`, and `opt_clean` is the same as `clean` but
|
We've already come across `opt_expr` and `check`, and `opt_clean` is the same as
|
||||||
with more verbose output. The `check` pass identifies a few obvious problems
|
`clean` but with more verbose output. Next up is :yoscrypt:`opt -nodffe
|
||||||
which will cause errors later. Calling it here lets us fail faster rather than
|
-nosdff` performing a set of simple optimizations on the design. This command
|
||||||
wasting time on something we know is impossible.
|
also ensures that only a specific subset of FF types are included, in
|
||||||
|
preparation for the next command: :cmd:title:`fsm`. Both `opt` and `fsm` are
|
||||||
Next up is :yoscrypt:`opt -nodffe -nosdff` performing a set of simple
|
macro commands which are explored in more detail in
|
||||||
optimizations on the design. This command also ensures that only a specific
|
:doc:`/using_yosys/synthesis/opt` and :doc:`/using_yosys/synthesis/fsm`
|
||||||
subset of FF types are included, in preparation for the next command:
|
respectively.
|
||||||
:cmd:title:`fsm`. Both `opt` and `fsm` are macro commands which are explored in
|
|
||||||
more detail in :doc:`/using_yosys/synthesis/opt` and
|
|
||||||
:doc:`/using_yosys/synthesis/fsm` respectively.
|
|
||||||
|
|
||||||
Up until now, the data path for ``rdata`` has remained the same since
|
Up until now, the data path for ``rdata`` has remained the same since
|
||||||
:ref:`rdata_flat`. However the next call to `opt` does cause a change.
|
:ref:`rdata_flat`. However the next call to `opt` does cause a change.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue