mirror of
https://github.com/YosysHQ/yosys
synced 2026-07-25 00:22:34 +00:00
Merge upstream yosys
This commit is contained in:
commit
5f5ed1b29e
41 changed files with 920 additions and 237 deletions
1
tests/various/.gitignore
vendored
1
tests/various/.gitignore
vendored
|
|
@ -1,6 +1,7 @@
|
|||
/*.log
|
||||
/*.out
|
||||
/aiger2*.aig
|
||||
/*.sel
|
||||
/write_gzip.v
|
||||
/write_gzip.v.gz
|
||||
/run-test.mk
|
||||
|
|
|
|||
72
tests/various/cutpoint_blackbox.ys
Normal file
72
tests/various/cutpoint_blackbox.ys
Normal file
|
|
@ -0,0 +1,72 @@
|
|||
read_verilog -specify << EOT
|
||||
module top(input a, b, output o);
|
||||
wire c, d, e;
|
||||
bb #(.SOME_PARAM(1)) bb1 (.a (a), .b (b), .o (c));
|
||||
bb #(.SOME_PARAM(2)) bb2 (.a (a), .b (b), .o (d));
|
||||
wb wb1 (.a (a), .b (b), .o (e));
|
||||
some_mod some_inst (.a (c), .b (d), .c (e), .o (o));
|
||||
endmodule
|
||||
|
||||
(* blackbox *)
|
||||
module bb #( parameter SOME_PARAM=0 ) (input a, b, output o);
|
||||
assign o = a | b;
|
||||
specify
|
||||
(a => o) = 1;
|
||||
endspecify
|
||||
endmodule
|
||||
|
||||
(* whitebox *)
|
||||
module wb(input a, b, output o);
|
||||
assign o = a ^ b;
|
||||
endmodule
|
||||
|
||||
module some_mod(input a, b, c, output o);
|
||||
assign o = a & (b | c);
|
||||
endmodule
|
||||
EOT
|
||||
|
||||
hierarchy -top top
|
||||
design -save hier
|
||||
|
||||
select -assert-none t:$anyseq
|
||||
select -assert-count 3 =t:?b
|
||||
cutpoint -blackbox
|
||||
|
||||
select -assert-none =t:?b
|
||||
select -assert-none r:SOME_PARAM
|
||||
|
||||
select -assert-count 3 t:$anyseq
|
||||
select -assert-count 3 t:$scopeinfo
|
||||
select -assert-count 3 t:$scopeinfo r:TYPE=blackbox %i
|
||||
select -assert-count 3 t:$scopeinfo n:*cutpoint.cc* %i
|
||||
|
||||
# -noscopeinfo works with -blackbox
|
||||
design -load hier
|
||||
cutpoint -blackbox -noscopeinfo
|
||||
select -assert-none t:$scopeinfo
|
||||
|
||||
# cutpoint -blackbox === cutpoint =A:whitebox =A:blackbox %u %C
|
||||
# (simplified to =A:*box %C)
|
||||
design -load hier
|
||||
cutpoint -blackbox
|
||||
rename -enumerate -pattern A_% t:$scopeinfo
|
||||
rename -enumerate -pattern B_% t:$anyseq
|
||||
rename -enumerate -pattern C_% w:*Anyseq*
|
||||
design -save gold
|
||||
select -write cutpoint.gold.sel =*
|
||||
|
||||
design -load hier
|
||||
cutpoint =A:*box %C
|
||||
rename -enumerate -pattern A_% t:$scopeinfo
|
||||
rename -enumerate -pattern B_% t:$anyseq
|
||||
rename -enumerate -pattern C_% w:*Anyseq*
|
||||
design -save gate
|
||||
select -write cutpoint.gate.sel
|
||||
select -read cutpoint.gold.sel
|
||||
# nothing in gate but not gold
|
||||
select -assert-none % %n
|
||||
|
||||
design -load gold
|
||||
select -read cutpoint.gate.sel
|
||||
# nothing in gold but not gate
|
||||
select -assert-none % %n
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
read_rtlil << EOF
|
||||
read_rtlil << EOT
|
||||
module \top
|
||||
wire input 1 \A
|
||||
wire output 2 \Y
|
||||
|
|
@ -8,7 +8,67 @@ module \top
|
|||
connect \Y \Y
|
||||
end
|
||||
end
|
||||
EOF
|
||||
EOT
|
||||
logger -expect log "Chip area for module '\\top': 9.072000" 1
|
||||
logger -expect-no-warnings
|
||||
stat -liberty ../../tests/liberty/foundry_data/sg13g2_stdcell_typ_1p20V_25C.lib.filtered.gz
|
||||
|
||||
|
||||
design -reset
|
||||
read_rtlil << EOT
|
||||
module \top
|
||||
wire input 1 \A
|
||||
wire output 2 \Y
|
||||
wire output 3 \N
|
||||
|
||||
cell \sg13g2_and2_1 \sub1
|
||||
connect \A \A
|
||||
connect \B 1'0
|
||||
connect \Y \Y
|
||||
end
|
||||
|
||||
cell \child \sequential
|
||||
connect \A \A
|
||||
connect \B 1'0
|
||||
connect \R 1'0
|
||||
connect \Y \Y
|
||||
connect \N \N
|
||||
end
|
||||
|
||||
cell \child \sequential1
|
||||
connect \A \A
|
||||
connect \B 1'0
|
||||
connect \R 1'0
|
||||
connect \Y \Y
|
||||
connect \N \N
|
||||
end
|
||||
|
||||
cell \sg13g2_and2_1 \sub2
|
||||
connect \A \A
|
||||
connect \B 1'0
|
||||
connect \Y \Y
|
||||
end
|
||||
end
|
||||
|
||||
module \child
|
||||
wire input 1 \A
|
||||
wire input 2 \B
|
||||
wire input 3 \R
|
||||
|
||||
wire output 4 \Y
|
||||
wire output 5 \N
|
||||
|
||||
cell \sg13g2_dfrbp_1 \sequential_ff
|
||||
connect \CLK \A
|
||||
connect \D \B
|
||||
connect \Q \Y
|
||||
connect \Q_N \N
|
||||
connect \RESET_B \R
|
||||
end
|
||||
|
||||
end
|
||||
EOT
|
||||
logger -expect log "Chip area for top module '\\top': 112.492800" 1
|
||||
logger -expect log "of which used for sequential elements: 94.348800" 1
|
||||
logger -expect-no-warnings
|
||||
stat -liberty ../../tests/liberty/foundry_data/sg13g2_stdcell_typ_1p20V_25C.lib.filtered.gz -top \top
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue