首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在modelsim上运行一段verilog代码时的奇怪行为

在modelsim上运行一段Verilog代码时的奇怪行为可能是由于以下几个原因引起的:

  1. 代码错误:首先,需要检查代码本身是否存在语法错误、逻辑错误或者时序错误。可以通过仔细检查代码、使用调试工具或者添加一些调试语句来定位问题所在。
  2. 模拟设置错误:其次,需要确认模拟设置是否正确。包括时钟频率、仿真时间、仿真器选项等。可以检查这些设置是否与代码的预期行为相匹配。
  3. 仿真环境问题:还有可能是由于仿真环境的问题导致的奇怪行为。例如,仿真器版本不兼容、仿真器配置错误、仿真库文件缺失等。可以尝试更新仿真器版本、重新配置仿真器或者检查仿真库文件是否正确引入。
  4. 仿真时序问题:Verilog代码中的时序问题可能导致奇怪的行为。例如,时钟边沿的触发、信号的延迟等。可以通过添加时序约束、调整时钟边沿或者检查信号延迟来解决。
  5. 仿真工具限制:最后,需要考虑到仿真工具本身的限制。不同的仿真工具可能对Verilog代码的支持程度不同,某些高级语法或者特性可能不被支持。可以查阅modelsim的文档或者咨询相关技术支持来确认是否存在限制。

总之,在解决modelsim上运行Verilog代码时的奇怪行为时,需要综合考虑代码本身、仿真设置、仿真环境、时序问题以及仿真工具的限制。通过逐步排查和调试,可以找到问题所在并解决。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

让Python退出强制运行一段代码

设想这样一个场景,你要给一个项目开发测试程序,程序开始运行时候,会创建初始环境,测试完成以后,会清理环境。...这段逻辑本身非常简单: setup() test() clean() 但由于测试代码比较复杂,你总是调试时候程序异常,导致每次clean()函数还没有来得及运行,程序就崩溃了。...程序一定会运行到clean()函数,但是,如果你代码多,你就应该知道,滥用try...except...会让你非常痛苦。...有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢? 这个时候,我们就可以使用Python自带atexit这个模块了。...它使用方法非常简单: import atexit @atexit.register def clean(): print('清理环境相关代码') setup() test() 这样一来,

2.1K20

FPGA开篇

接下来很长一段时间都将进行FPGA表述,中间也不时发一些设计硬件电路和嵌入式开发讲解,如果对FPGA也还不知道是什么东西朋友可以自己上网了解,反正一个字表述就是:“强”,还有呢就是以后表达以Verilog...首先对FPGA设计开发流程要有个了解,方便以后了解,可看下图了解,这是以前上相关课程老师提供一个图。 ?...设计时,根据不同设计阶段,仿真可以分为三大类型,详细名称如下: 1、RTL级行为仿真(又称作为、前仿真) 这个阶段仿真是检查代码语法错误和代码行为正确与否,不含延时信息。...今天主要对FPGA一些设计流程做一个大概了解,可能是我不太喜欢这些纯表述性东西,感觉弄得有些不足,对于它历史背景那些东西,就大家自己网络看了,也很详细;之后将开始Verilog编写,对它历史感兴趣也可以继续上网查阅...,这些多了解下也可以增加点知识,当然需要有一些准备工作~ 首先接下来一段时间是进行简单代码仿真,然后对Verilog语法有一定熟悉,所以需要安装有一个Modelsim,也可以装FPGA大厂商开发软件

65030

适合初学者 4 大 HDL 仿真器

在学习使用硬件描述语言(如Verilog或VHDL)对FPGA或ASIC进行编程,能够仿真代码是学习过程重要组成部分。 市场上有许多不同仿真器,每种仿真器都有自己优点和缺点。...我们同样可以 Windows、macOS 或基于 Linux 操作系统使用 GHDL。 GHDL 是最流行开源 VHDL 仿真器。...但是,有一个适合初学者免费版本,可用于基本设计和仿真。 我们可以基于 Windows 和 Linux 操作系统使用 Vivado,但目前不支持 macOS。...Modelsim 可以基于 Linux 或 Windows 操作系统使用,但不能在 macOS 使用。...但是,使用 Modelsim 进行 HDL 仿真也存在一些缺点。 与我们讨论过其他工具相比,Modelsim 是最难使用。为了有效地运行仿真,有必要使用 tcl 编写脚本。

22310

教育直播源码:Python退出强制运行代码方法

