aboutsummaryrefslogtreecommitdiffstats
path: root/ice40
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-06-20 20:12:23 +0200
committerDavid Shah <davey1576@gmail.com>2018-06-20 20:12:23 +0200
commitc27c96f4f0ec66d13bea7d7cdea25fbeb2e189b7 (patch)
tree72729c351eb49f6c75104f935309f752e491948b /ice40
parentc515e5da2df1003addc02ffa606f5bda1cf1f475 (diff)
downloadnextpnr-c27c96f4f0ec66d13bea7d7cdea25fbeb2e189b7.tar.gz
nextpnr-c27c96f4f0ec66d13bea7d7cdea25fbeb2e189b7.tar.bz2
nextpnr-c27c96f4f0ec66d13bea7d7cdea25fbeb2e189b7.zip
place_sa: Improvements including supporting force and ordering consistency
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ice40')
-rw-r--r--ice40/pack.cc4
-rwxr-xr-xice40/picorv32_arachne.sh4
2 files changed, 4 insertions, 4 deletions
diff --git a/ice40/pack.cc b/ice40/pack.cc
index 19f1e7bc..853f510e 100644
--- a/ice40/pack.cc
+++ b/ice40/pack.cc
@@ -244,8 +244,8 @@ static void set_net_constant(const Context *ctx, NetInfo *orig,
CellInfo *uc = user.cell;
log_info("%s user %s\n", orig->name.c_str(ctx),
uc->name.c_str(ctx));
- if (is_lut(ctx, uc) && (user.port.str(ctx).at(0) == 'I') &&
- !constval) {
+ if ((is_lut(ctx, uc) || is_lc(ctx, uc)) &&
+ (user.port.str(ctx).at(0) == 'I') && !constval) {
uc->ports[user.port].net = nullptr;
} else {
uc->ports[user.port].net = constnet;
diff --git a/ice40/picorv32_arachne.sh b/ice40/picorv32_arachne.sh
index 00cfe6a4..b3960fdc 100755
--- a/ice40/picorv32_arachne.sh
+++ b/ice40/picorv32_arachne.sh
@@ -3,7 +3,7 @@ set -ex
rm -f picorv32.v
wget https://raw.githubusercontent.com/cliffordwolf/picorv32/master/picorv32.v
yosys -p 'synth_ice40 -nocarry -blif picorv32.blif -top top' picorv32.v picorv32_top.v
-arachne-pnr -d 8k --post-place-blif picorv32_place.blif picorv32.blif
+arachne-pnr -d 8k --post-place-blif picorv32_place.blif picorv32.blif -o picorv32_arachne_all.asc
yosys -p "read_blif -wideports picorv32_place.blif; read_verilog -lib +/ice40/cells_sim.v; write_json picorv32_place.json"
./transform_arachne_loc.py picorv32_place.json > picorv32_place_nx.json
-../nextpnr-ice40 --hx8k --asc picorv32.asc --json picorv32_place_nx.json
+../nextpnr-ice40 --hx8k --asc picorv32_ar_placed.asc --json picorv32_place_nx.json --force