用于软件验证的硬件加速仿真之一:物理和虚拟探针

2017-05-24 15:47:00 来源:EEFOCUS
分享到:
标签:

 

在验证领域,虚拟探针增强了硬件加速仿真作为数据中心资源对硬件设计人员和软件开发人员的吸引力。

硬件加速仿真不断证明它本身就是一种便利的工具,既可用于硬件/软件协同验证,也可用于测试硬件和软件的集成。

启动操作系统并执行软件应用程序需要经过数十亿个验证周期 — 传统的基于软件的分析工具无法胜任这项任务。只有基于硬件的验证引擎才可提供应对这一挑战所需的吞吐量。正因为如此,硬件加速仿真和 FPGA 原型设计才会成为当今设计和验证团队的验证工具箱中的必备引擎。

通过硬件加速仿真和 FPGA 原型设计,嵌入式软件开发人员能够验证嵌入式软件并执行系统验证,这是一项极具吸引力的功能。只有通过硬件加速仿真,他们才能确认嵌入式系统软件能够与底层硬件协同工作,因为 FPGA 原型设计没有提供可调试内部工作的硬件设计可见性。

另外,在设计周期中,项目组成员可以使用硬件加速仿真的时间通常远早于使用 FPGA 原型的时间。因此,使用硬件加速仿真技术,软件开发团队开始进行验证的时间要早于使用 FPGA 原型的情况。

硬件工程师也可以认识到在硬件加速仿真上运行软件的优势。当实际软件产品第一次在硬件上运行时,它几乎总会暴露出硬件错误,即使最全面的验证方法也会遗漏一些错误。及早运行软件可以暴露出这些错误,以便我们加以解决。这样不仅简单,而且成本较低。

物理探针
过去,软件开发人员使用物理 JTAG 探针来调试在硬件加速器上运行的代码(图 1)。JTAG 标准定义了一系列信号,以及通过四管脚接口读取和写入物理芯片中的寄存器的方法。这种做法的初衷是提供一种测试芯片的方法,让测试工程师窥探封装芯片的内部,确认它是否正常工作。

软件开发人员意识到他们可以使用相同的接口,读取和写入芯片中的处理器的通用寄存器。能够读取和写入处理器的主寄存器,意味着他们可以调试在处理器上运行的程序。

通过一些巧妙的接口,他们可以使用嵌入式调试器(例如 Lauterbach 的 Trace-32 或 ARM 的 DS-5),将命令发送到 JTAG 探针,以提取或设置连接到探针的板载处理器的状态。这是开发人员运行和调试嵌入式系统上的“裸机”程序和驱动程序的最常用方法。

使用当今的硬件加速仿真系统,可通过连接到外部器件的任何 I/O 卡,输出设计的任何信号。这种方法可用于输出 JTAG 接口的四个信号。通过将这些来自硬件加速器中的设计的信号连接到 JTAG 探针,软件开发人员能够在硬件加速仿真设计上,执行与在原型板上相同的调试工作。

由于 JTAG 探针将在设计后期用于原型板上,并且可能还在后续项目中使用,因此软件开发人员一般都了解该探针的使用方法和作用。在硬件加速仿真设计上调试软件时,软件开发人员自然会采用这种熟悉的工具。

虽然 JTAG 接口让调试器能够直接读取和写入寄存器,但要正确地调试程序,还需要能够读取和写入内存并且控制程序的执行。为了满足这种需求,处理器设计人员添加了调试器可访问的寄存器,以便将内存读取和写入指令插入到执行管道中。这样一来,调试器就能够完全访问设计中的所有内存和内存映射的器件。

另外,这些设计人员还采用了断点寄存器和其他调试支持电路,从而令 JTAG 调试器能够控制程序的执行。这意味着,通过连接至处理器的 JTAG,调试器能够显示程序源代码、处理器的寄存器、内存、变量以及程序的堆栈。因此,调试器能够设置断点,运行和单步调试程序,而这些正是软件开发人员期望现代化软件调试环境能够提供的功能。

处理 JTAG 探针问题
虽然 JTAG 探针实现了在硬件加速仿真设计上的软件调试,但它也有缺点。第一,JTAG 探针和在硬件加速器中运行的设计都有它们自己的自激时钟。为了保持同步,这些时钟必须维持一致的速度。如果做不到,调试器和设计之间的连接将会丢失。