设想这样一个场景,你要给一个项目开发测试程序,程序开始运行时候,会创建初始环境,测试完成以后,会清理环境。   ...这段逻辑本身非常简单: 31.png 但由于测试代码比较复杂,你总是调试时候程序异常,导致每次clean()函数还没有来得及运行,程序就崩溃了。   ...你可能想到,如果这样写会怎么样呢: 32.png   似乎看起来,程序一定会运行到clean()函数,但是,如果你代码多,你就应该知道,滥用try...except...会让你非常痛苦。...有什么办法,既能让程序报错,又能在报错已经还能运行clean()呢?   这个时候,我们就可以使用Python自带atexit这个模块了。..._exit(),你注册函数无法正常执行。 以上就是在教育直播源码中,如果想要在Python退出强制运行一段代码方法,希望对您有所帮助。

1.4K10

【笔记】Altera – Quartus II使用方法——工程创建、Modelsim破解仿真、Verilog编写、举例(待续)

(Pin Planner) 7、编译工程 8、下载程序 下载到**SRAM**,断电丢失 生成FLASH文件 下载FLASH文件,重新电后运行FLASH 擦除FLASH SignalTap II(信号窃听...——业界公认仿真最优秀 Modelsim简介 ☑前仿真FPGA(功能仿真) 后仿真设计(时序仿真,布局布线后仿真) Modelsim版本(功能最全SE版) Modelsim安装 Modelsim破解...、拷贝文件 3、ModelSim添加、编译网表文件 4、开始仿真 5、添加到波形 6、观察波形,与时钟不对应,有延时 Verilog简介 1、什么是FPGA:可编程集成电路 2、什么是HDL:硬件描述语言...分析与综合结果 6、引脚分配(Pin Planner) 7、编译工程 开始编译 编译结果 8、下载程序 下载到SRAM,断电丢失 生成FLASH文件 下载FLASH文件,重新电后运行...7、查看信号 8、使用后关闭SignalTap II,节约资源 Modelsim仿真环境搭建——业界公认仿真最优秀 Modelsim简介 Modelsim是Mentor公司,业界最优秀语言仿真工具

1.6K10

Modelsim 安装步骤详解

它能提供友好仿真环境,采用单内核支持VHDL和Verilog混合仿真的仿真器。它采用直接优化编译技术、Tcl/Tk技术和单一内核仿真技术,编译仿真速度快且编译代码与平台无关。...特点 RTL和门级优化,本地编译结构,编译仿真速度快,跨平台跨版本仿真; 单内核VHDL和Verilog混合仿真; 源代码模版和助手,项目管理; 集成了性能分析、波形比较、代码覆盖、数据流ChaseX、...可以单独或同时进行行为(behavioral)、RTL级、和门级(gate-level)代码。...SE版和OEM版功能和性能方面有较大差别,比如对于大家都关心仿真速度问题,以Xilinx公司提供OEM版本ModelSim XE为例,对于代码少于40000行设计,ModelSim SE 比ModelSim...XE要快10倍;对于代码超过40000行设计,ModelSim SE要比ModelSim XE快近40倍。

1.7K40

摆脱Vivado单独建仿真环境终极解决方案

本文就探讨如何把Vivado与ModelSim联合仿真修改为单独采用ModelSim进行仿真。 本公众号一篇文章(【干货】推荐一款FPGA仿真调试鸟枪换炮工具!...采用ModelSim单独仿真 1、整理RTL代码及仿真代码 如果要用ModelSim单独仿真,并且需要搭建类似于上面描述采用脚本形式来仿真的仿真环境,那么第一步就需要从Vivado工程中把相应Verilog...联合仿真ModelSim预先编译好仿真库,这里面很多都是FPGA用到BUFG、PLL等内容。...运行结束后,就可以图形界面上看到覆盖率分析结果。 ? 随着测试例运行,上面设计代码覆盖率也会逐渐提高,最后可以通过选择达不到覆盖率要求模块进行详细分析,查看测试例没有运行语句。...本文中提到仿真环境仅仅是一种最简单只有Verilog代码仿真环境,验证复杂度和便捷性等方面都差很远远。

1.7K30

FPGA零基础学习:Intel FPGA 开发流程

将HDL代码输入and_gate2_1.v 重新添加回来。Files右键,选择Add/Remove Files in project(添加或移除文件)。 ?...点击Simulation -> Run Functional Simulation(运行功能仿真)。 ? 图68 :选择运行功能仿真 经过一段时间运行。 ?...开发中用比较多方式是利用HDL方式进行充当激励,modelsim软件会自动抓取HDL代码信号进行绘制波形,用于设计者观测。...Modelsim软件无法为原理图输入方式进行仿真,所以要将HDL代码输入方式添加到工程,将原理图输入方式移除工程。企业工程开发,不建议使用原理图方式输入,移植性太低。...图85 :进行RTL 仿真 稍微等一段时间,modelsim软件会自动启动。如果没有启动的话,并且报错的话,请查看modelsim关联位置。 ?

1.9K30

FPGA零基础学习:Intel FPGA 开发流程

将HDL代码输入and_gate2_1.v 重新添加回来。Files右键,选择Add/Remove Files in project(添加或移除文件)。...点击Simulation -> Run Functional Simulation(运行功能仿真)。 图68 :选择运行功能仿真 经过一段时间运行。...开发中用比较多方式是利用HDL方式进行充当激励,modelsim软件会自动抓取HDL代码信号进行绘制波形,用于设计者观测。...Modelsim软件无法为原理图输入方式进行仿真,所以要将HDL代码输入方式添加到工程,将原理图输入方式移除工程。企业工程开发,不建议使用原理图方式输入,移植性太低。...图85 :进行RTL 仿真 稍微等一段时间,modelsim软件会自动启动。如果没有启动的话,并且报错的话,请查看modelsim关联位置。

85101

ModelSim 使用【一】介绍

1,ModelSim软件介绍 Mentor 公司 ModelSim 是工业界最优秀语言仿真器,它支持 XP、Win7 和 Linux 系统,是单一内核支持 VHDL 和 Verilog 混合仿真的仿真器...ModelSim-Altera 版软件包括 ModelSim PE 基本特性,包括了行为仿真、HDL 测试台和Tcl 脚本。...说完了仿真的两个概念,接下来我们来说一说 ModelSim 使用,ModelSim 使用主要分为两种情况,第一种就是通过 Quartus II 软件调用我们 ModelSim 来进行仿真,这种情况也就是我们通常所说自动仿真...当我们执行了仿真以后,ModelSim 软件会根据我们设计文件和仿真文件生成波形图,最后,我们观察波形并判断设计代码功能是否正常。...【注】本系列教程使用源码和testbench代码如下: 源码: module Verilog_First ( //输入端口 CLK_50M,RST_N, //输出端口 LED1

1.4K40

FPGA:逻辑功能仿真与验证

文章和代码已归档至【Github仓库:hardware-tutorial】,需要朋友们自取。...仿真,信号线a、b、s要加一组测试激励信号,这组激励信号产生,是通过initial内部过程语句产生,而过程语句只能给reg型变量赋值。...仿真,信号线a、b、s激励信号是不能消失,需要有“寄存”效应,能够描述这种“寄存”行为,只能是reg型。...端口连接时有关变量数据类型一些规定 仿真过程简介 使用软件ModelSim-Altera 6.5b Starter Edition 进行仿真验证大致过程 ModelSim仿真软件使用 创建一个工作目录...输入源文件 建立工作库 编译设计文件 装入设计文件到仿真器 运行仿真器 ----

36430

ModelSim 使用【四】ModelSim手动仿真

【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第四篇。...manual_modelsim 文件夹创建好以后,我们还需要将已经编写好Verilog 仿真文件和 Testbench 仿真文件添加至我们 manual_modelsim 文件夹中,这里我们就将自动仿真用到...(Verilog_First.v 文件我们 Quartus II 工程目录下,Verilog_First.vt 文件我们Quartus II 工程目录下 simulation 文件夹下 modelsim...,所以出现这种状态推荐读者也要根据警告信息修改代码,确保后续使用安全性。...这时,我们可以按快捷键 F9,也可以 ModelSim 菜单栏中找到【Run】按钮,点击运行就会出现我们想要波形,这里我们需要注意是,默认运行时间一次运行是 100ps,我们可以菜单栏中进行修改

1.6K40

ModelSim 使用【六】modelsim手动时序仿真

【注】本文为系列教程,使用同一个仿真代码,关注公众号“数字积木”,对话框回复“ modelsim_prj ”,即可获得。这是系列第六篇。...该对话框中我们点击【Browse】,弹出对话框中我们找到 manual_modelsim 文件夹下 Verilog_First.vo,然后将 Verilog_First.vo 添加至我们 ModelSim...接下来我们进行代码全编译,编译完成后,我们 ModelSim 菜单栏中找到【Simulate】→【StartSimulation...】按钮并点击打开,我们打开 Libraries 标签,将仿真库添加至配置仿真环境中...如果不知道需要选择哪个库,我们可以先直接运行仿真,这时候 ModelSim 控制窗口中会提示错误信息,我们根据错误信息便能够分析出我们需要库名,然后我们再重复上述步骤添加完了仿真库,接下来我们 SDF...添加完成之后,最后我们返回 Design 标签页面中,找到 work 下 Verilog_First_vlg_tst,如图 ?

69020

【干货】推荐一款FPGA仿真调试鸟枪换炮工具!

非微电子专业没有做过芯片同学,是不知道这个世界还有效率更高用来对Verilog/VHDL代码进行仿真的工具。...本公众号之前一篇文章分享程序--Verilog HDL代码分析及整理软件,也可以用来对代码规范进行分析,甚至进行整理。这些规范化约定,整个FPGA开发流程中,往往是最能达到事半功倍效果一个步骤。...debussy 大家在用ModelSim做仿真,常常遇到这样一个问题。...那么,有没有一种办法,只需要跑一次仿真,就可以把整个波形储存下来且不占太大空间,然后追踪BUG,还可以方便把波形中出错地方直接对应到代码中具体某一行,还可以方便对某个变量进行后向或者前向追踪...3、Debussy软件使用方法 使用 Debussy 软件过程中,软件并不能直接智能地识别 Verilog-2001 代码,需要对软件进行一下设置,否则添加文件软件就会报出很多错误告警,而且也看不到原理图

8.2K11

vivado2018 中使用modelsim联合仿真

MODELSIM SE是主要版本号,也是功能最强大版本,支持对Verilog和VHDL语言混合仿真。...SE版和OEM版功能和性能方面有较大差别,比如对于大家都关心仿真速度问题,以Xilinx公司提供OEM版本ModelSim XE为例,对于代码少于40000行设计,ModelSim SE 比ModelSim...XE要快10倍;对于代码超过40000行设计,ModelSim SE要比ModelSim XE快近40倍。...三、vivado中关联了modelsim软件和编译器件库之后,就可以vivado中调用modelsim软件对设计进行仿真了。不过,在对每一个新建工程设计进行仿真需要进行一些设置。...弹出对话框中,设置仿真工具为modelsim、仿真语言为verilog或VHDL或混合,当设计中用到vivado中自带仿真工具,还要指定器件库路径,如图10所示。

1.7K30

ModelSim 使用【二】联合Quarus自动仿真

首先我们讲解 ModelSim 自动仿真,所谓自动仿真,其实是 Quartus II 中调用 ModelSim 软件来进行仿真,调用过程中,Quartus II 会帮我们完成 ModelSim所有操作...我们 Quartus II 软件菜单栏中找到【File】→【Open】按钮并打开,在对话框中找到我们 Verilog 文件,如图 ? 打开之后,如图 ?...该图中我们可以看到,Quartus II 软件已经为我们完成了一些基本工作,包括端口部分代码和接口变量声明,我们要做就是在这个模板里添加我们需要测试代码(也就是我们常说激励)。...想要进行仿真首先要规定时间单位,我们建议大家最好在 Testbench 里面统一规定时间单位,不要在工程代码里定义,因为不同模块如果时间单位不同可能会为仿真带来一些问题,timescale 是 Verilog...这时,我们再点击【RTL Simulation】按钮就会出现 Modelsim 仿真窗口界面了,这里我们需要说明是:有的电脑不添加反斜杠是可以运行,有的电脑不添加反斜杠是不能运行

96620

Jetson NANO 2GB运行10行代码威力

因此一开始我们就为大家提供一个比较经典范例,只用 10 行 python 代码,实现对 90 种类别的深度学习物件检测(object detection)识别, Jetson Nano 2GB 上达到...,能做到 4~6FPS 已经不容易了。...详细代码如下: 在说明代码之前,建议先把这段代码敲进你 Jetson Nano 2GB 设备里,当然这个代码也适用于 Jetson 全系列产品,自行取个文件名,例如 “10lines.py” ,可以设备中任何一个位置...最简单视频文件可以在你 Nano “/ usr / share / visionworks / sources / data ” 下面。 其他地方无需修改。...分钟时间,因此并不是当机,还请耐心等候,以后再执行相同模型,就只需要十多秒就可以了。

99030

最实用Modelsim初级使用教程

它支持Verilog、VHDL以及他们混合仿真,它可以将整个程序分步执行,使设计者直接看到他程序下一步要执行语句,而且程序执行任何步骤任何时刻都可以查看任意变量的当前值,可以Dataflow...可综合FPGA代码是用RTL级代码语言描述,其输入为RTL级代码与Testbench。...具体步骤如下: ⑴ 执行File->New->Source->verilog,或者直接点击工具栏新建图标,会出现一个verilog文档编辑页面,在此文档内设计者即可编辑测试台文件。...也可以命令行输入命令:run @1000 则执行仿真到1000ns,后面的1000也可以是别的数值,设计者可以修改。在下一次运行该命令将接着当前波形继续往后仿真。至此,前仿真步骤完成。...)和.sdo文件(延文件)外,还生成了gate_work文件夹、verilog_libs文件夹;gate_work文件夹(可以叫工作库,也可以叫编译库)下存放了已编译文件,verilog_libs文件夹下存放了仿真所需要资源库

2K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券