硬件仿真加速器与原型验证平台

news2024/11/28 10:41:00

        基于软件仿真工具对于动辄几百万门的ASIC验证而言,几乎显得力不从心。不管是从成本还是从性能的角度来看,使用硬件仿真器或者基于FPGA的原型验证平台,几乎是验证工程师的不二法门。因为基于硬件的环境能够极大的提高验证的速度,增加代码覆盖率,缩短产品的面试时间。原型验证平台的另外一个重要角色,就是能够为整个系统的固件和软件提供一个早期而真实的硬件环境,在流片之前对系统进行整体的性能评估和瓶颈分析。

       但是到底是选择硬件模拟器,还是基于FPGA 的原型验证平台来加速 ASIC验证,对于很多团队而言都是一个复杂而艰难的选择。对于平台选择的过程,需要考虑的因素非常多、往往既包括技术因素又包括成本考虑:硬件模拟器的容量,运行速率,硬件成本,代码覆盖率,技术支持,等等。选择某一个平台的最终目标就是尽可能多地发现隐藏的问题和进行可行性分析。基于FPGA的原型验证平台比基于定制处理器的平台会有更多的限制,甚至某些时候,在多芯片划分、逻辑综合、物理实现方面会遇到难以克服的问题。

专业术语

       并没有一个固定的术语来描述各种硬件加速平台的名称,诸如硬件模拟器、原型验证平台、软硬件协同仿真、在线仿真都是可以互换的概念,并且他们之间也没有明确的定义划分。

       但是硬件模拟器和原型验证平台之间还是有差异:硬件模拟器通常能够提供像软件仿真工具一样的调试能力,因此硬件模拟器使用的范围相当宽广:从模块级别的软件仿真,到整个芯片级别的在线调试。另外硬件模拟器整合了更为强大的设计流程,并且支持‘编译-调试’一步完成。相对来讲原型验证平台则缺乏调试的灵活性,因此常常用于流片之前的系统集成与软件调试。原型验证平台往往只需要相对简单的开发板和软件工具。

       但是原型验证平台所具有的执行速度却是硬件模拟器无法匹敌的:前者往往可以运行在10 MHz级别,后者只有几 MHz级别。而且就价格来讲原型验证平台也便宜得多。

       除了硬件模拟器和原型验证平台,仿真加速工具(软/硬件协同仿真工具)也可以为验证提供加速服务。顾名思义,软/硬件协同仿真工具就是将整个设计的一部分下载到硬件平台中运行,这部分通常都是可综合的RTL源代码。运行在软件仿真工具的测试平台通过专用协议接口(JTAG、Ethermet、PCle或者其他高速接口)和硬件平台通信。Xilinx的仿真工具ISIM 就支持这种方式的硬件加速。

硬件架构

       硬件加速平台根据架构分为两种:基于FPGA的原型验证平台,基于定制处理器的硬件模拟器。基于FPGA 的平台在价格上有较大优势,而且执行速度快得多,通常用于ASIC的原型验证阶段。硬件模拟器则由成百上千的定制处理器构成,能够为整个验证提供全功能的各种调试方法,并且具有更大的处理容量和更快的编译速度。

硬件成本

       和基于FPCA 的原型验证平台相比,硬件模拟器的价格可能超过数百万美元。通常商用硬件加速平台的价格和其处理容量成正比。除了平台本身之外,一些额外的附加费用往往也难以避免,包括整机维护、用于验证的库模型、交易级模型、附加增强工具、外设模拟器等。

       由于购买硬件加速平台的价格不菲,因此许多公司开始提供租赁服务。原因很简单,从验证到流片的时间都比较短(通常为几个月),因此租用往往比购买更加划算。

       在硬件加速平台的选择中,通常用来考核的指标有单位逻辑门的费用和单位运行周期的费用。

处理容量

       通常使用2输入逻辑的等效门来描述硬件模拟器或者原型验证平台的处理容量,这主要是为了方便比较不同硬件平台的处理能力。不同的硬件平台的处理容量可以从几百万门到高端的数十亿门。关于 ASIC处理容量的不同估计方法,感兴趣的读者可以关注公众号,会持续更新。

片内存储

       许多 ASIC设计需要大量的片内存储空间来实现嵌入式处理器、系统缓存、FIFO、包缓冲器和其他的应用。硬件模拟器和原型验证平台都能够提供这样的存储空间,其大小从MB级到TB级不等。

模拟器的运行速度

