mirror of
				https://github.com/YosysHQ/yosys
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	Added support for task and function args in parentheses
This commit is contained in:
		
							parent
							
								
									c4a2b3c1e9
								
							
						
					
					
						commit
						f9c096eeda
					
				
					 2 changed files with 80 additions and 7 deletions
				
			
		| 
						 | 
				
			
			@ -33,8 +33,42 @@ end
 | 
			
		|||
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
// -------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
module task_func_test02( input [7:0] din_a, input [7:0] din_b, output [7:0] dout_a);
 | 
			
		||||
module task_func_test02(clk, a, b, c, x, y, z, w);
 | 
			
		||||
 | 
			
		||||
input clk;
 | 
			
		||||
input [7:0] a, b, c;
 | 
			
		||||
output reg [7:0] x, y, z, w;
 | 
			
		||||
 | 
			
		||||
function [7:0] sum_shift(input [3:0] s1, s2, s3);
 | 
			
		||||
sum_shift = s1 + (s2 << 2) + (s3 << 4);
 | 
			
		||||
endfunction
 | 
			
		||||
 | 
			
		||||
task reset_w;
 | 
			
		||||
w = 0;
 | 
			
		||||
endtask
 | 
			
		||||
 | 
			
		||||
task add_to(output [7:0] out, input [7:0] in);
 | 
			
		||||
out = out + in;
 | 
			
		||||
endtask
 | 
			
		||||
 | 
			
		||||
always @(posedge clk) begin
 | 
			
		||||
	x = sum_shift(a, b, c);
 | 
			
		||||
	y = sum_shift(a[7:4], b[5:2], c[3:0]);
 | 
			
		||||
	z = sum_shift(a[0], b[5:4], c >> 5) ^ sum_shift(1, 2, 3);
 | 
			
		||||
 | 
			
		||||
	reset_w;
 | 
			
		||||
	add_to(w, x);
 | 
			
		||||
	add_to(w, y);
 | 
			
		||||
	add_to(w, z);
 | 
			
		||||
end
 | 
			
		||||
 | 
			
		||||
endmodule
 | 
			
		||||
 | 
			
		||||
// -------------------------------------------------------------------
 | 
			
		||||
 | 
			
		||||
module task_func_test03( input [7:0] din_a, input [7:0] din_b, output [7:0] dout_a);
 | 
			
		||||
	assign dout_a = test(din_a,din_b);
 | 
			
		||||
	function [7:0] test;
 | 
			
		||||
		input [7:0] a;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue