在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 8638|回复: 24

[求助] 10010序列检测器的modelsim仿真问题

[复制链接]
发表于 2010-3-6 16:44:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 ve8736 于 2010-3-6 16:46 编辑

我看了夏宇闻的《verilog数字系统设计教程》第二版的10010序列检测器例子后,自己改下成三段式的并且去掉F和G两个状态,用quartus 8.1自带仿真波形成功了。后来又按照书上一模一样写了testbench,想在modelsim 6.5d里仿真的,没想到仿真结果没有波形。
    我把工程打包好了,源码和testbench都在里面,大家有空时能帮看下吗?

    seqdet.rar (1.73 MB, 下载次数: 50 )

    是个小问题而已的,因为源代码验证过是对了的。testbench按照书上编写的,应该没问题的,只不过不知道哪块没设置好,出不了波形。如图:

仿真波形.gif

testbench的代码如下:




  1. `timescale 1ns/1ns
  2. `define halfperiod 20
  3. module t;
  4. reg clk,nrst;
  5. reg [23:0]data;
  6. wire z,x;
  7. assign x=data[23];
  8. initial
  9. begin
  10.   clk=0;
  11.   nrst=1;
  12.   #2 nrst=0;
  13.   #30 nrst=1;
  14.   data=20'b1100_1001_0000_1001_0100;
  15.   #(`halfperiod*1000) $stop;
  16. end
  17. always #(`halfperiod) clk=~clk;
  18. always @(posedge clk)
  19. #2 data={data[22:0],data[23]};
  20. seqdet m(nrst,clk,x,z);
  21. endmodule



复制代码
 楼主| 发表于 2010-3-6 16:50:40 | 显示全部楼层
忘了说了,这个做的是前仿真,谢谢大家了
发表于 2010-3-6 23:17:05 | 显示全部楼层
没看出来为啥时钟都无法生成。。。等高手解答
发表于 2010-3-7 00:13:20 | 显示全部楼层
楼主为什么要在halfperiod前面加一个`呢?这样你的参数就无法传递到时钟发生部分了。我的印象中verilog使用参数,不需要这个`吧?你是不是错把`define的`弄进来了?笔误吧?
发表于 2010-3-7 09:36:01 | 显示全部楼层
我觉得是modelsim的使用问题吧,貌似根本就没有跑起来,这个例子我以前试过,是可以的
发表于 2010-3-7 14:16:41 | 显示全部楼层
软件设置问题
发表于 2010-3-8 18:14:08 | 显示全部楼层
always #(`halfperiod) clk=~clk;我觉得是这里的错误。
发表于 2010-3-8 19:18:24 | 显示全部楼层
`define halfperiod 20

always #(`halfperiod) clk=~clk;

用integer试试,我不知道你为什么加一个“`”
我一直用的是
发表于 2010-3-8 19:31:20 | 显示全部楼层
`timescale 1ns/1ns

`define halfperiod 20

你的clk周期太长,可能你要把它缩小才看到到

另外 `halfperiod用法是正确的
发表于 2010-3-8 19:50:13 | 显示全部楼层
`define 定义宏语句,调用宏的时候必须前面加“`”否则无法正确识别。我不认为是这个地方的问题。我同意楼上那个兄弟的意见,可能是软件设置的问题。因为以前我用questasim仿真的时候,也出现过类似的问题,仿真不出波形,但是在modelsim下仿真没有问题。当时是因为questasim中ini文件中的一个参数设置的问题。建议楼主换个modelsim的版本试试,比如6.0,早期的几个版本实际上是很稳定的,至少我们当时用的时候没有任何奇怪的问题,仿真器的版本不见得越高越好。另外提一下,楼主确定用的是modelsim而不是questasim么?如果是questasim的话几乎100%就是这个原因了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-9 04:00 , Processed in 0.026988 second(s), 9 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表