Vivado生成网表文件并创建自定义IP

平台:vivado2018.3

应用场景,在设计的过程中,我们一些特定的模块需要交付给别人,但是又不想让他们看到其中的源码。就可以将源码封装成网表和IP文件。

vivado生成网表文件

设置综合。设置-flatten_hierarchy* 为full。

这里可以设置为full或者rebuilt。

设置为full,后续需要生成.v文件和.edf文件。设置成rebuilt只需要生成.edf文件。

在more options*选项中设置为 -mode out_of_context,让输入输出的引脚不加IO buffer。

综合成网表后生.v文件,该文件的名字不应该和你的名字一样建议加上后缀。

复制代码
//vivado 2017.4及以前
write_verilog -mode port <design_name>.v

//vivado 2018.1及以后
write_verilog -mode synth_stub <design_name>.v

//<design_name>.v为设置的文件路径及.v文件名,例如:D:/Users/Desktop/1/a.v (注意斜线)

生成.edf文件语句。

复制代码
//模块不包含Xilinx的IP
write_edif <design_name>.edf

//模块包含Xilinx的IP
write_edif -security_mode all <design_name>.edf

//<design_name>.edf为设置的文件路径及.edf文件名,例如:D:/Users/Desktop/1/a.edf (注意斜线,与.v文件名保持相同)

生成的网表如果需要调用仿真。

复制代码
write_verilog -mode funcsim <design_name>.v

不指定-mode导出verilog代码(应该相当于综合后的电路代码):

复制代码
write_verilog <design_name>.v

如原文件为pcie_top.v新生成的文件名字为pcie_top1.v。

综合完成后将顶层写成.v和.edf文件。

检查文件夹中是否生成了。

两个文件。

下面我们新建工程在新工程中调用这两个文件.v和.edf文件。

综合完成后。

使用该网表生成IP核

点击ok和finish。该过程会生成一个vivado工程,该工程只是在配置该IP的时候有效。下面进行配置IP。名字叫做my_pcie3,类型为UserIP。

对一下你的IP端口,输入输出。

生成该IP。

查看生成的IP文件夹。Src文件夹下只包含顶层文件和网表文件。

下面在pcie_recon6中调用该IP。验证项目的可行性。

新建工程,将IP文件夹保存在当前项目目录下。

在工程中添加该IP。

生成IP报错。

根据报错将网表文件添加到该文件夹。

IP成功编译。

将IP添加到项目。通过综合和实现后,发现时序编译不过。

从vivado的report timing summer中可以看到。Vivado自动识别的时钟并不准确。可以看到和正常编译过了的版本工程很多时钟周期约束都不准确。下面是正常版本的时钟约束。

准备将该版本中的时钟进行约束一遍。看看能否过静态时序分析。

同时在tcl中使用report_clock查看时钟约束是否正常,经过分析报告,发现时钟约束很多都有问题。(原因暂时没有想到,我是通过工程生成的网表,然在生成的IP,按理说应该拥有正常的时钟约束,这点没有想明白)

创建时钟约束。

前面是正常出来的lb_clk_0后面这个是使用网表综合后生成的就变了。这个情况该怎么办呢?对这个错误的时钟从新约束一次吗?

经过查阅资料发现,在生成网表文件时,若生成的edf文件中包含PLL IP CORE,则对应的IP的时序约束会失效,建议不要在edf文件中不要使用PLL IP,可以将PLL放在网表外面。

相关推荐
俺不是西瓜太郎´•ﻌ•`5 小时前
大实验:基于赛灵思csg324100T,pmodMAXsonar的危险距离警报
fpga开发
ThreeYear_s8 小时前
基于FPGA的超声波显示水位距离,通过蓝牙传输水位数据到手机,同时支持RAM存储水位数据,读取数据。
fpga开发
szxinmai主板定制专家9 小时前
【飞腾AI加固服务器】全国产化飞腾+昇腾310+PCIe Switch的AI大模型服务器解决方案
运维·服务器·arm开发·人工智能·fpga开发
GateWorld9 小时前
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析 (三)数据格式
fpga开发·mipi csi2
hahaha601613 小时前
FPGA静态功耗
fpga开发
碎碎思13 小时前
FPGA定点和浮点数学运算-实例对比
fpga开发
GateWorld1 天前
《从零掌握MIPI CSI-2: 协议精解与FPGA摄像头开发实战》-- CSI-2 协议详细解析LLP (二)
fpga开发·mipi csi2
hahaha60161 天前
Xilinx 325T FPGA 中的 GT(GTP 或 GTX)收发器和普通 LVDS 接口的差模和共模电压
fpga开发
hahaha60162 天前
FPGA没有使用的IO悬空对漏电流有没有影响
fpga开发
贝塔实验室2 天前
FPGA 动态重构配置流程
驱动开发·fpga开发·硬件架构·硬件工程·射频工程·fpga·基带工程