mirror of
https://github.com/YosysHQ/yosys
synced 2025-07-02 19:08:48 +00:00
Add latch test modified from #1363
This commit is contained in:
parent
5b5756b91e
commit
6216e45eda
2 changed files with 73 additions and 0 deletions
58
tests/xilinx/latches.v
Normal file
58
tests/xilinx/latches.v
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
module latchp
|
||||||
|
( input d, en, output reg q );
|
||||||
|
always @*
|
||||||
|
if ( en )
|
||||||
|
q <= d;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module latchn
|
||||||
|
( input d, en, output reg q );
|
||||||
|
always @*
|
||||||
|
if ( !en )
|
||||||
|
q <= d;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module latchsr
|
||||||
|
( input d, en, clr, pre, output reg q );
|
||||||
|
always @*
|
||||||
|
if ( clr )
|
||||||
|
q <= 1'b0;
|
||||||
|
else if ( pre )
|
||||||
|
q <= 1'b1;
|
||||||
|
else if ( en )
|
||||||
|
q <= d;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
|
||||||
|
module top (
|
||||||
|
input clk,
|
||||||
|
input clr,
|
||||||
|
input pre,
|
||||||
|
input a,
|
||||||
|
output b,b1,b2
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
latchp u_latchp (
|
||||||
|
.en (clk ),
|
||||||
|
.d (a ),
|
||||||
|
.q (b )
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
latchn u_latchn (
|
||||||
|
.en (clk ),
|
||||||
|
.d (a ),
|
||||||
|
.q (b1 )
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
latchsr u_latchsr (
|
||||||
|
.en (clk ),
|
||||||
|
.clr (clr),
|
||||||
|
.pre (pre),
|
||||||
|
.d (a ),
|
||||||
|
.q (b2 )
|
||||||
|
);
|
||||||
|
|
||||||
|
endmodule
|
15
tests/xilinx/latches.ys
Normal file
15
tests/xilinx/latches.ys
Normal file
|
@ -0,0 +1,15 @@
|
||||||
|
read_verilog latches.v
|
||||||
|
|
||||||
|
proc
|
||||||
|
flatten
|
||||||
|
equiv_opt -assert -run :prove -map +/xilinx/cells_sim.v synth_xilinx # equivalency check
|
||||||
|
async2sync
|
||||||
|
equiv_opt -assert -run prove: -map +/xilinx/cells_sim.v synth_xilinx # equivalency check
|
||||||
|
|
||||||
|
design -load preopt
|
||||||
|
synth_xilinx
|
||||||
|
cd top
|
||||||
|
select -assert-count 1 t:LUT1
|
||||||
|
select -assert-count 2 t:LUT3
|
||||||
|
select -assert-count 3 t:LDCE
|
||||||
|
select -assert-none t:LUT1 t:LUT3 t:LDCE %% t:* %D
|
Loading…
Add table
Add a link
Reference in a new issue