微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 一个module中 上升沿和下降沿,一直混用

一个module中 上升沿和下降沿,一直混用

时间:10-02 整理:3721RD 点击:
代码中有些寄存器用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

这样使用,到底会有什么隐患?

看具体的时序吧,可能DDR采样,可能某些信号得用下降沿采,但是尽量不要这样写

没有特殊原因的话,一般不建议这样做,因为对时钟的占空比有要求。

对时钟的占空比有要求,且如果不同边沿下的D触发器有互采样的话,会导致综合的频率提高一倍

问题不够清晰啊。

这样写的好处是可以提高速度,但是代价是可能会产生时序问题,锁相环产生时钟时,只能保证每个上升沿间隔大致相同,但是下降沿抖动的很严重,而且这种问题通过仿真是看不出来问题的,下到板子上之后才会出现问题,而且还是有时出现问题有时没问题。
若是你的时钟频率本来就很小时,可以采用。

可综合,肯定没问题;
有些专用场合必须这么做,但在一般逻辑设计中尽量不要用双沿,这样会让自己的逻辑产生混乱,可以使用double时钟

除了ddr和时钟控制,不建议这样做

这样用,还有一种可能,只是testbench 或者 某个器件的verilog model

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top