ModelSim出现红色线不定态的可能情况

前言

在FPGA学习中常用到modelsim进行仿真,该贴用来记录我在modelsim仿真中出现红色线条出现的原因及解决方法,同时总结已有的网上的出现该现象的例子modelsim

检查

首先modelsim中出现红色线条,表示不确定状态,常与testbench文件的编写有关。

1.可以先检查一下仿真设置,确定仿真文件是否选择正确此处仿真文件选择错误,可能导致输入设置不对,状态不确定,出现红线

2.可以检查仿真文件`timescale指令是否正确,就我自己有次忘写后并没出现什么问题,也没有出现红线,但不能确定跟这个没关系,因为看网上其他说法有说到可能是这个指令导致的问题

3.仔细检查initial语句是否赋值正确,clk信号是否有准确赋值,变量位宽是否保持一致。很大概率问题就出现在此,极有可能没写赋值或没写准确导致状态不定

4.检查是否使用case语句,使用case语句不要用<=进行赋值

我的错误经历(TAT)

1.不严谨的赋值导致data[0]成了不定态,波形表现得很规则o(TヘTo),很有规律的出现了不定态

很自然的顺着写下来了

改完就好了

2.时钟信号赋值问题,之前一致没在意,系统时钟一直是很自然的用=赋初值,这次加了一个测试时钟,忘记用=赋初值了

时钟初值不用=,会在不定态之间一直跳转,就一直是不动态了o(TヘTo)

改完testbench文件就好了

相关推荐

Modelsim仿真常出现的错误及Fifo和RAM输出出现蓝线和红线_modelsim仿真出现红线_呓语煮酒的博客-CSDN博客

  • 0
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ModelSim是一款常用的仿真工具,它可以根据设计文件和仿真文件生成波形图。波形图是用来观察和判断设计的代码功能是否正确的。在进行功能仿真时,需要准备以下文件:设计HDL源代码、测试激励代码(也称为TestBench)和仿真模型/库。设计HDL源代码可以使用VHDL语言或Verilog语言编写,而测试激励代码则是根据设计要求编写的激励程序,具有很大的灵活性。仿真模型/库根据设计中调用的器件供应商提供的模块而定,例如FIFO、ADD_SUB等。 ModelSim仿真分为前仿真和后仿真两种。前仿真是纯粹的功能仿真,用于验证电路的功能是否符合设计要求,不考虑电路门延迟和线延迟。后仿真则是时序仿真,可以考虑逻辑的时延和功能,综合考虑电路的路径延迟和门延迟的影响,验证电路在一定时序条件下是否满足设计构想,并检查是否存在时序违规。对于FPGA设计来说,通常只进行前仿真(功能仿真)即可。 ModelSim的使用方式可以分为直接使用ModelSim软件进行仿真和通过其他EDA工具如Quartus II调用ModelSim进行仿真(联合仿真)。无论是手动仿真还是自动仿真,它们都遵循以下5个步骤:新建工程、编写Verilog文件和TestBench仿真文件、编译工程、启动仿真器并加载设计顶层、执行仿真。 根据您的问题描述,我了解到您想了解ModelSim仿真波形中的两条红线以及与VHDL语言的关系。关于这个问题,我在提供的引用中没有找到相关的信息。鉴于此,我无法给出具体的回答。如果您还有其他问题,我会很乐意帮助您解答。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值