AnlogicFPGA-IO引脚约束设置

这篇具有很好参考价值的文章主要介绍了AnlogicFPGA-IO引脚约束设置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

(https://www.eefocus.com/article/472120.html此链接是一篇关于XillinxFPGA的IO的状态分析,希望自己也要能了解到AnLogic的IO状态并有对此问题的分析能力)

在TD软件执行完Read Design后就可打开IO Constraint。有以下参数。
AnlogicFPGA-IO引脚约束设置

1、DriveStrength:
驱动强度,即最大能驱动的电流大小(见带负载能力的博文)。

2、PullType:
PullType共有四种选择: PULLUP、PULLDOWN、 NONE、KEEPER。数字电路有三种状态:高电平、低电平和高阻。当 输入为无效 信号的时候 ,可以通过上拉( PULLUP)电阻 和下拉 (PULLDOWN)电阻的方式使其处于稳定状态。当选择 (KEEPER)时, 使电平保持为上一个有效值。当 IO端口设为LVDS的 时候, PullType只能设为 None。
AnlogicFPGA-IO引脚约束设置
3、PackReg:
xilinx FPGA的基本资源一般包括可编程IO,IOB,CLB,BRAM,DCM,DSP等资源,某些器件还会集成一些特殊的硬核,例如GT、MIG等。其中IOB就是input/output buffer。可编程IO的作用就是完成信号的采集和输出,引脚可以配置支持不同电气特性,上拉下拉或三态,差分或单端。IOB与附近的idelay、odelay、ilogic、ologic和可编程IO等资源,共同组成FPGA的IO_Bank。(https://blog.csdn.net/wenjia7803/article/details/115339122)
AnlogicFPGA-IO引脚约束设置
为了保证FPGA输入输出接口的时序,一般会要求将输入管脚首先打一拍再使用,输出接口也要打一拍再输出FPGA。这样做的目的是为了让这打一拍的寄存器约束到IOB上,从而使得每一次编译输入或者输出的时序不会发生改变。这是因为,IOB是位于IO附近的寄存器,是FPGA上距离IO最近的寄存器,并且位置固定。当你输入或者输出采用了IOB约束,那么就可以保证从IO到达寄存器或者从寄存器到达IO之间的走线延迟最短、最大限度保证时序满足要求,同时由于IO的位置是固定的,所以每一次编译都不会造成输入或者输出的时序发生改变。
IOB的应用一般有两种,一种是在代码中添加约束,另一种可以在约束文件xdc中添加。

在约束文件中加入下面约束:
set_property IOB true [get_ports {port_name}]

直接在代码中加约束,在寄存器前加入下面约束,需要注意的是,对于输入IOB约束,这里的寄存器是第一级寄存器,对于输出IOB约束,这里的寄存器是最后一级寄存器,且寄存器输出不能再作为组合逻辑输入。
(* IOB = “true” *) reg O_data;

对于AnLogic-FPGA直接在IO Constraints界面的的PackReg来设置即可。

4、InDelay/OutDelay:
(https://blog.csdn.net/qq_41332806/article/details/109863482)
(https://blog.csdn.net/miracle_eicont/article/details/113064533)
Xillinx对于In/Out的delay,是由一整套操作流程,对于AnLogic,IO设置界面可以直接选取固定的一些值。这个延迟是内部延迟,到IOL的延迟(其实这部分延迟,具体的细节不清楚,有可能也不需要清楚,只要读懂时序报告,能根据时序报告来做出反应最重要),我们set_input_delay是外部到端口pad的延迟。

5、hysteresis 【ˌhɪstəˈriːsɪs】迟滞:
(https://blog.csdn.net/chentengkui/article/details/72567762)施密特触发器
AnlogicFPGA-IO引脚约束设置
网上有一个问题是,一个工程师看到某器件手册的Input Hysteresis参数指标,不明白。
AnlogicFPGA-IO引脚约束设置
迟滞。打个比方说, 有个电压值,高于3V则为高,低于3V则为低。如果一个电压在3V左右,比如一会是3.0xV,一会又是2.9xV(这种情况在现实中很常见的), 这时你判断的状态就一会是低一会是高。
如果此时加入了迟滞,比如说加入了0.25V的迟滞,当电压高于3V时,判断为高,此时,只要电压高于(3-0.25V),则仍然判断为高。同样的道理,当电压低于3V时,则判断为低,此时只要电压低于(3+0.25V)时,仍然判断为低。这样一来,即使你电压由于噪声在小范围的波动,也不会出现误判了。

对于IO的一些设置,关注点重点还是在于时序上,对于PLL的时钟反馈模式,也让我纠结过,
根据TN604对源同步模式反馈的描述,文字理解如下:
设置了PLL核,选择源同步模式,那么PLL的输入参考时钟也即时钟输入端口到IOB寄存器的物理延时会和数据端口到IOB寄存器的物理延时相等。

对于一个开发工程来说,有一个输入时钟脚进入一个时钟clk0,系统用到的时钟有几种情况:
1)整个设计只有这一个时钟,也不用在设计中倍频或分频来給别的模块用;
对于这种情况可以,又可以做俩种处理,第一是不上BUFG,对应的同步数据口,我们希望数据进入的第一个寄存器要在IOB中。
第二是上BUFG,那么出来BUFG输出的全局时钟来进行锁存数据端口,要搞清时钟上BUFG后,较时钟端口的时钟信号clk0要延迟的量度在多少。
2)需要用锁相环进行分频倍频来进行相关模块的设计;
分频倍频出来的时钟和锁相环进入的时钟信号,软件会清楚他们之间的关系。所以分倍频出来的时钟直接去驱动其他模块就好了,而数据端口
依旧用clk0来进行锁存,若是锁相环用源同步反馈,clk0与数据口的时序对应关系 和 数据在IOB的寄存器D端与IOB寄存器的时钟口时序对应关系 一致。
那么有人会用锁相环来出一个和时钟端口clk0一样的时钟频率clk1,对于用IOB的寄存器时钟口时钟来进行锁存数据,要经历的延迟有:
clk0到PLL输入口的延迟 加 clk1较clk0的偏移 加 clk1到全局时钟网络上又到IOB寄存器时钟口的延迟。到IOB寄存器时钟口的总延迟若是十分接近数据
端口到IOB寄存器D端的话(要满足建立保持时间),那么就不会有太大问题。

硬件结构上每家器件有些许不同,不过要看得懂时序报告,能根据时序报告分析出问题,时序报告应该具有相通性文章来源地址https://www.toymoban.com/news/detail-463799.html

到了这里,关于AnlogicFPGA-IO引脚约束设置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • stm32f407探索者开发板(十四)——IO引脚复用和映射

    stm32f407探索者开发板(十四)——IO引脚复用和映射

    端口复用和重映射都是和单片机的I/O口有关系,端口复用是将一个I/O赋予多个功能,通过设置I/O的工作模式来切换不同的功能。重映射是将某些I/O口上面的功能映射到其他I/O口上面去。但是注意一点:重映射的I/O都是厂家设置好的,不能自己更改。 端口复用 什么是端口复用

    2024年02月16日
    浏览(15)
  • 注册天翼云关联地址:https://www.ctyun.cn/agent/#/invitation/10241586

    注册天翼云关联地址:https://www.ctyun.cn/agent/#/invitation/10241586

    注册关联地址: https://www.ctyun.cn/agent/#/invitation/10241586 中国电信云计算公司运营的天翼云是一个运营商级别的一站式信息服务门户,为用户提供云主机、云存储、云备份、桌面云、大数据等全线产品,同时为政府、教育、金融等行业打造定制化云解决方案。     中国电信云计

    2024年02月12日
    浏览(10)
  • SAR: 1 4 https://www.vulnhub.com/entry/sar-1%2C425/

    SAR: 1 4 https://www.vulnhub.com/entry/sar-1%2C425/

    About Release Back to the Top Name : Sar: 1 Date release : 15 Feb 2020 Author : Love Series : Sar Download Back to the Top Please remember that VulnHub is a free community resource so we are unable to check the machines that are provided to us. Before you download, please read our FAQs sections dealing with the dangers of running unknown VMs and our suggesti

    2024年02月13日
    浏览(15)
  • 谷歌浏览器地址栏不显示http或者https://www.前缀解决办法

    谷歌浏览器地址栏不显示http或者https://www.前缀解决办法

    可能与浏览器版本有关,可参考此版本 恢复完整版域名步骤: 1.打开 chrome://flags/ 2.找到 Omnibox on-focus suggestions for the contextual Web 改成 enabled 3…根据提示 relaunch 浏览器 4.右键地址栏 5.完成,刷新浏览器 可参考 http://www.taodudu.cc/news/show-4921051.html?action=onClick

    2024年02月08日
    浏览(13)
  • 解决Visual Studio 2019未能从“https://www.nuget.org/api/v2/package..“下载包问题

    解决Visual Studio 2019未能从“https://www.nuget.org/api/v2/package..“下载包问题

    今天从码云官网上下载了一个开源的.net项目,IDE使用的是VS2019,编译之前需要通过NuGet下载依赖的包,但是在下载依赖包的过程中出现了一系列问题。 这个问题主要是NuGet的源地址失效导致的,因此,要解决这个问题,主要是更改NuGet的源地址,更改方法如下: 1、打开Visua

    2024年02月16日
    浏览(71)
  • Vivado时序约束TCL命令——获取引脚(get_pins)在FPGA设计中起着重要作用。本文将为大家详细介绍get_pins命令的语法和使用方法。

    Vivado时序约束TCL命令——获取引脚(get_pins)在FPGA设计中起着重要作用。本文将为大家详细介绍get_pins命令的语法和使用方法。 get_pins命令用于获取指定对象(Object)的引脚(Pin)列表。我们可以使用get_pins来获取具有特定命名约定的引脚(如CLOCK、RESET等),并通过对这些引

    2024年02月05日
    浏览(107)
  • RK356x 在uboot下设置GPIO引脚默认电平

    RK356x 在uboot下设置GPIO引脚默认电平

    在uboot启动的时候需要把某个CPU引脚拉高或者拉低,促使某个功能能正常运行。 思路一 首先打开RK356X的SDK软件包,查看一下uboot源码,这次我先在u-boot/common/board_f.c和board_r.c文件上添加GPIO口设置,虽然添加了gpio_direction_output()或者gpio_set_value()类似的GPIO设置的函数,但是用万用

    2024年02月10日
    浏览(11)
  • uboot - pinctrl - FPGA回片前测试阶段 - 设置GPIO引脚复用失败

    uboot - pinctrl - FPGA回片前测试阶段 - 设置GPIO引脚复用失败

    pinctrl设置引脚复用失败,没有调用到controller中的set_groups_function函数。 pinctrl如何注册dm节点 如何进行设备树中各个设备节点下的复用配置 为什么没调用到控制器实现的set_groups_function函数 调用过程: 上面的调用过程是通过加log找出来的,log如下: 看着就是在pinctrl_select_st

    2024年03月26日
    浏览(13)
  • 【Sql Server】创建表,修改表及列约束和表约束的设置

    【Sql Server】创建表,修改表及列约束和表约束的设置

    友情提示:菜鸡用土话写的文章 文章目录 目录 文章目录 前言 一、 实验目的 二、 实验要求 三、 实验内容 实验2-1 创建表 表2.1 “student”表的结构 表2.2 “course”表的结构 表2.3 “sc”表的结构 二、实验步骤 1.使用SSMS创建“student”表 ​编辑 2.修改表 ​编辑 4.设置唯一性约

    2023年04月15日
    浏览(8)
  • 小程序 - Taro小程序中打开h5页面链接 - 并解决:无法打开该页面 - 不支持打开 https://www.baidu.com/,请在“小程序右上角更多->反馈与投诉”中和开发者反馈

    小程序 - Taro小程序中打开h5页面链接 - 并解决:无法打开该页面 - 不支持打开 https://www.baidu.com/,请在“小程序右上角更多->反馈与投诉”中和开发者反馈

    Taro 小程序中h5跳转打开页面 借助 webView 组件打开h5页面 @/pages/webView/webView.js 文件 Taro 中 webView 组件 29 行 主要代码 无法打开该页面 - 不支持打开 https://www.baidu.com/,请在“小程序右上角更多-反馈与投诉”中和开发者反馈 解决 - 在微信公众平台 小程序进行业务域名配置 具体

    2024年02月09日
    浏览(17)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包