头疼啊,求思路

2019-03-25 07:49发布

现在要用60万门的fpga做一个接口模块,一开始只是四路串口收发,收到的数据经过组合后发出,我用fpga内部寄存器定义的数组,实现了功能。但是,综合后资源利用率达到了80%。

现在,功能扩展了,要完成十路串口的收发,肯定要用块ram来存储收到的数据了。问题是,发出的数据是对十路收到数据的重新排列组合,这种逻辑功能,我应该怎么实现呢??

经验少,没有思路,求大家给点意见!

@00750
此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
13条回答
仙猫
2019-03-27 00:22
pinggougou 发表于 2015-5-21 01:39
没法复用的!

十路收发都是相互独立的,周期接收数据,然后组合成新的十路后周期发送出去……

原来用定义数组的方法时,定义四个接收数组,四个发送数组,然后可以在一个时钟内直接拼接发送数组。

但是如果用ram的话,一个时钟只能取一个数据,这样的话,怎么拼接新的数组?

感觉是必须复用,全面展开的话,既然现有的4路已占资源80%,要展成10路眼瞅着资源不够用。
复用的意思也就是搞个FIFO什么的,设法让收发一路一路按时序做,最大限度地共用一套处理逻辑。
有没可能不深入看具体代码不好说,但思路是这样。

一周热门 更多>