IDDR和ODDR使用

IDDR和ODDR原语是针对7系列芯片使用,spand可以使用IDDR2和ODDR2IDDR三种模式OPPOSITE_EDGEMode传统的输入DDR解决方案或OPPOSITE_EDGE模式是通过ILOGIC模块中的单个输入实现的。数据在时钟的上升沿通过输出Q1提供给FPGA逻辑,在时钟的下降沿通过输出Q2提供给FPGA逻辑。该结构类似于Virtex-6FPGA实现。图1显示…

大家好,又见面了,我是你们的朋友全栈君。

IDDR和ODDR原语是针对7系列芯片使用,spand可以使用IDDR2和ODDR2

IDDR三种模式

OPPOSITE_EDGE Mode
传统的输入DDR解决方案或OPPOSITE_EDGE模式是通过ILOGIC模块中的单个输入实现的。 数据在时钟的上升沿通过输出Q1提供给FPGA逻辑,在时钟的下降沿通过输出Q2提供给FPGA逻辑。 该结构类似于Virtex-6 FPGA实现。 图1 显示了使用OPPOSITE_EDGE模式的输入DDR的时序图。
OPPOSITE_EDGE Mode
SAME_EDGE Mode
在SAME_EDGE模式下,数据在同一时钟边沿上呈现给FPGA逻辑。 该结构类似于Virtex-6 FPGA实现。
图2显示了使用SAME_EDGE模式的输入DDR的时序图。 在时序图中,输出对Q1和Q2不再是(0)和(1)。 相反,第一对呈现的是Q1(0)和Q2(不关心),然后是下一个时钟周期的对(1)和(2)。
SAME_EDGE
SAME_EDGE_PIPELINED Mode
在SAME_EDGE_PIPELINED模式下,数据在同一时钟边沿上呈现给FPGA逻辑。
与SAME_EDGE模式不同,数据对不会分开一个时钟周期。 但是,需要额外的时钟延迟来消除SAME_EDGE模式的分离效果。 图3显示了使用SAME_EDGE_PIPELINED 模式的输入DDR的时序图。 输出对Q1和Q2同时提供给FPGA逻辑。
SAME_EDGE_PIPELINED

ODDR

在介绍ODDR之前,我们先简单了解一下OLOGIC。

OLOGIC块在FPGA内的位置紧挨着IOB,其作用是FPGA通过IOB发送数据到器件外部的专用同步块。OLOGIC 资源的类型有OLOGIC2(位于HP I/O banks)和OLOGIC3(位于HR I/O banks)。

OLOGIC2和OLOGIC3不属于原语,正因为这样,所以它们不能被直接例化。它包含在布局布线后用户可例化的一些元素,例如一个输出触发器(OFD–output flip-flop)或者一个ODDR(output DDR element)。

OLOGIC主要由两个block组成,一个用于配置输出路径。另外一个用于配置三态控制路径。这两个block具有共同的时钟,但是具有不同的使能信号OCE和TCE。两者具有由SRVAL属性精致的异步和同步set和reset(S/R信号)。

输出路径和三态控制路径可以 以 下列模式之一独立配置:

1.边沿触发的D触发器

2.DDR模式(ASAME_EDGE 或 OPPOSITE_EDGE)

3.电平敏感锁存器

4.异步电路/组合逻辑

7系列器件在OLOGIC中有专用寄存器来实现输出DDR寄存器。这个功能在例化ODDR时可见。在使用OLOGIC时,DDR的复用是自动的,不需要手动控制多路复用。这个控制是从时钟产生的。

ODDR原语是由一个时钟输入,下降沿数据由输入时钟的本地反转来计时。反馈到I/O块的所有的时钟被完全复用。例如:在ILOGIC和OLOGIC块之间没有时钟共享。ODDR原语支持OPPOSITE_EDGE 模式、SAME_EDGE模式。

SAME_EDGE模式与Virtex-6架构相同,这个模式允许设计者在ODDR时钟的上升沿向ODDR原语提供数据输入,从而节省CLB和时钟资源,并提高性能。此模式使用DDR_CLK_EDGE属性实现。它也支持三态控制。

通过ODDR把两路单端的数据合并到一路上输出,上下沿同时输出数据,上沿输出a路下沿输出b路;如果两路输入信号一路恒定为1,一路恒定为0,那么输出的信号实际上就是输入的时钟信号。

OPPOSITE_EDGE模式:

在此模式中,时钟边沿被用来以两倍的吞吐量从FPGA逻辑中捕获数据。这种结构与virtex-6的实现比较相似。两个输出都提供给IOB的数据输入或者三态控制输入。

