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

本文详细介绍了如何在FPGA设计中约束时钟引脚(如CLK)和按键引脚(如RST),包括单端/差分时钟处理、电源电压选择以及不同按键连接方式下的引脚配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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

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


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

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

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

1、单端时钟

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

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

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

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

上图中Y18所在Bank是bank14

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

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

set_property PACKAGE_PIN Y18 [get_ports gclk]

set_property IOSTANDARD LVCMOS33 [get_ports gclk]

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

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

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

2、差分时钟

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

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

直接在约束文件里面加:

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

或者图形界面选择:

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

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

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

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

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

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

                               

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

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

                                                   

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

直接加入语句

set_property PULLDOWN true [get_ports rst]

或者界面约束:

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

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

                                                           

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

直接加入代码:

set_property PULLUP true [get_ports rst]

或者在界面约束: 

 

 

差分时钟约束是针对FPGA设计中使用的差分信号时钟而设置的约束。在FPGA设计中,差分时钟是由差分对输入引脚接收的,它由两个互为相反极性的时钟信号组成。差分时钟约束的目的是确保正确地捕获和处理这些差分时钟信号,以保证系统的正常运行。 差分时钟约束可以通过设置时钟频率、时钟延迟、时钟相位等方式进行。这些约束可以通过工具(例如Vivado)提供的时钟约束语言(如XDC文件)来定义和设置。在约束中,需要指定差分时钟的输入端口、输出端口以及相关的时钟延迟和时钟频率等参数。 差分时钟约束的目的是确保差分时钟信号在FPGA设计中的正常工作,并避免时钟不稳定和其他潜在的时序问题。因此,在设计中强烈建议对差分时钟进行约束,以确保设计的可靠性和稳定性。 总的来说,差分时钟约束是为了确保FPGA设计中差分时钟信号的正常工作,并避免时序问题。通过设置时钟频率、时钟延迟、时钟相位等约束,可以保证差分时钟的正确捕获和处理。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA时序约束之时钟约束](https://blog.csdn.net/qq_45467083/article/details/117389544)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [FPGA时序约束分享02_时钟约束(实用分享)](https://blog.csdn.net/MDYFPGA/article/details/123368501)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值