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

描述

关键词:LVDS、BLVDS25、BLVDS、XST、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;

实体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输出;
有线数据表;
雷格;
线材;
导线断路器;
线锡;

IFDFDSBLVDS2525 UI1(.I(DATAYP),IB(DATAYN),O(DATAY-It));
IFDFDSBLVDS2525 UI2(I(TIN)P,IB(TIN N),O(TIN IN));
OBUFDS1/BLVDS2525 UO1(i(qyIt),o(qYp),OB(qyn));
IOUFFDSDSBLVDS2525 UO2(.I(ODATAOXOUT),O(DATAI2),.T(TIN IN),IO(IODATAYP),IOB(IODATAYN);
iBFGDSDSBLVDS2525 UBIFFG(I(CKKYP),IB(CLKYN),O(CKLY-BIFFGOUT));
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;
编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

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

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

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