如何在 Modelsim 中使用 -g 开关将多个泛型传递给 vsim?
How to pass multiple generics to vsim using -g switch in Modelsim?
我正在尝试使用 vsim 命令中的 -g 开关将多个 VHDL 泛型传递到 Modelsim 10.7b 中的测试台。如何传递多个泛型,其中所有泛型都在另一个 string/file.
中定义
简而言之:当我使用
set generics "-gHEIGHT=1 -gWIDTH=2"
vsim $generic work.test
只有第一个通用的,即 HEIGHT 正在改变。 WIDTH 没有得到值 2。它保持在实体初始化的值。
test.vhd 文件:
library IEEE;
use IEEE.std_logic_1164.all;
entity test is
generic (
HEIGHT : integer := 0;
WIDTH : integer := 0);
port (
clk : in std_logic);
end entity test;
architecture arch of test is
begin -- architecture arch
end architecture arch;
使用命令 运行 sim :
vlib work
vmap work work
vcom test.vhd
set generics "-gHEIGHT=1 -gWIDTH=2"
vsim 命令,其中两个泛型都使用 -g 开关成功传递到 vhdl 文件:
vsim -gHEIGHT=1 -gWIDTH=2 work.test
vsim 命令,其中仅将字符串中的第一个通用 generic 传递给 vhdl..i.e 仅传递 HEIGHT:
vsim $generics work.test
我正在尝试通过 vsim 命令从 python 传递多个(~10)泛型。所以我无法在执行模拟的 vsim 命令中列出泛型名称。
要将单个变量中包含的多个参数传递给命令,请使用 {*}
:
展开变量
vsim {*}$generics work.test
它适用于 eval "vsim $generics work.test"
即使 Modelsim 评估此语句并在命令执行时将其显示为 vsim -gHEIGHT=1 -gWIDTH=2 work.test
,看起来 vsim 解析器并未将其作为参数。
作为替代方法,您可以将 -f
参数用于 vsim
命令,并指定一个包含各种 vsim
参数(包括通用参数)的文件。例如:
vsim -f arg_file.txt
那么您的文件(arg_file.txt 在这种情况下)可以包含您的通用参数或您可能需要的任何其他内容:
-gHEIGHT=1 -gWIDTH=2
我正在尝试使用 vsim 命令中的 -g 开关将多个 VHDL 泛型传递到 Modelsim 10.7b 中的测试台。如何传递多个泛型,其中所有泛型都在另一个 string/file.
中定义简而言之:当我使用
set generics "-gHEIGHT=1 -gWIDTH=2"
vsim $generic work.test
只有第一个通用的,即 HEIGHT 正在改变。 WIDTH 没有得到值 2。它保持在实体初始化的值。
test.vhd 文件:
library IEEE;
use IEEE.std_logic_1164.all;
entity test is
generic (
HEIGHT : integer := 0;
WIDTH : integer := 0);
port (
clk : in std_logic);
end entity test;
architecture arch of test is
begin -- architecture arch
end architecture arch;
使用命令 运行 sim :
vlib work
vmap work work
vcom test.vhd
set generics "-gHEIGHT=1 -gWIDTH=2"
vsim 命令,其中两个泛型都使用 -g 开关成功传递到 vhdl 文件:
vsim -gHEIGHT=1 -gWIDTH=2 work.test
vsim 命令,其中仅将字符串中的第一个通用 generic 传递给 vhdl..i.e 仅传递 HEIGHT:
vsim $generics work.test
我正在尝试通过 vsim 命令从 python 传递多个(~10)泛型。所以我无法在执行模拟的 vsim 命令中列出泛型名称。
要将单个变量中包含的多个参数传递给命令,请使用 {*}
:
vsim {*}$generics work.test
它适用于 eval "vsim $generics work.test"
即使 Modelsim 评估此语句并在命令执行时将其显示为 vsim -gHEIGHT=1 -gWIDTH=2 work.test
,看起来 vsim 解析器并未将其作为参数。
作为替代方法,您可以将 -f
参数用于 vsim
命令,并指定一个包含各种 vsim
参数(包括通用参数)的文件。例如:
vsim -f arg_file.txt
那么您的文件(arg_file.txt 在这种情况下)可以包含您的通用参数或您可能需要的任何其他内容:
-gHEIGHT=1 -gWIDTH=2