AMBA总线多数情况下如果slave处于idle情况,都会把ready拉起。但是协议也没有禁止slave不能根据自己的某些原因把
ready拉低。如果忽略这种情况,就会在极端情况下出问题。
1.设计应该汲取的教训
学习别人的错误就是减少自己的错误,对协议的各种情况都要考虑清楚,各种corner都要考虑。
细节体现魔鬼,写RTL不难,专家的水平就体现在细节,用最简洁的语言完美表达逻辑;有人说
很多数学公式非常优美,跟这道理一样,冗余啰嗦往往就有风险。
2. Review和仿真汲取的教训
没有详细设计文档,别人是无法真正帮你Review的,因此最好把详细设计文档准备好。
仿真没有发现是没有出现这种场景,而这个场景又是由下面引起,先写DDR2,来中断,再读DDR2,
目前发现所有的情况都伴随中断出现。所以仿真时要跟写FM的软件人员密切合作,尽量增加场景。
特别是顶层仿真尤为这样,加大各种场景,压力,把设计没有考虑好的压出来。
3. ECO的考虑
细节体现模块,真正的专家是能简洁的给出ECO方案,我们这里的几个专家这方面确实牛!快,准地找到解决办法。