Permalink
Browse files

lasmicon: fix FSM reset state with delayed_enter

  • Loading branch information...
1 parent 2f662bf commit d753c52225dd96870c6b0add837898a255ea8287 @sbourdeauducq sbourdeauducq committed Jul 14, 2013
Showing with 4 additions and 4 deletions.
  1. +2 −2 milkymist/lasmicon/bankmachine.py
  2. +2 −2 milkymist/lasmicon/multiplexer.py
View
4 milkymist/lasmicon/bankmachine.py
@@ -93,8 +93,6 @@ def __init__(self, geom_settings, timing_settings, address_align, bankn, req):
# Control and command generation FSM
fsm = FSM()
self.submodules += fsm
- fsm.delayed_enter("TRP", "ACTIVATE", timing_settings.tRP-1)
- fsm.delayed_enter("TRCD", "REGULAR", timing_settings.tRCD-1)
fsm.act("REGULAR",
If(self.refresh_req,
NextState("REFRESH")
@@ -140,3 +138,5 @@ def __init__(self, geom_settings, timing_settings, address_align, bankn, req):
track_close.eq(1),
If(~self.refresh_req, NextState("REGULAR"))
)
+ fsm.delayed_enter("TRP", "ACTIVATE", timing_settings.tRP-1)
+ fsm.delayed_enter("TRCD", "REGULAR", timing_settings.tRCD-1)
View
4 milkymist/lasmicon/multiplexer.py
@@ -149,8 +149,6 @@ def anti_starvation(timeout):
# Control FSM
fsm = FSM()
self.submodules += fsm
- fsm.delayed_enter("RTW", "WRITE", timing_settings.read_latency-1)
- fsm.delayed_enter("WTR", "READ", timing_settings.tWTR-1)
fsm.act("READ",
read_time_en.eq(1),
choose_req.want_reads.eq(1),
@@ -180,6 +178,8 @@ def anti_starvation(timeout):
steerer.sel[0].eq(STEER_REFRESH),
If(~refresher.req, NextState("READ"))
)
+ fsm.delayed_enter("RTW", "WRITE", timing_settings.read_latency-1)
+ fsm.delayed_enter("WTR", "READ", timing_settings.tWTR-1)
# FIXME: workaround for zero-delay loop simulation problem with Icarus Verilog
fsm.finalize()
self.comb += refresher.ack.eq(fsm.state == fsm.encoding["REFRESH"])

0 comments on commit d753c52

Please sign in to comment.