LATTICE的FIFO_DC和定义如下:
module FIFO_DC_MOD (Data, WrClock, RdClock, WrEn, RdEn, Reset, RPReset,
Q, WCNT, RCNT, Empty, Full);
说明:
input wire [0:127] Data; 输入数据
input wire WrClock; 输入数据的控制时序
input wire RdClock; 输出数据的控制时序
input wire WrEn; 输入使能1写入
input wire RdEn; 输出使能1输出
input wire Reset; 输入复位 复位WCNT等
input wire RPReset; 输出复位 复位RCNT等
output wire [0:127] Q; 输出数据
output wire [0:9] WCNT;FIFO 数据个数 与输入时序异步 差2个周期如第一周期写入 到第三个周期WCCNT才加1
output wire [0:9] RCNT;FIFO 数据个数 与输出时序异步 差2个周期如的第一周期检测到有数据到第三个输出周期才输出RCNT个数
output wire Empty;与输出周期同步,即由0变1 (输出到空时EMpty为1 但是这时的 RCNT差一个到全部输出)
与输入异步,即有输入时由1变0 ,但是是输入时钟发现这一变化的2个时钟以后才有1变0;
output wire Full;与输入周期同步 及由0变1 即输入到满时FULy为1 但是这时的 WCCNT差一个到满
与输出异步即有输出时由1变0 ,但是是输出时钟发现这一变化的2个时钟以后才有1变0;
下图:
输入变化:clk为输出时序 clk_100m为输入时序
2为输出变化: