Advertisement

ODDR2 native API implementation details

阅读量:

前言

撰写这篇博客的原因是因为在Spartan6开发过程中,发现了PLL产生的时钟无法直接连接到通用I/O脚上这一问题。通常情况下,在两者之间接入ODDR2缓冲器是为了完成连接的目的。

ODDR2模块

通过查阅ODDR2原语使用规则的相关信息可知,在Spartan 6 FPGA架构中该指令集的实现方式与传统RISC架构有所不同

其引脚定义如下:
① D0和D1用于接收输入数据;
② C0和C1作为输入时钟信号使用,并且C1信号相对于C0呈180度反相;
③ CE引脚为时钟使能端口,在高电平状态下启用时钟信号;
④ R引脚用于复位操作,默认设置为低电平状态;
⑤ S引脚常设在低电平状态,并与R引脚配合使用(两者不能同时处于高电平);
⑥ Q引脚作为数据输出端口

模块调用

获取原语调用方式的途径可参考ISE语言模板。
ODDR2 #(
.DDR_ALIGNSOURCE(“NONE”), // 指定输出对齐源为"NONE"、“C0”或"C1"
.INIT(1’b0), // 设置Q输出初始状态为1’b0或1’b1
.SRTYPE(

全部评论 (0)

还没有任何评论哟~