完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
请问大家有没有看过特权同学的sram读写代码呀?为什么要设置状态机呢?感觉就是在整个状态机就是在等待延时啊?直接用计数器或者是延时模块不可以吗?
parameter IDLE = 4'd0, WRT0 = 4'd1, WRT1 = 4'd2, REA0 = 4'd3, REA1 = 4'd4; reg[3:0] cstate,nstate; always @ (posedge clk or negedge rst_n) if(!rst_n) cstate <= IDLE; else cstate <= nstate; always @ (cstate or sram_wr_req or sram_rd_req or cnt) case (cstate) IDLE: if(sram_wr_req) nstate <= WRT0; //进入写状态 else if(sram_rd_req) nstate <= REA0; //进入读状态 else nstate <= IDLE; WRT0: if(`DELAY_80NS) nstate <= WRT1; else nstate <= WRT0; //延时等待160ns WRT1: nstate <= IDLE; //写结束,返回 REA0: if(`DELAY_80NS) nstate <= REA1; else nstate <= REA0; //延时等待160ns REA1: nstate <= IDLE; //读结束,返回 default: nstate <= IDLE; endcase //------------------------------------- assign sram_addr = addr_r; // SRAM地址总线连接 整个状态机和最后一句话有什么直接联系吗?求解谢谢 |
|
相关推荐 |
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
1851 浏览 1 评论
1590 浏览 0 评论
矩阵4x4个按键,如何把识别结果按编号01-16(十进制)显示在两个七段数码管上?
1810 浏览 0 评论
968 浏览 0 评论
2586 浏览 0 评论
1594 浏览 41 评论
5819 浏览 113 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-4 22:00 , Processed in 0.481514 second(s), Total 69, Slave 53 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号