




已阅读5页,还剩59页未读, 继续免费阅读
(电路与系统专业论文)基于aes算法的数据加密与解密硬件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
中文摘要 2 l 世纪是信息快速发展的时代,随着计算机网络的应用越来越广泛,网络 安全也逐渐成为人们普遍关注的课题。可以预言,今后的社会将进入全面的网络 时代和信息共享时代,因此,网络安全极其重要,只有安全的网络才能保证网络 生活能够有序进行、网络系统不遭破坏、信息不被窃取、网络服务不被非法中断 等。为了保证计算机网络的可靠性、可用性、完整性、保密性和真实性等安全性, 不仅要保证计算机网络设备安全和计算机网络系统安全,还要保护数据的安全。 对数据实施安全的加密算法是保护数据安全的有效手段。 a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) 是美国国家标准和技术研究所宣布采用 的高级加密标准,可以预测,a e s 在今后很长的一段时间内将会在信息安全中 扮演重要的角色。因此对a e s 算法实现的研究成为国内外的热点,它将会在信 息安全领域得到广泛的应用。a e s 在实现方面具有速度快、可并行处理、对处 理器的结构无特殊要求,算法设计相对简单,分组长度可以改变,而且具有很好 的可扩充性。a e s 算法的这些特点使得选用f p g a 来实现a e s 算法具有很好的 优越性,本文就是针对a e s 算法的f p g a 实现进行研究。 本文介绍了用f p g a 实现a e s 算法所用的开发工具、开发语言和所选用的 芯片,还具体介绍了a e s 算法的硬件实现方式,在此基础上,着重阐述了a e s 算法f p g a 实现的总体设计框图,并对各个部分的设计分别给与介绍,给出了实 现加密解密的时序仿真和设计结果。 关键词:a e s 、f p g a 、硬件实现、加密、解密 a b s t r a c t t h e21s tc e n t u r yi st h ee r ao fi n f o r m a t i o n ,w i t ht h eb r o a da p p l i c a t i o no fc o m p u t e r n e t w o r k ,t h es a f e t yo fc o m p u t e rn e t w o r kg r a d u a l l yb e c o m eaf o c u so fa t t e n t i o n i ti s p r e d i c t a b l et h a tt h ef u t u r ew o r l dw o u l db et h ee r ao fn e t w o r ka n di n f o r m a t i o ns h a r i n g s o ,t h es a f e t yo fn e t w o r kw o u l db e c o m em o r ea n dm o r ei m p o r t a n t i ti so n l yt h es a f e n e t w o r kt h a tc a ng u a r a n t e et h en e t w o r kw o r ko r d e r l y , t h a tt h en e t w o r ks y s t e mc a n t b eg o n et op o t ,t h a ti n f o r m a t i o nc a n tb es t o l e n ,t h a tt h es e r v i c ec a n tb ei n t e r r u p t e d i no r d e rt og u a r a n t e et h es a f e t yo fn e t w o r k ,d a t at h a tw o u l db et r a n s f e r r e ds h o u l db e e n c r y p t e db yas a f ee n c r y p ta l g o r i t h m a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) i sae n c r y p t i o ns t a n d a r dt h a tw a sc l a i m e dt o a d o p tb yn a t i o n a li n s t i t u t eo fs t a n d a r d sa n dt e c h n o l o g y , t h i si n d i c a t e st h a ta e s w i l l p l a ya ni m p o r t a n tr o l eo nt h ef i e l do fi n f o r m a t i o ns a f e t yi nal o n gp e r i o di nt h ef u t u r e s ot h er e s e a r c ho fa e s sr e a l i z a t i o nb e c o m e st h ef o c u sb o t ha th o m ea na b r o a d ,a n di t w i l lb eu s e dw i d e l y t h er e a l i z a t i o no fa e s a l g o r i t h mh a sm a n ya d v a n t a g e s ,s u c ha s f a s t ,f l e x i b l e ,h a sn on e e df o rt h es t r u c t u r eo fp r o c e s s o ra n ds oo n a l lo ft h i s a d v a n t a g e sm a k er e a l i z i n ga e sa l g o r i t h mw i t hf p g a i sag o o dc h o i c e t h i st e x ti s r e s e a r c h i n gt h ed e s i g na n dr e a l i z a t i o no f a e sa l g o r i t h mb a s e do nf p g a t h i st e x ti n t r o d u c e dt h ed e v e l o p i n gt o o l s ,l a n g u a g ea n dc h i pt h a th a sb e e n s e l e c t e di nr e a l i z i n ga e sa l g o r i t h mb a s e do nf p g a ,a n dt h e np a r t i c u l a r l yi n t r o d u c e d t h er e a l i z a t i o nm e t h o d so fa e sb a s e do nh a r d w a r e ,f i n a l l yp r o v i d e dt h ew h o l e d i a g r a mo ft h er e a l i z a t i o no fa e sa l g o r i t h m ,i n t r o d u c e de a c hp a r to fd ed e s i g n s e p a r a t e l ya n dg i v et h et i m i n gs i m u l a t i o na n dr e s u l to ft h ed e s i g no fe n c r y p t i o na n d d e c r y p t i o n k e yw o r d s :a e s ,f p g a ,e n c r y p t io n ,d e c r y p tio n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,嘏不包含失获得:叁递盘鲎或其链教育机构的学位或迁 书而使用过的材料。与我一同工作的同志对本研究所傲的任何贯献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:忉菇乃日 签字日期: 印7 年 f 月弓园 学位论文版权使用授权书 本学位论文作者完全了瓣墨盎筮茎有关保留、使雳学位论文的规定。 将授权蠢盎叁堂可以将学位论文的全部或部分内容编入有关数据霹进= i 亍检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家育关部f 】或机构送交论文的复印件和磁盘。 f 保密静学位论文在解密后适焉本授权说明) 学位论文作者签名:并勿荔乃日 签字目期:7 年f 胃弓? 吕 名:励钵 第一章绪论 第一章绪论 1 1 本课题提出的背景及意义 计算机网络是计算机技术和通信技术紧密结合的产物,它的诞生使计算机体 系结构发生了巨大的变化。计算机网络已成为人们社会生活中不可缺少的部分, 它的发展也反应了一个国家的计算机科学和通信技术水平。但是,随着计算机网 络的应用越来越广泛,网络安全也逐渐成为人们普遍关注的课题。可以预言,今 后的社会将进入全面的网络时代和信息共享时代,因此,网络安全极其重要,只 有安全的网络才能保证网络生活能够有序进行、网络系统不遭破坏、信息不被窃 取、网络服务不被非法中断等。但是另一方面,由于网络的开放性、超越国界地 域限制等特点,目前的网络正在遭受很多威胁和攻击,这就需要研究和掌握更多 安全技术,尽可能保证网络安全。 为了保证计算机网络的可靠性、可用性、完整性、保密性和真实性等安全性, 不仅要保证计算机网络设备安全和计算机网络系统安全,还要保护数据安全等。 对数据实施有效的加密是保护数据安全的有效手段。 a e s ( a d v a n c e de n c r y p t i o ns t a n d a r d ) 是美国的商用标准,它的确立会使金融、 电信、电子商务和政务等方面的数据更加安全保密。由于a e s 在实现方面具有 速度高、可并行处理、对处理器的结构无特殊要求,算法设计相对简单,分组长 度可以改变,而且具有很好的可扩充性。因此,用a e s 来实现对信息进行加密, 给信息安全提供了很好的保障。所以对a e s 实现的探讨和研究具有较大的理论 意义和实践意义。 1 2 方案的提出及意义 a e s 标准只适用于美国联邦行政部门,也就是它将仅仅用于保护敏感但非 机密的信息文档。然而,它的应用远不只这些,由于作为d e s 的继承者它从被 接纳为标准之日起就已经被银行业、行政部f - j s n 工业界作为事实上的密码标准。 a e s 密码算法可以应用在网络加密、无线局域网加密、智能卡加密和各种终端 加密等领域。 a e s 在提出时就考虑到并行处理问题,但仅局限于通用处理器的处理方法, 从并行加速的角度来看目前任何通用处理器都无法做到同时计算一个分组( 无论 是1 2 8 b i t s 或者是2 5 6 b i t s ) 。从处理器的微观处理过程来看,在任何时刻,处理 第一章绪论 器仅在某一步骤对一部分数据进行运算处理,在整个处理过程中,大量的资源处 于闲置状态,影响了加密解密的速度。 将a e s 算法用f p g a 来实现,即用硬件来实现,可以克服以上提出的问题。 由于a e s 不同于r s a 等公钥算法,没有大量的复杂数学计算,如:乘法、带进 位的加、取模等,在并行计算时对每个并行计算单元的结构要求相对简单,只有 逻辑运算和查表运算。在f p g a 中可以根据a e s 的算法设计多个处理器,达到 一个分组的各位可同时运算,从而提高资源利用率。 考虑到a e s 的并行运算需要大量的硬件资源及f p g a 的价格等因素,选用 a l t e r a 公司的c y c l o n ee p l c 2 0 f 4 0 0 c 8 来实现算法,为便于向其他f p g a 平台和 a s i c 移植,采用v h d l 语言实现该算法。 1 2 1a e s 在网络层安全中的应用 由于在i p 设计之初没有考虑安全性,在早期的英特网上时常发生诸如企业 或机构网络遭受到攻击、机密数据被窃取等不幸的事情。为了加强英特网的安全 性,从1 9 9 5 年开始,i e f t 着手研究制定安全套用于保护i p 通信的安全协议一 i p s e c 。 i p s e c 采用i p 封装技术,其本质是对原先的数据包加密,封装在外层的i p 包 头里,用外层的i p 报头来对加密的包进行英特网上的路由选择。到达另一端时, 外层的i p 报头被拆开,报文在解密后被送到收报地点。i p s e c 不仅能对任何传输 层报文和应用层报文提供安全服务,同时也能对网络层的协议( 如i c m ) 提供 安全服务。i p s e c 目p 可以用来保护终端主机间的数据传输,也可以保护主机与中 间结点( 如路由器) 以及中间结点之间的数据传输。i p s e c 提供的安全服务包括 数据源认证、数据完整性检查、重播检测和数据保密等。除此之外,i p s e c 提供 使用这些服务所必需的管理机制,如通信双方服务参数的协商、密钥交换等。 i p s e c 是i p v 6 的一个组成部分,也是i p v 4 的一个可选扩展协议。【l j 实现时,将i p s e c 的加密和认证操作嵌入到i p 协议栈的输出接口,i p s e c 的 解密和验证操作嵌入到i p s e c 的输入接口,而通信双方主机的i p 包接受接口所 接受的i p 包就是对方主机i p 发送过程所发送的i p 包,这样就可以使i p s e c 的安 全协议在i p 层部分接口嵌入,实现i p s e c 的安全策略。i p s e c 实现的包接受和包 发送过程如图1 1 所示。 第一章绪论 图1 1i p s e c 在i p 层的发送和接收 i p s e c 部分的加解密是以i p 包为基本单元的,而且是经过了i p 层的基本协 议操作之后的数据包。i p s e c 实施的主体是通信双方的实体,加密输出时不存在 分片问题,解密接受时己完成可能的数据包重组过程,这意味着加密输出的i p 包就是接收时需要解密的i p 数据包,加密解密具有对称性使加密解密在实现时 具有易实现性。当加密解密不具有对称性时,具体实现时技巧性很强,比较难实 现。 根据i p s e c 协议规范设计具有i p s e c 功能的安全网卡,应该用软硬结合的方 法,将以往需要c p u 处理的频繁的加密、解密、验证运算工作转移到网卡上来, 即可以在网卡上集成一个加密解密硬件模块,减轻c p u 负担,提高网络性能, 实现对i p 层的加密。 以上是a e s 比较典型的应用。a e s 的硬件加密的应用可以渗透到各个领域, 实现信息安全传输,为此研究a e s 硬件加密具有很好的理论应用性和实际应用 性。 1 3 研究与应用现状 美国早在1 9 7 7 年就制定了自己的数据加密标准( 一种分组密码) ,但除了公 布具体的算法之外,从来不公布详细的设计规则和方法。随着美国的数据加密标 准的出现,人们对分组密码展开了深入的研究和讨论,设计了大量的分组密码, 给出了一系列的评测准则,其他国家,如日本和苏联也纷纷提出了自己的数据加 密标准。但在这些分组密码中能被人们普遍接受和认可的算法却寥寥无几。何况 第一章绪论 一些好的算法已经被攻破或已经不适用于技术的发展要求。比如美国的数据加密 标准已经于1 9 9 7 年6 月1 7 日被攻破。美国从1 9 9 7 年1 月起,正在征集、制定 和评估新一代数据加密标准( 称作a e s ) ,大约于2 0 0 1 年出台,目前正处于讨 论和评估之中。a e s 活动使得国际上又掀起了一次研究分组密码的新高潮。继 美国征集a e s 活动之后,欧洲和日本也不甘落后启动了相关标准的征集和制定 工作,看起来比美国更宏伟。同时国外比如美国为适应技术发展的需求也加快了 其他密码标准的更新,比如s h a 1 和f i p s l 4 0 1 。我国目前的做法是针对每个或 每一类安全产品需要开发所用的算法,而且算法和源代码都不公开,这样一来, 算法的需求量相对就比较大,继而带来了兼容性、互操作性等问题。 国外目前不仅在密码基础理论方面的研究做得很好,而且在实际应用方面也 做得非常好。制定了一系列的密码标准,特别规范。算法的征集和讨论都已经公 开化,但密码技术作为一种关键技术,各国都不会放弃自主权和控制权,都在争 夺霸权地位。美国这次征集a e s 的活动就充分体现了这一点,欧洲和日本就不 愿意袖手旁观,他们也采取了相应的措施,其计划比美国更宏大,投资力度更大。 我国在密码基础理论的某些方面的研究做得很好,但在实际应用方面与国外的差 距较大,没有自己的标准,也不规范。 1 4 论文的主要工作和结构 在前期,对现有产品进行了充分地调研,现场勘查了同类产品,并对国内外 的多种解决方案进行了比较:以美国m o t o r o l a 为代表的相关产品,其经过多年 发展,已有较成熟的产品,但这些产品价格昂贵,并没有提到安全性相关措施, 而国内该领域产品更是寥寥无几。因此在详细分析了系统总体需求的基础上,融 入了本实验室人员研究出的混合流水结构实现的a e s 的算法后,提出了自己的 总体设计构想。 该课题要达到以下的设计目标: 实时性:a e s 核心算法模块要达到5 4 m b p s 的加解密的速度。这个实际上已 经做到,但以此为基础,根据前人的结果,密钥扩展的速度要达到2 7 m b p s 才可 以配合加解密模块使用。 易实现性:由于采用了1 2 8 位加密算法,输入明文、输出密文的数据都是 1 2 8 位的,如果初始密钥直接输入1 2 8 位,这意味着如果直接用芯片验证算法的 正确性就需要将近4 0 0 个引脚,为了节省引脚,对初始密钥输入采用1 8 个键来 输入,这样的话可以大大减少引脚数量。 本文的主要内容安排如下: 第一章,介绍网络安全的重要性及a e s 算法的概念和实用性,介绍用硬件 第一章绪论 实现a e s 的优势及实现a e s 算法的器件等。 第二章,简要介绍本课题所用到的软件资源及使用方法,硬件开发平台资源, 主要芯片相关参数、特性。 第三章,介绍a e s 算法原理、实现结构,描述加密、解密算法的的实现过 程、结构。 第四章,详细介绍a e s 加密、解密算法各部分模块的实现,并给出各个部 分的模块图、仿真图和结果。 第五章,对全文进行总结。 第二章开发所用软硬件介绍 第二章开发所用软硬件介绍 2 1o u a r t u sl i 开发软件简介 q u a r t u s i i 软件是a l t e r a 公司提供的综合开发工具,它集成了a l t e r a 的 f p g a c p l d 开发流程中所涉及的所有工具和第三方软件接口。通过使用此综合 开发工具,设计者可以创建、组织和管理自己的设计。 q u a r t u s 具有以下特点: 支持多时钟定时分析、l o g i c l o c k 基于块的设计、s o p c ( 单芯片可 编程系统) ,内嵌s i g n a l t a pi i 逻辑分析器、功率估计器等高级工具。 易于管脚分配和时序约束。 具有强大的h d l 综合能力。 。 包含有m a x p l u si i 的g u i ,且易于m a x p l u si i 的工程平稳的过渡到 q u a r t u si i 开发环境。 对于f m a x 的设计具有很好的效果。 支持的器件种类众多。 支持w i n d o w s 、s o l a r i s 、h p u x 、l i n u x 等多种操作系统。 提供第三方工具如综合、仿真等的无缝链接。 o u a r t u si i 软件支持的器件种类众多,主要有s t r a t i x t m 和s t r a t i xi i 、s t r a t i x 、 c y c l o n e t m 、h a r d c o p y 、a p e x t mi i 系列、a p e xi i 系列、m e r e u r y t m 系y u f l e x l o k 系列、e x c a l i b u r t m 系列、f l e x6 0 0 0 系列、m a xi i 系列、m a x3 0 0 0 a 系列、 m a x7 0 0 0 系列、m a x9 0 0 0 系列等。【2 1 2 1 1o u a r t u si i 开发工具简介 q u a r t u s i i 软件提供完整的多平台设计环境,可以轻易地满足特定的设计需 求,是s o p c 设计的综合性环境。q u a r t u s i i 软件图形用户界面为开发设计流程的 每个阶段提供相应的功能。 设计输入是使用q u a r t u s i i 软件中的原理图输入方式、文本输入方式、c o r e 输入方式、模块输入方式和e d a 设计输入工具等表达自己的电路构思。同时使 用分配编辑器( a s s i g ne d i t o r ) 设定初始设计约束条件。 综合的主要功能是将h d l 语言、原理图等设计输入翻译成最基本的与、或、 非f - j ,r a m ,触发器等基本逻辑单元的连接关系( 网表) ,并根据要求( 约束条 件) 优化所生成的门级逻辑连接,输出e d f 或v q m 等标准格式的网表文件,供下 一步的布局布线用。评价一个综合工具优劣的两个指标是其使设计占用芯片的物 第二章开发所用软硬件介绍 理面积和工作频率,占用面积越小、工作频率越高说明综合工具质量越好。综合 时既可以使用q u a r t u s i i 软件中的a n a l y s i s & s y n t h e s i s 命令综合,也可以使用第三 方综合工具,生成与q u a r t u s i i 软件配合使用的e d f 网表文件或者v q m 网表文件。 布局布线的输入文件是综合后生成的网表文件,q u a r t u si i 软件中布局布线 包含分析布局布线结果、优化布局布线、增量布局布线和通过反标注保留分配。 布局布线将工程中的逻辑和时序要求与器件的可用资源相匹配。它将每个逻辑功 能分配给最好的逻辑单元位置,进行布局和布线,并选择相应的互连路径和管脚 分配。如果在设计中执行了资源分配,则布局布线器将试图使这些资源与器件上 的资源相匹配,并努力满足用户设置的任何其他约束条件,然后优化设计中的其 余逻辑。如果没有对设计设置任何约束条件,则布局布线器将自动优化设计。 仿真分为功能仿真和时序仿真。功能仿真是在设计输入之后,还没有综合、 布局布线之前的仿真,又称为行为仿真或前仿真,是在不考虑电路的逻辑和门的 时间延迟,主要考虑电路在理想环境下的行为和设计构想的一致性。时序仿真又 称为后仿真,是在综合、布局布线后,也即电路已经映射到特定的工艺环境后, 考虑器件延时的情况下对布局布线的网表文件进行的一种仿真,其中器件延时信 息是通过反标注时序延时信息来实现的。仿真即可以使用q u a r t u si i 软件中集成 的仿真器对工程中的设计或设计的一部分进行功能仿真或时序仿真,也可以使用 第三方仿真工具,目前使用最广的仿真工具为m o d e l s i m ,m o d e l s i m 是m e n t o r g r a p h i c s 公司出品的专业仿真工具,支持v h d l 、v e r i l o g 语言的设计仿真。其功 能强大、调试手段多,而且还能将波形中的任何变化和引起这个变化的r t l 代 码联系起来,使代码排错的效率大幅度提高,尤其适合大型、复杂设计的仿真和 调试。 编程和配置是在全编译成功且功能、时序均满足设计要求后,对a l t e r a 器件 进行编程和配置。可以使用q u a r t u si i 的a s s e m b l e r 模块生成编程文件,使用 q u a r t o si i 的p r o g r a m m e r 工具与编程硬件一起对器件进行编程和配置,也可以转 换编程文件格式。 2 1 2o u a r t u si i 辅助设计工具 1 、i o 分配验证 现在的f p g a 工程设计越来越复杂,使用的器件不但支持的i o 标准种类 多、速度高,且f p g a 器件为了连接更多的外部设备,管脚数目也越来越多,因 此用户必须能够对器件的i o 管脚有效的实行分配。现在的系统设计,板级布局 和f p g a 设计经常是同步进行的,因此就要求能尽早分配i o 管脚并能快捷地检 查i o 分配的合法性。q u a r t u si i 软件中的【s t a r ti 0a s s i g n m e n ta n a l y s i s 命令 第二章开发所用软硬件介绍 能在设计早期检查i o 分配,因此震户可以在 p g a 工程设计前、设计过程中以 及设计完成后检查管脚的合法性。如果在执行i o 分配验证时包含有设计文件, 则可以对设计的i o 管脚和相关逻辑执行更加彻底的合法性检查;如果是没有设 计文件,就只能覆盖某些规则,这就是一个不完备的检查,其他的规则就需要用 户鸯己在设计申注意。这些检查包括管媵是否使用了正确的参考电压、有效的管 脚位置分配和正确的混合i 0 标准等等。 2 、r t l 阅读器 隧着f p g a 设诗的复杂度越来越高,有时一个设计需要凡个人分刹完成不隧 的模块,而对每个用户来说,分析和理解综合工具如何把设计翻译成逻辑原语 也是一个很重要的功能。q u a r t u si i 中的r t l 阅读器给用户提供了在调试、优化 过程中观察自己设计的初始综合结果的途径。 在o u a r t u s i i 的r t l 阅读器中不仅可以查看壶它的集成综合工具综合后的 r t l 结构,还可以查看由第三方工具综合后的r t l 结构。r t l 阅读器观察的电 路结构是在执行综合和布局布线之前的结果,由于还没有设计转换,因此它并不 是最终实现的电路结构,但它是对原代码设计的最原始的展现。 使用r t l 阅读器可以帮助用户分析设计,以及观察设计如何被翻译成逻辑 门、原语等,因此它是观察及确定源设计是否实现所要求理想逻辑的最好工具。 用户在执行仿真验证设计功能之前可以先使用r t l 阅读器查找设计中的问题。 在设计的早期就我到阀题可以为后期验证工作节省很多时间。如果震户在验证阶 段发现了非预期的结果,则可以使用r t l 阅读器回溯到初始逻辑门、原语翻译 阶段,确定设计中的连接及逻辑是否正确。若是在砌吼阅读器中查找不到源设 计的闯题,雯| j 可以将分析重点放到设计的蜃麓处理过程中,例如在综合或布局布 线期间的优化,或者由于布髑布线引起的时序问题或是验证流程本身的缺陷等, 这样就不必在验证设计的过程中一次次的回去检查原代码设计了。 在分析设计时,使用r t l 阅读器中的一些功能,如原理图中特定节点与源 设计代码阀的切换对于调试设计是很有用的。还有查找节点、霪线等,可以快速 追踪到用户关心的节点的源信号和目标信号。 r t l 阅读器还可以帮助用户在第三方综合工具的综合结果v q m 或e d i f 网 表文件中快速查找关心的节点。这种功能是非常有用的,如在设计中对两个寄存 器之闻的多时钟作时序约寨。有时对第三方工具综合后的寄存器名称徽难确定, 这时可使用r t l 阅读器中的层次列表功能,在层次列表的特定层次中查找。还 可以在原理图中选定一个i o 端口,使用过滤、前后页面切换的方式在各个层次 的原理图之闻褒找雳户关心的节点以及逻辑路径。虽然使用r t l 阅读器戏察 a t o m s 级露表是一件非常麻烦的事情,但是相对于阅读v q m 或e d i f 文件从中 第二章开发所用软硬件介绍 奁找信号或节点麴连结关系要容易得多。 3 、s i g n a l p r o b e 及s i g n a l t a pi i 逻辑分析器 f p g a 的硬件板级调试是个费时、繁琐的过程,而且随着设计的复杂性提高, 花赞在设计验诞上的时间也越长。力了尽快使设计的产i l i l 投入市场,就要尽可能 的缩短设计验证时间。a l t e r a 提供的板级调试工具s i 辨a m f o b e 及s i g n a l t a pi l 逻辑分析器可以用来对内部信号状态进行评估,能很好地帮助设计者很快发现设 计中存在的问题。 q u a r t u si i 软件提供的s i g n a l p r o b e 能够方便的地观测到器件内部的信号,对 f p g a 调试非常重要,能够在不影响设计功能的情况下把内部信号快速布线到 i o 管脚,给f p g a 提供了一个有效的调试验证手段。使用s i g n a l p r o b e 将f p g a 内部待观察的信号分配到保留或当前不用的i o 管脚上,在设计中添加了 s i g n a l p r o b e 信号后,露使用增量编译( i n c r e m e n t a lf i t t i n g ) ,这艮使雳全编译花 费的时间少,而且编译不会影响设计的性能。s i g n a l p r o b e 信号成功设置和编译 后,将生成的配置文件加载到器件中,就可以对s i g n a l p r o b e 信号像般的i o 信号一样进行观测和验证,这给设计的内部信号的验证提供了一个抉速有效的手 段。 s i g n a l t a pi i 逻辑分析器是q u a r t u si i 软件中集成的一个内部逻辑分析软件, 使用它可以观察设计的内部信号波形,方便用户查找引起设计的缺陷。与传统的 逻辑分析仪相比,使爰s i g n a l t a pi i 逻辑分析器有以下好处: 不占用额外的i o 管脚,若是用传统的逻辑分析仪观察信号波形,则必 须将待观察信号引到空闲引脚。这样在器件管脚紧张的时候,s i g n a i t a p i i 逻辑分 析器的优点就很明显了。 不占用p c b 上的空阎,若是用传统逻辑分析仪,需要放f p g a 器件上弓| 出测试管脚到p c b 上,这样增加了p c b 走线难度。 不破坏信号的完整性。 传统逻辑分析仪价格鼹贵,丽s i g n a l t a pl l 逻辑分毫鼍器集成在q u a r t u si i 软件中,是非插入式的,可升级,易于操作,而且对q u a r t u s i i 用户是免费使用 的,无需另外付费。 虽然s i g n a l t a pi i 逻辑分析器有上述好处,但是也有缺点,由于它是使用设 计中剩余的r a m 块资源来存放数据的,因此其存储深度盘设计孛妁r a m 剩余 大小来决定。而且要使用s i g n a l t a pi i 逻辑分析器,必须将s i g n a l t a pi i 逻辑分析 器文件包含在工程文件中一起编译,这会影响整个工程设计的布局布线,有可能 影噙到设计的性能。 4 、时序收敛平面布局规划器( t i m i n gc l o s u r ef l o o r p l a n ) - 9 一 第二章开发所用软硬件介绍 q u a r t - u si i 巾麓平垂布局规划器是一个功笼强大酌工具,可数对设计中的管 脚、内部逻辑、专用功能块、设计中的关键路径,甚至设计中的模块指定适当的 约束,这样工程师们就可以合理的规划设计,利用最合适的逻辑和布线资源,使 得设计达到最优,满足性能和成本的平衡点。 在工程布两毒线后,使瘸t i m i n gc l o s u r ef l o o r p l a nn - - ;以打开底层布局布线 图,它可以给用户提供不同的视图模式,设计者可以: 观察资源分配,在t i m i n gc l o s u r ef l o o r p l a n 中,用户可以同时查看用户 设置的分配约寨和布局布线器熬布局结果。用户设置的分配主要指的是用户所徽 的管脚分配、l o g i c l o c k t m 分配以及其他的位置约束,布局布线器的分配是指 在全编译之后q u a r t - u s i i 软件对设计中所有节点的布局结果。 观察l o g i c l o c k 区域连接,在分配的l o g i c l o c k 区域之阆通过观察其连 接可以知道l o g i c l o c k 区域的逻辑是如何接1 3 的。这种功能对于把一个安体分配 到一个l o g i c l o c k 区域中尤其有用,在l o g i c l o c k 区域还阿以观察其扇入和扇出。 观察关键路径。 估计物理延时,在t i m i n gc l o s u r ef l o o r p l a n 中选择一个资源,可以戏察 到它与其他任何个资源之间的大概物理布线延时。 观察布线拥塞情况,布线拥塞特性允许用户在全编译之后观察设计占用 了百分之几的布线资源,它主要是协助用户识别器件的那个地方布线资源紧张。 布线拥塞是以蕨色帮臻影来表示布线资源的,阴影越深,代表布线资源剩爰率越 高。 t i m i n gc l o s u r ef l o o r p l a n 除了用于分析设计特性以外,还可以在其中直接对 逻辑资源或重新指定位置约束,使其满足设计的性熊要求。可以通过人为干 预综合和布局布线的过程来达到设计墨标。可以对复杂的设计进行更快的时序逼 近,减少优化迭代次数并自动在多个设计约束之间做平衡。 5 、c h i pe d i t o r 底层编辑器 a l t e r af p g a 在容量和性熊上有很多优势,很多器件系列都有嵌入的存储器、 专用数字信号处理块( d s p ) 以及支持多种l o 标准。f p g a 有了这些特性,其 设计也越来越复杂。q u a r t u si i 软件中的c h i pe d i t o r 是在设计后端对设计进行快 速查看和修改的强有力工具,使系统投放到市场的时间更短。 c h i pe d i t o r 可以查看编译后布蜀布线躺详细信怠,它允许用户直接修改布羼 布线后的逻辑单元、i o 或p l l 单元的属1 生和参数,而不是修改源代码,这样就 避免了重新编译整个设计的过程。c h i pe d i t o r 可以帮助用户解决很多复杂问题, 包括快速修改功能上的小缺陷。 在c h i pe d i t o r 中,用户可以观察到设计的如下信息: 第二章开发所用软硬件介绍 设计中f p g a 已用的布线资源。例如,检查两个块之间是如何物理连接 的以及连接两个块之间的信号布线等。 l e ( 逻辑单元) 配置。用户可以通过此功能观察在自己设计中l e 的配 置方式,例如哪个l e 的输入被使用了,是l e 中的寄存器资源还是查找表资源, 还是两者都被使用了,或者这个l e 仅仅作为信号传输路径,信号透明传输直接 穿过这个l e 。 i o e ( 输入输出单元) 配置。使用c h i pe d i t o r 可以观察器件的f o 资源 使用情况。例如,可以观察到哪个部分的i o 已经使用了,i o e 中哪些寄存器被 使用了。用户还可以编辑f o e 中的i o 可编程延迟单元。 p l l ( 锁相环) 配置。使用c h i pe d i t o r 可以观察在设计中的p l l 是如何 配置的。例如,可以观察p l l 的哪个控制信号被使用了,也可以修改p l l 的配 置参数。 通常的设计流程是以编写r t l 级代码开始的,之后是验证r t l 级代码是否实 现了正确的功能,验证布局布线后的结果是否满足设计的时序要求,最后是将编 程文件配置到目标f p g a 器件中调试,完成整个开发流程。但是,不可能像过流 水线一样从头到尾走一遍就可以将设计完成,在设计中经常会在r t l 代码中找到 错误,甚至更糟的情况是在调试的时候经常要从设计流程的第一步开始进行修 改,在对源代码作了适当的修改后,再重新执行整个设计流程。在反复修改的过 程中,有一些设计错误是非常微小的,例如,一个输出信号被错误的反相了,或 者p l l 的移相参数设置错误。如果要修改这种错误,使用c h i pe d i t o r 就可以有效 地缩短开发时间和投放市场的时间。使用c h i pe d i t o r ,用户可以直接修改布局布 线后的数据库文件,产生一个新的编程文件,而不需要修改r t l 源代码。如图2 1 为使用c h i pe d i t o r 的设计流程图。【2 】 图2 1 使用c h i pe d i t o r 的设计流程 1 1 第二章开发所用软硬件介绍 2 2 f p g a 简介 2 2 1f p g a 基本结构 简化的f p g a 基本由6 部分组成,分别为可编程输入输出输出单元、基本 可编程逻辑单元、嵌入式块r a m 、丰富的布线资源、底层嵌入功能单元和内嵌 专用硬核等。 2 2 2 可编程逻辑代码设计基本原则 随着可编程逻辑设计日趋复杂,其系统复杂度和设计频率要求也越来越高, 良好的c o d i n gs t y l e ( 代码风格) 对设计的工作频率,所消耗的芯片面积,甚至 整个系统的稳定性都非常重要。而且良好规范的c o d i n gs t y l e 将更便于设计的移 植,还会使综合、实现等优化事半功倍,达到最优化的结果。【3 1 下面为一些常用的c o d i n gs t y l e : 1 、结构层次化编码和模块划分 结构层次化编码是模块化设计思想的一种体现。目前大型设计中必须采用 结构层次化编码风格,以提高代码的可读性,易于模块化划分,易于分工协作, 易于设计仿真测试激励。最基本的结构化层次是由一个顶层模块和若干个子模块 构成,每个子模块根据需要还可以包含自己的子模块。模块划分的原则如下:用 寄存器分割同步时序模块、将相关的逻辑或者可以复用的逻辑划分在同一模块 中、将不同优化目标的逻辑分开、将松约束的逻辑划分到同一模块中、将存储逻 辑独立划分成模块、划分模块的规模要合适。 2 、组合逻辑 相对复杂一些的设计都是由两部分组成的,分别为时序逻辑( s e q u e n t i a l l o g i c ) 和组合逻辑( c o m b i n a t i o nl o g i c ) 。同步时序设计系统中并不是不包含组 合逻辑,而是要更加合理地设计、划分组合逻辑。对于组合逻辑,应该注意以下 问题:避免组合逻辑反馈回路。替换延迟链( 用分频或倍频的时钟或者同步 计数器完成所需延迟) 替换异步脉冲产生单元。在异步时序设计中,常用d e l a y c h a i n s 完成脉冲产生,它会产生很多毛刺,应避免使用。慎用锁存器。 3 、时钟设计的注意事项 时钟是同步设计的基础,在同步设计中,所有操作都是基于时钟沿出发的, 所以时钟设计对同步时序电路而言非常重要。组合逻辑设计时钟的方法多种多 样,但是这些设计如果直接移植到同步时序电路中会带来各种各样的问题,同步 时序电路最好采用以下方法:时钟经全局时钟输入引脚输入,通过f p g a 内部的 第二章开发所用软硬件介绍 专用p u 或d l l 进行分频、倍频、移相等调整和运算,然后经过f p g a 内部全 局时钟布线资源驱动到达芯片内所有寄存器和其他模块的时钟输入端。 4 、判断比较语句c a s e 和i f e l s e 的优先级 c a s e 语句是“平行”的结构,所有的c a s e 的条件和执行都没有“优先级”,而 “i f e l s e ”在大多数情况下是有优先级的。而建立优先级结构会消耗大量的组合逻 辑,所以如果能够使用c a s e 语句的地方,尽量使用c a s e 替换i f e l s e 语句结构。 5 、状态机设计 状态机是逻辑设计中比较重要的内容,通过状态转移设计手段可以将复杂 的控制时序图形化,分解为状态之间的转换关系,使问题简化。使用h d l 语言 高效、完备、完全的描述状态机在一定程度上是一件体现代码功底的设计原则。 状态机的设计原则为:选择合适的状态机的编码方式、多段式状态机设计、使状 态机具有初始化状态和默认状态。 6 、a l t e r am e g a f u n c t i o n 资源的使用 a l t e r a 的m e g a f u n c t i o n 是很方便的设计输入资源,m e g a f u n e t i o n 是基于 a l t e r a 底层硬件结构最合理的成熟应用模块的表现,所以在代码中尽量使用 m e g a f u n c t i o n 这些i p 资源,这样不但能将设计者从繁重的代码编写中解脱出来, 更重要的是在大多数情况下m e g a f u n c t i o n 的综合和实现结果比用户编写的代码 更优。使用a l t e r a 的i p 设计项目有如下好处: 提高设计性能。 降低产品开发成本。 缩短设计周期。 设计灵活性强。 仿真方便。 o p e n c o r ep l u s 支持无风险应用。 2 2 3 设计优化技术 设计优化是一个很重要的主题,也是可编程逻辑设计的精华所在。如何节省 设计所占用的面积,如何提高设计的性能,是可编程逻辑设计的两个核心。设计 优化就是在设计没有达到用户要求的情况下对其进行的一些改进,以满足设计的 初始规格。所以,优化的前提是用户根据自己设计选定的器件类型、速度等级和 封装,对设计做合理且完备的约束和设置,先对设计进行初始的编译。在达不到 用户要求的情况下进一步进行优化。 首先,用户需要根据自己的资源使用情况,选定目标器件,指定器件型号、 速度等级和封装等。然后,用户需要对设计加约束,编译,分析编译报告,包括 第二章开发所用软硬件介绍 资源使用报告和时序报告。如果设计不能实现到指定的器件中,那么需要对设计 做资源优化,如果设计的时序性能没有达到预期目标,就需要对设计进行性能优 化。用户需要首先满足设计的i o 时序,然后对设计的内部时钟频率进行优化。 优化一般分为面积优化和时序性能优化。在首次编译之前,对设计进行适当
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 女职工健康知识竞赛试题及答案
- 代付款三方协议书范本4篇
- 幼儿园装修工程预算与成本控制方案
- 2025年刀具的试题及答案
- 2025重庆大学核能技术创新研究院劳务派遣人员招聘2人备考练习试题及答案解析
- 2025海南三亚市吉阳区教育系统招聘编制教师(第10号)考试参考试题及答案解析
- 2025年国家税务总局海南省税务系统所属事业单位招聘20人备考练习题库及答案解析
- 2025年日记常见的题目及答案
- 2025重庆鈊渝金融租赁股份有限公司社会招聘备考练习试题及答案解析
- 2025年山歌鉴赏题目及答案
- 通信工程用电登高等高风险作业施工安全操作
- 邮政储汇业务员高级技师理论知识试卷
- 四川雅安市人力资源和社会保障局招考聘用编外工作人员【共500题附答案解析】模拟检测试卷
- 护理服务规范整改措施(共15篇)
- 幼儿园教育活动设计与实践 张琳主编 PPT
- 建筑施工过程中成品保护施工方案
- 西师版三年级上册数学全册教案(完整)
- 整理版第三届宁波国际海报双年展2004获奖作品选
- 关键过程(工序)和特殊过程(工序)管理办法
- 武术校本课程武术基本功
- 机械制造及自动化专业讲座
评论
0/150
提交评论