made redunantmul generate DW02_multp for synopsys sythnesis

This commit is contained in:
Shreya Sanghai 2021-10-11 11:54:39 -07:00
parent 84ff2b49c7
commit 0acf9fd746
6 changed files with 14 additions and 6 deletions

View File

@ -30,6 +30,7 @@
`define QEMU 0 `define QEMU 0
`define BUILDROOT 0 `define BUILDROOT 0
`define BUSYBEAR 0 `define BUSYBEAR 0
`define DESIGN_COMPILER 0
// RV32 or RV64: XLEN = 32 or 64 // RV32 or RV64: XLEN = 32 or 64
`define XLEN 32 `define XLEN 32

View File

@ -30,6 +30,7 @@
`define QEMU 0 `define QEMU 0
`define BUILDROOT 0 `define BUILDROOT 0
`define BUSYBEAR 0 `define BUSYBEAR 0
`define DESIGN_COMPILER 0
// RV32 or RV64: XLEN = 32 or 64 // RV32 or RV64: XLEN = 32 or 64
`define XLEN 32 `define XLEN 32

View File

@ -31,6 +31,7 @@
`define QEMU 0 `define QEMU 0
`define BUILDROOT 0 `define BUILDROOT 0
`define BUSYBEAR 0 `define BUSYBEAR 0
`define DESIGN_COMPILER 0
// RV32 or RV64: XLEN = 32 or 64 // RV32 or RV64: XLEN = 32 or 64
`define XLEN 64 `define XLEN 64

View File

@ -30,6 +30,7 @@
`define QEMU 0 `define QEMU 0
`define BUILDROOT 0 `define BUILDROOT 0
`define BUSYBEAR 0 `define BUSYBEAR 0
`define DESIGN_COMPILER 0
// RV32 or RV64: XLEN = 32 or 64 // RV32 or RV64: XLEN = 32 or 64
`define XLEN 64 `define XLEN 64

View File

@ -30,6 +30,7 @@
`define QEMU 0 `define QEMU 0
`define BUILDROOT 0 `define BUILDROOT 0
`define BUSYBEAR 0 `define BUSYBEAR 0
`define DESIGN_COMPILER 0
// RV32 or RV64: XLEN = 32 or 64 // RV32 or RV64: XLEN = 32 or 64
`define XLEN 64 `define XLEN 64

View File

@ -25,16 +25,19 @@
`include "wally-config.vh" `include "wally-config.vh"
/* verilator lint_off UNOPTFLAT */
module redundantmul #(parameter WIDTH =8)( module redundantmul #(parameter WIDTH =8)(
input logic [WIDTH-1:0] a,b, input logic [WIDTH-1:0] a,b,
output logic [2*WIDTH-1:0] out0, out1); output logic [2*WIDTH-1:0] out0, out1);
assign out0 = 0; generate
assign out1 = a*b; if (`DESIGN_COMPILER == 1)
// DW02_multp #(`XLEN, `XLEN, 2*`XLEN) bigmul(.a(Aprime), .b(Bprime), .tc(1'b0), .out0(PP0E), .out1(PP1E)); DW02_multp #(WIDTH, WIDTH, 2*WIDTH) bigmul(.a, .b, .tc(1'b0), .out0, .out1);
else begin
assign out0 = 0;
assign out1 = a*b;
end
endgenerate
endmodule endmodule
/* verilator lint_on UNOPTFLAT */