aboutsummaryrefslogtreecommitdiffstats
path: root/manual/PRESENTATION_ExAdv/mulshift_map.v
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2014-02-16 22:31:53 +0100
committerClifford Wolf <clifford@clifford.at>2014-02-16 22:31:53 +0100
commit37cbb1ca60b03cbaaef5041db5f631b90a303f9a (patch)
treefb85bab67163a043495a9f7b1e941ae22c5ed511 /manual/PRESENTATION_ExAdv/mulshift_map.v
parent6d63f39eb6abbefd8a12f0fe081c33ef1638800c (diff)
downloadyosys-37cbb1ca60b03cbaaef5041db5f631b90a303f9a.tar.gz
yosys-37cbb1ca60b03cbaaef5041db5f631b90a303f9a.tar.bz2
yosys-37cbb1ca60b03cbaaef5041db5f631b90a303f9a.zip
Progress in presentation
Diffstat (limited to 'manual/PRESENTATION_ExAdv/mulshift_map.v')
-rw-r--r--manual/PRESENTATION_ExAdv/mulshift_map.v26
1 files changed, 26 insertions, 0 deletions
diff --git a/manual/PRESENTATION_ExAdv/mulshift_map.v b/manual/PRESENTATION_ExAdv/mulshift_map.v
new file mode 100644
index 000000000..4a3c2a062
--- /dev/null
+++ b/manual/PRESENTATION_ExAdv/mulshift_map.v
@@ -0,0 +1,26 @@
+module MYMUL(A, B, Y);
+ parameter WIDTH = 1;
+ input [WIDTH-1:0] A, B;
+ output reg [WIDTH-1:0] Y;
+
+ parameter _TECHMAP_CONSTVAL_A_ = WIDTH'bx;
+ parameter _TECHMAP_CONSTVAL_B_ = WIDTH'bx;
+
+ reg _TECHMAP_FAIL_;
+ wire [1023:0] _TECHMAP_DO_ = "proc; clean";
+
+ integer i;
+ always @* begin
+ _TECHMAP_FAIL_ <= 1;
+ for (i = 0; i < WIDTH; i=i+1) begin
+ if (_TECHMAP_CONSTVAL_A_ === WIDTH'd1 << i) begin
+ _TECHMAP_FAIL_ <= 0;
+ Y <= B << i;
+ end
+ if (_TECHMAP_CONSTVAL_B_ === WIDTH'd1 << i) begin
+ _TECHMAP_FAIL_ <= 0;
+ Y <= A << i;
+ end
+ end
+ end
+endmodule