请教大神啊,我第一份工作的第一个项目TT

[复制链接]
2484|7
 楼主| 517650971 发表于 2012-3-18 10:20 | 显示全部楼层 |阅读模式
请教大侠,为什么AD7718的子模块里边的状态机在仿真下怎么在乱跳?

本帖子中包含更多资源

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

×
lwq030736 发表于 2012-3-18 13:59 | 显示全部楼层
看下你的状态跳转逻辑怎么写的
GoldSunMonkey 发表于 2012-3-18 18:02 | 显示全部楼层
检查代码看是什么引起的跳转。
viatuzi 发表于 2012-3-18 21:22 | 显示全部楼层
你这个状态机写的太飘逸了……
viatuzi 发表于 2012-3-18 21:27 | 显示全部楼层
你状态机的状态跳转有问题,不过你写的有点乱,我懒得详细看了。
debug的时候,可以根据波形看信号的跳转来检查。

给你贴一个比较规范的简单的状态机看看吧:

parameter  FT_IDLE = 3'b001,
           FT_TST  = 3'b010,
           FT_DOUT = 3'b100;

reg [2:0] FTSTSM, FTSTSMNXT;

always @(posedge BASE_CLK or negedge RESET) begin
        if(~RESET)
                FTSTSM <= FT_IDLE;
        else
                FTSTSM <= FTSTSMNXT;
end

always @(FTSTSM or TST_EN or TST_END_2Q) begin
       FTSTSMNXT = FTSTSM;
            case (FTSTSM)
         FT_IDLE:
                 if(TST_EN)
                               FTSTSMNXT = FT_TST;
                else
                        FTSTSMNXT = FT_IDLE;
         FT_TST:
                 if(TST_END_2Q)
                               FTSTSMNXT = FT_DOUT;
                else
                        FTSTSMNXT = FT_TST;
         FT_DOUT:
                 FTSTSMNXT = FT_IDLE;
        default:
                FTSTSMNXT = FT_IDLE;
        endcase       
end

评分

参与人数 1威望 +2 收起 理由
GoldSunMonkey + 2 感谢分享~

查看全部评分

GoldSunMonkey 发表于 2012-3-19 10:39 | 显示全部楼层
感谢分享~
GoldSunMonkey 发表于 2012-3-19 18:40 | 显示全部楼层
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

40

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部