update comments
[ieee754fpu.git] / src / add / fpcommon / normtopack.py
index 2eb4459255e62bb93aa762d2057b2a3a7a80d078..87d08125f8723738db9177b4275f2c542b4967d2 100644 (file)
@@ -2,17 +2,9 @@
 # Copyright (C) Jonathan P Dawson 2013
 # 2013-12-12
 
-from nmigen import Module, Signal, Cat, Mux, Array, Const
-from nmigen.lib.coding import PriorityEncoder
-from nmigen.cli import main, verilog
-from math import log
-
-from fpbase import FPNumIn, FPNumOut, FPOp, Overflow, FPBase, FPNumBase
-from fpbase import MultiShiftRMerge, Trigger
-from singlepipe import (ControlBase, StageChain, UnbufferedPipeline,
-                        PassThroughStage)
-from multipipe import CombMuxOutPipe
-from multipipe import PriorityCombMuxInPipe
+#from nmigen.cli import main, verilog
+
+from singlepipe import StageChain, SimpleHandshake
 
 from fpbase import FPState, FPID
 from fpcommon.postcalc import FPAddStage1Data
@@ -22,13 +14,13 @@ from fpcommon.corrections import FPCorrectionsMod
 from fpcommon.pack import FPPackData, FPPackMod
 
 
-class FPNormToPack(FPState, UnbufferedPipeline):
+class FPNormToPack(FPState, SimpleHandshake):
 
     def __init__(self, width, id_wid):
         FPState.__init__(self, "normalise_1")
         self.id_wid = id_wid
         self.width = width
-        UnbufferedPipeline.__init__(self, self) # pipeline is its own stage
+        SimpleHandshake.__init__(self, self) # pipeline is its own stage
 
     def ispec(self):
         return FPAddStage1Data(self.width, self.id_wid) # Norm1ModSingle ispec
@@ -45,7 +37,8 @@ class FPNormToPack(FPState, UnbufferedPipeline):
         rmod = FPRoundMod(self.width, self.id_wid)
         cmod = FPCorrectionsMod(self.width, self.id_wid)
         pmod = FPPackMod(self.width, self.id_wid)
-        chain = StageChain([nmod, rmod, cmod, pmod])
+        stages = [nmod, rmod, cmod, pmod]
+        chain = StageChain(stages)
         chain.setup(m, i)
         self.out_z = pmod.ospec()