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

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

3天内不再提示

关于硬件仿真的OS类似于计算机系统的分析和介绍

西门子EDA 来源:djl 2019-10-11 16:32 次阅读

Charley Selvidge是Mentor,a Siemens Business的首席工程经理,待人谦逊有礼,同时深藏敏锐才智和精湛学识,能够用通俗易懂的词语解释复杂概念。

正因如此,他在阐述硬件仿真发展前景时得心应手,这也正是他颇为精通的领域。在20世纪90年代末,Charley在马萨诸塞州剑桥市的麻省理工学院(MIT)附近创办了 Virtual Machine Works公司。据了解,VMW于1998年被IKOS Systems收购,之后于2002年加入Mentor。

图:Charley Selvidge

尽管Charley常年变动,甚至贯穿整个美国迁至加利福尼亚州,但期间他从未间断设计和完善新型仿真器最新版的Veloce硬件仿真平台就是他的杰作,这是一种名为Veloce Strato的数据中心友好型仿真平台。

最近,Charley一直认为,硬件仿真器操作系统由仿真器软件系统的自然演变而来。

为说明这一点,他用计算机系统做类比。“在计算机出现的早期,计算机没有操作系统。程序员很快发现,在计算机硬件的低级操作和想要在计算机中运行的高级任务或程序之间创建标准软件是非常有用的。”分层方法将提供一系列一致的服务,从而更容易地开发应用和程序,无需重新设置或重复开发通用的底层功能、库,如打开文件或与计算机进行的其他交互应用。

Charley 对比仿真器并指出:“硬件仿真器包括底部可用于运行数字芯片硬件执行平台以及可以在仿真器上运行的一系列应用型任务。”这些任务通常具有高级目标,例如对芯片功耗进行特征提取或处理运行于芯片内部处理器上的软件应用。不论是哪种情况,整个芯片均需视为任务的一部分。

他补充道,这些确实是仿真器通常执行的高级且复杂的任务。操作系统内部仿真的一系列中间服务标准将高级任务和与仿真相关的低级、特定于机器的细节隔离开。

因此,Charley确定,操作系统对于仿真器而言是一个新颖的概念。

硬件仿真中的硬件和软件可扩展性

所有仿真器均基于某种建模元器件,也就是说,是一种可以对芯片建模的设备。大多数建模元器件是以少量、中等或大量形式组装,可以创建不同规模的系统。在此底层硬件之上是一种软件编译系统。仿真编译器读取数据库或集成电路模型,并写入数据流以配置仿真器中的建模元器件阵列,以形成芯片映射。

通常情况,使用计算机程序设计集成电路,这种程序可以执行以一种通常称为硬件描述语言(HDL)的计算机语言编写的电路描述。最常用的HDL是Verilog SystemVerilog和VHDL。电路描述确定了电路特性。将这些描述合并成一个真实的电路,并编译成在仿真器上运行的模型。

据Charley介绍,获得芯片模型后,设计师可将其加载到仿真器上,这是由仿真器的OS软件执行的特定于机器的任务。OS还可以执行一些其他任务,包括运行和停止时钟、访问设计可见性数据,或将激励应用于仿真模型以及收集其响应。他还提醒我们注意,功能性设计验证任务包括向设备中写入数据、从设备中提取数据、判断设备是否正确,以及与之交互。

这些基本任务对于仿真器可以执行的最高级作业而言很普遍。他举了几个例子,包括对功耗进行特征提取、运行软件和其他一些活动。这些最高级作业反过来调用底层服务的各种基本单元,以完成执行。Charley以提取可见性数据以确定功耗为例。这涉及在测试环境中运行设计、提取数据、处理数据以及向更多软件提供数据以进行功耗运算。

扩展软件复杂性是扩展的一个方面,也是一个好的示例。如果拥有如下OS会很有帮助:该OS能够为更复杂任务提供一系列以更高级抽象方式(换言之,计算机编程方式)管理的基本功能和服务。Charley补充说:“设计师不想使用汇编语言编程。他们不想编写自己的文件服务程序。现在,他们只需要编译器和标准接口来实现功能。

