芯路恒电子技术论坛

 找回密码
 立即注册
热搜: 合集
查看: 1501|回复: 0

【vivado拓展】单逻辑工程的多开发板适配

[复制链接]

该用户从未签到

59

主题

81

帖子

1335

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1335
发表于 2023-5-10 13:43:41 | 显示全部楼层 |阅读模式
【前言】
在FPGA开发过程中,我们可能会遇到同一个工程,需要应用在不同开发板上的情况。这种情况下,最简单也最直接的办法,就是针对每一个开发板创建一个工程。这种方式虽然麻烦,但是不同型号开发板的工程通常都有自己的路径,工程以及文件易于区分。
而除了这种方式外,Vivado也支持单个工程包含多个Synthesis和Implementation,根据这一特点,我们就能实现单个工程的多开发板适配(也可以实现一个工程包含多个设计)。下面我们以ACZ702开发板通过模拟IO实现HDMI的彩条显示工程为例,教大家如何实现ACZ702和ACX720开发板的适配。

【实现步骤】
1.打开工程并运行,这里笔者给出运行后的工程总结界面
ACZ702.jpg

从图中我们可以知道工程路径、此时工程适配的芯片型号为xc7z020clg400-1(对应ACZ702开发板)、当前综合实现所对应名称(synth_1和impl_1)。打开工程路径runs文件夹下的impl_1文件夹,其中的bit文件便是烧录到ACZ702开发板中时所需要用到的比特流
ACZ702比特流文件.jpg

2.点击Sources中的“+”,新建一个约束设置,方便后续设计。由于不需要立马添加约束文件,在新建完成后点击cancel即可
新建约束设置.jpg

为约束设置命名.jpg

3.点击vivado界面下方Design Runs中的“+”,新建Runs。这里,我们可以创建新的综合或实现或者两者都创建,根据自己需求选择即可。
新建实现.jpg

4.在创建页面可以进行相关配置,为了方便区分,这里我们可以将综合重命名为ACX720_synth,将约束配置设置为新建的constrs_2,设置器件型号。将实现重命名为ACX720_imp。随后设置器件型号,勾选make active来启用该实现,其余项保持默认。
配置综合.jpg

设置实现.jpg

设置路径.jpg

配置总览.jpg

5.在工程总览界面中我们看到,此时所运行的综合实现的名称以及对应的运行结果
工程总览2.jpg

6.为设计添加引脚分配和约束,并保存(会自动保存在constrs_2中),为方便区分我们可以将约束文件命名为ACX720_IO
新建并保存约束.jpg

7.点击为设计生成bit流

【工程设计切换】
工程中synth_1和impl_1对应设计适配ACZ702开发板,ACX720_synth和ACX720_impl对应设计适配ACX720开发板。使用时只需要在Design Runs中右键对应项Make Active,就能完成工程适配开发板型号的切换。
适配切换.jpg


【上板验证】
两种设计的bit文件保存在各自对应impl文件夹下,如下:
bit文件.jpg

将对应bit烧录进开发板后,显示效果如下:
ZYNQ板级验证.jpg

ACZ702开发板板级验证

ACX720板级验证.jpg

ACX720板级验证


【总结】
单逻辑工程的多开发板适配主要是借助vivado工程能够支持多个综合实现的特点,在创建新综合实现之前,建议先新建一个constraint set以减少一些不必要的操作。在实际使用时,用户可以通过Design Runs随时切换设计。

【工程附录】
原ACZ702例程: hdmi_color_bar_ACM_VGAHDMI.rar (54.48 KB, 下载次数: 89)
修改后,适配ACZ702和ACX720例程: hdmi_color_bar_ACX720_ACZ702.rar (1.96 MB, 下载次数: 97)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|芯路恒电子技术论坛 |鄂ICP备2021003648号

GMT+8, 2024-4-23 22:44 , Processed in 0.149816 second(s), 34 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc. Template By 【未来科技】【 www.wekei.cn 】

快速回复 返回顶部 返回列表