草庐IT

4.2 Verilog 跨时钟域传输:慢到快

理论上讲,快时钟域的信号总会采集到慢时钟域传输来的信号,如果存在异步可能会导致采样数据出错,所以需要进行同步处理。此类同步处理相对简单,一般采用延迟打拍法,或延迟采样法。延迟打拍法最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。异步信号从一个时钟域进入另一个时钟域之前,将该信号用两级触发器连续缓存两次,可有效降低因为时序不满足而导致的亚稳态问题。电路示意图如下。一般设计中使用两级触发器进行缓存即可满足设计时序需求。大量实验表明,三级触发器缓存可解决99%以上的此类异步时序问题。两级触发器延迟打拍并检测信号上升沿的Verilog描述如下:实例moduledelay_clap(  input 

4.2 Verilog 跨时钟域传输:慢到快

理论上讲,快时钟域的信号总会采集到慢时钟域传输来的信号,如果存在异步可能会导致采样数据出错,所以需要进行同步处理。此类同步处理相对简单,一般采用延迟打拍法,或延迟采样法。延迟打拍法最常用的同步方法是双级触发器缓存法,俗称延迟打拍法。异步信号从一个时钟域进入另一个时钟域之前,将该信号用两级触发器连续缓存两次,可有效降低因为时序不满足而导致的亚稳态问题。电路示意图如下。一般设计中使用两级触发器进行缓存即可满足设计时序需求。大量实验表明,三级触发器缓存可解决99%以上的此类异步时序问题。两级触发器延迟打拍并检测信号上升沿的Verilog描述如下:实例moduledelay_clap(  input 

4.3 Verilog 跨时钟域传输:快到慢

信号从快时钟域传输到慢时钟域来时,需要根据信号的特点来进行同步处理。对于单bit信号,一般可按电平信号和脉冲信号来区分。电平信号同步同步逻辑设计中,电平信号是指长时间保持不变的信号。保持不变的时间限定是相对于慢时钟而言的。只要快时钟的信号保持高电平或低电平的时间足够长,以至于能被慢时钟在满足时序约束的条件下采集到,就可以认为该信号为电平信号。既然电平信号能够被安全的采集到,所以从快时钟域到慢时钟域的电平信号也采用延迟打拍的方法做同步。脉冲信号同步同步逻辑设计中,脉冲信号是指从快时钟域输出的有效宽度小于慢时钟周期的信号。如果慢时钟域直接去采集这种窄脉冲信号,有可能会漏掉。假如这种脉冲信号脉宽都是

4.3 Verilog 跨时钟域传输:快到慢

信号从快时钟域传输到慢时钟域来时,需要根据信号的特点来进行同步处理。对于单bit信号,一般可按电平信号和脉冲信号来区分。电平信号同步同步逻辑设计中,电平信号是指长时间保持不变的信号。保持不变的时间限定是相对于慢时钟而言的。只要快时钟的信号保持高电平或低电平的时间足够长,以至于能被慢时钟在满足时序约束的条件下采集到,就可以认为该信号为电平信号。既然电平信号能够被安全的采集到,所以从快时钟域到慢时钟域的电平信号也采用延迟打拍的方法做同步。脉冲信号同步同步逻辑设计中,脉冲信号是指从快时钟域输出的有效宽度小于慢时钟周期的信号。如果慢时钟域直接去采集这种窄脉冲信号,有可能会漏掉。假如这种脉冲信号脉宽都是

4.4 Verilog FIFO 设计

FIFO(FirstInFirstOut)是异步数据传输时经常使用的存储器。该存储器的特点是数据先进先出(后进后出)。其实,多位宽数据的异步传输问题,无论是从快时钟到慢时钟域,还是从慢时钟到快时钟域,都可以使用FIFO处理。FIFO原理工作流程复位之后,在写时钟和状态信号的控制下,数据写入FIFO中。RAM的写地址从0开始,每写一次数据写地址指针加一,指向下一个存储单元。当FIFO写满后,数据将不能再写入,否则数据会因覆盖而丢失。FIFO数据为非空、或满状态时,在读时钟和状态信号的控制下,可以将数据从FIFO中读出。RAM的读地址从0开始,每读一次数据读地址指针加一,指向下一个存储单元。当FI

4.4 Verilog FIFO 设计

FIFO(FirstInFirstOut)是异步数据传输时经常使用的存储器。该存储器的特点是数据先进先出(后进后出)。其实,多位宽数据的异步传输问题,无论是从快时钟到慢时钟域,还是从慢时钟到快时钟域,都可以使用FIFO处理。FIFO原理工作流程复位之后,在写时钟和状态信号的控制下,数据写入FIFO中。RAM的写地址从0开始,每写一次数据写地址指针加一,指向下一个存储单元。当FIFO写满后,数据将不能再写入,否则数据会因覆盖而丢失。FIFO数据为非空、或满状态时,在读时钟和状态信号的控制下,可以将数据从FIFO中读出。RAM的读地址从0开始,每读一次数据读地址指针加一,指向下一个存储单元。当FI