diff options
author | Clifford Wolf <clifford@clifford.at> | 2016-05-29 12:17:36 +0200 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2016-05-29 12:17:36 +0200 |
commit | 11f7b8a2a1dd6e5c47e8081e4485127331fd80be (patch) | |
tree | 63343bbce2a0c7a6f1598301b13d375e0a3ff7e9 /tests | |
parent | 766032c5f85e33c8aabb69d1868c3493f254695f (diff) | |
download | yosys-11f7b8a2a1dd6e5c47e8081e4485127331fd80be.tar.gz yosys-11f7b8a2a1dd6e5c47e8081e4485127331fd80be.tar.bz2 yosys-11f7b8a2a1dd6e5c47e8081e4485127331fd80be.zip |
Added opt_expr support for div/mod by power-of-two
Diffstat (limited to 'tests')
-rw-r--r-- | tests/simple/constmuldivmod.v | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/simple/constmuldivmod.v b/tests/simple/constmuldivmod.v new file mode 100644 index 000000000..d1d8be862 --- /dev/null +++ b/tests/simple/constmuldivmod.v @@ -0,0 +1,27 @@ +module constmuldivmod(input [7:0] A, input [2:0] mode, output reg [7:0] Y); + always @* begin + case (mode) + 0: Y = A / 8'd0; + 1: Y = A % 8'd0; + 2: Y = A * 8'd0; + + 3: Y = A / 8'd1; + 4: Y = A % 8'd1; + 5: Y = A * 8'd1; + + 6: Y = A / 8'd2; + 7: Y = A % 8'd2; + 8: Y = A * 8'd2; + + 9: Y = A / 8'd4; + 10: Y = A % 8'd4; + 11: Y = A * 8'd4; + + 12: Y = A / 8'd8; + 13: Y = A % 8'd8; + 14: Y = A * 8'd8; + + default: Y = 8'd16 * A; + endcase + end +endmodule |