========== part files ========== Both the ``part.json`` and ``part.yaml`` files contain information about the configuration resources of the FPGA chip. The files include information about bus types and the number of :term:`frames ` that are available for the given configurational :term:`column `. Additionally, the file stores information about the device ID and available *IO BANKS*. File format ----------- Both files contain the same information, but since the ``part.yaml`` is less accessible, the description will be based on the ``part.json`` file. The ``part.json`` file is of the following form:: { "global_clock_regions": { "bottom": { "rows": { "" : { "configuration_buses": { "": { "configurational_columns": { "": { "frame_count": } <...> } } <...> } } <...> } }, "top": { "rows": { "" : { "configuration_buses": { "": { "configurational_columns": { "": { "frame_count": } <...> } } <...> } } <...> } }, } }, "idcode" : , "iobanks" : { "": ", <...> } } The file contains three main entries: - ``"global_clock_regions"`` - Contains the information about the configurational resources of the FPGA chip. The 7-Series FPGAs are divided into two :term:`halves ` - ``top`` and ``bottom``. This explains the origin of those entries in the file. Every half contains a few ``rows`` associated with the global :term:`clock regions `. The particular row of the global :term:`clock regions ` is indicated by the ````. Since every row can be configured by one of three configurational buses: ``CLK_IO_CLKB``, ``BLOCK_RAM`` or ``CFG_CLB``, the appropriate bus is indicated by the ````. There are many :term:`columns ` connected to a single bus. Each column is described by appropriate ```` entry which contains the information about the number of frames (````) which can be used to configure the particular column. - ``"idcode"`` - ID of the given chip package - ``"iobanks"`` - a dictionary that contains the *IO Bank* ID (````) and their position in the FPGA grid (````). Examples -------- .. code-block:: javascript { global_clock_regions": { "bottom": { "rows": { "0": { "configuration_buses": { "BLOCK_RAM": { "configuration_columns": { "0": { "frame_count": 128 }, "1": { "frame_count": 128 }, "2": { "frame_count": 128 } } }, "CLB_IO_CLK": { "configuration_columns": { "0": { "frame_count": 42 }, "1": { "frame_count": 30 }, "2": { "frame_count": 36 }, <...> } } <...> }, }, "top" : { <...> } }, "idcode": 56803475, "iobanks": { "0": "X1Y78", "14": "X1Y26", "15": "X1Y78", "16": "X1Y130", "34": "X113Y26", "35": "X113Y78" } }