mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	sv: fix support wire and var data type modifiers
This commit is contained in:
		
							parent
							
								
									4762cc06c6
								
							
						
					
					
						commit
						006c18fc11
					
				
					 3 changed files with 65 additions and 9 deletions
				
			
		
							
								
								
									
										33
									
								
								tests/verilog/wire_and_var.sv
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										33
									
								
								tests/verilog/wire_and_var.sv
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,33 @@
 | 
			
		|||
`define TEST(kwd) \
 | 
			
		||||
	kwd kwd``_1; \
 | 
			
		||||
	kwd kwd``_2; \
 | 
			
		||||
	initial kwd``_1 = 1; \
 | 
			
		||||
	assign kwd``_2 = 1;
 | 
			
		||||
 | 
			
		||||
`define TEST_VAR(kwd) \
 | 
			
		||||
	var kwd var_``kwd``_1; \
 | 
			
		||||
	var kwd var_``kwd``_2; \
 | 
			
		||||
	initial var_``kwd``_1 = 1; \
 | 
			
		||||
	assign var_``kwd``_2 = 1;
 | 
			
		||||
 | 
			
		||||
`define TEST_WIRE(kwd) \
 | 
			
		||||
	wire kwd wire_``kwd``_1; \
 | 
			
		||||
	wire kwd wire_``kwd``_2; \
 | 
			
		||||
	initial wire_``kwd``_1 = 1; \
 | 
			
		||||
	assign wire_``kwd``_2 = 1;
 | 
			
		||||
 | 
			
		||||
module top;
 | 
			
		||||
 | 
			
		||||
`TEST(wire) // wire assigned in a block
 | 
			
		||||
`TEST(reg) // reg assigned in a continuous assignment
 | 
			
		||||
`TEST(logic)
 | 
			
		||||
`TEST(integer)
 | 
			
		||||
 | 
			
		||||
`TEST_VAR(reg) // reg assigned in a continuous assignment
 | 
			
		||||
`TEST_VAR(logic)
 | 
			
		||||
`TEST_VAR(integer)
 | 
			
		||||
 | 
			
		||||
`TEST_WIRE(logic) // wire assigned in a block
 | 
			
		||||
`TEST_WIRE(integer) // wire assigned in a block
 | 
			
		||||
 | 
			
		||||
endmodule
 | 
			
		||||
							
								
								
									
										9
									
								
								tests/verilog/wire_and_var.ys
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								tests/verilog/wire_and_var.ys
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,9 @@
 | 
			
		|||
logger -expect warning "wire '\\wire_1' is assigned in a block" 1
 | 
			
		||||
logger -expect warning "reg '\\reg_2' is assigned in a continuous assignment" 1
 | 
			
		||||
 | 
			
		||||
logger -expect warning "reg '\\var_reg_2' is assigned in a continuous assignment" 1
 | 
			
		||||
 | 
			
		||||
logger -expect warning "wire '\\wire_logic_1' is assigned in a block" 1
 | 
			
		||||
logger -expect warning "wire '\\wire_integer_1' is assigned in a block" 1
 | 
			
		||||
 | 
			
		||||
read_verilog -sv wire_and_var.sv
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue