找回密码
 注册
搜索
查看: 906|回复: 3

[讨论] 新手的低级问题?望哪个哥哥姐姐指点新手如道!

[复制链接]
发表于 2007-1-6 13:06:59 | 显示全部楼层 |阅读模式
我仿真了一个状态机.为什么输出不是在上升沿立即触发呢?难道逻辑仿真也有滞后吗?代码如下:
Library IEEE ;
use IEEE.std_logic_1164.all ;

ENTITY statmach IS
PORT(
  clk  : IN BIT;
  input : IN BIT;
  reset : IN BIT;
  output : OUT BIT);
END statmach;
ARCHITECTURE a OF statmach IS
TYPE STATE_TYPE IS (s0, s1);
SIGNAL state : STATE_TYPE;
BEGIN
PROCESS (clk)
BEGIN
  IF reset = '1' THEN
   state <= s0;
  ELSIF (clk = '1' AND  clk'EVENT) THEN
   CASE state IS
    WHEN s0=>
     state <= s1;
    WHEN s1=>
     IF input = '1' THEN
      state <= s0;
     ELSE
      state <= s1;
     END IF;
   END CASE;
  END IF;
END PROCESS;

output <= '1' WHEN state = s1 ELSE '0';
END a;

波形图如下

[upload=jpg]UploadFile/2007-1/0716@52RD_wave.jpg[/upload]

本帖子中包含更多资源

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

×
 楼主| 发表于 2007-1-6 13:08:24 | 显示全部楼层
我用的是quartus 6.0仿真的!~~
点评回复

使用道具 举报

 楼主| 发表于 2007-1-8 09:32:45 | 显示全部楼层
[em10]
点评回复

使用道具 举报

 楼主| 发表于 2007-1-8 09:53:49 | 显示全部楼层
这个问题。我已经发现是由于信号附值有延迟的原因..
点评回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-9-29 18:33 , Processed in 0.047013 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表