首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» Xilinx实现基于BlockRAM的高效移位寄存器 [此博文包含图片]
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
Xilinx实现基于BlockRAM的高效移位寄存器 [此博文包含图片]
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-8-26 10:25
|
只看该作者
Xilinx实现基于BlockRAM的高效移位寄存器 [此博文包含图片]
寄存器
,
图片
Xilinx
使用
block ram
(
RAM_based shiftregister
)
实现图像行存储(Video LineStroe)
-
对应
altera
的
altshift_taps
详细可见:
http://www.altera.com.cn/literature/ug/ug_shift_register_ram_based.pdf
Xilinx
具体实现参考文档
Implementingand Testing Efficient Video Line Stores
http://www.xilinx.com/products/boards/s3estarter/files/s3esk_video_line_stores.pdf
整篇文档下半部分
详细介绍了基于
blockram
的数据移位寄存。
摘要几点中心思想:
1.
在任何情况下,深度较深的以为寄存都强烈建议使用
block ram
。
思路如上图所示,但实现不推荐用这么多
D
触发器,也不推荐使用
SRL16
之类的
slice
级别移位寄存器。
2.
对于(例如图像处理)分多通道时,不用拘泥于单通道对应单
block ram
。
Block ram
是
9bit1920
深度。输入格式为
R10 G10 B10
,如上图最大化利用位宽。
3.
对于
SDP
以及
TDP
模式
blockram
应用的启发。
对于每一个
port
在读写都是全双工的。当使用TDP模式时,相当于一个Block RAM可以实现2路同时读,2路同时写的quad portmemory。
设定为
read_first
模式时,(同时,
EN=WE=1
)可以产生如下时序:
如此可知,控制每个
port
的地址位进行递增,便可以实现一个
tap
(引用
altera
的概念)
此时的硬件结构如上图
此时的时序如上图
这边需要注意的是,假定一行
16
个像素,
1
与
17
对应。每列的像素需要对齐。
如果地址为
16
进制,那么
1
与
17
会差一个时钟周期,所以地址必须是
15
进制。
结论,地址位
(行像素数
-1
)进制。
4.
使用
EN
引脚来过渡图像
fly-back
(个人觉得可以理解为行消隐
blanking
)而非
WE
。
在遇到
fly-back
时
我们所需要的时序如下:
当使用
WE
引脚来做使能时,时序如下
:
通过时序图对比直观反映了在使用
WE
引脚作为选通信号时,会过早的
read
出下一行第二个数据。
5.
由于
blockram
的深度是相对固定的,必须评估
ram
的使用率。
在文档中详细介绍了各种位宽和深度。这边只列举一个对比启发增加使用率的思路。
1
)当图像宽度为
1024
,位宽为
18bit
时,正好对应
18
位宽的
block ram
级联成
1024
深度。
此时硬件结构如上,右边英文告诉你每
8
个
bit
会有
1bit
奇偶位,其实就是普通的
1bit
。
这个时候地址位控制为
0
到
3FE
(
1022
)使用了
1023
个地址位,最后一位地址永远用不到,正是为了前面提到过的每列数据对齐。
注意,这边的
1022
是计数器的最后一位,
1023
说明移位有
1023
个状态,
1024
是一行像素数,不要相互混淆。
这个时候,得出的结论是
2
)当行像素数为
768
时,同样使用的是
1024
深度的
block ram
。
此时,只会使用前面的
767
个地址,后面的地址就浪费了,所以要想办法再利用后面的
257
个地址。方法如下:
因为
768 = 256 x 3
那么
后面的地址可以组成一个
256
深度
x 3
的
6
位宽移位寄存器。
硬件结构如上,下面说明的正是后面的存储空间的利用。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议