vivado+modelsim联合仿真中,如何修改do文件实现仿真代码和综合代码独立工作?

文摘   2024-11-18 11:04   江苏  
一、头文件实现仿真和综合切换

二、修改do文件实现仿真和综合独立工作

三、往期文章链接

一、头文件实现仿真和综合切换

仿真和综合之间,如何无缝切换,最好不需要修改代码来实现?

笔者以前采用的是头文件和verilog中实现宏定义,来切换仿真和综合。刚开始用起来也挺舒服的,只需要在头文件中define,同时还需要在verilog中进行头文件引用,否则verilog中的宏定义并不会生效。

头文件中进行相关宏定义:

对应verilog引用头文件,并实现宏定义切换仿真和综合代码:

宏定义实现仿真代码进行仿真数据导入:


二、修改do文件实现仿真和综合独立工作

上述头文件进行综合时候,需要注释掉头文件中的define。但是最近仿真40G ETH MAC PCS+PMA的IP时候,发现此种方式并没有让IP核底层的仿真define实现,底层代码未引用头文件。

通过SIM_SPEED_UP,提高了仿真效率。但是,没有切换成功,导致仿真时间很长。修改do文件来实现仿真和综合代码无缝切换。通常仿真do文件位置,在工程的路径下.sim\sim_1\behav\modelsim中。仿真时候,在complie_do文件中对应的v文件添加宏定义有效字符,具体采用Modelsim提供的三种方式:

笔者习惯使用第二种方式,通过“+define+SIM +define+SIM_SPEED_UP”来实现Modelsim平台下仿真代码生效。同时,在vivado平台下编译时候,使用综合代码。由此在vivado+modelsim联合仿真中,修改do文件实现仿真代码和综合代码独立工作。

三、往期文章链接

UltraScale+FPGA中Serdes的多lane对齐异常解决方案

vivado时序报告中slack是如何计算的?如何优化时序?

UltraScale+FPGA中GTY的TX路径时钟详解——以40G的ETH MAC IP为例

vivado时序优化——约束异步时钟组set_clock_groups

基于FDMA和AXI4接口的DDR4遍历读写测试

基于fpga的图像处理之3x3_5x5算子模板设计

基于fpga的图像处理之3x3_5x5算子模板中值排序

基于fpga的图像处理之图像灰度化处理(Vivado+Modelsim+Matlab联合仿真验证)

AXI协议之AXILite开发设计(一)

AXI协议之AXILite开发设计(二)

AXI协议之AXILite开发设计(三)

AXI协议之AXILite开发设计(四)

AXI协议之AXILite开发设计(五)

FPGA和Matlab的FFT功能验证(一)

FPGA和Matlab的FFT功能验证(二)

FPGA和Matlab的FFT功能验证(三)

跟小灰灰一起学vivado:7系列FPGA的MultiBoot和Fallback功能更新固件

跟小灰灰一起学vivado:7系列FPGA配置模式之配置数据文件格式和配置时序步骤

跟小灰灰一起学vivado:7系列FPGA配置模式之主SPI四路(x4)

跟小灰灰一起学vivado:PCIe XDMA实现远程更新FPGA固件

Xilinx UltraScale+DDR4项目开发(一)——DDR4 MIG的ip接口信号

Xilinx UltraScale+DDR4项目开发(二)——DDR4 MIG的时钟网络

Xilinx UltraScale+DDR4项目开发(三)——DDR4器件选型与MIG IP的配置

低速接口项目之串口Uart开发(一)——串口UART

低速接口项目之串口Uart开发(二)——FIFO实现串口数据的收发回环测试

低速接口项目之串口Uart开发(三)——串口发送模块和接收模块

低速接口项目之串口Uart开发(四)——UART串口实现FPGA内部AXILITE寄存器的读写控制

低速接口项目之串口Uart开发(五)——QT实现Uart串口寄存器读写工具

低速接口项目之串口Uart开发(六)——zynq系列ps-pl端uart实现共享Axilite内部寄存器的读写

低速接口项目之串口Uart开发(七)——如何在FPGA项目中实现自适应波特率串口功能

低速接口项目之串口Uart开发(八)——如何通过ps侧的串口实现zynq的在线升级(一)

低速接口项目之串口Uart开发(九)——如何通过ps侧的串口实现zynq的在线升级(二)

低速接口项目之串口Uart开发(十)——基于EMIO的自定义PL串口实现zynq的在线升级


小灰灰的FPGA
努力成为一名FPGA全栈工程师,分享FPGA、嵌入式、硬件及软件知识,扩充自己的知识面,比如图像处理,通信协议以及数据处理等方向。
 最新文章