您的位置:技术中心首页 > 逻辑验证 >> Modelsim >> 在ModelSim波形图中以参数名显示变量

在ModelSim波形图中以参数名显示变量

作者:未知   时间:2007-09-28 16:31:09  来自:网上转载  浏览次数:0  文字大小:【】【】【

在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,例如:4’h04’h1等。这种显示形式不是很直观,但我们可以使用ModelSim提供的命令将状态机变量以“文本”形式的参数名显示,从而有利于调试。

假如一个状态机有如下的编码:

 

parameter  WAIT_INPUT1 = 2'b00,  // 状态机参数定义,表示4个状态

          DELAY1      = 2'b01,

          DELAY2      = 2'b10,

          WAIT_INPUT2 = 2'b11;

reg     [1:0]   current_state;

 

缺省情况下,状态机current_stateModelSimView窗口中以二进制编码的形式显示,如下图所示:

为了在View窗口中以参数名的形式显示current_state状态机,我们可以执行下面的步骤:

l         首先使用ModelSimvirtual type命令定义一个新的枚举类型(FSM_TYPE):

 

virtual type {

    {2'b00 WAIT_INPUT1}

    {2'b01 DELAY1}

    {2'b10 DELAY2}

    {2'b11 WAIT_INPUT2}

} FSM_TYPE;

 

l         然后我们将需要显示的信号(current_state)进行类型转换,转换成一个新的信号(current_state_new);

 

virtual function {(FSM_TYPE)/current_state} current_state_new;

 

l         最后我们将新的信号加入到wave窗口中。

 

add wave -hex -color pink current_state_new;

 

对设计进行仿真,得到如下的波形:

 

可以看到,新的信号已经用参数名的形式显示了!

 

在上面的描述中,我们采用状态机为例,实际对任何一个信号均可以使用这种方法显示。例如有一个3位的计数器,那么它的可能的变化范围为3’h03’h13’h7。按上述的步骤,我们执行下面的命令:

 

virtual type {

    {3'b000 ZERO}

    {3'b001 ONE}

    {3'b010 TWO}

    {3'b011 THREE}

    {3'b100 FOUR}

    {3'b101 FIVE}

    {3'b110 SIX}

    {3'b111 SEVEN}

} COUNT_TYPE;

 

virtual function {(COUNT_TYPE)/count_out} count_count_new;

 

add wave -hex count_out;

add wave -hex -color yellow count_count_new;

 

我们可以在ModelSimwave窗口中得到如下的波形:

 

至此,在ModelSim波形图中以参数名显示变量的基本步骤就介绍完了,有关各个命令的细节可以参考ModelSim的使用手册。

责任编辑:5life

更多相关 modelsim 的文章

使用compxlib命令编译Xilinx的ModelSim仿真库 [2007-09-28]
ModelSim 6.0se 添加Xilinx仿真库 [2007-09-28]
ModelSim SE 十分钟入门 [2007-09-28]
仿真工作流程(Verilog/Modelsim+Debussy) [2007-05-14]
Modelsim 教程 [2006-03-26]
Verilog PLI教程 --- 第二部分 编写PLI应用程序 [2006-02-18]
Verilog Pli的基本使用方法(modelsim) [2006-02-18]
本文共有0条评论,现在显示最新的5条。

栏目导航

电路基础
硬件语言
逻辑验证
电路综合
后端设计
可测设计
基本逻辑
制造工艺
书籍精选
说文解字
工具学习
数字滤波
趣闻逸事
数字锁相
设计杂项
低耗设计

站点最新

更多相关链接

  在ModelSim波形图中以参...
  使用compxlib命令编译Xi...
  ModelSim 6.0se 添加Xil...
  ModelSim SE 十分钟入门
  仿真工作流程(Verilog/M...
  Modelsim 教程

栏目最新

更多相关链接

  在ModelSim波形图中以参...
  使用compxlib命令编译Xi...
  ModelSim 6.0se 添加Xil...
  ModelSim SE 十分钟入门
  仿真工作流程(Verilog/M...
  Modelsim 教程

热点文章

更多相关链接

  Modelsim 教程
  仿真工作流程(Verilog/Model...
  ModelSim SE 十分钟入门
  使用compxlib命令编译Xilinx...
  ModelSim 6.0se 添加Xilinx仿...
  在ModelSim波形图中以参数名...