关于模拟器运行速度的估计,感兴趣的读者可以关注公众号,后续会持续更新!

多芯片划分

通常ASIC的规模要远远大于FPGA,因此需要把整个设计划分到多颗FPGA芯片中才能完成其所有的功能。芯片的划分工作绝不是简单地将不同的模块放置到不同的 FPGA中那么简单,这个过程需要考虑到整个平台的成本、性能、规模,甚至划分的难易程度。这是一项需要反复优化的复杂过程。

软件工具

提供硬件加速平台的供应商,同时也提供各种功能的软件开发包:多芯片自动划分工具,针对该平台而优化的综合工具,在线调试工具,等等。正所谓“工欲善其事,必先利其器”,选择高性能的软件开发工具能够极大地提高验证效率。

最新的高端FPGA无论是从逻辑容量、可用引脚数目还是内部存储单元来讲,都使其成为硬件加速平台变得可行,而这些平台足以满足中小规模的ASIC验证。

设计支持特定任务的硬件加速平台能够充分发挥FPGA的性能优势,使得运行在芯片所支持的最高速率。在某些验证中,能够在200 ~300 MHz的速率下运行。

设计支持特定任务的硬件加速平台能够获得商用硬件平台无法提供的特殊功能和性能。比如能够支持超大容量的外部存储器,能够支持10 Cbps的以太网通信接口,并且能够支持 FPGA 芯片之间的特殊连接方式。

开发特定的硬件加速平台所需的时间和资源是相当大的挑战。由于硬件加速平台的生命周期很短(往往不到1年时间),因此如果购买成熟的商用产品,工程师就有更多的时间投入到ASIC的验证上,而不是在硬件加速平台的开发上花费过多的时间和资源。

到底选择哪种方案能有更好的性价比,这没有确定的答案。因为影响决策的因素很多:设计该平台的难度,工程团队的技术力量,需要生产的零件数目,等等。

第三方硬件模拟器和原型验证平台

以下是一些主流的硬件模拟器、原型验证平台及其工具。

1,平台:VU19P FPGA原型验证平台

业界最大FPGA  VU19P 原型验证平台

可编程系统集成

900 万个系统逻辑单元

PCI Express® Gen3x16 / Gen4 x8增强的路由、逻辑和时钟

更高的系统性能

 UltraScale™ 架构带来的高性能,2,072 个 GPIO
       支持高达 8 组 72 位 DDR4,提供 1.5Tb/s 存储带宽
       80个具有 4.5Tb/s I/O 带宽的高速收发器

2,平台:Incisive Palladium

公司:Cadence

http:// www.cadence. com/products/sd/palladium_series/ pages/ default . aspx

图2是Cadence公司的 Incisive Palladium Enterptise Simulator高性能硬件模拟器,它使用多颗自定义处理器作为核心来完成各种验证任务。Palladium平台有面向编译速度而优化的引擎;针对该平台而开发的生态系统:验证库,软件包;支持系统级软/硬件协同验证的硬件模块。该平台的关键指标为(来源:Cadence Palladium数据表):

·逻辑容量:高达20亿逻辑门

·存储空间:高达1TB

·1O引脚:多达6万个

·运行速度:高达4 MHz(硬件模拟器速度)

·编译时间:每个工作站上1~3千万逻辑门/小时·支持交易级模型和基于断言的加速

. SpeedBridge转接卡支持PCle、Ethernet 、USB、AXl等多种外设接l1协议Palladium是用于ASIC验证的硬件加速平台的市场领导品牌。

 

平台:Veloce

公司:Mentor Graphics

http;//www.mentor.com/products/fv/emulation-systems/veloce

高性能的Veloce产品系列常常用于仿真加速、流片之前的验证。它基于定制化的处理器结构、其5条产品线可以支持8百万门到超过5亿门的逻辑验证。

平台:ZeBu-Server

公司:Synopsys

http://www.synopsys.com/Tools/Verification/hardware-verification/emulation/ Pages/ zebu-server-asic-emulator. aspx

ZeBu-Server是基于FPGA 系统的验证加速平台,可以支持高达10亿门的逻辑设计,而且执行速度能够达到30 MHz。ZeBu-Server瞄准的是大规模多核芯片的系统验证任务。基于Xilinx Virtex-5 LX330的ZeBu-Server是现在市场上性能最高的验证加速平台。

产品:RocketDrive,RocketVision

公司: GateRocket

http:/ / www.gaterocket.com

