标签: modelsim

如何打开Modelsim项目文件

我可以通过File-> Recent Projects打开Modelsim项目文件.但是,我不知道有任何其他方式来打开项目.如果我使用文件 - >打开它只打开单个文件,而不是项目.如何打开项目?

modelsim

5
推荐指数
1
解决办法
1万
查看次数

通过modelsim进行vhdl仿真的VCD转储.如何?

这是我第一次尝试制作VCD而且我遇到了一些麻烦.

我有一个名为bench_minimips.vhdl的测试平台,其中包含实体sim_minimips.我想模拟它并从中获取VCD.

我在Modelsim shell中输入以下命令:

vsim work.sim_minimips
vcd file myvcd1.vcd
vcd add -file bench_minimips.vhd/*
run
Run Code Online (Sandbox Code Playgroud)

但如果我在一个空文件中打开myvcd1.vcd.我该怎么做才能创建转储?

我在另一个论坛上尝试了以下命令:

wlf2vcd -o myvcd2.vcd vsim.wlf
Run Code Online (Sandbox Code Playgroud)

但是会产生错误.

我真的迷失在理解中,因为我找到的所有网站都告诉你使用altera或其他公司生成的TCL,我没有他们的内容可供查看.

有人知道我该怎么办?

最好的,斯特凡诺

simulation dump vhdl modelsim

5
推荐指数
1
解决办法
8788
查看次数

如何在不使用特殊二进制格式的情况下以VHDL / modelsim格式读取二进制数据

一些背景:

我正在编写用于以太网MAC的VHDL测试平台。测试平台由一个程序包和一个组合的实体+体系结构文件组成。我想从wireshark导出的二进制文件中读取测试台将发送到MAC的以太网帧。
我正在使用VHDL 2008编写代码,并且正在使用Mentor Graphics Model Technology ModelSim ALTERA vcom 10.0d编译器。

问题:

到目前为止,我发现在VHDL / modelsim中读取二进制数据的所有解决方案都使用特殊的文件格式,其中bit_vector的1位由文件中的几位表示。我希望VHDL将二进制文件读取为8位bit_vector。
到目前为止,我最近使用的是字符类型文件,在其中可以直接用二进制表示形式写8位ASCII字符。

io vhdl modelsim

5
推荐指数
1
解决办法
1万
查看次数

FPGA 的 Scons?

有没有人在相当大的 FPGA 项目中使用“ Scons ”代替“ make ”?它是开箱即用的还是仍然需要为 VHDL 或 Verilog 语言进行一些黑客攻击?与 Modelsim/ISE/Vivado/Quartus 的集成怎么样?或者我应该坚持使用 makefile 一段时间?

verilog fpga vhdl scons modelsim

5
推荐指数
0
解决办法
695
查看次数

ModelSim 错误:“OR”实例化失败

我在使用 ModelSim Student Edition 10.2c 运行 Verilog 项目时遇到问题。一切编译都没有错误,但是我在运行时收到以下错误:

# vsim -gui work.testbench 
# Loading work.testbench
# Loading work.circuit1_assign
# ** Error: (vsim-3033) C:/Modeltech_pe_edu_10.2c/examples/circuit1_assign.v(14): Instantiation of 'OR' failed. The design unit was not found.
# 
#         Region: /testbench/c
#         Searched libraries:
#             C:/Modeltech_pe_edu_10.2c/examples/hw4
# ** Error: (vsim-3033) C:/Modeltech_pe_edu_10.2c/examples/circuit1_assign.v(16): Instantiation of 'NOT' failed. The design unit was not found.
# 
#         Region: /testbench/c
#         Searched libraries:
#             C:/Modeltech_pe_edu_10.2c/examples/hw4
# ** Error: (vsim-3033) C:/Modeltech_pe_edu_10.2c/examples/circuit1_assign.v(18): Instantiation of 'AND' failed. The design unit was not …
Run Code Online (Sandbox Code Playgroud)

verilog instantiation modelsim

5
推荐指数
1
解决办法
6657
查看次数

全局静态误差(modelsim 与 quartus)

这个简单的测试会在使用 modelsim 编译时导致错误,而 Quartus 可以完成整个综合/拟合过程。

library ieee;
use ieee.std_logic_1164.all;

entity submodule is
port(
  four_bits_input  : in  std_logic_vector(3 downto 0);
  four_bits_output : out std_logic_vector(3 downto 0)
);
end entity;

architecture behav of submodule is
begin
  four_bits_output <= four_bits_input;
end architecture;

-------------------------------------------------------

library ieee;
use ieee.std_logic_1164.all;

entity globally_static_test is
port (
  one_bits_input   : in std_logic;
  three_bits_input : in std_logic_vector(2 downto 0);
  four_bits_output : out std_logic_vector(3 downto 0)
);
end entity;

architecture behav of globally_static_test is
begin

submodule_inst : entity work.submodule
port map( …
Run Code Online (Sandbox Code Playgroud)

vhdl modelsim quartus

5
推荐指数
1
解决办法
1328
查看次数

Modelsim VHDL 数组初始化发出警告 (vcom-1320)

我正在使用 Modelsim 的 VHDL 编译器 (vcom) 与 SublimeText (VHDL 2008) 进行代码检查。在初始化 standard_logic_vector 数组时,我收到以下警告:

vcom: warning 警告 - (vcom-1320) 表达式类型“(OTHERS => '0')”不明确;使用元素类型 STD_LOGIC_VECTOR,而不是聚合类型 t_a_reg。

一个最小的代码示例如下:

library ieee;
use ieee.std_logic_1164.all;

entity module is
  port
  (
    clk : in std_logic;
    rst : in std_logic;
    ...
  );
end entity;

architecture rtl of module is

  type t_a_reg is array (integer range <>) of std_logic_vector(15 downto 0);
  signal s_event_reg : t_a_reg(1 downto 0) := (others => (others => '0'));   -- this gives the warning

  ...

begin …
Run Code Online (Sandbox Code Playgroud)

arrays initialization fpga vhdl modelsim

5
推荐指数
1
解决办法
1055
查看次数

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

我正在尝试调试 Verilog 模块。我发现必须停止模拟、修改代码,然后再次开始模拟的过程很乏味。有更容易的方法吗?

debugging verilog module modelsim

4
推荐指数
1
解决办法
1万
查看次数

VHDL整数范围包括在内?FPGA与仿真的区别

我是FPGA的新手.我一直在做一些简单的测试,我发现了一个我不完全理解的问题.

我有一个50MHz的时钟源.

我有一个信号定义为:

SIGNAL ledCounter : integer range 0 to 25000000 := 0;
Run Code Online (Sandbox Code Playgroud)

当ledCounter达到25,000,000时,我切换LED并重置计数器.这在FPGA上直接起作用.

IF (rising_edge(CLK)) THEN
    ledCounter <= ledCounter + 1;

    IF (ledCounter = 25000000) THEN
        ledCounter <= 0;
        toggle <= not toggle;
        LED(0) <= toggle;
    END IF;
END IF;
Run Code Online (Sandbox Code Playgroud)

当在ModelSim内部运行时,当计数器达到25000000时,我得到一个错误.为了在模拟器中运行,我必须将范围定义为:

SIGNAL ledCounter : integer range 0 to 25000001 := 0;
Run Code Online (Sandbox Code Playgroud)

有没有人知道为什么会这样?代码在FPGA上运行良好,但如果没有上述修改,则无法在模拟器中运行.

编辑:modelsim错误是非描述性的:由于致命错误无法继续.HDL呼叫序列.停在C:/Users/robert/Documents/fpga/testsim/test.vhd 20 Process line__17

fpga vhdl modelsim intel-fpga

4
推荐指数
1
解决办法
772
查看次数

FLI 需要 Cocotb VHDL

我目前正在建立一个基于 Cocotb 的验证环境。

我刚刚发现,如果使用 VHDL,Cocotb 提供的示例在我的情况下不起作用,因为我的模拟器没有 FLI(外语界面)。我收到以下消息:

错误(可抑制):(vsim-FLI-3155) 此版本的 ModelSim 中未启用 FLI。

(我有 ModelSim 的 Altera Starter 版本,确实不包括 FLI)。

令我惊讶的是,该示例适用于 Verilog。据我了解,Verilog 使用的不是 FLI,而是 VPI。

如果 FLI 的需求是强制性的,那么有人可以解释一下,Cocotb 中可以启用它的功能是什么?

另一个问题:如果我的顶层是 Verilog,而我的其余设计是 VHDL 呢?它应该工作吗?

verilog vhdl modelsim intel-fpga cocotb

4
推荐指数
1
解决办法
1011
查看次数