pbernardi
Full Member level 3
- Joined
- Nov 21, 2013
- Messages
- 154
- Helped
- 30
- Reputation
- 60
- Reaction score
- 31
- Trophy points
- 1,308
- Activity points
- 2,962
Hello All,
I would like to make a signed multiplied on Verilog, using an Spartan-6.
Spartan-6 has the DSP48A1 multiplier, that is able to make a pre-sum, and a post-sum. Meaning I can write the following code:
And the ISE will synthesize a DSP48A1 multiplier.
According the UG389, however, they say that the pre and post operator can be positive or negative; however, I cannot think a way to describe it. What I want is, with two more wires (S1 and S2), make the following:
where S1 and S2 will indicate if the operators are negative or positive. DSP48A1 support this natively, so no additional hardware should be synthesized.
Any ideas?
I would like to make a signed multiplied on Verilog, using an Spartan-6.
Spartan-6 has the DSP48A1 multiplier, that is able to make a pre-sum, and a post-sum. Meaning I can write the following code:
Code:
wire [15:0] A, B, C, D;
wire [31:0] MUL = ((A + B) * C) + D;
And the ISE will synthesize a DSP48A1 multiplier.
According the UG389, however, they say that the pre and post operator can be positive or negative; however, I cannot think a way to describe it. What I want is, with two more wires (S1 and S2), make the following:
Code:
wire [15:0] A, B, C, D;
wire S1, S2;
wire [31:0] MUL = ((A +- B) * C) +- D;
where S1 and S2 will indicate if the operators are negative or positive. DSP48A1 support this natively, so no additional hardware should be synthesized.
Any ideas?