为什么代码中要避免使用时钟下降沿?

来源:本站
导读:目前正在解读《为什么代码中要避免使用时钟下降沿?》的相关信息,《为什么代码中要避免使用时钟下降沿?》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《为什么代码中要避免使用时钟下降沿?》的详细说明。
简介:以前做FPGA的时候,没有关心过这个问题,上升沿和下降沿,一直混用。但是昨天后端部门的Lint检查和综合检查都指出了这个问题,要求把设计中的所有时钟沿都统一为上升沿抽样。这样做的目的,据说是为了提高scan chain的覆盖率。

以前做FPGA的时候,没有关心过这个问题,上升沿和下降沿,一直混用。但是昨天后端部门的Lint检查和综合检查都指出了这个问题,要求把设计中的所有时钟沿都统一为上升沿抽样。这样做的目的,据说是为了提高scan chain的覆盖率。因为没有经验,想在这里请教一下大家:

- 混用上升下降沿会对scan chain造成什么样的影响,能否具体解释一下;

- 如果代码在逻辑上必须用下降沿采样,怎样才能满足后端的要求(用上升沿采样),有无变通方法;

我的代码

我在上面提到了上升沿和下降沿混用,其实是表述不正确。不是混用,而是在代码中有些寄存器用posedge,有些则用negedge,对同一个寄存器同时使用两个边沿的情况没有。,我的代码是这样的情况,比如

always @ (posedge i_clk or negedge i_rst_n) begin

.... // reg 1

end

always @ (negedge i_clk or negedge i_rst_n) begin

.... // reg 2

end

对于这样的情况,后端部门也建议尽量避免,也就是说所有寄存器全都采用上升沿,要怎么处理呢?

====

用下降沿采样的话

dft_drc会认为该寄存器有violation

因此不把他放到chain里边

所以覆盖率会降低

提醒:《为什么代码中要避免使用时钟下降沿?》最后刷新时间 2024-03-14 01:04:41,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《为什么代码中要避免使用时钟下降沿?》该内容的真实性请自行鉴别。