mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			52 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
#!/bin/bash
 | 
						|
 | 
						|
trap 'echo "ERROR in chparam.sh" >&2; exit 1' ERR
 | 
						|
 | 
						|
cat > chparam1.sv << "EOT"
 | 
						|
module top #(
 | 
						|
        parameter [31:0] X = 0
 | 
						|
) (
 | 
						|
        input [31:0] din,
 | 
						|
        output [31:0] dout
 | 
						|
);
 | 
						|
        assign dout = X-din;
 | 
						|
endmodule
 | 
						|
 | 
						|
module top_props #(
 | 
						|
        parameter [31:0] X = 0
 | 
						|
) (
 | 
						|
        input [31:0] dout
 | 
						|
);
 | 
						|
        always @* assert (dout != X);
 | 
						|
endmodule
 | 
						|
 | 
						|
bind top top_props #(.X(123456789)) props (.*);
 | 
						|
EOT
 | 
						|
 | 
						|
cat > chparam2.sv << "EOT"
 | 
						|
module top #(
 | 
						|
	parameter [31:0] X = 0
 | 
						|
) (
 | 
						|
	input [31:0] din,
 | 
						|
	output [31:0] dout
 | 
						|
);
 | 
						|
	assign dout = X-din;
 | 
						|
	always @* assert (dout != 123456789);
 | 
						|
endmodule
 | 
						|
EOT
 | 
						|
 | 
						|
if ../../yosys -q -p 'verific -sv chparam1.sv'; then
 | 
						|
	../../yosys -q -p 'verific -sv chparam1.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \
 | 
						|
			-p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \
 | 
						|
			-p 'sat -falsify -prove-asserts -show-ports -set din[0] 0'
 | 
						|
 | 
						|
	../../yosys -q -p 'verific -sv chparam2.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \
 | 
						|
			-p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \
 | 
						|
			-p 'sat -falsify -prove-asserts -show-ports -set din[0] 0'
 | 
						|
fi
 | 
						|
../../yosys -q -p 'read_verilog -sv chparam2.sv; hierarchy -chparam X 123123123 -top top; prep -flatten' \
 | 
						|
		-p 'sat -verify -prove-asserts -show-ports -set din[0] 1' \
 | 
						|
		-p 'sat -falsify -prove-asserts -show-ports -set din[0] 0'
 | 
						|
 | 
						|
rm chparam1.sv
 | 
						|
rm chparam2.sv
 |