FPGA写约束文件+固化+上板抓信号方法(vivado软件)

我们在对程序进行仿真,确认仿真无误后,就需要上板子进行验证

下面我以花式流水灯程序为例FPGA状态机实现花式流水灯_居安士的博客-CSDN博客

介绍FPGA如何上板,以及抓信号的几种方法

目录

FPGA上板

写约束文件

生成比特流文件的步骤:

上板步骤:

固化步骤:

FPGA抓信号

1综合图像法

2.添加代码法

3.调用IP核法

抓信号操作


FPGA上板

写约束文件

首先创建约束文件

点击add source,选择add or create constraints

点击crate file,给约束文件命名

 

constraints里面会出现约束文件.xdc文件,接下来根据FPGA原理图在约束文件里面把管脚和电平标明。

 

可见LED1对应AB11,LED2对应AB12,LED3对应AA9,LED4对应AB10

set_property PACKAGE_PIN Y18 [get_ports clk_50m]     
set_property IOSTANDARD LVCMOS33 [get_ports clk_50m]

set_property PACKAGE_PIN AB11 [get_ports {led_out[0]}]
set_property PACKAGE_PIN AB12 [get_ports {led_out[1]}]
set_property PACKAGE_PIN AA9  [get_ports {led_out[2]}]
set_property PACKAGE_PIN AB10 [get_ports {led_out[3]}]

set_property IOSTANDARD LVCMOS33 [get_ports {led_out[0]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led_out[1]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led_out[2]}]
set_property IOSTANDARD LVCMOS33 [get_ports {led_out[3]}]

前两行是时钟约束,信号名称需要和代码对应起来

后面是管脚约束,将led信号放在芯片的引脚:set_property PACKAGE_PIN xxx [get_ports xxx]

将led所在引脚的电气标准设置为LVCMOS33:set_property IOSTANDARD LVCMOS33 [get_ports xxx]

保存约束文件,之后生成比特流文件


生成比特流文件的步骤:

1 点击 Run Synthesis 进行综合

2点击Run Implementation 。如果工程尚没有进行综合(Synthesis)则会先进行综合,之后再进行实现(Implementation)。

3  点击Generate Bitstream。则会同时检查是否已经进行了综合和实现,如果没有则依次进行综合、实现最后再生成二进制文件。

若不出现严重警告和错误,则生成比特流文件

出现下面界面:

接着将板子进行连接


上板步骤:

1.点击open hardware manager——open target——自动连接

 

2鼠标右键选择program device

3点击运行

随着掉电之后,比特流程序也就随之消失,再次上电,又要重新编译下载程序,如果想把程序保留,需要固化程序


固化步骤:

1.鼠标右键 Generate Bitstream点击Bitstream setting

 2.勾选bin文件——ok

 3 鼠标右键选择add configuration memory device

4.选128 Mb;选spi;选x1_x2_x4;下面芯片选倒数第二个——ok

5.选择bin文件:.tuns——impl——bin

 6.固化成功显示:

7.再次运行,将bit文件改成bin文件

ps:若要擦除,就再下载一次,只勾选Erase 


 在这里LED灯的亮灭是清晰可见的,我们可以判断程序运行成功,但是有些程序是否成功运行是无法通过板子反映出来的,这个时候就需要抓信号

FPGA抓信号

抓信号有几种方法,在这里分别进行列举,大家可以根据自己的喜好选择

1综合图像法

点击run synthesis——运行完成后点击schematic

在图像上选中信号线,鼠标右击Mark debug

再进行综合,选择save

再进行综合,连线图上面出现小虫:

 若想去掉:鼠标右键unmark debug

接下来设置debug:鼠标右键setup debug

修改抓的时间(数据深度1024等)——finish

重新生成比特流文件并运行

2.添加代码法

在需要检测的信号前面加(*mark_debug=”ture”*)

(*mark_debug=”ture”*)wire time1_en;
(*mark_debug=”ture”*)wire time2_en;

重新生成比特流文件并运行 

3.调用IP核法

搜索ILA,选择ILA(integrated logic analyzer)

选择检测多少路和数据深度

设置信号的位宽(根据自己的程序)

 把ILA例化进有待检测信号的程序里面

ila_0 your_instance_name (
	.clk(clk_25m), // input wire clk
	.probe0(time1_en), // input wire [0:0]  probe0  
	.probe1(time2_en), // input wire [0:0]  probe1 
	.probe2(led_out) // input wire [3:0]  probe2
);

重新生成比特流文件并运行


抓信号操作

这个时候会自动出现.ltx文件

 点击program,会自动弹出下面的debug页面

 对需要抓取的信号进行触发条件设置,之后运行

单个信号抓取,红线会在信号满足触发条件的地方

多个抓取,红线会在同时满足触发条件的地方

抓取的信号位宽不为1时,可以修改需要抓取的数值


综上, 我以花式流水灯为例,介绍了FPGA上板的方法:包括写约束文件,生成比特流文件,以及固化操作;此外还介绍了3种抓信号方法

  • 14
    点赞
  • 130
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
FPGA开发板源码下载是指从网络或其他途径获取FPGA开发板的源代码。源代码是一种人类可读的计算机程序,它是编程序的原始形式,可以被翻译成计算机可执行的指令。 在FPGA开发中,源代码是进行硬件设计和编程的基础。通过下载FPGA开发板的源码,我们可以获得开发板的完整项目文件,包括顶层设计文件、IP核、约束文件和测试代码等。 下载FPGA开发板源码的目的有以下几点: 1. 学习借鉴:开发板的源码可以帮助初学者学习FPGA开发的基本原理和方法,通过阅读源码可以了解到一些实际工程中常用的设计技巧和模块结构。 2. 修改定制:通过下载源码,我们可以修改和定制开发板的功能和特性,以满足自己的需求。这有助于在设计过程中快速验证想法,并加快原型开发的速度。 3. 故障排除:有时候我们在使用FPGA开发板进行实验或项目时会遇到问题或故障。下载源码可以帮助我们更好地进行故障排查和修复,提高开发的效率。 4. 分享交流:开发板的源码也可以被用来进行分享和交流。通过开源的方式,我们可以与其他开发者共享自己的设计和经验,促进技术交流和合作。 总之,FPGA开发板源码下载对于学习、修改、排错和分享来说都具有重要意义。通过下载源码,我们可以更好地理解和利用FPGA开发板,并在硬件设计和编程中取得更好的效果。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值