已阅读5页,还剩45页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
i 丝壁丝丝丝 丝堡! 丝竖堕丝塑丝塑丝丝塑 摘要y 3 s 2 2 譬2 基于硬件描述语言这一较高层次的电路设计方法,本文从系统设计的角度讨论了一个 内嵌8 位r i s c 核的接触式c p u 卡设计实现过程。 文章首先详细介绍了c p u 卡的设计要求,并在此要求下合理地规划了c p u 卡电路的体 系结构与设计流程。按照总体规划,我们设计实现了c p u 卡电路系统当中两个主要逻辑模 块,一个是具有良好兼容性的嵌入式8 位r i s c 结构m p u 核,另一个是能够完成d e sj j l j 解 密算法的协处理运算模块。在电路设计的同时,我们为c p u 卡的片上操作系统( c o s ) 软件 设计开发了实时仿真与验证平台,并为之提供了c p u 卡的底层驱动函数。结合复旦大学 a s i c & s y s t e m 重点实验室过去在r a m ,r o m 以及e e p r o m 设计方面的技术积累,我们最终完 成了c p u 卡芯片的版图设计并将其投片。 , 怍为一个固化有片上操作系统的系统级芯片( s y s t e mo nc h i p ,s o c ) ,c p u 卡的设计 过程实际上是一个嵌入式系统的软、硬件协同设计过程。如何狲调两方面的设计工作,使 得最终能够高效,可靠地实现设计要求是本文贯穿始终所考虑的一个重要问题。文章最后 所总结的s o c 基本设计思想和软、硬件协同设计技术的实现为将来更大规模的s o c 开发提 供了启发性的思路。 本文的c p u 卡芯片在9 9 年底首次流片即获得成功,样卡通过了我们基于应用系统的功 能及寿命测试更为难能可贵的是,作为一个由中国人完全拥有自主知识版权的高科技产 品,该c p u 卡芯片正在快速走向市场。它的成功推广将标志着我国“金卡工程”在其技术 、 基础一一卡基设计制造领域内取得的又一项重要成果。卜一、 关键词t c p u 卡、m p u 核、d e s 、s o c 、软硬件协同设计、嵌入式系统 f 丝堑壁丝篓苎 堡些! 竺些型型型堕至丝丝丛 a b s t r a c t b a s e do nt h eh i g h l e v e lc i r c u i td e s i g nm e t h o d ,w ei n t r o d u c e di nt h i st h e s i sw i t h t h es y s t e md e s i g no fa ni n t e g r a t e dc i r c u i tc a r d s ,w i t hw h i c hw a sa ne m b e d d e d8 - b i t r i s c m i c r o p r o c e s s o r c o r e , t h e d e s i g ns p e c i f i c a t i o nw a si n t r o d u c e df i r s t l y a f t e ral o n g t i m eo f c o n s i d e r a t i o n , w ee s t a b l i s h e dt h es y s t e m st o pa r c h i t e c t u r ea sw e l la st h ed e s i g nf l o w a n dt h e n ,w e c o n t r i v e dt w om a i nf u n c t i o nb l o c k sf o rt h es y s t e mc i r c u i t o n ew a st h ec o m p a t i b l e8 一 b i tr i s c m i c r o p r o c e s s o rc o r e ;t h eo t h e rw a s ad e sc o p r o c e s s o rc o r e b yt h es a m e t i m e ,w ea l s od e v e l o p e da r e a l t i m ee m u l a t i o np l a t f o r mf o rt h ec h i po p e r a t i n gs y s t e m ( c o s ) d e s i g n ,a n dp r o v i d e dw i t hi t t h eb o t t o m l e v e ld r i v es u b p r o g r a m s c o m b i n e d w i t ht h e m e m o r yc i r c u i t s f r o mf u d a na s i c & s y s t e mk e yl a b ,w e f i n a l l y a c c o m p l i s h e d t h es y s t e m l a y o u ta n dm p e d o u to u r d e s i g n a sa s y s t e m o n c h i p ( s o c ) d e s i g np r o c e s s ,i t i s v e r yi m p o r t a n t t o a r r a n g e p r o p e r l yb o t ht h eh a r d w a r ea n ds o f t w a r ed e s i g nw o r k w em a d e ad i s c u s s i o nf o rt h e s o f t w a r ea n dh a r d w a r e c o d e s i g nm e t h o d a tt h ee n do ft h et h e s i s w eh a v es u c c e s s f u l l ym a d eao n e t i m et h r o u g hf o rt h i sc h i p t h es a m p l ec a r d s h a v e p a s s e d a l lo ft h e c h i p - t e s t i n gp r o c e d u r e s n o w t h e p r o d u c t w a s r a p i d l y e x p a n d i n g i nt h em a r k e t k e y w o r d s : c p u c a r d ,c o r e ,d e s ,s o c ,s o f t w a r ea n d h a r d w a r e c o - d e s i g n ,e m b e d d e ds y s t e m 丝竺堡兰丝墼 丝些! 丝婴丝丝塑圭墨笪丝塑 日u口 随着社会的不断进步和现代化水平的提高,信息数量与种类都在迅速增加。2 1 世纪人 类进入了信息社会,如何处理、保存与个人有关的利,种数据信息是一个急需解决的问题。i c 卡是近年来得到蓬勃发展的一种新型信息媒介,而属于其家族成员之一的c p u 卡更是以高 度的应用灵活性和安全可靠等特点成为目前卡基数据媒介技术的主流。在我国,以“金卡 工程,为代表得金融电子化建设正在深入展开,产业界呼唤具有中国人完全自主知识产权 的i c 卡产品。 本项目中内嵌8 位r i s c 微处理器核的c p u 卡研制就是在这样的一个社会背景下开始 的。经过近一年时间的研究开发,我们成功地实现了最初的设计构想。本文从项目开发的 最初设想谈起,详细介绍了c p u 卡系统设计的全部过程。全文共分八章。第一章为概论, 介绍了i c 卡的起源、种类、结构、安全特性、国际标准等基本的知识。第二章详细地阐述 了关于系统结构与设计方法、流程方面的考虑。第三、四、五章是关于c p u 卡具体逻辑电 路的说明其中第三章介绍了c p u 电路的项层结构以及模块与模块之间的接口时序,第四 章讨论了一个r i s c 结构的微处理器的设计过程,第五章是关于c p u 卡中d e s 加密算法协 处理器电路模块实现的讨论。在此之后,第六章主要讲述了c p u 卡片上操作系统的设计方 法,井介绍了c p u 卡软件开发以及系统验证平台的设计实现。第七章简要地概括了c p u 卡上其他电路模块,主要是存储器单元电路,并展示了c p u 卡系统版图以及测试结果。最 后的第八章是总结,同时还谈到了笔者在c p u 卡的系统设计过程当中对嵌入式片上系统的 软、硬件协同开发方面的一些总结。 应该提到的是与任何个成功的高科技产品相同,c p u 卡的设计是集众人的集体智慧 完成的,特别是其中具有较高难度的e e p r o m ,r o m ,r a m 等存储电路单元设计,都是经过了 多年来复旦a s i c & s y s t e m 重点实验室以及复旦微电子股份公司的设计人员深入研究与反复 验证才得以完成。能够在自己的学生生涯中参加这个项目,并且在许许多多的帮助之下, 最终获得了成功的结果我本人为此感到非常的容幸。 丝茎兰丝兰丝丝 丝堕! 丝竖丝丝塑直至竺丝芝 第一章工c 卡概论 3 0 年前,当法国人罗兰德莫瑞诺( r o l a n dm o r e n o ) 为他将集成电路芯片镶嵌在塑料卡 片上的发明申请专利的时候,他也许想像不到,这块小小的卡片到今天已经发展成为一个 年发行超过2 0 亿张,市场规模达到数十亿美元的庞大的l c 卡产业( 图卜1 ) 。i c 卡的出现 带动了诸多相关产业的发展,在全球信息化的浪潮中它一直扮演着重要的推进者角色。 我国政府信息产业部门于1 9 9 3 年首次提出了“金卡工程”的总体构想。作为一项庞大 的跨部门、跨地区、跨行业的社会系统工程,金卡工程计划用1 0 年左右的时间在我国推广 使用卡基支付工具和卡基信息媒介,建立现代化的实用的电子货币系统。i c 卡作为一种重 要的电子信息载体在金卡工程的实施中占据基础的地位。掌握i c 卡的设计和制造技术因而 也就成为了我国产业信息化过程当中一项举足轻重的任务。 i 帅41 9 9 51 9 9 6 1 9 9 7 1 9 9 81 9 伸2 0 2 0 0 12 0 0 2 2 0 0 32 0 0 4 图i i :全球i c 卡销售及预测 1 1i c 卡的种类 i c 卡是集成电路卡( i n t e g r a t e dc i r c u i tc a r d s ) 的简称。直观地解释,i c 卡是一块以 卡片形式封装的集成电路卡基通常由聚氯乙烯( p v c ) 或聚氯乙烯酸酯( p v c a ) 等材料制成。 i c 卡的核心部件是镶嵌在卡基中,具有存储、加密及数据处理能力的专用集成电路芯片。 按照卡片与读卡设备之间的接口方式区分,i c 卡有接触式卡与非接触式卡两大类。前 者在卡基表面有外露的金属触点,芯片与接口设备之间通过金属触点来传递能量和信息。 后者在接触式i c 卡电路基础上增加了天线和无线调制解调电路,通过电感耦合的方式由接 口设备获得电能,彼此以无线通信方式交换数据。 根据i c 卡内部集成电路不同的结构与功能,还可以将i c 卡分为存储器卡、逻辑加密 卡与c p u 卡三大类存储器卡中含有一块电可擦除可编程只读存储器( e e p r o m ) ,可以向里 面写入并保留一定的数据逻辑加密卡中除了e e p r o m 之外,还加入了一些加密逻辑电路, 以使i c 卡存储的数据受到一定程度的保护,较前者有更好的安全特性。c p u 卡内部电路更 加复杂,其典型特征在于芯片中内嵌的微处理器模块( m p u ) ,以及固化于只读存储器( r o m ) 中的片上操作系统( c h i po p e r a t i n gs y s t e m ,c o s ) 。有些c p u 卡芯片中还会附加能够完成 数学加密运算的协处理器模块( c a u ) 。无论从处理速度、处理能力还是安全性方面考虑,c p u 丝堂丝丝丝丝丛! 丝坚苎丝苎塑笙堑丝丝型 卡都大大地超过了存储器卡和逻辑加密卡。关于三者的比较参见表卜1 。习惯上t 人们往 往又将i c 卡都称为“智能卡”( s m a r tc a r d s ) ,但是严格地说,“智能卡”特指具有复杂数 据处理能力的c p u 卡。 存储器卡逻辑加密卡c p u 卡 功能模块 e e p r o me e p r o m 逻辑加密c p u r a m r o m ,e e p r o m , 电路c a u ,固化c o s 数据容量较小较小大 处理能力无简单加密处理余面的数据处理能力 速度较慢较慢伏 安全性差较好好 应用领域简单数据保存i d简单数据保存,j d 电子付款,信用卡,金融 卡,电话卡等卡,电话卡等卡等 表卜1 :不同类型的i c 卡比较 1 2 l c 卡的典型逻辑结构 i c 卡自身不附带任何电源,接触式i c 卡通过8 个外露的金属触点从接口设备中获得 电能并且相互通信( 图卜2 ) 。根据i s 0 7 8 1 6 2 标准,全部触点按照表卜2 分配。 触点功能分配 c 1 v c c i c 卡电源 c 2 r s t ,复位信号输入 c 3 c l k 时钟信号输入 c 4 保留 c 5 g n d ,i c 卡参考地 c 6 v p p ,编程电压输入 c 7 i o ,串行数据输入输出 c 8 保留 表卜2 :i c 卡触点的分配 图卜2 :接触式i c 卡的金属触点 实际应用当中的i c 卡以带有安全逻辑的逻辑加密卡和带有加密运算协处理器的c p u 卡 居多。这两类i c 卡的典型逻辑结构见图卜3 和图卜4 。 图l 一3 :带有安全逻辑的逻辑加密卡 2 图1 4 :带有加密协处理器的c p u 卡 n n o “ | 一一 丝苎兰丝丝丝 丝竺! 丝竺曼丝型坚塑型丝旦 1 3i c 卡的安全技术 i c 卡是存储重要信息的载体。从应用的角度来看,i c 卡自身所具有的安全特性必须足 以保证其存储信息的安全。事实上,安全问题既是1 c 卡取代磁卡并迅速得以发展的重要原 因之一,同时也是i c 卡在进一步拓宽应用领域过程中所面临的最大挑战。 1 3 1 对i c 卡潜在的攻击手段 i c 卡安全技术的最终目的就是要保证i c 卡存储及处理的各种信息不被非法访问、复 制、篡改甚至破坏等。对i c 卡的潜在攻击往往通过以下几类途径: 基于物理解削的直接方式。非法用户可能扫描电子显微镜逆向分析芯片的逻辑结构, 或者通过测试探头直接获得存储器的内容还有可能通过再次激活i c 卡的芯片测试功 能来获得比普通用户更多的操作权限等等。 基于监听,分析模仿i c 卡与接口设备之间的信息流的间接方式。例如通过截取复制合 法数据流来伪造1 c 卡,或在数据流中插入伪响应信号以欺骗接口设备。还有利用交易 过程中时间的间隙中途掉换i c 卡、以非法控制信号修改卡上重要数据等种种手段。 利用i c 卡在发行各个环节当中因人为因素造成的安全漏洞的攻击行为,例如销售商于 承兑人之间的作弊行为等。 对于以上三类攻击手段,除了最后一项可以从加强安全管理制度角度来作出防范之外, 其余两项都是从i c 卡自身出发,通过适当的物理方法和逻辑方法来处理的。 1 32 物理安全技术 除了对i c 卡相对敏感的设计参数严格保密之外,在i c 卡制造阶段可以实行以下的保 护措施: 1 )封装保护i c 卡的物理封装应该做到坚固耐用并能承受相应的应力作用而不止损坏。 芯片应很好地保护,使其免受化学、电气、静电等因素导致的损坏。 2 )芯片保护。除了选用不易进行物理剖析的制造工艺外,要在有个人识别号( p i n ) 键入 的地方设计屏蔽罩以避免被局外人看见。专门设计的存储器保护层可以将非法入侵者 难以在不损及存储器内容的条件下全部将其剥离。 3 )电荷保护由于e e p r o m 电路结构的固有特性,一旦探针接触其存储单元,用以代表二 进制信息的少量电荷会很快消失,利用该特性将某些重要的数据置于e e p r o m 中有助于 整体安全性能的提高。 4 )防止截听对于c p u 卡而言恰当的内部监控程序可以做到防止外部命令对其内部数 据总线合地址总线的截听。采用烧断熔丝的办法能够使得测试功能不可恢复,以避免 入侵者通过恢复芯片测试状态来盗取非法权利。 丝壁壁兰丝丝 丝竺! 丝婴丝丝坚量型型生 13 3 逻辑安全技术 对于不同类型与使用途径的i c 卡,其逻辑安全保护的具体措施都会有所不同。i c 卡 的逻辑安全首要的要求是证明持卡人的身份,称为用户鉴别。另一种身份证明发生在卡和 接口设备之间,称之为结点鉴别,二者结合起来构成了用户与i c 卡系统之间的相互认证。 用户鉴别 用户鉴别晟简单的方式是通过用户键入个人身份证明号( p i n ) 来实现的。一般情况下 p i n 以明文方式输入卡中,然后与卡上保密存储区内保存的持卡人身份证明值( c i v ) 相比 较,仅当两者完全致才能继续下面的操作。根据安全策略的要求,一般p i n 输入只允许 3 7 次错误一旦超出该限制将导致卡的自锁或自毁。在终端设备与卡距离很远的应用场 合,为了防止p i n 在传输途中被截取,还需对其进行加密以防泄漏明文。p i n 的作用类似 与开门的钥匙,近年来随着i c 卡芯片存储能力的加大,人们开始采用生物认证技术来进一 步增强安全性 结点鉴别 结点鉴别是一种相互鉴别的过程,是i c 卡与接口设备对彼此合法性的互相认证。这一 过程引入了密码算法,实际应用当中存在以下三种情况: 1 )在i c 卡的芯片上实现简化算法,通过降低加密强度,减少密钥量,使对芯片存储容量 的要求降至最低。它以牺牲安全等级为代价在某些应用范围内不宜采用。 2 )用硬件实现加密算法。并将其放在接口设备中,使之构成一个有物理保护的安全模块。 这种方法弥补了集成度不高、无法把商保密算法放入芯片中的不足。 3 )在i c 卡芯片中以硬件或软件的方式实现足够强度的加密算法从安全的角度上来说, 这是一种最佳的解决方案。但无论是硬件方案要求的加密运算协处理器还是软件方案 要求的加密运算程序都将最终导致芯片面积额外增强,进而提高了芯片成本。 i c 卡所采用的加密算法与其他密码系统一样,有两类密码体制。一类是传统常规加密 算法,称为对称加密算法或秘密密钥密码体制最为成功的例子是美国7 0 年代提出的数据 加密标准( d e s ) 。与之相对应的另一类称为非对称加密算法或公开密钥密码体制,r s a 算法 是其最具代表性的个例子。 1 4 c 卡的技术标准 国际标准化组织( i s o ) 及国际电工委员会( i e c ) 在1 9 8 7 至1 9 9 4 年问陆续提出了 i s 0 i e c 7 8 1 6 系列标准,其全名为“识别卡一带有触点的i c 卡”( i d e n t i f i c a t i o nc a r d s i n t e g r a t e dc i r c u i t ( s ) c a r d sw i t hc o n t a c t ) 。这是i c 卡最重要的技术规范,主要规定 了以下内容 4 塞呈查塑丝签苎丝堡! 丝些丝丝篓塑丝生至丝丝型 i s 0 7 8 1 6 一l :i c 卡的物理特性,包括卡的外形尺寸、机械强度、抗紫外、x 光及电磁干 扰特性等。 i s 0 7 8 1 6 2 :触点大小、位置。定义了1 c 卡每个触点的最小矩形面积区并说明了其对 应的信号分配。 i s o i e c 7 8 1 6 3 :电子信号与通信协议。该部分阐述了电源、信号结构及卡与接口设备 之间的信息交换。规定了适用于逻辑加密卡的同步传输协议和适用于c p u 卡的帧方式 异步数据通信协议。 i s o i e c 7 8 1 6 4 :i c 卡的行业问交换用命令,规定了数据结构、安全结构、行业问命 令。与开发应用程序紧密关联。是接口设备和i c 卡交换信息的基础。 i s o i e c 7 8 1 6 5 :应用标识符( a i d ) 的编号系统与注册过程。 除了i s 0 i e c 7 8 1 6 系列标准以外,国际标准化组织还就i c 卡的业务应用作出了一系列 的标准规范,在此不作详细讨论。图卜5 示出了i c 卡技术标准的层次结构。 i s 0 7 8 1 6 1 :物理特性 l s 0 7 8 1 6 - 2 :艘点尺、 及位置 i s o i i e c 7 8 1 6 3 i 电子信号及传输协议 li s o i i e c 7 8 1 6 , - 4 :内部工业命令 ii s 0 i e c 7 8 1 6 - 5 = 编号系绕及登记程序 1i c 应用标准 i 图卜5 :i c 卡标准的层次结构 ti霎斋fl土|上 丝型型丝丝 丝堑! 竺丝型型坚堂丝丝塑 第二章c p u 卡系统设计规划与方法 本章旨在为c p u 卡的设计确定整体框架,从软件与硬件设计的综合角度来讨论系统项 层的功能模块划分。首先在2 1 节中讨论了设计目标及与系统设计有关的几个重要问题的 最初构想。然后在2 2 节探讨了c p u 卡系统设计的合理流程,目的在于保证c p u 卡的软、 硬件设计、仿真和验证呈最高效、最可靠结合。 2 1c p u 卡系统设计的最初设想 i s o i e c 7 8 1 6 3 标准是本文c p u 卡设计的出发点。前一章中我们提到c p u 卡的典型逻 辑结构( 图2 - i ) ,除了内嵌的m p u 核,c p u 卡中还包含有e e p r o m 、r a m 、r o m 和c a u 等模块。 r o m 中固化有c p u 卡的片上操作系统( c o s ) 。从系统的角度来看c p u 卡的设计是一个比较 典型的s o c ( s y s t e mo nc h i p ) 的设计过 程,如何组织芯片内部各个功能模块,合 理划分软、硬件的工作范围是以t o p d o w n 流程设计s o c 首要面l 临的问题在设计方 案酝酿的初期,我们就c p u 卡系统框架确 立了以下几个基本构想。 圈2 1 :c p u 卡典型逻辑结构 2 1 ,1围绕m p u 核的内部总线统一编址 除了加密解密的工作可以由c a u 协助完成外,i d p u 模块集中了几乎全部的数据处理工 作。我们将r a m 和r o m 划归为由m p u 独立占用的资源,分别构成m p u 的寄存器文件以及程 序存储器,并以m p u 的外部i o 组成系统内部地址、数据和控制总线。其余的c a u 、e e p r o m 以i o 等模块全部以m p u 外设的方式挂接在内部总线上,并统一进行编址( 图2 - 2 ) 。 1 1 r a m 睫引c n u ( r i i l l l l i l e ri m l l 卜r 1 1 i j _ _ - _ 。_ _ _ _ _ _ _ _ m p u 舌 引j一 c o r e 乱 q f 月 r o m j f l h ( p r o g r a m v v ! 一 m e m o r y ) 2 i e =习” 圈2 2 :统一编址的c p u 卡内部模块 6 丝塑丝丝 丝堡! 丝型! 型丝塑丝堑绁 采用这种统一编址的内部总线结构将带来四个明显的好处 结构明确,功能模块划分清楚,利于设计分工。 各个模块将具有统一的m p u 接口方式,简化了未来c o s 中的底层驱动程序。程序的简 化将带来r o m 空间的节省,从而减小芯片面积。 便于设计阶段基于i c e 和f p g a 的硬件仿真与片上测试实现。 未来的电路扩展在总线结构上非常容易实现。 21 2 与r i s c 结构p l g l 6 系列单片机兼容的m p u 核 选择m p u 核有几种可能方案,首先需要在设计专用m p u 核还是设计兼容第三方单片机 的通用m p u 核和之问作抉择。由于专用m p u 设计从i c 卡的特定应用环境出发,指令集与电 路结构的优化使我们可能得到最简约的代码长度和芯片面积。但是也正是因为其专用性, 必将导致它更长的开发周期以及模块难以被重复利用。同时,选择专用m p u 核意味着额外 增加的专用编译器及专用i c e 仿真器的开发工作。而在这一点上通用w p u 核可以对目前已 经得到广泛应用的第三方的技术支持加以利用,这将大大缩短开发周期,减小设计成木。 经过比较( 表2 - i ) ,我们决定采用面积小结构简单的精简指令结构( r i s c ) m p u 设计方案, m i c r o c h i p 公司的p i c l 6 系列单片机是这类m p u 中较为典型的代表。 专用m p u通用m p u通用m p u c i s c ( 5 1 系列)r i s c ( p i c l 6 系列) 芯片面积较小较大较小 总代码长度最短普通普通( 略长) 模块可移植性差较好较好 第三方技术支持无 全面全面 开发周期较长普通( 略长)普通 设计成本高低低 表2 1 :不同w p u 设计方案对比 我们最终选择p i c l 6 c 6 4 微控制器来作为本文w p u 核设计的蓝本,要求m p u 核在外部接 口与指令集上基本对其兼容。 2 1 3d e s 加密运算协处理器 美国7 0 年代提出的d e s ( d a t ae n c r y p t i o ns t a n d a r d ) 是一个密钥长度为5 6 b i t s 的 对称数据加密体系由于大量采用查表、异或、移位、拆分重排等二进制位操作,d e s 算 法整体结构非常适合用电路实现硬件化。至今为止基于d e s 的加密算法仍然广泛为i c 卡技 术所采用除了采取协处理器的硬件方式实现以外,c p u 卡上的d e s 加密还可以依靠软件 代码来完成很显然,加密算法采取协处理器硬件实现的方式大大减小了加密数据在系统 7 丝苎兰壁丝丝 丝壁! 丝婴堡丝垩塞丝茎丝堑笪丝型 总线上的出现概率,并且带来了更高的处理速度,但缺点是需要额外增大芯片面积。 暂且不考虑两种方法最终会带来c p u 卡安全性能与 芯片面积之间怎样的得失权衡,本文首先确定设计一个 通用的d e s 核,并且要求具有简单的总线接口以便于移 植( 图2 - 3 ) 。其工作模式是: 加密:送入明文一) 送入密钥一) 运算一) 输出密文 解密:送入密文一) 送入密钥- - ) 运算一) 输出明文 c a u ( d e s 核) 图2 - 3 :具有简单总线接口的d e s 核 2 i 4m p u 控制下的片上自测试机制 测试在集成电路工业流程中是至关重要的一个环节。同一个错误在模块级、板级与系 统级被发现,造成的损失是成i o 倍递增的。当前通过在芯片建立片上测试机制,以少量额 外的芯片面积开销来降低测试成本,并最终降低总成本的可测性设计思想已被广泛接受。 对于c p u 卡这样一个以m f u 核为中心的片上系统而,、 f _ j :也复缸 ) 言,在r o m 中附加白检程序,操纵m p u 来产生系统_ t o l 其他模块的测试向量是建立片上测试机制的最佳方 r - 式。一方面这种基于软件代码的测试行为只需以增 l fr 一一一一y ;s 一一一一 加少量存放自检程序的r o m 空间为代价,芯片上不 l:广- 芏1 i! io 刚产生捌试向量i 需要专门的测试电路与测试状态机,从而使设计复 i ;l _ 1 一 杂度降低提高了芯片的可靠性。另一方面由于测 ii 而磊菡函习 试过程完全由m p u 控制,自检完成后的测试输出同 n 。o jl i:广l 时也从侧面反映了m p u 核自身的工作情况。在编写 i:i “外地j l _ m m 2 i l! 一 自检程序的时候需要注意让生成的代码尽可能广地 i土 覆盖m f u 指令集。 li l!y 测试行为可以发生在封装以前的硅片上( 中 l。一瞥一 l 厂t 1 测) ,也可以发生在封装之后的模块上( 成品测试) 。l _ 叫i 应m 程序| j l il j 芯片在测试模式下的自检原理如图2 - 4 所示。 自检程序 图2 4 :c p u 卡自检流程 2 1 5 基于i c e 和f p g a 的系统实时仿真 对于片上系统( s o c ) 设计验证方法的讨论直到现在还是i c 设计界的热门话题之一。 由于s o c 往往是高度模块化的数模混合集成电路,一方面由于内嵌c p u 核及固化操作系统 的存在,另一方面由于模拟电路的存在,两个因素使得过去基于自动模拟软件基础上的芯 片系统级仿真变得几乎不再可行。即使勉强为之,也将以相当长的模拟时间作为代价。建 立基于f p g a 的实时仿真系统是目前解决这一问题的最佳方法。 c p u 卡的设计本质上是一个软、硬件协同的设计过程。为了尽可能缩短整体设计时间, 8 塑茎兰墼丝篓苎 丝些! 堡婴堂丝塑塑笪丝丛 要求两方面的设计工作同步进行。在2 1 2 节中我们决定让c p u 卡的m p u 核在指令集和i o 引脚上与p i c l 6 系列r i s c 单片机兼容主要就是出于这方面的考虑。兼容性带来的好处是我 们能够在各个模块还未设计完成时便开始编写c o s 。当系统项层结构确立以后,采用第三 方提供的单片机在线仿真器( i n c i r c u i te m u l a t o r ,i c e ) 以及一些标准外围电路( 如r o m , e e p r o m ) 便足以建立板级的c p u 卡电路模型,这是硬件仿真的第一阶段( 图2 5 ) 。可以预 计当c p u 卡具体模块的门级电路设计完成以后,c o s 设计也已基本完成,这时可以将c p u 卡电路全部的数字部分( 如m p u 核,c a u 核) 综合在f p g a 中,结合固化于r o m 中的c o s 代 码以及其他标准外围电路来进行第二阶段的系统实时仿真( 图2 6 ) 。完成电路的版图设计 以后,经过试流片得到独立封装山来的m p u ,c a u ,e e p r o m 等电路模块,采用这些专用仿真 芯片同样可以c p u 卡的板级实时仿真系统( 图2 7 ) 。由于各模块的电路结构和时序与真实 芯片完全一致,因此这一阶段的硬件仿真在最大程度上做到了对c p u 卡芯片的验证。这三 个阶段的硬件仿真在时问上呈递进式发展,越来越逼近c p u 卡的真实情况( 表2 2 ) 。 k m , un b 仁笃匮虱 !i c e 图2 5 :基于i c e 的仿真系统图2 6 :基于f p g a 的仿真系统 i c k - 牟冷匡虱 图2 7 :基于测试专用芯片的仿真系统 方案一方案二方案三 技术基础通用单片机仿真器现场可编程逻辑门阵列模块单独封装的 ( i c e )( f p g a ) 专用测试芯片 设计阶段系统结构确立子模块r t l 级描述版图完成,试流片 指令集( 对比原型)缺少新增指令 一致一致 电路结构( 对比原型)有差异基本相同完全相同 电路时序( 对比原型)有差异不同的门级延时除r o m 以外完全相同 作用编程人机界面逻辑功能验证时序验证 c o s 开发c o s 验证芯片测试 成本低低高 表2 2 :不同实时仿真方案比较 9 罱 唧廿一 凰哥 堡皇茎型堂丝丝苎 丝竺! 丝些垄丝堡笪堑丝生至箜! ! ! 生 2 2c p u 卡系统设计方法与流程 2 21 系统设计的描述层次 数字系统的描述常常分为多个层次进 行,如系统的行为级、寄存器传输级、逻 辑级和电路级等等。设计人员在不同的层 次上进行设计,只需要考虑相应层次上的 问题,从而简化设计的复杂程度。图2 - 8 为表现设计层次与描述范畴相互关系的传 统y 型图。 随着集成电路的设计规模日益增大, 复杂程度日益增加,逻辑图、布尔方程等 较低层次上的硬件设计方法变得过于繁琐 而不便于使用。在这种背景下以硬件描 述语言和逻辑综合为基础的高层次的电路 图2 - 8 :设计层次与描述范畴的y 形图 设计方法逐渐成为满足需要的新方法并且在工业界和学术界流行起来。这种新的方法一般 设计流程如图z - 9 所示。 硬件描述语言h d l ( h a r d w a r ed e s c r l p t i o nl a n g u a g e ) 是电路设计人员与e d a 工具之 间的界面,是描述、模拟和设计数字系统的有效工具。相对于逻辑图,布尔方程等较低层 次上的硬件设计方法,硬件描述语言的设 计方法有以下优点; 1 )可以从不同层次对数字系统进行简练 而准确的描述。 2 )大大缩短设计周期。 3 ) 易于对已完成的设计进行修改和维 护。 4 )采用硬件描述语言设计的电路与具体 工艺无关因而实际的可从复利用 性? 。 5 )便于硬件与软件的协同设计。 2 22c p u 卡的设计流程 为了最有效地实现设计目标,必须制 定合理的设计流程,以使得整个设计能在尽 可能短的时问内完成并达到所有预期的目 1 0 图2 9 :高层次设计流程 丝查堂丝兰竺丛 丝竺! 丝婴丝丝坚堑竺丝丝 标。注意到本项目实质是围绕8 位m p u 核的s o c 设计,大量的软、硬件协同设计仿真,实 时验证等工作是本设计的一个显著特点。在考虑如何安排设计流程时,必须特别注意这些 关键步骤的相互关系与先后顺序。 结合上文基于h d l 的系统层次化设计方法,c p u 卡的系统设计流程如图2 - 1 0 所示。 图2 1 0 :c p u 卡系统设计流程 塞皇茎竺丝圭堂丝i 坚 丝生生竺墅墅垡丝墅生塑生生至笪! ! 型生 第三章c p u 卡顶层电路结构与时序 本章首先明确了c p u 卡设计的各项系统指标。接着详细介绍了c p u 卡顶层电路的具体 结构,对各个子模块的接口信号及其时序关系同样作了详尽的说明。 31o p u 卡的系统设计指标 根据i s o i e c7 8 1 6 系列标准及前一章对c p u 卡系统设计几个关键问题的讨论,t 2 t u : 细列举了本文c p u 卡的总体设计指标。 8 位r i s c 微处理器,指令宽度1 4 b i t s 8 k b 程序寻址空间,8 级深度硬件堆栈 指令集操作码基本兼容m i c r o c h i pp i c l 6 系列单片机 增加对程序r o m 内容的读回指令 1 2 8 x 8b i t sr a m 4 k x l 4b i t s 程序r o m i k x 8b i t se e p r o m 作为数据存储器具备字节操作与全选操作两种功能 e e p r o m 能够自动进行c h e c k s u m 校验运算 一重d e s 加密运算硬件协处理器( 可选,针对不同应用取舍) 3 5 8 m h z 外部时钟 c p u 卡触点配置和串行接口符合i s 0 l e c 7 8 1 6 标准 系统掉电复位 直流供电v c c = 5 v + 1 0 5 6 。 增加t e s t 信号引脚作为芯片测试模式标识,等等 为c o s 提供电路底层模块的驱动函数以及自测试程序代码 3 2g p u 卡电路结构与时序 按照项目指标的要求,我们确立了c p u 卡的项层电路( 图3 - i ) 。m p u 的最大程序寻址 能力为8 k ,从应用角度考虑,实际采用4 k 的程序r o m 。r a m 大小为1 2 8 字节,与特殊功能 寄存器统一编址为m p u 的寄存器文件,支持进行直接与间接寻址。总共有1 k b 的e e p r o m 作 为数据存储器,支持单元读写与全选擦写两种工作方式,e e p r o m 能够自动进行c h e c k s u m 运算d e s 核作为可选模块,与e e p r o m 同样挂接在内部总线上。m p u 的i o 端口各有用途, p o r t a 与p o r t c 共同构成内部地址总线,双向端口p o r t d 为内部数据总线。由p o r t e 产生 内部总线读写信号,p o r t b 控制外部i o 以及t e s t 检测。c l k d r v 为分频电路,产生不同 相位的二分频内部时钟。a d d rt r a n 为内部总线地址译码器。 1 2 堡兰茎兰堡主兰丝i 垡 丝堕! 丝墨塑三_ 苎丝苎丝苎丝箜璧! ! ! i 生 图3 - 1 : ;p i 卡顶层电路 堡皇茎兰丝兰丝i 垡 盟竺! 丝! ! 望丝丝i ! ! 塑丝二鲨塑! ! ! ! ! 生 32 1 外接p a d 的定义 本文c p u 卡的引脚定义符合i s 0 7 8 1 6 3 标准。 i o t o 脚为双向数据线( 开漏) ,其方向及数据由m p u 端e lp o r t b 的两根线控制,p b 2 为i o 的输入,p b 3 为i o 的输出及控制信号。输出部分为开漏形式,当p b 3 为l 时,1 o 脚为三态ip b ( 3 ) 为。o 时输出低电平。 时钟 外部输入时钟频率为3 5 8 m h z ,输入端有s c h m i t t 特性,时钟经过二分频后送至c p u , e e p r o m 等模块:另外产生二分频的时钟( 相位比c p u 时钊一提前1 4 个时钟周期) 送到r a m 用作片选信号内部带下拉电阻,下拉电流大小约3 u a 。 r e s e l 低电平有效。触点接触时,读卡机输入的r e s e t 信号为低,在r e s e t 信号变高后一段 时间内,由程序控制将复位应答信号送出;内部带下拉电阻,下拉电流大小约3 u a : t e s t 脚 测试控制脚,内带下拉电阻,高电平有效。芯片内部在e e p r o m 中增加2 b i t s 测试控制 位。当t e s t 脚为高时,该标志可擦写。t e s t 为低时,只可写为0 。标志为1 ,标 识芯片的特殊测试指令可执行( e e p r o m 块擦写测试,r o m 测试,r a m 测试) ,标志为0 , e e p r o m 特殊测试指令不可执行。 v c c 和g n d 正常v c c 工作电压为4 7 5 v 到5 2 5 v ,设计时应保证4 5 v 至5 5 v 能正常工作。 32 2m p u 接口定义和功能 m p u 接口设计 1 ) 时钟 m p u 时钟信号为两路相互倒象的外部时钟二分频信号( 1 7 9 m h z ) : 2 ) r e s e t 复位时,c p u 的程序寄存器清零,p o r t 口为缺省定义,内部的寄存器都缺省赋值; 3 ) p o r t 口 p o r t _ a 5 :0 ,高位内部地址地址; p o r t _ c 7 :0 低位内部地址总线; p o r t _ e 2 :0 ,p e o 为总线读信号,p e i 为总线写信号,低有效: p o r t _ d 7 :0 - 为双向数据1 2 1 ,内部数据总线,与e e p r o m 及d e s 模块数据线相连: p o r t b 7 :0 3 ,p b o 、p b i 为t e s t 和e e p r o m 测试控制位信号检测端,p b 2 为i o 脚 输入端,p b ( 3 ) 为i o 脚输出端。 4 丝苎塑兰丝燮 丝竺! 丝坐型型堕笪墨丝丝竺 4 ) r o m 接口 i n s ta 1 1 :0 输出,指令寻址能力4 k : i n s td 1 3 :0 ,输入,指令数据。 5 ) r a m 接口 r a ma 6 :0 ,输出,7 位,寻址能力1 2 8 字节: r a md i 7 :0 ,输出,r a m 数据写入; r a md o 7 :0 ,输入,r a m 数据读出: r a mw e ,输出,低有效r a m 写。 c p u 功能 1 )基本和p i c l 6 c 6 4 的指令集兼容; 2 )对r a m 存取有间接和直接两种方式: 3 )增加了r d r o m 指令,指令机器码为“0 0 ,0 0 0 0 ,0 0 0 0 ,0 0 0 1 ”。要读取的r o m 地址 事先放入r o r o m a d d r h 和r d r o m a d d r l 寄存器,执行r d r o m 指令后,r o m 数据放入d a t a h 和d a t a l 两个寄存器中: 4 )增加了r d r o m a d d r h ,r d r o m a d d l 和d a t a h ,d a t a l 两对寄存器,既可用于读取r o m 数 据,也能用于平常指令操作。 3 2 3r o m 接口和时序要求 接口有a d d r ( 1 2 位) 和d a t a ( 1 4 位) ; 根据a d d r 的地址取出数据,不需要c s 和r d 信号,读出时间小于2 0 0 n s 。 一厂 厂 厂 ) 二二) 二二 _ 叫卜_ t r e l a 巳亟五 匦 汇五五x j 亘正 r d 一 c s i d a t a o c s j ” 厂一 州 厂 ;恐。f 而 a l 4 0 9 6 c y c l e s4 0 9 6 c y c l e s s i g n a l 图3 6 :e e p r o m 测试时序 3 2 6 内部总线地址分配 以p o r t _ a 5 :0 ip o r tb 7 :o 分别为c p u 卡片内总线地址的高位与低位字节,各个模 块在总线上地址分配如下表3 1 : d r h ( p o r t ) 叻r l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 重庆市消防救援总队直属单位政府专职消防员招聘考试真题2025
- 晶状体碎核器miLOOP在硬核白内障手术中规范化专家共识总结2026
- 2026年小学三年级数学第二学期期末考试卷及答案(二十)
- 气道腔内球囊封堵治疗咯血专家共识2026
- 超声介入穿刺活检与消融定位
- 2026年电商合作协议书模板三篇
- 2023年超声波干式清洗设备企业组织架构及部门职责
- 幼儿园小班点数糖的
- 主动脉夹层CTA三维重建评估
- (新)《总有一天会长大》测试题及答案2篇
- 2026年山东定期医师考核题库及答案
- 2026内蒙古乌海市国创数字产业发展有限责任公司招聘15人考试备考题库及答案解析
- 2026年济南商标审查协作中心招聘(10名)考试参考试题及答案解析
- ERCP诊疗指南课件
- 2026年高一历史学业水平考试知识点归纳总结(复习必背)
- 2026年华远国际陆港集团校园招聘(122人)笔试参考题库及答案解析
- 2025年国企档案专员《档案管理知识》真题及答案解析
- 国家事业单位招聘2025中国文联所属单位公开招聘笔试历年参考题库典型考点附带答案详解
- 2026天津市河北区产业发展集团有限公司社会招聘工作人员3人考试备考题库及答案解析
- 2026年广东教师公需课《人工智能赋能制造业高质量发展》习题及答案
- 北京2025年国家艺术基金管理中心招聘应届毕业生笔试历年参考题库附带答案详解(5卷)
评论
0/150
提交评论