aboutsummaryrefslogtreecommitdiffstats
path: root/passes/pmgen
diff options
context:
space:
mode:
authorEddie Hung <eddie@fpgeh.com>2019-09-19 21:57:11 -0700
committerEddie Hung <eddie@fpgeh.com>2019-09-19 21:57:11 -0700
commit34f9a8ceb285b6b59f24f994d3a877d5f4f09572 (patch)
tree5d3b6daae24285f10c354614d82de14b94c6c594 /passes/pmgen
parent691686f92c011a94a649ae7ecc2f4f22b758fc12 (diff)
downloadyosys-34f9a8ceb285b6b59f24f994d3a877d5f4f09572.tar.gz
yosys-34f9a8ceb285b6b59f24f994d3a877d5f4f09572.tar.bz2
yosys-34f9a8ceb285b6b59f24f994d3a877d5f4f09572.zip
Update doc for ice40_dsp
Diffstat (limited to 'passes/pmgen')
-rw-r--r--passes/pmgen/ice40_dsp.cc11
1 files changed, 10 insertions, 1 deletions
diff --git a/passes/pmgen/ice40_dsp.cc b/passes/pmgen/ice40_dsp.cc
index ed3577400..2d264a6d1 100644
--- a/passes/pmgen/ice40_dsp.cc
+++ b/passes/pmgen/ice40_dsp.cc
@@ -283,9 +283,18 @@ struct Ice40DspPass : public Pass {
log("\n");
log(" ice40_dsp [options] [selection]\n");
log("\n");
- log("Map multipliers and multiply-accumulate blocks to iCE40 DSP resources.\n");
+ log("Map multipliers ($mul/SB_MAC16) and multiply-accumulate ($mul/SB_MAC16 + $add)\n");
+ log("cells into iCE40 DSP resources.\n");
log("Currently, only the 16x16 multiply mode is supported and not the 2 x 8x8 mode.\n");
log("\n");
+ log("Pack input registers (A, B, {C,D}; with optional hold/reset), pipeline registers\n");
+ log("({F,J,K,G}, H; with shared reset), output registers (O; with optional hold/reset),\n");
+ log("and post-adder into the SB_MAC16 resource.\n");
+ log("\n");
+ log("Multiply-accumulate operations using the post-adder with feedback on the {C,D}\n");
+ log("input will be folded into the DSP. In this scenario only, resetting the\n");
+ log("the accumulator to an arbitrary value can be inferred to use the {C,D} input.\n");
+ log("\n");
}
void execute(std::vector<std::string> args, RTLIL::Design *design) YS_OVERRIDE
{