add code comments
authorLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 28 Jul 2019 19:43:58 +0000 (20:43 +0100)
committerLuke Kenneth Casson Leighton <lkcl@lkcl.net>
Sun, 28 Jul 2019 19:43:58 +0000 (20:43 +0100)
src/ieee754/fcvt/pipeline.py

index 8f449c8b3e813424ee9f0b19cb20838e1a792a2c..41ae9a9ae8ceed4d5bb35a52108ef18f79fcaa2e 100644 (file)
@@ -110,6 +110,7 @@ class FPCVTFloatToIntMod(Elaboratable):
             with m.Else():
                 m.d.comb += self.o.z.eq((1<<mz)-1) # NaN overflow
 
+        # zero exponent: definitely out of range of INT.  zero...
         with m.Elif(a1.exp_n127):
             m.d.comb += self.o.z.eq(0)
 
@@ -160,8 +161,9 @@ class FPCVTFloatToIntMod(Elaboratable):
             with m.Else():
                 m.d.comb += mround.eq(msr.m_out[3:])
 
+            # check sign
             with m.If(signed & a1.s):
-                m.d.comb += self.o.z.eq(-mround)
+                m.d.comb += self.o.z.eq(-mround) # inverted
             with m.Else():
                 m.d.comb += self.o.z.eq(mround)