|
LVDS transmitter megafunction. The altlvds_tx
megafunction implements a serialization transmitter. LVDS is one of the high-speed I/O interfaces that uses differential signals without a reference voltage. LVDS uses two wires carrying differential values to create a single channel. These wires are connected to two pins on APEX 20KC, APEX 20KE, APEX II, ARM®-based Excalibur, Mercury, Stratix, and Stratix GX devices to create a single differential LVDS channel. The altlvds_tx
megafunction uses ClockLock® PLL circuitry for serialization.
For Mercury devices, if the altlvds_tx megafunction uses a recovered clock signal that feeds a pin and the DESERIALIZATION_FACTOR parameter setting is 7 or greater, then you must assign the PLL to the center PLL channels on the device. In EP1M120 devices the center channels are channels 4 and 5, and in EP1M350 devices the center channels are channels 9 and 10. |
Altera® recommends instantiating this function as described in Using the MegaWizard® Plug-In Manager.
This topic contains the following information:
FUNCTION altlvds_tx (tx_in[DESERIALIZATION_FACTOR*NUMBER_OF_CHANNELS-1..0], tx_inclock, sync_inclock, tx_pll_enable, pll_areset) WITH (NUMBER_OF_CHANNELS, DESERIALIZATION_FACTOR, REGISTERED_INPUT, MULTI_CLOCK, INCLOCK_PERIOD, OUTCLOCK_DIVIDE_BY, INCLOCK_BOOST, CENTER_ALIGN_MSB, INTENDED_DEVICE_FAMILY, OUTPUT_DATA_RATE, INCLOCK_DATA_ALIGNMENT, OUTCLOCK_ALIGNMENT, COMMON_RX_TX_PLL) RETURNS (tx_out[NUMBER_OF_CHANNELS-1..0], tx_outclock, tx_coreclock, tx_locked);
COMPONENT altlvds_tx GENERIC (NUMBER_OF_CHANNELS: NATURAL; DESERIALIZATION_FACTOR: NATURAL; OUTCLOCK_DIVIDE_BY: NATURAL := 0; REGISTERED_INPUT: STRING := "ON"; MULTI_CLOCK: STRING := "OFF"; INCLOCK_PERIOD: NATURAL; CLOCK_SETTING: STRING := "UNUSED"; CENTER_ALIGN_MSB: STRING := "UNUSED"; INTENDED_DEVICE_FAMILY: STRING := "APEX20KE" OUTPUT_DATA_RATE: NATURAL := 0; OUTCLOCK_ALIGNMENT: STRING := "EDGE_ALIGNED"; INCLOCK_DATA_ALIGNMENT: STRING := "ON"; COMMON_RX_TX_PLL: STRING := "ON"); PORT (tx_in: IN STD_LOGIC_VECTOR(DESERIALIZATION_FACTOR*NUMBER_OF_CHANNELS-1 DOWNTO 0); tx_inclock: IN STD_LOGIC; sync_inclock, pll_areset: IN STD_LOGIC := '0'; tx_pll_enable: IN STD_LOGIC := '1'; tx_out: OUT STD_LOGIC_VECTOR(NUMBER_OF_CHANNELS-1 DOWNTO 0); tx_outclock, tx_coreclock, tx_locked: OUT STD_LOGIC); END COMPONENT;
LIBRARY altera_mf USE altera_mf.altera_mf_components.all;
INPUT PORTS
Port Name | Required | Description | Comments |
---|---|---|---|
tx_in[] |
Yes | Input data. | Input port [DESERIALIZATION_FACTOR * NUMBER_OF_CHANNELS-1..0] wide. |
tx_inclock |
Yes | LVDS reference input clock. | |
sync_inclock |
No | Optional clock for the input registers. | If the MULTI_CLOCK parameter is turned on, you must use this port. |
tx_pll_enable |
No | Enable control for the LVDS PLL. | |
pll_areset |
No | Asynchronously resets all counters to initial values. | This port is available for Stratix and Stratix GX devices only. |
OUTPUT PORTS
Port Name | Required | Description | Comments |
---|---|---|---|
tx_out[] |
Yes | Serialized LVDS data signal. | Output port [NUMBER_OF_CHANNELS-1..0] wide. After deserialization, tx_out[n-1] is the first bit transmitted and tx_out[0] is the last bit transmitted for channel one; for channel two, tx_out[2n-1] is the first bit transmitted and tx_out[n] is the last bit transmitted. For more information on bit order, see Application Note 120 (Using LVDS in APEX 20KE Devices). |
tx_outclock |
No | External reference clock. | |
tx_coreclock |
No | Output clock used to feed non-peripheral logic. | This port is available for Mercury, Stratix, and Stratix GX devices only. |
tx_locked |
No | Gives the status of the LVDS PLL. | When the PLL is locked, this signal is VCC . When the PLL fails to lock, this signal is GND . |
Parameter | Type | Required | Description |
---|---|---|---|
NUMBER_OF_CHANNELS |
Integer | Yes | Specifies the number of LVDS channels. |
DESERIALIZATION_FACTOR |
Integer | Yes | Specifies the number of bits per channel. Values are 4 , 7 , or 8 for APEX 20KE and ARM-based Excalibur devices; 4-10 for APEX II, Stratix, and Stratix GX devices; and 4 , 7-12 , 14 , 16 , 18 , or 20 for Mercury devices. The value of the INCLOCK_PERIOD parameter is between [125 MHz / DESERIALIZATION_FACTOR] and [1000 MHz / DESERIALIZATION_FACTOR] . |
REGISTERED_INPUT |
String | No | Indicates whether the tx_in[] and tx_outclock ports
should be registered. Values are "ON" and "OFF" , "TX_CLKIN" , and "TX_CORECLK" . If omitted the default is "ON" . The "TX_CLKIN" , and "TX_CORECLK" settings are available for Stratix and Stratix GX devices only. |
MULTI_CLOCK |
String | No | Indicates whether the sync_inclock
port is used for input registering. Values are "ON"
and "OFF" . If omitted the default is "OFF" . |
INCLOCK_PERIOD |
Integer | Yes | Specifies the period or frequency of the input clock. The default time unit is picoseconds (ps). In AHDL designs only, strings, such as 50.5 MHz, are acceptable. |
OUTCLOCK_DIVIDE_BY |
Integer | No | Specifies the period of the tx_outclock port as [INCLOCK_PERIOD * OUTCLOCK_DIVIDE_BY] and the frequency of the tx_outclock port as [INCLOCK_PERIOD / OUTCLOCK_DIVIDE_BY] . The default value for this parameter is the value of the DESERIALIZATION_FACTOR parameter. |
INCLOCK_BOOST |
Integer | No | The effective clock period used to sample output data. Values are 1 , 2 , and 4-10 . This parameter is available for APEX II and Mercury devices only. |
INTENDED_DEVICE_FAMILY |
String | No | This parameter is used for modeling and behavioral simulation purposes. Create the PLL with the MegaWizard Plug-in Manager (Tools menu) to calculate the value for this parameter. |
CENTER_ALIGN_MSB |
String | No | Aligns the MSB to the falling edge of the clock instead of the rising edge. This parameter can be used to generate a center aligned clock. Values are "ON" , "OFF" , and "UNUSED" . If omitted, the default is "UNUSED" . This parameter is available for APEX II devices only. |
OUTPUT_DATA_RATE |
String | Yes | Specifies the data rate out of the PLL. The multiplication value for the PLL is INPUT_DATA_RATE / INCLOCK_PERIOD . This parameter is available for Stratix and Stratix GX devices only. |
COMMON_RX_TX_PLL |
String | No | Specifies whether the Compiler uses the same PLL for both the LVDS receiver and the LVDS transmitter. Values are "ON" and "OFF" . If omitted, the default is "ON" . This parameter is available for Stratix and Stratix GX devices only. |
INCLOCK_DATA_ALIGNMENT |
String | Yes | Specifies the alignment of input data with respect to the tx_inclock port. Values are "EDGE_ALIGNED" , "CENTER_ALIGNED" , "45_DEGREES ", "135_DEGREES ", "180_DEGREES ", "235_DEGREES ", "270_DEGREES ", and "315_DEGREES ". If omitted, the default is "EDGE_ALIGNED" . This parameter is available for Stratix and Stratix GX devices only. |
OUTCLOCK_ALIGNMENT |
String | Yes | Specifies the alignment of output data with respect to the tx_outclock port. Values are "EDGE_ALIGNED" , "CENTER_ALIGNED" , "45_DEGREES ", "135_DEGREES ", "180_DEGREES ", "235_DEGREES ", "270_DEGREES ", and "315_DEGREES ". If omitted, the default is "EDGE_ALIGNED" . This parameter is available for Stratix and Stratix GX devices only. |
This topic prints best in Landscape orientation. |
- PLDWorld - |
|
Created by chm2web html help conversion utility. |