让Verilog仿真状态机时可以显示状态名

2011-02-28 12:31:29来源: 互联网 关键字:verilog  仿真  状态  可以
Situation:
我们平时使用Verilog进行状态机编码时,通常使用parameter对状态名进行定义,这样写Case语句的时候就不会对这一串10摸不着头脑。可是通常这样做的话,在Modelsim里看到的还是一串10,使排错非常困难,特别是在用OneHot编码的时候,就看到一串0中间的一个1 #_# 简直要疯掉。

Question:
我们可不可以像VHDL一样,在仿真的时候看到状态名字,而不仅仅是状态编码呢?

答案当然是可以的拉,事在人为嘛!

Solution1:
另外定义一个reg: state_name,长度根据状态名称长度而改变(状态名称字符数x8);
在每个状态执行的语句中加入state_name <= 'IDLE'; 类似的一句语句;
仿真时添加state_name进行观察,使用ASCII Radix。

Solution2:
使用如下语句:

代码:

`ifdef SIMULATION 
       parameter S_idle        = 'idle  ';
       parameter S_decode      = 'decode';
       parameter S_start       = 'start ';
       parameter S_wait        = 'wait  ';
       parameter state_wid_msb = 47;
`else
       parameter S_idle        = 4'b0001;
       parameter S_decode      = 4'b0010;
       parameter S_start       = 4'b0100;
       parameter S_wait        = 4'b1000;
       parameter state_wid_msb = 3;
`endif

reg    [state_wid_msb:0] state;

只要在仿真的时候`define SIMULATION就可以了。一样用ASCII Radix查看。

关键字:verilog  仿真  状态  可以

编辑:小来 引用地址:http://www.eeworld.com.cn/FPGA/2011/0228/article_1889.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:FPGA系统设计实战经验分享FPGA系统设计实战经验分享
下一篇:基于MicroBlaze软核的FPGA片上系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利
推荐阅读
全部
verilog
仿真
状态
可以

小广播

独家专题更多

东芝在线展会——芯科技智社会创未来
东芝在线展会——芯科技智社会创未来
2017东芝PCIM在线展会
2017东芝PCIM在线展会
TI车载信息娱乐系统的音视频解决方案
TI车载信息娱乐系统的音视频解决方案
汇总了TI汽车信息娱乐系统方案、优质音频解决方案、汽车娱乐系统和仪表盘参考设计相关的文档、视频等资源

夏宇闻老师专栏

你问我答FPGA设计

北京航空航天大学教授,国内最早从事复杂数字逻辑和嵌入式系统设计的专家。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2017 EEWORLD.com.cn, Inc. All rights reserved