mirror of https://github.com/openXC7/prjxray.git
35 lines
1018 B
Python
35 lines
1018 B
Python
HCLKS = 24
|
|
GCLKS = 32
|
|
SIDE_CLK_INPUTS = 14
|
|
|
|
CLK_TABLE_NUM_ROWS = 8
|
|
CLK_TABLE_NUM_COLS = 8
|
|
|
|
|
|
def get_clk_table():
|
|
clk_table = {}
|
|
for gclk in range(GCLKS):
|
|
gclk_name = 'CLK_HROW_R_CK_GCLK{}'.format(gclk)
|
|
row = gclk % CLK_TABLE_NUM_ROWS
|
|
column = int(gclk / CLK_TABLE_NUM_ROWS)
|
|
clk_table[gclk_name] = (row, column)
|
|
|
|
for row in range(8):
|
|
clk_table['CLK_HROW_CK_IN_L{}'.format(row)] = (row, 4)
|
|
for row in range(6):
|
|
clk_table['CLK_HROW_CK_IN_L{}'.format(row + 8)] = (row, 5)
|
|
|
|
for row in range(8):
|
|
clk_table['CLK_HROW_CK_IN_R{}'.format(row)] = (row, 6)
|
|
for row in range(6):
|
|
clk_table['CLK_HROW_CK_IN_R{}'.format(row + 8)] = (row, 7)
|
|
|
|
# HROW_CK_INT_<X>_<Y>, Y == Y share the same bits, and only X = 0 or X = 1
|
|
# are present on a particular HROW.
|
|
for y in range(2):
|
|
for x in range(2):
|
|
int_clk_name = 'CLK_HROW_CK_INT_{}_{}'.format(x, y)
|
|
clk_table[int_clk_name] = (y + 6, 7)
|
|
|
|
return clk_table
|