问题标签 [modelsim]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
487 浏览

tcl - 在modelsim中返回路径的库(不起作用)名称的命令

我想找到一种方法来返回 Modelsim 中 VHDL 设计中某个路径的库的名称。

给定一个具有类似“/mega_tb/D0”的路径的 VHDL 设计。这是在一个不是“工作”的库中编译的,比如“libnwork”。我当然可以查看我的“do”文件以获取正确的库名称。或者我可以在 ModelSim 的 Library 选项卡中搜索。但我想拥有或创建一个稍后可以在 Tcl 脚本中使用的 modelsim 命令,以获取正确的库名称。

0 投票
2 回答
5698 浏览

modelsim - Modelsim reset all windows

This seems a rather silly question: but I can't find (for more than an hour) now a button to "reset" all standard windows.. I accidentally closed quite a lot of them during a crash. (Especially the "command window" and the signals-in-region during simulation seem to be gone permanently).

0 投票
3 回答
13168 浏览

vhdl - 等待,直至=1 在 VHDL 仿真中永远不会成立

下面是我正在运行的代码。我的问题是为什么wait untilmodelsim中的第三个触发器没有?控制台输出很简单GOT HERE。它永远不会上线GOT HERE 2。我认为wait until <SIGNAL> = 1连续两次相同会很好,因为条件两次都是正确的。我没有在那里添加'事件,所以我认为模拟器不需要看到边缘。谁能解释这种行为?

0 投票
2 回答
2453 浏览

package - 包中的 VHDL 外部名称列表

我正在尝试编写一个 VHDL 包来创建一个外部名称列表,以便在我的测试台中使用它们。我不确定是否可以在包中声明外部名称,但编译器不会抛出错误。

但是,如果我尝试使用 ModelSim 10.0bi 模拟我的测试台,则会通过加载设计得到错误:

在详细说明之前无法引用信号。

虽然编译顺序是正确的,但我猜在模拟启动期间加载顺序存在问题。在加载设计之前加载所有包。以后有没有机会强制ModelSim加载外部名称包?

从注释中插入@user3099274 的代码以提高可读性:

0 投票
1 回答
3608 浏览

vhdl - 如何使用 ModelSim 自动模拟顶层 VHDL 实体?

调用vsim命令时,如何让 ModelSim 自动使用顶层 VHDL 实体(或多个实体)?我正在编写一个用于运行 VHDL 模拟的通用脚本。

目前我正在做以下编译和模拟:

我怎样才能让 ModelSimMY_TB在不明确指定的情况下自动模拟。

使用 Verilog 可以自动使用顶级模块:

0 投票
1 回答
851 浏览

modelsim - 从 xilinx ISE 14.2 运行时 modelsim 错误 vsim-3421

我设计并测试了我的 VHDL 代码。我使用 ISIM(xilinx 模拟器)来测试代码。ISIM 有问题,所以我切换到 modelsim SE 10c。当我通过 xilinx ise 运行 modelsim 时,modelsim 出现以下错误

致命:(vsim-3421) 值 -14 超出范围 -7 到 7。

我相关的 VHDL 代码是

图书馆 IEEE;

使用 IEEE.STD_LOGIC_1164.ALL;

使用 IEEE.NUMERIC_STD.ALL;

图书馆UNISIM;

使用 UNISIM.VComponents.all;

信号 img_int :整数范围 -7 到 7 ;

信号 add1 :整数范围 -7 到 7 ;

信号 add2 :整数范围 -7 到 7 ;

进程(时钟)

开始

结束进程;

img_int <= add1 + add2;

问题线是

img_int <= add1 + add2;

任何人都可以告诉为什么modelsim会给出这个错误?

0 投票
2 回答
200 浏览

verilog - Can I use concatentation in a Verilog lvalue? (Possible Modelsim compiler bug?)

Problem

I've been having trouble at work with the line:

In Modelsim 10.2c it appears to assign to b, but not to a.

Does anyone know why this does not work - and whether it is bad style in Verilog?

Full test code

Steps to reproduce

I have been testing this code with the commands:

In Modelsim 10.2c it prints out a value of 0 for s_a on every clock cycle.

However, if I run the same code in EDA playground, all the simulators (including Modelsim 10.1d) correctly print out a value of 1 for s_a after the first clock cycle has passed.

0 投票
2 回答
360 浏览

verilog - Verilog 中的 LC-3 16 位处理器错误模拟

我正在设计一个 LC-3(小型计算机)CPU。我在模块中设计了 PC 单元、控制单元(作为有限状态机)、指令存储器、ALU 单元和数据存储器。还有一个寄存器文件单元作为主单元,模块调用在这个单元中完成。

我希望程序在 PCread 为 1 时工作,从变量中获取要分配给outin变量,当 PCwrite 为 1 时,只需递增out变量。out是发送到指令存储器的地址。

问题是当我模拟时,指令永远不会加载到指令内存中。因为 PCwrite 不适用于控制单元的第一个状态,因为我在第一个状态下重置了 PCread 和 PCread 变量。我这样做是因为我不希望在一条指令完成它工作之前加载指令。我找不到处理这个问题的方法。

我知道如果解决了这个问题,处理器就会工作,因为当我尝试一条具有初始化值的指令时,它就可以工作。

0 投票
1 回答
5260 浏览

vhdl - 如何在 VHDL 测试台上模拟内存?

我正在为我的设计编写一个通用测试台,它通过一条非常标准的总线与 RAM 通信。我查阅了一些例子并这样写:

我遇到了两个问题。

在 ModelSim Altera SE 中编译和仿真时,内存显示所有位置的所有 X。报告显示从 in.txt 文件中读取了正确的值,但没有写入内存。我还尝试将所有位置或仅将单个位置初始化为全“0”,但它也不起作用。相反,信号starting_pc 被设置为正确值。

另一个问题是延迟分配似乎不起作用。我的设计尝试从内存中读取,并且 mem_read 和 mem_address 设置正确,但在 DELAY 时间之后 mem_data 保持高阻抗。

我究竟做错了什么?

0 投票
2 回答
1240 浏览

system-verilog - ModelSim 是否支持程序块?

使用 ModelSim 10.1d 运行以下简单代码时

我在看Error loading design。该问题可以在这里复制:http ://www.edaplayground.com/s/4/807

我知道 ModelSim 不支持 SV 断言/覆盖,但是program块呢?