mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	added tests for new verilog features
This commit is contained in:
		
							parent
							
								
									744e518467
								
							
						
					
					
						commit
						3af7c69d1e
					
				
					 2 changed files with 38 additions and 7 deletions
				
			
		
							
								
								
									
										15
									
								
								tests/simple/arraycells.v
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								tests/simple/arraycells.v
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,15 @@
 | 
			
		|||
 | 
			
		||||
module test001(a, b, c, y);
 | 
			
		||||
	input a;
 | 
			
		||||
	input [31:0] b, c;
 | 
			
		||||
	input [31:0] y;
 | 
			
		||||
 | 
			
		||||
	aoi12 p [31:0] (a, b, c, y);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
module aoi12(a, b, c, y);
 | 
			
		||||
	input a, b, c;
 | 
			
		||||
	output y;
 | 
			
		||||
	assign y = ~((a & b) | c);
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1,4 +1,5 @@
 | 
			
		|||
module test001(output [63:0] y);
 | 
			
		||||
module test001(input [5:0] a, output [7:0] y, output [31:0] x);
 | 
			
		||||
 | 
			
		||||
	function [7:0] mylog2;
 | 
			
		||||
		input [31:0] value;
 | 
			
		||||
		begin
 | 
			
		||||
| 
						 | 
				
			
			@ -10,11 +11,26 @@ module test001(output [63:0] y);
 | 
			
		|||
		end
 | 
			
		||||
	endfunction
 | 
			
		||||
 | 
			
		||||
	genvar i;
 | 
			
		||||
	generate
 | 
			
		||||
		for (i = 0; i < 64; i = i+1) begin
 | 
			
		||||
			localparam tmp = mylog2(i);
 | 
			
		||||
			assign y[i] = tmp;
 | 
			
		||||
	function [31:0] myexp2;
 | 
			
		||||
		input [7:0] value;
 | 
			
		||||
		begin
 | 
			
		||||
			myexp2 = 1;
 | 
			
		||||
			repeat (value)
 | 
			
		||||
				myexp2 = myexp2 << 1;
 | 
			
		||||
		end
 | 
			
		||||
	endgenerate
 | 
			
		||||
	endfunction
 | 
			
		||||
 | 
			
		||||
	reg [7:0] y_table [63:0];
 | 
			
		||||
	reg [31:0] x_table [63:0];
 | 
			
		||||
 | 
			
		||||
	integer i;
 | 
			
		||||
	initial begin
 | 
			
		||||
		for (i = 0; i < 64; i = i+1) begin
 | 
			
		||||
			y_table[i] <= mylog2(i);
 | 
			
		||||
			x_table[i] <= myexp2(i);
 | 
			
		||||
		end
 | 
			
		||||
	end
 | 
			
		||||
 | 
			
		||||
	assign y = y_table[a];
 | 
			
		||||
	assign x = x_table[a];
 | 
			
		||||
endmodule
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue