【FPGA ODDR原语理解】
FPGA ODDR原语
一、原语例化内容
// ODDR : In order to incorporate this function into the design,
// Verilog : the following instance declaration needs to be placed
// instance : in the body of the design code. The instance name
// declaration : (ODDR_inst) and/or the port declarations within the
// code : parenthesis may be changed to properly reference and
// : connect this function to the design. Delete or comment
// : out inputs/outs that are not necessary.// <-----Cut code below this line---->// ODDR: Output Double Data Rate Output Register with Set, Reset// and Clock Enable.// Artix-7// Xilinx HDL Language Template, version 2019.2ODDR #(.DDR_CLK_EDGE("OPPOSITE_EDGE"), // "OPPOSITE_EDGE" or "SAME_EDGE" .INIT(1'b0), // Initial value of Q: 1'b0 or 1'b1.SRTYPE("SYNC") // Set/Reset type: "SYNC" or "ASYNC" ) ODDR_inst (.Q(Q), // 1-bit DDR output.C(C), // 1-bit clock input.CE(CE), // 1-bit clock enable input.D1(D1), // 1-bit data input (positive edge).D2(D2), // 1-bit data input (negative edge).R(R), // 1-bit reset.S(S) // 1-bit set);// End of ODDR_inst instantiation
二、参数含义
表中给出了各个参数的含义和默认值。
DDR_CLK_EDGE:可选择OPPOSITE_EDGE或者SAME_EDGE。
1)OPPOSITE_EDGE
这种模式下我认为是在clk上升沿采D1的数据,下降沿采D2数据,数据会延迟一点时间输出。
仿真如下图
2)SAME_EDGE模式
这种模式下是在上升沿采集D1 D2的数据,然后在上升沿延迟一点时间输出D1,下降沿延迟一段时间输出D2。
仿真如下图
三、应用
Oserdes、FPGA源同步系统的设计,用ODDR使得随路时钟和数据输出是严格同步的,保证相位严格对齐关系。
看到fpga官方PLL例程中将时钟D1赋值为1,D2赋值为0,参数设置成默认值,得到一个具有和输入时钟有固定延时的时钟。(在100MHz时,这个延时是100ps)
四、注意
1.Set和Reset不能同时置位。
2.ODDR原语的复位需要约12个clock,第一次输入的数据可能会有问题。
【FPGA ODDR原语理解】相关推荐
- FPGA双沿发送之ODDR原语实现
1.1 FPGA双沿发送之ODDR原语实现 1.1.1 本节目录 1)本节目录: 2)本节引言: 3)FPGA简介: 4)FPGA双沿发送之ODDR原语实现: 5)结束语. 1.1.2 本节引言 &q ...
- FPGA中的ODDR原语是干嘛用的?
文章目录 pll 锁相环实验 锁相环的作用 ip core--clock wizard clk_wiz 例化 oddr 原语 oddr 的作用 pll 锁相环实验 锁相环的作用 他的基本的作用是实现频 ...
- Xilinx推荐使用ODDR原语输出高质量时钟
Xilinx的高质量时钟输出ODDR原语[随路时钟][全局时钟网络][ZC706输出时钟][ZYNQ] 按照Xilinx的推荐,在输出时钟时最好还是把ODDR加上.这个测试用例没有体现出ODDR的优势 ...
- Xilinx IDDR和ODDR原语
IDDR和ODDR原语是针对7系列芯片使用,spand可以使用IDDR2和ODDR2 IDDR三种模式 OPPOSITE_EDGE Mode 传统的输入DDR解决方案或OPPOSITE_EDGE模式是 ...
- Xilinx IDDR与ODDR原语的使用
IDDR原语 如图所示,IDDR原语的输入输出包括D,CE,C,S,R,Q1,Q2,其中,D为输入的双倍速率的数据,即D在时钟的上升沿和下降沿都会发生切换,一个时钟周期发送2bit数据,CE为时钟使能 ...
- VIVADO IDDR与ODDR原语的使用
IDDR与ODDR简单的应用 项目简述 IDDR与ODDR的简述 RGMII时序简述 千兆网输入与输出模块的设计 测试模块的设计 仿真测试结果 总结 项目简述 在数据的传输过程中,我们经常可以碰见双沿 ...
- tb文件 vivado_Vivado IDDR与ODDR原语的使用
在数据的传输过程中,我们经常可以碰见双沿传输数据到FPGA,或者FPGA传输双沿数据给外部芯片,最常见的例子就是DDR芯片.这里说明一下,FPGA内部处理的数据都是单沿数据,那么双沿数据的变换只能发生 ...
- Xilinx FPGA用户原语介绍
原语,即primitive.不同的厂商,原语不同:同一家的FPGA,不同型号的芯片,可以也不一样:原语类似最底层的描述方法.使用原语的好处,可以直接例化使用,不用定制IP:即可通过复制原语的语句,然后 ...
- FPGA||ZYNQ概念理解之: Cortex-A9 处理器及架构
源起 Zynq系列的亮点在于FPGA里包含了完整的ARM处理子系统(PS),每一颗Zynq系列的处理器都包含了Cortex-A9处理器,整个处理器的搭建都以处理器为重心,而且处理器子系统中继承了内存控 ...
最新文章
- linux之pid文件
- 开源ImageFilter库v0.4:新增26种图片效果
- 独家解密:阿里是如何应对超大规模集群资源管理挑战的?
- scp有证书的传输,压缩,解压
- Hibernate延迟加载
- 导出EXCEL中的文件到资源管理器
- mockito mock void方法_Spock如何模拟抽象类方法
- Cocoapods pod update执行失败报错CocoaPods was not able to update the `master` repo.2019的解决...
- vue问题四:富文本编辑器上传图片
- 小学生 计算机编程 教程,面向小学生的C ++有趣编程(第一卷)配置教学资源课件完整版...
- 手机系统安装打印机服务器错误代码,OKI打印机报错?各型号代码故障解决方法...
- linux 挂载u盘考试,Linux 挂载U盘,与解挂
- 大数据之-Hadoop3.x_MapReduce_WordCount编写_Reducer---大数据之hadoop3.x工作笔记0090
- cdh中hue集成hbase_HBase版本 | Cloudera Enterprise 6.2.0发布
- 战胜棋王后,人工智能是否可以颠覆安全?
- python1到100偶数求和_python1-100怎样偶数求和?_后端开发
- 广东省惠州市谷歌卫星地图下载
- 电子邮件验证及部分常用正则表达式
- NAND Flash批量数据烧录
- 纳米磁珠+AI:让液体活检越走越近