0

有没有办法让ip地址字在wave窗口中以十进制点格式显示?

4

1 回答 1

1

据我所知,不是……但是您可以为 4 个部分创建虚拟信号(“虚拟信号……”)。
将它们显示为十进制('-radix unsigned')。
并使用这 4 个虚拟信号创建一个组 ('add wave ... -group ...) 。

我发现在 GUI 中创建虚拟信号和组更容易,然后在 DO 文件中自己输入('Tools' -> 'Virtual Builder')。

一个测试 VHDL 文件:

library ieee;
use ieee.std_logic_1164.all;

entity test is
end entity test;

architecture rtl of test is
    signal ip : std_logic_vector(31 downto 0) := x"AC_10_41_3D";  -- 172.16.65.61
begin  -- architecture rtl
end architecture rtl;

wave.do 文件的重要部分:

quietly virtual signal -install /test { /test/ip(31 downto 24)} ip_3
quietly virtual signal -install /test { /test/ip(23 downto 16)} ip_2
quietly virtual signal -install /test { /test/ip(15 downto 8)} ip_1
quietly virtual signal -install /test { /test/ip(7 downto 0)} ip_0
add wave -noupdate /test/ip; # without formatting
# group the 4 parts of the IP address and display them as decimal
add wave -noupdate -expand -group {IP_formatted} -radix unsigned /test/ip_3
add wave -noupdate -expand -group {IP_formatted} -radix unsigned /test/ip_2
add wave -noupdate -expand -group {IP_formatted} -radix unsigned /test/ip_1
add wave -noupdate -expand -group {IP_formatted} -radix unsigned /test/ip_0
于 2013-02-13T11:31:29.743 回答