################# File Descriptions ################# .. _relationships: Relationships ############# This section describes the relationship between :term:`XML` input file descriptions and the resulting `XML2VHDL` output. +---------------------------+------------------------------+-------------------------------+--------------------------------+------------------------------------------------------+---------------------------------------------------------------------------------+ | Type | :term:`XML` Input File Name | Node Name | Generated :term:`XML` Filename | Generated :term:`VHDL` Filenames | Example | +===========================+==============================+===============================+================================+======================================================+=================================================================================+ | Register Map Description | * ``XML_FILENAME.xml`` | ``REGISTERMAP_XML_NODENAME`` | ``XML_FILENAME_output.xml`` | * ``axi4lite_REGISTERMAP_XML_NODENAME.vhd`` | .. code-block:: xml | | | | | | * ``axi4lite_REGISTERMAP_XML_NODENAME_muxdemux.vhd`` | | | | | | | * ``axi4lite_REGISTERMAP_XML_NODENAME_pkg.vhd`` | | | | | | | | | +---------------------------+------------------------------+-------------------------------+--------------------------------+------------------------------------------------------+---------------------------------------------------------------------------------+ | Interconnect Description | * ``XML_FILENAME.xml`` | ``IC_XML_NODENAME`` | ``XML_FILENAME_output.xml`` | * ``axi4lite_IC_XML_NODENAME.vhd`` | .. code-block:: xml | | | * ``IC_INDEX_NAME`` | | | * ``axi4lite_IC_XML_NODENAME_pkg.vhd`` | | | | | | | * ``axi4lite_IC_XML_NODENAME_mmap_pkg.vhd`` | | | | | | | | node id="IC_INDEX_NAME" address="0x0000" link="XML_FILENAME_output.xml"/> | | | | | | | | | | | | | | | +---------------------------+------------------------------+-------------------------------+--------------------------------+------------------------------------------------------+---------------------------------------------------------------------------------+ .. tip:: It is recommended to include the description type in the :term:`XML` filename. for example by adding the following suffixes to the :term:`XML` input filename: * ``XML_FILENAME_memory_map.xml`` * ``XML_FILENAME_ic_memory_map.xml`` Input ##### `XML2VHDL` depends on the following input files. See :ref:`xml_descriptions` for a details of the term:`XML` input file structure. ============================= ============================================================== **Input file(s) location:** Referenced using the `XML2VHDL` ``--input_folder`` argument. ============================= ============================================================== Output ###### ============================== ====================================================================== **Output file(s) location:** Referenced using the `XML2VHDL` ``--relative_output_path`` argument. ============================== ====================================================================== In addition to the generated :term:`XML` and :term:`VHDL` output files (see :ref:`relationships`). The following files are also generated: +--------------------------+-------------------------------------------------------------------------+ | File Type | | +==========================+=========================================================================+ | :term:`XML` files | See :ref:`relationships`. | +--------------------------+-------------------------------------------------------------------------+ | :term:`VHDL` files | See :ref:`relationships` and :ref:`library_components`. | +--------------------------+-------------------------------------------------------------------------+ | :term:`Test-Bench` files | :term:`Simulation` :term:`Test-Bench` files. Used to aid in interacting | | | with the memory-map registers in hardware simulations by providing | | | common functions, procedures and address constants of the generated | | | registers using their :term:`XML` node ``id=`` attribute. The files | | | have the naming convention: ``REGISTERMAP_XML_NODENAME_tb_pkg.vhd`` or | | | ``IC_XML_NODENAME_tb_pkg.vhd``. | +--------------------------+-------------------------------------------------------------------------+ | :term:`HTML` and | These files are used together to automatically generate the | | :term:`CSS` files | register tables of the memory-maps showing their address locations and | | | their specifications. The tables are used for legacy documentation | | | providing the end-user a more visual and readable description of the | | | generated output. | +--------------------------+-------------------------------------------------------------------------+ | Other files | * ``.hex``. A compressed :term:`XML` output file of the top-level, in | | | hexadecimal form. This can used used to initialise a :term:`BRAM`. | | | * ``.vho``. A :term:`VHDL` template file. | +--------------------------+-------------------------------------------------------------------------+