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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 7962|回复: 17

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

[复制链接]
发表于 2017-9-19 16:36:55 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
问题就是FPGAdsp之间的接口问题,面试官把我问出shi来了,臊死我了。

他们之间究竟是怎样交互数据的,关键词,ddr或者sram。

假设是这样,我发送一组数据给DSP,DSP处理数据后算出几个值,再把他们传给fpga。通用的处理方法应该怎么办,这块不是很清楚。

我有一块板子,有dsp还有fpga,我简历上的项目是用的师兄的,软件部分(FPGA)能看个大概,硬件的连线我看不太懂,原理图也没有研究好,看实物图,dsp与fpga之间有一块sram,他们的数据传输到底是怎么一回事。

我交待一下能看懂的部分,FPGA的输入端口有几个是DSP的控制线,FPGA内部生成了个双口的RAM,FPGA往里面写,DSP往外读取,写地址是FPGA的时钟控制,但也受dsp的控制信号辖制,写满之后会有标志信号输出且作为输出端口。读地址是由dsp的时钟控制的。在FPGA给DSP传数据的时候,从RAM里面读取出来的数据经过一个双向端口输出,这一切都是在FPGA内部发生的,当dsp给fpga发送数据的时候也是从这个双向端口进入FPGA,就是说进入fpga的数据,从FPGA输出的数据都是经过这个唯一的数据端口。dsp的部分,原理图显示,它连接着sram,还有flash,共用地址线,数据线,当然片选可以区分两个芯片,所以在大神您看来,这个数据交换,这个接口,到底是怎么一回事,我不想在下一次面试完后再给舍友发送:“The HR just beat the shit out of me!”

大神留步,给解释一下吧,蛋疼的sram.
发表于 2017-9-19 16:44:54 | 显示全部楼层
你最近成功刷屏了...
 楼主| 发表于 2017-9-19 17:21:41 | 显示全部楼层
回复 2# YYFFLLMMNN

我也不想刷屏,学习FPGA,又没有人指导,最近在做项目,又要找工作,要累死了,很痛苦。问题又急需解决,又没有给解答,只能厚颜无耻的在论坛里发问,好歹大家都热心给我回复,我很感动。我虽然刷屏了,但是我确实是在问问题,不是在无病呻吟,也确实通过论坛解决了不少问题。
我不光只是索取,我也积极解答他人的提问,前提是我懂,有相关的经验,我也会在感兴趣的题目上跟楼主热烈讨论。
我很喜欢这个论坛,很活跃,很健康,同时我也非常感谢您的回复。如果您能在技术上给我指导一二,我会更高兴。
发表于 2017-9-19 18:09:16 | 显示全部楼层
如果只是少数的(几十个)数据的交互,在FPGA内开个双口RAM,一个口给DSP控制,一个口给FPGA控制。这就可以完成数据的交互了,至于什么时候启动DSP的计算,FPGA什么时候去拿DSP的计算结果,这可以用中断的形式或者控制位的方式。
仅个人认知范围内的答复。
 楼主| 发表于 2017-9-19 19:27:58 | 显示全部楼层
FPGA传送给dsp128*4个数据,而DSP要传送给FPGA4个数据,我猜,传给dsp的数值应该是放进了SRAM,之后,dsp读取sram中的数据,进行计算之后再传送4个计算出来的值给FPGA,关键的问题是dsp传送数据给FPGA,因为数据量小,会不会,直接通过连线把数据给了fpga,dsp和fpga之间可以直接连接吗?会不会有电平上的差异。stratix 111与6713。
发表于 2017-9-20 03:01:23 | 显示全部楼层
就喜欢看你讲故事 哈哈
发表于 2017-9-20 08:59:59 | 显示全部楼层
回复 3# qiurijian
随便说说,别当真....我可没说你光问不答..
这论坛就需要人刷屏...
发表于 2017-9-20 09:10:31 | 显示全部楼层
我们目前的做法是做一个wrapper,把外部处理器的内存总线逻辑变换成FPGA内部总线的一个master device,当然不止是做数据传输,还有控制需求。如果只有数传需求,做成slave也行
发表于 2017-9-20 09:36:05 | 显示全部楼层
我所知道的是FPGA和CPU之间都是通过总线来实现的,比如以前的PCI,现在的PCIe,再慢的点就有local bus,这个local bus就相当于一个flash的接口。如果要非常高的数据共享,那还可以通过外部的双口ram,比如IDT就有一款。如果是使用总线交互,那么FPAG可以做一个模块来作为CPU的外设,比如PCIe的slave。
另外,其实在现在的FPGA里面都有集成cpu方案的,你可以找款来学习一下。我所以知道的就是XILINX使用的是ARM公司的AXI总线,其实这个总线也是可以挂在芯片外面的。
个人水平有限,不知道是否有说错哈。仅供参考。
 楼主| 发表于 2017-9-20 09:46:53 | 显示全部楼层
回复 6# masaka_xlw

我看您都是论坛里的老人了,不是技术大牛也是小牛了,不要老是听故事,看笑话,麻烦您高屋建瓴,给讲一讲FPGA与DSP之间的数据交互与sram(ddr)之间的辩证关系。

目前我觉得是这样:

1 FPGA给大量数据给DSP,而DSP只给FPGA很少的数据,在这种情况下,DSP可能会用到SRAM(DDR),DSP先把接收到的数据存在SRAM(DDR),然后再慢慢处理。。

2 两者互相传给对方的数据都很多,这样的话,DSP,FPGA恐怕都要各自外挂上一个SRAM(DDR).

3 两者互相传给对方的数据都很少,这样的话,DSP,FPGA恐怕都不需要外挂上一个SRAM(DDR).

4  FPGA给DSP少量数据,而DSP给FPGA很多的数据,在这种情况下,FPGA可能会用到SRAM(DDR),FPGA先把接收到的数据存在SRAM(DDR),然后再慢慢处理。。

为什么接收大量的数据往往要外挂SRAM(DDR),那就是处理的问题了,因为实时处理实在是很难。

我觉得是这样,假如我说的对,大家给我点赞,假如我说的不对,希望你们批评指正,并原谅我那一本正经的胡说八道。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

×

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

GMT+8, 2024-3-29 02:50 , Processed in 0.029862 second(s), 6 queries , Gzip On, Redis On.

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