mirror of
https://github.com/verilator/verilator.git
synced 2025-01-19 12:54:02 +00:00
Commentary
This commit is contained in:
parent
8350c381c2
commit
daf5174134
@ -3562,7 +3562,7 @@ IE, with the following
|
||||
|
||||
reg splitme /* verilator isolate_assignments*/;
|
||||
// Note the placement of the semicolon above
|
||||
always @* begin
|
||||
always_comb begin
|
||||
if (....) begin
|
||||
splitme = ....;
|
||||
other assignments
|
||||
@ -3575,13 +3575,13 @@ two blocks:
|
||||
It would then internally break it into (sort of):
|
||||
|
||||
// All assignments excluding those to splitme
|
||||
always @* begin
|
||||
always_comb begin
|
||||
if (....) begin
|
||||
other assignments
|
||||
end
|
||||
end
|
||||
// All assignments to splitme
|
||||
always @* begin
|
||||
always_comb begin
|
||||
if (....) begin
|
||||
splitme = ....;
|
||||
end
|
||||
@ -4257,14 +4257,14 @@ flop:
|
||||
|
||||
logic [1:0] foo;
|
||||
always @(posedge clk) foo[0] <= ...
|
||||
always @* foo[1] = ...
|
||||
always_comb foo[1] = ...
|
||||
|
||||
Simply use a different register for the flop:
|
||||
|
||||
logic [1:0] foo;
|
||||
always @(posedge clk) foo_flopped[0] <= ...
|
||||
always @* foo[0] = foo_flopped[0];
|
||||
always @* foo[1] = ...
|
||||
always_comb foo[0] = foo_flopped[0];
|
||||
always_comb foo[1] = ...
|
||||
|
||||
Or, this may also avoid the error:
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user