mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	Add test
This commit is contained in:
		
							parent
							
								
									a91ea6612a
								
							
						
					
					
						commit
						c314ca3c51
					
				
					 2 changed files with 53 additions and 0 deletions
				
			
		
							
								
								
									
										22
									
								
								tests/various/shregmap.v
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								tests/various/shregmap.v
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,22 @@
 | 
			
		|||
module shregmap_test(input i, clk, output [1:0] q);
 | 
			
		||||
reg head = 1'b0;
 | 
			
		||||
reg [3:0] shift1 = 4'b0000;
 | 
			
		||||
reg [3:0] shift2 = 4'b0000;
 | 
			
		||||
 | 
			
		||||
always @(posedge clk) begin
 | 
			
		||||
    head <= i;
 | 
			
		||||
    shift1 <= {shift1[2:0], head};
 | 
			
		||||
    shift2 <= {shift2[2:0], head};
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
assign q = {shift2[3], shift1[3]};
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module $__SHREG_DFF_P_(input C, D, output Q);
 | 
			
		||||
parameter DEPTH = 1;
 | 
			
		||||
parameter [DEPTH-1:0] INIT = {DEPTH{1'b0}};
 | 
			
		||||
reg [DEPTH-1:0] r = INIT;
 | 
			
		||||
always @(posedge C) 
 | 
			
		||||
    r <= { r[DEPTH-2:0], D };
 | 
			
		||||
assign Q = r[DEPTH-1];
 | 
			
		||||
endmodule
 | 
			
		||||
							
								
								
									
										31
									
								
								tests/various/shregmap.ys
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										31
									
								
								tests/various/shregmap.ys
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,31 @@
 | 
			
		|||
read_verilog shregmap.v
 | 
			
		||||
design -copy-to model $__SHREG_DFF_P_
 | 
			
		||||
hierarchy -top shregmap_test
 | 
			
		||||
prep
 | 
			
		||||
design -save gold
 | 
			
		||||
 | 
			
		||||
techmap
 | 
			
		||||
shregmap -init
 | 
			
		||||
 | 
			
		||||
opt
 | 
			
		||||
 | 
			
		||||
stat
 | 
			
		||||
# show -width
 | 
			
		||||
select -assert-count 1 t:$_DFF_P_
 | 
			
		||||
select -assert-count 2 t:$__SHREG_DFF_P_
 | 
			
		||||
 | 
			
		||||
design -stash gate
 | 
			
		||||
 | 
			
		||||
design -import gold -as gold
 | 
			
		||||
design -import gate -as gate
 | 
			
		||||
design -copy-from model -as $__SHREG_DFF_P_ \$__SHREG_DFF_P_
 | 
			
		||||
prep
 | 
			
		||||
 | 
			
		||||
miter -equiv -flatten -make_assert -make_outputs gold gate miter
 | 
			
		||||
sat -verify -prove-asserts -show-ports -seq 5 miter
 | 
			
		||||
 | 
			
		||||
design -load gold
 | 
			
		||||
stat
 | 
			
		||||
 | 
			
		||||
design -load gate
 | 
			
		||||
stat
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue