当前位置:首页 > 厂商动态 > 厂商文章
[导读]本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍使用预先定制功能即IP核的必要性开始,通过阐述开发ASIC原型设计时需要考虑到的IP核相关因素,用八个重要主题详细分享了利用ASIC IP来在FPGA上开发原型验证系统设计时需要考量的因素。

本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍使用预先定制功能即IP核的必要性开始,通过阐述开发ASIC原型设计时需要考虑到的IP核相关因素,用八个重要主题详细分享了利用ASIC IP来在FPGA上开发原型验证系统设计时需要考量的因素。

在上篇文章中,我们分享了第二到第四主题,介绍了使用FPGA进行原型设计时需要立即想到哪些基本概念、在将专为ASIC技术而设计的IP核移植到FPGA架构上时通常会遇到的困难,以及为了支持基于FPGA的原型,通常会对ASIC IP核进行的一些更改。本篇文章是SmartDV数字芯片设计经验分享系列文章的第三篇,将继续分享第五、第六主题,包括确保在FPGA上实现所需的性能和时钟两个方面的考量因素。

作为全球领先的验证解决方案和设计IP提供商,SmartDV的产品研发及工程应用团队具有丰富的设计和验证经验。在国产大容量FPGA芯片和IP新品不断面市,国内RISC-V CPU等IP提供商不断发展壮大的今天,SmartDV及其中国全资子公司“智权半导体”愿意与国内FPGA芯片开发商、RISC-V IP和其他IP提供商、集成电路设计中心(ICC)合作,共同为国内数字芯片设计公司开发基于本地FPGA的验证与设计平台等创新技术与产品。

主题5:我们如何确保在FPGA上实现所需的性能?

当已经在ASIC上实现的IP核被移植到FPGA中时,解决性能问题至关重要。在具有高时钟频率的ASIC上运行的电路,在原型上可能必须进行调整,以达到运行所需的时钟频率。甚至可能需要以较低的时钟频率或降低复杂性来运行电路。这里以PCIe接口为例,这样的接口在物理上是用ASIC中的几个通道(lane)来实现的,但在FPGA中可能必须限制为单个通道。

另一种解决方案是使用被称为“降速桥(speed bridge)”的电路。这种电路能够降低以高时钟速度输入数据流的频率,然后馈送至FPGA中以较低时钟速度运行的IP核进行读取。这时在IP核的输出端需要另一个电路,因为输出数据流必须重新相应地提高时钟。否则,输入和输出的数据将不会与电路设计的其余部分同步。

这样的解决方案在技术上非常复杂,并且通常只在硬件模拟器或专用ASIC原型设计平台中提供。两者的成本都是极高的,因此遵循前面描述的电路改变路径通常更有意义:实现适合FPGA的IP核,例如使用单通道PCI接口而不是在ASIC中通常使用的四通道。当然,这意味着IP核制造商在将ASIC的功能移植到FPGA的目标架构上时需要付出额外的努力;但结果是,FPGA的复杂性和资源占用程度都降低了,并且可以期望实现更高的时钟频率。

通常还需要使RTL代码适应FPGA特定的结构。相关的例子有乘法器、移位寄存器和存储器。FPGA具有所谓的“硬宏(hard macro)”,可以有效地实现复杂的电路。如果去构造一个由逻辑单元和寄存器组合而成的功能等效电路,而不是提供硬连线乘法器,这将导致一种带有许多“逻辑级别”上的实现,并且只能在FPGA上低效地映射。这反过来又导致可实现的时钟频率大大降低。ASIC是不会提供这种预先定义结构,因此必须调整RTL代码以使FPGA逻辑综合工具有机会去识别将要实现的功能。否则,有关该函数标识的信息(例如,乘法器、移位寄存器或存储器)可能会丢失。

同样,重要的是要确保主IP输入和输出的时钟是干净的。这是确保通过使用FPGA上提供的寄存器对物理输入和输出进行寻址的唯一方法。如果做不到这一点,它就不太可能满足时钟到输出规则的时序(tCO约束)要求。使用寄存的输入和输出通常是一种良好的设计实践,但必须注意要确保引入了良好电路设计这一要求。

图4:对于可靠的器件运行,诸如遵循时钟域交叉规则等良好的设计实践至关重要。

良好的设计实践是至关重要的。遵循时钟域交叉规则(CDC)可以支持可靠的器件运行,并避免发生时序违规。作为IP核的制造商,您有义务根据电路实现的通用规则开发您的产品。在具有一个以上时钟域的电路中,应特别注意避免亚稳态(metastable state)。从一个时钟域干干净净地过渡到另一个时钟域至关重要。为了实现这一点,必须在每种情况下选择最合适的变量。这可以是上面展示的通过寄存器级的简单同步,也可以根据需要通过更复杂的电路实现。一种可靠方法的案例是使用FIFO存储器。

主题6:在时钟方面必须加以考量的因素有哪些?

将IP核从ASIC移植到FPGA上时的另一个要点是时钟分布。这是指IP核中包含的时钟结构,如果电路有多个内部使用的时钟域,并且在IP核中生成所需的时钟,则该时钟结构的实现必须兼容FPGA。为了能够在FPGA上无故障地运行电路,同步时钟分布是必不可少的。事实上,这是避免过多的时钟偏移(clock skew)和不可预测的时钟延迟的唯一方法。这意味着内部生成的时钟既不是波纹时钟(从FF时钟分频器产生的时钟信号),也不是门控时钟(从组合逻辑门中派生的时钟,如多路复用器)。这种结构并不可靠,因为在时钟分布中会出现不可预测的延迟。