GateRocket公司的RockeDrive属于基于 FPGA 的小型外设,能够提供硬件语言仿真工.具的加速功能。而RocketVision则是配套的调试软件。

产品: HES

公司: Aldec

http:// www. aldec.com/ en/products/emulation/ hes-dvm

Aldec公司的硬件模拟系统(HES)是专用于仿真加速的FPGA原型验证平台。该工具的强项在于能够提供自动化吃的编译环境、标准的测试接口,并且能够整合其他高性能的软/硬件调试工具。

公司:Dini Group

http://www. dinigroup. com/new/index. php

Dini Group公司能够提供高性能的FPGA 原型验证平台和硬件模拟器。图3显示了 DiniGroup公司的FPGA 原型验证平台,它采用了16颗Xilinx Virtex-5 FPGA芯片。

更多有趣的话题请看链接:

FPGA知识汇集-FPGA项目开发包含那些任务?

FPGA知识汇集--FPGA结构(1)

FPGA的应用

FPGA知识汇集-在命令行模式下使用Xilinx工具

FPGA知识汇集-ISE的这些有用的工具您知道吗?

FPGA知识汇集-FPGA设计开发需要熟悉哪些EDA工具呢?

FPGA知识汇集-值得收藏的FPGA代码命名规范?

FPGA 知识汇集--Linux下ISE的环境变量设置

FPGA知识汇集-值得收藏的Verilog代码风格1

FPGA知识汇集-值得收藏的Verilog代码风格2

FPGA知识汇集-编写可综合代码(RTL)需要注意的规则总结

FPGA知识汇集-Verilog和VHDL的混合使用

FPGA知识汇集-关于Xilinx 工具报告

FPGA知识汇集-例化与推译

FPGA知识汇集-FPGA的重构

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/166569.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Promise(基础)

Promise是什么 1.promise是一门新的技术(ES6规范) 2.Promise是JS中一编程的解决方案(旧的解决方案是单纯的使用回调函数) 3.promise一个构造函数,promise队形用来封装一个一步操作并可以获取其成功/失败的结果值。 注…

sparksql案例实操

