mirror of https://github.com/YosysHQ/yosys.git
Added synth_ice40 support for latches via logic loops
This commit is contained in:
parent
d10dfccabb
commit
6fe3d5a1cf
|
@ -23,6 +23,7 @@ techlibs/ice40/brams_init3.vh: techlibs/ice40/brams_init.mk
|
||||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/arith_map.v))
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/arith_map.v))
|
||||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_map.v))
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_map.v))
|
||||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_sim.v))
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/cells_sim.v))
|
||||||
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/latches_map.v))
|
||||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams.txt))
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams.txt))
|
||||||
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams_map.v))
|
$(eval $(call add_share_file,share/ice40,techlibs/ice40/brams_map.v))
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,11 @@
|
||||||
|
module \$_DLATCH_N_ (E, D, Q);
|
||||||
|
wire [1023:0] _TECHMAP_DO_ = "simplemap; opt";
|
||||||
|
input E, D;
|
||||||
|
output Q = !E ? D : Q;
|
||||||
|
endmodule
|
||||||
|
|
||||||
|
module \$_DLATCH_P_ (E, D, Q);
|
||||||
|
wire [1023:0] _TECHMAP_DO_ = "simplemap; opt";
|
||||||
|
input E, D;
|
||||||
|
output Q = E ? D : Q;
|
||||||
|
endmodule
|
|
@ -214,6 +214,7 @@ struct SynthIce40Pass : public ScriptPass
|
||||||
run("abc", " (only if -abc2)");
|
run("abc", " (only if -abc2)");
|
||||||
run("ice40_opt", "(only if -abc2)");
|
run("ice40_opt", "(only if -abc2)");
|
||||||
}
|
}
|
||||||
|
run("techmap -map +/ice40/latches_map.v");
|
||||||
run("abc -lut 4");
|
run("abc -lut 4");
|
||||||
run("clean");
|
run("clean");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue