From 1a50795c2da3fd31ad021c8cfc03b1fead66e6c1 Mon Sep 17 00:00:00 2001 From: hermitsoft Date: Wed, 8 Mar 2017 17:45:18 +0100 Subject: filled LP384 fields in icebox.py but data needs refinement --- icebox/icebox.py | 89 +++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 81 insertions(+), 8 deletions(-) (limited to 'icebox') 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: -- cgit v1.2.3