0 卖盘信息
BOM询价
您现在的位置: 首页 > 电子资讯 >基础知识 > 软硬件仿真使用的最佳时机与硬件仿真嵌入式系统的最佳方法

软硬件仿真使用的最佳时机与硬件仿真嵌入式系统的最佳方法

2017-12-06
类别:基础知识
eye 210
文章创建人 拍明
  软件仿真:这种方法主要是使用计算机软件来模拟运行,实际的单片机运行因此仿真与硬件无关的系统具有一定的优点。用户不需要搭建硬件电路就可以对程序进行验证,特别适合于偏重算法的程序。软件仿真的缺点是无法完全仿真与硬件相关的部分,因此最终还要通过硬件仿真来完成最终的设计..硬件仿真:使用附加的硬件来替代用户系统的单片机并完成单片机全部或大部分的功能。使用了附加硬件后用户就可以对程序的运行进行控制,例如单步,全速,查看资源断点等。硬件仿真是开发过程中所必须的。

  大约在 40 年前,Comprehensive Computing Systems and Services公司在市场上推出了首个名为 TEGAS 的商业数字软件仿真器,该设备主要用于测试生成和软件仿真系统。这一对门级电路进行仿真的系统由一个小型专家团队开发,而在此之前只有针对晶体管级电路进行仿真的模拟仿真软件。TEGAS 是其专用的描述语言。这种语言仅用于生成数字电路测试向量。最终,仍须通过原型板进行设计验证。

  随着 20 世纪 80 年代早期计算机辅助工程 (CAE) 行业的兴起,数字软件仿真器或逻辑软件仿真也在电子工程界流行起来,成为设计验证的主要手段。到 20 世纪 90 年代末,数字软件仿真器逐渐发展演变为寄存器传输级 (RTL) 软件仿真器,这种软件仿真器支持两种流行的硬件描述语言 (HDLs)—— Verilog 和 VHDL。现有的 EDA(电子设计自动化,CAE 和 CAD 的产物)供应商用了十多年的时间在同一个工具中支持这两种语言。如今,Synopsys、Cadence 和 Mentor Graphics这三家大型 EDA 供应商,都提供各自的 HDL 软件仿真器,在市场上呈现三足鼎立的状态。

  多年来一系列的改进使得 HDL 软件仿真器变得愈加完美。现在,它是一款不可限量的工具,是设计验证和假设分析中必不可少的工具,但其还是有自身的局限性,即设计规模不能超过 1 亿个 ASIC 等效门。这种限制较为随意,事实上,仍然可以对更大型的设计进行软件仿真,只是执行速度奇慢无比。

  一个示例

  若要使用在 10 Hz 下运行的现代软件仿真器来仿真在 100 MHz 下运行的 1 亿 ASIC 门设计上的一秒钟的真实数据,这绝非易事。在这种设计复杂度下,可能需要花费 1 千万秒的时间。即 2,778 小时,或者 115 天。一秒钟的 100 MHz 真实数据等于 1 亿个时钟周期,这个数字相当大,可能会超出处理典型测试平台的要求。在处理典型测试平台时,一毫秒或者更短时间就足够了,在大内存配置的最新 PC 上运行时,则会将执行时间缩短至一天或更短。这是个合理的目标。

  HDL 软件仿真器可以在 PC 场中并行运行,每个 PC 会处理功能完善的测试平台。半导体公司有成千上万台 PC 构成的计算场全天运行。

  但 1 亿周期仍不足以处理嵌入式软件设计。由于处理软件在本质上为串行流程,所以对于这项任务来说,有必要按顺序执行数十亿周期。然而,带有 HDL 软件仿真许可的 PC 场却鞭长莫及。软件程序无法在子集中进行拆分,再并行运行。

  那么,要如何验证 SoC 设计的嵌入式软件呢?

  进入硬件仿真时代

  硬件仿真其实由来已久,它给设计人员在流片前提供了一种更为准确的电路行为描述,因为硬件仿真是通过真实的电路和逻辑来实现设计。硬件仿真始于 20 世纪 80 年代末,在 20 世纪 90 年代末盛行,当时主要是通过商业 FPGA 进行实现,用于验证需要较长测试周期的处理器和图形设计。它们也遇到诸如电路建模难度高以及可靠性低等各种问题。其成本也较为高昂,并且作为单用户资源,其投资回报较低。然而,硬件仿真器的出色执行速度仍使其成为长处理周期的必要工具。

  还是之前的示例,在 1 MHz 下运行的硬件仿真器需要花费 100 秒来执行 1 秒钟的真实数据以及处理 1 亿次周期。硬件仿真器可以在一小时左右的时间内启动操作系统。而且,硬件仿真器的投入比重新流片便宜得多。

