在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
12
返回列表 发新帖
楼主: qiurijian

[原创] 今天面试把我问住了,大家给我个通用的答案吧,我觉得这块是短板。

[复制链接]
 楼主| 发表于 2017-9-20 15:39:58 | 显示全部楼层
回复 9# lijunping
关于芯片之间的数据交互,高速串行总线正变得越来越流行,大有天下一统之势。
但是说到高速串行总线,我就又有了新的问题。
1.假如说原先14位的数据并行进入FPGA,时钟频率是56M,那么数据速率就是784Mbps.而PCIe,如果我没有记错的话,它的数据速率有两个,2.5Gbps,5Gbps.这样的话,784Mbps显然是比较慢了。
我的问题来了,FPGA接收到的数据速率784Mbps,但是假如FPGA与DSP之间使用了PCIe,那么,FPGA发送数据给DSP的数据速率最小是2.5Gbps,快到有点浪费,个人感觉也没有什么解决方法。

关于高速串行总线,应该单独开一贴,普及一下教育,以人们能听懂的方式,这是我一直以来的愿望,但是我懂的很少,机理也不是很清晰,目前难以成行。真的,要是一个人能把高速串行总线讲的让我听懂,我就能让你们听懂。

另一点是,比较尴尬,我发帖,管理员要审查,一天之后你们才有可能看见,我上午9点已经发了一贴,到 下午4点还看不见,审查还没有通过。所以论坛是有机制的,是可以防止刷屏的。
发表于 2017-9-22 08:23:47 | 显示全部楼层
这是问应届生的问题吧.....有n种总线可与实现传输
 楼主| 发表于 2017-9-22 10:18:38 | 显示全部楼层
回复 12# glace12123


    You are god damm right.
 楼主| 发表于 2017-9-29 11:38:48 | 显示全部楼层
回复 4# 江山无限辉

首先谢谢您的回答。
您的理解是正确的,确实是这样。我这里就是在FPGA里头开了个双口RAM,FPGA写,DSP读,就是这样。这里的数据量呢,是128*4,就是每个RAM128个数据,例化了4个双口RAM。这是数据量小的情况,可以这样做。
   
但是在大数据量的情况下,大体的架构,我说的对吗?就是dsp,fpga都需要外挂DDR3,先把数据缓存下来,再进行处理,大数据处理,DDR3的存在是十分必要的。

我还是说具体的吧。假如FPGA需要把接收到的数据(是高速串行的数据)传送给dsp,应该怎么做,我不是很懂,不过按照前面的经验,应该也是先写进一个缓存,然后dsp读取,这里恐怕就不适合用双口RAM了,因为数据量很大。我觉得应该是先把接收到的数据写到一片外挂的DDR3上,然后DSP再读取,可是DDR3不可能有两组地址线,两组数据线,因此,类似双口RAM的概念是不行的,那应该怎么办。我目前的猜想是FPGA直接就给dsp数据,dsp接收到后把数据存在挂在自己身上的DDR3,然后慢慢处理,完了之后把需要的数据传给FPGA,FPAG接收到后也可以存在自己的外挂DDR3,然后慢慢处理。我的思路没毛病的,应该是会有一个比较经典的数据交互结构的。大神给讲一讲吧。
发表于 2018-3-25 22:01:10 | 显示全部楼层
本帖最后由 weila9 于 2018-3-25 22:02 编辑

“假设是这样,我发送一组数据给DSP,DSP处理数据后算出几个值,再把他们传给fpga。”
那么FPGA是master, DSP是slave。
打个比方:
master发送控制包给DSP,DSP返回准备好了的信息包;
master传送约定好规格的数据包给DSP,此时是流式传输;
DSP返回算出的结果,以数据包的方式给FPGA,FPGA据包头信息知道是哪部分数据算出的结果。
保持吞吐平衡/匹配,所以FPGA,DSP可能都需要容量和带宽都足够的缓存设备支持(如DDR)
物理连接方式可以是高速串行总线,也可以是设计条件允许下的并行总线。
这里除了电路结构的考虑,还需要有抽象层次的数据交换协议的支持。
发表于 2018-3-29 20:37:40 | 显示全部楼层
是emif 接口吧,能挂ram,也能接flash
发表于 2019-11-12 18:49:26 | 显示全部楼层
为什么我想到的是rapidio
发表于 2020-1-17 10:59:34 | 显示全部楼层
我也就我的想法来说几点:
1、FPGA和DSP的差异,FPGA善于处理低速高平行度的数据结构,DSP善于处理高串行度的数据结构,这是两者的硬件结构决定的;
2、所以FPGA传输给DSP的数据,大多要进行高串行度的运算,如排序、特征值获取等,往往需要较大量的数据,才启动运算,这类数据往往需要较长时间的等待,这个阶段,我们简称数据收集期;
3、FPGA与DSP之间的数据传输过程中,是否需要缓存,缓存的大小是多大,需要根据:
         (1)、DSP处理算法的功能对数据长度要求;
          (2)、FPGA的数据吞吐率与DSP运算能力之间的综合考量,最终实现FPGA数据发送与DSP运算能力的动态平
                衡,不能出现DSP运算能力不足,导致FPGA发送过来的数据丢失;
4、由于DSP发送至FPGA的数据是经过运算后数据量较少的结果数据,可以考虑用比较简单的通信结构,保证数据的正常传输即可。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

×

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-28 17:36 , Processed in 0.028566 second(s), 7 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表