diff options
author | David Shah <davey1576@gmail.com> | 2018-07-18 09:35:40 +0200 |
---|---|---|
committer | David Shah <davey1576@gmail.com> | 2018-07-18 09:35:40 +0200 |
commit | f138368e343d0d69b6e1f74d44e13d7097999de6 (patch) | |
tree | 4029320dd0b01010d72740b137b3ebc5bf398f7b /ecp5/cells.cc | |
parent | edf7bd09cf2a27fa1ada1a1e34cbe47c4bf0d48a (diff) | |
download | nextpnr-f138368e343d0d69b6e1f74d44e13d7097999de6.tar.gz nextpnr-f138368e343d0d69b6e1f74d44e13d7097999de6.tar.bz2 nextpnr-f138368e343d0d69b6e1f74d44e13d7097999de6.zip |
ecp5: Add simple constant packer
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ecp5/cells.cc')
-rw-r--r-- | ecp5/cells.cc | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/ecp5/cells.cc b/ecp5/cells.cc index 59504735..22e6a8dc 100644 --- a/ecp5/cells.cc +++ b/ecp5/cells.cc @@ -116,6 +116,14 @@ std::unique_ptr<CellInfo> create_ecp5_cell(Context *ctx, IdString type, std::str add_port(ctx, new_cell.get(), "I", PORT_IN); add_port(ctx, new_cell.get(), "T", PORT_IN); add_port(ctx, new_cell.get(), "O", PORT_OUT); + } else if (type == ctx->id("LUT4")) { + new_cell->params[ctx->id("INIT")] = "0"; + + add_port(ctx, new_cell.get(), "A", PORT_IN); + add_port(ctx, new_cell.get(), "B", PORT_IN); + add_port(ctx, new_cell.get(), "C", PORT_IN); + add_port(ctx, new_cell.get(), "D", PORT_IN); + add_port(ctx, new_cell.get(), "Z", PORT_OUT); } else { log_error("unable to create ECP5 cell of type %s", type.c_str(ctx)); } |