参考:
同步复位与异步复位 - _9_8 - 博客园reset设计https://www.cnblogs.com/-9-8/p/5470769.html
1.同步复位:
优点
1.在always模块中,并不会有reset的敏感列表。
2.同步复位可以被综合为更小的FF,因为只需要在输入端D加入reset与门或者lib提供带同步reset的FF;
3.同步复位可以对reset信号的小的glitch进行filter,防止metastable的产生;
缺点
1.同步复位需要一个pulse stretcher(counter)来保证reset pulse的宽度足够被clock采样到;
2.同步复位要求必须有clock才能工作,而有时系统要求是clock gate的;
3.在一些三态总线的初始化过程中,要求必须有异步复位,来保证在clock有效前,不出现冲突;
2.异步复位
优点
1.异步复位的FF包括一个专用的reset pin,在always模块的敏感列表中包含reset。
2.异步复位保证了FF,data端的timing是clean的,不会被reset影响到;
3.异步复位可以保证在没有clock的情况下,有效复位;
缺点
1.异步复位的最大问题是在reset release阶段可能出现timing不满足。
2.异步复位reset端出现的小的noise和glitch对设计影响可能是致命的;
3.reset端相对于clock的recovery time和removal time问题,这个问题在一个reset对应多个clock时,更加严峻;
所以综合选择了异步复位同步释放