不同设计规模下软件仿真与硬件仿真性能对比

  图 1:不同设计规模下软件仿真与硬件仿真性能对比

  HDL 软件仿真器由于缓存缺失和内存交换,其执行速度会随着设计规模增加而急剧下降。不过与之不同的是,在此情况下,硬件仿真器的性能只会受到轻微影响(见图 1)。

  由于商用 FPGA 硬件仿真器有一定的限制性,定制芯片硬件仿真器由此应运而生。这种硬件仿真器主要有两种不同类型:由 Mentor Graphics 提供的定制 FPGA 硬件仿真器,又称片上硬件仿真器;以及由 Cadence Design Systems 提供的基于处理器的硬件仿真器。同时,Synopsys 也支持使用比标准 FPGA 硬件仿真器更为先进且功能有所增强的最新商用 FPGA 硬件仿真器。

  直到十年前,硬件仿真器才在电路硬件仿真 (ICE) 模式中被单独部署为物理测试环境。由于当流片提供激励和处理响应时,被测设计 (DUT) 将最终驻留在此环境中。因为难以进行设置,ICE 模式现在并不常见,而对更加灵活的测试环境的需求却在不断增长。应用硬件桥没有可控性/可再现性,并且由于安装时间和维护成本的增加,其还会增加测试环境的复杂度。由于可合成的测试平台能在硬件仿真器内部进行映射,并且无需依赖外部环境便可以硬件仿真器的最高速度执行,因此该测试平台区域还有其他可行的替代方案。不过遗憾的是,它们不易开发。

  基于事务的验证或加速(TBV 或 TBX)是业内最看好的方法,具有两方面的优势。首先,能采用少一个数量级的代码行,在更高抽象层次写入测试平台,简便而又不易出错。其次,由于在硬件仿真器内部映射晶体管的总线功能模型 (BFM) 实现了急剧加速,这些测试平台比传统 RTL 平台执行更快。另一个益处是,当用户切换设计或新用户登录时,TBV 或 TBX 不需要人为监督来处理速度适配器。这种方式也适合于远程访问。

  何时使用软件仿真,何时使用硬件仿真

  HDL 软件仿真器适用于设计周期早期阶段的硬件调试,早期阶段的设计主要专注于模块级别。凭借易用、快速设置、极速设计编译等特点,它们可以极其灵活地调试硬件设计。它们还支持每天进行多次设计迭代…只要设计规模合理。但在数千万门级别时会出现问题,这在现在看来只是典型的系统级设计验证。如上所述,它们并不适合嵌入式软件验证。

  相反,硬件仿真能找到几乎所有设计缺陷,无论是在硬件中还是在 SoC 嵌入式软件中。硬件仿真可处理任何设计规模,但需要较长时间进行环境搭建,至少一天,也可能更长时间。而且,相比软件仿真器,其编译速度相对较慢,大约需要一小时以上才能完成编译(见图 2)。