FPGA具有专门的时钟网络来分配时钟信号,以确保在整个芯粒(die)上没有明显的偏移。如果因为使用派生时钟而不使用这些时钟网络,这不仅会导致时序问题,还会导致故障。一方面,不能保证在寄存器逻辑上可以保持已设置时间,这是因为时钟信号在分配到所有寄存器中后难以计算的延迟。另一方面,不能保证时钟信号到达寄存器时钟输入端时的速度,会比数据信号到达用于电路实现的顺序单元的“D输入”端更快,这反过来又会导致在保持时间方面出现违规行为。

与ASIC设计相反,FPGA存在一个根本问题。在ASIC库中,为所有组件都定义了最短和最长时长。另一方面在FPGA中,时序分析只计算“情况最坏时的时间”——即最大延迟。正因为如此,数据信号也可以用比时序分析中的估计值更短的时间分配:因此,数据信号可以比时钟信号更早出现在寄存器中。为了解决这个问题,在可编程逻辑模块中经常使用一种兼容FPGA的时钟分布。不是使用许多不同的、彼此之间有明确联系的时钟信号,而是使用一个单一的时钟信号,并从其派生出使能信号(而不是分频时钟)。然后使用这些使能信号来实现所需的时钟域,结果是时钟域之间都是物理同步。

IP核内时钟分配的另一种可能性是使用锁相环/延迟锁相环(PLL/DLL),FPGA都有相应单元供开发者使用,他们也可被用于时钟生成。有必要使电路去适应目标架构,从而确保一个兼容的(同步)时钟分布。FPGA中的时钟分配要求与ASIC中的时钟分配要求不同。为了可靠地运行电路,可能需要更改IP核的RTL代码。理解这一点是重要的,即使完全相同的功能已经在ASIC上成功实现,情况亦是如此。此外,还需要提供特别用于FPGA的逻辑综合和P&R约束。

例如:如果使能信号被用于提供不同的时钟域,则所有的时钟控制单元(如FF、存储器)都要连接到一个主时钟上。这个时钟通常具有系统中最高的时钟频率。对于运行速度稍微比主时钟慢的时钟域来说,必须定义所谓的多周期约束。否则可能导致整个系统无法达到所需的时钟频率。在没有提供适当约束的情况下,时序估计假设所有时钟域都必须达到主时钟定义的系统时钟频率。当然,现实中并非如此;一大部分电路根本不需要达到这个频率,因为它们是通过使能逻辑控制的。反过来,缺少约束将导致时序违规。因此,在创建打算映射到FPGA中的电路时,就应该特别注意提供合适的逻辑综合和布局布线(P&R)约束。

即使在IP核具有多个时钟域的情况下,必须注意确保时钟比率是被明确地进行定义;在FPGA的启动阶段中,其设计是确保电路功能在定义的时间点覆盖所有的时钟域,并且通过使用一个合适的时钟生成器和适当的时序约束来避免时钟之间的偏移。

图5:PLL/DLL可用于在多时钟设计中创建一个已定义的启动序列。(图片来源:SmartDV)

PLL/DLL的用途并不局限于调偏、频率合成和时钟操作。另一个应用是以这种方式去设计FPGA的启动序列,电路功能在所有时钟域的规定时间内都能得到保证。PLL上电后自动锁定;无需额外重置。只有当时钟稳定时,复位才会解除。这在具有多个时钟域的电路中是必不可少的。

当然,这种预防措施只有在时钟彼此同步的情况下才有必要。在这种情况下,就需要通过相应的逻辑综合约束来定义相关时钟域的确切比例。这不仅需要提供带有相应设置脚本的RTL代码,还需要提供将IP核集成到电路中的所有必要的时钟约束和时序特例,如多周期路径和假路径约束。

需要注意的是,如果一个电路包含多个时钟,不仅要特别注意时钟结构,还要特别注意复位分布。如果没有特别注意到同步复位域,就不会以违反时序要求而终止运行,但可能导致电路故障。

图6:如果一个电路包含多个时钟,必须同时特别注意到时钟和复位分配。

为了无故障地使用IP核,时钟域的同步是必不可少的。在分配复位信号时,需要对复位域交叉采取适当的预防措施。

接下来:

本系列文章的目标是全面分享经验,帮助读者利用ASIC IP来实现完美的FPGA验证原型,在前两篇文章中讲述了了解ASIC IP与FPGA验证原型的区别并提前做相应规划和调整之后,本篇文章介绍了我们如何确保在FPGA上实现所需的性能,以及在时钟方面必须加以考量的因素。接下来将介绍剩下的两大主题:如果目标技术是FPGA而不是ASIC,那么需要如何测试IP核的功能?设计团队还应该牢记什么?欢迎关注SmartDV全资子公司“智权半导体”微信公众号继续阅读。

最后,SmartDV在利用8个主题进行相关介绍和分析之后,还将提供实际案例:用基于FPGA的方法来验证USB 3.2 Gen2x1 Device IP,包括:

USB 3.2 Gen2x1 Device IP:实现、验证和物理验证

USB 3.2 Gen2x1 Device IP的实现挑战

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