FPGA_学习_05_管脚约束

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

前言:就初学管脚约束相关知识而言,内容还不足以构成饱满的文章。 但管脚约束是一个独立的内容,它是值得有一篇单独的博客的。若后续学习了管脚约束新的知识,则进一步扩充本篇博客内容。

1 XDC基础语法

Vivado的管脚约束文件用XDC 编写的,下面介绍XDC基础语法,普通IO口只需约束引脚号和电压。

引脚号约束:

        set_property    PACKAGE_PIN    “引脚编号”    [      get_ports        “端口名称”  ]

电平信号约束:

        set_property    IOSTANDARD      “电压”           [      get_ports       “端口名称”    ]

这里需要注意文字的大小写,端口名称是数组的话用{}括起来,端口名称必须和源代码中的名字一致,且端口名字不能和关键字一样

以 led[0]的约束为例:

        set_property    PACKAGE_PIN    P15                [      get_ports        {led[0]}  ]            

                                                                                                        // 绑定 led[0]的管脚

        set_property    IOSTANDARD      LVCMOS33   [      get_ports        {led[0]}  ]            

                                                                                                        // 设置 led[0]的电平约束。

如果端口名称是数组的话,电平信号约束可以批量化操作

        set_property    IOSTANDARD      LVCMOS33   [      get_ports        {led[*]}  ]            

                                                                                                     //  约束led数组所有的电平。

另外系统的主时钟也需要添加一行约束。

        create_clock   -period                  20.000           [      get_ports        clk   ]

        set_property    PACKAGE_PIN    N18               [      get_ports        clk   ]

和时钟相关的原理图如下所示:

fpga管脚约束,FPGA,fpga开发,学习

上述约束语句对应的模块接口定义如下:

module led(
        input   wire                  clk,
        output  wire    [1:0]         led      
);
endmodule

再次强调例子中用的端口名称是clk和led,这是 模块源码的接口定义对应的。 

2 XDC语言模板查询方法

相关内容,可以在Vivado的Tools→Language Templates里面学习

fpga管脚约束,FPGA,fpga开发,学习

fpga管脚约束,FPGA,fpga开发,学习

fpga管脚约束,FPGA,fpga开发,学习

3 管脚约束UI操作

约束文件也可以不用手写,直接用操作完成。

流程:源码写好,先综合(Synthesis),之后点击Synthesis → Open Synthesized Design → Schematic → n I/O Ports,就可以图形化操作管脚约束了。

fpga管脚约束,FPGA,fpga开发,学习

关于管脚约束的知识应该还有到目前为止没有碰到的内容,后续遇到了再补充,未完待续… 

愿我们共同进步! 感谢您的阅读,欢迎留言讨论、收藏、点赞、分享。文章来源地址https://www.toymoban.com/news/detail-565971.html

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

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

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

