0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

FPGA知识汇集-ASIC向FPGA的移植

e9Zb_gh_8734352 来源:FPGA技术联盟 作者:FPGA技术联盟 2022-04-14 15:01 次阅读

ASIC原型验证是整个验证环节中非常重要的步骤之一,也是将ASIC的代码移植到FPGA平台上最重要的原因,本文章的意义在于:

对于系统构架师,将帮助他们在选择商用模拟器还是自行设计方案之间做出更好的选择;

对于逻辑工程师,他们能够更好的将ASIC设计移植到FPGA原型验证平台中;

对于验证工程师,其价值在于如何将现有的测试平台移植到新的验证环境中。

将ASIC设计移植到FPGA芯片中,对于大部分设计团队来讲都是巨大的挑战。主要体现在:ASIC的设计一般都非常大,往往需要做多FPGA芯片划分;需要支持足够的处理性能;需要保证其功能的正确性;需要保证移植前后的功能具有等价性。

当时ASIC设计的移植还没有出现‘原型验证设计’这样的方法学,但是整个移植的任务大致相似:逻辑资源和处理性能评估:选择硬件模拟器或者原型验证平台;FPGA多芯片划分;RTL源代码修改;逻辑综合和物理实现;验证移植后的整个设计。图1说明了整个验证过程中的每一个环节。

移植过程的总体原则是尽量少地修改原始设计,以免产生新的问题。

51e025de-bbac-11ec-aa7f-dac502259ad0.png

资源评估

从任何一个角度来看,精确的资源评估都是ASIC移植工作的重点。首先它的结果将直接影响到硬件模拟器或者原型验证平台的选型,其次对于整个设计的多芯片划分和成本都有直接的影响。资源估计过少,那么ASIC设计就不能完整的移植到FPGA中;而资源估计过多,则会导致毫无必要的成本开销。

对于ASIC资源评估的不同方法。

性能评估

性能评估的结果,会直接影响验证方案的选择,对于大部分的设计来说,不可能期望ASIC设计在FPGA平台上拥有相同的性能指标。除了FPGA内核本身带来的性能降低之外,芯片与芯片之间的通信延迟也降低了整体的性能。如果一个平台的性能指标能够达到ASIC设计的几分之一,那么这个方案就具有了可行性。但是如果只有原始性能的几十分之一,很多验证任务就无法完成。

在多核处理器的SOC芯片中,某些嵌入式操作系统的启动时间甚至会高达5分钟左右。如果验证平台的性能只有十分之一,那么就要耗费接近1小时,某些程度上还能接受。但是如果性能只有一百分之一,那么基本上要耗费半天来启动这个操作系统。对于绝大部分的嵌入式系统的验证来讲,该方案将变的毫无可行性。

关于性能评估的内容。

硬件模拟器与原型验证平台

选择硬件模拟器还是原型验证平台,对于验证团队来讲一直都是长期而艰巨的任务。最终的选择需要满足所有的需求,例如资源容量、整体性能、系统成本、验证范围及能够支持的工具等

FPGA多芯片划分

ASIC设计所占用的资源一般非常大,常常需要划分到多颗FPGA芯片中才能实现。简单来说就是将ASIC设计的不同部分(一般是以功能模块为划分边界)映射到不同的FPGA芯片中。划分及优化的过程较为复杂,需要考虑到整个方案的系统成本、整体性能、资源容量、FPGA芯片之间如何互联、划分的复杂度等指标。

源代码移植

虽然ASIC和FPGA都是使用相同的RTL编码方式,但是将适合ASIC芯片的RTL源代码移植到FPGA芯片中时,需要进行相当多的重编码和优化工作。特别是ASIC设计中的时钟树结构,需要正确的分配到FPGA芯片的各种时钟资源上,这将是一项非常大的挑战。

同时,ASIC设计中的某些资源,例如晶体管、传输门、双向信号甚至是模拟电路,在FPGA芯片内根本无法找到对应的结构,因此需要找到其他方式进行模拟(替代)。

几乎所有的ASIC设计都会使用到各式各样的IP核:从Synopsys Design Ware库中的简单功能模块(大部分模块都可以使用FPGA结构实现)复到复杂的存储器控制器,PCIE,USB等总线子系统,以及CPU内核等。像Xilinx这样的FPGA供应商能够提供许多可替代的对应IP核,但并不是所有都可替代。

关于时钟、锁存器、存储器、三态门、组合逻辑及不可综合电路的移植。

逻辑综合和物理实现

完成了代码移植后,剩下的工作主要就是逻辑综合和物理实现。其中包括解决由于ASIC和FPGA综合工具的差异引起额问题,添加时序、资源、引脚约束、优化工具的参数设置,最终达到时序收敛。

虽然最新的FPGA工具和设计流程和ASIC很相似,但是一些根本性的差异所造成的问题还是需要工程师解决。通常,ASIC综合工具所支持的Verilog语法要比FPGA综合工具更加宽松,而且由于设计优化的目标不同,ASIC和FPGA综合工具所支持的引导语句和工具选项也不尽相同。另外,无论是资源占用还是布线密度,ASIC工具需要处理的工作远远比FPGA复杂的多。在某些复杂的情况下,FPGA工具甚至会无法布局布线。因此某些情况下必须要修改RTL源代码,甚至是重新规划多芯片划分方案。

验证移植后的设计

验证移植后的代码是整个过程的最终环节,其目标就是保证移植前后的设计在功能上保持一致,并且符合原始的设计规范。验证的方法有基于软件的功能仿真,基于硬件的模拟器或者原型验证平台,以及基于纯数字推导的等价性验证。

