FPGA如何根据原理图进行约束------(基础详细教程)

这篇具有很好参考价值的文章主要介绍了FPGA如何根据原理图进行约束------(基础详细教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、约束时钟引脚(如CLK)

二、约束与按键相连引脚(如RST)


一、约束时钟引脚(如CLK)

首先我们需要找到晶振,时钟大多数由晶振产生。

打开原理图,晶振一般在原理图中使用大写“X”或“Y”开头。

1、单端时钟

下图是一个单端时钟,时钟频率一般会在原理图中标明。(若没有在原理图中标出,可以通过直接观看晶振(板子上的实物)表面,或者使用示波器测量)

fpga clk引脚,FPGA,fpga开发

 我们通过搜索找到与信号FPGA_GCLK1相连的FPGA引脚。

fpga clk引脚,FPGA,fpga开发

如上图所示,与时钟clk(50MHZ)相连的FPGA引脚是Y18。

 确定引脚后,还需确定引脚所在的BANK电压。

上图中Y18所在Bank是bank14

fpga clk引脚,FPGA,fpga开发

 我们需要在原理图中找到bank14的电压,一般原理图都会将电源引脚和信号引脚分开画,很容易就可以找到bank电压

fpga clk引脚,FPGA,fpga开发

 VCCO_14就是bank14的电压,也就是3.3V,我们就可以在约束文件中写:

set_property PACKAGE_PIN Y18 [get_ports gclk]

set_property IOSTANDARD LVCMOS33 [get_ports gclk]

或者在引脚约束界面这样约束:

fpga clk引脚,FPGA,fpga开发

 怎么进行引脚约束可以参考:

vivado进行管脚约束(详细教程)_vivado管脚约束_千寻xun的博客-CSDN博客

2、差分时钟

fpga clk引脚,FPGA,fpga开发

 按照上面的方法找到引脚和bank电压

fpga clk引脚,FPGA,fpga开发fpga clk引脚,FPGA,fpga开发

 差分信号在约束时只需约束一端即可,一般是P端,也就是正端。电压这里选择差分信号,1.5v。

直接在约束文件里面加:

set_property PACKAGE_PIN R4 [get_ports sys_clk_p]
set_property IOSTANDARD DIFF_SSTL15 [get_ports sys_clk_p]

或者图形界面选择:

差分对软件会自动识别,直接绑定在一起,约束时只用约束一个信号。

fpga clk引脚,FPGA,fpga开发

二、约束与按键相连FPGA引脚(如RST)

在原理图中找到需要使用的按键,按键与FPGA相连有几种情况

1、有上拉电阻,按下为低电平

fpga clk引脚,FPGA,fpga开发

 对于这种情况,我们在约束时可以按照约束时钟信号方法约束引脚和电压。但是需要注意,按键未按下时为高电平(1),按下按键时为低电平(0)。

2、有下拉电阻,按下高低电平

                               fpga clk引脚,FPGA,fpga开发

  对于这种情况,我们在约束时可以按照约束时钟信号方法约束引脚和电压。但是需要注意,按键未按下时为低电平(0),按下按键时为高电平(1)。

3、无上、下拉电阻,按下为高电平

                                                   fpga clk引脚,FPGA,fpga开发

 对于这种情况,我们在约束时除了按照约束时钟信号方法约束引脚和电压外,还需在FPGA内部对引脚进行下拉,上图按键按下后为高电平,所以在未按下时应让它为低电平,需要进行下拉(接低电平)。

直接加入语句

set_property PULLDOWN true [get_ports rst]

或者界面约束:

fpga clk引脚,FPGA,fpga开发

 在使用时是未按下时为低电平(0),按下按键时为高电平(1)。

4、无上、下拉电阻,按下为低电平

                                                           fpga clk引脚,FPGA,fpga开发

 这种情况与3类似,需要在FPGA内部进行上拉,按键按下后为低电平,所以在未按下时应让它为高电平,需要进行上拉(接高电平)。

直接加入代码:

set_property PULLUP true [get_ports rst]

或者在界面约束: 

fpga clk引脚,FPGA,fpga开发 

 文章来源地址https://www.toymoban.com/news/detail-788351.html

到了这里,关于FPGA如何根据原理图进行约束------(基础详细教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • FPGA时序分析与约束(6)——综合的基础知识

            在使用时序约束的设计过程中,综合(synthesis)是第一步。         在电子设计中,综合是指完成特定功能的门级网表的实现。除了特定功能,综合的过程可能还要满足某种其他要求,如功率、操作频率等。         有时,针对特定种类或者电路有专门的综合工具

    2024年02月08日
    浏览(43)
  • 【FPGA 约束:set_clock_groups 之异步时钟】——详细解析

    【FPGA 约束:set_clock_groups 之异步时钟】——详细解析 FPGA 设计中,设置正确的时钟约束是非常重要的。在设计中,不同的时钟域之间都需要进行一定的同步和互锁,以保证系统能够正常工作。而异步时钟则是其中一个比较特殊的情况,其时序关系相对较为复杂,需要采用专门

    2024年02月09日
    浏览(44)
  • 如何利用 MidJourney 进行 AI 艺术创作(详细教程)

    Midjourney是生成AI的一个很好的例子,它根据文本提示创建图像。它已成为创建AI艺术的最流行的工具之一,与Dall-E和Stable Diffusion一起。与竞争对手不同,Midjourney是自筹资金和闭源的,因此确切地知道引擎盖下是什么是多云的。我们知道它严重依赖机器学习技术,如大语言和扩

    2024年02月07日
    浏览(42)
  • 【ug903】FPGA时序约束学习(4)-如何约束跨时钟域(Clock domain crossing,CDC)

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

    2024年02月08日
    浏览(40)
  • 无线路由器如何进行无线桥接的详细图文教程(推荐)

    工具/原料 网络 两台无线路由器(其中至少一台有桥接功能) 步骤一 配置PC环境 1、为保证后续无线桥接配置的正确和完整性,建议用网线连接路由器,并将本机的IP(IPv4)设置为固定,且确保该固定IP是与主路由器IP同网段。 2、单击“开始”按钮,输入“cmd”,按回车,再输

    2024年02月06日
    浏览(56)
  • FPGA的时序分析、约束和收敛(6)----如何读懂vivado下的时序报告?

    目录 写在前面 1、建立工程与添加时序约束 2、时序报表         在之前的文章中写了一些时序分析的基础概念,同时还说了文章中提到的公式根本就不需要记忆,因为综合工具vivado会帮你把所有时序路径都做详尽的分析,你所需要做的就是理解概念。         光说不

    2024年02月12日
    浏览(53)
  • 【postgresql 基础入门】表的约束(二) 唯一unique、非空not null、check、exclusion约束,原理机制以及多列组合约束

    ​ 专栏内容 : postgresql内核源码分析 手写数据库toadb 并发编程 个人主页 :我的主页 管理社区 :开源数据库 座右铭:天行健,君子以自强不息;地势坤,君子以厚德载物. 在数据库中,数据类型可以限制数据存储的大小,也能在一定程度上限制存储的数据种类,但是对于数

    2024年04月08日
    浏览(58)
  • [C++] 基础教程 - 如何使用google test进行单元测试

    https://download.csdn.net/download/u011775793/88601877 单元测试是一种软件测试方法,用于测试代码中的最小可测试单元。在软件开发中,我们通常将代码分解为多个模块或类,每个模块或类都有自己的功能和行为。单元测试的目的是确保每个模块或类都能正常工作,不会影响其他模块或

    2024年02月04日
    浏览(46)
  • Mysql列的完整性约束最详细教程之一——详解

    目录 前言 一、主键约束 1.设置字段的主键约束(PRIMARY KEY,PK) 1.单字段主键 2.多字段主键 二、设置表字段的外键约束 1.简介 2.语句格式 三、设置表字段的非空约束(NOT NULL, NK) 1.简介 2.语句格式 四、设置字段值自动增加(AUTO_INCREMENT)  1.语句格式   2.实际应用 五、设置

    2024年02月04日
    浏览(41)
  • PostgreSQL如何根据执行计划进行性能调优?

    PG中EXPLAIN命令语法格式如下: 该命令的options如下: ANALYZE [boolean] VERBOSE [boolean] COSTS [boolean] BUFFERS [boolean] FORMAT {TEXT | XML | JSON | YAML} ANALYZE 选项通过实际执行SQL来获得SQL命令的实际执行计划。 ANALYZE选项查看到的执行计划因为真正被执行过,所以可以看到执行计划每一步耗费了

    2024年02月12日
    浏览(43)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包