完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
//第一部分说明初始状态,和current_state<=next_state
//每一个时钟沿产生一次可能的状态变化 always@(posedge clk or negedge rst_n) if(!rst_n) cstate <= INIT; //复位态 else cstate <= nstate; //第二部分,状态转移,产生下一状态的整合逻辑 //状态的跳转 always@(cstate or time_ones or pdh_ok or locked) begin case (cstate) IF_PDH_OK: //PDH OK判断 begin if(time_ones == T2S) //2s begin if(pdh_ok_count >= PDH_OK_COUNT_N) //真信号 nstate <= SEARCH_PDH_OK; //搜索到pdh `else nstate <= WAIT; //重新扫描 end else nstate <= IF_PDH_OK; end //第三段,产生输出 always@(posedge clk or negedge rst_n) if(!rst_n) begin end else begin case(nstate) IF_PDH_OK: //PDH OK判断 begin //锯齿波扫描延长2S if(time_count == T1S) //1s begin time_ones <= time_ones + 1'b1; time_count <= 32'd0; end else time_count <= time_count + 1'b1; //清寄存器 if(time_ones == T2S) //2s begin time_ones <= 0; pdh_ok_count <= 0; end //pdh误触发处理 //开始延时 if(pdh_ok_delay_flag == START) begin if(pdh_time_count == T10MS) //ms begin pdh_ok_delay_flag <= END; pdh_time_count <= 32'd0; end else pdh_time_count <= pdh_time_count + 1'b1; end else begin if(pdh_ok == LOCK) begin pdh_ok_count <= pdh_ok_count + 1'b1; pdh_ok_delay_flag <= START; end end end 求助 , 我在第二部分,状态转移,产生下一状态的整合逻辑 IF_PDH_OK: //PDH OK判断 time_ones == T2S 同时 pdh_ok_count >= PDH_OK_COUNT_N 时将状态改变成nstate <= SEARCH_PDH_OK; //搜索到pdh 但有时并没有被进行状态跳转 还是 在IF_PDH_OK 里 if(pdh_ok == LOCK) 时pdh_ok_count 还在计数 这是是为什么啊? 同时我在第三段,产生输出的 IF_PDH_OK: 状态里对pdh_ok_count清零,但pdh_ok_count并没有被清零,这是什么原因啊/ //清寄存器 if(time_ones == T2S) //2s begin time_ones <= 0; pdh_ok_count <= 0; end |
|
相关推荐
1个回答
|
|
cstate的默认初始值与reset后的初值相同,导致cstate未发生变化,无事件触发,不跳转
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1421 浏览 1 评论
1215 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1426 浏览 0 评论
913 浏览 0 评论
2229 浏览 0 评论
1426 浏览 34 评论
5612 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 05:16 , Processed in 0.597200 second(s), Total 74, Slave 57 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号