vivado 行为仿真,修改代码后波形不变的问题

本文分享了一位FPGA新手在使用Vivado进行行为仿真时遇到的代码修改但波形不变的问题及解决方案。通过关闭错误波形并重置行为级仿真,可使修改后的代码正确反映在仿真波形上。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vivado 行为仿真,修改代码后波形不变的问题

小编属于刚接触FPGA,对vivado软件不是非常熟练,但是基本使用还是可以的。但是昨天遇到一个比较头疼的问题就是我在source文件中修改代码后,但是仿真波形并没有按照我代码逻辑进行变化,就好像源文件没有保存到工程中一样。看了一下别人的博客,要重建一个工程才可以解决,那么我改一次代码建一个工程,就太麻烦了啊。后来经过我多次测试,发现可以重置行为级仿真来解决这个问题。因为这个小问题搞了我整整一天半,决定写一个博客记录一下。也希望养成记录错误的习惯,和大家一起分享。
具体操作如下:
我们修改完代码之后,可以把你错误的仿真波形关闭,然后右键点击Run Simulation 会出现Reset Run Simulation选项,我们只需要点击它就OK了。

在这里插入图片描述Alt
这样你修改完代码就可以重新编译了,会出现修改过之后的仿真波形图。我这里用的是vivado2019版本,界面可能不太一样,但是几乎都大同小异吧。

### Xilinx COE 文件格式说明 COE文件主要用于初始化Xilinx器件中的ROM和其他存储器模块的内容。这种文件支持多种数据表示方式,包括二进制(Base 2)、十进制(Base 10)以及十六进制(Base 16)。当利用Vivado工具创建IP核时,能够自动处理并转换这些COE文件到适合的行为仿真的MIF格式[^2]。 #### 数据格式定义 在COE文件中,每条记录通常由两部分组成:地址和对应的数据值。然而,对于某些特定类型的内存配置,可能只需要指定一系列连续位置上的初始值而不需要显式的地址字段。以下是典型的COE文件结构: - **Memory Initialization File:** 表明这是一个用于内存初始化的文件。 - **Depth:** 定义了该存储单元的最大深度或长度。 - **Data Radix:** 设置后续数值采用何种数制来表达,默认情况下可能是十六进制。 - **Content Begin...End:** 在这两个关键字之间列出了具体的初始化数据序列。 ```text MEMORY_INITIALIZATION_RADIX=16; MEMORY_INITIALIZATION_VECTOR= FF, EE, DD, CC, BB, AA, 99, 88, 77, 66, 55, 44, 33, 22, 11, 00; ``` 这段代码片段展示了如何在一个COE文件里用十六进制形式定义了一串字节级别的初始值。 #### 应用场景举例 - 初始化FPGA内部的只读存储器(ROM),比如设定查找表(LUT)或者预加载常量数组; - 设定有限脉冲响应(FIR)滤波器内的不变系数集,这对于数字信号处理应用非常重要; - 提供给综合工具作为输入参数之一,在设计阶段就确定好硬件资源分配方案。 通过这种方式,开发者可以在编译前预先填充所需的数据模式至目标设备的记忆体空间内,从而简化开发流程并提高效率。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值