当前位置: 首页 > news >正文

【EDA软件】【应用功能子模块网表提供和加载编译方法】

1.背景

使用者做FPGA应用开发,将开发成果交给自己的客户,但是并不想提供RTL源码以及加密的源码,只想提供网表文件。

2.方法

2.1 指定应用功能子模块设置为Top层;

2.2 运行综合,在outputs文件夹下会生成该应用功能子模块*.aib和*.bv文件;

2.3 在现有的工程中加载应用功能子模块*.aib和*.bv文件,上一级模块做好连线;

2.4 运行编译。

3.举例说明

3.1 原工程说明

eth_evb_v1_4_top.v

module ETH_EVB_V1_4(input           ext_osc_clk     ,   // 20Minput           sw_rst_n        ,input           uart0_rx        ,output  wire    uart0_tx
);wire            mcu_clk             ;
wire            fpga_clk            ;
wire            pll_locked          ;
wire            sys_rst_n           ;
wire            por_locked          ;pll_v1 u_pll_v1(.clkin0     (   ext_osc_clk     ), // i.locked     (   pll_locked      ), // o.clkout0    (   fpga_clk        ), // o.clkout1    (   mcu_clk         )  // o
);por_v1_1 u_por_v1_1(.O          (   por_locked      )
);assign  sys_rst_n = sw_rst_n & pll_locked & por_locked;soc_system_v1 u_soc_system_v1(.m3soc_clk_o                (   mcu_clk         ),.m3soc_clken                (   1'b1            ),.m3soc_rstn                 (   sys_rst_n       ),.u_m3soc_uart0_cts_n_i      (                   ),.u_m3soc_uart0_dcd_n_i      (                   ),.u_m3soc_uart0_dsr_n_i      (                   ),.u_m3soc_uart0_ri_n_i       (                   ),.u_m3soc_uart0_dtr_n_o      (                   ),.u_m3soc_uart0_out1_n_o     (                   ),.u_m3soc_uart0_out2_n_o     (                   ),.u_m3soc_uart0_rts_n_o      (                   ),.u_m3soc_uart0_sin_i        (   uart0_rx        ),.u_m3soc_uart0_sout_o       (   uart0_tx        ),.u_m3soc_uart0_sir_in_i     (                   ),.u_m3soc_uart0_sir_out_n_o  (                   ),.u_m3soc_uart0_baudout_n_o  (                   )
);endmodule

该工程top层,例化三个模块pll_v1 、por_v1_1 和soc_system_v1 ,实现ARM硬核 UART的功能。

EDA工具的层次结构如图1:

图1

3.2 指定应用功能子模块设置为Top层

以por_1_1举例,设置por_v1_1为Top层。在该子模块点右键,左键“Set As Top Module”,如图2:

图2

设置完成后,EDA界面的变化,por_v1_1的前面的IP变成了"T"字样,说明已经设置成为Top层,如图3:

图3

3.运行综合

运行Synthesize->Run Synthesis Without IO,运行完成后在工程的outputs文件会生产该子模块的*.aiv和*bv文件,如图4:

图4

4.新建工程验证

为了验证使用*.aiv和*bv文件的正确性,依然使用原工程的代码,只是将源代码por_v1_1.v删除,替换为por_v1_1.aiv和por_v1_1.bv。

点击工程右键,“Add Existing File”,选择*.aiv和*.bv所在路径,文件类型选择“All Files”,如图5:

图5

添加后的EDA界面的变化,如图6:

图6

编译、加载、上板验证过程不在此赘述,可以查阅京微齐力相关文档。

验证两个*.acf,二者的打印相同并且符合预期。

http://www.lqws.cn/news/521605.html

相关文章:

  • Web层注解
  • 浙大/浙工大合作iMeta(1区 | IF 33.2):单微生物RNA-seq + 聚类解析肠道关键种代谢功能
  • MySQL常用函数性能优化及索引影响分析
  • ES和 Kafka 集群搭建过程中的典型问题、配置规范及最佳实践
  • C++11原子操作:从入门到精通
  • Fisco Bcos学习 - 搭建第一个区块链网络
  • selenium UI自动化元素定位中classname和CSS区别
  • Spring Boot中日志管理与异常处理
  • 【评估指标】MAP@k (目标检测)
  • docker start mysql失败,解决方案
  • 深入理解Redis整数集合(intset)的升级策略:内存优化的核心魔法
  • FPGA笔记——ZYNQ-7020运行PS端的USB 2.0端口作为硬盘
  • 基于大数据的社会治理与决策支持方案PPT(66页)
  • IE浏览器使用
  • 系统思考:预防重于治疗
  • 如何搭建CDN服务器?
  • 将 Docker的存储目录迁移到空间更大的磁盘
  • 搭建自己的WEB应用防火墙
  • mbedtls ssl handshake error,res:-0x2700
  • 数据库数据恢复—SQL Server数据库被加密如何恢复?
  • Fisco Bcos学习 - 搭建星形拓扑组网
  • python基础
  • Android14音频子系统-Linux音频子系统ASoC-ALSA
  • Linux RDMA网络配置手册
  • 2026-软件工程-《软件质量测试与保证》-期末复习—习题汇总
  • 【编程基本功】Win11中Git安装配置全攻略,包含Git以及图形化工具TortoiseGit
  • Qt开发1--Qt概述,安装,创建第一个Qt项目
  • 2 Qt中的空窗口外观设置和常用的基础部件
  • 【笔记】Docker 配置阿里云镜像加速(公共地址即开即用,无需手动创建实例)
  • C#高级:Winform桌面开发中DataGridView的详解(新)