mirror of
https://github.com/verilator/verilator.git
synced 2026-10-06 01:54:01 +02:00
Optimize functions inlined from packages in Dfg (#7091)
This commit is contained in:
@@ -6,6 +6,12 @@
|
||||
|
||||
`define signal(name, expr) wire [$bits(expr)-1:0] ``name = expr
|
||||
|
||||
package pkg;
|
||||
function automatic logic [7:0] sub(input logic [7:0] a, input logic [7:0] b);
|
||||
return a - b;
|
||||
endfunction
|
||||
endpackage
|
||||
|
||||
module t (
|
||||
`include "portlist.vh" // Boilerplate generated by t_dfg_break_cycles.py
|
||||
rand_a, rand_b, srand_a, srand_b
|
||||
@@ -524,4 +530,19 @@ module t (
|
||||
end
|
||||
`signal(USES_LOOP_VAR, uses_loop_var);
|
||||
|
||||
function automatic logic [7:0] add(input logic [7:0] a, input logic [7:0] b);
|
||||
return a + b;
|
||||
endfunction
|
||||
logic [7:0] func_1;
|
||||
always_comb begin
|
||||
func_1 = add(rand_a[7:0], rand_b[7:0]);
|
||||
end
|
||||
`signal(FUNC_1, func_1);
|
||||
|
||||
logic [7:0] func_2;
|
||||
always_comb begin
|
||||
func_2 = pkg::sub(rand_a[7:0], rand_b[7:0]);
|
||||
end
|
||||
`signal(FUNC_2, func_2);
|
||||
|
||||
endmodule
|
||||
|
||||
Reference in New Issue
Block a user