FPGA学习笔记第五弹
基于FPGA的跨时钟域信号处理
在实际设计中我们一般会遇到很多关于时钟域处理的问题,越是复杂的FPGA设计,越是存在很多关于跨时钟处理的问题。
如何解决跨时钟域带来的问题:
1: 同步处理(先寄存一个时钟周期在使用)
2:利用存储器(FIFO)
握手信号
什么是握手信号:所谓的握手信号,即通信双方使用了专用的控制信号进行状态的指示,这个信号,作为接受方和发送方实现通信的一个标志。(req& ack)发送端首先将数据放进总线之中,然后同时向接收端发出一个reg 信号。接收端首先检测是否有req信号,如果存在这个信号,就将总线中的数据接收下,并向发送端发送一个ack信号表示完成应答。这就是一次完整的握手通信。代码实现如下:
module hand(
input clk,
input rst,
input req,
input [7 :