行缓存生成器
更新于 2015.06.01
设计
行缓存生成器
版本
1.0
更改于
2015-05-18
源文件
IP-GUI
功能
生成行缓存,这个模块现在只支持流水线模式!!!
输出中最低色彩位宽位的数据是第一行!
你可以自行改变Fifo的配置,但是在一个项目中,所有同名的Fifo必须拥有相同的配置,同时你仅仅能够修改"Write Depth" 和 "Fifo Implementation",读取延迟必须为1!
将会在输入使能rows_width * (rows_depth + 1)个周期后给出第一个输出。
文件
名字 | 功能 |
---|---|
RowsGenerator.v | 顶层文件 |
RowsGenerator_TB.sv | 测试平台 |
Fifo1xWidthRows.xci | Xilinx IP文件 |
Fifo1xWidthRows_funcsim.v | 用于功能仿真的模型文件。 |
Fifo4xWidthRows.xci | Xilinx IP文件 |
Fifo4xWidthRows_funcsim.v | 用于功能仿真的模型文件。 |
Fifo8xWidthRows.xci | Xilinx IP文件 |
Fifo8xWidthRows_funcsim.v | 用于功能仿真的模型文件。 |
Fifo12xWidthRows.xci | Xilinx IP文件 |
Fifo12xWidthRows_funcsim.v | 用于功能仿真的模型文件。 |
参数
名字 | 类型 | 范围 | 默认值 | 说明 |
---|---|---|---|---|
rows_width | 无符号 | 2 - 15 | 3 | 行缓存宽度。 |
im_width | 无符号 | 1 - 4096 | 320 | 图像宽度。 |
color_width | 无符号 | 1 - 12 | 8 | 色彩位宽。 |
im_width_bits | 无符号 | 取决于图像宽度 | 9 | 图像宽度的位宽。 |
端口
名字 | 端口 | 类型 | 范围 | 默认值 | 说明 | clk | 输入 | 无符号 | 无 | 无 | Clock. |
---|---|---|---|---|---|
rst_n | 输入 | 无符号 | 无 | 无 | 复位,低有效。 |
in_enable | 输入 | 无符号 | 无 | 无 | 输入数据使能,作为第一个fifo的写使能。 |
in_data | 输入 | 无符号 | color_width - 1 : 0 | 无 | 输入数据,必须和in_enable同步输入。 |
out_ready | output | 无符号 | 无 | 无 | 输出数据有效,在两种模式下,这个信号都会在out_data可以被读取的时候有效。 |
out_data | output | 无符号 | color_width * rows_width - 1 : 0 | 无 | 输出数据,将会和out_ready同步输出。 |
子模块
名字 | 类型 | 说明 |
---|---|---|
Fifo | Fifo1xWidthRows | 位宽为1并且深度为N的Fifo(1 < N < 4096),用于构造色彩位宽为1的行缓存。 你可以自己对fifo进行配置,但是在一个项目中所有的同名的fifo必须拥有同样的配置。 同时你只能够更改写入深度和fifo实现的类型,它的读延迟必须为1! |
Fifo | Fifo4xWidthRows | 位宽为4并且深度为N的Fifo(1 < N < 4096),用于构造色彩位宽为1的行缓存。 你可以自己对fifo进行配置,但是在一个项目中所有的同名的fifo必须拥有同样的配置。 同时你只能够更改写入深度和fifo实现的类型,它的读延迟必须为1! |
Fifo | Fifo8xWidthRows | 位宽为8并且深度为N的Fifo(1 < N < 4096),用于构造色彩位宽为1的行缓存。 你可以自己对fifo进行配置,但是在一个项目中所有的同名的fifo必须拥有同样的配置。 同时你只能够更改写入深度和fifo实现的类型,它的读延迟必须为1! |
Fifo | Fifo12xWidthRows | 位宽为12并且深度为N的Fifo(1 < N < 4096),用于构造色彩位宽为1的行缓存。 你可以自己对fifo进行配置,但是在一个项目中所有的同名的fifo必须拥有同样的配置。 同时你只能够更改写入深度和fifo实现的类型,它的读延迟必须为1! |
仿真
此模块的仿真仅仅支持512xN的图像,并且只支持灰度和二值模式!
同时仅仅支持3和5的窗口!
波形
Pipline mode
原始图像
结果图像
左侧为请求响应模式下的HDL功能仿真结果,中间为流水线模式下的HDL功能仿真结果,右侧为软件仿真结果
PSNR
1-3 | 1-5 | 2-3 | 2-5 | Total |
---|---|---|---|---|
OK | OK | OK | OK | OK |
资源消耗
Slice LUTs* | Slice Registers |
---|---|
610 | 237 |
时序
最大的数据路径延迟为3.514ns,所以:
FMax = 284.57MHz
感谢
用于仿真的图像:
パセリ-絵描き見習い