make qlq output q | q_int
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 24 May 2019 16:51:26 +0000 (17:51 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Fri, 24 May 2019 16:51:26 +0000 (17:51 +0100)
src/nmutil/latch.py

index 0833ae61b5a7137e5483b8e41d5884fb4273c824..fd28cd4a3be9bb89e33c8f50c86ce57b44014eb7 100644 (file)
@@ -37,11 +37,11 @@ class SRLatch(Elaboratable):
         self.r = Signal(reset=1) # defaults to off
         self.q = Signal(reset_less=True)
         self.qn = Signal(reset_less=True)
-        self.qlq = Signal()
+        self.qlq = Signal(reset_less=True)
 
     def elaborate(self, platform):
         m = Module()
-        q_int = self.qlq
+        q_int = Signal()
 
         if self.sync:
             with m.If(self.s):
@@ -62,6 +62,7 @@ class SRLatch(Elaboratable):
                 m.d.sync += q_int.eq(q_int)
                 m.d.comb += self.q.eq(q_int)
         m.d.comb += self.qn.eq(~self.q)
+        m.d.comb += self.qlq.eq(self.q | q_int) # useful output
 
         return m