mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-10-31 19:52:31 +00:00 
			
		
		
		
	Add support to the "read_verilog -sv" parser to validate the
"unique", "unique0", and "priority" keywords in contexts where
they're legal according to 1800-2012 12.4.2.
This affects only the grammar accepted; the behaviour of conditionals
is not changed.  (But accepting this syntax will provide scope for
possible optimisations as future work.)
Three test cases ("unique_if", "unique_if_else", and
"unique_if_else_begin") verify that the keywords are accepted where
legal and rejected where illegal, as described in the final paragraph
of 12.4.2.
		
	
			
		
			
				
	
	
		
			12 lines
		
	
	
	
		
			282 B
		
	
	
	
		
			Text
		
	
	
	
	
	
			
		
		
	
	
			12 lines
		
	
	
	
		
			282 B
		
	
	
	
		
			Text
		
	
	
	
	
	
| read_verilog -sv <<EOF
 | |
| module top( input[2:0] a );
 | |
| always_comb begin
 | |
|     // example from 1800-2012 12.4.2
 | |
|     unique if ((a==0) || (a==1)) $display("0 or 1");
 | |
|     else begin
 | |
|         unique if (a == 2) $display("2");
 | |
|         else if (a == 4) $display("4");
 | |
|     end
 | |
| end
 | |
| endmodule
 | |
| EOF
 |