Skip to content

Commit

Permalink
Delay flush by one cycle
Browse files Browse the repository at this point in the history
  • Loading branch information
tilk committed Nov 26, 2024
1 parent 5e0e7d6 commit 1e4936c
Showing 1 changed file with 2 additions and 10 deletions.
12 changes: 2 additions & 10 deletions coreblocks/backend/retirement.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
from coreblocks.interface.layouts import RetirementLayouts

from transactron.core import Method, Transaction, TModule, def_method
from transactron.lib.simultaneous import condition
from transactron.utils.dependencies import DependencyContext
from transactron.lib.metrics import *

Expand Down Expand Up @@ -180,15 +179,8 @@ def flush_instr(rob_entry):
# Normally retire all non-trap instructions
m.d.av_comb += commit.eq(1)

# Condition is used to avoid FRAT locking during normal operation
with condition(m) as cond:
with cond(commit):
retire_instr(rob_entry)
with cond():
# Not using default condition, because we want to block if branch is not ready
flush_instr(rob_entry)

m.d.comb += core_flushing.eq(1)
with m.If(commit):
retire_instr(rob_entry)

validate_transaction.schedule_before(retire_transaction)

Expand Down

0 comments on commit 1e4936c

Please sign in to comment.