IDDR和ODDR使用

SAME_EDGE模式:

在此模式下,数据可以在相同的时钟边沿从给IOB。相同的时钟沿将数据送给IOB可以避免建立时间违规,并允许用户使用最小的寄存器来执行更高的DDR频率来进行寄存器的延迟,而不是使用CLB寄存器。

 IDDR和ODDR使用

注意:

1、set和reset不能同时置位;

2、ODDR原语的复位需要约12个clock,第一次输入的数据可能会有问题(亲测),但亲测是如此。

3、ODDR的输出必须直接连到输出pad上,不可以再引进逻辑内部。因此会出现do_oddr的输出无法连入OLOGIC中

实际使用中,如果需要引入其他逻辑,可以考虑使用ibuf

 

ODDR原语结构图如下。

Xilinx原语ODDR概述和使用

表2-10列出了ODDR端口信号。

Xilinx原语ODDR概述和使用

表2-11描述了各种属性和ODDR原语的默认值。

Xilinx原语ODDR概述和使用

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/126173.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • android酒店点餐系统设计,基于安卓Android酒店点餐系统APP的设计与实现(MySQL)(含录像)…

    android酒店点餐系统设计,基于安卓Android酒店点餐系统APP的设计与实现(MySQL)(含录像)…基于安卓Android酒店点餐系统APP的设计与实现(MySQL)(含录像)(毕业论文9900字,程序代码,Android客户端和JAVA服务端,MySQL数据库)系统需求分析手机端:1.用户注册、登录、修改密码、修改个人信息2.查看菜单、加入菜单列表,选择日期,模拟在线支付或者餐后付款3.查看个人订单,用餐评论后台管理端:1.管理员登录、修改密码2.酒店菜…

  • Go语言初见println和fmt.Println区别「建议收藏」

    Go语言初见println和fmt.Println区别「建议收藏」目录println()函数:fmt.println()函数:总结区别:1.包不同:2.输出方式不同:3.方法返回值不同:4.内置print/println函数的调用不能接受数组和结构体参数。5.对于组合类型的参数,内置的print/println函数将输出参数的底层值部的地址,而fmt和log标准库包中的打印函数将输出接口参数的动态值的字面形式。6.如果一个实参有String()string或Error()string方法,那么fmt和log标准库包里的…

  • 睿智的目标检测26——Pytorch搭建yolo3目标检测平台[通俗易懂]

    睿智的目标检测26——Pytorch搭建yolo3目标检测平台[通俗易懂]睿智的目标检测26——Pytorch搭建yolo3目标检测平台学习前言源码下载yolo3实现思路一、预测部分1、主题网络darknet53介绍2、从特征获取预测结果3、预测结果的解码4、在原图上进行绘制二、训练部分1、计算loss所需参数2、pred是什么3、target是什么。4、loss的计算过程训练自己的yolo3模型学习前言一起来看看yolo3的Pytorch实现吧,顺便训练一下自己的…

  • windows10开启ssh_ssh连接windows

    windows10开启ssh_ssh连接windowswindowsssh命令MicrosoftannounceditwasbringinganintegratedOpenSSHclienttoWindowsin2015.They’vefinallydoneit,andanSSHclientishiddeninWindows10’sFallCreatorsUpdate.Youcannow…

    2022年10月21日
  • pycharm常用快捷键总结

    pycharm常用快捷键总结工欲善其事,必先利其器。Python开发利器Pycharm常用快捷键以及配置如下,相信有了这些快捷键,你的开发会事半功倍!一常用快捷键编辑类:Ctrl+D复制选定的区域或行Ctrl+Y删除选定的行Ctrl+Alt+L代码格式化Ctrl+Alt+O优化导入(去掉用不到的包导入)Ctrl+鼠标简介/进入代码定义Ctrl+/行注释、取消注释C…

  • 怎么判断草图完全约束_算法基础课acwing下载

    怎么判断草图完全约束_算法基础课acwing下载爱丽丝和鲍勃正在玩以下游戏。首先,爱丽丝绘制一个 N 个点 M 条边的有向图。然后,鲍勃试图毁掉它。在每一步操作中,鲍勃都可以选取一个点,并将所有射入该点的边移除或者将所有从该点射出的边移除。已知,对于第 i 个点,将所有射入该点的边移除所需的花费为 W+i,将所有从该点射出的边移除所需的花费为 W−i。鲍勃需要将图中的所有边移除,并且还要使花费尽可能少。请帮助鲍勃计算最少花费。输入格式第一行包含 N 和 M。第二行包含 N 个正整数,第 i 个为 W+i。第三行包含 N 个正整数,第.

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号