aboutsummaryrefslogtreecommitdiffstats
path: root/nexus/pack.cc
diff options
context:
space:
mode:
authorDavid Shah <dave@ds0.me>2020-10-03 15:00:45 +0100
committerDavid Shah <dave@ds0.me>2020-11-30 08:45:27 +0000
commite54aa836a4b56462497e354b3a94472c49312c68 (patch)
tree69d11794598c34d0526cdaa2cfb4fe59418d435b /nexus/pack.cc
parent2b13b24cbe8e0a8bfb6e19e54258ccd95a6cee6f (diff)
downloadnextpnr-e54aa836a4b56462497e354b3a94472c49312c68.tar.gz
nextpnr-e54aa836a4b56462497e354b3a94472c49312c68.tar.bz2
nextpnr-e54aa836a4b56462497e354b3a94472c49312c68.zip
nexus: Updates
Signed-off-by: David Shah <dave@ds0.me>
Diffstat (limited to 'nexus/pack.cc')
-rw-r--r--nexus/pack.cc16
1 files changed, 15 insertions, 1 deletions
diff --git a/nexus/pack.cc b/nexus/pack.cc
index 35d67fb0..46295597 100644
--- a/nexus/pack.cc
+++ b/nexus/pack.cc
@@ -208,6 +208,20 @@ struct NexusPacker
lut_rules[id_LUT4].new_type = id_OXIDE_COMB;
lut_rules[id_LUT4].port_xform[id_Z] = id_F;
lut_rules[id_LUT4].parse_params.emplace_back(id_INIT, id_INIT, 16, 0);
+
+ lut_rules[id_INV].new_type = id_OXIDE_COMB;
+ lut_rules[id_INV].port_xform[id_Z] = id_F;
+ lut_rules[id_INV].port_xform[id_A] = id_A;
+ lut_rules[id_INV].set_params.emplace_back(id_INIT, 0x5555);
+
+ lut_rules[id_VHI].new_type = id_OXIDE_COMB;
+ lut_rules[id_VHI].port_xform[id_Z] = id_F;
+ lut_rules[id_VHI].set_params.emplace_back(id_INIT, 0xFFFF);
+
+ lut_rules[id_VLO].new_type = id_OXIDE_COMB;
+ lut_rules[id_VLO].port_xform[id_Z] = id_F;
+ lut_rules[id_VLO].set_params.emplace_back(id_INIT, 0x0000);
+
generic_xform(lut_rules);
}
@@ -308,4 +322,4 @@ void Arch::assignCellInfo(CellInfo *cell)
}
}
-NEXTPNR_NAMESPACE_END \ No newline at end of file
+NEXTPNR_NAMESPACE_END