使用 vivado 综合 wujian100 生成 bitstream 文件

简介: 本文介绍 使用 vivado 综合 wujian100 生成 bitstream 文件

综合环境

上一篇 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

添加源码综合

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

QmFW80.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 文件 视频教程:稍后更新

文章来源:芯片开放社区
文章链接:https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.1b87180flWxVN5&id=651027310371143680

相关文章
|
存储 关系型数据库 数据库
用Patroni配置PostgreSQL高可用集群
Patroni是Zalando开发的数据库高可用管理软件,用于编排和自动化PostgreSQL集群的管理过程。Patroni 需要一系列其他组件的支持,通过利用第三方分布式一致性软件,组建并实现数据库高可用方案。
用Patroni配置PostgreSQL高可用集群
|
11月前
|
机器学习/深度学习 传感器 新制造
只需 7 天!广东盈致科技 SiMDA-MES,电子制造革新就看它
珠海盈致科技自2011年成立以来,作为广东省专精特新中小企业,致力于为制造业企业提供数字化转型解决方案。其核心产品SiMDA-MES系统具备强大的工业协议兼容能力,支持200多种设备接入,实现从设备到管理系统的全面数据贯通。系统内置高性能数据引擎,每秒可处理10万+实时数据点,助力企业实现毫秒级响应与质量预测优化,显著提升生产效率、降低能耗与故障停机时间。通过AR辅助、数字孪生、区块链追溯等技术融合应用,盈致科技已在电子、食品、注塑等多个行业实现质量、效率与品牌价值的全面提升。依托“模块化部署”策略,企业最快7天即可上线,显著降低转型门槛。
|
Ubuntu 测试技术 开发工具
ESP32-C3入门教程 基础篇(一、ADC采样)
经过前面的折腾,设计好了自己的测试开发板 搭建好了开发环境, 然后正式开始进行功能测试了,测试顺序先从简单的开始吧,一步一步来
2636 1
ESP32-C3入门教程 基础篇(一、ADC采样)
|
人工智能 Ubuntu Linux
Debian与Ubuntu:哪个更适合你?关键区别详解
Debian将是一个不错的选择。而如果你更注重易用性和活跃的社区支持,Ubuntu则可能是更好的选择。无论选择哪一个,你都将享受到开源世界的无尽魅力。 素材来源于网络
el-upload图片上传,删除
el-upload是ElementUI中的一个组件,可以用来实现图片上传功能。下面是一个基本的el-upload的示例代码:
1030 0
|
小程序 测试技术 Android开发
频繁解锁太麻烦?支付宝实现锁屏组件新能力
频繁解锁太麻烦?支付宝实现锁屏组件新能力
531 5
|
网络协议 算法 中间件
【总结】单片机重点知识总结记录之CMSIS详解(六)
【总结】单片机重点知识总结记录之CMSIS详解(六)
2158 0
|
网络安全 数据库 网络虚拟化
openvswitch安装、基本操作
一、安装,配置 1 //下载源码、编译、安装: 2 #wget http://openvswitch.org/releases/openvswitch-2.3.0.tar.gz 3 #tar -zxvf openvswitch-2.
3456 0
|
搜索推荐 前端开发 小程序
计算机java项目|Springboot 智能菜谱推荐系统
计算机java项目|Springboot 智能菜谱推荐系统
672 0

热门文章

最新文章