From 55e56bd7eb741136b60a56b3ff11470410862b81 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Tue, 16 Jul 2019 10:54:05 +0100 Subject: [PATCH] add FPADD stack documentation --- src/ieee754/fpadd/pipeline.py | 36 ++++++++++++++++++++++++++++++++--- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/src/ieee754/fpadd/pipeline.py b/src/ieee754/fpadd/pipeline.py index 9a7820f7..9c51c3ca 100644 --- a/src/ieee754/fpadd/pipeline.py +++ b/src/ieee754/fpadd/pipeline.py @@ -1,6 +1,36 @@ -# IEEE Floating Point Adder (Single Precision) -# Copyright (C) Jonathan P Dawson 2013 -# 2013-12-12 +"""IEEE Floating Point Adder Pipeline + +Relevant bugreport: http://bugs.libre-riscv.org/show_bug.cgi?id=75 + +Stack looks like this: + +* scnorm - FPMulSpecialCasesDeNorm +* addalign - FPAddAlignSingleAdd +* normpack - FPNormToPack + +scnorm - FPDIVSpecialCasesDeNorm ispec FPADDBaseData +------ ospec FPSCData + + StageChain: FPMULSpecialCasesMod, + FPAddDeNormMod + FPAlignModSingle + +addalign - FPAddAlignSingleAdd ispec FPSCData +-------- ospec FPAddStage1Data + + StageChain: FPAddAlignSingleMod + FPAddStage0Mod + FPAddStage1Mod + +normpack - FPNormToPack ispec FPAddStage1Data +-------- ospec FPPackData + + StageChain: Norm1ModSingle, + RoundMod, + CorrectionsMod, + PackMod + +""" from nmigen import Module from nmigen.cli import main, verilog -- 2.30.2