基于性能、设计能力和设置/编译时间的软件仿真与硬件仿真对比

  图 2:基于性能、设计能力和设置/编译时间的软件仿真与硬件仿真对比

  现代硬件仿真器支持多个并发用户,包括通过远程访问,因此可增加投资回报。

  越来越多的系统设计或整机制造企业意识到,要保证产品的创新或是独特性,必须要有自家独特的设计。如果是能够在核心的控制芯片或是处理芯片,采用自家专有的技术,同时还能降低对供应商的依赖或是材料成本,这将会是在市场上取得成功的重要,甚至是关键的因素。

  在本文中,笔者很乐意来分享一个无人机市场上,一家方案公司自己设计开发MCU的故事,给大家一些启发。

  在过去的一年中,玩具级无人机的出货增长逐渐放缓,在澄海众多玩具无人机厂商激烈的低成本竞争中,玩具无人机对于方案商的要求不断增加。玩具无人机不仅能手控各种飞行,还要增加越来越多的功能,包括拍摄高清视频、远距离无线视频传输、甚至还要配有简单的云台。最后价格还要定在1000元以下。这对于无人机的上游方案公司来说,要保持出货量,就必须不断地增加功能,同时还要降低成本。

  “能够降一毛钱,对于我们的BOM成本来说都很重要。价格越低的方案,成本压力越大,因为低价格的方案往往出货量更大。”一位深圳的方案公司研发老总C先生对电子工程专辑表示。

  业内人士估计,2016年玩具级无人机中国厂商的出货量在3千万至5千万台,现在主要由深圳的为数不多的方案公司在主打这个市场。由于技术不断升级更新,原本很多的方案公司,逐渐选择退出。原因一方面是研发与设计人才,不断地被无人机龙头企业挖走,培养新的人才根本很难适应。“我们来不及培养一个新人去做出有竞争力的方案,老的工程师现在根本留不住。”一家退出市场的方案公司老板苦笑着感叹说。

  进入2017年以来,玩具级无人机的市场增长放缓也是很多方案公司选择退出的原因。客户少了,再增加投入的意义不大。

  但在这个时候,有一家深圳的方案公司,却选择去开一颗ARM Cortex-M0的MCU。设计上,他们采用了设计外包,一个几个人的内地开发团队,几十万的流片费用,看起来是可以承受的范围内。毕竟,如果这颗芯片成功了,今后所有的方案都有机会采用自家的芯片了。“一方面可以解决市场缺货的问题,另一方面以后自己的方案要增长新的功能,就可以用自己定制化的MCU,成本降下来的同时,用起来还更省心。”C先生解释说。

  也许在很多个成熟的应用市场,都已经被中国本土公司设计的芯片渗透进来。这得益于中国本土IC设计人才在过去十几年中,在与客户接触的过程中,了解到了客户的需求。同时,还在参与到外资芯片公司IC设计的项目中,积累了很多的经验。

  现在很多公司的老板常说的一句就是:“不行咱们就自己开一颗。”也许在深圳的电子企业,或者是更广泛的消费类电子产品制造企业里,越来越多的公司会选择采用ARM授权的IP,来自主开发MCU,甚至更高端的芯片。

  ARM公司特别推出了一个基于Cortex-M0的在线设计平台“Design Start”。除了有易用的设计工具、丰富的IP与专家社群资源,也提供低成本的原型制作与低门坎授权条件,能在使用者将创意化为实际量产成品的过程中提供充分的协助。

  常用单片机系列

  1.8051系列单片机

  Intel公司于1980年推出8位的高性能8051单片机,在工业控制领域引起不小的轰动,并迅速确立了其不可动摇的地位。之后不久,Intel公司彻 底开放了8051单片机的技术,引来世界上很多半导体厂商加入了开发和改造8051单片机的行列中,这其中贡献最大的有Philipe公司,它着力发展了 单片机的控制功能和外围单元;Atmel公司,它在单片机内部植入了Flash ROM,使得单片机应用变得更灵活,在我国拥有大量的用户;ADI公司,它推出的AduC8 xx系列单片机,在单片机向SOC发展的模/数混合集成电路发展过程中扮演了很重要的角色;Cygnai公司,它采用一种全新的流水线设计思路,使单片机 的运算速度得到了极大的提高,在向SOC发展的过程中迈出了一大步。

  目前8051系列单片机各生产厂商的主流产品有几十个系列,几百个品种。尽管其各具特色,名称各异,但作为集CPU、RAM、ROM(或EPROM)、 I/O接口、定时器/计数器、中断系统为一体的单片机,其原理大同小异。现以Intel公司的系列产品为例,说明其各系列之间的区别。

  Intel公司从其生产单片机开始,发展到现在,大体上可分为3大系列: MCS-48系列、MCS-51系列、MCS-96系列。该3大系列的性能简介见表1。

  表1 Intel单片机系列性能简介

 Intel单片机系列性能简介

  这里,我们仅对MCS-51系列作一简要介绍。MCS-51系列单片机虽已有10多种产品,但可分为两大系列:MCS-51子系列与MCS-52子 系列。 MCS-51子系列中主要有8031、8051、8751 三种类型。而MCS-52子系列也有3种类型8032、8052、8752。各子系列配置见表1.2所示。

