diff options
Diffstat (limited to 'icebox/icebox.py')
-rw-r--r-- | icebox/icebox.py | 147 |
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]: |