diff options
author | Clifford Wolf <clifford@clifford.at> | 2016-01-26 00:39:25 +0100 |
---|---|---|
committer | Clifford Wolf <clifford@clifford.at> | 2016-01-26 00:39:25 +0100 |
commit | 4fb1bfd2df4188a9563c4b9cbca1355ae4339f56 (patch) | |
tree | 3466a2e546a05c257e151f837e3499cbc069ca2b /icetime | |
parent | cdb0b22476c107c3b0a1f738b3f2ec6f8e3dd6e9 (diff) | |
download | icestorm-4fb1bfd2df4188a9563c4b9cbca1355ae4339f56.tar.gz icestorm-4fb1bfd2df4188a9563c4b9cbca1355ae4339f56.tar.bz2 icestorm-4fb1bfd2df4188a9563c4b9cbca1355ae4339f56.zip |
icetime progress
Diffstat (limited to 'icetime')
-rw-r--r-- | icetime/icetime.cc | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/icetime/icetime.cc b/icetime/icetime.cc index 4477ccc..a6325f0 100644 --- a/icetime/icetime.cc +++ b/icetime/icetime.cc @@ -670,7 +670,7 @@ struct TimingAnalysis continue; if (driver_type == "LogicCell40" && driver_port == "carryout") { - if (inport == "in0" || inport == "in3") + if (inport == "in0" || inport == "in3" || inport == "ce" || inport == "sr") continue; } @@ -1269,7 +1269,7 @@ void make_seg_cell(int net, const net_segment_t &seg) return; } - if (seg.name == "lutff_global/clk") + if (seg.name == "lutff_global/clk" || seg.name == "lutff_global/cen" || seg.name == "lutff_global/s_r") { for (int i = 0; i < 8; i++) { @@ -1277,10 +1277,22 @@ void make_seg_cell(int net, const net_segment_t &seg) continue; std::tuple<int, int, std::string> key(seg.x, seg.y, stringf("lutff_%d/out", i)); - if (x_y_name_net.count(key)) { + if (x_y_name_net.count(key)) + { auto cell = make_lc40(seg.x, seg.y, i); - make_inmux(seg.x, seg.y, net, "ClkMux"); - netlist_cell_ports[cell]["clk"] = net_name(seg.net); + + if (seg.name == "lutff_global/clk") { + make_inmux(seg.x, seg.y, net, "ClkMux"); + netlist_cell_ports[cell]["clk"] = net_name(seg.net); + } + if (seg.name == "lutff_global/cen") { + make_inmux(seg.x, seg.y, net, "CEMux"); + netlist_cell_ports[cell]["ce"] = net_name(seg.net); + } + if (seg.name == "lutff_global/s_r") { + make_inmux(seg.x, seg.y, net, "SRMux"); + netlist_cell_ports[cell]["sr"] = net_name(seg.net); + } } } return; @@ -1816,12 +1828,14 @@ int main(int argc, char **argv) exit(1); } } + break; case 'r': frpt = fopen(optarg, "w"); if (frpt == nullptr) { perror("Can't open report file"); exit(1); } + break; case 'm': max_span_hack = true; break; |