(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf_第1页
(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf_第2页
(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf_第3页
(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf_第4页
(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf_第5页
已阅读5页,还剩88页未读 继续免费阅读

(计算机应用技术专业论文)嵌入式mcu仿真的研究与实现.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 摘要 随着现代计算机技术的发展,嵌入式系统的应用越来越广泛,从日常生活到 工业领域,可以说是无处不在。同时嵌入式应用的开发也遇到了一些问题,传统 的交叉开发方式制约了系统开发的效率,软件和硬件开发相互牵制,硬件干扰引 起的异常行为严重影响软件的调试和测试,延误开发进度,致使软件质量难以保 证。仿真开发是摆脱困境的一条有效途径。利用仿真技术模拟嵌入式硬件系统的 真实运行,使软件开发和系统集成在虚拟平台上进行,在硬件原型制造前就完成 系统模型验证和运行行为分析,避免软硬件开发相互等待,提高开发效率,降低 风险和成本。 由于目标硬件系统日益复杂和多样化,理想情况下嵌入式软件开发中应提供 一个可复用的嵌入式仿真开发平台。而基于构件技术的软件系统具有很高的重用 性,因此在构造硬件平台的仿真系统时引入构件技术。构件模型的提取和设计是 实现构件化的关键。分离的构件按照一定方式组合在一起,才构成一个完整的系 统,动态集成方式将使系统具有良好的扩展性。 软件仿真技术中,事件驱动是最常用的仿真方法。本文从功能验证和周期精 确两个层次来考虑整个m c u ( 微控制器) 的仿真,周期精确需要实现流水线级系 统结构仿真。 嵌入式仿真开发平台的核心是m c u 仿真,其逻辑结构复杂,特别是周期精确 及时序同步问题是软件仿真的难题,周期精确的软件仿真需要把硬件流水线的并 行工作方式在仿真中串行化实现,并且需要精确安排和系统中其它构件的同步时 序。文中提出了一种基于流水线的周期同步方式,通过运行环境的虚拟时钟使整 个系统时间同步。设计了一种嵌入式m c u 仿真模型,研究了模型结构和工作原理, 根据模型实现了一种基于a r m 9 2 0 t 核的微控制器仿真。 关键词:嵌入式m c i j 仿真,周期精确仿真,仿真模型,构件技术 a b s b a c t a b s t r a c t w i t ht h ed e v e l o p m e mo fc o m p u t e rt e c h n o l o g y , e m b e d d e d - s y s t e ma p p l i c a t i o ni s b e c o m i n gm o r ea n dm o r ep o p u l a ra n dc o v e r i n gf r o md a i l yl i f et oi n d u s t r i a la r e a b u t t h e r ea r es o m ep r o b l e m si nt h ed e v e l o p m e n to fe m b e d d e d s y s t e m f o ri n s t a n c e , t h e t r a d i t i o n a ld e v e l o p m e n tm e t h o dr e d u c e st h ee f f i c i e n c yo fd e v e l o p i n g , a n ds o f t w a r e d e v e l o p m e n ta n dh a r d w a r ed e v e l o p m e n tc o n t a i n e a c h o t h e r t h e u n c o n v e n t i o n a l a c t i v i t i e s u s e db yt h eh a r d w a r ei n t e r f e r e n c eh a v es e r i o u s l ya f f e c t e dt h ed e b u g g i n ga n d t e s t i n go fs o f t w a r e ,w h i c hm a k e st h eq u a l i t yo fs o f t w a r eh a r dt ob eg u a r a n t e e dw i t ht h e d e l a yi nd e v e l o p i n gp r o c e s s ,w h i l es i m u l a t i o nd e v e l o p m e n ti sa l le f f e c t i v em e t h o dt o b r e a ka w a yf r o mt h em e s s s i m u l a t i o nt e c h n o l o g yi su t i l i z e dt os i m u l a t et h er e a l r u n n i n go fe m b e d d e dh a r d w a r es y s t e mt oe n a b l et h es o f t w a r ed e v e l o p m e n ta n ds y s t e m i n t e g r a t i o nt ob ei m p l e m e n t e do n av i r t u a ls t a g e ,s oa st oc o m p l e t ev e r i f y i n gt h es y s t e m m o d e la n da n a l y z i n gt h er u n n i n ga c t i v i t yb e f o r em a n u f a c t u r i n gt h eh a r d w a r ep r o t o t y p e , w h i c hc a l la v o i dt h em u t u a lw a i tb e t w e e nt h es o f t w a r ed e v e l o p m e n ta n dh a r d w a r e d e v e l o p m e n t , i m p r o v et h ed e v e l o p m e n te f f i c i e n c ya n d l o w e rt h er i s k sa n dc o s t s d u et ot h ei n c r e a s i n gc o m p l e x i t ya n dd i v e r s i f i c a t i o no ft h eo b j e c th a r d w a r es y s t e m , ad e v e l o p m e n tp l a t f o r mo fe m b e d d e ds i m u l a t i o nw h i c hc a nb er e u s a b l e ,u n d e ri d e a l c o n d i t i o n s ,s h o u l db ep r o v i d e dd u r i n gt h ed e v e l o p m e n to f e m b e d d e ds o f t w a r e s i n c et h e s o f t w a r es y s t e mo nt h eb a s i so fc o m p o n e n tt e c h n o l o g yh a sb e e np r o v i d e dw i t hah i g h l y r e u s a b l ep e r f o r m a n c e ,s t r u c t u r a lt e c h n o l o g yi si n t r o d u c e di nt h ec o n s t r u c t i o no f s i m u l a t i o ns y s t e mf o rh a r d w a r ep l a t f o r m t h ea b s t r a c ta n dd e s i g no fc o m p o n e n tm o d e l i st h ek e yf o ri m p l e m e n t i n gs t m c t u r i z a t i o n t h es e p a r a t ec o m p o n e n t sw i l lb ea s s e m b l e d t o g e t h e ra sa c e r t a i nt y p et oc o n s t r u c taw h o l es y s t e m ,w h i c hi sm a d e9 0 0 de x p a n s i b i l i t y b yt h ed y n a m i ci n t e g r a t i o nm o d e e v e n t - d r i v e ni sac o m m o i i l yu s e dm o d ea m o n gt e c h n o l o g i e so fs o f t w a r e s i m u l a t i o n bt h i sd i s s e r t a t o i n t h ew h o l em c us i m u l a t i o ni sd e s i g n e da c c o r d i n gt ot h e t w oa s p e c t so ff u n c t i o nv e r i f i c a t i o na n dc y c l e a c c u r a t eb e h a v i o r a ls i m u l a t i o n t h el a t t e r i sr e q u i r e dt oi m p l e m e n tt h ep i p e l i n e l e v e ls i m u l a t i o no f s y s t e m t h ec o r eo fd e v e l o p m e n tp l a t f o r mo fe m b e d d e ds i m u l a t i o ni st h em c um o d e l t h e n 垒塑望璺 c o m p l e xl o g i c o fm c u , e s p e c i a l l yt h ei m p l e m e n t a t i o no fc y c l e - a c c u r a t e a n d c y c l e s v n c h r o n i z e ds i m u l a t i o n ,i st l l e m a t t e ro fs o f t w a r es i m u l a t i o n t or e a l i z et h e r e q u i r e m e n t o fc y c l e - a c c u r a t es i m u l a t i o n ,t h ew o r k i n gh a st ob ec h a n g e df r o mt h e p a r a l l e l m o d eo fh a r d w a r ep i p e l i n et os e r i a lm o d ei ns o f t w a r es i m u l a t i o n ,a n dt h e s y n c h r o n i z a t i o no fs o c a n do t h e rc o m p o n e n t sh a st ob es e t t l e d t h ed i s s e r t a t i o ni s s u e sa c y c l es y n c h r o n i z a t i o n m o d eb a s e do n p i p e l i n e w h i c h m a k e sa l lc o m p o n e n t s s v n c h r o n i z e do nt h ev i r t u a ld o c ko fm n t i m ee n v i r o n m e n t ,a n d s u b m i t sag e n e r a l m c us i m u l a t i o nm o d e lw i t hs t u d y i n gt h em o d e ls t m c t m ea n dw o r k i n gp r i n c i p l e a c c o r d i n gt ot h em o d e l i ti m p l e m e n t st h es i m u l a t i o no fm c ub a s e do na r m 9c o r e k e y w o r d s :e m b e d d e dm c us i m u l a t i o n ,c y c l e - a c c u r a t es i m u l a t i m l ,s i m u l a t i o nm o d e l , c o m p o n e n tt e c h n o l o g y m 图目录 图目录 图2 1 仿真三要素的关系5 图2 2 基于事件驱动的仿真过程图8 图2 - 3o m a 参考模型1 4 图3 1 a r m 9 2 叮结构图1 8 图3 2 a r m 寄存器结构1 9 图3 3 流水线结构图2 4 图3 4m c u 工作原理示意圈2 5 图3 - 5c a c h e 工作原理2 6 图3 6m m u 工作示意图2 8 图4 1 构件逻辑结构3 1 图4 2m c u 逻辑结构工作流程3 3 图4 3m c u 构件仿真模型3 4 图4 4 构件信号传递过程3 8 图4 5 管脚信号处理流程3 9 图4 6 系统时序控制流程4 0 图5 1m c u 构件类关系图4 5 图5 - 2m c u 构件工作状态图4 6 图5 3 流水线并行阶段4 8 图5 4 流水线类示意图4 9 图5 5 流水线的执行流程5 d 图5 6 a r m 指令集格式5 4 图5 7 块传输指令二进制格式5 5 图5 8c p u 数据访问功能部件图6 0 图6 1 系统启动并新建项目7 3 图6 - 2 构件配置及引脚选择7 4 图6 3 启动运行环境7 4 图6 - 4 测试a r m l j l l 畎效果图7 5 表目录 表2 1 设计模式及分类1 6 v i 缩略语目录 缩略语目录 英文缩写英文全称 中文释义 a h ba d v a n c e dr i i g h - p e r f o r m a n c eb u s高级高性能总线 a m b aa d v a n c e d m i c r o c o n t r o l l c r b u s高级微控制器总线体系 a r c h i t e c t u r e架构 a p ba d v a n c e dp e r i p h e r a lb u s高级外围总线 a s ba d v a n c e ds y s t e mb u s高级系统总线 c d l c o m p o n e n td e s c r i p t i o nl a n g u a g e构件描述语言 c ;。m c o m p o n e n t0 b j e dm o d e l构件对象模型 c o r b ac o m m o n o b j e c tr e q u e s t b r o k e r公共对象请求代理体系 a r c h i t e c t u r e 结构 c o s sc o m m o no b j e c ts e r v i c es p e c i f i c a t i o n公共对象服务规范 c p s rc u r r e n tp r o g r a ms t a t u sr e g i s t e r当前程序状态寄存器 d c o m d i s t r i b u t e dc o m p o n e n to b j e c tm o d e l分布式构件对象模型 l c ei n - c i r c u i te m u l a t o r在线仿真器 m c um i c r oc o n t r o l l e ru m t微控制器 m m u m e m o r ym a n a g e m e n tu n i t存储器管理单元 0 m a o b j e c tm a n a g e m e n ta r c h i t e c t u r e对象管理体系结构 o m g o b j e am a n a g e m e n tg r o u p对象管理组织 o o o b j e c t - o r i e n t e d面向对象 o r b o b j e c tr e q u e s tb r o k e r对象请求代理 r 您r u n t i m ee n v i r o m e n t运行环境 s d l s p e c i f i c a t i o nd e s c r i p t i o i nl a n g u a g e规格说明与描述语言 s o c s y s t e mo nc h i p 片上系统 s p s r s a v e dp r o g r a ms t a t u sr e g i s t e r保存程序状态寄存器 s w ls o f t w a r ei n t e r r u p t软件中断 u m lu n i f i e dm o d e l i n gl a n g u a g e统一建模语言 g u i g r a p h i cu s e ri n t e r f a c e 图形用户界面 独创性声明 本人声明所星交的学位论文是本人在导师指导下进行的研究工 作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地 方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含 为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。 与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明 确的说明并表示谢意。 签名:弘红刹一日期:泓洚¥月嫣 f 关于论文使用授权的说明 本学位论文作者完全了解电子科技大学有关保留、使用学位论文 的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁 盘,“允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或 扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后应遵守此规定) 签名:嫩导,签名乡牡 日期:沙q 序归撕 第一章绪论 1 1 课题背景 第一章绪论 当今信息技术高速发展,数字化产品空前繁荣,各类嵌入式电子产品相继而 出,在工业和服务领域中,使用嵌入式技术的数字机床、智能工具和工业机器人 也将逐渐改变传统的工业和服务方式。嵌入式软件已经成为数字化产品设计创新 和软件增值的关键因素,是未来市场竞争力的重要体现。因此,面向应用的软件 开发是嵌入式工业的基础,与之紧密联系的开发调试工具则是嵌入式支撵软件的 核心,开发工具的集成度和可用性直接关系到嵌入式系统的开发效率。 通常嵌入式系统的开发,由于目标系统和开发主机使用的是不同体系结构的 处理器,因此无法在开发机上运行和测试目标程序,需要建立一个交叉编译环境, 将编译后的可执行代码下载到目标平台上运行。这样就使得只能在目标系统设计 完成之后,才能进行上层软件的调试和开发。 嵌入式软件仿真是在开发主机上通过软件仿真目标系统微控制器的体系结 构,提供一个指令集的模拟器,方便用户在目标硬件完成之前做好一部分软件工 作,进行简单代码的调试。由于它和真实的硬件环境还有相当的差别,因此并不 能完全地依赖于在仿真环境下的开发,最终的代码还需要在相应的硬件平台上测 试通过。 目前国内外广泛采用的嵌入式软件开发平台有三种类型: 1 采用仿真方式的开发平台 仿真开发又分为硬件仿真和软件仿真。比较高级的是实时在线仿真系统i c e ( i n - c i r c u i te m u l a t o r ) ,这是一种硬件仿真的方式,成本高昂,不适合团队开发; 此外还有模拟器等硬件仿真工具。国内如深圳英蓓特公司开发出e m b e s ti d e 采用 主机一目标机交叉模型,国外知名嵌入式微控制器m c u ( m i c r oc o n t r o l l e ru n i t , ) 厂商一般都随同其产品提供了仿真工具,也有其合作伙伴为其开发的仿真开发环 境,如p & em i c r o c o m p u t e rs y s t e mi n e 为m o t o r a l a 公司提供的 c s 0 8 j l w 。软件仿 真产品方面,国内较知名的有南京伟福公司的i c e x p l o r e r ,国内的开源项目 s k y e y e 可以在l i n u x 下仿真一些开发板对软件进行功能性验证;国外方面,日 本n e c 公司研究人员在过去几年试图实现嵌入式软件开发全过程的仿真,其它的 1 电子科技大学硕士学位论文 如s i m p l e s c a l a r 则实现了处理器核结构级仿真。 2 嵌入式实时多任务操作系统支持的开发平台 这是随着嵌入式技术发展而逐步完善起来的最新趋势,代表是w i n d r i v e r s y s t e m 公司的v x w o r k s 、p s o s + ,m e n t o r g r a p h i c s 公司的v r t x ,m i c r o s o f t 公司 支持w i n 3 2a p i 编程接口的w i n d o w sc e ,m i c r o w a r e 公司的o s 9 ,3 c o m 公司 的p a 】mo s 等;国内方面,北京科银京成公司推出的d e l t a o s 。它们支持轻型网 络和图形界面开发,功能较完备,主要用于嵌入式系统中高端产品的开发,如网 络产品、医疗电子设备。 3 基于程序设计语言的开发平台 早期采用汇编语言,现在还包括嵌入式程序设计语言,如引入嵌入式系统的 c c + + v c + + ,其功能简单,适合普通智能电器开发,如微波炉,电磁炉和空调 等。这些开发平台各有优缺点。国外产品功能强大、工具覆盖面广,但普遍存在 不开放,行业支持弱、价格昂贵、售后服务难以保证等问题。国内对嵌入式系统 开发技术的研究很多还停留在试验成果阶段,有待深入。 1 2嵌入式m c u 构件仿真模型的提出 嵌入式系统本身是一个软硬件高度结合的产物,随着嵌入式应用的广泛发展, 硬件环境之间差异也逐渐增大。当前的开发系统大都以交叉开发为特征,对硬件 平台依赖性强。软件的开发与硬件环境的构造相互影响,错误难以定位,软件功 能调试和性能测试不能及时完成,极大影响开发进度,降低软件质量。虽然部分 开发系统加入了软件仿真支持,但大多针对某几个系列目标处理器和固定的操作 系统,专用性强,仿真覆盖面小,开发过程复杂,软件重用性差,缺少对行业功 能支持,开发效率不高。 在了解当前嵌入式产品的开发需求和技术现状,确定核心问题和关键技术之 后,本文综合研究软件仿真技术以及构件技术领域工程构架,提出了一种为嵌入 式仿真开发平台的设计提供支持的m c u 构件仿真模型。仿真开发平台采用纯软 件的方式仿真嵌入式系统硬件平台,组合仿真的硬件构件构成虚拟目标环境,实 现运行环境的整体仿真。软件开发在这个虚拟的协同环境中进行,脱离真实硬件, 不仅使软件的设计错误在系统制造之前就被发现、修改【啦l ;还可以获得系统功能 的真实描述,对硬件方案的设计进行验证和调整。同时,再加上仿真平台提供的 丰富的调试工具和逻辑分析仪,不仅可以跟踪调试应用软件的执行过程,也可以 2 第一章绪论 对m c u 的运行状态了如指掌。 仿真平台采用了面向对象及构件技术,而且整个仿真平台建立在本身就具有 很强扩展性和可以跨平台的e c l i p s e 插件机制上,因此,后期开发人员可以很方便 的扩充其它类型的m c u 和外设控制器。 1 3 课题来源 本论文来源于国家科技部中小企业创新基金赞助项目,该项目的目标是为嵌 入式系统开发人员提供一个快捷、方便和高效的硬件仿真开发环境。这里的嵌入 式系统是指由高端的嵌入式处理器核如a r m 、m i p s 、p o w e r p c 等和外围设备控 制器组成的s o c ( s y s t e mo nc h i p ) 应用系统。本人在项目中主要负责基于a r m 9 2 0 t 的嵌入式m c u 仿真的研究与实现。 。 本文首先探讨了当前主流的在线交叉开发方式及相关的硬件仿真技术,然后 介绍分析目前的些仿真软件的优缺点以及他们采用的关键技术。针对嵌入式系 统软硬件协同开发的特殊性和复杂性的问题,引入了纯软件仿真开发方式。通过 对基于事件驱动的仿真技术和基于电路行为的仿真方式的研究,结合前期在嵌入 式系统开发平台中的研究实践,设计了嵌入式m c u 仿真模型。理论上研究了m c u 构件仿真及关键技术,并把研究成果应用于实际软件开发项目中。 为了使仿真开发平台具备良好的扩展性和通用性,对技术路线的选择与系统 结构的设计就变得尤为重要。在本课题中主要研究了以下几个方面的技术: 针对嵌入式硬件系统的复杂性和相关性,研究了构件技术构件集成体系 结构; 针对嵌入式微控制器逻辑复杂、结构各异的问题,研究了微控制器仿真 技术; 针对嵌入式开发的时序要求,研究了周期精确的流水线结构的软件仿真。 1 4 研究内容 本文对嵌入式m c u 仿真进行了深入的研究,从构建嵌入式仿真开发平台的 集成环境着手,研究和设计了嵌入式m c u 的软件仿真构件,用于嵌入式仿真开 发平台的构造和实现。 3 电子科技大学硕士学位论文 论文的主要内容包括: 基本概念的学习与研究:通过大量阅读相关文献,对构件仿真原理进行 了阐述,了解构件仿真在软件仿真开发设计中的重要意义,并探讨了设 计模式在构件仿真中的应用 m c u 硬件体系结构剖析:深入地分析了m c u 各硬件模块的体系结构及 工作原理,探讨了软件仿真的关键点。 m c u 仿真模型的研究:在对m c u 原型深入剖析的基础上,研究了一种 m c u 的软件仿真模型,设计了其逻辑结构及软件工作机制,分析了m c u 构件的可扩展性。并实现了一种基于a r m 9 2 0 t 的m c u 构件的仿真。 1 5 论文组织 第一章,介绍了课题的背景和研究意义,概述了以构件仿真技术为核心的嵌 入式仿真开发平台研究工作的重要意义,说明了论文课题来源和主要研究内容。 第二章,论述了嵌入式系统构件仿真的相关技术,内容有软件仿真技术、构 件技术、设计模式等技术,最后分析了选择构件仿真技术的意义。 第三章,深入剖析了m c u 硬件原型体系结构和工作原理,并分析了软件仿 真的关键点。 第四章,研究了m c u 软件仿真的模型,包括逻辑结构、实现原理、驱动方 式、时序控制及m c u 构件的可扩展性研究。 第五章,设计并实现了一种基于a r m 9 2 0 t 的m c u 构件的仿真。 第六章,总结m c u 仿真模型的验证结果,概述其关键技术及仿真效果。提 出下一步的改进方向和目标。 第七章,总结论文的工作,讨论了m c u 原型的特点。 4 第二章嵌入式系统构件仿真的相关技术 第二章嵌入式系统构件仿真的相关技术 2 1计算机仿真技术概述 计算机仿真技术是近3 0 年发展起来的- - i q 综合新兴学科。它以控制论、系统 论、相似原理和信息技术为基础,以计算机和各种物理效应设备为工具,借助系 统模型对实际或设想的系统进行动态试验研究的一门综合性技术。仿真的基本思 想是利用物理的或数学的模型来类比模仿现实过程,以寻求对真实过程的认识, 它所遵循的基本原则是相似性原理。计算机仿真则是利用计算机模拟实际系统, 对系统进行分析与研究,以此获得该系统的行为数据,也就是展示真实系统的动 态性能,用计算机对系统进行研究。当真实系统进行实验分析比较困难或代价昂 贵甚至没有可能时,计算机仿真就显示其无可替代的作用1 3 川。 计算机仿真包括三个基本要素:系统,即研究的对象;模型,即系统的抽象; 计算机,即工具与手段。通过建立模型、进行仿真试验和分析仿真结果三个步骤 完成仿真过程,图2 1 展示了三者间的关系。 仿真实现 图2 - 1 仿真三要累的关系 对仿真技术的基本要求是精度、速度和费用。精度是说明仿真系统能力的最 基本指标,目前数字仿真技术日益成熟,仿真精度一般能达到要求。速度也是一 个重要指标,特别是在规模不断增大的集成电路仿真中,速度日益成为仿真的瓶 颈。另外,仿真的目的是用较少的费用来验证系统的设计是否达到预定的要求, 尽早发现问题,通过减少设计风险来降低产品的开发成本。因此,当仿真费用低 于预定的产品开发成本时,仿真才有价值。 5 电子科技大学硕士学位论文 2 1 1 仿真开发流程 仿真技术既可用于系统设计,例如新系统设计或系统改造,也可用于系统分 析,在系统中一部分采用实际部件,另一部分采用模型,以免新的子系统的投入 可能造成对原系统的破坏或对大大缩短开工周期的影响,提高系统投入的一次成 功率。仿真技术还可用于产品开发及制造,对制造过程进行全方位仿真。在很多 方面仿真技术都有应用,例如u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) s d l ( s p e c i f i c a t - i o nd e s c r i p t i o ni a n g u a g e ) 的仿真,c 等高级语言的仿真,v h d l 等硬件描述语言 的仿真,机器指令的仿真,c p u 硬件逻辑的仿真等。 仿真技术可应用于系统开发的全方面,也分布于整个过程;验证系统可行性, 进行定量比较;在系统设计阶段,进行模型实验、模型简化并进行优化设计;在 实现层次,仿真代码的执行;在硬件集成阶段,处理系统的时间约束条件,通信 机制和部件间协作。仿真开发流程一般概况为:阐述问题,建立模型,实现验证, 输出仿真结果。 2 1 ,2 硬件仿真技术 硬件仿真是通过相应的硬件,实现被仿真电路的逻辑结构或实际运行系统功 能来进行仿真,因而其速度比计算机软件仿真要快得多。硬件仿真目前只限于进 行功能验证、故障模拟,以及部分的时序验证。集成电路的硬件仿真器目前有两 种:一种是以f p g a 为基础的硬件仿真器;另一种是以处理器为基础的硬件仿真 器。以处理器为基础的硬件仿真器对设计有一定的约束,如对异步逻辑的限制, 同时它对仿真的加速率不如基于即g a 的高。 传统的硬件仿真方法是:按照逻辑图,在试验板上搭接电路,各输入端接入 信号发生器提供的激励波形,观察输出端或内部测点的波形。这种方法已不能满 足日益复杂的微处理器的设计验证需要。目前微控制器仿真的原理是指从电路的 描述( 语言描述或图形描述) 提取模型,然后将外部激励信号或数据施加于此模 型,通过观察该模型在外部激励信号作用下的反应来判断电路系统是否实现了预 期的功能。通过对电路的仿真、精确分析可有效地捕捉设计中的错误。由于在设 计的不同阶段对电路的描述级别不同,因此在仿真级别、描述方法、模型抽象和 仿真算法上也不同。h d l 语言( v h d l 3 v e r i l o g ) 可以支持对不同抽象级别的电路 的描述,基于h d l 语言的仿真工具通常也支持对不同抽象级别的电路的仿真。 仿真工具有软件仿真器( 如v e r i l o g _ ) ( l ) 和硬件仿真器 5 1 。 6 第二章嵌入式系统构件仿真的相关技术 在线仿真器i c e 采用硬件仿真技术支持软件开发,它是一个相对昂贵的部件, 用于植入微处理器与总线之间的电路中,允许使用者监视和控制微处理器所有信 号的进出。在线仿真器提供了总线工作的清晰状况,免了许多对硬件软件底层工 作状况的猜测,但它是异体,可能会引起不稳定。 人们已经做了大量研究,推出了许多功能和性能良好的硬件仿真环境,如i c e p i c 2 模块式在电路仿真器,它支持采用m i c r o c h i p 的p i c l 2 1 6 1 7 微控制器的快 速开发,速度可达3 3 m h z ,可进行汇编或c 源代码级调试,并带有8 k b 的硬件 追踪缓冲区。可以在任何地址上或地址区段上进行无限度的硬件触发断点。以单 步或单步进程模式执行,集成特殊的硬件过滤器来控制多周期指令的捕捉。该仿 真器兼容w i n d o w s9 5 9 8 n t 2 0 0 0 和m i c r o c h i p 的m p l a b 。 2 2 软件仿真技术 目前很多嵌入式开发平台提供在线仿真方式,采用这种开发方式在应用开发 过程中仍需与硬件打交道,软厥件问敏感的交互影响会产生大量的麻烦和进度的 延误,很多不确定因素会引起错误。而纯软件的仿真开发方式可进一步改善开发 环境,避免硬件干扰,集中精力开发软件。它是用计算机软件模拟实际硬件电路 的运行,构建应用软件运行所需的虚拟硬件环境,提供嵌入式软件开发和调试的 真正“软”平台。现在一些硬件模型已经相当精确,软件仿真可以真实地反映实 际电路的行为。 引入软件仿真开发相当于引入一种新的开发模式,为程序员提供了一个更便 捷、高效、低成本的开发平台,在仿真平台开发出的程序,具有较高的可移植性, 一些成熟的通用程序可以作为专用库函数产品推向社会。 2 2 1 基于事件驱动的仿真技术 在软件仿真中人们通常采用基于事件驱动的仿真技术,可分为连续事件仿真 和离散事件仿真,在一般情况下人们采用的是实现离散事件仿真的基本功能。离 散事件仿真有两种仿真类型:单个事件仿真和多重事件仿真,仿真算法采用高效 的事件推进法。仿真过程可概括为:1 ) 扫描存放当前等待的仿真事件列表,将最 先发生的事件推进到活动对象列表;2 ) 扫描活动对象列表,按模型流程图进行推 进;3 ) 推进仿真钟,处理相应的性能指标:4 ) 显示仿真结果。 7 电子科技大学硕士学位论文 图2 - 2 基于事件驱动的仿真过程图 图2 - 2 为基于事件驱动仿真过程的流程图,其中生成起始事件序列有三种方 法可选择:平均分布、随机分布和按统计样本生成1 6 1 。事件驱动算法是一个同步 仿真算法,对并发事件的处理是由个中央控制时间机构来管理,把时间划分为 一个个细小时隙t ,且认为在一个t 时隙之内发生的事件都是并行事件,只有在当 前仿真时隙内的所有并行事件处理完毕,仿真时间才前进一个时隙,通过一个全 局半有序的事件列表中存储事件,通常用首尾相连的循环堆栈来完成算法此部分 的实现。其中t 即为仿真周期,一般较d d 7 1 。 仿真过程中采用两个列表:一个是事件时间列表,它临时记录事件和事件发 生的时问,在这里不断地对事件按它发生的时间从小到大的顺序进行排序,以便 知道当前哪个事件最先发生;一个是活动对象列表,它记录当前的活动对象是谁, 仿真算法是基于事件驱动的仿真钟推进算法,先将从用户界面输入的开始事件进 行按时问从小到大的顺序进行排序,然后将开始事件直接推进活动对象列表,并 且将仿真钟推进到最先发生事件的时间,再判断活动对象列表中的下属的对象为 功能、事件、连线和规则。如果是连线,则判断连线的下属对象是功能、事件还 是规则。如果是事件,则直接将事件推进到活动对象列表中。以图表文字的形式 输出是规则,判断规则的类型并进行相应的处理;如果是功能,则计算相应的时 间、成本、队列长度、占用率等技术指标,再将功能的执行时间= 仿真钟的当前 时间+ 功能的执行时间+ 等待时间。并且将功能推进到事件列表中,再重新对事件 时间列表进行排序,然后不断地将事件时间列表中的最先发生的事件推进到活动 对象列表中。如果是功能,则将功能的下属对象推进到活动对象列表中。如果是 8 第二章嵌入式系统构件仿真的相关技术 规则,则依据规则的类型进行相应的处理,并将规则推进到活动对象列表中。依 此循环,直到仿真结束,对仿真的结果进行分类和计算,统计相应的空闲时间、 忙时间、成本、净增加价值和每个功能的成本、等待时间、处理时间以及队列长 度、各个功能所增加的价值等一系列数据。 通过以上活动,对用户建立的流程模型进行动态仿真,计算性能等指标,为 分析评价和辅助决策提供信息。 2 。2 2 基于电路行为的仿真方法 基于电路行为的仿真模型主要着眼于电路系统功能和内部运行过程进行仿 真,其基本元素是操作和过程,各操作之间主要考虑其数据传输、时序配合、操 作流程和状态转换唧。 高层次仿真的方法一般是对描述的解释执行,或者将硬件描述语言的描述编 译成一般软件语言如c c + + 汇编语言,然后执行。高层次描述和仿真也可以实现 寄存器传输级的描述和仿真常用做法是,在硬件描述语言标准v h d l 基础上, 结合高级语言的语法规则,设计实现一种嵌入式系统前端开发工具语言,以完成 硬件环境以及单片机的形式化描述。该工具语言描述数字硬件设备,允许用户从 硬件的逻辑行为、逻辑组成和硬件延时等三方面对数字硬件设备进行描述,这种 描述与硬件设备的设计方法、实现技术等因素无关。 用工具语言对每个仿真器件进行描述,并用器件编辑器对分立的数字器件或 具有某一功能的功能块元件进行编辑,并支持器件的图形描述转化为用工具语言 形式化描述,最后将工具语言翻译成功能相同的高级语言程序及可执行代码。从 通过这种方式生成的仿真器件库中选择元器件搭建起所需的仿真胚胎电路,这样 就得到了仿真的硬件平台。 2 3 构件技术 嵌入式系统主要特点之一是多样性。设备生产厂商在芯片选择、功能定义、 显示设备特性、耗电限制方面会有许多不同的要求,同时嵌入式系统应用广泛, 嵌入式硬件平台必须满足应用实际要求,可灵活定制。仿真目标硬件平台的仿真 运行环境要覆盖不断变化的嵌入式硬件系统,需要选择具有良好可扩展性、开放 性的技术方案,以较小的代价应对未来不断变化的需求。因此,仿真运行环境的 研究和实现登须借助于软件复用技术,同时可以充分利用已有的开发成果,消除 q 电子科技大学硕士学位论文 在设计、编码、测试等方面的重复劳动,提高软件开发的效率;通过复用高质量 的已有的开发成果,也可避免重新开发可能引入的错误,以提高软件质量。 当前有两大软件复用方式:面向对象和构件,两者区别在于 9 , 4 s 1 : 构件是设计的概念,与具体编程语言无关,不象o o 中的对象属于编程 中的概念,要依赖于具体的编程语言。 在对构件操作时不允许直接操作构件中的数据,数据真正被封装了。而 对象的操作通过公共接口部分,这样数据是可能被访问操作的。 从构件和对象的生成方式上,o o 中的对象生成属于实例化的过程,比 较单一,而生成构件的方式较多。 在纯o o 设计中,对象( 类) 、封装和继承三者缺一不可,但对构件可 以没有继承性,只要实现封装即可。因此,构件不是o o 中的对象,而 是与基于对象中的对象类似。 o o 中的对象对软件重用是通过继承实现的,构件对软件重用不仅可以 通过继承还可以通过组装时的引用来实现。 比较发现,基于构件的软件开发模式更满足仿真运行环境的设计要求,多年 来构件技术的发展也提供了必要的技术支持。构件是可重用的,对外提供统一接 口,既包括接口信息,还包括自身的功能实现体;软件开发者或用户选择一些这 样的构件,通过一些适当的方式组合起来构成一个仿真硬件平台【1 0 , l l 】,使它们在 一个时间或空问相一致的环境中实现交互作用,协调运行,完成特定的仿真任务。 构件的组合运行涉及到集成方式和体系结构的研究,本章后面对此有专门阐述。 2 3 1 构件概述 软件构件技术是近几年来迅速发展并受到高度重视的一门技术。所谓构件 ( c o m p o n e n t ) 是指一组封装的、规范的、可重用的软件模块,它具有特定的功能, 支持灵活的即插即用,可以方便地插入到网络、语言、应用、工具、操作系统中 工作,是组织系统的基本单位。构件是指应用系统中可以明确辨识的构成成分, 而可复用构件是指具有相对独立的功能和可复用价值的构件。从功能角度可将软 件构件分为系统构件s y s t e m 、支撑构件s u p p o r t 和领域构件d e m a i n 。系统构件 为在整个构件集成环境和运行环境中都使用的构件,支撑构件为在构件集成环境 与构件库管理系统中使用的构件,领域构件为专用领域开发的构件f 1 2 1 。 构件是一个动态的概念,运行时要占用内存空间。构件有一个生命周期:构 1 0 第二章嵌入式系统构件仿真的相关技术 件的创建,构件的运行和构件的消亡激活构件是通过事件来触发的,即构件是 通过事件来驱动的,事件是指消息、过程调用和指令等。 构件的封装性有两层含义

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论