mirror of
https://github.com/YosysHQ/yosys
synced 2025-08-22 02:57:51 +00:00
initial import
This commit is contained in:
commit
7764d0ba1d
481 changed files with 54634 additions and 0 deletions
35
tests/simple/task_func.v
Normal file
35
tests/simple/task_func.v
Normal file
|
@ -0,0 +1,35 @@
|
|||
|
||||
module test01(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
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue