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

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

3天内不再提示

先进仿真器具备什么功能?

jf_78858299 来源:古月居 作者:古月 2023-05-25 15:17 次阅读

芯片有别于其他产品,一个显著特性就是它的一次性工程费用(NRE)非常的高昂。芯片内一个微小逻辑错误可能导致上千万美金损失。这也意味在流片前,工程师需要花大量时间利用数字仿真器来验证芯片,保证其功能的正确。

仿真技术是芯片验证必不可少的一个环节,它是保证芯片功能正常的关键手段。仿真主要是通过计算机结合测试激励(stimuli)来模拟芯片在真实环境下的运行状况;同时工程师可以通过各种调试手段来判断运行结果是否符合预期。数字仿真器主要是针对数字电路的仿真,设计工程师需要应用硬件描述语言(HDL)来设计电路,而验证工程师也需要用抽象层的HDL来搭建测试环境;仿真工具需要解释编译这些HDL代码,并计算出仿真结果,以便工程师检查结果。

图片

图一 数字仿真器流程

二十年前,一百万门的设计可以被称作超大规模集成电路,而今数千万门的电路已经司空见惯。数字芯片集成度越来越高,伴随的设计验证语言和方法学不断推陈出新,各种应用平台也层出不穷。这一系列的技术发展都给数字仿真器带来了前所未有的挑战。设计具有竞争力的片上系统(SoC)需要合理地利用各种高精尖的技术。对于数字仿真器来说,它面临的挑战不仅仅是芯片规模上的增长,还有伴随而来的一系列问题,包括:算力受限、调试效率低下、平台单一化等。芯华章在数字仿真器领域做了深入的研究和探索。放眼未来,我们认为一款好的数字仿真器应该具备以下条件:

一、语义解析的合规性(conformity)

仿真器对语法正确解析决定了它能否正确理解设计意图,同时也可以避免相同的编码在不同的仿真器下产生不同仿真结果。设计仿真器最大的挑战在于对HDL语法全面的解析。Verilog标准(IEEE1364)和SystemVerilog标准(IEEE1800)定义的这两种语言的语义非常的复杂,关键字众多,各种组合情况近乎无穷。如SystemVerilog中的interface,在interface中可以做assert,可以在其中使用task,function,还可在其中扩展各种modport等。要做到全面完整的测试,需要在构建仿真器的测试用例时考虑的语法的各个方面,以及各种边界场景。

通常人们认为,计算机语言是形式化(formal)的表达式,不存在歧义,但实际上,IEEE标准中存在很多模糊的界定,尤其在对发生竞争冒险(race condition)时的行为没有明确的规定,处理这些问题,就需要开发者的经验和技巧。

二、良好的性能 (performance)

衡量仿真器的性能量化指标之一是:运行(runtime)时的CPU处理速度和内存消耗。现今的大规模集成电路动辄上亿门,如果还是依赖传统的仿真技术,当设计和环境的规模一旦达到某个数值,大部分商业仿真器性能都会显著下降,造成效率低下。这其实是因为传统的工具基本都是基于单机(single host)构架来设计的。在网络互联日益发达的今天,分布式数据库和多核并行计算等理论越来越成熟,仿真器也必须考虑并利用这些新技术取得更多性能上的突破。

三、卓越的调试功能(debuggability)

调试的重点在于可观测性和可控制性。在数字电路调试中可观测性表现形式有多种,如波形,记录文本(log file),电路图(schematics),源代码,事务级数据表图等等。调试工具的核心功能是针对不同的场景提供能够各种有效的数据表现形式,并在不同数据形式间的可以同步数据标注(annotation)。此外,降低工具的使用门槛,让初级用户非常快速地掌握调试技术,并且提供通用语言的二次开发的接口,也是优秀的调试工具需要着重考虑的。

四、支持跨平台(platform-independent)

