../_images/stfc_technology.gif

Electronic System Design Group

Documentation Status

Vendor IP

Description

vendor_ip provides a mechanism to manage FPGA specific IP components which are generated via tools provided as a part of the vendor design suite. The vendor_ip can then be included in project via the corresponding Settings file.

Configuration File

vendor_ip_layout:

example of config.yml entry for vendor_ip layout section
vendor_ip_layout:
  - vendor_ip:
    - <VENDOR>:
      - <TOOL_VERSION>:
        - common_wrapper_files:
          - <FAMILY>:
            - <IPCAT>:
              - <IPSUBCAT>:
                - <NAME>:
                  - constraints:
                  - docs:
                  - src:
                    - vhdl:
                    - vhdl_packages:
                    - xml:
        - <DEVICE>:
          - <IPCAT>:
            - <IPSUBCAT>:
              - <NAME>:
                - constraints:
                - docs:
                - src:
                    - ip:
                    - vhdl:
                    - vhdl_packages:
                    - xml:

<IPCAT>:

interfaces

Interfaces to externally connected devices.

debug

Components used for debug tasks.

clock_management

PLLs and DCMs.

memory

FIFOs.

<IPSUBCAT>:

Subcategories to logically group <IPCAT>.

interfaces
  • phy
  • jesd204b
  • external_memory

<NAME>:

IP name.

Settings File

example of settings.yml entry for ip section
ip:
  <IPCAT>:
    <IPSUBCAT>:
      <IP_NAME>:
        enabled:                                    <True|False>
        library:                                    <lib_name>
        wrapper_file:                               <wrapper_name>_wrapper
  <IPCAT>:
    <IPSUBCAT>:
      enabled:                                      <True|False>
      library:                                      <lib_name>
      wrapper_file:                                 <wrapper_name>_wrapper

Common Wrapper Files

Common wrapper files allow wrapper files to be used across multiple devices within the same FPGA family. The ./src/vhdl directories in both <DEVICE> and common_wrapper_files locations are parsed for a corresponding .vhd source file matching the name defined by wrapper_file:. If the named file exists in both locations the one located in the <DEVICE> path will take precedence over the one located in the common_wrapper_files path.

The script will generate the search paths for wrapper files automatically, using both the <IP_NAME> and <wrapper_name> portion of the wrapper_file: name as the value for <NAME> in the constructed vendor_ip_layout structure.