select -assert-count 14 t:LUT2
select -assert-count 6 t:MUXCY
select -assert-count 8 t:XORCY
-select -assert-none t:LUT2 t:MUXCY t:XORCY %% t:* %D
+select -assert-none t:LUT2 t:MUXCY t:XORCY t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:BUFG
select -assert-count 1 t:FDCE
-select -assert-none t:BUFG t:FDCE %% t:* %D
+select -assert-none t:BUFG t:FDCE t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:FDCE
select -assert-count 1 t:INV
-select -assert-none t:BUFG t:FDCE t:INV %% t:* %D
+select -assert-none t:BUFG t:FDCE t:INV t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:BUFG
select -assert-count 1 t:FDSE
-select -assert-none t:BUFG t:FDSE %% t:* %D
+select -assert-none t:BUFG t:FDSE t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:FDRE_1
select -assert-count 1 t:INV
-select -assert-none t:BUFG t:FDRE_1 t:INV %% t:* %D
+select -assert-none t:BUFG t:FDRE_1 t:INV t:IBUF t:OBUF %% t:* %D
synth_xilinx
cd register_file
select -assert-count 32 t:RAM32M
-select -assert-none t:* t:BUFG %d t:RAM32M %d
+select -assert-none t:* t:BUFG %d t:IBUF %d t:OBUF %d t:RAM32M %d
select -assert-count 1 t:INV
select -assert-count 7 t:MUXCY
select -assert-count 8 t:XORCY
-select -assert-none t:BUFG t:FDCE t:INV t:MUXCY t:XORCY %% t:* %D
+select -assert-none t:BUFG t:FDCE t:INV t:MUXCY t:XORCY t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:BUFG
select -assert-count 1 t:FDRE
-select -assert-none t:BUFG t:FDRE %% t:* %D
+select -assert-none t:BUFG t:FDRE t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:BUFG
select -assert-count 1 t:FDRE
-select -assert-none t:BUFG t:FDRE %% t:* %D
+select -assert-none t:BUFG t:FDRE t:IBUF t:OBUF %% t:* %D
synth_xilinx
cd fastfir_dynamictaps
select -assert-count 2 t:DSP48E1
-select -assert-none t:* t:DSP48E1 %d t:BUFG %d
+select -assert-none t:* t:DSP48E1 %d t:BUFG %d t:IBUF %d t:OBUF %d
select -assert-count 1 t:LUT2
select -assert-count 3 t:LUT5
select -assert-count 1 t:LUT6
-select -assert-none t:BUFG t:FDRE t:FDSE t:LUT2 t:LUT5 t:LUT6 %% t:* %D
+select -assert-none t:BUFG t:IBUF t:OBUF t:FDRE t:FDSE t:LUT2 t:LUT5 t:LUT6 %% t:* %D
cd latchp # Constrain all select calls below inside the top module
select -assert-count 1 t:LDCE
-select -assert-none t:LDCE %% t:* %D
+select -assert-none t:LDCE t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:LDCE
select -assert-count 1 t:INV
-select -assert-none t:LDCE t:INV %% t:* %D
+select -assert-none t:LDCE t:INV t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:LDCE
select -assert-count 2 t:LUT3
-select -assert-none t:LDCE t:LUT3 %% t:* %D
+select -assert-none t:LDCE t:LUT3 t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:INV
select -assert-count 6 t:LUT2
select -assert-count 2 t:LUT4
-select -assert-none t:INV t:LUT2 t:LUT4 %% t:* %D
+select -assert-none t:INV t:LUT2 t:LUT4 t:IBUF t:OBUF %% t:* %D
#select -assert-count 1 t:BUFG
#select -assert-count 8 t:FDRE
#select -assert-count 8 t:RAM16X1D
-#select -assert-none t:BUFG t:FDRE t:RAM16X1D %% t:* %D
+#select -assert-none t:BUFG t:FDRE t:RAM16X1D t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 8 t:FDRE
select -assert-count 8 t:RAM32X1D
-select -assert-none t:BUFG t:FDRE t:RAM32X1D %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM32X1D t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 8 t:FDRE
select -assert-count 8 t:RAM64X1D
-select -assert-none t:BUFG t:FDRE t:RAM64X1D %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM64X1D t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 24 t:FDRE
select -assert-count 4 t:RAM32M
-select -assert-none t:BUFG t:FDRE t:RAM32M %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM32M t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 24 t:FDRE
select -assert-count 8 t:RAM64M
-select -assert-none t:BUFG t:FDRE t:RAM64M %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM64M t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 6 t:FDRE
select -assert-count 1 t:RAM32M
-select -assert-none t:BUFG t:FDRE t:RAM32M %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM32M t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:BUFG
select -assert-count 6 t:FDRE
select -assert-count 2 t:RAM64M
-select -assert-none t:BUFG t:FDRE t:RAM64M %% t:* %D
+select -assert-none t:BUFG t:FDRE t:RAM64M t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:BUFG
select -assert-count 1 t:FDRE
select -assert-count 1 t:DSP48E1
-select -assert-none t:BUFG t:FDRE t:DSP48E1 %% t:* %D
+select -assert-none t:BUFG t:FDRE t:DSP48E1 t:IBUF t:OBUF %% t:* %D
design -load read
hierarchy -top macc2
select -assert-count 1 t:FDRE
select -assert-count 1 t:LUT2
select -assert-count 40 t:LUT3
-select -assert-none t:BUFG t:DSP48E1 t:FDRE t:LUT2 t:LUT3 %% t:* %D
+select -assert-none t:BUFG t:DSP48E1 t:FDRE t:LUT2 t:LUT3 t:IBUF t:OBUF %% t:* %D
cd top # Constrain all select calls below inside the top module
select -assert-count 1 t:DSP48E1
-select -assert-none t:DSP48E1 %% t:* %D
+select -assert-none t:DSP48E1 t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:BUFG
select -assert-count 1 t:DSP48E1
select -assert-count 30 t:FDRE
-select -assert-none t:DSP48E1 t:FDRE t:BUFG %% t:* %D
+select -assert-none t:DSP48E1 t:FDRE t:BUFG t:IBUF t:OBUF %% t:* %D
cd mux2 # Constrain all select calls below inside the top module
select -assert-count 1 t:LUT3
-select -assert-none t:LUT3 %% t:* %D
+select -assert-none t:LUT3 t:IBUF t:OBUF %% t:* %D
design -load read
cd mux4 # Constrain all select calls below inside the top module
select -assert-count 1 t:LUT6
-select -assert-none t:LUT6 %% t:* %D
+select -assert-none t:LUT6 t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-count 1 t:LUT3
select -assert-count 2 t:LUT6
-select -assert-none t:LUT3 t:LUT6 %% t:* %D
+select -assert-none t:LUT3 t:LUT6 t:IBUF t:OBUF %% t:* %D
design -load read
select -assert-max 7 t:LUT6
select -assert-max 2 t:MUXF7
-select -assert-none t:LUT6 t:MUXF7 %% t:* %D
+select -assert-none t:LUT6 t:MUXF7 t:IBUF t:OBUF %% t:* %D
select -assert-count 1 t:BUFG
select -assert-count 8 t:FDRE
-select -assert-none t:BUFG t:FDRE %% t:* %D
+select -assert-none t:BUFG t:FDRE t:IBUF t:OBUF %% t:* %D
design -load postopt # load the post-opt design (otherwise equiv_opt loads the pre-opt design)
cd tristate # Constrain all select calls below inside the top module
# TODO :: Tristate logic not yet supported; see https://github.com/YosysHQ/yosys/issues/1225
-select -assert-count 1 t:$_TBUF_
-select -assert-none t:$_TBUF_ %% t:* %D
+select -assert-count 2 t:IBUF
+select -assert-count 1 t:INV
+select -assert-count 1 t:OBUFT
+select -assert-none t:IBUF t:INV t:OBUFT %% t:* %D
select -assert-count 1 t:FDRE
select -assert-count 1 t:LUT6
select -assert-count 3 t:LUT2
-select -assert-none t:FDRE t:LUT6 t:LUT2 %% t:* %D
+select -assert-none t:FDRE t:LUT6 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -load t0
select -assert-count 1 t:FDRE
select -assert-count 1 t:LUT4
select -assert-count 3 t:LUT2
-select -assert-none t:FDRE t:LUT4 t:LUT2 %% t:* %D
+select -assert-none t:FDRE t:LUT4 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:FDSE
select -assert-count 1 t:LUT6
select -assert-count 3 t:LUT2
-select -assert-none t:FDSE t:LUT6 t:LUT2 %% t:* %D
+select -assert-none t:FDSE t:LUT6 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -load t0
select -assert-count 1 t:FDSE
select -assert-count 1 t:LUT4
select -assert-count 3 t:LUT2
-select -assert-none t:FDSE t:LUT4 t:LUT2 %% t:* %D
+select -assert-none t:FDSE t:LUT4 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:FDCE
select -assert-count 1 t:LUT4
select -assert-count 3 t:LUT2
-select -assert-none t:FDCE t:LUT4 t:LUT2 %% t:* %D
+select -assert-none t:FDCE t:LUT4 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:FDSE
select -assert-count 1 t:LUT5
select -assert-count 2 t:LUT2
-select -assert-none t:FDSE t:LUT5 t:LUT2 %% t:* %D
+select -assert-none t:FDSE t:LUT5 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -load t0
select -assert-count 1 t:FDSE
select -assert-count 2 t:LUT2
-select -assert-none t:FDSE t:LUT2 %% t:* %D
+select -assert-none t:FDSE t:LUT2 t:IBUF t:OBUF %% t:* %D
design -reset
select -assert-count 1 t:FDRSE
select -assert-count 1 t:LUT6
select -assert-count 4 t:LUT2
-select -assert-none t:FDRSE t:LUT6 t:LUT2 %% t:* %D
+select -assert-none t:FDRSE t:LUT6 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -load t0
select -assert-count 1 t:FDRSE
select -assert-count 1 t:LUT4
select -assert-count 4 t:LUT2
-select -assert-none t:FDRSE t:LUT4 t:LUT2 %% t:* %D
+select -assert-none t:FDRSE t:LUT4 t:LUT2 t:IBUF t:OBUF %% t:* %D
design -reset