示例,SypReTime-如何在HDL中实例化LVDS/LVPECL组件?(VHDL/Verilog – VerTeX-E/SpTAN-IIE)-Xilinx-AMD社区-FPGA CPLD-ChipDebug

示例,SypReTime-如何在HDL中实例化LVDS/LVPECL组件?(VHDL/Verilog – VerTeX-E/SpTAN-IIE)

描述

紧迫:热

一般描述:

如何在HDL中实例化LVPECL或LVDS组件?

解决方案

下面的示例说明了V50ECs144的LVDS I/O实例化和位置约束。

使用LVPECL I/O标准,在实例化缓冲器时用“LVPECL”代替“LVDS”。(例如,用iBFFLVPECL代替iBFFLVDS)。

有关LVPECL/LVDS的更多信息,请参考Xilinx XAP133):使用ViTEX选择I/O资源。

笔记:

这是一个与任何综合工具一起使用的一般例子。如果使用SypPerI化,则确保库中的“UNISIM”(VHDL)或“UNISIM.V”(Verilog)被包含在HDL代码中。请看(Xilinx解决方案244)欲了解更多信息。

-目前,FPGAExpress不承认iFIF-LVDS,iBFFLVPECL,OBUFFLVDS,OBFFYLVPECL,IOBFFYLVDS和IOBFFYLVPECL作为有效的原语。如果您试图实例化LVDS缓冲区,FPGA Express将插入I/O缓冲区,当设计通过执行工具运行时会导致错误。请参考(Xilinx解决方案9849)如果使用此流程。

-目前不支持双向LVPECL I/O。请看(Xilinx解决方案8631)欲了解更多信息。

-请参阅(Xilinx解决方案1995)对于SypRelistic特定属性。

-请参阅(Xilinx解决方案8074)对于列奥纳多频谱特定属性。

VHDL实例

这个例子包含LVDS输入、输出和双向I/O.。

库IEEE;

使用IEEE.STDYLogiCy1164.ALL;

实体LVDSIO

端口(CLK,数据,TIN):在STDYLogic中;

IODATAYP,IODATAYN:IOUT STDYLogic;

qtp,qnn:外STDyLogic

结束LVDSIO;

LVDSIO的建筑行为

组件IGBFLVDS是端口(I:在STDYLogic中;

o:输出STDYLogic);

端部元件;

组件OBUFFLVDS是端口(I:在STDYLogic中;

o:输出STDYLogic);

端部元件;

组件IOBFFYLVDS是端口(I:在STDYLogic中;

在STDYLogic中;

IO:IDEUT STDYLogic;

o:输出STDYLogic);

端部元件;

组件IVIS端口(I:在STDYLogic中;

o:输出STDYLogic);

端部元件;

组件iBFGGLVDS是端口(I:在STDYLogic中;

o:输出STDYLogic);

端部元件;

组件BUFG是端口(I:在STDYLogic中;

o:输出STDYLogic);

端部元件;

信号IODATAIIN:STDYLogic;

信号IODATAXNUOUT:STDYLogic;

信号IODATAXOUT:STDYLogic;

信号DATAIN:STDYLogic;

信号qppIn:STDYLogic;

信号qnnIn:STDYLogic;

信号CKLIN:STDYLogic;

信号CKLI总线:STDYLogic;

信号TIN IN:STDYLogic;

开始

UI1: IFDF-LVDS端口映射(I=& Gt;数据,O= & Gt;DATAYIN);

UI2:IFDFLVDS端口映射(I= & Gt;TiN,O= & Gt;TIN);

UOYP:OBUFFILVDS端口映射(I=& Gt;qypIn,O=& Gt;qYP);

OOIN:OBuflLVDS端口映射(I=& Gt;qynIn,O=& gt;qyn);

IUIIOP:IOBUFILLVDS端口映射(I= & Gt;IODATAOXOUT,T=& Gt;TIN IN,IO=& Gt;IODATAYP,

O= & Gt;IODATAIIN);

IUIOFIN:IOBFFILVDS端口映射(I= & Gt;IODATAXNSOUT,T=& Gt;TIN IN,IO=& Gt;IODATAYN,

O= &开放;

UIV:IV端口映射(I=& gt;IODATAXOUT,O= & Gt;IODATAYNNOUT);

UBIFFG:iBFGGLVDS端口映射(I=& Gt;CLK,O= & Gt;CLKY-IGBFUGOUT);

UBFFG:BUFG端口映射(I=& Gt;ClkHiBifgOUT,O= & Gt;ClkIn It);

MyoddReg:进程(CKLIN,DATAIN)

开始

如果(CkkItIn事件和CkkIn=‘1’)

qppIn It & lt;

如果结束;

结束过程;

IODATAXOUT & lt;= DATAIN It和IODATAGAIN;

QunnIn & lt;

结束行为;

Verilog示例

这个例子包含LVDS输入、输出和双向I/O.。

模块LVDSIOinst(CLK,数据,TIN,IODATAYP,IODATAYN,QYP,QYN);

输入CLK、数据、TIN;

IOUDATAYP,IODATAYN;

输出QYP,QYN;

线碘;

金属丝;

导线输出;

有线数据表;

雷格尔;

钢丝绳;

线材;

导线断路器;

线锡;

IFDFLVDS UI1(I(数据),O(DATAIN));

IbFIF-LVDS UI2(I(TiN),O(TiNi In));

OBUFYLVDS UOYP(I(QypIn),O(QYP));

OBufl LVDS UOYN(I(QynnIt),o(qyn));

IOBUFILVDS UIOIL P(.I(IODATAXOUT),.T(TIN IN)),IO(IODATAYP),

O(IODATA));

IOBUFILVDS UION n(I(IODATAXNSOUT),.T(TIN IN),IO(IODATAYN),

O());

In uIV(i(IODATAXOUT),O(IODATAL NSOOUT));

iBFGGLVDS UBIFFG(I(CLK),O(CLKY-BiFFGOUT));

BUFG UBUFG(I(CKKY-BiFFGOUT),O(CLKIN It));

总是@(PASEDGE CKLIN)

开始

qppIn It & lt;

结束

指定IODATAYOUT=DATAIN It&AMP&IODATAGAIN;

赋值qnnIn=~qypIn;

终端模块

针对V50ECS144的UCF示例

NET CLK LOC=A6;

NET数据LOC=A4;

净QYP LOC=A5;

净QYN LOC=B5;

net IODATAYP LOC= D8;

NET IODATAN n LOC= C8;

净锡LOC=F13;αIOIL10P

请登录后发表评论

    没有回复内容