Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: m-labs/nmigen
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: d6e98fd93408
Choose a base ref
...
head repository: m-labs/nmigen
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 34b81d0b8720
Choose a head ref
  • 1 commit
  • 1 file changed
  • 1 contributor

Commits on Dec 18, 2018

  1. Copy the full SHA
    34b81d0 View commit details
Showing with 7 additions and 0 deletions.
  1. +7 −0 nmigen/back/pysim.py
7 changes: 7 additions & 0 deletions nmigen/back/pysim.py
Original file line number Diff line number Diff line change
@@ -539,6 +539,13 @@ def _commit_sync_signals(self, domains):
del self._wait_tick[process]
self._suspended.remove(process)

# Immediately run the process. It is important that this happens here,
# and not on the next step, when all the processes will run anyway,
# because Tick() simulates an edge triggered process. Like DFFs that latch
# a value from the previous clock cycle, simulator processes observe signal
# values from the previous clock cycle on a tick, too.
self._run_process(process)

# Unless handling synchronous logic above has triggered more synchronous logic (which
# can happen e.g. if a domain is clocked off a clock divisor in fabric), we're done.
# Otherwise, do one more round of updates.