相关文章

  • 【ug903】FPGA时序约束学习(4)-如何约束跨时钟域(Clock domain crossing,CDC)

    【ug903】FPGA时序约束学习(4)-如何约束跨时钟域(Clock domain crossing,CDC)

    时序约束系列: 如何约束时钟 主时钟、虚拟时钟、生成时钟、时钟组、时钟不确定性 如何约束输入输出延迟 输入延迟、输出延迟 如何约束时序例外 多周期路径、输入输出延迟、虚假路径、最大最小延迟 如何约束跨时钟域 总线偏斜 跨时钟域(Clock Domain Crossing,CDC)约束适用

    2024年02月08日
    浏览(25)
  • Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

    Xilinx FPGA SPIx4 配置速度50M约束语句(Vivado开发环境)

    qspi_50m.xdc文件: 等同于图形化配置方式:

    2024年02月22日
    浏览(52)
  • 【Xilinx FPGA】DDR3 MIG 时钟管脚分配

    【Xilinx FPGA】DDR3 MIG 时钟管脚分配

    之前在验证 FPGA 板卡的芯片管脚时,所用的测试工程使用内部 PLL 生成的时钟作为 DDR3 的参考时钟。后来尝试将参考时钟改为外部 100M 晶振时钟,发现 MIG IP 配置工具找不到相应管脚,于是学习并梳理了 Xilinx DDR3 MIG IP 时钟管脚的分配规则,在这里做个记录。   目录 1 MIG 时钟

    2024年02月06日
    浏览(11)
  • AD21 PCB设计的高级应用(四)FPGA的管脚交换功能

    AD21 PCB设计的高级应用(四)FPGA的管脚交换功能

    高速 PCB 设计过程中,涉及的 FPGA等可编程器件管脚繁多,也因此导致布线的烦琐与困难,Altium Designer 可实现 PCB 中 FPGA 的管脚交换,方便走线。 1.FPGA管脚交换的要求 (1)一般情况下,相同电压的 Bank之间是可以互调的。在设计过程中,要结合实际,有时要求在一个 Bank 内调整,就需要

    2024年02月07日
    浏览(28)
  • Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

    Xilinx FPGA未使用管脚上下拉状态配置(ISE和Vivado环境)

    ISE开发环境 ISE开发环境,可在如下Bit流文件生成选项中配置。 右键点击 Generate Programming File ,选择 Process Properties , 在弹出的窗口选择 Configuration Options-Unused Pin ,选择 Pull Down、Pull Up或者Float 。 可以看到,除了未使用管脚,一些系统管脚,比如JTAG,Program、Done管脚等等都可

    2024年02月06日
    浏览(14)
  • xilinx7系列FPGA上电flash模式选择,及CFGBVS管脚电平选择

    xilinx7系列FPGA上电flash模式选择,及CFGBVS管脚电平选择

    xilinx7系列FPGA上电flash模式选择,主要是控制mode管脚电平。详情见下图:  若FPGA配置flash为spi flash类型,mode【2:0】=001;FPGA配置flash为bpi flash类型,mode【2:0】=010。 FPGA上电读bpi flash时序如图: FPGA上电读spi flash x1模式时序如图: Configuration Banks Voltage Select ( CFGBVS ) 配置组电压

    2024年02月16日
    浏览(47)
  • FPGA设计进阶3--FPGA物理约束

    FPGA设计进阶3--FPGA物理约束

    Reference: Xilinx FPGA权威设计指南         Xilinx Vivado集成开发环境为设计者提供了通过设置FPGA内对象的属性实现对FPGA内对象进行约束的物理约束。这些约束包括: (1)I/O约束,如位置和I/O标准 (2)布局约束,如单元的位置 (3)布线约束,如固定的布线 (4)配置约束,

    2023年04月24日
    浏览(14)
  • FPGA时序约束--进阶篇(主时钟约束)

    FPGA时序约束--进阶篇(主时钟约束)

    在FPGA设计中,时序约束的设置对于电路性能和可靠性都至关重要。在上一篇的文章中,已经详细介绍了FPGA时序约束的基础知识。 本文将重点讲解主时钟约束设置,给出详细的约束命令,并介绍了在Vivado中如何写入主时钟约束。 主时钟是FPGA电路中最基础的时钟,其稳定性和

    2024年02月09日
    浏览(12)
  • FPGA时序约束与分析(1) --- 时序约束概述

    FPGA时序约束与分析(1) --- 时序约束概述

    本系列参考文献 — FPGA时序与约束分析-吴厚航 FPGA从综合到实现需要的过程如下:synth_design - opt_design - place-design - phys_opt_design - route_design 1、时序约束的理解 2、时序约束的基本路径 3、时序约束的步骤 4、时序约束的主要方法 5、查看相关时序信息 FPGA的设计约束分为物理约束

    2024年02月16日
    浏览(13)
  • FPGA时序分析与时序约束(二)——时钟约束

    FPGA时序分析与时序约束(二)——时钟约束

    目录 一、时序约束的步骤 二、时序网表和路径 2.1 时序网表 2.2 时序路径  三、时序约束的方式 三、时钟约束 3.1 主时钟约束 3.2 虚拟时钟约束 3.3 衍生时钟约束 3.4 时钟组约束 3.5 时钟特性约束 3.6 时钟延时约束         上一章了解了时序分析和约束的很多基本概念(FP

    2024年02月03日
    浏览(12)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包