it's quite a complex state machine!
- BufferedPipeline2
- -----------------
+ SimpleHandshake
+ ---------------
- Synchronised pipeline
-
- Based on:
+ Synchronised pipeline, Based on:
https://github.com/ZipCPU/dbgbus/blob/master/hexbus/rtl/hbdeword.v
"""
return self.m
-class BufferedPipeline2(ControlBase):
- """ buffered pipeline stage. data and strobe signals travel in sync.
- if ever the input is ready and the output is not, processed data
- is shunted in a temporary register.
+class SimpleHandshake(ControlBase):
+ """ simple handshake control. data and strobe signals travel in sync.
+ implements the protocol used by Wishbone and AXI4.
Argument: stage. see Stage API above
from example_buf_pipe import PrevControl, NextControl, BufferedPipeline
from example_buf_pipe import StageChain, ControlBase, StageCls
from singlepipe import UnbufferedPipeline2
-from singlepipe import BufferedPipeline2
+from singlepipe import SimpleHandshake
from random import randint, seed
# Test 15
######################################################################
-class ExampleBufModeAdd1Pipe(BufferedPipeline2):
+class ExampleBufModeAdd1Pipe(SimpleHandshake):
def __init__(self):
stage = ExampleStageCls()
- BufferedPipeline2.__init__(self, stage)
+ SimpleHandshake.__init__(self, stage)
######################################################################