传统的EDA工具大多数和单一CPU构架耦合度高,例如某些EDA工具仅支持x86的平台。一旦需要迁移到另一种平台上,所需要的研发工作量是巨大的。如今,处理器生态越来越多样化,未来的平台不再是某个单一处理器的平台,降低EDA工具对底层CPU构架的耦合度,可以让用户更加有效地把工具部署在任何平台上,也让产品有更多应用空间,比如:在移动端的和云端的交互仿真,在移动端和服务器端的联合仿真,利用FPGA和GPGPU的异构加速仿真等。

LLVM的存在为跨平台提供了技术支撑。LLVM是Chris Lattner博士于2000年开发的一种编译器的框架系统,他的目的在于提供一种可以适配多平台的编译系统,让前端语言和后端目标平台解耦。利用LLVM框架开发的仿真软件,理论上可以适配到任意目标平台,甚至可以部署在分布式操作系统上,产品应用范围显著扩大。

芯华章在跨平台方面做了研究探索,2020年11月,芯华章的仿真器利用LLVM技术已经成功将软件运行在国产CPU架构上。这一步工程量看似不大,但是现实意义非凡:这是中国EDA企业率先利用LLVM技术实现跨平台支持,从某种意义上,它说也推动了传统保守的EDA行业朝着更开放的技术领域拓展。

五、特定场景应用(scenario-based applications)

不同的应用场景对仿真器有不同的特殊要求,先进的仿真器需要具备各种场景下所需的功能。在大规模设计中,整个设计和验证环境的编译时间可能高达数十小时,这种速度在调试频繁的设计初期是无法接受。因此,如果仿真器能够只针对修改过的设计部分进行重编译,而保留大部分没改变已有编译结果(snapshot),那么重编译一次的时间就会大大减少,效率就得以提升。这种技术通常叫做:增量式编译(incremental elaboration),或者分区式编译(partition compilation)。

消费电子芯片中涉及到大量的冷复位和热复位,在这些复位情况下的不定态传播(x-state propagation)很大几率会造成芯片潜在的非确定性(indeterministic)功能故障。因此,检查不定态(X-state)在复位情况下的传播极为重要。传统的仿真器通常仅能在门级仿真(Gate Level Simulation)时检查这些功能,但是门级仿真已经属于设计后期,且仿真效率低下,即便检查出问题再修改,对项目进度来说也是压力巨大。如果仿真器能够在设计前期对RTL就能快速检查不定态传播,那么就可以节省更多后仿真时间。

当然,还有很多其他的场景应用,如基于多进程多核加速,基于异构系统的仿真等,囿于文章篇幅这里不能一一展开,我们将在今后的文章中择机叙述。

图片

图二 先进仿真器

数字仿真在浩瀚的科学海洋只是某个分支,但也是一个技术密集型的多学科的领域,它涉及到各种技术,包括:编译原理、数据库、运筹学、形式逻辑、拓扑学、控制理论等。

在十四五计划指导下,我们深深意识到科学技术,尤其是EDA技术,从来没有像今天这样深刻影响着国家的前途命运。芯华章在EDA仿真技术领域不断探索进取,同时也深感肩负使命的迫切,我们非常愿意和业界专业人士交流分享,共同成为新时代科技创新的排头兵!

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

    关注

    447

    文章

    47788

    浏览量

    409118
  • 仿真器
    +关注

    关注

    14

    文章

    988

    浏览量

    82993
  • 芯片验证
    +关注

    关注

    5

    文章

    32

    浏览量

    47056
收藏 人收藏

    评论

    相关推荐

    手机STK功能仿真器的研究与实现

    以AVR 单片机和C++ builder 上位机软件为开发平台,构建了STK 功能仿真器。在研究STK 技术原理的基础上,给出了仿真器硬件、软件的实现方法和思路,为STK 应用开发人员提供有用参
    发表于 12-14 14:30 23次下载

    5 1仿真器

    5 1仿真器 初学单片机或业余做单片机开发的朋友总会有这样的经历,每次都要不断地调试程序,如没有仿真器又不喜欢用软件仿真,就需要多次地将编译好的程
    发表于 04-09 14:54 55次下载

    单片机仿真器

    单片机仿真器和实验仪配套的8X51 CPU系列小型仿真器是一个支持keilc51设计软件的软件断点仿真机。􀂙该仿真器使用一片SST89C58单片机和一片AT90S85
    发表于 04-14 14:44 129次下载

    TKSB系列专业仿真器

    TKS仿真器B系列是在PHILIPS和Keil公司支持下推出业界领先的仿真器,采用当前最先进的HOOKS仿真技术,设计独到的仿真性能处于全球
    发表于 04-19 22:17 36次下载

    仿真器和烧写器介绍_仿真器和烧写器的特点是什么?

    本文为大家带来仿真器和烧写器的介绍。
    发表于 01-05 14:10 2.1w次阅读

    仿真器的作用是什么_为什么要用单片机仿真器

    仿真器(emulator)以某一系统复现另一系统的功能。与计算机模拟系统(Computer Simulation)的区别在于,仿真器致力于模仿系统的外在表现、行为,而不是模拟系统的抽象模型。
    的头像 发表于 04-13 16:31 4.8w次阅读

    什么是单片机仿真器_单片机仿真器有什么用_单片机仿真器怎么用

    本文首先介绍了单片机仿真器的原理及作用,其次介绍了单片机仿真器到底有什么用及功能特性,最后阐述了单片机仿真器的使用方法。
    发表于 04-16 09:49 1.6w次阅读

    仿真器是什么

    仿真器(emulator)以某一系统复现另一系统的功能。与计算机模拟系统的区别在于,仿真器致力于模仿系统的外在表现、行为,而不是模拟系统的抽象模型。请参阅仿真和模拟词条。
    的头像 发表于 11-26 16:34 1.5w次阅读

    米尔科技ULINKpro D 仿真器介绍

    ULINKpro D仿真器是ULINKpro仿真器的精简版,拥有ULINKpro同样高性能的调试功能,只是精简了ULINKpro的ETM跟踪功能。ULINKpro D
    的头像 发表于 11-15 14:43 2297次阅读
    米尔科技ULINKpro D <b class='flag-5'>仿真器</b>介绍

    仿真器原理、功能、特性介绍

    仿真器晶振旁有两组 跳线用来切换内部晶振和用户板晶振,当两个短路块位于仿真器晶振一侧时,默认使用仿真板上的晶振(11.0592MHz), 当两个短路块位于电容一侧时,使用用户板的晶振。
    发表于 01-27 10:48 4838次阅读

    先进仿真器需要具备什么功能

    有不同的特殊要求,先进仿真器需要具备各种场景下所需的功能。在大规模设计中,整个设计和验证环境的编译时间可能高达数十小时,这种速度在调试频繁的设计初期是无法接受。因此,如果
    的头像 发表于 03-26 17:37 2287次阅读

    STM32-DAP仿真器的使用(1)

    目录1 仿真器简介2 硬件连接3 仿真器配置4 下载程序1 仿真器简介 TIPS:JTAG包含SW2 硬件连接3 仿真器配置1 选择DAP仿真器
    发表于 11-18 09:36 71次下载
    STM32-DAP<b class='flag-5'>仿真器</b>的使用(1)

    电池仿真器功能和应用

    电池仿真器是一种模拟真实电池电气特性的电子仪器。关键特性包括功率、电流、电压和等效串联电阻(ESR)。它为类似于实际电池的设备提供所需的电压、功率和电流。通常,出于测试目的,仿真器会更换便携式设备
    的头像 发表于 03-29 16:35 2954次阅读
    电池<b class='flag-5'>仿真器</b>的<b class='flag-5'>功能</b>和应用

    MINICUBE2设置手册 带编程功能的片上调试仿真器

    MINICUBE2 设置手册 带编程功能的片上调试仿真器
    发表于 05-05 19:26 0次下载
    MINICUBE2设置手册 带编程<b class='flag-5'>功能</b>的片上调试<b class='flag-5'>仿真器</b>

    MINICUBE2设置手册 带编程功能的片上调试仿真器

    MINICUBE2 设置手册 带编程功能的片上调试仿真器
    发表于 06-26 19:17 0次下载
    MINICUBE2设置手册 带编程<b class='flag-5'>功能</b>的片上调试<b class='flag-5'>仿真器</b>