* id_wid: an identifier that is sync-connected to the input
* single_cycle: True indicates each stage to complete in 1 clock
"""
- FPID.__init__(self, id_wid)
self.width = width
self.id_wid = id_wid
self.single_cycle = single_cycle
+ self.ids = FPID(id_wid)
self.in_a = FPOp(width)
self.in_b = FPOp(width)
self.out_z = FPOp(width)
ab = FPADDBase(self.width, self.id_wid, self.single_cycle)
ab = self.add_state(ab)
- ab.setup(m, a, b, getb.out_decode, self.in_mid,
- self.out_z, self.out_mid)
+ ab.setup(m, a, b, getb.out_decode, self.ids.in_mid,
+ self.out_z, self.ids.out_mid)
#pz = self.add_state(FPPutZ("put_z", ab.out_z, self.out_z,
# ab.out_mid, self.out_mid))
)
def get_case(dut, a, b, mid):
- yield dut.in_mid.eq(mid)
+ yield dut.ids.in_mid.eq(mid)
yield dut.in_a.v.eq(a)
yield dut.in_a.stb.eq(1)
yield
yield
continue
out_z = yield dut.out_z.v
- out_mid = yield dut.out_mid
+ out_mid = yield dut.ids.out_mid
yield dut.out_z.ack.eq(0)
yield
break