可以用vhdl打印波形中的字符串吗
假设是FSM,我想在每个时钟周期打印当前状态。我该怎么做呢?我需要什么数据类型 是的,例如ModelSim中的波形可以显示可以用vhdl打印波形中的字符串吗,vhdl,quartus,Vhdl,Quartus,假设是FSM,我想在每个时钟周期打印当前状态。我该怎么做呢?我需要什么数据类型 是的,例如ModelSim中的波形可以显示字符串,这非常方便。下面是一个简单的例子: architecture sim of tb is signal info : string(1 to 20); function string_fill(msg : string; len : natural) return string is variable res_v : string(1 to len)
字符串
,这非常方便。下面是一个简单的例子:
architecture sim of tb is
signal info : string(1 to 20);
function string_fill(msg : string; len : natural) return string is
variable res_v : string(1 to len);
begin
res_v := (others => ' '); -- Fill with spaces to blank all for a start
res_v(1 to msg'length) := msg;
return res_v;
end function;
begin
process is
begin
info <= string_fill("Hello VHDL", info'length);
wait for 100 ns;
info <= string_fill("Hi Bren", info'length);
wait for 100 ns;
info <= string_fill("end of sim", info'length);
wait for 100 ns;
wait;
end process;
end architecture;
tb的架构sim是
信号信息:字符串(1到20);
函数字符串_fill(msg:string;len:natural)返回字符串为
变量res_v:字符串(1到len);
开始
res_v:=(其他=>'');--用空格填充以全部空白作为开始
res_v(1到msg'长度):=msg;
返回resu v;
末端功能;
开始
过程是
开始
信息是的,例如ModelSim中的波形可以显示
字符串
,这非常方便。下面是一个简单的例子:
architecture sim of tb is
signal info : string(1 to 20);
function string_fill(msg : string; len : natural) return string is
variable res_v : string(1 to len);
begin
res_v := (others => ' '); -- Fill with spaces to blank all for a start
res_v(1 to msg'length) := msg;
return res_v;
end function;
begin
process is
begin
info <= string_fill("Hello VHDL", info'length);
wait for 100 ns;
info <= string_fill("Hi Bren", info'length);
wait for 100 ns;
info <= string_fill("end of sim", info'length);
wait for 100 ns;
wait;
end process;
end architecture;
tb的架构sim是
信号信息:字符串(1到20);
函数字符串_fill(msg:string;len:natural)返回字符串为
变量res_v:字符串(1到len);
开始
res_v:=(其他=>'');--用空格填充以全部空白作为开始
res_v(1到msg'长度):=msg;
返回resu v;
末端功能;
开始
过程是
开始
信息您使用的是什么工具?@Qiu使用Quartus如果您的状态是枚举类型的值,您应该能够以符号方式显示它们。(你的状态类型声明是什么样子的?)你说的“打印输出”是什么意思:在模拟中,Morten向你展示了如何使用Wave窗口;我通常使用带有“Assert”或“Report”的控制台。您使用的是什么工具?@Qiu使用quartus如果您的状态是枚举类型的值,您应该能够以符号方式显示它们。(你的状态类型声明是什么样子的?)你说的“打印输出”是什么意思:在模拟中,Morten向你展示了如何使用Wave窗口;我通常使用带有“Assert”或“Report”的控制台。