前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >wujian100——FPGA综合实现

wujian100——FPGA综合实现

作者头像
瓜大三哥
发布2020-11-10 10:27:27
1.9K1
发布2020-11-10 10:27:27
举报
文章被收录于专栏:瓜大三哥

工程结构创建工程建立 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

添加源文件

  1. 在 Add or Create Design Sources 界面选择 Add Directors
  2. 然后在工程结构下面选择目录 soc ,然后点击 select

  1. 删除工程中的wujian100_open_fpga_top.v,因为这个是用于仿真的顶层
  2. 在 Add or Create Design Sources界面选择 Add Files
  3. 然后在工程结构下面选择目录 fpga ,然后点击 wujian100_open_fpga_top.v

  1. 添加之后可以看到如下图所示界面,修改这四个文件为头文件 Verilog Header

添加约束文件

  1. 在 Add or Create Constraints 界面选择 Add Files
  2. 然后在工程结构下面选择目录 fpga->XDC ,然后点击 XC7A200T3B.xdc
  1. 打开 XC7A200T3B.xdc 修改第 33 行这句, 把 _c 去掉即可
  1. 添加时序约束文件
代码语言:javascript
复制
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 ,的确是 ”绝了“

参考链接

  1. 使用 vivado 综合 wujian100 生成 bitstream 文件
代码语言:javascript
复制
https://occ.t-head.cn/community/post/detail?spm=a2cl5.14300636.0.0.4e83180fvg5PvY&id=651027310371143680
  1. 使用 vivado 综合 wujian100 生成 bitstream 文件(续集)
代码语言:javascript
复制
https://mp.weixin.qq.com/s/Oh62XvDZkrBKSWdHwYfAFg
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-11-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 瓜大三哥 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工程结构
  • 创建工程
    • 建立 vivado 工程
      • 添加源文件
        • 添加约束文件
        • 运行工程
        • 参考链接
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档