使用 vivado 综合 wujian100 生成 bitstream 文件

简介: 简单介绍一下使用 vivado 来综合 wujian100 需要注意的一些地方。

综合环境

上一篇 blog 呢,我记录一下运行 wujian100 的一些仿真过程,这篇 blog 我将简单介绍一下使用 vivado 来综合 wujian100 需要注意的一些地方。

首先,说明一下我的综合环境,我是在 WSL 下安装的 vivado 2018.3 版本,然后是完全 vivado 环境下综合生成 bitstream 文件,因为没有安装 synplify,所以就没有使用官方推荐的 synplify 进行综合。

系统:Windows 10 , WSL Ubuntu 18.04
软件: vivado 2018.3

安装 vivado

首先,你如果没有安装 vivado 就先安装一下 vivado,在命令行下自己运行 ./xsetup 即可,安装完成后记得设置一下环境变量,具体的安装方法,我这里就不做详细介绍了,请自行搜索。

 $ ./xsetup

打开 vivado 新建工程

接下来,我们进入到 wujian100_open 的 fpga->vivado 目录下,在命令行下输入 vivado ,启动 vivado。

 $ vivado

image.png

vivado 启动完成之后,我们来创建应该新工程,点击 Create project ,Next->填写工程名称,Next-> 选择 RTL Project,Next-> 选择 wujian100 这个开发板对应的 FPGA 型号 xc7a200tfbg484-1,最后 Finish 即可,工程创建结束。

image.png
image.png
image.png

添加源码综合

工程创建完了之后我们添加 wujian100 的源码来进行综合。这里需要注意的是源码中有两个 top 文件,我们这里添加 wujian100_open_fpga_top.v 文件。然后添加 soc目录下的源码,都添加完成之后,vivado 会自动分析,这时我们会看到有错误,这是因为这四个文件是头文件,我们需要手动更改一下文件格式。

image.png

接下来我们继续添加约束文件,这里的管脚约束文件,我们就是所以官方提供的这个即可,时序约束文件这里使用一位群友提供的即可。把这个时序约束文件和官方的 xdc 放在一个目录下就可以了,添加完成之后,我们进行综合即可。但是在综合之前我们需要更改一下官方的 xdc,有一个地方在 vivado 下进行综合会报错,就是第 33 行这句, 把 _c 去掉即可。还有一个地方需要注意的是把 wujian100_open_fpga_top.v 的优先级调一下。

时序约束文件:

 create_clock -name {EHS} [get_ports PIN_EHS] -period 50 -waveform {0 25}
create_clock  -name {JTAG_CLK} [get_ports PAD_JTAG_TCLK] -period 1000 -waveform {0 500}

set_clock_groups -asynchronous -name {clkgroup_1} -group [get_clocks {EHS JTAG_CLK}]

set_false_path -through [get_ports PIN_EHS]

#set_clock_groups -name {Inferred_clkgroup_0} -asynchronous -group [get_clocks {wujian100_open_top|PAD_JTAG_TCLK}]

set_property ASYNC_REG TRUE [get_cells {x_aou_top/x_rtc0_sec_top/x_rtc_pdu_top/x_rtc_clr_sync/pclk_load_sync2_reg}]
set_property ASYNC_REG TRUE [get_cells {x_aou_top/x_rtc0_sec_top/x_rtc_pdu_top/x_rtc_clr_sync/rtc_load_sync2_reg}]
set_property ASYNC_REG TRUE [get_cells {x_aou_top/x_rtc0_sec_top/x_rtc_pdu_top/x_rtc_clr_sync/pclk_load_sync1_reg}]
set_property ASYNC_REG TRUE [get_cells {x_aou_top/x_rtc0_sec_top/x_rtc_pdu_top/x_rtc_clr_sync/rtc_load_sync1_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A74/A10b_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A74/A18597_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A1862d/A10b_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A1862d/A18597_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A75/A10b_reg}]
set_property ASYNC_REG TRUE [get_cells {x_cpu_top/CPU/x_cr_had_top/A15d/A75/A18597_reg}]
  # set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets PAD_JTAG_TCLK_c]
# 改成下面的
set_property CLOCK_DEDICATED_ROUTE FALSE [get_nets PAD_JTAG_TCLK]

综合完成生成 bit 文件

image.png

综合完成之后呢,我们可以看到啊,这个时序约束都是符合要求的,接下来,我们就可以输出比特流文件上 FPGA 做实验了。

本文首次发表于:使用 vivado 综合 wujian100 生成 bitstream 文件
视频教程:稍后更新

原文作者:bh6bao
点击查看原文

相关文章
|
Ubuntu Linux Shell
Windows-下学习阿里平头哥-RISC-V-芯片开发平台-wujian100
上个月,在第六届互联网大会上,阿里的平头哥,对,就是那个人狠话不多的公司!他们宣布开源了 wujian100 这个芯片设计平台。搭载基于 RISC-V 架构的玄铁 902 处理器。
Windows-下学习阿里平头哥-RISC-V-芯片开发平台-wujian100
一文读懂Can总线错误处理
一文读懂Can总线错误处理
一文读懂Can总线错误处理
|
4月前
|
传感器 安全 网络安全
《边缘安全深耕:零信任落地全维度解析》
本文聚焦制造业边缘设备安全痛点,结合实际项目实践,阐述零信任架构的落地路径与实战经验。制造业边缘环境存在设备身份管理缺失、权限控制粗放、通信安全漏洞等核心问题,传统防护难以适配异构互联、高连续性需求的场景。文章提出“身份锚定-动态授权-通信加密”三位一体方案,通过设备身份治理、权限体系重构、端到端加密筑牢安全基础,搭配“流量基线+行为建模”威胁检测策略及兼容性优化方案,解决老旧设备改造、误报率控制等实操难题。
209 0
|
存储 测试技术 开发工具
Wujian SoC 平台_介绍|学习笔记
快速学习 Wujian SoC 平台_介绍
621 0
Wujian SoC 平台_介绍|学习笔记
|
JavaScript
TypeScript——Record类型
TypeScript——Record类型
247 0
|
编解码 算法 Unix
【Qt 应用开发 】QT 三种定时器的介绍 以及 QTimer startTimer/Timerevent QBasicTimer 之间的区别
【Qt 应用开发 】QT 三种定时器的介绍 以及 QTimer startTimer/Timerevent QBasicTimer 之间的区别
3149 0
|
运维 安全 网络安全
网络 DMZ 区和网络安全等级简介
网络 DMZ 区和网络安全等级简介
1398 1
|
Linux 开发工具 异构计算
wujian100_open的FPGA实现——如何用vivado生成wujian100_open的比特流文件
本文将使用Xilinx的FPGA开发工具vivado综合和实现wujian100,并最终生成可以直接下载到FPGA里的比特流文件。
wujian100_open的FPGA实现——如何用vivado生成wujian100_open的比特流文件
|
SQL Oracle 关系型数据库
导出Oracle数据库sqlplus命令行查询的结果到文件
导出Oracle数据库sqlplus命令行查询的结果到文件
1467 0
|
存储 安全 API
[笔记]深入解析Windows操作系统《一》概念和工具(一)
[笔记]深入解析Windows操作系统《一》概念和工具
611 0