mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-03 21:09:12 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			22 lines
		
	
	
	
		
			452 B
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
			
		
		
	
	
			22 lines
		
	
	
	
		
			452 B
		
	
	
	
		
			Systemverilog
		
	
	
	
	
	
module top(input clock, input [3:0] delta, output [3:0] cnt1, cnt2);
 | 
						|
	cnt #(1) foo (.clock, .cnt(cnt1), .delta);
 | 
						|
	cnt #(2) bar (.clock, .cnt(cnt2));
 | 
						|
endmodule
 | 
						|
 | 
						|
module cnt #(
 | 
						|
	parameter integer initval = 0
 | 
						|
) (
 | 
						|
	input clock,
 | 
						|
	output logic [3:0] cnt = initval,
 | 
						|
`ifdef __ICARUS__
 | 
						|
	input [3:0] delta
 | 
						|
`else
 | 
						|
	input [3:0] delta = 10
 | 
						|
`endif
 | 
						|
);
 | 
						|
`ifdef __ICARUS__
 | 
						|
	assign (weak0, weak1) delta = 10;
 | 
						|
`endif
 | 
						|
	always @(posedge clock)
 | 
						|
		cnt <= cnt + delta;
 | 
						|
endmodule
 |