mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 03:32:29 +00:00 
			
		
		
		
	for pf in test_simulation_{always,and,buffer,decoder,inc,mux,nand,nor,or,seq,shifter,sop,techmap,xnor,xor}; do
gawk 'FNR == 1 { printf("\n// %s\n",FILENAME); } { gsub("^module *", sprintf("module f%d_",ARGIND)); print; }' \
    ${pf}_*_test.v > $pf.v; ../tools/autotest.sh $pf.v; mv -v ${pf}_*_test.v Attic/; done;
..etc..
		
	
			
		
			
				
	
	
		
			135 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
			
		
		
	
	
			135 lines
		
	
	
	
		
			2.2 KiB
		
	
	
	
		
			Verilog
		
	
	
	
	
	
| 
 | |
| // test_simulation_always_15_test.v
 | |
| module f1_test(input [1:0] in, output reg [1:0] out);
 | |
| 
 | |
| always @(in)
 | |
|     out = in;
 | |
| endmodule	
 | |
| 
 | |
| // test_simulation_always_17_test.v
 | |
| module f2_test(a, b, c, d, z);
 | |
| input a, b, c, d;
 | |
| output z;
 | |
| reg z, temp1, temp2;
 | |
| 
 | |
| always @(a or b or c or d)
 | |
| begin
 | |
|     temp1 = a ^ b;
 | |
| 	temp2 = c ^ d;
 | |
| 	z = temp1 ^ temp2;
 | |
| end	
 | |
| 
 | |
| endmodule
 | |
| 
 | |
| // test_simulation_always_18_test.v
 | |
| module f3_test (in1, in2, out);
 | |
| input  in1, in2;
 | |
| output  reg out;
 | |
| 
 | |
| always @ ( in1 or in2)
 | |
| 	if(in1 > in2)
 | |
| 		out = in1;
 | |
| 	else
 | |
| 		out = in2;
 | |
| endmodule		
 | |
| 
 | |
| // test_simulation_always_19_test.v
 | |
| module f4_test(ctrl, in1,  in2, out);
 | |
| input ctrl;
 | |
| input  in1, in2;
 | |
| output  reg out;
 | |
| 
 | |
| always @ (ctrl or in1 or in2)
 | |
| 	if(ctrl)
 | |
| 		out = in1 & in2;
 | |
| 	else 
 | |
| 		out = in1 | in2;
 | |
| endmodule		
 | |
| 
 | |
| // test_simulation_always_1_test.v
 | |
| module f5_test(input in, output reg out);
 | |
| 
 | |
| always @(in)
 | |
|     out = in;
 | |
| endmodule	
 | |
| 
 | |
| // test_simulation_always_20_test.v
 | |
| module f6_NonBlockingEx(clk, merge, er, xmit, fddi, claim);
 | |
| input clk, merge, er, xmit, fddi;
 | |
| output reg claim;
 | |
| reg fcr;
 | |
| 
 | |
| always @(posedge clk)
 | |
| begin
 | |
|     fcr <= er | xmit;
 | |
| 
 | |
| 	if(merge)
 | |
| 	    claim <= fcr & fddi;
 | |
| 	else
 | |
| 	    claim <= fddi;
 | |
| end
 | |
| endmodule
 | |
| 
 | |
| // test_simulation_always_21_test.v
 | |
| module f7_FlipFlop(clk, cs, ns);
 | |
| input clk;
 | |
| input [7:0] cs;
 | |
| output [7:0] ns;
 | |
| integer is;
 | |
| 
 | |
| always @(posedge clk)
 | |
|     is <= cs;
 | |
| 
 | |
| assign ns = is;
 | |
| endmodule	
 | |
| 
 | |
| // test_simulation_always_22_test.v
 | |
| module f8_inc(clock, counter);
 | |
| 
 | |
| input clock;
 | |
| output reg [7:0] counter;
 | |
| always @(posedge clock)
 | |
| 	counter <= counter + 1;
 | |
| endmodule	
 | |
| 
 | |
| // test_simulation_always_23_test.v
 | |
| module f9_MyCounter (clock, preset, updown, presetdata, counter);
 | |
| input clock, preset, updown;
 | |
| input [1: 0] presetdata;
 | |
| output reg [1:0] counter;
 | |
| 
 | |
| always @(posedge clock)
 | |
|     if(preset)
 | |
| 	    counter <= presetdata;
 | |
| 	else
 | |
| 	    if(updown)
 | |
| 		    counter <= counter + 1;
 | |
| 		else
 | |
| 		    counter <= counter - 1;
 | |
| endmodule			
 | |
| 
 | |
| // test_simulation_always_27_test.v
 | |
| module f10_FlipFlop(clock, cs, ns);
 | |
| input clock;
 | |
| input cs;
 | |
| output reg ns;
 | |
| reg temp;
 | |
| 
 | |
| always @(posedge clock)
 | |
| begin
 | |
|     temp <= cs;
 | |
| 	ns <= temp;
 | |
| end	
 | |
| 
 | |
| endmodule	
 | |
| 
 | |
| // test_simulation_always_29_test.v
 | |
| module f11_test(input in, output reg [1:0] out);
 | |
| 
 | |
|     always @(in)
 | |
|     begin
 | |
|         out = in;
 | |
|         out = out + in;
 | |
|     end
 | |
| 
 | |
| endmodule
 |