#!/usr/bin/env python3 # -*- coding: utf-8 -*- # # Copyright (C) 2017-2020 The Project X-Ray Authors. # # Use of this source code is governed by a ISC-style # license that can be found in the LICENSE file or at # https://opensource.org/licenses/ISC # # SPDX-License-Identifier: ISC from collections import namedtuple import enum class BlockType(enum.Enum): # Frames describing CLB features, interconnect, clocks and IOs. CLB_IO_CLK = 'CLB_IO_CLK' # Frames describing block RAM initialization. BLOCK_RAM = 'BLOCK_RAM' GridLoc = namedtuple('GridLoc', 'grid_x grid_y') ClockRegion = namedtuple('ClockRegion', 'name x y') GridInfo = namedtuple( 'GridInfo', 'bits sites prohibited_sites tile_type pin_functions clock_region') BitAlias = namedtuple('BitAlias', 'tile_type start_offset sites') Bits = namedtuple('Bits', 'base_address frames offset words alias') BitsInfo = namedtuple('BitsInfo', 'block_type tile bits')