问题标签 [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 投票
6 回答
10506 浏览

fonts - 在 Modelsim 中广泛使用的最易读的固定宽度字体是什么

Modelsim 是一个 HDL 模拟器,允许您指定输出使用的字体。定宽字体可以让输出更有序,但是很多定宽字体在眼睛上并不容易。你会推荐什么?我目前使用 Lucida 控制台。

根据一些建议,我已经尝试过 Inconsolata 和 Consolas,但 Modelsim 在 10 点时并不能很好地呈现它们。我不确定为什么。

0 投票
7 回答
1357 浏览

verilog - verilog modelsim fpga

抱歉,Newbish 的问题。

我正在尝试学习 FPGA 编程。

在我花 1000 美元购买 FPGA 板之前:

如果我只是想学习 Verilog,我可以完全在 Modelsim 中运行它吗?(我意识到有些时间问题只出现在实际芯片中;但是对于学习语法/编码风格/ ...)_

谢谢!

0 投票
1 回答
8142 浏览

syntax - 全局声明在 Verilog 2001 语法中是非法的!

我在verilog中写了一些小东西:

我收到这个错误:错误:test.v(5): (vlog-2155) 全局声明在 Verilog 2001 语法中是非法的。

我做错了什么?我正在使用 ModelSim XE III/Starter 6.4b - 自定义赛灵思版本!

0 投票
1 回答
999 浏览

verilog - modelsim源代码

下面是一些modelsim代码:

#5 和 #100 代表什么?那些是行号吗?这段代码有问题吗?

0 投票
3 回答
4436 浏览

vhdl - Modelsim:如何设置 27 MHz 时钟

我想在ModelSim中设置一个 27 MHz 的时钟信号。我通常通过右键单击该信号->时钟->设置周期来设置时钟。例如,50 MHz 时钟 -> 20 ns 或者我使用了 force 语句。

因为 27 MHz 时钟很特殊,它不是整数周期,如果我用 appx 值设置时钟,它总是会出现时序问题。

那么,如何设置这个时钟呢?

0 投票
2 回答
10062 浏览

vhdl - 在哪里可以找到 ModelSim 错误代码的明确列表?

我正在通过 ModelSim 运行一些 VHDL。每个错误和警告都有自己的错误代码(如下所示:(vcom-1292) Slice range direction "downto" specified in slice with prefix of unknown direction.这只是一个示例消息;我理解它的含义。

我假设 Mentor 列出了所有可能的错误代码,并更详细地描述了它们的含义以及如何避免它们。我在 ModelSim 附带的 PDF 中没有找到这个错误代码,也没有通过 Google 找到它。任何指针任何人?

0 投票
2 回答
1055 浏览

vhdl - 为什么 Modelsim 10 不编译旧代码?

我最近刚刚升级到 Modelsim 10,当我重新编译所有代码时,37 个代码中只有 30 个被编译。那些不会编译的有一个常见的错误

我只是简单地包含了 std_logic 的包,将位更改为 std_logics,它神奇地解决了第一次重新编译时的问题(对我来说很少见)。我的问题是为什么新编译器(如果它甚至是新编译器)不接受位和无符号(N 下降到 0)。强制HDL编码器使用更多抽象是某种新标准吗?我看到了一个类似的问题,它解决了我的问题,但我想知道为什么编译突然不同。

0 投票
3 回答
23476 浏览

vhdl - 信号分配如何在流程中工作?

我了解到信号不是在遇到表达式时立即更改,而是在过程结束时更改。在此示例中:

该示例说明了这一点:

如果信号 y 发生变化,那么将在 x 上安排一个事件以使其与 y 相同。此外,在 z 上安排了一个事件,使其与 x 相反。问题是,z 的值会与 y 相反吗?当然,答案是否定的,因为在执行第二条语句时,x 上的事件还没有被处理,而 z 上调度的事件将与进程开始前 x 的值相反。

好吧,我需要了解一些事情:

  1. 据我所知,信号值仅在流程结束时更新。它是否正确?
  2. 信号x被更新为第一条语句。这仍然没有改变 的值x,这个改变被放入队列中,在流程结束后执行。因此,此语句之后的所有内容x <= y都不会看到更改,并且会看到x其旧值。它是否正确?
  3. 第二条语句是试图改变信号的值z。这里也一样,z 不会改变它的值,但它取决于另一个进程的值。更改z将被放入队列中以在流程结束时执行。它是否正确?

过程结束时会发生什么?

可能性编号 1) in 中的值x已更改,因此 x 具有其新值。第二个信号z被更新,第一个信号x被更新,并且,给定z取决于x,它的值根据 的 NEW UPDATED 值改变x。该示例应该可以正常工作。

可能性编号 2) in 的值x已更改,因此 x 具有其新值。第二个信号z被更新。鉴于它z被分配了一个旧值x,这就是z将保持的值,它的旧值x已更新,但不考虑此更新。

你能告诉我哪一个是正确的方法吗?

0 投票
3 回答
9725 浏览

debugging - 如何在 Modelsim 中重新启动 Verilog 仿真

我正在尝试调试 Verilog 模块。我发现必须停止模拟,修改代码,然后重新开始模拟的过程很乏味。有没有更简单的方法?

0 投票
1 回答
469 浏览

statistics - 如何在 Modelsim 或 Xilinx ISE Project Navigator 中测量 Verilog 模块的时序

我使用半加器模块设计了一个 4 位进位超前加法器。然后我使用功能性 Verilog 描述设计了另一个 4 位进位预读加法器。第二个应该更快。我怎样才能验证这一点?有没有办法在 Modelsim 或 Xilinx ISE Project Navigator 中查看模块的运行速度?