已阅读5页,还剩75页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目录 目录 m f i i iiiillli i l l l l l l fiitlllfillllf l i t y 1811717 目勇毛i 摘要i v a b s t r a c t 、, 第一章引言1 1 1 密码学的发展及信息安全产品的演迸- 1 一 1 2 信息安全产品对平台的要求- 2 1 3本文内容及结构安排- 3 - 第二章基于a m b a 的硬件系统结构一4 - 2 1信息安全产品的软硬件划分- 4 - 2 2基于a m b a 的硬件系统结构一4 2 3 a :,毋a 简介一5 2 3 1a h b 总线标准- 6 2 3 2a p b 总线标准一9 - 2 4 总线仲裁器- 9 2 4 1a r b i t e r 仲裁策略的考虑9 2 4 2 信息安全s o c 平台中的a r b i t e r 的设计1 l 一 2 4 3 信息安全s o c 平台中的a r b i t e r 的验证- 1 2 2 5其他模块的设计- 1 3 一 第三章平台中的异步信号一1 4 3 1亚稳态的出现与消除一1 4 3 1 1 亚稳态的出现一1 4 3 1 2 亚稳态的消除- 1 5 3 2跨时钟域的数据传递- 1 7 - 3 2 1 数据线跨越时钟域的困难- 1 7 3 2 2 基于“握手”的解决方案- 1 8 - 3 2 3 基于f i f o 的解决方案2 l - 3 2 4 两种方案的选择一2 3 - 3 3异步复位的尴尬一2 3 3 3 1 异步复位的亚稳态问题一2 3 - 3 3 2 多时钟系统中的复位问题一2 4 3 4设计实例2 4 - 3 4 1 m a g u s 一2 4 3 4 2t r n gf i f 0 一2 7 3 4 3 平台的复位控制一2 7 - 3 5本章小结2 8 第四章平台中的系统性能- 2 9 4 1信息安全产品中的流量分析一2 9 4 2d m a 控制器2 9 4 2 1g d m a 一3 0 4 2 2s l a v e 内嵌d m a 功能31 - 4 3c p u 指令、数据存储器的位置安排31 4 4多a h b 结构- 3 3 4 5本章小结一3 5 - 第五章平台中的低功耗设计- 3 6 - 5 1c m o s 集成电路的功耗组成3 6 5 1 1 动态切换功耗一3 6 5 1 2 短路电流功耗- 3 7 5 1 3 漏电流功耗一3 9 5 2低功耗设计方法- 4 0 - 5 2 1 系统级低功耗设计方法一4 0 - 5 2 2 结构级、逻辑级和电路级的低功耗设计方法4 3 - 5 3平台的系统级低功耗支持- 4 3 - 5 3 1 时钟管理模块c m m - 4 5 - 5 j 3 。2c p uw r a p p e r - 4 5 5 3 3 实现d p m 的软件结构一4 6 5 4小结一4 7 一 第六章平台的软硬件调试- 4 9 6 1软硬件调试的困难一4 9 6 2基于f p g a 的软硬件调试一5 0 6 2 1g e n i e - 5 0 一 6 2 2p c 端仿真模型- 5 卜 6 2 3 软硬件的f p g a 调试流程一5 3 - 6 3 小结5 4 - 第七章数字证书s o c 5 5 - 7 1数字证书s o c 的软硬件系统架构设计5 5 - 7 2数字证书s o c 的硬件系统设计5 7 - 7 2 1 硬件组织方式的选择5 7 7 2 2 功耗与设计可靠性的考虑5 8 7 2 3 硬件系统结构一5 8 - 7 3数字证书s o c 相关软件的设计- 5 9 7 3 1f i r m w a r eh a l 一5 9 7 3 2f i r m w a r ea p p 一6 0 - 1 1 1 摘要 摘要 摩尔定律揭示了i c 集成度的规律,即随着工艺水平的进步,单片集成电路上 可以集成的晶体管数目大约每三年增加四倍。随着工艺水平的提高,集成电路的 设计能力与制造水平之间的差距变得越来越大;而另一方面,电子产品的复杂度 越来越高而且生命周期越来越短。两方面的动力迫使集成电路的设计方法学必须 不断改进以满足市场对电子产品的要求。从8 0 年代以及9 0 年代初期的基于标准 单元的设计方法到9 0 年代中期的基于模块的设计方法,再到目前的基于d 复用 的设计方法,集成电路的设计方法正在经历一场深刻的变革。而随着系统复杂度 的进一步提高,一种新的设计方法一基于平台的设计方法一正在逐步成为未 来集成电路系统设计的主流方法。 信息安全二j 核心技术是密码技术,它基本上可以分为三类:流密码、对称密 码和非对称密码。一般来说,前两种密码技术都有一个高吞吐量的特征,适合于 批量数据的加密解密;而后一种的吞吐量相对而言比较小,适用于数字签名和 认证。 本文研究了一种适用于信息安全产品的s o c 开发平台,它基于a r m 公司提 出的a m b a 总线标准( 分为a h b 标准和a p b 标准) 构建。为了解决普遍存在 的亚稳态问题,本文给出了一种被称为m a g u s 的桥路单元,它使得平台在集成 工作于任意频率的a h b 兼容i p 模块时变得非常方便;针对异步复位电路的失效 问题,本文还给出了一种有效复位控制电路。除此之外,本文还对系统级的功耗 管理、提升系统吞吐量的技术、基于f p g a 的软硬件协同验证方法做了较为深入 的讨论。 在本文的最后,还给出了一个用于数字签名和认证的客户端数字证书s o c 。 其测试结果表明,本文提出的信息安全s o c 平台是有效、可靠和灵活的。 关键词:s o c 、基于平台的设计方法学、信息安全、a m b a 、低功耗设计、数 字签名与认证 中图分类号:t n 9 4 9 1 9 7 a bs t r a c t t h em o o r e sl a wr e v e a l st h a tt h en u m b e ro f t r a n s i s t o r st h a tc a i lb ei n t e g r a t e do na s i n g l ec h i pw i l li n c r e a s eb yf o u rt i m e se v e r y3y e a r s a st h er a p i da d v a n c eo c c u r si n t h ei cp r o c e s st e c h n o l o g y , t h e r ei sa ni n c r e a s i n g l yd e e p e rg a pb e t w e e nm a n u f a c t u r e c a p a c i t ya n dd e s i g nc a p a c i t y t h et r e n d so fv l s is y s t e ms h o w st h a tt h es y s t e ms c a l e i si n c r e a s i n g l yl a r g e ra n df u n c t i o nm o r ec o m p l e xw h i l et h ep r o d u c t s l i f ec y c l e sa r e g e t t i n gs h o r t e r a sar e s u l t ,t h ei cd e s i g nm e t h o d o l o g yh a st ob ec h a n g e dt om e e t m a r k e td e m a n d s f r o mas t a n d a r d c e l l - b a s e dm e t h o d o l o g yi n19 8 0 sa n de a r l y19 9 0 s t oam o d u l e - - r e u s e b a s e d m e t h o d o l o g yi n t h em i d d l eo f19 9 0 sa n dt h e na n i p r e u s e - b a s e d m e t h o d o l o g ya tp r e s e n t , t h ed e s i g nm e t h o d o l o g yh a se x p i e n c e da p r o f o u n dr e v o l u t i o n a st h ed e s i g nc o m p l e x i wc o n t i n u e st oi n c r e a s e ,an e ws o c d e s i g na p p r o a c h ,a si sc a l l e dp l a t f o r mb a s e am e t h o d o l o g y , i sb e c o m i n gt h ef u t u r e t r e n d c r y p t o l o g yi st h ek e yt e c h n o l o g yo fi n f o r m a t i o ns e c u r i t y , w h i c hc a nb ed i v i d e d i n t ot h r e e t y p e s :s t r e a mc i p h e r , s y m m e t r i c a lc i p h e ra n da s y m m e t r i c a lc i p h e r g e n e r a l l ys p e a k i n g ,t h ef o r m e rt w oc r y p t o l o g i e sh a v et h ef e a t u r eo fh i g ht h r o u g h p u t , a n da r es u i t a b l ef o rd a t ae n c r y p t i o n d e c r y p t i o n ;w h i l et h el a t t e rh a sl e s st h r o u g h p u t a n di su s u a l l yu s e da sd i g i t a ls i g n a t u r e v e r i f i c a t i o n i nt h i sd i s s e r t a t i o n ,as o c p l a t f o r mf o ri n f o r m a t i o ns e c u r i t yp r o d u c t si se x p l o r e d t h ep l a t f o r mi ss t r u c t u r e db ya m b a ,w h i c hi sp r o p o s e db ya r m c o r p o r a t i o na n d c o m p r i s e db ya h ba n da p b t or e d u c em e t a - s t a b i l i t ye f f e c t ,ah a n d s h a k e b a s e d b r i d g e t h a ti sc a l l e dm a g u si s d e v e l o p e d ,e n a b l i n gt h ep l a t f o r m t o i n t e g r a t e a h b c o m p l i e di p st h a tr u na ta n yf r e q u e n c y ;b e s i d e s ,a na s y n c h r o n o u sr e s e t c o n t r o l l e ri sa l s oi n v o l v e dt oa v o i dr e s e ti n v a l i d a t i o n f u r t h e r m o r e ,t h i sd i s s e r t a t i o n d i s c u s s e sas y s t e m l e v e lp o w e rm a n a g e m e n tt e c h n o l o g yt or e d u c ep o w e ra s s u m p t i o n , as e r i e s w a y st oi m p r o v es y s t e mt h r o u g h p u t ,a n d a nf p g a b a s e dh w s w c o v e r i f i c a t i o nm e t h o da sw e l l a tt h ee n do ft h i sd i s s e r t a t i o n ,ac l i e n t e n ds o cf o rd i g i t a ls i g n a t u r e v e r i f i c a t i o ni s p r o p o s e d t h et e s tr e s u l ts h o w st h a tt h es o cp l a t f o r mf o ri n f o r m a t i o ns e c u r i t yi s e f f i c i e n t r e l i e a b l ea n df l e x i b l e k e yw o r d s :s o c ,p l a t f o r mb a s e dd e s i g nm e t h o d o l o g y , i n f o r m a t i o ns e c u r i t y , a m b a ,l o wp o w e rd e s i g n ,d i g i t a ls i g n a t u r ea n dv e r i f i c a t i o n v 第一章引言 第一章引言 1 1 密码学和信息安全产品的发展 密码学是研究编制密码和破译密码的技术科学。研究密码变化的客观规律, 应用于编制密码以保守通信秘密的,称为编码学;应用于破译密码以获取通信情 报的,称为破译学,总称密码学。 密码学的发展大致可以分为三个阶段:古代加密方法、古典密码和近代密码。 严格意义上讲,古代加密方法不能算作密码学的一部分,但是这些方法具备 了一些密码学的基本要素。我国宋代的曾公亮、丁度等编撰武经总要“字验” 记载,北宋前期,在作战中曾用一首五言律诗的4 0 个汉字,分别代表4 0 种情况 或要求。1 8 7 1 年,由上海大北水线电报公司选用6 8 9 9 个汉字,代以四码数字, 成为中国最初的商用明码本,同时也设计了由明码本改编为密本及进行加乱的方 法。在欧洲,公元前4 0 5 年,斯巴达的将领来山得使用了原始的错乱密码;公元 前一世纪,古罗马皇帝凯撒曾使用有序的单表代替密码;之后逐步发展为密本、 多表代替及加乱等各种密码体制。 古典密码一般采用手工或机械变换的方式实现,它比古代加密方法更复杂, 但其密钥变化量仍然比较小。古典密码时期的密码系统已经初步呈现出当代密码 系统的雏形,其加密方法一般是使用手工或机械变换等方式实现的文字替换。一 般而言,古典密码的代表密码体制主要有:单表代替密码、多表代替密码以及转 轮密码,典型的代表是纳粹德国在二战时期使用的“g e r m a ne n i g m a ”机。 1 9 4 9 年c l a u d es h a n n o n 发表了保密系统的信息理论,1 9 7 6 年,w d i 蚯e 和m h e l l r n e n 发表了密码学的新方向,这两篇重要的论文和1 9 7 7 年美国实施 的数据加密标准( d e s ) ,标志着密码学的理论与技术的划时代的变革,宣告 了近代密码学的开始。在这一阶段,电子计算机和通信技术飞速发展,借助于计 算机的庞大计算能力,密码算法设计与分析互相促进,出现了大量的密码算法和 各种攻击方法。另外,密码使用范围也在不断扩张,而且出现了许多通用的加密 标准,促进了网络安全技术的发展。 密码算法分为基于算法保密和基于密钥的安全性两种基于算法保密的加密 算法的可靠性依赖加密算法的保密程度,其安全性较低,往往只能在小范围中使 用。基于密钥的加密算法又分为两类:对称算法( s y m m e t r i ca l g o r i t h m ) 和公开 密钥算法( p u b l i c k e ya l g o r i t h m ,也叫非对称算法) 。所谓对称算法就是加密密钥 能够从解密密钥中推算出来,反之亦然。在大多数对称算法中,加解密密钥是 相同的。对称算法要求发送者和接收者在安全通信之前需要商定一个密钥,通信 的安全性依赖于密钥的安全性。所谓公开密钥算法是指用作加密的密钥不同于用 作解密的密钥,而且解密密钥不能根据加密密钥计算出来。在加密系统中,加密 密钥是公开的,所以又称为公钥( p u b l i ck e y ) ;解密密钥为私人拥有,称为私钥 - 第一章引言 对于非对称算法i p ,一般主要有以下特点: 令 一次加密运算的时钟数很多; 夺 时钟频率相对较低; 夺 数据吞吐量较小; 对于散列函数算法口,其特点与对称算法i p 类似,主要表现在其高数据吞 吐量。 这些特定决定了对称算法口和散列函数算法i p 要求平台能够提供非常高的 带宽以满足其高数据吞吐量的要求:而非对称算法p 则对通信带宽要求不高, 但要求c p u 的频繁控制。作为信息安全s o c 平台,必须为这两种d 提供足够的 系统资源的支持,保证它们在设计时不必考虑整个系统的工作条件。 1 3 本文内容及结构安排 本文的主要目标是为信息安全产品谬计一种s o c 开发平台,这个平台不仅能 够在硬件上为各种密码算法口提供方便、灵活的硬件接口,而且为系统的软硬 件设计与验证提供一个有效的解决方案。同时针对某些特定的应用,需要给出低 功耗支持和高性能支持。 本文将分章来讨论信息安全s o c 平台对上述几个问题的支持。 第二章首先简要分析了a r m 公司的a m b ar e v 2 0 规范,指出本文选用 a m b a 作为信息安全s o c 平台的体系结构之基础的原因;给出基于a m b a 的信 息安全s o c 平台的基本结构,然后再分述内部的主要模块的设计思路,着重对 a m b a 规范中未作详细定义的总线仲裁器( a r b i t e r ) 做了比较详细的讨论。 第三章从数字电路的亚稳态问题入手,分析了当前s o c 系统中广泛存在的异 步信号的处理方法。在此基础上,提出两种跨时钟域数据传递的技术,即异步 f i f o 技术和基于二相握手的同步数据管道技术,并给出了两个设计实例。此外, 本章还对常用的异步复位问题作了较深入的讨论,给出了一种可以避免复位失效 的异步复位方案。 第四章讨论了几种提高系统性能的系统级解决方案,这里指的系统性能仅限 于系统吞吐量方面,而与提高口的最高时钟频率无关。这几种不同的方案具有 不同的设计复杂度,可以根据具体的应用场合酌情选择一种。 第五章探讨的是系统级的功耗管理方法。通过固件来动态调整系统内部各个 模块的时钟供给来减少不必要的能量消耗,达到降低系统功耗的目的。 第六章对目前s o c 设计中软硬件协同设计的难题做了一些初步研究,提出了 一种基于f p g a 的软硬件协同设计验证的方法。 第七章给出了基于信息安全s o c 平台设计出的一款数字证书s o c 芯片的设 计,并做了性能、功耗分析。 在第八章中,作者总结了所做的研究工作,并对后续工作做了展望。 第二章基于a m b a 的硬件系统结构 第二章基于砧b a 的硬件系统结构 2 1 信息安全产品的软硬件划分 作为一个电子类的产品,一般而言必须包含的几大部分就是软件( 包括操作 系统、应用程序等) 、中间件( 如f i r m w a r e 、设备驱动程序等) 和硬件三大部分。 其中硬件是整个产品的基础,软件是产品个性化的体现,而中间件则是为软件提 供硬件系统的抽象,使得软件在设计过程中完全不用考虑到硬件的工作过程。 根据这种划分方法,信息安全产品大致可以描述成如图2 1 所示的几大部 分。其中,在最底层的是h a r d w a r e ( 硬件) ,它是信息安全产品工作的基础;在 中间的是f i r m w a r e ,它负责控制相关硬件的正常工作与异常处理;在最顶上的 是s o f t w a r e ,包括0 s ( 操作系统) 、a p p l i c a t i o n s ( 应用程序) 等,这是体现产品 的个性与特征的一层,也是充分发挥硬件功能的一层。 图2 - 1 信息安全产品的几大部分 软件层以及中间件中要涉及的各类软件设计技术不属于本文要讨论的范围, 本文着重探讨的是图2 1 中硬件层的相关技术,而与硬件非常相关的软件结构等 内容仅作简要的讨论( 见第五章和第六章) 。 2 2 基于a m b a 的硬件系统结构 “总线”的概念并不是近几年才提出来的。在微型计算机设计领域,为了使 系统灵活、简单和便于扩展功能,多数微型计算机系统都采用模块化结构。一台 者协议的转换。 2 3a 略a 简介 a m b ar e v 2 0 中描述了三种总线协议,分别是a h b ( a d v a n c e d h i g h p e r f o r m a n c eb u s ) 、a s b ( a d v a n c e ds y s t e mb u s ) 和a p b ( a d v a n c e dp e r i p h e r a l b u s ) 。其中a p b 是专门针对低带宽、低功耗的功能模块设计的;a h b 和a s b 都是针对高性能的应用设计的,一般a h b 由于采用了流水线式的数据传输方式 第二章基于a m b a 的硬件系统结构 所以可以得到较高的系统时钟,加上其传输方式也非常灵活,因而可以满足更高 的数据吞吐率要求,比较适合平台级的应用,而a s b 的协议相对比较简化一些, 适合于较简单的应用,本文将仅采用a h b 和a p b 两种协议。 2 3 1a h b 总线标准 a h b 总线协议是通过三个多路选择器来实现对多个主设备( m a s t e r ) 和多个 从设备( s l a v e ) 的支持,如图2 3 所示。其中a d d r e s sa n dc o n t r o lm i l k 和w r i t ed a t a m u x 由a r b i t e r 来控制选择相应的m a s t e r ,而r e a dd a t am u x 则由d e c o d e r 来控制 选择相应的s l a v e 。 图2 3a h b 的多路选择结构 与其他总线协议一样,a i m 总线上的任何一次数据传输都是由m a s t e r 设备 发起的,单纯的s l a v e 设备无权发起任何总线上的数据传输。 当m a s t e r 希望发起数据传输,首先它必须向总线仲裁器申请总线的控制权, 直到它被“授予”( g r a n t ) 了控制权此时a r b i t e r 会通知a d d r e s sa n dc o n t r o lm u x 将此m a s t e r 的控制信号切换成当前控制信号。在m a s t e r 获得总线控制权之后, 它可以根据其自身需要给出地址信号和控制信号地址信号通过d e c o d e r 译 码后选择相应的s l a v e 设备作为目标设备,控制信号则通知a r b i t e r 和目标设备 它希望完成什么样的数据传输。目标设备需返回其操作状态以向m a s t e r 报告此 次数据传输的结果,若没有任何错误情况,则此次数据传输顺利完成。 a h b 与其它总线标准的重要区别在于其流水操作特性、多种传输模式和 s l a v e 的多样性支持。 第二章基于a m b a 的硬件系统结构 1 流水操作特性 通常s r a m 的读、写时序是不同的。读操作时,m a s t e r 先给出地址,下一个 时钟周期才会采样s r a m 的数据输出;而写操作时,数据和地址需要同时由 m a s t e r 给出,如图2 - 4 、图2 5 所示。如果直接按照这种时序连续读取写入n 次,那么将分别耗费2 n 、n 个时钟周期;而a h b 采用流水操作( 如图2 6 所示) , 从而连续读取写入n 次所耗费的周期数变成( n + 1 ) 、( i l + 1 ) 。很显然,a h b 的流水 操作方式提高了批量数据的传输效率。 此外,这种流水特性使得a t l b 还支持m a s t e r 之间的无缝切换【4 】,即m a s t e r l 切换到m a s t e r 2 切换时总线上还在进行数据传输。 a d 2 孺 c l k w e a d o l 硼 图2 4s r a m 的读时序 ,翻 | | k 7 1 沫 图2 5 s r a m 的写时序 3 s l a v e 的多样性支持 任何系统中都可能有不同反应速度的设备,a h b 提供了l 根h r e a d y 信号 使得反应速度慢的s l a v e 能够接入a h b 。除了h r e a d y 信号之外,a h b 还提 供了2 根h r e s p 信号以反馈给m a s t e r 前次传输的状态,有利于提高容错性。 对于反应速度非常慢的s l a v e ,a h b 还提供了“s p l i t ”和“r e t r y ”两种机制, 这两种机制保证了当慢速s l a v e 在准备好之前不会阻塞整个总线,提高了系统的 效率。 图2 7a h b 支持的b u r s t 操作类型 图2 8 a p b 读时序 t 1 谨 t 3私丁5 刚一l i 。 n i i 一! n i 图2 9a p b 写时序 2 4 总线仲裁器 总线仲裁器( a r b i t e r ) 是多m a s t e r 系统中最为重要的模块之一,它往往需要 根据特定的情况才能给出特定的设计,因此并不存在一个“放之四海而皆准 的 a r b i t e r 。由于本文讨论的主题是一个“平台”,因此不得不对通用a r b i t e r 的设计 与验证做一些较深入的讨论至少是针对信息安全s o c 而言是通用的。如果 仍然需要修改其设计以满足特定需要,也希望本文能提供一些启示。 2 4 1a r b i t e r 仲裁策略的考虑 文献【7 1 等提出了各式各样的a r b i t e r 及其仲裁策略,但是万变不离其宗,a r b i t e r 完成的唯一任务便是裁决到底应该将总线控制权交给( g r a n t ) 哪一个m a s t e r ,即 一 一 一 一 p 【 i 第二章基于a m b a 的硬件系统结构 环内各个m a s t e r 之间都是公平的。 总结一下,在同时包含优先级策略和机会均等策略的系统中,只要存在比r r 环的优先级高的m a s t e r ,r r 环的被打断点都应该被记录下来,以便r r 环继 续正常运转,否则r r 环内的m a s t e r 之间将存在不希望出现的优先级。 高两一国 岛优先级 。 一 一 i 中螋一妙一一一 g 一拶、 低优先级f j 低l :、三) 、n厂父, 2 ,中黧r o u n d 兰r o b i n 策略 戢 图1 1 优先级中的 一 策略 图2 1 2 信息安全s o c 平台中的a r b i t e r 仲裁策略 2 4 2信息安全s o c 平台中的a r b i t e r 的设计 一个真正应用于系统中的a r b i t e r 除了其仲裁策略之外,还需要配合总线的时 序,亦需做一些特殊的协议配合。作为信息安全s o c 平台中的a r b i t e r ,在尽可 能确保电路简化的同时也要考虑到其通用性,分析如下。 1 信息安全s o c 中的m a s t e r 通常带宽要求都很高,单个a h b 总线上的 m a s t e r 不可能很多。虽然a h b 协议标准支持1 6 个m a s t e r ,这里的a r b i t e r 只打 算支持8 个m a s t e r 。这样一方面可以降低不必要的电路开销,另一方面也缩短了 a r b i t e r 内部的关键路径进而有利于提高整个系统的时钟工作频率。 2 由于a r b i t e r 针对的是平台级的应用,因此必须支持a h b 协议中的各种传 输方式和各种s l a v e 应答方式( o k a y 、e i 艰o r 、s p l i t 和r e t r y 四种) ,尽可 能地保证a r b i t e r 的通用性。 3 一般而言系统中需要高优先级的m a s t e r 较少,而低优先级的m a s t e r 相对 较多,因此安排的仲裁策略融合了优先级策略和机会均等策略,如图2 1 2 所示, m 0 是最低优先级的m a s t e r ,预留给a i - i b 协议中的默认m a s t e r ( d e f a u l tm a s t e r ) , 而m 1 - m 7 分别被安排进3 个r r 环。 根据上述三个要点以及a h b 总线协议,a r b i t e r 内部需要完成的功能除了仲 裁策略之外还包括: ( 1 )如果s l a v e 返回s p l i t ,相应的m a s t e r 的总线请求( b u sr e q u e s t ) 必须 被屏蔽直到s l a v e 准备好; ( 2 )确保被“锁住”( l o c k ,表现为h l o c k 为高) 的传输被完成( 传输完 成的标志是h r e a d y 为高,且h r e s p 为o k a y e r r o r ) ; ( 3 ) 保证合适的仲裁时机; ( 4 ) r r 环被打断时需要记录断点( 为的是确保公平。见第2 4 1 小节) 。 第二荤基于a m b a 的硬件系统结构 据此,我们可以得出a r b i t e r 的结构,如图2 1 3 所示,其中“屏蔽单元 完 成上述( 1 ) ,总线控制单元 完成( 2 ) 和( 3 ) ,“r r 断点记录单元完成( 4 ) , 最后“仲裁单元”完成整个仲裁策略。 h b u s r e q x h g r a 图2 1 3 信息安全s o c 平台的a r b i t e r 结构框图 2 4 - 3信息安全s o c 平台中的a r b i t e r 的验证 h r e a d y h r e s p 前面提及,仲裁器a r b i t e r 是多m a s t e r 系统的关键模块之一。由于它必须与 其它模块( 如各种m a s t e r 和s l a v e 等) 一起工作,导致必须对其进行充分的前期 验证,否则会给后期d e b u g 工作带来巨大的麻烦。 一般而言,对子模块的验证有三种方法:黑箱法、白箱法和灰箱法。黑箱法 是指在对子模块内部结构毫无知情的情况下,仅根据子模块的端口信号表现出来 的行为特征进行功能验证的方法;白箱法则是完全根据模块的内部结构进行功能 验证的一种方法;灰箱法介于白箱法和黑箱法之间,一方面根据模块的接口信号 表现出的行为特征,另一方面也参考模块的内部结构。这三种方法各有优缺点, 在选用时需要谨慎小心。但是不管选用哪一种方法,都必须保证t e s t b e n c h 的设 计结构清晰、实现简单,这样t e s t b e n c h 本身不会给验证工作带来麻烦。 对于图2 1 3 中的a r b i t e r ,其请求信号7 根( 不考虑最低优先级的d e f a u l t m a s t e r ) ,h l o c k 信号有7 根,因此某一时刻请求的种类有3 8 种( h l o c k x 信 号只在对应的请求有效的时候才参与仲裁) ;由于a r b i t e r 共支持8 个m a s t e r ,所 以a r b i t e r 的当前状态共计8 种,从而枚举请求时共有8 丰3 8 种情况! 此外,各种 时序会使得整个过程更加复杂。如果采用黑箱法,那么t e s t b e n c h 的实现将变得 不可想象! 如果采用白箱法,t e s t b e n c h 就会变成非常类似于a r b i t e r 的r t l 代码, 对验证工作同样非常不利。本文采用灰箱法。 如第2 4 2 小节的分析,a r b i t e r 由几个功能模块构成( 图2 1 3 ) 。首先,可以 发现“屏蔽单元”和“总线监控单元”的功能比较独立,因此先用特定的测试向 量验证它们的功能;其次,用2 3 个简单的测试向量测试“屏蔽单元 、“总线监 控单元 和“仲裁单元 的协同工作( 这里主要考虑到“仲裁单元 结构比较规 整,出现重大错误的可能性不大) ;然后,制造合适的测试向量测试“r r 断点 记录单元”和“仲裁单元”的协同工作;最后,在几种特殊的情况都已经通过验 第二章基于a m b a 的硬件系统结构 证之后,采用随机测试向量来集中验证“仲裁单元 ,务必找出所有的“笔误”。 最后需要说明的是,这里采用的“特定的测试向量”并不是随便选取的,而是针 对每个模块的每一个条件判断所特别设计的,目标是覆盖代码中的每一个分支一 一这也是灰箱法验证需要特别注意的。 2 5 其他模块的设计 在图2 2 所示的信息安全s o c 的硬件平台结构中,除了总线仲裁器之外,另 一个比较重要的模块是c p uw r a p p e r ,它关系到c p u 存取指令和数据的效率。 图2 1 4 是c p uw r a p p e r 的内部结构示意图,它通过关闭供给c p u 的时钟( 需 要专门的技术来消除时钟毛刺,参见第五章的相关内容) 来获得总线访问的时间, 当成功访问总线之后,再重新打开c p u 的时钟供给。图2 1 5 是c p uw r a p p e r 的控制状态机之状态转换图,它给出了c p uw r a p p e r 在获悉c p u 访问内存的意 愿( 图中的n e e d t r a n s 信号) 之后的动作时序。图2 1 6 是c p uw r a p p e r 的仿真 结果,其中c u r r e n t s t a t e 是控制状态机的状态,e l kc o r e 是供给c p uc o r e 的时钟。 a 船 图2 1 4c p uw r a p p e r 结构 图2 15c p uw r a p p e r 状态转换图 图2 1 6c p uw r a p p e r 仿真波形图 第三章平台中的异步信号 目前主流的数字集成电路设计方法都是基于同步时序电路基础上的,各大 e d a 工具也都很好地支持了同步电路的设计。众所周知,这种同步时序电路正 常工作的基础就是时序器件的输入输出信号要满足一定的t i m i n g ( 时序) 关系。 一旦这种关系不能满足,整个电路将会陷入不稳定的状态。 然而不幸的是,对于一个复杂的系统,单一的时钟源几乎不可能完成任务, 往往不同的模块需要工作在不同的时钟下才能完成需要的功能。在某些特殊的情 况下,甚至同一个模块也要根据环境而工作在不同的时钟频率之下以达到某种目 的对于功能复杂的信息安全产品而言,同样也需要几个不同的时钟源来完成系 统任务。在第七章中将要描述的数字证书s o c 即是如此。 数字证书s o c 包含一个u s b 设备端接口模块,按照u s b 规范的定义,它必 须要工作在4 8 m h z 时钟频率之下,而对于其内嵌的c p u 而言,这种频率难以保 证c p u 的正常工作( 这种c p u 一般仅工作于3 0 m h z ) ,因此,c p u 和u s b 模 块不可能共用一个时钟源。同样地,数字证书s o c 中还集成了一个t r n g ,它 向系统提供4 m b p s 的随机数码流,这个码流的频率仅4 m h z ,如果让c p u 工作 于这个频率,整个系统的运算能力必然会大打折扣! 而对于密码算法模块( 如 r s a 、e c c 、d e s 等) 而言,有些时候可能必须考虑到功耗方面的因素而需要适 当调整其工作频率。诸多因素都决定了数字证书s o c 需要多个独立时钟源。 另一方面,目前异步复位是使用最多的一种复位方式,但是,由于异步复位 信号与时钟之间是完全没有时序关系,因此很难保证整个电路能可靠地实现复 位。尤其在规模非常庞大的系统中,这种潜在的不完全复位的隐患会极大地损害 系统的可靠性。 为了能够避免异步信号( 包括异步复位信号和内部的异步信号) 对于系统可 靠性的威胁,本文研究的平台必须提出一种可靠的解决方案。 3 1 亚稳态的出现与消除 3 1 1亚稳态的出现 要解决某一个问题,必须先搞清楚其根源。 数字逻辑电路原理告诉我们,对于边沿型触发器,其输入信号与时钟边沿必 须满足特定的时序关系才能保证其正常工作。这种特定的时序关系有两类:建立 时间( s e t u pt i m e ) 和保持时间( h o l dt i m e ) 。如图3 1 所示,所谓建立时间就是 指输入信号在时钟脉冲的有效边沿之前具有稳定电平所必需的时间( 图3 1 中的 t 咖d ) ;而保持时间是指输入信号在时钟脉冲的有效边沿之后需要继续保持稳定 逻辑电平的时间( 图3 1 中的t h o l d ) 。如果输入信号的变换不满足边沿型触发器 的建立时间与保持时间的要求,即输入信号的跳变发生在t s 咖p 与t h 。i d 的时间窗 第三章平台中的异步信号 之内( 如图3 1 ) ,触发器的输出将不确定( 可能是高电平,可能是低电平,可 能处于高低电平之间,也可能处于震荡状态) ,并且在未知的时刻会固定到高电 平或低电平,这种状态就称为亚稳态。 t 。, 蛔勉万一d 啦 出 ,r 一 饼f id f f 2 图3 2 电平型同步器 图3 - i 亚稳态产生不惹图 亚稳态不仅严重影响电路的逻辑特性,还对电路的电器特性产生影响。对于 数百微米工艺来说,c m o s 电路在静态情况下消耗的能量非常小,而在电路状态 发生翻转时才会消耗很大的能量( 参见第五章的c m o s 功耗分析) ,这主要是因 为只有在翻转过程中p m o s 和n m o s 才会同时导通。当电路中的某个触发器输 出处于亚稳态,其输出的电平值就可能处于o 1 之间,从而导致后级的的c m o s 管处于导通状态,消耗大量能量,甚至可能导致芯片被烧毁。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沟通诊断课程设计
- 驱蚊工具制作课程设计
- 秋天的画报课程设计
- 什么是望月镜头课程设计
- 2024至2030年中国沙参玉竹凉茶颗粒行业投资前景及策略咨询研究报告
- 2024至2030年中国汽车前桥总成数据监测研究报告
- 高聚物课程设计
- 2024年中国纯野生葛粉市场调查研究报告
- 标识绘制课程设计
- 中国链条式挖沟机行业市场现状分析及竞争格局与投资发展研究报告(2024-2030版)
- 各省中国铁路限公司2024招聘(目前38183人)高频难、易错点500题模拟试题附带答案详解
- 杭州本级公共租赁住房资格续审申请表Ⅴ
- 建筑垃圾外运施工方案
- 上海市青浦区上海五浦汇实验学校 2024-2025学年上学期六年级数学期中试卷(无答案)
- 大学实训室虚拟仿真平台网络VR实训室方案(建筑学科)
- 体育赛事组织与执行手册
- 2024年扩大“司机之家”覆盖范围工作策划方案
- 课内阅读(专项训练)-2024-2025学年统编版语文四年级上册
- 2024-2025学年高二英语选择性必修第二册(译林版)UNIT 4 Grammar and usage教学课件
- 二十届三中全会精神学习试题及答案(100题)
- 苏教版数学五年级上册《解决问题的策略》
评论
0/150
提交评论