aboutsummaryrefslogtreecommitdiffstats
path: root/ecp5/trellis_import.py
diff options
context:
space:
mode:
authorDavid Shah <davey1576@gmail.com>2018-07-12 10:09:56 +0200
committerDavid Shah <davey1576@gmail.com>2018-07-12 10:09:56 +0200
commit9e06954edb1071b4ef2e7ebc525d8c6de42d0fc3 (patch)
tree4132ddeaed634bd041ebc500d46cb7f70493bf59 /ecp5/trellis_import.py
parentb58d665b43dae745b6aee4c56106a45f48379220 (diff)
downloadnextpnr-9e06954edb1071b4ef2e7ebc525d8c6de42d0fc3.tar.gz
nextpnr-9e06954edb1071b4ef2e7ebc525d8c6de42d0fc3.tar.bz2
nextpnr-9e06954edb1071b4ef2e7ebc525d8c6de42d0fc3.zip
ecp5: Improving SLICE bel
Signed-off-by: David Shah <davey1576@gmail.com>
Diffstat (limited to 'ecp5/trellis_import.py')
-rwxr-xr-xecp5/trellis_import.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/ecp5/trellis_import.py b/ecp5/trellis_import.py
index 5fdd7296..5eca057a 100755
--- a/ecp5/trellis_import.py
+++ b/ecp5/trellis_import.py
@@ -124,14 +124,43 @@ def add_slice(x, y, z):
add_bel_input(x, y, idx, "LSR", x, y, "LSR{}_SLICE".format(z))
add_bel_input(x, y, idx, "CE", x, y, "CE{}_SLICE".format(z))
+ add_bel_input(x, y, idx, "DI0", x, y, "DI{}_SLICE".format(lc0))
+ add_bel_input(x, y, idx, "DI1", x, y, "DI{}_SLICE".format(lc1))
+
+ if z == 0 or z == 1:
+ add_bel_input(x, y, idx, "WD0", x, y, "WD0{}_SLICE".format(l))
+ add_bel_input(x, y, idx, "WD1", x, y, "WD1{}_SLICE".format(l))
+
+ add_bel_input(x, y, idx, "WAD0", x, y, "WAD0{}_SLICE".format(l))
+ add_bel_input(x, y, idx, "WAD1", x, y, "WAD1{}_SLICE".format(l))
+ add_bel_input(x, y, idx, "WAD2", x, y, "WAD2{}_SLICE".format(l))
+ add_bel_input(x, y, idx, "WAD3", x, y, "WAD3{}_SLICE".format(l))
+
+ add_bel_input(x, y, idx, "WRE", x, y, "WRE{}_SLICE".format(z))
+ add_bel_input(x, y, idx, "WCK", x, y, "WCK{}_SLICE".format(z))
+
add_bel_output(x, y, idx, "F0", x, y, "F{}_SLICE".format(lc0))
add_bel_output(x, y, idx, "Q0", x, y, "Q{}_SLICE".format(lc0))
add_bel_output(x, y, idx, "F1", x, y, "F{}_SLICE".format(lc1))
add_bel_output(x, y, idx, "Q1", x, y, "Q{}_SLICE".format(lc1))
+ add_bel_output(x, y, idx, "OFX0", x, y, "F5{}_SLICE".format(l))
+ add_bel_output(x, y, idx, "OFX1", x, y, "FX{}_SLICE".format(l))
+
add_bel_output(x, y, idx, "FCO", x, y, "FCO{}_SLICE".format(l if z < 3 else ""))
+ if z == 2:
+ add_bel_output(x, y, idx, "WDO0", x, y, "WDO0C_SLICE")
+ add_bel_output(x, y, idx, "WDO1", x, y, "WDO1C_SLICE")
+ add_bel_output(x, y, idx, "WDO2", x, y, "WDO2C_SLICE")
+ add_bel_output(x, y, idx, "WDO3", x, y, "WDO3C_SLICE")
+
+ add_bel_output(x, y, idx, "WADO0", x, y, "WADO0C_SLICE")
+ add_bel_output(x, y, idx, "WADO1", x, y, "WADO1C_SLICE")
+ add_bel_output(x, y, idx, "WADO2", x, y, "WADO2C_SLICE")
+ add_bel_output(x, y, idx, "WADO3", x, y, "WADO3C_SLICE")
+
def add_pio(x, y, z):
idx = len(loc_bels[x, y])