




已阅读5页,还剩66页未读, 继续免费阅读
(微电子学与固体电子学专业论文)mcu模块的自动化功能测试系统的实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 m c u 系统中各种外围电路和接口电路使其具有强大的智能化控制能力,因 此m c u 的功能测试工作也极其复杂。在传统的m c u 模块功能测试中,从连接 评估板、启动调试工具、下载并执行测试程序、到连接引脚及连接测试仪器都需 要工程师的手动操作。为了减少模块功能测试过程中的人为干预,提高测试的自 动化能力,本文研究并提出m c u 模块的自动化功能测试系统。论文从系统论述 自动化功能测试系统的工作机理开始,按照系统实现流程,深入研究了系统的整 体解决方案。然后分别讨论了自动控制环境( j a z z ) 在系统中的测试流程控制、 测试仪器控制作用,以及实现引脚内部自动连接的f p g a 设计,并且通过制定系 统内m c u 与5 p g a 之间的握手机制,最终实现了m c u 模块的自动化功能测试 系统。结果证实本系统的设计方案成功实现了m c u 模块功能测试过程的自动化。 与传统的m c u 模块功能测试方法相比,本文提出的自动化的功能测试系统减少 了人为干预,大大缩短了测试时间,提前了产品的上市时间,给公司带来更大的 收益。 关键词:m c u 模块功能自动化测试j a z z 系统f p g a 开发 a b s 仃a c t m c uh a sp o w e r f u li n t e l l i g e n tc o n t r o la b i l i t yb e c a u s eo fi t sv a r i o u sk i n d s o fp e r i p h e r a l sa n di n t e r f a c ec i r c u i t s ,s oi ti sv e r yi m p o r t a n tt ov e r i f i c a t i o na n d t e s t i nt r a d i t i o n a lv a l i d a t i o nm e t h o d o l o g y , n o to n l yc o n n e c t i n ge v a l u a t i o nb o a r dt op c , c o n n e c t i n gd e b u g g i n gt o o l s ,d o w n l o a d i n gt e s t c a s e si n t oo n - c h i pf l a s ho rs r a m ,b u ta l s o e x e c u t i n g ,d e b u g g i n gt e s t c a s e s ,c o n n e c t i n ge x t e r n a lp i n sa n dt e s t i n gi n s t r u m e n t sa r ea l l n e e dt ob eo p e r a t e dn a m u a l l yb ye n g i n e e r s o nt h ep u r p o s eo fr e d u c i n gh u m a n i n t e r v e n t i o na n da c h i e v i n ga u t o m a t i ct e s ta sp o s s i b l e ,t h i sp a p e rp r e s e n t sa n a u t o m a t i cf u n c t i o n a lt e s t i n gs y s t e mf o rm c um o d u l e s t h i st h e s i sd i s c u s s e sf r o m t h ew o r k i n gm e c h a n i s mo fa u t o m a t i cf u n c t i o n a lt e s t i n gs y s t e m ,a n df u r t h e rr e s e a r c h e s t h es o l u t i o na c c o r d i n gt or e a l i z a t i o nf l o w a f t e r w a r d ,d i s c u s s e st h ef u n c t i o n so f a u t o m a t i cc o n t r o le n v i r o n m e n tj a z zi ns y s t e mw h i c hp l a y sr o l e si nc o n t r o l l i n gt e s t f l o wa n dt e s ti n s t r u m e n t ,a n df p g ad e v e l o p m e n tw h i c hp l a y sar o l ei na u t o m a t i c c o n n e c t i n gp i n s ,a sw e l la sh a n d s h a k em e c h a n i s mb e t w e e nm c u a n df p g a f i n a l l y r e a l i z e st h ea u t o m a t i cm o d u l e sf u n c t i o n a l i t yt e s ts y s t e m i ti sp r o v e dt h a ta u t o m a t i c f u n c t i o n a lt e s tf o rm c um o d u l e si ss u c c e s s f u lr e a l i z e d i ti sp r o v e dt h a ta u t o m a t i c f u n c t i o n a lt e s tf o rm c um o d u l e si ss u c c e s s f u lr e a l i z e d c o m p a r e dw i t ht r a d i t i o n a l t e s t i n gm e t h o do fm c um o d u l e s ,a u t o m a t i cm o d u l ef u n c t i o n a lt e s t i n gs y s t e mr e d u c e s h u m a ni n t e r v e n t i o na n dt e s t i n gt i m e ,a n ds h o r t e n st h et i m eo fp r o d u c t sa p p r o a c h i n g m a r k e t ,s ob r i n g sm o r eb e n e f i tt oc o m p a n y k e y w o r d : m c u f u n c t i o n a l i t yo fm o d u l e s a u t o m a t i ct e s t s y s t e m j a z z c o n t r o le n v i r o n m e n tf p g ad e v e l o p m e n t 西安电子科技大学 学位论文独创性( 或创新性) 声明 秉承学校严谨的学分和优良的科学道德,本人声明所呈交的论文是我个人在 导师指导下进行的研究工作及取得的研究成果。尽我所知,除了文中特别加以标 注和致谢中所罗列的内容以外,论文中不包含其他人已经发表或撰写过的研究成 果;也不包含为获得西安电子科技大学或其它教育机构的学位或证书而使用过的 材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中做了明确的说 明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切的法律责任。 本人签名: 查l 玺日期趟:! 垒 西安电子科技大学 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。学校有权保留 送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部或部分内容, 可以允许采用影印、缩印或其它复制手段保存论文。同时本人保证,毕业后结合 学位论文研究课题再攥写的文章一律署名单位为西安电子科技大学。 ( 保密的论文在解密后遵守此规定) 本学位论文属于保密,在一年解密后适用本授权书。 本人签名:童l 望 ,日期翌翌:! :! 导师签名:i ;:l 日期竺:蔓。! :垒 o 1 - 。、。弓 7 第一章绪论 第一章绪论 1 1 研究背景 微控制器m c u ( m i c r oc o n t r o lu n i t ) 是将微型计算机的主要部分集成在一个 芯片上的微型计算机,它是基于s o c 技术而设计的,其主要的技术发展方向是不 断扩展满足嵌入式应用时,对象系统要求的各种外围电路与接口电路,突显其智 能化控制能力。微控制器诞生于2 0 世纪7 0 年代中期,经过2 0 多年的发展,其成 本越来越低,而性能越来越强大,这使其应用已经无处不在,遍及各个领域。例 如电机控制、条码阅读器扫描器、消费类电子、游戏设备、电话、楼宇安全与 门禁控制、工业控制与自动化和白色家电( 洗衣机、微波炉) 掣1 1 。微控制器可 从不同方面进行分类【2 】:根据数据总线宽度可分为8 位、1 6 位和3 2 位机;根据 存储器结构可分为h a r v a r d 结构和v o nn e u m a r m 结构;根据内嵌程序存储器的类 别可分为o t p 、掩膜、e p r o m e e p r o m 和闪存f l a s h :根据指令结构又可分为 c i s c ( c o m p l e xi n s t r u c t i o ns e tc o m p u t e r ) 和r i s c ( r e d u c e di n s t r u c t i o ns e tc o m p u t e r ) 微控制器。微控制器系统中各种外围电路和接口电路使得其具有着强大的智能化 控制能力,因此这样一个强大的系统的验证工作和测试工作就尤为重要。现代i c 的发展已经使得测试占到整个设计成本的3 0 左右。设计的可测试性以及样片的 测试成为产品的重要方面。所谓可测性即在设计阶段,为了芯片性能测试和工艺 正确性测试的需要,设计师必须在芯片上加入大量的与功能无关的测试电路。有 时这种测试版图甚至超过功能模块的面积! 样片测试则是在预投片后对芯片样品 进行细致的预定功能测试。测试手段的不断进步使得芯片的功耗分析、热分析、 功能分析、信号完整性分析等等的精度和涵盖的范围愈来愈深入和广泛;而用于 测试的设备仪器和软件投入也愈来愈大。测试工程师的工作结果是一个设计是否 成功的标准依据。本课题的研究对象是样片测试的功能分析。 m c u 样片的功能性测试是根据产品功能说明书编写测试程序,然后下载到 样片,通过调试工具或者借助测试仪器确认模块功能的正确性。在编写测试代码 时,不仅需要对被测试模块的功能非常了解,而且要想使测试过程尽量的自动化 完成,需要投入比较大的精力去改善代码的测试覆盖率和效率,尽量减少人为干 预。例如,如何尽量避免借助外界调试工具和测试仪器,如何避免手动调节仪器 到待测状态,如何避免外部引脚连接等等。即使引入片上调试技术【3 】使得工程师 在调试时,只需利用外部调试软件和设定简单的调试接口连接就可以方便的进行 调试,可以通过集成在m c u 内部的硬件逻辑模块准确而全面地监测芯片内部的 状态【4 】。但是,总无法避免要把测试设备和样片手动连接并配置到一定的模式下。 2 一 m c u 模块的自动化功能测试系统的实现 这样的样片功能测试方法降低了测试效率,拖延了产品的上市时间。本课题出于 改善传统的模块功能测试方法,减少人为干预,从而提高测试效率的目的,引入 自动控制环境j a z z ,并且开发一基于x i l i n xv i r t e x i ip r o 系列x c 2 v 3 0 0 0 的自动 连接外部引脚的f p g a 。 1 2 选题目的和意义 为了改善传统的m c u 模块功能测试方法的测试效率的,使测试过程尽量自 动化,本课题提出一种高效的测试方法,研究并实现m c u 模块的自动化功能测 试系统。系统中的j a z z 测试控制环境不仅可以复位样片,下载测试程序到样片, 执行程序,还可以控制测试程序的执行流程,甚至可以通过控制其它的测试仪器, 借助相应的信号波形,电压电流值等等来确认被测模块功能的正确性。用于实现 引脚连接功能的f p g a 部分,解除了在需要外部引脚连接的情况下手动连接操作 的制约。从而,大大提高了测试效率,缩短了测试时间。总之,与传统的m c u 模块功能测试方法相比,本课题的研究内容对m c u 模块的功能测试有极其现实 的积极作用,研究结果大大提高了测试过程中的自动化能力,既缩短了测试时间 又保证了测试精度,不仅提前了产品的上市时间,还增加了产品收益。 1 3 本文主要内容 本文结合i n f i n e o nt e c h n o l o g y 的3 2 位m c u ,对m c u 模块的功能测试方法进 行改进,提出并验证自动化的功能测试系统的可行性和正确性。本文的研究工作 主要集中在以下三个方面:第一,首次性引入j a z z 测试控制环境到微控制器的 功能测试流程当中,实现了测试流程控制,外部辅助测试仪器控制,连接样片并 下载、执行测试程序;第二,采用自顶向下的设计方法,深入研究了为实现m c u 外部引脚自动连接和通用异步串行通信接口u a r t 的硬件设计,通过仿真、综合 实现f p g a ;第三,实现微控制器和f p g a 之间握手机制的软件协议。 本文的结构如下: 第一章是绪论,主要介绍了本课题的研究背景,在分析常规m c u 的模块功 能测试方法的基础上提出新的m c u 模块的自动化功能测试系统。其次,说明了 本课题的研究目的和意义。最后,概括了本课题的研究内容。 第二章主要阐述了m c u 模块的自动化功能测试系统的组成和工作原理。首 先说明j a z z 自动控制环境的控制原理和它在本课题中的应用,然后仔细说明 f p g a 开发环境和f p g a 开发板的硬件结构,最后详细论述了m c u 与f p g a 之 间的通信接口u a r t 及其硬件设计。 第一章绪论 第三章按照f p g a 开发流程,深入研究了重要模块p c u ( p i nc o n n e c t i o nu n i t ) 的设计规范和验证过程,然后结合e d a 工具的使用进行了系统级的功能验证, 并给出了仿真结果,完成了基于v i r t e x i ip r ox c 2 v 3 0 0 0 的综合和实现过程。 第四章主要根据自动化功能测试系统的工作流程,成功配置启动f p g a 和 j a z z 后,通过结合实际模块的功能测试,严格验证了本课题所提出的自动化功 能测试系统的可行性和正确性。 最后一章对本课题的工作和内容进行了总结,提出了论文的不足和后续需要 展开的工作。 综上所述,为改进m c u 模块功能测试方法,提出了“m c u 模块的自动化功 能测试系统的实现”的论文题目。本课题的研究内容最终成功实现,达到设计目 标,符合设计需求。 第二章m c u 模块的自动化功能测试系统概述三 第二章m c u 模块的自动化功能测试系统概述 本章将对m c u 模块的自动化功能测试系统进行具体论述。首先讨论该系统 的功能和工作机理,其次,讨论j a z z 自动控制环境的控制原理,然后,说明f p g a 开发板及其开发环境,最后深入研究了f p g a 与m c u 的通信接口设计和通信协 议。 2 1 m c u 模块的自动化功能测试系统 m c u 模块的自动化功能测试系统的主要功能是提供一个能够自动测试m c u 中各模块功能正确性的方案。该系统主要由3 部分组成:p c 机里的j a z z 控制环 境,m c u 评估板和f p g a 板,如图2 1 所示。p c 与m c u 评估板的连接由支持 标准j t a g 协议的m i n i w i g g l e r ( j t a g 2 9 】线) 完成,m c u 评估板和f p g a 板的命 令通道( c m dc h a n n e l ) 由标准串行接口( u 灿玎) 和串行电缆实现。m c u 与f p g a 各自的i o 引脚一对一地通过连接线相连( 引脚映射连接) 。测试仪器如示波器、 逻辑分析仪、可以为m c u 提供不同电压幅值的可调电源等,均只在必要时才接 入系统,通过g p m ( g e n e r a lp u r p o s ei n t e r f a c eb u s ,通用接口总线【2 6 】) 线连接后 被j a z z 控制。 j a z z 环境是控制整个系统流程的指令发起者,如发出初始化并连接m c u 指 令、下载测试程序到m c u 的f l a s h 或者s r a m 指令、执行测试程序指令和初 始化测试仪器指令等等。m c u 是被测试对象d u t ( d e v i c eu n d e rt e s t ) ,也是对 图2 1m c u 模块的自动化功能测试系统组成示意图 m c u 模块的自动化功能测试系统的实现 于f p g a 部分的主设备。f p g a 辅助于d u t ,也是对于m c u 部分的从设备。f p g a 的用途是在m c u 某些模块的功能测试过程中,若需要外部引脚两两相连,只要 m c u 通过命令通道给f p g a 发出相应连接指令,f p g a 就会自动的完成f p g a 板 上对应的两个引脚内部连接,不需要任何手动操作,从而降低了连接错误的可能。 m c u 样片的所有i o 引脚与f p g a 板的可用i o 引脚一一映射,并且样片的每个 引脚在f p g a 板上的位置固定唯一。 m c u 模块的自动化功能测试系统的工作机理是这样的:首先在m c u 评估板 和f p g a 板均未上电前,把整个系统的各组成部分按照图2 1 连接好。将p c 通 过英飞凌科技有限公司设计的m i n i w i g g l e r 与m c u 评估板上的o c d s 接口连接。 m i n i w i g g l e r 的一端是p c 机的u s b 接口,另一端是j t a g 接口。m c u 评估板与 f p g a 通过串行电缆相连建立两者之间的命令通道,其接口由标准的u a r t 实现。 p i nl i n ec a b l e 是m c u 与f p g a 之间i o 引脚连接线缆,线缆的宽度根据m c u 的 p c b 板上i o 引脚数目决定,例如m c u 是1 7 6 引脚封装的,在f f g a 板上则有 1 7 6 个可用的i o 引脚与之一一对应。在所有连接工作完成后,加载电源,完成 f p g a 的配置,如电压开关、频率选择、配置模式选择和j t a g 配置选择等:然 后下载比特流到f p g a 的p r o m 中,通过观测用户l e d 灯得知下载成功与否; 接着用p c 程序下载工具下载用户程序到f p g a 的f l a s h 中并使其运行。到此为 止,f p g a 部分的初始化工作结束,等待接收来自m c u 的控制指令。 其次就是真正的系统工作过程了。在j a z z 环境中新建测试流程,由j a z z 向m c u 发出连接并初始化的指令,接着,下载测试用例h e x 文件到m c u 的 f l a s h 或者s p r a m 中并执行。在m c u 代码执行的过程中,如果需要外部引脚 连接,m c u 就通过c m dc h a n n e l 向f p g a 发送要求两两引脚连接的指令。f p g a 完成连接后给m c u 返回连接成功或者失败的信息。如若成功,m c u 继续执行剩 下的代码,完成后j a z z 检查特定地址上储存的p a s s f a i l 信息从而告知工程师 本次功能测试的结果。整个过程无需调试工具介入,不需要手动连接引脚。 2 2 1j a z z 的功能 2 2j a z z 自动化控制环境 j a z z 环境是x x x 开发的个用于特性分析的工具,它支持标准的j t a g 协 议【2 3 】、g p i b 协议【2 6 1 、脚本语言和自建函数等,可用于失效分析,特性分析,功 能测试等以提高测试效率。本方案应用j a z z 系统来连接并初始化样片、下载测 试代码到样片、控制代码执行流程、并且集成控制测试仪器等。图2 2 是j a z z 环境的操作界面。左侧是d a t al o g 和f l o w l i s t 窗口,右侧是t e s tf l o w ,同时还 第二章m c u 模块的自动化功能测试系统概述 有m e m o r y w m d o w h t m io u t p u t 窗口 信息。f l o w l i s t 列出 r e s t f l o w 的组成项 d a t a l o g 中显示具体的操作过程和结果 例如图22 中有三个f l o w l i s t i m n 。t e s t f l o w 是整个测试流程中的项,如d o w n l o a d 、c x c u t e ,这些不同项都分别表明流程 控制中都有些什么样的操作指令,都要做什么。 图2 2j a z z 环境 图23 是打开j a z z 界面后首先进行的初始化配置。由上图可以看出,j a z z 环境适用于很多不同的器件,无论是外部振荡器,还是频率、温度都是可以调节 的,所以方便了不同岗位的工程师进行不同要求的钡4 试,确认在不同的外界环境 下产品的功能是否正常、指标是否满足。 j a z z 自动化控制系统是整个测试系统中的流程控制指令发起者。由于篇幅 原因,本论文不对j a z z 的控制原理进行详细讨论,仅简单说明j a z z 是如何控 制测试仪器的。通用接口总线g p i b 是业界接受的第一个程控通用仪器总线,几 乎所有的独立仪器都配有g p l b 接口。g p i b 适合自动化现有的测试设备、混合测 控系统和特殊要求的专用仪器的系统。所以,可以将多台仪器和电脑接到同一个 g p i b 总线上。每一个仪器,包括电脑接口板,必须有一个唯一的g p i b 地址( 0 到3 0 之间) ,通常,地址0 被分配给电脑接口板即p c 是g p i b 总线上的管理者。 通过g p i b 控制卡可以实现p c 和一台或多台仪器的听、讲、控功能,并组成仪器 系统,使测试和测量工作变得快捷,简便,精确和高效。 m c u 模块的自动化功能测试系统的实现 d - 口t d m l d 一 图2 3j a z z j n i 界面 2 3f p g a 实现 2 , 31 选用f p g a 实现本设计的原因 本系统中的引脚互联部分、命令通道接口部分是由f p g a 实现的。接下来就 为什么选用f p g a 而不通过增加m c u 外设来实现的原因进行分析和说明。 首先,什么是f p g a 呢? 现场可编程门阵列( f p g a ) 是由可配置( 可编程) 逻辑块组成的数字集成电路”1 。这些逻辑块之间用可配置的互联资源。相对于 f p g a 的是专用集成电路( a s l c ) 。尽管a s i c 在尺寸,晶体管的数量,复杂性和 性能实现上都是最佳的,但是设计和制造它是一个报耗费时间和代价昂贵的过程, 还有一个不足,就是最终的设计是固定的,不开发新的版本,就无法调整。f p g a 设计的成本要大大低于a s i c 设计的成本,尽管大规模生产时a s i c 部件肯定要 比b p g a 便宜的多,但是,在f p g a 中对设计修改要容易得多,而且这种设计的 产品上市时间会早很多。f p g a 给小规模开发提供了便利。这意味着某个工程师 或者小工程团队可以在基于f p g a 的测试平台上实现他们的软件或硬件想法,而 不必承担数额巨大的不可重现工程( n r e ) 成本或采购昂贵的a s i c 软件开发工 第二章m c u 模块的自动化功能测试系统概述! 具。当今的f p g a 几乎可以用来实现任何东西,包括通信设备和有软件定义无线 电;雷达、影响和其他数字信号处理( d s p ) 的应用;直至包括硬件和软件的片 上系统( s o c ) i i “。 作为系统设计人员,为了得到最佳的产品收益,必须寻找一条实现最具成本 效益的芯片解决途径。专用集成电路a s i c 采用硬接线的固定模式,而现场可编 程门阵列f p g a 则采用可配置苍片的方法。设计工程师通常采用a s i c 技术为高 性价比,大批量产品开发提供高性能低成本的器件。但是如果设计人员希望产品 在其生命周期中能够具有很大的灵活性,实现更有效的成本控制那么f p g a 则 是更有利的设计选择。表2i 是a s i c 和f p g a 两种设计优势的比较 表2 1a s i c 与f p g a 设计优势比较 全定制性能实现设计,因为器件满足设计 现场可编程能力一可以远程上传新比特流 技术要求 降低单位成本一用于实现大批量设计无n r e ( 临时花费) 与a s i c 设计有关的成 本 小型化器件满足设计技术要求缩短了设计周期一由于软件可以处理很多布 线布局和实现问题 【较高的内部时钟逮度更加可预测的项目周期一由于消除了可能的 r e 却m 、晶圆容量等 更快的面市时回一无需布线、掩模和其它制造 步骤 f 哥为甄 :坚! = :i - h o - 一 号4 ,篓删,_ := = = _ 娑= = ! = j f u n c t b h a l $ p e c a s e 。嚣;e e l u 4 0 r 。a l _ e ! 畦一l m f 娑:囊瓣 一? _ - _ 峰蜘墨癌生一i i 面二叠o j 毒黑 一:蝴1 := 竺2 :i 岳蕊 _ _ o ,o _ 一* _ 竺竿纠霉嘲; _ _ 。审自畔 蝴 j 一勰霉f r 一i 。器揣噬蒜l j v e r i f yi nc i r c u i t _ _ - _ - _ 嚷 图2 , 4a s i c 与f p o a 设计流程对比 剑 盏 一1 0 m c u 模块的自动化功能测试系统的实现 图2 4 是a s i c 与f p g a 的设计流程【6 】比较,明显看出,a s i c 设计需要更长 的设计周期,投入的临时花费和开发成本也明显多于f p g a 。考虑到以下几点因 素,本方案中的引脚互联功能块和命令接口电路选用f p g a 实现。 引脚互联模块功能简单 完成外部引脚连接的功能本身就不复杂,当工程师在做模块功能测试时,并 不是所有的模块都需要外部引脚互联,它本身也只是一个进行样片测试的辅助性 功能块,并不会给样片整体功能带来什么大的优势。所以并不需要设计这样一个 功能块集成到m c u 中。另外,命令通道的接口电路u a r t 的f p g a 设计已非常 成熟。 项目需求紧迫 因为本课题来源于实际生产需求,也希望新的模块功能测试方案能够尽快地 应用到实际的项目中去,所以时间紧迫。考虑到若采用a s i c 设计,与f p g a 设 计方案相比不仅设计周期长,尤其在需要修改设计时,更要投入更多的精力和时 间。所以产品的推迟上市会进一步提高产品开发成本,影响了产品的实现计划。 f p g a 设计流程消除了复杂的而又耗时的平面布局、布局和布线、时序分析和掩 模等阶段。f p g a 的可重复编程使得应用程序可在实际硬件中进行调试和检测, 所以不仅减小了设计的风险性,而且加快了设计周期满足了项目需求。 成本风险因素 f p g a 使设计人员可以在实际应用中对设计进行测试,而不必担心流片成本。 f p g a 设计无需担心功耗问题、生产工艺制造问题。若采用a s i c 设计方案,所 有的监测都必须在进入物理实现阶段之前仿真进行,如果到硬件阶段再发现问题 就太晚了。所以,采用f p g a 设计方案大大降低了成本,减小了风险。 复用可能 实现引脚互联部分的功能块是为了提高模块功能测试能力,所以希望这个功 能块既可用于不同位的m c u 测试中,还可用于不同封装的项目中。采用f p g a 设计方案非常方便,在应用于不同引脚数目时,只需要修改v h d l 语言中的一个 变量重新综合和实现( 包括翻译,映射和布局布线) 之后,下载新的比特流到f p g a 板即可。从而,避免了a s i c 设计中非常耗时的从综合、静态时序分析、一致性 验证、布局布线、再到静态时序分析、一致性验证,然后才到生产制造过程。若 采用a s i c 设计方案,对于不同位的m c u 或者不同的封装更是麻烦,光是v h d l 修改就要投入额外的精力。考虑到尽可能把新的改进方案应用到尽量多的项目中 去,采用f p g a 的显著特点重复可编程,在遇到故障或者要用于不同项目时, 将v h d l 代码稍稍修改,大概用不到一个小时就可以在此加载测试,周期非常短, 不需要额外的开支,大大加快了项目进度。 强大的f p g a 设计工具 第二章m c u 模块的自动化功能测试系统概述 旦 x i l i n x 公司提供的f p g a 设计工具i s e 可完成f p g a 开发的全部流程,包括 设计输入、仿真、综合、布局布线、生成b i t 文件、配置以及在线调试等,功能 非常强大。对于大多数f p g a 设计者来说,使用i s e 就可以完成设计任务,取得 满意的效果。i s e 是个集成的开发环境,集成了大量实用工具,包括h d l 编辑器 h d le d i t o r 、i p 核生成器c o r eg e n e r a t o rs y s t e m 、约束编辑器c o n s t r a i n t se d i t o r 、 静态时序分析工具s t a t i ct i m i n ga n a l y z e r 、布局规划工具f l o o r p l a n n e r 、f p g a 编 辑工具f p g a e d i t o r 和功耗分析工具x p o w e r 等,这些工具可以帮助设计人员完成 设计任务,或者提高工作效率。 2 3 2f p g a 开发环境和验证原理 采用x i l i n xv i r t e x i ip r o t ob o a r d 开发板。因为项目需求和时间紧迫本课题采 用已有的8 位项目x c 8 5 6 开发环境。该开发环境基于u n i x 开发平台,在u n i x 下嵌入多个软件使开发环境的功能性更强大。为了后面说明方便,这里先说明一 下该开发环境c l e a r c a s e 和a g e n t x 软件。 c l e a r c a s e 7 】是r a t i o n a l 公司开发的一种高级项目管理软件,c l e a r ( e a s e 用资源 重用的方法帮助开发团队使他们所有的软件建立得更加可靠。它是软件配置领域 的先导,它主要基于w i n d o w s 和u n i x 的开发环境。c l e a r c a s e 主要应用于复杂 的产品发放、分布式团队合作、并行的开发和维护任务,包括支持当今流行软件 开发环境c l i e n t s e r v e r 网络结构。c l e a r c a s e 可以自动追踪每一个文件和目录的变 更情况,通过分支和归并功能支持并行开发。在软件开发环境中,也可以对每一 种对象类型( 包括源代码、二进制文件、目录内容、可执行文件、文档、测试包、 编译器、库文件等) 实现版本控制。因而,c l e a r c a s e 提供的能力远远超出资源控 制,并且可以帮助团队,在开发软件时为他们所处理的每一种信息类型建立一个 安全可靠的版本历史记录。同时它给每一位开发者提供了一致性、灵活性和工作 空间域( 有时也称为”s a n d b o x e s ”) 可重用的功能。在项目管理上,c l e a r c a s e 采 用一种称为v i e w 的创新技术,它可以选择所指定任务的每一个文件或目录的适 当版本,并呈现它们。v i e w 可以让开发者在资源代码共享和私有代码独立的不断 变更中达到平衡,从而使他们工作更有效。 c l e a r c a s e 有一个灵活、强大的功能,可以明确项目设计的流程。自动的常规 日志可以监控软件被谁修改、修改了什么内容以及执行政策,如:可以通过对全 体人员的不同授权来阻止某些修改的发生,无论任何时刻某一事件发生应立刻通 知团队成员,对开发的进程建立一个永久记录并不断维护它。 在本课题的f p g a 硬件部分开发过程中,我们使用c l e a r c a s e 来进行开发项 目管理工作,主要是进行开发流程控制。对于每次的开发进程,我们都通过相关 1 2 m c u 模块的自动化功能测试系统的实现 的c l e a r c a s e 操作进行版本控制。因为c l e a r c a s e 是一个十分复杂项目管理软件, 它的处理命令也十分繁多。根据项目实际情况,本节将介绍几个基本的版本控制 操作,至于其他的操作,请参阅r a t i o n a l 公司的c l e a r c a s e 使用文档。 在每个项目进行时,都会由专门的i t 人员在u n i x 下建立一个项目开发环境。 作为开发人员,通常需要及时对自己所做的模块进行版本更新。我们给出几个常 用的c l e a r c a s e 操作命令: i n w a yp r o j e c t 该命令是设计者在 环境下进入所要设计的项目,n a m e u n i x 这样设计者可以登陆到c l e a r c a s e 项目环境中进行工作。 c tc i v e r s i o n 该命令用于将每次更新或者修改的r t l 代码时进行版本发布 c h e c ki n ,每次更新都会保存新的版本,同时保留以前的纪录。 c tc o r e s v e r s i o n 该命令用于在更新或者修改设计时,先将每次所做的 修改和设计从原有版本发布c h e c ko u t 出来,其间所做的修改不会影响到原有 的版本。- r e s 注释表示将原有的设计版本进行保留。 c ti s 该命令用于将当前的所有版本显示,无论该版本是否已经c h e c ki n 或者 c h e c ko u t 。 x c l e a r c a s ec l e a r c a s e 的图形化界面,在该界面下,我们可以用图形化的命令 来操作进行c l e a r c a s e ,从而实现版本的控制。 e x i t 退出c l e a r c a s e 操作 其他的c l e a r c a s e 操作命令介于篇幅原因,这里不予介绍。详细情况清察看 相关c l e a r c a s e 文档。 a g e n t x 软件是英飞凌科技在u n i x 下嵌入的一种脚本控制软件,用来进行 系统级验证【1 6 】【1 7 】。a g e n t x 验证工具的图形化界面如图2 5 所示。它可以完成的 具体工作有:编译r t l 代码文件,控制验证脚本、编译测试用例、产生激励信号 ( 如c l k ,复位信号等) 、r t l 功能验证等。鉴于该软件开发过程十分复杂,本节 将不重点研究该软件的开发,只是介绍a g e n t x 的设计原理和使用方法,以便以 后论述f p g a 硬件部分的验证过程。a g e n t x 软件操作分为四步: 第一步,c r v m a k e 。完成在c l e a r c a s e 下生成m a k e f i l e ,用以记录文件组织形式; 第二步,s m a k e 。编译目标r t l 代码和t e s t b e n c h 文件。 第三步,c o m p i l e 。编译t e s t c a s e 中c ,a s m 程序。 第四步,s i m u l a t i o n 。运行t e s t c a s e ,完成目标设计的仿真及结果检查。 在执行每一步之前,我们必须通过s e t u p 来设置仿真环境,如频率、b o o to p t i o n 、 t e s t b e n c h 。a g e n t x 为8 位微控制器r t l 功能验证提供了个虚拟的芯片验证环 境。 a g e n t x 功能验证原理充分根据微控制器芯片系统的功能特点进行设计,如 图2 6 所示。通过脚本和t e s t b e c h 控制,它虚拟了一个芯片验证环境。它为芯片 第二章m c u 模块的自动化功能测试系统概述 提供了外部工作时钟、全局复位信号r s t 以及端口赋值。从图上可以看出,整个 a g e n t x 验证环境以芯片r t l 设计为中心,外围连接了很多外围激励模块:c l k g e n e r a t o r 、r s t g e n e r a t o r 、i o c 、j t a g 接口、v e r i f i e r 。 习剖匡 篙巨一臣习l ,厅 fi i _ j 厅习 一l ( i o c j m ) l i 一 固2 6a g e n t x 验证原理 c l kg e n e r a t o r 为芯片验证提供晶振时钟信号,时钟信号在t e s t b e n c h 里 面定义。 c l k g e n :p r o c e s s m c u 模块的自动化功能测试系统的实现 b e g i n z x t a ll s _ c l k s t a r t v a l ; c l k l o o p :w h i l en o w c l k s t o pl o o p z x t a l1 一s - t r a n s p o r t n o tc l k s t a r t v a la f t e r c l k d e l a y , c l k s t a r t v a la f t e rc l k w i d c h + c l k d e l a y ; w a i tf o rc l k p e r i o d ; e n dl o o p c l k l o o p ; a s s e r tf a l s e r e p o r t c l o c k g e n e r a t i o nw a ss t o p p e dd u et oc l k s t o p s e v e r i t y e r r o r ; w m t ; e n dp r o c e ssc l k g e n ; 在该段程序定义中,常量c l k w i d t h 、c l k s t a r v a l 、c l k d e l a y 分别定义了时 钟占空比、时钟初始值、和时钟信号延迟。 r s tg e n e r a t o r 负责产生芯片控全局复位信号,在t e s t b e n c h 里面进行定义。 r e s e t g e n :p r o c e s s b e g i n z _ r e s e t _ s = n o tr e s e t s t a r t v a l ,r e s e t s t a r t v a la f t e rr e s e t d e l a y ; w a i t ; e ndp r o c e s sr e s e t g e n ; 常量r e s e t d e l a y 信号决定了复位信号何时产生。 i o c ,利用i o c 模块对芯片端口进行赋值,模拟芯片应用设计。i o c 模块 采用r t s l 脚本进行设计,直接写入脚本控制文件m a i n s r c 中。 i o c d u tp r o m 是j t a g 链上第一个器件,紧接着是f p g a f e e d t h r o u g h f p g a 板与 t a g 链无连接 图2 8 是f p g a 板布局图,详细绘出f p g a 板的结构。由于任何同系列的f p g a 板布局都是一模一样的,所以本文不对它进行详细说明。唯一不同的是f p g a 板 在不同的应用场合子卡部分不同,即图2 8 中所示的p m t y p m ga r e a 和p r o m d a u g h t e r c a r d i n t e r f a c e 。图2 9 是予卡布局图。 图2 8f p g a 板布局 子卡d a u g t e r c a r d 覆盖了大多数的用户化特征,如复位按钮,可配置的p u s h 按钮,灵活的上拉,下拉网络,u a r t 、j t a g 接口和用户l e d 。在x c 8 5 6f p g a 实现中虽然复位按钮也是j t a g 接口的一部分,但是用户完全可以通过摘掉跳 针j p 4 把r e s e t 与j t a g 绝缘。在硬件复位的情况下,f p g a 会将所有跟b o o t 选择 第二章m c u 模块的自动化功能测试系统概述 里 有关的值锁存下来。启动选择引脚的值也可以通过上拉下拉网络手动配置。上拉 下拉网络顾名思义,就是使得任何f p g a 插脚、y o 管脚上拉到v c c o ( 33 v ) 或 下拉至地。该网络由十个同样的h e a d e r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第12课 战后科学技术革命说课稿-2025-2026学年高中历史华东师大版上海第六分册-华东师大版上海2007
- 西安科大版·2017教学设计-2025-2026学年中职中职专业课统计类73 财经商贸大类
- 第一单元 主题案例二 学习家庭园艺技巧-高中劳动与综合实践单元教学设计
- 2024年七年级生物下册 4.7.1 分析人类活动对生态环境的影响说课稿 (新版)新人教版
- 曲靖市中小学生科技素养科学课程 第10课.《螺旋桨飞机》教学设计
- 2025年中考化学试题分类汇编:常见的酸和碱(第1期)解析版
- 2025年城市绿化考试题库及答案
- 22.2.5 一元二次方程根与系数的关系 说课稿+说课稿 2024-2025学年华东师大版九年级数学上册
- 22.1 一元二次方程说课稿2024-2025学年华东师大版数学九年级上册
- 2025年全国中级养老护理员职业技能A证考试题库(含答案)
- 室外栏杆底座施工方案
- 《人力资源管理》全套教学课件
- 人教版六年级数学上册教案全册
- 新人教版一年级数学上册全册教学课件(2024年秋季新教材)
- 老年高血压指南解读
- 基础烫发知识课件
- 纯电动汽车制动能量回收控制策略研究及仿真分析
- 化工公司bluesign认证资料准备清单20201201
- 骨科患者的疼痛管理
- 【公司财务风险管理问题分析国内外文献综述3000字】
- 仁爱版英语九年级(上)全册课文翻译(互译版)
评论
0/150
提交评论