很多情况下,需要重置探针;而有些时候,还将需要重置设计本身。有时减慢甚至停止硬件加速器中的设计时钟是非常有用的,因为这样可以采集和上载设计上的波形。这样一来,开发人员就能够查看设计的状态,或者对设计进行强制赋值,使其变换到新值。实质上,如果硬件加速器上的时钟不能减慢或停止,硬件开发人员将会丢失诸多硬件调试功能。

使用 JTAG 探针存在的第二个问题是性能。由于存在两个独立的时钟域,一个在硬件加速器上,另一个在探针上,数据将在两个域之间传递,就会产生跨时钟域问题。为了解决这个问题,探针上的时钟速度通常低于处理器的时钟速度。在原型板上,处理器的时针速度可达到几百兆赫甚至千兆赫,这不是问题。但在硬件加速仿真中,时钟运行速度为一兆赫或两兆赫,这可能让速度减慢很多。

例如,在 ARM Cortex-A57 中分步运行单个指令,需要超过 400 万个比特的 JTAG 扫描链活动。如果处理器的时钟在 2 MHz 的频率下运行,JTAG 时钟的频率是它的四分之一,也就是 500 kHz,则在分步运行之后,需要 8 秒才能更新调试器中的视图。

另一个性能问题是程序下载时间。软件开发人员使用扫描链,通过 JTAG 探针将程序下载到目标。如果程序很大,则将程序加载到存储器可能要花费一个小时甚至更长时间。大多数软件开发人员无法接受这种性能水平。

JTAG 事务处理器
有一种使用 JTAG 调试器的方法可以消除这些问题。硬件加速仿真系统能够通过电路和硬件加速器内置的编程功能,驱动和采样设计中的任何信号。我们无需通过 I/O 卡从设计中采集信号,然后使用物理探针予以驱动,而是可以使用“事务处理器”,通过编程方式驱动设计中的 JTAG 信号。与物理探针相同,事务处理器也可以驱动相同的信号,使其变换到相同的值,从而提供相同的调试功能。

由于设计和 JTAG 事务处理器都在硬件加速仿真系统的控制下,因此时钟由硬件加速器控制。时钟域可以同步,因此能消除多个时钟的问题。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
verilog设计和开发案例资料分享

本书主要讲述基于IEEE Std 1364—2001版本的Verilog硬件描述语言,着重讲述了如何Verilog进行数字系统的设计、验证及综合。根据数字集成电路设计的工程需求,本书重点关testbench的设计编写、验证和测试技术,深入讲述基于VerilogHDL的开关级、门级、寄存器传输(RTL)、行为级和系统级建模技术。

除了硬件业务,索尼大法的音乐之路顺不顺

可能一提到索尼,大家就会想起它的硬件业务,想到它手握数不清的黑科技,但最近几年一直都在走下坡路。的确,索尼曾经辉煌过,最巅峰的时候,也远远不是现在的苹果所能企及的。

三星S8 mini测试跑分疑被曝光,骁龙840输给了骁龙835?
三星S8 mini测试跑分疑被曝光,骁龙840输给了骁龙835?

三星的Galaxy S8推出不过在几个月时间,但看样子它的变体机型可能已经在准备当中了。

意法半导体推出新一代低能耗蓝牙芯片,推动智能互联硬件市场发展

横跨多重电子应用领域、全球领先的半导体供应商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)推出新一代Bluetooth® Low Energy (BLE)系统芯片。新产品将加快智能互联硬件在家用、购物中心、工业、玩具、游戏机、个人保健、公共基础设施等领域的推广应用。

大话手机︱从历史到硬件结构组成,走进智能手机世界

手机是什么?电子书、电视、游戏机、聊天工具等多功能与一体的生产力工具,有时会成为我们嬉笑怒骂的窗口,也许你能10年不恋爱,你却控制不住自己的双手不去摸手机。现在的家庭成员除了爸爸妈妈爷爷奶奶伴侣儿子女儿,当然还有手机。与你朝夕相处,甚至要陪你度过下半生时光的“亲人”,你却不了解它,实在是说不过。

更多资讯
如何杀出PCB红海,捷多邦靠互联思维可行?
如何杀出PCB红海,捷多邦靠互联思维可行?

