管脚自动分配_求解FPGA资源利用率 管脚分配带你硬核通关

7253870857deb472a1e056744ef50abf.gif

文章来源:【FPGA技术联盟】,作者王欢,内容仅代表作者观点,有删改。

FPGA验证是在芯片的研发环节中重要的组成部分,如何有效的利用FPGA的资源, 管脚分配也是必须考虑的一个重要问题。

通常,在综合过程中通过时序的一些约束让对应的工具自动分配是不错的选择,但是,从研发的时间段上来考虑这种方法往往是不可取的。

在研发过程中,RTL验证与验证板设计必须同步进行,验证代码出来时验证单板也必须设计完成,也就是说管脚的分配必须在代码设计出来之前完成。所以,管脚的分配更依赖于人,而非工具,这个时候就更需要考虑各方面的因素。综合起来主要考虑以下的几个方面:

No.1

FPGA 所承载逻辑的信号流向

通常情况下,在IC验证中所选用的FPGA逻辑容量都非常大,外部的管脚数量丰富,因此必须考虑PCB设计时布线的难度,如果管脚的分配不合理,则有可能在PCB设计时出现大量的交叉的信号线,这将给布线带来很多的困难,甚至走不通,即便布线走通了,也可能由于外部延时过大而无法满足时序要求。因此,在管脚分配前,设计者要对FPGA工作的环境相当熟悉,要对其中的信号来来源与去向都非常的清楚,然后按照连线最短的原则将对应的信号分配到与外部器件连线最近的BANK中。

No.2

掌握 FPGA 内部 BANK 的分配的情况

FPGA内部BANK会分成几个区域,在每个区域中可用的I/O管脚数量各不相同。IC验证多采用英特尔系列的FPGA。以Intel® Stratix® II系列的FPGA内部BANK的分配为例来说明,如图1。

99b9efe939c67f28849dadb51672f65e.png

图1 Stratix® II 系列的 FPGA 内部 BANK 分配

图1中详细说明了FPGA内部BANK的分配情况以及每个 BANK 中所支持的 I/O 标准。设计者根据FPGA内部BANK的分配情况,结合信号流向便可大概确定FPGA在单板中的方向,同时按照就近的原则将相关的信号分配到相应的BANK中,这样即可完成一般信号的分配。

No.3

掌握FPGA每个 BANK 所支持的 I/O 标准

从图 1中可以看出 FPGA 内部的各个BANK 所支持的 I/O 的标准不尽相同,所以在管脚分配时要将支持相同标准的管脚集中到一个 BANK 中,通常情况下,FPGA 中同一个 BANK一般不同时支持两种 I/O 标准,当然也有例外,这就需要查阅相关 I/O 标准所要求的工作条件。

No.4

关注特殊信号的管脚的分配

这里讲的特殊信号主要是指:时钟信号、复位信号、以及一些要求驱动能力较高的信号。

时钟信号:一般时钟信号都是要求分配到全局的时钟管脚,这样获得的时间的延迟将是最小的,驱动能力也最强。

复位信号:因为复位信号要求同步性好,驱动能力强,所以一般的情况下也会从全局的时钟管脚送入。

在分配时钟时,根据时钟的多少分配的策略差别很大,也需要重点关注,这需要查阅相应的手册,看每个时钟分别能到达的区域,一般时钟都是差分时钟,如果所用的不是差分时钟就需要注意 P 端与 N 端一般不能同时分配给不同的时钟信号。如果同时采用,则不能同时到达相同的区域,因为到达相同区域的时钟线只有一根。

所以在时钟较少时最好不要同时使用成对的 P 和 S ,而是只是选择 P 或者是 N 这样就不会出现冲突的情况。

No.5

兼顾信号完整性的考虑

在分配中常常会出现总线分配的情况,同时大量的总线又有可能是同时翻转,这样就会带来一系列信号完整性的问题,故在管脚分配时尽量将大量同时翻转的信号分开。

推荐阅读

智创未来 FPGA云加速中心助力云上伙伴

征稿!携手校企各领域人才 共踏FPGA发展征途

点击文字查看原文

45f85e91ebc3da859a902ca034697ad2.gif

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
FPGA硬核和软核的区别在于它们的实现方式和性能特点。硬核是固化在FPGA内部的特殊硬件电路,类似于嵌入在FPGA内部的ASIC,如嵌入式RAM、嵌入式乘法器、PLL等。硬核的特点是具有高性能和低功耗。相比之下,软核是用FPGA的通用逻辑资源搭建而成的,通过使用FPGA逻辑资源实现的软核处理器。软核的特点是灵活性更高,用户可以根据需求对其进行编程和定制。从性能上来说,一般情况下硬核速度比软核高,整体功耗也要低一些。总的来说,硬核适用于对性能和功耗有较高要求的应用,而软核适用于对灵活性和定制性有更高要求的应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [FPGA的软核、硬核、固核](https://blog.csdn.net/mochenbaobei/article/details/131431590)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [FPGA硬核与软核处理器有什么区别和联系?](https://blog.csdn.net/HackEle/article/details/125454614)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值