📄 lvds_rx_f191.tdf
字号:
--altlvds_rx COMMON_RX_TX_PLL="OFF" CYCLONEII_M4K_COMPATIBILITY="ON" DESERIALIZATION_FACTOR=8 DEVICE_FAMILY="Stratix II GX" ENABLE_DPA_MODE="OFF" IMPLEMENT_IN_LES="OFF" INCLOCK_DATA_ALIGNMENT="EDGE_ALIGNED" INCLOCK_PERIOD=10000 INPUT_DATA_RATE=800 NUMBER_OF_CHANNELS=17 OUTCLOCK_RESOURCE="AUTO" REGISTERED_OUTPUT="ON" USE_EXTERNAL_PLL="OFF" rx_in rx_inclock rx_out rx_outclock CARRY_CHAIN="MANUAL" CARRY_CHAIN_LENGTH=48 LOW_POWER_MODE="AUTO"
--VERSION_BEGIN 6.0 cbx_altddio_in 2006:01:09:10:51:42:SJ cbx_altddio_out 2006:03:03:09:14:02:SJ cbx_altlvds_rx 2006:03:22:16:46:44:SJ cbx_altsyncram 2006:03:17:17:38:48:SJ cbx_cyclone 2006:01:09:11:15:06:SJ cbx_cycloneii 2006:02:07:15:19:20:SJ cbx_lpm_add_sub 2006:01:09:11:17:20:SJ cbx_lpm_compare 2006:01:09:11:15:40:SJ cbx_lpm_counter 2006:03:14:18:11:20:SJ cbx_lpm_decode 2006:01:09:11:16:44:SJ cbx_lpm_mux 2006:01:09:11:16:16:SJ cbx_lpm_shiftreg 2006:01:09:11:26:32:SJ cbx_mgl 2006:03:21:17:14:24:SJ cbx_stratix 2006:02:07:15:17:04:SJ cbx_stratixii 2006:03:03:09:35:36:SJ cbx_util_mgl 2006:01:09:10:46:36:SJ VERSION_END
-- Copyright (C) 1991-2006 Altera Corporation
-- Your use of Altera Corporation's design tools, logic functions
-- and other software and tools, and its AMPP partner logic
-- functions, and any output files any of the foregoing
-- (including device programming or simulation files), and any
-- associated documentation or information are expressly subject
-- to the terms and conditions of the Altera Program License
-- Subscription Agreement, Altera MegaCore Function License
-- Agreement, or other applicable license agreement, including,
-- without limitation, that your use is for the sole purpose of
-- programming logic devices manufactured by Altera and sold by
-- Altera or its authorized distributors. Please refer to the
-- applicable agreement for further details.
FUNCTION stratixiigx_clkctrl (clkselect[1..0], ena, inclk[3..0])
WITH ( clock_type)
RETURNS ( outclk);
FUNCTION stratixiigx_lvds_receiver (bitslip, bitslipreset, clk0, datain, dpahold, dpareset, dpaswitch, enable0, fiforeset, serialfbk)
WITH ( ALIGN_TO_RISING_EDGE_ONLY, CHANNEL_WIDTH, DATA_ALIGN_ROLLOVER, DPA_DEBUG, ENABLE_DPA, LOSE_LOCK_ON_ONE_CHANGE, RESET_FIFO_AT_FIRST_LOCK, USE_SERIAL_FEEDBACK_INPUT)
RETURNS ( bitslipmax, dataout[CHANNEL_WIDTH-1..0], dpalock, postdpaserialdataout, serialdataout);
FUNCTION stratixiigx_pll (areset, clkswitch, ena, fbin, inclk[1..0], pfdena, scanclk, scandata, scanread, scanwrite, testin[3..0])
WITH ( BANDWIDTH, BANDWIDTH_TYPE, C0_HIGH, C0_INITIAL, C0_LOW, C0_MODE, C0_PH, C0_TEST_SOURCE, C1_HIGH, C1_INITIAL, C1_LOW, C1_MODE, C1_PH, C1_TEST_SOURCE, C1_USE_CASC_IN, C2_HIGH, C2_INITIAL, C2_LOW, C2_MODE, C2_PH, C2_TEST_SOURCE, C2_USE_CASC_IN, C3_HIGH, C3_INITIAL, C3_LOW, C3_MODE, C3_PH, C3_TEST_SOURCE, C3_USE_CASC_IN, C4_HIGH, C4_INITIAL, C4_LOW, C4_MODE, C4_PH, C4_TEST_SOURCE, C4_USE_CASC_IN, C5_HIGH, C5_INITIAL, C5_LOW, C5_MODE, C5_PH, C5_TEST_SOURCE, C5_USE_CASC_IN, CHARGE_PUMP_CURRENT, CLK0_COUNTER, CLK0_DIVIDE_BY, CLK0_DUTY_CYCLE, CLK0_MULTIPLY_BY, CLK0_PHASE_SHIFT, CLK1_COUNTER, CLK1_DIVIDE_BY, CLK1_DUTY_CYCLE, CLK1_MULTIPLY_BY, CLK1_PHASE_SHIFT, CLK2_COUNTER, CLK2_DIVIDE_BY, CLK2_DUTY_CYCLE, CLK2_MULTIPLY_BY, CLK2_PHASE_SHIFT, CLK3_COUNTER, CLK3_DIVIDE_BY, CLK3_DUTY_CYCLE, CLK3_MULTIPLY_BY, CLK3_PHASE_SHIFT, CLK4_COUNTER, CLK4_DIVIDE_BY, CLK4_DUTY_CYCLE, CLK4_MULTIPLY_BY, CLK4_PHASE_SHIFT, CLK5_COUNTER, CLK5_DIVIDE_BY, CLK5_DUTY_CYCLE, CLK5_MULTIPLY_BY, CLK5_PHASE_SHIFT, COMPENSATE_CLOCK, DOWN_SPREAD, ENABLE0_COUNTER, ENABLE1_COUNTER, ENABLE_SWITCH_OVER_COUNTER, FEEDBACK_SOURCE, GATE_LOCK_COUNTER, GATE_LOCK_SIGNAL, INCLK0_INPUT_FREQUENCY, INCLK1_INPUT_FREQUENCY, INVALID_LOCK_MULTIPLIER, LOCK_HIGH, LOCK_LOW, LOOP_FILTER_C, LOOP_FILTER_R, M, M2, M_INITIAL, M_PH, N, N2, OPERATION_MODE, PFD_MAX, PFD_MIN, PLL_TYPE, QUALIFY_CONF_DONE, SCLKOUT0_PHASE_SHIFT, SCLKOUT1_PHASE_SHIFT, SPREAD_FREQUENCY, SS, SWITCH_OVER_COUNTER, SWITCH_OVER_ON_GATED_LOCK, SWITCH_OVER_ON_LOSSCLK, SWITCH_OVER_TYPE, TEST_FEEDBACK_COMP_DELAY_CHAIN_BITS, TEST_INPUT_COMP_DELAY_CHAIN_BITS, VALID_LOCK_MULTIPLIER, VCO_CENTER, VCO_DIVIDE_BY, VCO_MAX, VCO_MIN, VCO_MULTIPLY_BY, VCO_POST_SCALE)
RETURNS ( activeclock, clk[5..0], clkbad[1..0], clkloss, enable0, enable1, locked, scandataout, scandone, sclkout[1..0], testdownout, testupout);
--synthesis_resources = clkctrl 1 reg 136 stratixiigx_lvds_receiver 17 stratixiigx_pll 1
OPTIONS ALTERA_INTERNAL_OPTION = "REMOVE_DUPLICATE_REGISTERS=OFF;{-to pll} AUTO_MERGE_PLLS=OFF;{ -from ""rx*"" -to ""rxreg*"" }SOURCE_MULTICYCLE=8;{ -from ""rx*"" -to ""rxreg*"" }MULTICYCLE_HOLD=8";
SUBDESIGN lvds_rx_f191
(
rx_in[16..0] : input;
rx_inclock : input;
rx_out[135..0] : output;
rx_outclock : output;
)
VARIABLE
rxreg[135..0] : dffe;
rx_outclock_buf : stratixiigx_clkctrl
WITH (
clock_type = "AUTO"
);
rx[16..0] : stratixiigx_lvds_receiver
WITH (
CHANNEL_WIDTH = 8,
ENABLE_DPA = "off"
);
pll : stratixiigx_pll
WITH (
CLK0_DIVIDE_BY = 8,
CLK0_MULTIPLY_BY = 8,
CLK0_PHASE_SHIFT = "-625",
COMPENSATE_CLOCK = "lvdsclk",
INCLK0_INPUT_FREQUENCY = 10000,
OPERATION_MODE = "normal",
PLL_TYPE = "fast",
SCLKOUT0_PHASE_SHIFT = "-625",
VCO_DIVIDE_BY = 1,
VCO_MULTIPLY_BY = 8
);
outclock : WIRE;
pll_areset : NODE;
rx_pll_enable : NODE;
BEGIN
rxreg[].CLK = outclock;
rxreg[].D = rx[].dataout[];
rx_outclock_buf.clkselect[] = B"00";
rx_outclock_buf.ena = B"1";
rx_outclock_buf.inclk[] = ( B"000", pll.clk[0..0]);
rx[].clk0 = pll.sclkout[0..0];
rx[].datain = rx_in[];
rx[].enable0 = pll.enable0;
pll.areset = pll_areset;
pll.ena = rx_pll_enable;
pll.inclk[] = ( GND, rx_inclock);
outclock = rx_outclock_buf.outclk;
pll_areset = GND;
rx_out[] = rxreg[].Q;
rx_outclock = outclock;
rx_pll_enable = VCC;
END;
--VALID FILE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -