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
    +关注

    关注

    1646

    文章

    22072

    浏览量

    619833
  • asic
    +关注

    关注

    34

    文章

    1250

    浏览量

    122631

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    FPGA的定义和基本结构

    专用集成电路( ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。 简而言之, FPGA 就是一个可以通过编程来改变内部结构的芯片。
    的头像 发表于 05-15 16:39 ?1343次阅读
    <b class='flag-5'>FPGA</b>的定义和基本结构

    FPGA芯片的概念和结构

    FPGA(Field Programmable Gate Array,现场可编程门阵列),是一种可在出厂后由用户根据实际需求进行编程配置的集成电路。与专用集成电路(如ASIC)不同,FPGA在硬件层面具备高度的可重构性,能够灵活
    的头像 发表于 05-12 09:30 ?1150次阅读

    JESD204B有专用于ADC/DAC和FPGAASIC的接口吗?

    请问各位大侠:JESD204B专用于ADC/DAC和FPGAASIC的接口吗,该接口同Rapid/PCIe的物理层Serdes接口有何区别,谢谢!
    发表于 02-08 09:10

    大多数FPGA的程序存储器(FLASH)为什么都放在外面呢?FPGA的主要应用

    电子产品市场几乎难以看到FPGA的使用,几乎全是专用集成电路(ASIC)芯片,就是我们常说的定制芯片,为什么FPGA的应用会这么的少,因为专用集成电路(ASIC)芯片速度要比
    的头像 发表于 12-24 11:04 ?1352次阅读
    大多数<b class='flag-5'>FPGA</b>的程序存储器(FLASH)为什么都放在外面呢?<b class='flag-5'>FPGA</b>的主要应用

    FPGAASIC的区别 FPGA性能优化技巧

    FPGAASIC的区别 FPGA(现场可编程门阵列)和ASIC(专用集成电路)是两种不同的集成电路技术,它们在多个方面存在显著的区别: FPGA
    的头像 发表于 12-02 09:51 ?1118次阅读

    玩转FPGA必备的基础知识

    FPGA已成为现今的技术热点之一,无论学生还是工程师都希望跨进FPGA的大门。那么我们要玩转FPGA必须具备哪些基础知识呢?下面我们慢慢道来。 (一) 要了解什么是
    的头像 发表于 11-28 10:24 ?891次阅读

    多平台FPGA工程快速移植与构建

    作为一名FPGA工程师,经常需要在多个FPGA设备之间移植项目,核心的问题是IP的管理和移植,今天通过安装和使用 FuseSoC 在多个 AMD F
    的头像 发表于 11-20 16:12 ?1979次阅读
    多平台<b class='flag-5'>FPGA</b>工程快速<b class='flag-5'>移植</b>与构建

    ASIC集成电路与FPGA的区别

    ASIC(专用集成电路)与FPGA(现场可编程门阵列)是两种不同的集成电路技术,它们在多个方面存在显著的区别。以下是两者的主要差异: 一、设计与制造 ASIC 是为特定应用定制设计的集成电路。 需要
    的头像 发表于 11-20 15:02 ?1271次阅读

    Achronix Speedcore eFPGA的特性和功能

    Speedcore嵌入式FPGA(embedded FPGA,eFPGA知识产权(IP)产品是Achronix公司于2016年推出的颠覆性技术,并于当年开始
    的头像 发表于 11-15 14:28 ?1124次阅读
    Achronix Speedcore e<b class='flag-5'>FPGA</b>的特性和功能

    FPGA基础知识及设计和执行FPGA应用所需的工具

    本文将首先介绍FPGA的基础知识,包括FPGA的工作原理以及为什么要使用FPGA等,然后讨论设计和执行FPGA应用所需的工具。
    的头像 发表于 11-11 11:29 ?1876次阅读
    <b class='flag-5'>FPGA</b>基础<b class='flag-5'>知识</b>及设计和执行<b class='flag-5'>FPGA</b>应用所需的工具

    FPGAASIC在大模型推理加速中的应用

    随着现在AI的快速发展,使用FPGAASIC进行推理加速的研究也越来越多,从目前的市场来说,有些公司已经有了专门做推理的ASIC,像Groq的LPU,专门针对大语言模型的推理做了优化,因此相比GPU这种通过计算平台,功耗更低、
    的头像 发表于 10-29 14:12 ?2113次阅读
    <b class='flag-5'>FPGA</b>和<b class='flag-5'>ASIC</b>在大模型推理加速中的应用

    FPGAASIC的优缺点比较

    FPGA(现场可编程门阵列)与ASIC(专用集成电路)是两种不同的硬件实现方式,各自具有独特的优缺点。以下是对两者优缺点的比较: FPGA的优点 可编程性强 :FPGA具有高度的可编程
    的头像 发表于 10-25 09:24 ?1788次阅读

    FPGA做深度学习能走多远?

    的应用场景。 ? 可重构性:在深度学习高速迭代的情况下,FPGA 比一些专用芯片(如 ASIC)具有更强的灵活性。当深度学习算法或模型结构发生变化时,FPGA 可以通过重新编程来快速适应新的需求,而无
    发表于 09-27 20:53

    为低功耗FPGA、处理器和ASIC实施启用LVDS链路

    电子发烧友网站提供《为低功耗FPGA、处理器和ASIC实施启用LVDS链路.pdf》资料免费下载
    发表于 08-29 09:59 ?0次下载
    为低功耗<b class='flag-5'>FPGA</b>、处理器和<b class='flag-5'>ASIC</b>实施启用LVDS链路

    ASIC IP核移植FPGA上——更新概念并推动改变以完成充满挑战的任务!

    本系列文章从数字芯片设计项目技术总监的角度出发,介绍了如何将芯片的产品定义与设计和验证规划进行结合,详细讲述了在FPGA上使用IP核来开发ASIC原型项目时,必须认真考虑的一些问题。文章从介绍
    的头像 发表于 08-10 17:13 ?1128次阅读
    将<b class='flag-5'>ASIC</b> IP核<b class='flag-5'>移植</b>到<b class='flag-5'>FPGA</b>上——更新概念并推动改变以完成充满挑战的任务!