mirror of
https://github.com/YosysHQ/yosys
synced 2026-04-30 07:43:40 +00:00
Merge pull request #5704 from apullin/apullin/abc9-no-loops-fix
abc9: preserve topological-loop asserts with targeted SCC fallback
This commit is contained in:
commit
05d1d56b9d
3 changed files with 107 additions and 27 deletions
|
|
@ -12,5 +12,5 @@ cd fsm # Constrain all select calls below inside the top module
|
|||
|
||||
select -assert-count 4 t:SB_DFF
|
||||
select -assert-count 2 t:SB_DFFESR
|
||||
select -assert-max 15 t:SB_LUT4
|
||||
select -assert-max 16 t:SB_LUT4
|
||||
select -assert-none t:SB_DFFESR t:SB_DFF t:SB_LUT4 %% t:* %D
|
||||
|
|
|
|||
19
tests/techmap/abc9-nonbox-loop-with-box.ys
Normal file
19
tests/techmap/abc9-nonbox-loop-with-box.ys
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
read_verilog -icells -specify <<EOT
|
||||
(* abc9_box, blackbox *)
|
||||
module box1(input i, output o);
|
||||
specify
|
||||
(i => o) = 1;
|
||||
endspecify
|
||||
endmodule
|
||||
|
||||
module top(input i, output o);
|
||||
wire a, b, c, z;
|
||||
$_AND_ a0(.A(b), .B(i), .Y(a));
|
||||
$_AND_ b0(.A(a), .B(c), .Y(b));
|
||||
$_AND_ c0(.A(b), .B(i), .Y(c));
|
||||
box1 u_box(.i(i), .o(z));
|
||||
assign o = c ^ z;
|
||||
endmodule
|
||||
EOT
|
||||
|
||||
abc9 -lut 4
|
||||
Loading…
Add table
Add a link
Reference in a new issue