工程结构创建工程建立 vivado 工程添加源文件添加约束文件运行工程参考链接
工程结构
项目目录结构
代码语言:javascript复制|--wujian100_open //wujian100_open平台项目工程目录。wujian100_open 平台代码可以通过github下载获取
|--case //仿真使用的测试case
|--doc //wujian100_open平台的用户手册
|--fpga //FPGA制作相关脚本
|--lib //仿真编译使用的脚本及库文件
|--regress //回归测试的结果
|--sdk //软件开发套件
|--soc //SoC RTL源码
|--tb //test bench和monitor文件
|--tools //仿真脚本和环境变量设置文件
|--workdir //执行仿真的工作目录
|--LICENSE
|--README.md
创建工程
建立 vivado 工程
选择 FPGA 型号 xc7a200tfbg-1
添加源文件
- 在 Add or Create Design Sources 界面选择
Add Directors
- 然后在工程结构下面选择目录
soc
,然后点击 select
- 删除工程中的
wujian100_open_fpga_top.v
,因为这个是用于仿真的顶层 - 在 Add or Create Design Sources界面选择
Add Files
- 然后在工程结构下面选择目录
fpga
,然后点击wujian100_open_fpga_top.v
- 添加之后可以看到如下图所示界面,修改这四个文件为头文件
Verilog Header
添加约束文件
- 在 Add or Create Constraints 界面选择
Add Files
- 然后在工程结构下面选择目录
fpga->XDC
,然后点击XC7A200T3B.xdc
- 打开 XC7A200T3B.xdc 修改第
33
行这句, 把_c
去掉即可
- 添加时序约束文件
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}]
运行工程
分别点击下图中的
- 步骤1:综合
- 步骤2:实现
- 步骤3:比特流
最后就可以生成 bit 流文件。而且小编还看到 Slack 恰好为 0 ,的确是 ”绝了“
。
参考链接
- 使用 vivado 综合 wujian100 生成 bitstream 文件
https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.4e83180fvg5PvY&id=651027310371143680
- 使用 vivado 综合 wujian100 生成 bitstream 文件(续集)
https://mp.weixin.qq.com/s/Oh62XvDZkrBKSWdHwYfAFg