同步FIFO设计
来源:互联网 发布:sql图标 编辑:程序博客网 时间:2024/05/21 10:45
同步FIFO设计与实现
(2011-12-05 21:26:22)fifo
分类: FPGA学习点滴同步FIFO设计
1.功能定义:
2.顶层信号定义:
信号名称
I/O
功能描述
源/目标
备注
Rst
In
全局复位(低有效)
管脚
Clk
In
全局时钟
管脚
频率10Mhz;
占空比:50%
Wr_en
In
低有效写使能
管脚
Rd_en
In
低有效读使能
管脚
Data_in[7:0]
In
数据输入端
管脚
Data_out[7:0]
Out
数据输出端
管脚
Empty
Out
空指示信号
管脚
为高时表示fifo空
Full
Out
满指示信号
管脚
为高时表示fifo满
3.顶层模块划分及功能实现
该同步fifo可划分为如下四个模块,如图1所示:
①存储器模块(RAM)
②读地址模块(rd_addr)
③写地址模块(wr_addr)——用于写地址的产生
④标志模块(flag_gen) ---- 用于产生FIFO当前空满状态。
1)
本设计中的FIFO采用采用16*8双口RAM,以循环读写的方式实现;
l
l
input clk;
input rd_en;
input wr_en;
input[7:0]data_in;
input[3:0]wr_addr;
input[3:0]rd_addr;
output[7:0]data_out;
reg [7:0]data_out;
parameter max_count=5'b10000;
reg [7:0]fifo[0:max_count];
//读操作
always @ (posedge clk )
begin
end
//写操作
always @ (posedge clk )
begin
end
endmodule
2)wr_addr_gen:
该模块用于产生FIFO写数据时所用的地址。由于16个RAM单元可以用4位地址线寻址。本模块用4位计数器(wr_addr[3:0])实现写地址的产生。
l
l
module wr_addr_gen(clk,rst,full,wr_en,wr_addr);
input clk,rst;
input full;
input wr_en;
output [3:0]wr_addr;
reg [3:0]wr_addr;
always @ (posedge clk or negedge rst)
begin
end
endmodule
3)rd_addr_gen:
该模块用于产生FIFO读数据时所用的地址。由于16个RAM单元可以用4位地址线寻址。本模块用4位计数器(rd_addr[3:0])实现读地址的产生。
l
l
input clk,rst;
input emptyp;
input rd_en;
output [3:0]rd_addr;
reg [3:0]rd_addr;
always @ (posedge clk or negedge rst)
begin
end
endmodule
4) flag_gen模块
flag_gen模块产生FIFO空满标志。本模块设计并不用读写地址判定FIFO是否空满。设计一个计数器,该计数器(pt_cnt)用于指示当前周期中FIFO中数据的个数。由于FIFO中最多只有16个数据,因此采用5位计数器来指示FIFO中数据个数。具体计算如下:
l
l
l
l
l
input clk,rst;
input rd_en;
input wr_en;
output full,emptyp;
reg full,emptyp;
reg[4:0]count;
parameter max_count=5'b01111;
always @ (posedge clk or negedge rst)
begin
end
always @(count)
begin
end
always @(count)
begin
end
endmodule
最后的顶层模块如下所示:
仿真波形:
- 写的ferfect,呵呵
顶层模块的代码呢??能分享下吗
登录名: 密码: 找回密码 注册
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。
- 同步FIFO设计
- 同步fifo设计
- 同步FIFO设计
- 异步FIFO同步化设计
- 同步fifo
- 同步FIFO和异步FIFO
- 同步FIFO(转)
- 同步FIFO实现
- 同步FIFO理解
- Verilog同步FIFO
- 同步FIFO的编写
- 异步FIFO设计
- 异步FIFO设计方法
- STM32F4 按键FIFO设计
- 异步FIFO设计
- 同步FIFO之VHDL描述
- 同步FIFO的Verilog实现
- 同步FIFO和异步FIFO的Verilog实现
- Swift 05 策略模式 Strategy Pattern
- AndroidStudio常用快捷键
- 最近点对问题
- 嵌入式系统里的ROM和RAM
- Android多媒体开发框架
- 同步FIFO设计
- Swift 06 职责链模式 Chain of Responsibility
- 函数指针
- Java垃圾回收算法
- Swift 07 命令模式 Command Pattern
- 用Jquery动态append方式加入标签时 css样式丢失的解决方法
- POJ-2778 ac自动机+矩阵快速幂
- PAT:1001. A+B Format (20)
- hibernate注解方法使用总结