Vivado生成网表文件的步骤及方法

2023-11-06 18:44

本文主要是介绍Vivado生成网表文件的步骤及方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

软件版本  Vivado 2018.3  估计是在2018 1019系列应该都适用。亲测可用。全部干货。

第①步:

将需要生成网表的模块代码设置为顶层

第②步:

在界面中的Tools -> setting -> synthesis

修改Synthesis Options

其中需要注意的是,Options中将-flatten_hierarchy设为full,意思是模块综合后的层次结构全部为平级,只剩下顶层,这样产生的网表文件就不易被查看到层级关系了。

第③步:

在界面中的Tools -> setting -> synthesis

  在 more options* 中填入:-mode out_of_context

More Options选项设置为-mode out_of_context,原因是因为Vivado在综合的时候会自动将顶层的IO口自动插入buffer,而现在需要生成网表的模块往往不是顶层,生成的文件是需要被其他模块例化的,所以不能含有IO buffer,设为-mode out_of_context即表示不插入IO buffers,具体可详见UG901的第26页。

第④步:

对模块进行综合,点击Run Synthesis

第⑤步:

综合完成之后打开综合完成的设计,点击Open Synthesized Design

第⑥步:

生成网表文件

生成网表文件前需要先Open Synthesized Design,然后在Tcl Console中输入命令

vivado 2017.4及以前 命令格式为:

write_verilog -mode port <design_name>.v

vivado 2018.1及以后 命令格式为:

write_verilog -mode synth_stub <design_name>.v

举个例子:

文件名前面不加地址则默认保存在C:/Users/<user>/AppData/Roaming/Xilinx/Vivado/

write_verilog -mode synth_stub D:/fsm_test_top.v

此时只生成了只有IO接口信息的.v文件,还需要最后一步就完成。

第⑦步:

生成网表edf文件,同样在Tcl Console中输入

模块不包含Xilinx的IP命令格式为:

write_edif <design_name>.edf

模块包含Xilinx的IP命令格式为:

write_edif -security_mode all <design_name>.edf

到此时,网表文件生成完成。

补充:

网表文件的调用是直接例化就可以,把.v文件和edf文件一起添加到工程中直接例化就可以使用。

在Synthesis Settings中的-flatten_hierarchy不选择full,而保持默认的none,那么在其他所有操作不变的情况下,在其他工程实例化该网表文件,并且对其进行综合,可以得到综合后的结果,和之前和结果一样,别人可以看到结构层次,选择为full就可以直接铺平,别人看不到层次等级。

时隔2年再一次开始写CSDN了,哈哈。

这篇关于Vivado生成网表文件的步骤及方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/358389

相关文章

Python安装Pandas库的两种方法

《Python安装Pandas库的两种方法》本文介绍了三种安装PythonPandas库的方法,通过cmd命令行安装并解决版本冲突,手动下载whl文件安装,更换国内镜像源加速下载,最后建议用pipli... 目录方法一:cmd命令行执行pip install pandas方法二:找到pandas下载库,然后

PyCharm中配置PyQt的实现步骤

《PyCharm中配置PyQt的实现步骤》PyCharm是JetBrains推出的一款强大的PythonIDE,结合PyQt可以进行pythion高效开发桌面GUI应用程序,本文就来介绍一下PyCha... 目录1. 安装China编程PyQt1.PyQt 核心组件2. 基础 PyQt 应用程序结构3. 使用 Q

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

SQL Server安装时候没有中文选项的解决方法

《SQLServer安装时候没有中文选项的解决方法》用户安装SQLServer时界面全英文,无中文选项,通过修改安装设置中的国家或地区为中文中国,重启安装程序后界面恢复中文,解决了问题,对SQLSe... 你是不是在安装SQL Server时候发现安装界面和别人不同,并且无论如何都没有中文选项?这个问题也

Java Thread中join方法使用举例详解

《JavaThread中join方法使用举例详解》JavaThread中join()方法主要是让调用改方法的thread完成run方法里面的东西后,在执行join()方法后面的代码,这篇文章主要介绍... 目录前言1.join()方法的定义和作用2.join()方法的三个重载版本3.join()方法的工作原

在macOS上安装jenv管理JDK版本的详细步骤

《在macOS上安装jenv管理JDK版本的详细步骤》jEnv是一个命令行工具,正如它的官网所宣称的那样,它是来让你忘记怎么配置JAVA_HOME环境变量的神队友,:本文主要介绍在macOS上安装... 目录前言安装 jenv添加 JDK 版本到 jenv切换 JDK 版本总结前言China编程在开发 Java

Spring Boot Actuator应用监控与管理的详细步骤

《SpringBootActuator应用监控与管理的详细步骤》SpringBootActuator是SpringBoot的监控工具,提供健康检查、性能指标、日志管理等核心功能,支持自定义和扩展端... 目录一、 Spring Boot Actuator 概述二、 集成 Spring Boot Actuat

Spring Boot配置和使用两个数据源的实现步骤

《SpringBoot配置和使用两个数据源的实现步骤》本文详解SpringBoot配置双数据源方法,包含配置文件设置、Bean创建、事务管理器配置及@Qualifier注解使用,强调主数据源标记、代... 目录Spring Boot配置和使用两个数据源技术背景实现步骤1. 配置数据源信息2. 创建数据源Be

在IntelliJ IDEA中高效运行与调试Spring Boot项目的实战步骤

《在IntelliJIDEA中高效运行与调试SpringBoot项目的实战步骤》本章详解SpringBoot项目导入IntelliJIDEA的流程,教授运行与调试技巧,包括断点设置与变量查看,奠定... 目录引言:为良驹配上好鞍一、为何选择IntelliJ IDEA?二、实战:导入并运行你的第一个项目步骤1

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分