如何在Modelsim仿真中显示状态机名称

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何在Modelsim仿真中显示状态机名称
1.Virtual Signals
Virtual Signal 可以将多个信号绑定在一起,从而生成一个新的信号。

选择信号,在 wave菜单中选择Combine Signals命令即可,如下图所示:
注:Virtual Signal 与 Group 是不一样的,Group只是在信号排列时将多个信号放到一个组下。

2.Virtual Type
使用 Virtual Type 可以创建一个枚举类型,而该枚举类型可以在随后的仿真中使用。

其命令格式如下:Virtual type {
{val1 s1}
{val2 s2}

{valn sn}
} newVirtualType;
如上所示,val 表示枚举值, s 表示枚举名。

而 newVirtualType 表示新的枚举类型的名称。

注:
Virtual type 与 { 之间一定要有空格。

3.Virtual Function
Virtual Function 与 Virtual Signals 有些类似,但虚拟函数不是单纯的对原信号进行合并或取子集,它可以对原信号进行运算或标记,并可以随之时间更改。

其命令格式如下:
Virtual function {<expressionStrings>} <name>
命令中的 <expression Strings> 是表达式字符串,即函数的执行功能。

<name> 是指定的输出名称。

例:如下命令是对一个信号进行取反操作
Virtual function {not sim:/tb_demux/uut/wrcache_we} not_wrcache_we
4.如何使用虚拟对象显示状态机名称?
∙使用 virtual type 创建一个新的枚举类型,如下:
virtual type {
{12'b000000000001 s_wait_chn_cache_rdy}
{12'b000000000010 s_read_chn_data}
{12'b000000000100 s_data_load}
{12'b000000001000 s_data_shift}
{12'b000000010000 s_check_blk_ct}
{12'b000000100000 s_clr_chn_cache}
{12'b000001000000 s_wait_fifo_not_full}
{12'b000010000000 s_copy_data_to_sdr_fifo}
{12'b000100000000 s_launch_sdr_wr_cmd}
{12'b001000000000 s_chk_end_of_chn}
} DEMUX_FSM_TYPE;
注:在12'b000000000001 值中是不允许出现 '_' 分隔符的,否则会报错
∙使用 vritual function 命令对状态寄存器进行类型转换以生成一个新的信号,如下:virtual function {(DEMUX_FSM_TYPE)/tb_demux/uut/s_reg} s_state;
∙在 wave 窗口中添加 virtual function 生成的新信号,如下图所示:
∙如果希望定义一次,以后多次使用,可以将 wave 窗口保存到 .do 文件中
6.联系我。

相关文档
最新文档