This allows avoiding techmap crashes e.g. because of large memories
in white-box cell models.
if ((!techmap_opts.empty() || help_mode) && check_label("techmap", "(only with -map)"))
{
+ string opts;
if (help_mode)
- run("techmap -autoproc -map <filename> ...");
+ opts = " -map <filename> ...";
else
- run("techmap -autoproc" + techmap_opts);
+ opts = techmap_opts;
+ run("techmap -D EQUIV -autoproc" + opts);
}
if (check_label("prove"))
output reg [15:0] DATAOUT
);
`ifndef BLACKBOX
+`ifndef EQUIV
reg [15:0] mem [0:16383];
wire off = SLEEP || !POWEROFF;
integer i;
end
end
`endif
+`endif
endmodule
(* blackbox *)
+++ /dev/null
-module SB_CARRY (output CO, input I0, I1, CI);
- assign CO = (I0 && I1) || ((I0 || I1) && CI);
-endmodule
read_verilog opt_lut.v
synth_ice40
ice40_unlut
-equiv_opt -map ice40_carry.v -assert opt_lut -dlogic SB_CARRY:I0=1:I1=2:CI=3
+equiv_opt -map +/ice40/cells_sim.v -assert opt_lut -dlogic SB_CARRY:I0=1:I1=2:CI=3