仿真器OS扩展的第二方面是对多种型号的设备建模。一方面,设计师可以选择对小规模的知识产权(IP)模块建模,以适应一些小型仿真硬件资源。另一方面,设计师可以对CPU或大型互联网开关芯片等完整片上系统(SoC)设计建模。这样就产生了一系列面向软件的挑战,这些挑战就是开发用于处理小模型和大模型的软件兼容性。

他表示:“大型设计难以管理,但针对多种规模做出适当的权衡更具挑战。一旦解决了软件挑战,将有利于在一个标准化的地方存储解决方案。这个地方就是OS。”

为可见性等功能提供OS中的服务,能够为小型设计和大型设计提供适当的功能支持,并且无需设计师掌握高效扩展的原理。

Charley说:“在以上这些方面中,OS是用于开发仿真器软件的一种适当的软件组织策略。”

硬件仿真应用程序

这让Charley对硬件仿真产生了新观点。与PC或手机一样,硬件仿真正在进入“应用程序”世界。硬件仿真通过与消费类电子设备软件基本相同的方式,为这些应用程序提供服务。

当处理“应用程序”等特定于应用的问题以及开发解决这些问题的软件时,以无需编写软件即可完成任务方式封装的较低级服务很有帮助。这些服务可以由操作系统通过一组应用程序编程接口(API)以可访问的形式提供,API是一种较高级应用获取底层服务的方法。

通过实施这种软件组织(指OS和应用程序),设计师可以让OS软件平稳化,并确定一系列有效且一致的API。这种方法可以高效开发应用程序,无需考虑较低级细节,且支持不同版本硬件仿真平台。

使用OS的另一方面是能够通过提供具有透明度的适应层,将程序等较高级软件元素与底层硬件中的变化隔离开。设计师使用这种方法开发的应用程序不会因硬件平台的发展而变化,可以保护原始投资,供将来加以利用。无需重建旧软件便可在新平台上工作,因此设计师可以潜心开发可在多代平台运行的新软件。

他最后总结道:“像这样的OS和“应用程序”软件组织方法对于设计师而言独特而有利。”接下来,我们请Charley继续考虑操作系统,也许就会出现新一代的硬件仿真器。同时,我们之后要考虑的是硬件仿真的未来发展潜力。

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

    关注

    14

    文章

    988

    浏览量

    82992
  • 计算机系统
    +关注

    关注

    0

    文章

    213

    浏览量

    23880
  • 编译器
    +关注

    关注

    1

    文章

    1577

    浏览量

    48610