系统集成和功能验证

ASIC流片之后,需要进行系统集成和功能测试,其主要目的就是保证芯片的功能在整个系统中能够正确的运行。首先芯片被安置于特殊设计的PCB上,测试程序负责向芯片注入激励向量,芯片的输出和预期结果进行比较,以判断其功能是否正确。整个硅片的测试基本都是自动化的测试过程,并且通常会在不同的条件下同时测试硅片。激励向量的产生有多种方式:预先定义的激励向量,使用多输入移位寄存器产生随机序列等。当其中某项测试失败时,可以通过硬件模拟器进行相同的测试来定位问题的根本原因。

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21320

    浏览量

    593195
  • asic
    +关注

    关注

    34

    文章

    1156

    浏览量

    119263

原文标题:FPGA知识汇集-ASIC向FPGA的移植

文章出处:【微信号:gh_873435264fd4,微信公众号:FPGA技术联盟】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    fpgaasic在概念上有什么区别

    FPGA(现场可编程门阵列)和ASIC(应用特定集成电路)在概念上存在明显的区别。
    的头像 发表于 03-27 14:12 190次阅读

    fpgaasic的区别

    FPGA(现场可编程门阵列)和ASIC(专用集成电路)是两种不同类型的集成电路,它们在设计灵活性、制造成本、应用领域等方面有着显著的区别。
    的头像 发表于 03-26 15:29 306次阅读

    到底什么是ASICFPGA

    的,可以考虑FPGAASIC,能省则省。 最后的话 关于CPU、GPU、FPGAASIC知识,就介绍到这里了。 它们是计算芯片的典
    发表于 01-23 19:08

    什么是FPGA原型验证?FPGA原型设计的好处是什么?

    FPGA原型设计是一种成熟的技术,用于通过将RTL移植到现场可编程门阵列(FPGA)来验证专门应用的集成电路(ASIC),专用标准产品(ASSP)和片上系统(SoC)的功能和性能。
    发表于 01-12 16:13 382次阅读

    为你的AI芯片从FPGA走向ASIC

    从一种架构转移到FPGA——这几乎是这个领域的一个强制性步骤——然后转移到生产ASIC是一个不平凡的旅程。但是如果你提前计划,这不一定是一次冒险。
    发表于 11-23 10:36 212次阅读
    为你的AI芯片从<b class='flag-5'>FPGA</b>走向<b class='flag-5'>ASIC</b>?

    需要了解的FPGA基础知识

    不多比著名的摩尔定律晚20年左右。FPGA是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物,是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有
    发表于 11-20 18:56

    如何学习FPGAFPGA学习必备的基础知识

    FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。网络上各种开发板、培训班更是多如牛毛,仿佛在告诉你不懂FPGA你就OUT啦。那么我们要玩转FPGA必须具备
    的头像 发表于 10-27 17:43 478次阅读

    请问如何将C语言算法移植FPGA上?

    确定算法:首先,你需要确保要移植的C语言算法是合适的。FPGA适合并行计算和高度可定制的应用。因此,你需要选择一个适合FPGA实现的算法。
    发表于 09-12 17:20 1038次阅读

    FPGA设计中BRAM的知识科普

    FPGA设计中,BRAM是一项非常关键的内置存储资源,FPGA开发需要熟练使用BRAM,今天再复习一下BRAM的知识,包括BRAM的定义、组成、应用等等。
    发表于 08-15 15:44 2335次阅读
    <b class='flag-5'>FPGA</b>设计中BRAM的<b class='flag-5'>知识</b>科普

    FPGAASIC的优劣势 FPGAASIC的应用场景及前景

      FPGAASIC是数字电路中常见的实现方式,因此人们经常会想要了解哪种芯片在未来的发展中更具有前途。然而,这取决于具体的应用场景和需求。在本文中,我们将探讨FPGAASIC的优
    发表于 08-14 16:40 1197次阅读

    FPGAASIC的区别与联系

      FPGAASIC作为数字电路的常见实现方式,其联系和区别备受关注。本文将从FPGAASIC的基本概念入手,深入研究它们的区别与联系,以帮助读者更好地理解两者的应用场景和选择方法
    发表于 08-14 16:38 1853次阅读

    FPGAASIC的概念、基本组成及其应用场景 FPGAASIC的比较

      FPGAASIC都是数字电路的实现方式,但它们有不同的优缺点和应用场景。本文将以通俗易懂的方式解释FPGAASIC的概念、基本组成、及其应用场景。
    发表于 08-14 16:37 1406次阅读

    关于FPGA的学习和发展问题

    我是大二的电子信息工程在读生,目前没有接触过32方的任何东西,只学习了一个学期的FPGA并参加了集创赛,感觉FPGA的学习难度还是很大的。但是我在网上搜索FPGA时,感觉大家对它的前
    发表于 07-26 11:04

    利用FPGA开发板进行ASIC原型开发的技巧

    ASIC设计在尺寸和复杂性上不断增加,现代FPGA的容量和性能的新进展意味着这些设计中的2/3能够使用单个FPGA进行建模。然而,这些设计中仍然保留有1/3(那就是说,所有ASIC
    的头像 发表于 06-04 16:50 733次阅读

    FPGA设计中的复位

    本系列整理数字系统设计的相关知识体系架构,为了方便后续自己查阅与求职准备。在FPGAASIC设计中,对于复位这个问题可以算是老生常谈了,但是也是最容易忽略的点。本文结合FPGA的相关
    的头像 发表于 05-12 16:37 3639次阅读
    <b class='flag-5'>FPGA</b>设计中的复位