aboutsummaryrefslogtreecommitdiffstats
path: root/icebox
diff options
context:
space:
mode:
authorhermitsoft <hermisu@mail.com>2017-03-08 17:45:18 +0100
committerhermitsoft <hermisu@mail.com>2017-03-08 17:45:18 +0100
commit1a50795c2da3fd31ad021c8cfc03b1fead66e6c1 (patch)
tree769606c8fd1072e33ffa8ce7ccb326bbf7284212 /icebox
parent3099287094efad72a134601f99b11cf2049a409a (diff)
downloadicestorm-1a50795c2da3fd31ad021c8cfc03b1fead66e6c1.tar.gz
icestorm-1a50795c2da3fd31ad021c8cfc03b1fead66e6c1.tar.bz2
icestorm-1a50795c2da3fd31ad021c8cfc03b1fead66e6c1.zip
filled LP384 fields in icebox.py but data needs refinement
Diffstat (limited to 'icebox')
-rw-r--r--icebox/icebox.py89
1 files changed, 81 insertions, 8 deletions
diff --git a/icebox/icebox.py b/icebox/icebox.py
index 2c4236c..35cd27a 100644
--- a/icebox/icebox.py
+++ b/icebox/icebox.py
@@ -169,7 +169,19 @@ class iceconfig:
if 25 <= y <= 33: src_y = 25
entries.append((x, src_y, x, y))
return entries
-#384?
+
+ if self.device == "384":
+ entries = list()
+ for x in range(self.max_x+1):
+ for y in range(self.max_y+1):
+ src_y = None
+ if 0 <= y <= 2: src_y = 2 #384?
+ if 3 <= y <= 4: src_y = 3 #384?
+ if 5 <= y <= 6: src_y = 6 #384?
+ if 7 <= y <= 9: src_y = 7 #384?
+ entries.append((x, src_y, x, y))
+ return entries
+
assert False
def tile_db(self, x, y):
@@ -1434,7 +1446,6 @@ pllinfo_db = {
"SDI": ( 22, 33, "fabout"),
"SCLK": ( 21, 33, "fabout"),
},
-#384?
}
padin_pio_db = {
@@ -1462,10 +1473,10 @@ padin_pio_db = {
( 7, 4, 1),
( 0, 4, 1),
( 4, 9, 0),
- ( 4, 0, 0), #QFN23: no pin?!
+ ( 4, 0, 0), #QFN32: no pin?!
( 0, 5, 0),
( 7, 5, 0),
- ( 3, 0, 1), #QFN23: no pin?!
+ ( 3, 0, 1), #QFN32: no pin?!
( 3, 9, 1),
]
}
@@ -1794,8 +1805,47 @@ ieren_db = {
(33, 30, 0, 33, 30, 0),
(33, 30, 1, 33, 30, 1),
(33, 31, 0, 33, 31, 0),
- ]
-#384?
+ ],
+ "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?
+ ],
}
pinloc_db = {
@@ -3712,8 +3762,30 @@ pinloc_db = {
("T14", 23, 0, 0),
("T15", 22, 0, 1),
("T16", 27, 0, 0),
+ ],
+ "384-qn32": [
+ ( "1", 0, 7, 0),
+ ( "2", 0, 7, 1),
+ ( "5", 0, 5, 1),
+ ( "6", 0, 5, 0),
+ ( "7", 0, 4, 0),
+ ( "8", 0, 4, 1),
+ ( "12", 5, 0, 0),
+ ( "13", 5, 0, 1),
+ ( "14", 6, 0, 1),
+ ( "15", 6, 0, 0),
+ ( "18", 7, 4, 0),
+ ( "19", 7, 4, 1),
+ ( "20", 7, 5, 0),
+ ( "22", 7, 6, 0),
+ ( "23", 7, 6, 1),
+ ( "26", 6, 9, 0),
+ ( "27", 5, 9, 0),
+ ( "29", 4, 9, 0),
+ ( "30", 3, 9, 1),
+ ( "31", 2, 9, 0),
+ ( "32", 2, 9, 1),
]
-#384?
}
iotile_full_db = parse_db(iceboxdb.database_io_txt)
@@ -3759,7 +3831,8 @@ 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"])
-#384?
+logictile_384_db.append([["B1[49]"], "buffer", "carry_in", "carry_in_mux"]) #384?
+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, rambtile_db, ramttile_db, rambtile_8k_db, ramttile_8k_db]:
for entry in db: