6.2同步-我如何编码双向LVDS(BLVDS)缓冲区在VHDL和Verilog的VerTEX II?-Xilinx-AMD社区-FPGA CPLD-ChipDebug

6.2同步-我如何编码双向LVDS(BLVDS)缓冲区在VHDL和Verilog的VerTEX II?

描述

关键词:LVDS、BLVDS、代码、缓冲器、VHDL、Verilog、Virtex II

紧迫性:标准

一般描述:
如何在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;
库UNISIM;
使用UNISIM.VCISOTALS;

实体LVDSYIOBUFDS是
端口(CKKYP,CKKYN,DATAYP,DATAYN,TiNIN,TiNIN:在STDYLogic中;
IODATAYP,IODATAYN:IOUT STDYLogic;
QQP,QYN:OUT STDYLogic;
结束LVDSIIOBUFDS;

LVDSIOIUBFDDS的建筑行为

组件是
端口(I):在STDYLogic中;
IB:在STDYLogic中;
o:输出STDYLogic);
端部元件;

OBUFDS组件
端口(I):在STDYLogic中;
O:输出STDYLogic;
OB:输出STDYLogic);
端部元件;

组件IOBUFDS是
端口(I):在STDYLogic中;
在STDYLogic中;
O:输出STDYLogic;
IO:IDEUT STDYLogic;
IOB:IOUT STDYLogic);
端部元件;

组件IGBFGDS是
端口(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;

属性iString:字符串;
UI1的属性标准:标签为“BLVDS25”;
UI3的属性标准:标签为“BLVDS25”;
UO1的属性标准:标签为“BLVDS25”;
UIO2属性标准:标签为“BLVDS25”;
UBIFFG的属性标准:标签为“BLVDS25”;

开始
UI1: IFDFS端口映射(DATAYP,DATAYN,DATAAIN);
UI3:IUFDS端口映射(TIN、P、TIN、TIN);
UO1: OBUFDS端口映射(QuiTin,QQP,QYN);
IUO2: IOBUFDS端口映射(ODATAXOUT,TIN IN,DATAIN 2,IODATAYP,IODATAYN);
UBIFFG:IGBFGDS端口映射(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输出;
有线数据表;
雷格;
线材;
导线断路器;
线锡;

iBFDS UI1(.I(DATAYP),IB(DATAYN),O(DATAIN))/*综合XCYPROPS=“IOBASIC=BLVDS25”*/
iBFDS UI2(.I(TiNIN P),IB(TiNIN),O(TiNi In))/*综合XCl PROPS=“IOxSt= BLVDS25”*/;
OBUFDS UO1(.I(qyIt),o(qYp),OB(qyn))/*综合xcpPROPS=“IOxSt= BLVDSY25”*/;
IOBUFDs UO2(.I(ODATAOXOUT),O(DATAI2),.T(TIN IN),IO(IODATAYP),IOB(IODATAYN)/*综合XCYPROPS=“IOBASIC=BLVDSY25”*//;
iBFGDS UBIFFG(I(CKKYP),IB(CKKYN),O(CKKY-BiFFGOUT))/*综合XCYPROPS=“IOBASIC=BLVDSY25”*/
BUFG UBUFG(I(CKKY-BiFFGOUT),O(CLKIN It));

总是@(PASEDGE CKLIN)
开始
QuiTn& lt;= DATAIN 2;
结束

指定ODATAYOUT=DATAIN;

终端模块

UCF:

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

UI1碘标准=BLVDS25;
UI2碘标准= BLVDSY25;
IUO 1标准=BLVDS25;
IUO IO=BLVDS25;
IUBFFG碘标准= BLVDSY25;

请登录后发表评论

    没有回复内容