![]() |
|
||||||||||||||
| . 网站首页 . 新闻 . 新品 . 方案 . 专访 . 活动 . DSP . EDA . 评测室 . 技术文库 . 会员区 . 商城 . 服务导航 . 邮购 . 资源 . | ||
|
||
|
|||||
| 在ModelSim波形图中以参数名显示变量 | |||||
作者:FPGA技术… 文章来源:FPGA技术网 点击数: 更新时间:2008-1-1 ![]() |
|||||
|
在使用Verilog HDL编写有限状态机等逻辑的时候,状态机的各个状态通常以参数表示,但当使用ModelSim仿真的时候,状态机变量在wave窗口中以二进制编码的形式显示,例如: 假如一个状态机有如下的编码: parameter WAIT_INPUT1 = 2'b00, // 状态机参数定义,表示4个状态 DELAY1 = 2'b01, DELAY2 = 2'b10, WAIT_INPUT2 = 2'b11; reg [1:0] current_state; 缺省情况下,状态机current_state在ModelSim的View窗口中以二进制编码的形式显示,如下图所示:
为了在View窗口中以参数名的形式显示current_state状态机,我们可以执行下面的步骤: l 首先使用ModelSim的virtual 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位的计数器,那么它的可能的变化范围为 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; 我们可以在ModelSim的wave窗口中得到如下的波形: 至此,在ModelSim波形图中以参数名显示变量的基本步骤就介绍完了,有关各个命令的细节可以参考ModelSim的使用手册。 |
|||||
| 欢迎点击进入:TI德州中文网 (国内唯一针对TI应用的中文技术网站) 文章录入:admin 责任编辑:admin | |||||
| 【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口】 | |||||
| 最新热点 | 最新推荐 | 相关文章 | ||
| 浅谈半导体集成电路封装的历… |
| 网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!) |
| | 设为首页 | 加入收藏 | 联系站长 | 友情链接 | 版权申明 | 网站公告 | 管理登录 | | |||
|
|