3095|13

58

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

头疼啊,求思路 [复制链接]

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

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

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

@00750
此帖出自FPGA/CPLD论坛

最新回复

你把寄存器当RAM用肯定资源占用率太高了,太浪费了!不知道你用的FPGA内部RAM资源怎么样,如果足够多,可以用block ram来实现。 看你的描述,用下图的方式来实现就可以了。 [attach]198833[/attach]   详情 回复 发表于 2015-5-21 22:39
点赞 关注
 

回复
举报

5979

帖子

8

TA的资源

版主

沙发
 
什么资源用了80%
此帖出自FPGA/CPLD论坛

点评

逻辑资源呀!因为我定义的数組来存储接收和要发送的数据,所以逻辑资源利用率比较高。然后发现fpga内有很多ram块资源没有用,想用起来!  详情 回复 发表于 2015-5-19 02:05
个人签名生活就是油盐酱醋再加一点糖,快活就是一天到晚乐呵呵的忙
===================================
做一个简单的人,踏实而务实,不沉溺幻想,不庸人自扰
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
本帖最后由 pinggougou 于 2015-5-19 02:08 编辑


逻辑资源呀!因为我定义的数組来存储接收和要发送的数据,所以逻辑资源利用率比较高。然后发现fpga内有很多ram块资源没有用,想用起来!
但是数据存在RAM块里后,如何实现从ram块里取收到的数据,然后对其进行重新排列组合,是个问题!
此帖出自FPGA/CPLD论坛
 
 
 

回复

120

帖子

0

TA的资源

一粒金砂(中级)

4
 
功能接口怎么定义的?不知道你描述的四路组合是什么个意思
此帖出自FPGA/CPLD论坛

点评

就是收到四路数据,从每路抽出一部分,然后组合成新的四路四路数据,发出去!  详情 回复 发表于 2015-5-19 08:27
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

5
 


就是收到四路数据,从每路抽出一部分,然后组合成新的四路四路数据,发出去!
此帖出自FPGA/CPLD论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

6
 
综合后资源利用率达到了80%

细看下综合报告,具体是哪些资源不够用了。
如果只是存储单元不够或可利用块RAM,其他资源不足的话就另当别论了。
此帖出自FPGA/CPLD论坛

点评

人家现在正是因为用了RAM而不知道怎么处理接下来的逻辑  详情 回复 发表于 2015-5-19 09:40
 
 
 

回复

449

帖子

0

TA的资源

纯净的硅(中级)

7
 
仙猫 发表于 2015-5-19 08:53
细看下综合报告,具体是哪些资源不够用了。
如果只是存储单元不够或可利用块RAM,其他资源不足的话就另当别论了。

人家现在正是因为用了RAM而不知道怎么处理接下来的逻辑
此帖出自FPGA/CPLD论坛

点评

至少从字面上理解,现有的4路收发已占资源80%,要扩展成10路收发资源还够不够用是要首先考虑的。 因此做扩展时能否不再使用太多的新添资源,尽量复用现有逻辑,恐怕是个关键。 当然,没看到具体的东西无法准确判断  详情 回复 发表于 2015-5-19 10:02
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

8
 
Aragorn 发表于 2015-5-19 09:40
人家现在正是因为用了RAM而不知道怎么处理接下来的逻辑

至少从字面上理解,现有的4路收发已占资源80%,要扩展成10路收发资源还够不够用是要首先考虑的。
因此做扩展时能否不再使用太多的新添资源,尽量复用现有逻辑,恐怕是个关键。
当然,没看到具体的东西无法准确判断。
此帖出自FPGA/CPLD论坛

点评

没法复用的! 十路收发都是相互独立的,周期接收数据,然后组合成新的十路后周期发送出去……  详情 回复 发表于 2015-5-21 01:39
 
 
 

回复

1

帖子

1

TA的资源

一粒金砂(初级)

9
 
使用ram缓存数据,从而优化算法,减低资源利用率,以空间换时间,楼主的意思应该是这样。
此帖出自FPGA/CPLD论坛

点评

以时间换空间??  详情 回复 发表于 2015-5-21 01:39
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

10
 
本帖最后由 pinggougou 于 2015-5-21 01:42 编辑
仙猫 发表于 2015-5-19 10:02
至少从字面上理解,现有的4路收发已占资源80%,要扩展成10路收发资源还够不够用是要首先考虑的。
因此做扩展时能否不再使用太多的新添资源,尽量复用现有逻辑,恐怕是个关键。
当然,没看到具体的东西无法准确判断。

没法复用的!

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

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

但是如果用ram的话,一个时钟只能取一个数据,这样的话,怎么拼接新的数组?
此帖出自FPGA/CPLD论坛

点评

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

回复

58

帖子

0

TA的资源

一粒金砂(中级)

11
 
chhbokay 发表于 2015-5-19 10:47
使用ram缓存数据,从而优化算法,减低资源利用率,以空间换时间,楼主的意思应该是这样。

以时间换空间??
此帖出自FPGA/CPLD论坛
 
 
 

回复

3138

帖子

0

TA的资源

裸片初长成(初级)

12
 
pinggougou 发表于 2015-5-21 01:39
没法复用的!

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

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

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

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

回复

375

帖子

0

TA的资源

一粒金砂(高级)

13
 
你把寄存器当RAM用肯定资源占用率太高了,太浪费了!不知道你用的FPGA内部RAM资源怎么样,如果足够多,可以用block ram来实现。
看你的描述,用下图的方式来实现就可以了。

此帖出自FPGA/CPLD论坛

点评

用fifo不行啊,我还有许多状态字需要提取出来。 所以用了双口RAM。 不过调试的时候出现了一些问题,另开一帖,请帮忙捉虫  详情 回复 发表于 2015-5-23 23:03
 
 
 

回复

58

帖子

0

TA的资源

一粒金砂(中级)

14
 
00750 发表于 2015-5-21 22:39
你把寄存器当RAM用肯定资源占用率太高了,太浪费了!不知道你用的FPGA内部RAM资源怎么样,如果足够多,可以用block ram来实现。
看你的描述,用下图的方式来实现就可以了。

用fifo不行啊,我还有许多状态字需要提取出来。

所以用了双口RAM。

不过调试的时候出现了一些问题,另开一帖,请帮忙捉虫
此帖出自FPGA/CPLD论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

查找数据手册?

EEWorld Datasheet 技术支持

关闭
站长推荐上一条 1/10 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表