收藏 人收藏

    评论

    相关推荐

    【量子计算机重构未来 | 阅读体验】+ 初识量子计算机

    感觉量子技术神奇神秘,希望通过阅读此书来认识量子计算机。 先浏览一下目录: 通过目录,基本可以确定这是一本关于量子计算机的科普书籍,主要包括什么是量子计算机、量子
    发表于 03-05 17:37

    计算机为什么利用反码来实现减法?

    元器件的限制。当时,计算机的电路设计主要采用位操作(二进制)来实现。为了能够有效地表示负数,人们引入了反码的概念。使用反码可以使计算机系统在进行加法和减法运算时使用相同的逻辑电路,从而降低了硬件成本和复杂度。 2.
    的头像 发表于 02-19 15:10 225次阅读

    计算机系统由什么两部分组成 计算机系统的层次结构

    计算机系统是由硬件和软件两部分组成的。 硬件部分包括计算机的实体组件,如中央处理器(CPU)、内存、存储设备、输入输出设备、显示器等。CPU是计算机
    的头像 发表于 02-01 14:13 654次阅读

    计算机系统如何应对大模型时代的挑战与机遇

    “操作系统管理着计算机的资源和进程,以及所有的硬件和软件。计算机的操作系统让用户在不需要了解计算机
    发表于 01-23 11:06 159次阅读
    <b class='flag-5'>计算机系统</b>如何应对大模型时代的挑战与机遇

    什么是嵌入式计算机

    嵌入式计算机是一种专门设计用于特定功能的计算机系统,通常被嵌入到其他设备中,以执行特定的任务。这种计
    的头像 发表于 01-15 15:10 336次阅读
    什么是嵌入式<b class='flag-5'>计算机</b>?

    工业计算机与商用计算机的区别

    工业计算机与商用计算机的区别  工业计算机和商用计算机是两种应用于不同领域的计算机系统。虽然它们在技术方面存在一些共性,但在功能、设计、可靠
    的头像 发表于 12-27 10:50 274次阅读

    无风扇工业计算机有哪些优势?

    无风扇工业计算机有哪些优势? 无风扇工业计算机是一种针对特殊工业环境设计的计算机系统,相比传统的风扇散热系统,它具备许多独特的优势和特点。 工业计算
    的头像 发表于 12-15 09:43 221次阅读

    基于ARM的嵌入式飞行控制计算机系统设计

    电子发烧友网站提供《基于ARM的嵌入式飞行控制计算机系统设计.pdf》资料免费下载
    发表于 10-27 10:35 0次下载
    基于ARM的嵌入式飞行控制<b class='flag-5'>计算机系统</b>设计

    微型计算机硬件技术及应用基础

    本书以Pentium系列微机为主要背景机,系统全面地介绍了微型计算机硬件技术及应用基础。本书为下册——微机接口部分,分为微机接口技术概述、并行接口、串行接口、I/O接口中的中断技术、
    发表于 09-20 07:10

    计算机最小工作系统组件介绍

    不限于CPU,任何芯片都有其最小工作系统。本文所指最小工作系统是指一个计算机系统中所需的最基本的组件和功能,以使计算机能够正常启动和进行基本的操作。
    的头像 发表于 09-04 16:19 744次阅读
    <b class='flag-5'>计算机</b>最小工作<b class='flag-5'>系统</b>组件<b class='flag-5'>介绍</b>

    计算机组成与设计

    计算机组成与设计 计算机组成与设计是计算机科学中最基础的课程之一,它主要阐述了计算机的组成原理和设计方法。随着计算机技术的快速发展,
    的头像 发表于 08-17 12:37 930次阅读

    润开鸿承办全国大学生计算机系统能力大赛操作系统设计赛OpenHarmony赛题

    全国大学生计算机系统能力大赛(以下简称“大赛”)由计算机类专业系统能力培养研究专家组和系统能力培养示范高校(北京大学、清华大学、南京大学、国防科技大学、上海交通大学、浙江大学、北京航空
    的头像 发表于 06-20 10:25 409次阅读
    润开鸿承办全国大学生<b class='flag-5'>计算机系统</b>能力大赛操作<b class='flag-5'>系统</b>设计赛OpenHarmony赛题

    计算机组成与设计:硬件/软件接口 risc-v版 Computer Organization and Design The Hardware/Software Interface: RISC-V Edition

    组成原理的经典入门教材之一。是信息与电子工程及相关计算机专业的专业基础课,是计算机系统中软硬件间的知识纽带,节奏紧凑又不紧张,内容充实又不冗长,语言表述朴实易懂又不故作高深,是一本非常适合初次接触
    发表于 06-15 18:15

    计算机系统的小常识

    计算机系统指用于数据库管理的计算机硬软件及网络系统。数据库系统需要大容量的主存以存放和运行操作系统、数据库管理
    的头像 发表于 05-09 16:05 546次阅读

    浅析计算机系统的组成

    近年来,随着 PC( Personal Computer, 个人电脑) 在家庭中的广泛普及, 计算机对我们的生活产生了深远的影响。如今, 不仅是 PC,与我们生活息息相关的手机、平板等也广泛应用了计算机。通过此文来介绍一下
    的头像 发表于 05-09 15:57 879次阅读
    浅析<b class='flag-5'>计算机系统</b>的组成