MCS-51系列?

  表1.2中列出了MCS-51系列单片机的两个子系列,在4个性能上略有差异。 由此可见,在本子系列内各类芯片的主要区别在于片内有无ROM或EPROM;MCS-51与MCS-52子系列间所不同的是片内程序存储器ROM从4 KB增至8 KB;片内数据存储器由128个字节增至256个字节;定时器/计数器增加了一个;中断源增加了1~2个。另外,对于制造工艺为CHMOS的单片机,由于采用 CMOS技术制造,因此具有低功耗的特点,如8051功耗约为630 mW,而80C51的功耗只有120 mW。

  其它单片机

  当很多公司在改造MCS-51系列单片机的同时,世界上一些有影响力的大公司也在开发自己的单片机,比如Motorola、TI、Microchip、OKI、Epson等。这些单片机的指令系统和内部结构都和MCS-51系列单片机不同,功能也各有千秋。

  (1)Motorola的单片机

  Motorola是世界上最早开发单片机的著名厂商,是目前全球最大的8位单片机生产商。现在已经拥有8位、16位和32位约十几个系列的单片机,这其中 8位机主要有68HC05、68HC08和68HC11等3个系列;16位机主要有HCS12、68HC12、DSP56800和68HC16等4个系 列;32位机主要有Coldfire的MC683xx、MCORE、MPC500和MCF5 xxx等系列。Motorola单片机的功能一般都很强,进入我国的时间也很早,在单片机应用领域有很高的威望,但由于其开发工具价格较高,影响了普及率。

  (2)Microchip公司的PIC单片机

  Microchip公司是当今世界上第二大8位单片机生产商,Microchip单片机在我国也有比较多的用户,近几年随着Microchip不断推出颇 具特色的各型单片机,Microchip已越来越受到业界的广泛关注。目前,市面上比较常见的单片机主要有以下3个系 列:PIC12C5xxx/16C5x系列,这两个系列的单片机是PIC单片机中的低端产品,其中PIC16C5x系列是最早在市场上得到发展的系列,因其价格较低,且有较完善的开发手段,因此在国内应用最为广泛;而PIC12C5xx是世界上第一个8脚低价位单片机,可用于一些对单片机体积要求较高的简 单智能控制领域,前景十分广阔。PIC12C6xx/ PIC16Cxxx系列是PIC中档产品,是Microchip近年来重点发展的系列产品,品种最为丰富,其性能比低档产品有所提高,指令周期可达到 200ns,增加了中断功能、带A/D、内部E2PROM数据存储器、双时钟工作、比较输出、捕捉输入、PWM输出、I2C和SPI接口、异步串行通信 (USART)、模拟电压比较器及LCD驱动等,其封装从8脚到68脚,可用于高、中、低档的电子产品设计中,适合于高级复杂系统的开发,其性能在中档位单片机的基础上增加了硬件乘法器,指令周期可达成160ns,它是目前世界上8位单片机中性价比最高的机种之一,可用于高、中档产品的开发,如马达控制、音调合成。

  (3)TI(Texas Instruments)公司的MSP430单片机

  TI公司是闻名全球的DSP制造商,但其前几年才推出的MSP430系列16位单片机同样在业界掀起不小的波澜。MSP430系列单片机最突出的特点是低电压供电和超低功耗,非常适合应用于采用电池长时间工作的场合。电压范围为1.8~3.6V;在1MHZ2.2V下,活动模式功耗为225μA,待机模式 功耗为0.8μA、掉电模式功耗为0.1μA。在这个系列中有很多个型号,它们是由一些基本功能模块按照不同的应用目标组合而成的。MSP430系列单片 机的CPU采用16位RISC精简指令系统,集成有16位寄存器和常数发生器,发挥了最高代码效率;它采用数字控制振荡器(DCO),使得从低功耗模式到 唤醒模式的转换时间小于6μs;内部集成了A/D转换器,工业应用方便;其中MSP430x41x系列设计有一个16位定时器、一个比较器、96段LCD 液晶驱动器和48个通用I/O口。


责任编辑:Davia

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

相关资讯