标题: xilinx原语使用文献(3)(转) [打印本页]
作者: yuyang911220 时间: 2015-8-26 09:33 标题: xilinx原语使用文献(3)(转)
IDELAY
用户IO管脚的输入通路都有一个IDELAY模块,可用于数据信号或时钟信号,使二者同步,实现准确采集输入数据.IDELAY具有可控的64抽头延迟线,每个抽头的延迟都是经过精密校准的78ps(这个不同的芯片应该不同),且与进程,电压和温度特性无关.可弥补PCB的布线长度不一致带来的延时不同的问题.
信号说明:
I:单比特输入信号,来自于IOB 的串行输入数据;
C:单比特输入信号,时钟输入信号;
INC:单比特输入信号,用于增加或减少延迟抽头数;
CE:单比特输入信号,使能延迟抽头数增加或减少的功能;
RST:单比特输入信号,复位延迟链的延迟抽头数,如果没有编程输入则为0;
O:单比特输出信号。
Eg. IDELAY#(
.IOBDELAY_TYPE(“DEFAULT”),
.IOBDELAY_VALUE(0) //输入延迟周期,可设置0—63
) IDELAY_inst(
.O(data_o),
.C(c),
.CE(ce),
.I(data_i),
.INC(inc),
.RST(rst)
);
OBUFDS
将标准单端信号转换成差分信号,输出端口需要直接对应到顶层模块的输出信号.与IBUFDS为一对互逆操作.
Eg. OBUFDS #(
.IOSTANDARD("DEFAULT")
// 指名输出端口的电平标准
) OBUFDS_inst (
.O(O), // 差分正端输出,直接连接到顶层模块端口
.OB(OB), // 差分负端输出,直接连接到顶层模块端口
.I(I) // 缓冲器输入
);
IOBUF
单端双向缓冲器,其IO接口必须和指定的电平标准相对应,支持LVTTL,LVCOMS12, LVCMOS18, LVCMOS25以及33等信号标准.同时还可通过DRIVE, FAST以及SLOW等约束来满足不同驱动和抖动速率的需求.默认的驱动能力是12mA,低抖动. IOBUF由IBUF和OBUFT两个基本组件构成,当IO端口为高阻时,其输出口O为不定态.
Eg. // Xilinx HDL 库向导版本,ISE 9.1
IOBUF #(
.DRIVE(12),
// 指定输出驱动的强度
.IOSTANDARD("DEFAULT"),
// 指定I/O 电平的标准,不同的芯片支持的接口电平可能会有所不同
.SLEW("SLOW")
// 制定输出抖动速率
) IOBUF_inst (
.O(O), // 缓冲器的单元输出
.IO(IO), // 缓冲器的双向输出
.I(I), // 缓冲器的输人
.T(T) // 3 态使能输入信号
);
PULLDOWN / PULLUP
IO口内部上位或下位.上位是为了解决总线驱动能力不足时提供电流的,下拉电阻是用来吸引电流的.
Eg. PULLDOWN pulldown_inst( .O(data_o) );
PULLUP pullup_inst( .O(data_o) );
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |