Device

The device is the FPGA or ASIC which contains your design.

device:
    vendor:  <vendor_name>
    name:  <part_name>
    interface:
        - <interface_name>:
            clock:
                internal:
                    -  <internal_clock_name>:
                        frequency: <clock_frequency>
                input:
                     - <clock_pin_name>
                         frequency: <clock_frequency>
                output:
                     - <clock_pin_name>
                         frequency: <clock_frequency>
            data:
                output:
                     - <output_pin_name>:
                         launch_clock:
                             name: <launching_clock_name>
                             edge: <launching_clock_edge>
                         capture_clock:
                             name: <capturing_clock_name
                             edge:
                                 setup: <capturing_clock_edge>
                                 hold: <capturing_clock_edge>
                input:
                     - <input_pin_name>:
                         launch_clock:
                             name: <launching_clock_name>
                             edge: <launching_clock_edge>
                         capture_clock:
                             name: <capturing_clock_name
                             edge:
                                 setup: <capturing_clock_edge>
                                 hold: <capturing_clock_edge>

Element

Type

Description

vendor_name

string

The manufacturer of the part.

part_name

string

The name of the part.

interface_name

string

Devices can have multiple interfaces. Each must be uniquely identified.

internal_clock_name

string

The internal clock name being used to launch or capture data.

clock_frequency

string

The frequency of the clock.

clock_pin_name

string

The clock pin the data pins are referenced to.

output_pin_name

string

Each output pin will have an entry.

launching_clock_edge

integer

The clock edge which is launching data.

capturing_clock_edge

integer

The clock edge which is capturing data.

clock_to_out_min

float

The minimum delay of the pin relavite to the clock pin.

input_pin_name

string

Each input pin will have an entry.

Example

The following example assumes using the serial interface of the DAC81404 part.

part:
    vendor:  Intel
    name:  S10
    interface:
        - DAC_DATA_INTF:
            clock:
                internal:
                    internal_100mhz:
                        frequency: '100 MHz'
                output:
                    O_DAC_SCLK:
                        frequency: '20 MHz'
            data:
                output:
                    - O_DAC_DATA:
                        launch_clock:
                            name: 'internal_100mhz'
                            edge: 11
                        capture_clock:
                            name: 'O_DAC_SCLK'
                            edge:
                                setup: 'c'
                                hold: 'd'
                input:
                    - I_DAC_DATA:
                        launch_clock:
                            name: 'O_DAC_SCLK'
                            edge: 3
                        capture_clock:
                            name: 'internal_100mhz'
                            edge:
                                setup: 'f'
                                hold: 'q'