XST——如何在VHDL和Verilog中为VerTEX II器件编写双向LVDS(BLVDS)缓冲器?

描述


一般描述:

如何在VHDL和Verilog中为VerTEX II器件编写双向LVDS缓冲区?



VLTEX II架构中的双向LVDS解决方案与ViTEX-E解决方案相同。由于LVDS是用于点到点应用的,所以BLVDS(总线LVDS)不是IEEE/EIA/TIA标准实现,需要仔细地适应I/O和PCB布局设计规则。下面是VHDL、Verilog和UCF实例。

解决方案


VHDL语言



库IEEE;

使用IEEE.STDYLogiCy1164.ALL;



实体LVDSYIOBUFDS是

端口(CKKYP,CKKYN,DATAYP,DATAYN,TiNIN,TiNIN:在STDYLogic中;

IODATAYP,IODATAYN:IOUT STDYLogic;

QQP,QYN:OUT STDYLogic;

结束LVDSIIOBUFDS;



LVDSIOIUBFDDS的建筑行为



组件是

泛型(IOrth:String);

端口(I):在STDYLogic中;

IB:在STDYLogic中;

o:输出STDYLogic);

端部元件;



OBUFDS组件

泛型(IOrth:String);

端口(I):在STDYLogic中;

O:输出STDYLogic;

OB:输出STDYLogic);

端部元件;



组件IOBUFDS是

泛型(IOrth:String);

端口(I):在STDYLogic中;

在STDYLogic中;

O:输出STDYLogic;

IO:IDEUT STDYLogic;

IOB:IOUT STDYLogic);

端部元件;



组件IGBFGDS是

泛型(IOrth:String);

端口(I):在STDYLogic中;

IB:在STDYLogic中;

o:输出STDYLogic);

端部元件;



组件BUFG

端口(I):在STDYLogic中;

o:输出STDYLogic);

端部元件;



信号数据2:STDYLogic;

信号ODATAXOUT:STDYLogic;

信号DATAIN:STDYLogic;

信号QuiTn: STDYLogic;

信号CKLIN:STDYLogic;

信号CKLI总线:STDYLogic;

信号TIN IN:STDYLogic;



开始

UI1: IFDFDS

泛型映射(IOrthase= & Gt;BLVDSY25)

端口映射(DATAYP,DATAYN,DATAAIN);



UI3: IFDFDS

泛型映射(IOrthase= & Gt;BLVDSY25)

端口映射(TIN、P、TIN、TIN);



UO1: OBUFDs

泛型映射(IOrthase= & Gt;BLVDSY25)

端口映射(QuiTin,QQP,QYN);



碘化亚铜

泛型映射(IOrthase= & Gt;BLVDSY25)

端口映射(ODATAXOUT,TIN IN,DATAI2,IODATAYP,IODATAYN);



UBIFFG:IGBFGDS

泛型映射(IOrthase= & Gt;BLVDSY25)

端口映射(CKKYP,CKKYN,CKLY-BIFFUGOUT);



UBFFG:BUFG端口映射(CKKY-BIFFGUT,CKLY-IN);



MyoddReg:进程(CKLIN,DATAIN)

开始

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

QuiTn& lt;= DATAIN;

如果结束;

结束过程;



ODATAXOUT & lt;= DATAAIN和DATAIN 2;



结束行为;



Verilog



模块LVDSYIOBUFDS(CKKYP,CKKYN,DATAYP,DATAYN,TIN,P,TiNIN,IODATAYP,IODATAYN,QYP,QYN);



输入CKLYP、CKKYN、DATAYP、DATAYN、TIN、P、TIN;

IOUDATAYP,IODATAYN;

输出QYP,QYN;



导线数据2;

线材ODATAZIN;

导线ODATA输出;

有线数据表;

雷格;

线材;

导线断路器;

线锡;



IFDFDS

γ(I.标准)(“BLVDS25”)

II1(.I(DATAYP),IB(DATAYN),O(DATAY-It));



IFDFDS

γ(I.标准)(“BLVDS25”)

II2(I(TiNi p),Ib(TiN n),o(TiNi In));



OBUFDs

γ(I.标准)(“BLVDS25”)

UO1(I(qyIt),O(qYp),OB(qyn));



碘苯硫醚

γ(I.标准)(“BLVDS25”)

UO2(.I(ODATAYOUT),O(DATAI2),.T(TIN IN),IO(IODATAYP),IOB(IODATAYN);



iBFGDS

γ(I.标准)(“BLVDS25”)

UBIFFG(I(CLKYP),IB(CLKYN),O(CKLY-BIFFGOUT));



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



总是@(PASEDGE CKLIN)

开始

QuiTn& lt;= DATAIN 2;

结束



指定ODATAYOUT=DATAIN;



终端模块



超临界流体



注意:如果您想使用UCF方法,请从VHDL或Verilog代码中删除属性语句,并将下列语句添加到UCF:



UI1碘标准=BLVDS25;

UI2碘标准= BLVDSY25;

IUO 1标准=BLVDS25;

IUO IO=BLVDS25;

IUBFFG碘标准= BLVDSY25;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 09:50:30 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它