摘要:
在以前所做的项目中用到的AHB总线中,发现作为Slave设备有2个hready信号线。一直没搞清楚这2个信号线详细作用,最近在请教高人之后终于弄明白了2个hready信号线的作用。 一般作为AHB总线的Slave设备都有2根hready信号,一个为input类型(hready_in),另一个为output类型(hready_out)。在AHB总线协议中,如果Master设备发起读写操作的时候,Slave设备不能及时响应的话,由Slave设备把hready_out信号拉低来拖延DataPhaze周期。 但是在Pipeline操作的时候,本次操作data phaze是下一次操作的address . 阅读全文
posted @ 2014-01-05 16:42
Jeason001
阅读(6721)
评论(0)
推荐(1)
摘要:
总结了一下本人项目中遇到的类似问题, 大家如果遇到可以从以下方面着手检查bug.1.寄存器未给初值; 一个良好的习惯就是每个寄存器变量都要在reset里面预先定义初值. 看下面一个例子:reg [1:0] unini;always@(posedgeclk or negedge rst)begin if(~rst) ;//未给定初值 else begin unini<=2'd1; if(unini<2'd1) a<=b; endend这个例子是笔者在做项目的时候真实经历的一个bug的一个简化描述,实际代码比这个要复杂得多,当时也是找了半天最后才发现是寄存器未给初 阅读全文
posted @ 2014-01-05 16:17
Jeason001
阅读(2088)
评论(0)
推荐(0)

浙公网安备 33010602011771号