首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
FPGA/CPLD可编程逻辑
» FPGA编程时的一些注意事项(3)
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
FPGA编程时的一些注意事项(3)
发短消息
加为好友
yuyang911220
当前离线
UID
1029342
帖子
9914
精华
0
积分
4959
阅读权限
90
在线时间
286 小时
注册时间
2014-5-22
最后登录
2017-7-24
论坛元老
UID
1029342
性别
男
1
#
打印
字体大小:
t
T
yuyang911220
发表于 2015-1-23 14:45
|
只看该作者
FPGA编程时的一些注意事项(3)
空间
,
影响
3) FIFO读取和写入超时的利用:
参考FFT Co-processor范例,当FIFO中没有有效数据时,读取操作会发生超时,这时,不将无效数据写入到下一级的FIFO;在下一次定时循环时继续读取;当写入FIFO时发生超时,说明被写入的FIFO中已没有足够的空间存入新的数据,这时,下一次定时循环时,依然向FIFO中写入上一次循环的数据。当然,使用这种方式来进行数据传输时,FIFO读取和写入的数据都不会发生异常,但如果该流程中包含Host与FPGA之间的数据传输,则会影响FPGA执行的速率:I)Host端发送数据不够快,则FPGA中总是无法得到有效数据,导致FPGA处理流程受限于数据源;II)Host端接收数据不够快,则FPGA无法将FPGA-to-Host FIFO中的数据快速清空,进而影响FPGA从Host端取数据的速率。因此,在使用FPGA处理并向上位机传输数据的时候,上位机要以FPGA处理速率相当的速率或者以尽可能快的速率读取数据。推荐的方式如下:
很多时候,从FPGA中读取出来的数据需要直接流盘到磁盘阵列中。在高速流盘时对每次写入文件的数据块大小有要求——必须是扇区大小的整数倍,这种情况下,怎么进行读取呢?
当然,很多函数本身就自带输入就绪、输入有效和输出就绪、输出有效这些端口,可以将这些端口与FIFO读取和写入超时端口结合起来,保证读取或者写入数据的有效性。如下:
四线制的握手交互:上图中展示的已经是一种四线制的握手方式,完成了三个模块之间的交互。我们可以把这种交互分成左右两部分来查看,每一部分分别都是两线制的控制回环。首先来看左侧部分:读取FIFO IN时,如果发生超时,那么它输出的数据就是无效的,可以将这个端口与下一个模块的“输入有效”端口相连,来告知下一个模块这个必要的信息,对于无效数据,该模块应该丢弃;而如果第二个模块准备好接收下一个数据之后,第二个模块也将该信号反馈给第一个模块,告知第一个模块可以输出新的数据,否则,第一个模块不应该输出新的数据;这就构成了一个控制回环。再来看右侧部分:第三个模块如果准备好了接收新的数据,需要将这个信息告知第二个模块(连接到第二个模块的“输出就绪”端口),这时第二个模块就可以输出新的数据了,否则第二个模块不应该输出有效数据;而当第二个模块输出了有效的数据,那么第三个模块就应该接收数据,否则忽略。这又构成了一个控制回环。按照这样的思路,可以进行多级级联,完成多线制的握手。
收藏
分享
评分
继承事业,薪火相传
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议