run(stringf("hierarchy -check %s", top_opt.c_str()));
}
- if (check_label("coarse")) {
+ if (check_label("prepare")) {
run("proc");
if (flatten || help_mode)
run("flatten", "(with '-flatten')");
}
run("techmap -map +/cmp2lut.v -D LUT_WIDTH=6");
+ }
+ if (check_label("dsp")) {
if (!nodsp || help_mode) {
// NB: Xilinx multipliers are signed only
run("techmap -map +/mul2dsp.v -map +/xilinx/dsp_map.v -D DSP_A_MAXWIDTH=25 -D DSP_B_MAXWIDTH=18 -D DSP_SIGNEDONLY=1 -D DSP_NAME=$__MUL25X18", "(skip if '-nodsp')");
run("xilinx_dsp", " (skip if '-nodsp')");
run("chtype -set $mul t:$__soft_mul"," (skip if '-nodsp')");
}
+ }
+ if (check_label("coarse")) {
run("alumacc");
run("share");
run("opt");