sparksql案例实操解决语句如下 select * from( select , rank()over(partition by area order by clickCnt desc) from(select area, product_name, count()as clickCnt from( select a.*, p.product_name, c.area, c.city_name from user_visit_action a join product_info p…

Dubbo与Spring集成

Dubbo框架常被当作第三方框架集成到应用中,当Spring集成Dubbo框架后,为什么在编写代码的时候,只用了DubboReference注解就可以调用提供方的服务了呢?这篇笔记就是分析Dubbo框架是怎么与Spring结合的。 现状integration层代码编写…

关于嵌入式学习和规划,求指点?

在知乎上收到的一个提问问题:各位大佬好,我先说说基本情况,28岁,北京,嵌入式软开,军工行业。硕士毕业一年半。工作不忙收获很少,造成我自己特别迷茫,没有了方向,自己学没…

【C++】Hash闭散列

目录 一、哈希的概念 1.1 哈希冲突 1.2 哈希函数 1.3 装载因子 二、闭散列 2.1 线性探测 2.2 Insert 插入 2.3 Find 查找 2.4 Erase删除 2.5 插入复杂类型 2.6 二次探测 三、源代码与测试用例 3.1 hash源代码 3.2 测试用例 一、哈希的概念 在前面学习了二叉搜索…

多巴胺聚乙二醇多巴胺,Dopamine-PEG-Dopamine简介,多巴胺是具有正性肌力活动的单胺化合物

产品名称:多巴胺聚乙二醇多巴胺,双多巴胺聚乙二醇(Dopamine-PEG-Dopamine) 中文别名:多巴胺PEG多巴胺,双多巴胺聚乙二醇 英文名称:Dopamine-PEG-Dopamine 存储条件:-20C&#xff0…

磨金石教育影视技能干货分享|浅析中国CG特效的发展现状

中国CG特效的发展2015年是一个分水岭。在2015年之前,中国CG 特效发展是混乱的,不成熟的。总体表现就是技术水平不足,缺少人才培养的体系。当时从事CG的公司,大概有两个类型:“技术型与业务型”。所谓技术型的公司&…

设计模式_结构型模式 -《装饰器模式》

设计模式_结构型模式 -《装饰器模式》 笔记整理自 黑马程序员Java设计模式详解, 23种Java设计模式(图解框架源码分析实战) 概述 我们先来看一个快餐店的例子。 快餐店有炒面、炒饭这些快餐,可以额外附加鸡蛋、火腿、培根这些配菜…

PowerDesigner设计表时显示注释列Comment

首先,使用 PowerDesigner 新建模型,File —> New Model 然后,切换到模型类型(Model types)选项卡,选中 Physical Diagram 然后点击右侧表格图标,在左侧面板中创建表格如下。双击表格,找到Columns选项卡…

招标采购中,如何编写有效的RFI(信息邀请书)?

在企业招标采购过程中,RFI(信息邀请书)是一个从商品或服务的潜在供应商处收集信息的正式流程。RFI旨在由客户编写并发送给潜在供应商。RFI通常是第一个也是最广泛的一系列请求,旨在缩小潜在供应商候选人名单。 当企业对潜在供应…

【实际开发07】- XxxxController 批量处理 × 5 -【model】

目录 1. Mode 1. IotTypeController 基础 7 tips 2. 辅助添加 Validated 无法覆盖的 参数校验 1. 预处理空指针异常 ( 校验 : 核心必填参数 not null ) 3. RequestBody 对应API 存在 feign 调用时 , 注意 : 不可缺省 1. feign API 需要加 RequestBody , Controller 层可…

手工测试 | 黑盒测试方法论—边界值

本文节选自霍格沃兹测试学院内部教材 边界值分析法是一种很实用的黑盒测试用例方法,它具有很强的发现故障的能力。边界值分析法也是作为对等价类划分法的补充,测试用例来自等价类的边界。 这个方法其实是在测试实践当中发现,Bug 往往出现在定…

OpenCV4.6 VS 4.7 QRCode解码功能效果对比

导 读 本文主要对OpenCV4.7.0和4.6.0中QRCode检测/解码功能做简单的测试对比,供大家参考。 背景介绍 最近OpenCV更新到了4.7.0版本,在ChangeLog算法部分除了新增Stackblur滤波算法(详细介绍见下面链接),还有对QRCode检测和解码的改进。 吊打…

实现通讯录(C语言)

功能实现 实现步骤: 创建通讯录 初始化通讯录 打印菜单 实现选择功能 实现添加功能 实现删除功能 实现查找功能 实现修改功能 实现清空功能 实现排序功能 实现查询所有联系人信息功能 通讯录总代码 创建通讯录 1、创建成员信息结构体 我们用结构体来封装一个联系人…

【系列04】数组 多维数组 冒泡排序 稀疏数组[有目录]

数组声明和创建 变量类型 变量名称 变量的值 声明数组 int []nums;//定义//上面是首选 /*也可以 int nums2[];*/下面这种写法是为了迎合c与c用户的喜爱,更推荐用上面的定义 方式 创建数组 numsnew int[10];定义数组计算数组的和 package com.SunAo.array; //变量类型 变量名称…

TypeScript 数据模型层编程的最佳实践

虽然 TypeScript 主要用于客户端,而数据模型的设计主要是服务端来做的。 但是要写出优雅的代码,也还是有不少讲究的。 让我们从一个简单的我的文章列表 api 返回的数据开始,返回的文章列表的信息如下: {"id": 2018,&qu…

原生PHP及thinkphp6接入阿里云短信

申请accesskey获取到Accesskey ID和Accesskey Secret保存下来,一会要用到添加测试手机号,在接口测试能否正常发送下载阿里云短信sdk,使用composer下载,没有安装请先安装安装可以安装到任意文件夹下,后面代码写好后&…

TDSQL的安装教程(低配体验)

一、了解TDSQL tdsql腾讯云文档 TDSQL-C MySQL 版(TDSQL-C for MySQL)是腾讯云自研的新一代云原生关系型数据库。融合了传统数据库、云计算与新硬件技术的优势,为用户提供具备极致弹性、高性能、海量存储、安全可靠的数据库服务。TDSQL-C My…

AtCoder Beginner Contest 285解题报告

A - Edge Checker 2 Problem Statement Determine if there is a segment that directly connects the points numbered a and b in the figure below. Constraints 1≤a<b≤15a and b are integers.Input The input is given from Standard Input in the following for…

用SpectorJS调试WebGL应用

随着使用 WebGL 构建的体验不断涌现&#xff0c;以及 WebVR/AR 领域的所有改进&#xff0c;拥有高效的调试工具变得至关重要。 无论你是刚刚起步还是已经是使用 WebGL 开发 3D 应用程序的经验丰富的开发人员&#xff0c;都可能知道工具对于生产力的重要性。 在寻找此类工具时&…