在以“推进智能制造,促进军民融合”为主题的2017中国(成都)电子展上,与非网记者对深圳捷多邦科技有限公司进行了采访,“PCB是一个高竞争的行业,打样响应速度成为博弈的关键因素,捷多邦有一套高效管理模式,可做到PCB行业最快速度。”捷多邦业务经理姚慧平这样概括。

CS Show2017汇聚优质PCB展商共话产业新知,紧跟革新趋势
CS Show2017汇聚优质PCB展商共话产业新知,紧跟革新趋势

“2017第四届深圳国际电路板采购展览会”(CS Show 2017) 将于8月29日-31日在深圳举行,是国内不可多得的唯一以PCB/FPC采购为主题的行业展览。印制电路板广泛地应用于几乎所有电子制造领域,是电子制造业的基础和核心构成。

IPC邀请欧洲会员加入IPC标准指导委员会

2017年7月18日,美国伊利诺伊州班诺克本—IPC—国际电子工业联接协会®投入大量资源用于管理和技术改进项目:开发标准,保护环境,标准的培训与认证,以及政府关系。

国内EDA领袖“芯禾科技”用户大会召开,全面串联芯片到云端设计
国内EDA领袖“芯禾科技”用户大会召开,全面串联芯片到云端设计

EDA软件、集成无源器件IPD和系统级封装领域的领先供应商芯禾科技有限公司,近日召开用户大会,联合展讯、中芯国际、思科、IBM等高管及专家,向业内同仁阐释了行业的现状和趋势,并正式发布其亮点满槽的2017版本的EDA软件系列。

Mentor:IC高密度封装需求后劲十足,HDAP流程提前保驾护航

随着技术和应用的发展,电子产品要求IC的密度越来越高,精度越来越准,扇出晶圆级封装 (FOWLP) 等先进封装技术逐步兴起,IC 设计和封装设计领域的融合也愈发明显。这就为现有的传统设计方法带来了非同寻常的挑战,因此迫切需要更为高效的全新流程、方法和设计工具。从设计阶段进入制造阶段时,现有工具往往效率偏低,甚至完全无法使用。针对先进 I

微话题

年初定的哪些“小目标”没有阵亡?

有偿征稿 | 2017年能耗过半,年初定的哪些“小目标”没有阵亡? ……
Moore8直播课堂
STM32快速开发笔记——控制器局域网络之CAN

STM32快速开发笔记——控制器局域网络之CAN

2017-07-30 21:00:00
以前,嵌入式MCU功能简单、种类较少,软件开发起来相对容易,而今天,MCU功能强大、种类繁多,软件中实现的功能也要比以前更多更复杂。该系列课程,针对基于ARM的STM32 MCU,将利用STM32cu
【第八幕】万人FPGA大赛系列培训课程——IP核例化及Reveal工具使用

【第八幕】万人FPGA大赛系列培训课程——IP核例化及Reveal工具使用

2017-07-31 16:00:00
关键词:FPGA万人大赛(想想就心潮澎湃)柒月,蝉声缭绕,数以万计FPGA工程师和爱好者摩拳擦掌,掀起一场FPGA的热浪。在这个夏天,一切都将改变!让学生利用FPGA平台学习数字电路设计,就像写代码看
恩智浦技术日直播——安全互联解决方案研讨会

恩智浦技术日直播——安全互联解决方案研讨会

2017-08-02 10:00:00
随处可见的NFC,越来越成熟的语音识别技术……越来越便利的革新技术给我们带来便利的生活的同时,也带来安全隐患。物联网的火爆发展,大大推动了无线通信、智能移动设备、大数据、处理器等领域的快速发展。万物互
【第三讲】Altium Designer软件PCB电路板制作细则

【第三讲】Altium Designer软件PCB电路板制作细则

2017-08-04 15:00:00
Altium Designer是一款比较受大家喜欢的PCB制作软件,在我们做些项目已经做毕业设计的时候都会用到。这两天本专业在做生产实习,主要就如何使用Altium Designer制作电路板进行学习
【助力电赛-第一招】小脚丫FPGA的功能介绍及编译环境的安装、操作

【助力电赛-第一招】小脚丫FPGA的功能介绍及编译环境的安装、操作

2017-08-06 19:00:00
助电圆梦系列直播! 每两年一度、每届有上万个团队参加的全国高校最大的赛事“全国大学生电子设计竞赛”今年正如火如荼地准备中,在7个大的竞赛类别中除了“电源”、“放大器”、“高频无线电”三个类别之外