示例#1
0
 def make(self):
     i = self.get_inputs()
     word_size = len(i.q)
     flip = FlipFlop(q=i.q, clk=i.clk)
     c_gate = AND(a=Bus.vdd(), b=i.c)
     adder = cb.CPA(a=flip.q, b=c_gate.y.zero_extend(flip.q))
     reset_mux = cb.BaseMux(d0=adder.s, d1=Bus.gnd(adder.s), s=i.r)
     flip.connect(d=reset_mux.y)
     self.set_outputs(q=flip.q)
示例#2
0
 def make(self):
     i = self.get_inputs()
     #have nice defaults without user intervention
     not_e = INV(a=i.e).y
     l_mux = cb.BaseMux(d0=i.d, s=i.l)
     reset_mux = cb.BaseMux(d0=l_mux.y, d1=Bus.gnd(i.d), s=i.r)
     dflip = DFlipFlop(d=reset_mux.y, clk=i.clk)
     l_mux.connect(d1=dflip.q)
     self.set_tristate(q=not_e)
     self.set_outputs(q=dflip.q)