Fix edge case on back-to-back writes to write buffer trigger register. #38
This commit is contained in:
@@ -7,6 +7,11 @@ always_ff {{get_always_ff_event(cpuif.reset)}} begin
|
|||||||
{{wbuf_prefix}}.trigger_q <= '0;
|
{{wbuf_prefix}}.trigger_q <= '0;
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
end else begin
|
end else begin
|
||||||
|
if({{wbuf.get_trigger(node)}}) begin
|
||||||
|
{{wbuf_prefix}}.pending <= '0;
|
||||||
|
{{wbuf_prefix}}.data <= '0;
|
||||||
|
{{wbuf_prefix}}.biten <= '0;
|
||||||
|
end
|
||||||
{%- for segment in segments %}
|
{%- for segment in segments %}
|
||||||
if({{segment.strobe}} && decoded_req_is_wr) begin
|
if({{segment.strobe}} && decoded_req_is_wr) begin
|
||||||
{{wbuf_prefix}}.pending <= '1;
|
{{wbuf_prefix}}.pending <= '1;
|
||||||
@@ -22,10 +27,5 @@ always_ff {{get_always_ff_event(cpuif.reset)}} begin
|
|||||||
{% if is_own_trigger %}
|
{% if is_own_trigger %}
|
||||||
{{wbuf_prefix}}.trigger_q <= {{wbuf.get_raw_trigger(node)}};
|
{{wbuf_prefix}}.trigger_q <= {{wbuf.get_raw_trigger(node)}};
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
if({{wbuf.get_trigger(node)}}) begin
|
|
||||||
{{wbuf_prefix}}.pending <= '0;
|
|
||||||
{{wbuf_prefix}}.data <= '0;
|
|
||||||
{{wbuf_prefix}}.biten <= '0;
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Reference in New Issue
Block a user