diff options
author | Marcin KoĆcielnicki <marcin@symbioticeda.com> | 2019-11-21 06:30:06 +0100 |
---|---|---|
committer | Marcin KoĆcielnicki <mwk@0x04.net> | 2019-12-18 13:43:43 +0100 |
commit | aff6ad1ce09264fb7fbf43a7456a746a586bea90 (patch) | |
tree | bc8edef3141b31acac3c5dad428a8ff50f840cc0 /tests/arch/xilinx/adffs.ys | |
parent | 22dd9f107c8986463041709aabcd0c886c87d33f (diff) | |
download | yosys-aff6ad1ce09264fb7fbf43a7456a746a586bea90.tar.gz yosys-aff6ad1ce09264fb7fbf43a7456a746a586bea90.tar.bz2 yosys-aff6ad1ce09264fb7fbf43a7456a746a586bea90.zip |
xilinx: Improve flip-flop handling.
This adds support for infering more kinds of flip-flops:
- FFs with async set/reset and clock enable
- FFs with sync set/reset
- FFs with sync set/reset and clock enable
Some passes have been moved (and some added) in order for dff2dffs to
work correctly.
This gives us complete coverage of Virtex 6+ and Spartan 6 flip-flop
capabilities (though not latch capabilities). Older FPGAs also support
having both a set and a reset input, which will be handled at a later
data.
Diffstat (limited to 'tests/arch/xilinx/adffs.ys')
-rw-r--r-- | tests/arch/xilinx/adffs.ys | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/tests/arch/xilinx/adffs.ys b/tests/arch/xilinx/adffs.ys index e73bfe0b9..c0ff6a2e2 100644 --- a/tests/arch/xilinx/adffs.ys +++ b/tests/arch/xilinx/adffs.ys @@ -32,10 +32,9 @@ equiv_opt -async2sync -assert -map +/xilinx/cells_sim.v synth_xilinx # equivale design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design) cd dffs # Constrain all select calls below inside the top module select -assert-count 1 t:BUFG -select -assert-count 1 t:FDRE -select -assert-count 1 t:LUT2 +select -assert-count 1 t:FDSE -select -assert-none t:BUFG t:FDRE t:LUT2 %% t:* %D +select -assert-none t:BUFG t:FDSE %% t:* %D design -load read @@ -46,6 +45,6 @@ design -load postopt # load the post-opt design (otherwise equiv_opt loads the p cd ndffnr # Constrain all select calls below inside the top module select -assert-count 1 t:BUFG select -assert-count 1 t:FDRE_1 -select -assert-count 1 t:LUT2 +select -assert-count 1 t:INV -select -assert-none t:BUFG t:FDRE_1 t:LUT2 %% t:* %D +select -assert-none t:BUFG t:FDRE_1 t:INV %% t:* %D |