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

    文章

    1048

    浏览量

    86759
  • 计算机系统
    +关注

    关注

    0

    文章

    292

    浏览量

    25212
  • 编译器
    +关注

    关注

    1

    文章

    1669

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    龙架构计算机系统能力核心课程教学研讨会圆满举行

    2025年11月8日,由教育部计算机类专业系统能力课程群虚拟教研室指导、北京航空航天大学计算机学院主办的龙架构计算机系统能力核心课程教学研讨会在京举行。
    的头像 发表于 11-14 13:52 377次阅读

    北斗卫星同步时钟系统:水电新能源计算机监控系统

    北斗卫星同步时钟系统:水电新能源计算机监控系统
    的头像 发表于 09-10 15:00 485次阅读
    北斗卫星同步时钟<b class='flag-5'>系统</b>:水电新能源<b class='flag-5'>计算机</b>监控<b class='flag-5'>系统</b>

    【作品合集】赛昉科技VisionFive 2单板计算机开发板测评

    赛昉科技VisionFive 2单板计算机开发板测评作品合集 产品介绍: 昉·星光 2是全球首款集成了3D GPU的高性能量产RISC-V单板计算机,搭载昉·惊鸿-7110(型号:JH-7110
    发表于 09-04 09:08

    工业计算机的重要性

    于管理用于产品检查、数据记录和数据分析的运动控制系统,以提高制造生产率。例如,汽车行业从工业边缘计算机中受益匪浅,这些计算机用于自动化制造汽车所涉及的各种过程。工业边
    的头像 发表于 07-28 16:07 398次阅读
    工业<b class='flag-5'>计算机</b>的重要性

    工业计算机与商用计算机的区别有哪些

    工业计算机是一种专为工厂和工业环境设计的计算系统,具有高可靠性和稳定性,能够应对恶劣环境下的自动化、制造和机器人操作。其特点包括无风扇散热技术、无电缆连接和防尘防水设计,使其在各种工业自动化场景中
    的头像 发表于 07-10 16:36 516次阅读
    工业<b class='flag-5'>计算机</b>与商用<b class='flag-5'>计算机</b>的区别有哪些

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机视觉,通常与卷积神经网
    的头像 发表于 05-16 14:37 632次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b>实现智能视频<b class='flag-5'>分析</b>

    LMFD格子多相流体力学仿真机:超级计算如何实现平民化?

    多相流体力学仿真一直是工业设计与优化的核心环节。然而,传统仿真依赖高性能超级计算机,不仅硬件投入高昂,且计算资源占用巨大,导致中小企业难以承
    的头像 发表于 05-12 14:34 733次阅读
    LMFD格子多相流体力学<b class='flag-5'>仿真</b>机:超级<b class='flag-5'>计算</b>如何实现平民化?

    计算机网络入门指南

    计算机网络是指将地理位置不同且具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统、网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统
    的头像 发表于 04-22 14:29 1858次阅读
    <b class='flag-5'>计算机</b>网络入门指南

    2025全国大学生计算机系统能力大赛启幕,RT-Thread助力高校人才培养

    全国大学生计算机系统能力大赛是由系统能力培养研究专家组发起,全国高等学校计算机教育研究会、系统能力培养研究专家组、系统能力培养研究项目发起高
    的头像 发表于 04-10 21:26 776次阅读
    2025全国大学生<b class='flag-5'>计算机系统</b>能力大赛启幕,RT-Thread助力高校人才培养

    关于反相器仿真模型的iv曲线

    请问如果发相器的iv曲线,想要图中的波形变得类似于正弦波形,需要怎么样才能实现呢?用的是ltspice仿真的
    发表于 02-15 20:51

    想找个类似于ads5294的单通道芯片,求推荐

    想找个类似于ads5294的单通道芯片,求推荐
    发表于 02-12 08:09

    BU-67121W实验室航空电子接口计算机North Hills

    可以在BU-67121W上轻松创建嵌入式软件,实现MIL-STD-1553、ARINC 429和以太网接口之间的数据自动转发。独立模式:允许BU-67121W作为用户可编程的计算机系统独立运行。
    发表于 02-11 09:26

    工业计算机的定义与重要性

    工业计算机是专门为工业环境设计和制造的计算设备,其主要功能在于监控、控制和优化生产流程。这类计算机系统通常具备强大的处理能力、较高的稳定性以及耐高温、抗震动和防尘等特性,能够在极端的工作环境下高效
    的头像 发表于 12-25 15:11 976次阅读
    工业<b class='flag-5'>计算机</b>的定义与重要性

    云端超级计算机使用教程

    云端超级计算机是一种基于云计算的高性能计算服务,它将大量计算资源和存储资源集中在一起,通过网络向用户提供按需的计算服务。下面,AI部落小编为
    的头像 发表于 12-17 10:19 943次阅读

    专业的第三类医疗器械经营企业计算机系统,确保合规无忧

    第三类医疗器械经营企业计算机系统因其简单明了的特性而受到了众多用户的欢迎。与其他第三类医疗器械经营企业计算机系统相比,盘谷医疗的快速上手为用户提供了极大的便利。该系统还支持远程操作,用户可以随时随地对医疗器械进行进销存管理。
    的头像 发表于 12-12 16:05 695次阅读
    专业的第三类医疗器械经营企业<b class='flag-5'>计算机系统</b>,确保合规无忧