@@ -1928,6 +1928,8 @@ def from_fse(device, fse, dat: Datfile):
1928
1928
bram_aux_ttypes = get_tile_types_by_func (dev , dat , fse , 'b' )
1929
1929
dsp_ttypes = get_tile_types_by_func (dev , dat , fse , 'D' )
1930
1930
dsp_aux_ttypes = get_tile_types_by_func (dev , dat , fse , 'd' )
1931
+ pll_ttypes = get_tile_types_by_func (dev , dat , fse , 'P' )
1932
+ pll_ttypes .update (get_tile_types_by_func (dev , dat , fse , 'p' ))
1931
1933
for ttyp in ttypes :
1932
1934
w = fse [ttyp ]['width' ]
1933
1935
h = fse [ttyp ]['height' ]
@@ -1950,11 +1952,7 @@ def from_fse(device, fse, dat: Datfile):
1950
1952
tile .bels = fse_dsp (fse )
1951
1953
elif ttyp in dsp_aux_ttypes :
1952
1954
tile .bels = fse_dsp (fse , True )
1953
- # These are the cell types in which PLLs can be located. To determine,
1954
- # we first take the coordinates of the cells with the letters P and p
1955
- # from the dat['grid'] table, and then, using these coordinates,
1956
- # determine the type from fse['header']['grid'][61][row][col]
1957
- elif ttyp in [42 , 45 , 74 , 75 , 76 , 77 , 78 , 79 , 86 , 87 , 88 , 89 ]:
1955
+ elif ttyp in pll_ttypes :
1958
1956
tile .bels = fse_pll (device , fse , ttyp )
1959
1957
tile .bels .update (fse_iologic (device , fse , ttyp ))
1960
1958
tiles [ttyp ] = tile
0 commit comments