Merge branch 'preloading_doc' into preloading_clean

This commit is contained in:
Lin 2024-09-05 11:15:12 +08:00
commit 73d5e6429f
1 changed files with 62 additions and 0 deletions

View File

@ -0,0 +1,62 @@
.. _file_formats_unique_blocks:
Unique Blocks (.xml)
~~~~~~~~~~~~~~~~~
A unique blocks file is formatted in XML. The unique blocks can be of type ``cbx``, ``cby`` or ``sb``. As illustrated by the XML code below, the file includes the type and coordinates of these unique blocks, as well as the coordinates of their corresponding instances.
Configurable Block
^^^^^^^^^^^^^^^^^^^
Unique blocks can be applied to various blocks, each of which can be of type ``cbx``, ``cby`` or ``sb``, and may have different coordinates.
.. option:: <block type="<string>" x="<string>" y="<string>"/>
For each block, a set of keys can be defined. For unique blocks, both keys and instances can be specified. However, if a unique block does not have an instance, only keys are permitted.
- ``type`` specifies the type of the unique block in the FPGA fabric. Valid values for ``type`` are ``cbx``, ``cby`` or ``sb``.
- ``x`` represents the x-coordinate of the unique block.
- ``y`` represents the y-coordinate of the unique block.
Configurable Instance
^^^^^^^^^^^^^^^^^^^
A specific unique block can have multiple instances, where each instance is a mirrored version of the unique block. Each instance shares the same type as its parent block and includes information about its coordinates.
.. option:: <instance x="<string>" y="<string>"/>
- ``x`` specifies the x-coordinate of the instance.
- ``y`` specifies the y-coordinate of the instance.
The following content provides an example of a unique block file:
.. code-block:: xml
<unique_blocks>
<block type="sb" x="0" y="0">
</block>
<block type="sb" x="0" y="1">
</block>
<block type="sb" x="1" y="0">
</block>
<block type="sb" x="1" y="1">
</block>
<block type="cbx" x="1" y="0">
<instance x="0" y="0"/>
<instance x="0" y="1"/>
</block>
<block type="cbx" x="1" y="1">
</block>
<block type="cby" x="0" y="1">
<instance x="0" y="0"/>
<instance x="1" y="0"/>
</block>
<block type="cby" x="1" y="1">
</block>
</unique_blocks>