Skip to content

Commit fc35315

Browse files
Merge pull request #423 from awaisabbas006/eda-3287
Fix for EDA-3310, set all dsp params
2 parents c1a41a5 + a953067 commit fc35315

File tree

2 files changed

+11
-3
lines changed

2 files changed

+11
-3
lines changed

src/rs-dsp-multadd.cc

+11-2
Original file line numberDiff line numberDiff line change
@@ -272,14 +272,23 @@ struct RsDspMultAddWorker
272272
cell_muladd->setPort(RTLIL::escape_id("unsigned_b_i"),mult_coeff->getParam(ID::B_SIGNED).as_bool()?RTLIL::S0:RTLIL::S1);
273273
}
274274
else if (mult_coeff->getPort(ID::B).is_fully_const()){
275-
cell_muladd->setParam(RTLIL::escape_id("COEFF_0"), mult_coeff->getPort(ID::B).as_const());
275+
RTLIL::Const coeff_0 = const_or(RTLIL::Const(RTLIL::S0,tgt_a_width), mult_coeff->getPort(ID::B).as_const(), false, false, tgt_a_width);
276+
cell_muladd->setParam(RTLIL::escape_id("COEFF_0"), coeff_0);
277+
278+
cell_muladd->setParam(RTLIL::escape_id("COEFF_1"), RTLIL::Const(RTLIL::S0,tgt_a_width));
279+
cell_muladd->setParam(RTLIL::escape_id("COEFF_2"), RTLIL::Const(RTLIL::S0,tgt_a_width));
280+
cell_muladd->setParam(RTLIL::escape_id("COEFF_3"), RTLIL::Const(RTLIL::S0,tgt_a_width));
276281
sig_b = mult_coeff->getPort(ID::A);
277282
cell_muladd->setPort(RTLIL::escape_id("b_i"), sig_b);
278283
cell_muladd->setPort(RTLIL::escape_id("a_i"), sig_a);
279284
cell_muladd->setPort(RTLIL::escape_id("unsigned_b_i"),mult_coeff->getParam(ID::A_SIGNED).as_bool()?RTLIL::S0:RTLIL::S1);
280285
}
281286
else{
282-
cell_muladd->setParam(RTLIL::escape_id("COEFF_0"), mult_coeff->getPort(ID::A).as_const());
287+
RTLIL::Const coeff_0 = const_or(RTLIL::Const(RTLIL::S0,tgt_a_width), mult_coeff->getPort(ID::A).as_const(), false, false, tgt_a_width);
288+
cell_muladd->setParam(RTLIL::escape_id("COEFF_0"), coeff_0);
289+
cell_muladd->setParam(RTLIL::escape_id("COEFF_1"), RTLIL::Const(RTLIL::S0,tgt_a_width));
290+
cell_muladd->setParam(RTLIL::escape_id("COEFF_2"), RTLIL::Const(RTLIL::S0,tgt_a_width));
291+
cell_muladd->setParam(RTLIL::escape_id("COEFF_3"), RTLIL::Const(RTLIL::S0,tgt_a_width));
283292
sig_b = mult_coeff->getPort(ID::B);
284293
cell_muladd->setPort(RTLIL::escape_id("b_i"), sig_b);
285294
cell_muladd->setPort(RTLIL::escape_id("a_i"), sig_a);

src/rs-pack-dsp-regs.cc

-1
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,6 @@ struct RsPackDspRegsWorker
368368
if (!gen)
369369
{
370370
DSP_RST_POL = it_dsp->getParam(RTLIL::escape_id("DSP_RST_POL"));
371-
log("DSP_Reset value = %d\n", DSP_RST_POL.as_int());
372371
if ((ignore_dsp) && !(DSP_RST_POL.as_int()))
373372
continue;
374373
// if DSP data ports is driven from DFFs add it in vector

0 commit comments

Comments
 (0)