aboutsummaryrefslogtreecommitdiffstats
path: root/icebox/icebox.py
diff options
context:
space:
mode:
authorClifford Wolf <clifford@clifford.at>2017-03-11 11:06:53 +0100
committerClifford Wolf <clifford@clifford.at>2017-03-11 11:06:53 +0100
commitca19eafe7aaf881273af5f744924423b6ce3a5c0 (patch)
tree429c136200b76a4a3621e71f62c608365998b142 /icebox/icebox.py
parent1f1f10b7f08941b1fbffca51452888b8d08e56a0 (diff)
parente832acc445f64d1f9379eef8ef01576ccc0494b6 (diff)
downloadicestorm-ca19eafe7aaf881273af5f744924423b6ce3a5c0.tar.gz
icestorm-ca19eafe7aaf881273af5f744924423b6ce3a5c0.tar.bz2
icestorm-ca19eafe7aaf881273af5f744924423b6ce3a5c0.zip
Merge branch 'master' of https://github.com/hermitsoft/icestorm
Diffstat (limited to 'icebox/icebox.py')
-rw-r--r--icebox/icebox.py147
1 files changed, 106 insertions, 41 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py
index a39fa53..289f070 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -174,7 +174,7 @@ class iceconfig:
entries = list()
for x in range(self.max_x+1):
for y in range(self.max_y+1):
- src_y = None
+ src_y = None #Is ColBufCtrl relevant?
if 0 <= y <= 2: src_y = 2 #384?
if 3 <= y <= 4: src_y = 3 #384?
if 5 <= y <= 6: src_y = 6 #384?
@@ -250,7 +250,7 @@ class iceconfig:
if x == 0: return True
return False
-
+
if not 0 <= x <= self.max_x: return False
if not 0 <= y <= self.max_y: return False
return pos_has_net(self.tile_pos(x, y), netname)
@@ -1807,44 +1807,43 @@ ieren_db = {
(33, 31, 0, 33, 31, 0),
],
"384": [
- # IO-block (X, Y, Z) <-> IeRen-block (X, Y, Z)
- ( 0, 1, 0, 0, 0, 0), #384?
- ( 0, 1, 1, 0, 1, 0), #384?
- ( 0, 2, 0, 0, 2, 0), #384?
- ( 0, 2, 1, 0, 2, 0), #384?
- ( 0, 4, 0, 0, 4, 0), #384?
- ( 0, 4, 1, 0, 4, 0), #384?
- ( 0, 5, 0, 0, 5, 0), #384?
- ( 0, 5, 1, 0, 5, 0), #384?
- ( 0, 6, 0, 0, 6, 0), #384?
- ( 0, 6, 1, 0, 6, 0), #384?
- ( 0, 7, 0, 0, 7, 0), #384?
- ( 0, 7, 1, 0, 7, 0), #384?
- ( 2, 9, 0, 2, 9, 0), #384?
- ( 2, 9, 1, 2, 9, 0), #384?
- ( 3, 0, 0, 3, 0, 0), #384?
- ( 3, 0, 1, 3, 0, 0), #384?
- ( 3, 9, 0, 3, 9, 0), #384?
- ( 3, 9, 1, 3, 9, 0), #384?
- ( 4, 0, 0, 4, 0, 0), #384?
- ( 4, 0, 1, 4, 0, 0), #384?
- ( 4, 9, 0, 4, 9, 0), #384?
- ( 4, 9, 1, 4, 9, 0), #384?
- ( 5, 0, 0, 5, 0, 0), #384?
- ( 5, 0, 1, 5, 0, 0), #384?
- ( 5, 9, 0, 5, 9, 0), #384?
- ( 5, 9, 1, 5, 9, 0), #384?
- ( 6, 0, 0, 6, 0, 0), #384?
- ( 6, 0, 1, 6, 0, 0), #384?
- ( 6, 9, 0, 6, 9, 0), #384?
- ( 6, 9, 1, 6, 9, 0), #384?
- ( 7, 3, 1, 7, 3, 0), #384?
- ( 7, 4, 0, 7, 4, 0), #384?
- ( 7, 4, 1, 7, 4, 0), #384?
- ( 7, 5, 0, 7, 5, 0), #384?
- ( 7, 5, 1, 7, 5, 0), #384?
- ( 7, 6, 0, 7, 6, 0), #384?
- ( 7, 6, 1, 7, 6, 0), #384?
+ ( 0, 1, 0, 0, 1, 1),
+ ( 0, 1, 1, 0, 1, 0),
+ ( 0, 2, 0, 0, 2, 1),
+ ( 0, 2, 1, 0, 2, 0),
+ ( 0, 4, 0, 0, 4, 1),
+ ( 0, 4, 1, 0, 4, 0),
+ ( 0, 5, 0, 0, 5, 1),
+ ( 0, 5, 1, 0, 5, 0),
+ ( 0, 6, 0, 0, 6, 1),
+ ( 0, 6, 1, 0, 6, 0),
+ ( 0, 7, 0, 0, 7, 1),
+ ( 0, 7, 1, 0, 7, 0),
+ ( 2, 9, 0, 2, 9, 1),
+ ( 2, 9, 1, 2, 9, 0),
+ ( 3, 0, 0, 3, 0, 1),
+ ( 3, 0, 1, 3, 0, 0),
+ ( 3, 9, 0, 3, 9, 1),
+ ( 3, 9, 1, 3, 9, 0),
+ ( 4, 0, 0, 4, 0, 1),
+ ( 4, 0, 1, 4, 0, 0),
+ ( 4, 9, 0, 4, 9, 1),
+ ( 4, 9, 1, 4, 9, 0),
+ ( 5, 0, 0, 5, 0, 1),
+ ( 5, 0, 1, 5, 0, 0),
+ ( 5, 9, 0, 5, 9, 1),
+ ( 5, 9, 1, 5, 9, 0),
+ ( 6, 0, 0, 6, 0, 1),
+ ( 6, 0, 1, 6, 0, 0),
+ ( 6, 9, 0, 6, 9, 1),
+ ( 6, 9, 1, 6, 9, 0),
+ ( 7, 3, 1, 7, 3, 0),
+ ( 7, 4, 0, 7, 4, 1),
+ ( 7, 4, 1, 7, 4, 0),
+ ( 7, 5, 0, 7, 5, 1),
+ ( 7, 5, 1, 7, 5, 0),
+ ( 7, 6, 0, 7, 6, 1),
+ ( 7, 6, 1, 7, 6, 0),
],
}
@@ -3785,6 +3784,72 @@ pinloc_db = {
( "30", 3, 9, 1),
( "31", 2, 9, 0),
( "32", 2, 9, 1),
+ ],
+ "384-cm36": [
+ ( "A1", 0, 7, 0),
+ ( "A2", 2, 9, 1),
+ ( "A3", 3, 9, 1),
+ ( "B1", 0, 7, 1),
+ ( "B3", 4, 9, 0),
+ ( "B4", 7, 5, 0),
+ ( "B5", 7, 5, 1),
+ ( "B6", 7, 6, 0),
+ ( "C1", 0, 5, 0),
+ ( "C2", 0, 5, 1),
+ ( "C3", 2, 9, 0),
+ ( "C5", 7, 4, 1),
+ ( "C6", 7, 6, 1),
+ ( "D1", 0, 4, 1),
+ ( "D5", 6, 0, 1),
+ ( "D6", 7, 4, 0),
+ ( "E1", 0, 4, 0),
+ ( "E2", 3, 0, 1),
+ ( "E3", 4, 0, 0),
+ ( "E4", 5, 0, 0),
+ ( "E5", 6, 0, 0),
+ ( "E6", 7, 3, 1),
+ ( "F2", 3, 0, 0),
+ ( "F3", 4, 0, 1),
+ ( "F5", 5, 0, 1),
+ ],
+ "384-cm49": [
+ ( "A1", 0, 7, 1),
+ ( "A2", 2, 9, 1),
+ ( "A3", 3, 9, 0),
+ ( "A4", 4, 9, 1),
+ ( "A5", 5, 9, 0),
+ ( "A6", 6, 9, 0),
+ ( "A7", 6, 9, 1),
+ ( "B1", 0, 7, 0),
+ ( "B2", 0, 6, 0),
+ ( "B3", 2, 9, 0),
+ ( "B4", 4, 9, 0),
+ ( "C1", 0, 5, 1),
+ ( "C2", 0, 6, 1),
+ ( "C4", 3, 9, 1),
+ ( "C5", 7, 6, 1),
+ ( "C6", 7, 5, 1),
+ ( "C7", 7, 6, 0),
+ ( "D1", 0, 4, 0),
+ ( "D2", 0, 5, 0),
+ ( "D3", 0, 2, 0),
+ ( "D4", 5, 9, 1),
+ ( "D6", 7, 4, 1),
+ ( "D7", 7, 5, 0),
+ ( "E2", 0, 4, 1),
+ ( "E6", 6, 0, 1),
+ ( "E7", 7, 4, 0),
+ ( "F1", 0, 2, 1),
+ ( "F2", 0, 1, 0),
+ ( "F3", 3, 0, 1),
+ ( "F4", 4, 0, 0),
+ ( "F5", 5, 0, 0),
+ ( "F6", 6, 0, 0),
+ ( "F7", 7, 3, 1),
+ ( "G1", 0, 1, 1),
+ ( "G3", 3, 0, 0),
+ ( "G4", 4, 0, 1),
+ ( "G6", 5, 0, 1),
]
}
@@ -3831,7 +3896,7 @@ logictile_db.append([["B1[50]"], "CarryInSet"])
logictile_8k_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
logictile_8k_db.append([["B1[50]"], "CarryInSet"])
-logictile_384_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"]) #384?
+logictile_384_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"])
logictile_384_db.append([["B1[50]"], "CarryInSet"])
for db in [iotile_l_db, iotile_r_db, iotile_t_db, iotile_b_db, logictile_db, logictile_8k_db, logictile_384_db, rambtile_db, ramttile_db, rambtile_8k_db, ramttile_8k_db]: