(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf_第1页
(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf_第2页
(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf_第3页
(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf_第4页
(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf_第5页
已阅读5页,还剩58页未读 继续免费阅读

(通信与信息系统专业论文)基于fpga的指纹比对加速卡接口模块的设计与实现.pdf.pdf 免费下载

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

文档简介

基于f p g a 的指纹比对加速卡接口模块的设计与实现 摘要 现代社会对人们身份识别和验证的要求日益迫切,而指纹识别技 术是目前应用最为广泛的生物特征识别技术。在实际应用中,我们常 常需要将待测的少数指纹与一个超大规模的指纹数据库中数量巨大 的指纹进行比对。在这种情况下,高准确率算法的计算复杂性和比对 需要的高速度形成了一对矛盾。解决这个矛盾的方法之一是采用带有 硬件加速设备的两级比对系统,即先由硬件完成指纹粗比对,然后再 根据粗比对结果由软件进行细比对来判断两枚指纹是否匹配。在这两 级系统中,由于使用了专门的硬件加速设备分担了指纹比对的运算 量,因而提高了指纹比对的速度。 本文讨论的基于f p g a 的指纹比对加速卡,就采用了这种两级指 纹比对系统。该加速卡的功能是将现场指纹和库指纹进行粗比对,计 算出待测的现场指纹相对于库指纹的角度和位置偏移量,以便于细比 对模块将指纹对齐,进而进行细比对来判定两枚指纹是否匹配。该加 速卡设计目标是满足1 0 0 万人以上的超大规模指纹库,设计比对速度 为1 0 ,0 0 0 枚秒。 论文主要包括三部分内容tp c i 接口模块实现方案的确定、 p l x 9 0 5 4 芯片与指纹粗比对模块之间的本地总线接口模块的逻辑设 计( 包括本地总线控制模块、库指纹片外缓冲控制模块、库指纹片内 传输控制模块和比对结果返回模块的逻辑设计) 以及指纹粗比对硬件 加速卡的p c b 设计。 关键字:自动指纹识别系统,指纹粗比对,f p g a ,p c i ,p l x 9 0 5 4 t h ei m p l e m e n t a t i o no f f p g a b a s e dl i i n g e r p r l n tm a i c h i n g a c c e l e r a t o ri n t e r f a c em o d u l e a b s t r a c t n o w a d a y s ,t h ei d e n t i f i c a t i o na n da u t h e n t i c a t i o na r cw i d e l yu s e di n v a r i o u s f i e l d s f i n g e r p r i n t i s p l a y i n gav e r yi m p o r t a n tr o l e i nt h e b i o l o g i c a li d e n t i f i c a t i o nm e t h o d s a st h es c a l eo ff i n g e r p r i n td a t a b a s e i n c r e a s e d r a m a t i c a l l y , at w o l e v e l m a t c h i n gs y s t e mi s c h o s e ni no u r s y s t e m t h eh a r d w a r ei su s e dt op e r f o r mc o a r s ef i n g e r p r i n tm a t c h i n ga n d s o r w a r ei su s e dt od of i n em a t c h i n g f p g a - b a s e d h a r d w a r ea c c e l e r a t o rd i s c u s s e di nt h et h e s i si s d e s i g n e da sac o a r s em a t c h i n gu n i ti n o u rt w o l e v e l f i n g e r p d n t m a t c h i n gs y s t e m i t s d e s i g n e d f o rn m n i n go no n em i l l i o n - p e o p l e f i n g e r p r i n td a t a b a s ea n da i m st od om a t c h i n ga tt h es p e e do f1 0 ,0 0 0 f i n g e r p r i n t sp e rs e c o n d t h r e ep a r t sa r ci n c l u d e di nt h et h e s i s f i r s t l y , t h ep c ib u si n t e r f a c e i m p l e m e n t a t i o nm e t h o d sa r eg i v e n s e c o n d l y , s o m el o g i c a ld e s i g n s i n c l u d i n gp l x 9 0 5 4l o c a l b u si n t e r f a c em o d u l ea n ds o m es u bm o d u l e sa r e d i s c u s s e di nd e t a i l a tl a s t ,t h ep c bi m p l e m e n t a t i o no ft h ef i n g e r p r i n t m a t c h i n ga c c e l e r a t o ri sd e s c r i b e d k e y w o r d s :f i n g e r p r i n tm a t c h i n g ,f i n g e r p r i n ta c c e l e r a t o r ,p c i , p l x 9 0 5 4 ,f p g a 独刨性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或其他 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均己在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名: 日期: 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权保 留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅和借 阅:学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印或其它 复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密 论文注释:本学位论文不属于保密范围,适用本授权书。 本人签名: 导师签名: 日期: 日期: 北京邮电大学硕t 论文 第一章绪论 1 1 自动指纹识别系统的研究背景及意义 随着社会和技术的发展,尤其是随着电子商务、电子银行业务的发展,人们 安全意识越来越强,对个人身份有效认证要求越来越高,提供安全、有效、可靠 的身份认证方法就显得越来越重要。原来使用的那些比较简单的身份认证技术, 如:笔迹、密码等就显得力不从心了,而生物识别技术以其特有的优点越来越受 到人们的青睐i l j 。 生物特征识别技术是指以计算机数据处理方式,利用人体的生物特征或者行 为特征来进行个人身份鉴别的技术。人体的生物特征与生俱来,主要包括指纹、 声音、人脸、虹膜以及d n a 等等。不同的生物特征识别系统具有不同的特点, 表1 1 给出了常见的一些生物特征识别系统的比较: 表1 1 1 2 1 生物统普遍性唯一性稳定性可采集准确性可接受安全性 计特征性性 指纹中高高 中 高中高 脸型高低中高低高低 手形 中中 中 高 由 中 由 击键方低低低 中 低 由由 式 虹膜高高高 中 高低 高 d n a 高高高低高低低 从表中可以发现,指纹识别技术明显领先于其他生物识别技术,这是因为指 纹各不相同,终生基本不变的特点已经得到公认【3 1 ,另外近二三十年的警用指纹 自动识别系统的研究和实践为指纹自动识别的实用打下了良好的技术基础。特别 是现有的指纹自动识别系统已达到操作方便、准确可靠、价格适中的阶段,是实 用化的生物测定方法。指纹识别系统适用于几乎所有需要进行安全性防范的场 合,遍及诸多领域,在包括金融证券、r r 、医疗、福利等行业的许多应用系统中 都具有广阔的应用前景。尤其是在公安刑侦业务中,指纹可以作为有效证据来直 接认定罪犯。而传统的指纹比对主要是人工来实现,通过肉眼加上人的判断来进 北京邮电人学硕i 二论文 行指纹的比对,比对速度慢、效率低,极大地限制了指纹识别技术地应用,在实 际使用中有很大的局限性。计算机技术的飞速发展使得用计算机替代人工管理、 比对指纹档案成为可能。这些年国内外许多公司都对自动指纹识别系统做了大量 的研究,从开始利用大型计算机到现在流行的个人计算机来实现比对算法都有不 少成功的范例。随着p c 机技术和运算能力的飞速发展,p c 机的高性能价格比 使得用p c 机来实现指纹比对已经成为流行趋势,取代工作站和大型计算机将是 必然趋势。 国外上从六十年代开始自动指纹识别系统( a f i s ,a u t o m a t i cf i n g e r p r i n t i d e n t i f i c a t i o ns y s t e m ) 的研究,随着计算机信息处理技术的只趋完善,几十个国 家和地区( 例如,欧荚各国、r 本、印尼、朝鲜、新加坡、马来西亚、香港、澳 门、台湾等) 的警察部门都已装备了先进的自动指纹识别系统,利用计算机管理 指纹信息。计算机指纹管理系统对大规模数据库的管理能力、建库的高速度和高 度自动化的处理能力、迅速准确的查询比对结果、刑事信息管理的高度综合以及 联网互查的强大功能,是人工指纹资料管理方式所无法达到的。另外,自动指纹 识别技术在国际上还广泛应用于安全检查、安全防卫、银行储蓄管理、汽车驾驶 管理,以及电子商务等方面。 目前国外已有不少高性能的系统,如同本的n e c ,美国的p r i n t r a k 、 c o g d 盯,法国的m o r p h o 等公司都推出了自己的实用系统。这些系统一般以 大型计算机为主体,或者由若干台工作站构成专用计算机系统,而且都配备与其 软件配套的专用硬件加速器。这些系统具有速度快,性能好的优点,缺点是价格 昂贵。 。 我国从七十年代末开始自动指纹识别的研究,已经取得了很大的成绩,特别 是在算法研究方面已接近国际先进水平。但是我国的指纹系统基本上都是以单台 微机或工作站为主体,没有对系统本身做专门的研究,也没有专门的硬件加速设 备,因此存在建库、比对速度慢和系统资源利用率低的缺点。 鉴于以上几种情况,从我国国情出发,需要研究开发适合我国国情的,性能 价格比适中的自动指纹识别系统。 对于超大规模系统与建库速度要求高或比对任务量大的指纹系统,为满足其 对于系统性能的高要求,除了依靠增加参与并行工作的系统处理机个数外来增加 系统处理能力外,最有效的方法是采用硬件加速设备。 指纹比对算法是重复的大运算量任务,适合用硬件设备实现,以使主机集中 处理能力于其他方面的工作。配备专用的指纹比对加速卡不仅可以大幅度提高系 统的速度,同时也为系统中采用更复杂的算法来提高系统处理的精度创造出了更 有利的条件。由于指纹库中的指纹数目是巨大的,把现场指纹和它们一一进行比 北京邮电人学硕1 :论文 对,要耗费大量的时间,因此在精细的比对之i i i ,先进行一次粗比对,排除大量 的明显不匹配的指纹是提高自动指纹识别系统的一个有效途径。 本人在研究生期间所从事的研究工作基于f p g a 的指纹粗比对硬件加 速卡,即属于自动指纹识别系统的一部分,是基于p c 机p c i 总线的一种插卡。 它的主要功能就是利用硬件在速度上的优势,使用固化在f p g a 芯片内部的简单 的比对算法,初步滤掉一些不匹配的库指纹,使得下一级的软件细比对程序仅仅 比对通过加速卡的库指纹数据即可,这样就大大加快了比对的总体速度。在满足 剔除率的条件下,加速卡滤掉的库指纹越多,细比对的工作量越小,总体比对效 率就越高1 4 1 。 1 2 本论文主要工作以及各章安排 本人在研究生期间,主要完成了 ( 1 ) 指纹粗比对硬件加速卡p c i 接口模块设计方案的论证及实现。通过 比较实现p c i 总线接口的一些方法,从性能、设计周期、可靠性等角度加以分析, 为我们的指纹粗比对硬件加速卡选择合适的p c i 接口实现方案; ( 2 ) 主机接口模块逻辑设计的实现。包括本地总线控制模块,库指纹片外 缓冲区控制模块、库指纹片内缓冲控制模块、比对结果返回模块的设计实现。对 每个模块进行了r t l 级编码,以及功能和时序发仿真,实现了相应功能; ( 3 ) 硬件加速卡的原理图以及p c b 的设计实现。包括选择合适的元器件进 行加速卡的板卡设计。根据设计,指纹粗比对硬件加速卡能够运行在6 6 m h z , 每秒比对1 0 ,0 0 0 枚指纹瞪】。 论文章节安排如下: 第二章主要介绍了f p g a 基本原理以及一些常用的设计方法和思想;第三章 介绍了p c i 局部总线的特点和p c i 接口模块的各种设计方案,通过对各个方案 的比较,最终选择p c i 接口控制芯片来完成设计;第四章主要介绍了主机接口模 块的设计实现。这一模块在逻辑上处于p c i 接口控制芯片和指纹粗比对模块之 间,负责完成将指纹粗比对需要的库指纹特征点数据、比对需要用到的表数据、 现场指纹特征点数据、现场指纹特征边信息,比对用到的打分公式和误差容限通 过d m a 方式传送到加速卡上,同时将比对模块产生的比对结果数据以d m a 方 式及时传回主机;第五章介绍了指纹粗比对加速卡的p c b 设计,以及在p c b 设 计过程中需要注意的一些问题。第六章是对所作工作的总结和展望。 北京邮电大学硕i :论文 2 1f p g a 概述 第二章f p g a 原理及设计方法 f p g a 是f i e l dp r o g r a m m a b l el o g i ed e v i c e 的缩写,即现场可编程逻辑阵列, f p g a 是在c p l d 的基础上发展起来的新型高性能可编程逻辑器件,它一般采用 s r a m 工艺,也有一些专用器件采用f l a s h 工艺或者反熔丝( a n t i - f u s e ) 工艺等。 f p g a 集成度很高,其器件密度从数万系统门到数千力系统门不等,可以完成极 其复杂的时序与组合逻辑电路功能,适用于高速,高密度的高端数字逻辑电路设 计领域。f p g a 的基本组成部分有可编程输入输出单元、基本可编程逻辑单元、 嵌入式块r a m 、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核等。f p g a 器件主要供应商有a l t e r a ,x i l i n x ,l a t t i c e ,a c t e l 和a t m d 等【6 】。 f p g a 继承了a s i c 的大规模、高集成度、高可靠性的优点,又克服了普通 a s i c 设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设计 的理想首选,当代f p g a 有以下特点: 规模越来越大。随着超大规模集成电路( v l s i ) 工艺的不断提高,单一芯 片内部可以容纳上百万个晶体管,f p g a 芯片的规模也越来越大,单片逻辑门数 已逾千万,如a l t e r as t r a t i x 2 的e p 2 s 1 3 0 已经达到千万门的规模。随着芯片规模 的增大带来的就是更加强大的性能,同时也更加适用于实现片上系统( s o c ) 。 开发过程投资小,设计灵活。这也是f p g a 能够收到众多电子设计者喜爱的 一个重要原因,由于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 完成系统的研 制与开发 增加系统的保密能力。可编程器件一般都具有加密能力,在系统中广泛使用 可编程器件,如f p g a ,能够很好的保护自己的知识产权不受侵害。 北京邮电人学顾 二论文 2 2a l t e r as t r a t i x 2 系列f p g a 主要特点 在指纹粗比对硬件加速卡的设计中,我们采用了a l t e r a 公司的s t r a t i x 2 e p 2 s 1 3 0 k 的f p g a 芯片,它是采用了1 2 v 核心电压、9 0 n m ,9 层金属走线、 全铜s r a m 工艺制造的。它在成功的s t r a t i x 构架的基础上,做了一些适合于9 0 n m 工艺的改进,同s t r a t i x 类似,s t r a t i x 2 的内部主要特性有内嵌r a m 块、d s p 块、 锁相环和外部的存储器接口等等,同时s t r a t i x 2 也增加了新的特性,才用了全新 的逻辑结构自适应逻辑模块,增加了源同步通道的动态相位对准( d p a ) 电 路和对新的外部存储器接口的支持,如d d r 2s d r a m 和r l d r a m 2 。s t r a t ix :2 器件还可以采用1 2 8 位a e s 密钥对配置文件进行加密,保证用户设计的安全。 对于一般f p g a 芯片,其逻辑单元( l e ) 经典结构一个四输入查找表( l u t ) 和一个触发器。为什么几乎所有的f p g a 厂商都采用这个结构呢? 我们假设 f p g a 中有两种l u t ,一种是固定2 输入的,另一种是固定8 输入的,我们看一 下这两种l u t 如何实现一个5 输入的函数。 在使用2 输入的u _ t 时,4 个u j t 串成一个链中。这时,设计中逻辑级数 为4 级,逻辑延时较大,但是所有的l u t 输入都用上了。在使用8 输入l u t 时, 只需要1 个l u t 时。这时,设计中逻辑级数为l 级,逻辑比较快,但是有3 个 u j t 的输入信号被浪费了,也就是浪费了部分硅片面积,如图2 1 所示: 图2 1 相比较而言,采用较“窄”的逻辑结构,比较节省硅片面积,但是总体性能 比较差,而采用“宽”的逻辑结构,总体性能比较好,但是浪费硅片面积,成本 较高。所以采用4 输入的l u t 只是在成本和性能之间做的一个折中。 s t r a t i x 2 的a l m 正是兼有了“窄”的逻辑结构的高利用率和“宽”逻辑结 构的高性能。a l m 中的组合逻辑模块可以根据用户的需求由设计工具自动配置 北京邮电人学硕士论文 成需要的模式。例如可以配置成5 输入和3 输入的l u t ,或5 输入和4 输入的 l u t ,或者两个4 输入的u j t 等等,如图2 2 所示: a l i 垌 叫l u tl :ii n _ 划 图2 2 s t r a t i x 2 采用了a l m 结构,可以说是f p g a 构架方面的革命。它能在为用 户提供高性能的同时,保持较低的成本。 另外,a l m 内部也有两个3 输入加法器,和传统的2 输入加法器相比,在 实现算术运算时,显著的减少了加法电路的级数,提高了计算的性能【6 l 。 2 3f p g a 设计方法 2 3 t 基于f p g a 的开发流程 基于f p g a 的开发流程一般分为以下几个步骤: ( 1 ) 设计输入:现在最常用的有三种输入方式:原理图输入、硬件描 述语言输入和波形输入。原理图输入方式是直接画出原理图的输入方式。它 的优点是方式直观,便于信号的观察和线路的调整;缺点是效率低,可移植 性差,而且不适于做大型的数字电路设计。硬件描述语言是用文本方式描述, 分为普通描述语言和行为描述语言。普通描述语言适用于简单的可编程器 件,行为描述语言是高级描述语言。优点有:语言与工艺无关;便于大规模 设计;输入效率高等。波形输入方式不是最初的设计输入,而是用来建立和 编辑波形文件,以及输入仿真向量和功能测试向量: ( 2 ) 功能仿真( 前仿真) :将文件调入h d l 仿真软件进行功能仿真, 检查逻辑功能是否正确,不包括延时信息; ( 3 ) 逻辑优化与综合:将源文件,如h d l 语言,原理图等设计输入调 入逻辑综合软件进行逻辑分析处理,即将高层次描述( 行为或数据流级描述) 翻译成低层次的网表输出( 寄存器与门级描述) ,逻辑综合软件会生成e d i f ( e l e c t r o n i cd e s i g ni n t e r c h a n g ef o r m a t ) 格式的e d a 工业标准文件。这步在 北京邮电大学颀上论文 f p g a 开发过程中最为关键,影响综合质量的因素有两个,即代码质量和综 合软件性能; ( 4 ) 综合后仿真:综合完成后要检查综合结果与原设计是否一致,做 综合后仿真。仿真时,把综合生成的标准延时文件反标注到综合方针模型里 面去,可估计门延时带来的影响,但是不能估计线延时,所以这种仿真的主 要目的在于检查综合器的综合结果是否与设计输入一致。随着目前综合工具 的不断发展成熟,对于一般性的设计,如果设计者确信自己表述明确,没有 综合歧义发生,则可以省略综合后仿真的步骤。但是如果在布局布线后仿真 时发现有电路结构与设计意图不符合的现象,则常常要回到综合后仿真这步 检查: ( 5 ) 适配与分割:确定优化以后的逻辑能否与期间中的宏单元和i o 单元适配,然后将设计分割为多个便于识别的逻辑小块形式映射到器件相应 的宏单元中。如果整个设计超出器件的宏单元或i o 单元资源,可以将设计 划分到多片同系列的器件中去: ( 6 ) 实现与布局布线:布局和布线工作是在上面的工作完成后由软件 自动完成,它以最优的方式对逻辑单元布局,并准确的实现元件间的互连; ( 7 ) 时序仿真:即延时仿真,由于不同器件、不同布局布线,给延时 造成的影响不同,因此对系统进行时序仿真,检验设计性能,消除竞争冒险 是必不可少的步骤: ( 8 ) 调试与加载配置:将设计文件下载入芯片进行测试,这步往往要 用到逻辑分析仪,示波器等等工具【刀。 2 3 2f p c , a 设计思想和一些技巧 f p g a 设计方法多种多样,涉及到的技巧更是举不胜举,这里仅挑选几种最 为常用的简单介绍; 2 3 2 1 乒乓操作 “乒乓操作”是一个常常应用于数据流控制的处理技巧。乒乓操作的处理流 程描述如下:输入数据流通过“输入数据选择单元”,等时的将数据流分配到两 个数据缓冲区。数据缓冲模块可以为任何存储模块,比较常用的存储单元为双口 r a m ( d p r a m ) 、单口r a m ( s p r a m ) 、f i f o 等。在第一个缓冲周期,将输入 的数据流缓存到“数据缓冲模块1 o 在第2 个缓冲周期,通过“输入数据选择单元” 的切换,将输入的数据流缓存到“数据缓冲模块2 ”,与此同时,将“数据缓冲模块 北京邮i u 人学硕l :论文 l ”缓存的第1 个周期的数据通过“输入数据选择单元”的选择,送到“数据流运算 处理模块”被运算处理。在第3 个缓冲周期,通过“输入数据选择单元”的再次切 换,将输入的数据流缓存到“数据缓冲模块1 ”,与此同时,将“数据缓冲模块2 ” 缓存的第2 个周期的数据通过“输入数据选择单元”的切换,送到“数据流运算处 理模块”被运算处理。如此循环,周而复始。 输出输入 模块lh 数据 篓歹一。氧 数据 丫流选 鳖秒k 数据流运算 流选 择单择单 兀兀处理模块 卜 姗x脚x 一 模块2 降戳色蕊穸 2 选12 选1 y 图2 3 乒乓操作示意图 乒乓操作的最大特点是,通过“输入数据选择单元”和“输出数据选择单元4 按节拍、相互配合的切换,将经过缓冲的数据流没有时间停顿的送到“数据流运 算处理模块”,被运算与处理。把乒乓操作模块当做一个整体,站在这个模块的 两端看数据,输入数据流和输出数据流都是连续不断的,没有任何停顿,因此非 常适合对数据流进行流水线式处理。所以乒乓操作常常并应用于流水线式算法, 完成数据的无缝缓冲与处理【s l o 2 3 2 2 串并转换 串并转换是f p g a 设计的一个非常重要的思想,是e d a 设计中经常用到的 数据流处理手段,从本质上来讲,串并转换实际上是设计中消耗的芯片面积与想 要得到的设计工作速度的互换思想的体现。将串行转换为并行,一般旨在通过复 制逻辑,提高整个设计的数据吞吐率,本质是通过芯片面积的消耗来换取系统工 作频率的提高,而将并行转换为串行,则是在保证了工作频率的情况下尽量的节 约芯片消耗的面积,以达到降低整个设计成本的目的。串并转换实现的方法多种 多样,根据数据的排序和数量的要求可以选用寄存器、r a m 等实现。前面在乒 乓操作的举例,就是通过d p r a m 实现了数据流的串并转换,而且由于使用了 d p r a m ,数据的缓冲区可以开的很大。对于数量比较小的设计可以采用寄存器 完成串并转换。如无特殊需求,应该用同步时序设计完成串并之间的转换。对于 排列顺序有规定的串并转换,可以用c 鹤e 语句判断实现。对于复杂的串并转换, 还可以用状态机实现【引。 北京邮电人学硕 :论文 2 3 2 3 流水线设计 所谓流水线( p i p e l i n i n g ) ,就是把一个周期内执行的逻辑操作,分成几步较 小的操作,并在多个高速的时钟内完成 9 1 。流水缴k 在速度优化中是最常用的 技术之一。它能显著的提高设计的运行速度上限。在境代的微处理器,数字信号 处理器,高速数字系统,高速a d ,d a 设计中几乎都离不开流水线技术,著名 的i n t e l 的c p u 系列,就使用了多级流水线技术。下图简单的表达了流水线技术 的概念:上面的电路频率是1 x ,下面的是3 x ,我们可以看到,采用流水线技术 后,电路的频率得到了提高。 从下图可以看到,流水线的基本结构为n 个单流向串联起来的操作。流水 线操作的最多特点和要求是,数据流在各个步骤的处理,从时间上看是连续的, 如果将每个操作步骤简化假设为通过一个d 触发器( 就是用寄存器打一个节拍) , 那么流水线操作就类似一个移位寄存器组,数据流依次流经d 触发器,完成每 个步骤的操作。 寄存器+数据通路操作- - p寄存器 出 赢气丽乍君 图2 4 流水线技术的概念 设计流水线的一个关键问题是时序设计一定要安排合理,将一个延时较大的 组合逻辑划分为几块相对较小的组合逻辑块时,最好每个小逻辑块的延时也要大 致相等,这时候设计最为简单,在小逻辑块问加入触发器相连即可。如果前级操 作时间恰好小于后级操作时间,则必须通过复制逻辑,将数据流分流,或者在前 级对数据采用先存储、后处理方式,否则会造成后级数据溢出。如果前级操作时 间大于后级的操作时间,则需要对前级的输出数据适当缓存,才能汇入后级的输 入端。 北京邮电人学硕i :论文 事实上,在设计中加入了流水线,尽管可以提高系统的工作频率,但并不会 减少原设计中总的延时,有时甚至还会增加插入的寄存器的延时及信号同步的时 间差,而且如果流水线的级数过多,虽然系统的工作频率可能会很高,但是系 统的工作效率不一定高,所以,采用流水线设计方法要权衡利弊。 适用范围:如果某个设计的处理流程分为若干步骤,而且整个数据处理是“单 流向”的,即没有反馈或者迭代运算,前一个步骤的输出是下一个步骤的输入则 可以考虑采用流水线设计方法提高系统的工作频率。 2 3 3 硬件描述语言v i i d l v h d l 的英文全名是v e r yh i g hs p e e di n t e g r a t e dc i r c u i th a x d w a r ed e s c r i p t i o n l a n g u a g e ,于1 9 8 3 年由美国国防部发起创建,由i e e e 进一步发展并在1 9 8 7 年 作为“i e e e 标准1 0 7 6 ”发布。自此,v h d l 作为硬件描述语言的业界标准之一。 自i e e e 公布了v h d l 的标准版本之后,各个e d a 公司相继推出了自己的v h d l 设计环境,或宣布自己的设计工具支持v h d l 。自此,v h d l 在电子设计领域得 到了广泛应用,并逐步取代了原有的非标准硬件描述语言。1 9 9 3 年,i e e e 对 v h d l 进行了修订,从更高的抽象层次和系统描述能力上扩展了v h d l 的内容, 公布了新版本的v h d l ,即i e e e l 0 7 6 1 9 9 3 9 ( 9 3 版v h d l ) 。现在,v h d l 和v e r i l o g 作为i e e e 的工业标准硬件描述语言,得到众多e d a 公司的支持,在电子设计 工程领域已经成为事实上的通用硬件描述语言。( 目前最新的v h d l 标准版本是 i e e e l 0 7 62 0 0 2 ) 。 v h d l 作为最为广泛使用的硬件描述语言之一,作为当今e d a 设计方法的 主要方法和手段之一,它不是用门级原理图,而是用代码来设计、描述电路结构。 在使用v h d l 时除了要编写代码,还要建立层次结构,v h d l 覆盖了各个层次, 自上而下的设计整个系统,有三种描述方法:行为描述、数据流描述和结构描述。 这些描述方法给电子线路设计师带来很大的自由度,但对初学者来说,描述硬件 的方法使用不当,有的程序不能被综合器接受则无法实现。下面简单介绍一下 v h d l 的三种描述方法: ( 1 ) 行为描述方式:行为描述方式是对系统数学模型的描述,其抽象程度 最高,一般用于系统数学模型的仿真或者系统工作原理的仿真,我们平时写的测 试激励文件,即t e s t b e n c h 文件,经常用这种描述方式。在行为描述中大量采用 算术运算,关系运算,惯性延时,传输延时等等语句,而不去强调存储器的工作 情况,也无需描述电路的网络表或数据路径,一般不用考虑电路的底层结构。行 为描述方式更类似那些传统程序语言,语句的执行将是序列地,仅是在输入和输 出交互行为描述上类似实际电路。因此能够方便的验证设计人员对系统电路整体 北京邮电人学顾l :论文 设计思路的正确与否。设计者只要考虑清楚输入与输出行为,而不需花更多的精 力关注设计的底层电路实现。但是由于这种描述方式的抽象程度太高,所以大部 分行为描述语句是无法综合的,也许随着e d a 开发软件的不断发展,这种情况 会有所改善; ( 2 ) 数据流描述方式( 寄存器传输级) :数据流描述方式对应于逻辑方程式, 又称寄存器传输级描述方式,这种方式描述了数据的运动路径,运动方向和应该 输出的结果,这种描述方式是能被综合工具综合的,但要求设计者对整个设计实 体的功能实现有一定了解,有时还需要对内部电路了解。数据流描述方式严格定 义了电路设计中每个寄存器和寄存器之间的组合关系。因此这种设计包含有电路 的结构信息; ( 3 ) 结构描述:结构描述方式就是用在多层次的设计中,高层次的设计模 块调用低层次的设计模块,或者直接用门电路设计单元来构成一个复杂的逻辑电 路的描述方法。结构描述方式能够大大提高设计效率,而且有利于将已有的设计 成果方便的用到最新的设计中去,缩短产品的上市时间。 北京邮电大学硕i :论文 第三章p c i 总线实现方案的比较和选择 3 1p c i 总线概述 p c i 总线的英文全称为:p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c ts p e c i a li n t e r e s t g r o u p ,简称p c i s i g ,即外部部件互连。p c i 总线支持3 2 6 4 位数据传输、多总 线主控和线性突发方式( b u r s t ) ,其数据传输率为1 3 2 m b 2 6 4 m b s 。它为高度集 成的外设控制器、扩展板和处理器存储器系统之间提供一种内部互连机制,从 结构上来看,p c i 是在c p u 和原来的系统总线之间插入的一级总线,具体由一 个桥接电路实现对这一层的管理,并实现上下层之间的接口,协调数据的传输。 3 2p c i 总线的特点 p c i 总线是一种可以为主c p u 及外设提供高性能数据总线的局部总线,非 常适合于显示卡、网卡、数据采集卡等高速外设,今天,他已经成为微型计算机 系统总线的主流。 典型的采用p c i 总线的计算机系统结构如下图所示: 图3 1p c i 总线体系结构 p c i 是先进的高性能局部总线,可同时支持多组外围设备。p c i 总线采用独 立于处理器的、高度综合化的局部总线结构。它具有如下特点【1 0 1 : ( 1 ) 高性能:p c i 具有地址数据多路复用的高性能的3 2 位或6 4 位同步总 北京邮电大学硕+ 论文 线,数据传输速率为1 3 2 m b s 或者2 6 4 m b s ,总的引脚数目和部件数量少,降低 了成本及布线的复杂度; ( 2 ) 线性突发传输方式:p c i 总线支持线性突发的数据传输模式,可确保 总线不断满载数据。外围设备一般会由内存某个地址顺序接收数据,这种线性或 顺序的寻址方式,意味着可以由某个地址起读写大量数据,然后每次只需将地址 自动加l ,便可接收数据流内下一个字节的数据。线性突发传输能够更有效地运 用总线的带宽去传送数据,以减少无谓的地址操作; ( 3 ) 扩展性好,不受处理器限制:p c i 总线的设计是独立于处理器的,它 具有严格的总线规范和良好的兼容性,p c i 扩展卡可以插入任何符合p c i 规范的 微机和工作站系统中,方便的进行硬件移植; ( 4 ) 隐蔽的总线仲裁,减少了仲裁开销; ( 5 ) 极小的存取延迟,采用总线主控和异步数据转移操作; ( 6 ) p c i 总线与c p u 的时钟频率无关,它支持多个外设,设备间通过局部 总线可以完成数据的快速传递,有效的解决了数据传输的瓶颈问题; ( 7 ) 配簧灵活,即插即用:p c i 对扩展卡和元件能够进行自动配置,实现 设备的即插即用。由于使用方便,灵活,产品寿命长,所以p c i 总线产品与其他 总线标准比具有巨大的优越性和更为广阔的应用前景。 3 3p c i 总线操作 3 3 1p g i 总线信号定义 在p c i 系统中,取得总线控制权的设备称为“主设备”;而被主设备选中以 进行通信的设备被称为“从设备”。主设备至少需要4 9 条信号线,从设备至少需 要4 7 条信号线。利用这些信号线就可以处理数据、地址,实现接口控制、仲裁 及系统功能。p c i 系统的信号组如下图所示。图中# 号表示低电平有效,否则为 高电平有效: 北京邮电大学硕i :论文 必选信号 地址觥叫 错误报r 告信号t 仲裁信号( 系统信号 孙穆 一r e 0 6 4 # 一a c k 6 4 # 一l o c k l 一 一i n t 端一 一t 盯r # 一 i n t c # 一 一 i n t d # t d i t d 0 一t c k t 氍s t r s t # 6 4 位总线扩 展信号 边界扫描 信号 图3 - 2 p c i 局部总线信号 p c i 局部总线定义的信号主要有以下几类【m 】: ( 1 ) 系统信号: c l k :系统时钟信号,其频率最高可达3 3 m h z ,最低一般为0 h z 。p c i 的其它信号在c l k 的上升沿有效或采样。 r s t # :复位信号。用来使p c i 专用的寄存器和配置恢复到规定的初始 状态。 ( 2 ) 地址和数据信号: a d o l :o o 】它们是地址、数据多路复用的输入输出信号。在f r a m e # 有效的第一个周期,是地址周期;在i r d y # 和t r d y # 同时有效时,是数据 周期。一个p c i 总线的传输中包含了一个地址信号周期和一个( 或多个) 数 据周期。 c b e 3 :0 】:它们是总线命令和字节使能多路复用信号线。在地址周期 中,这四条线上传输的是总线命令;在数据周期内,它们传输的是字节使能 信号,用来表示在整个数据周期中,a d 3 1 :o o 上哪些字节为有效数据。 p a r :奇偶校验信号,用于a d 3 1 。o o 和c b e 3 。o 】撑上的数据奇偶校验。 ( 3 ) 接口控制信号: 号 信 断 制 中 啦! j 揍 r_、l 钮 控号口信 接 北京邮电大学硕士论文 f r a m e # :帧周期信号。由当前主设备驱动,表示依次访问的开始和持 续。f r a m e # 的有效预示着总线传输的开始;在其存在期间,意味着数据传 输的继续进行;f r a m 酣失效后,是传输的最后一个数据周期。 i r d y # :主设备准备好信号。该信号的有效表明主设备能够完成一次传 输。它要与t r d y # 配合使用,二者同时有效,数据方能完整传输,否则为 等待周期。在写周期,该信号有效,表示数据已经在a d 总线上了:在读周 期,该信号有效,表示主设备已经作好了接收数据的准备。 t r d y # :从设备准备好信号。该信号有效表示从设备已经作好完成当 前数据传输的准备工作。在写周期内该信号有效表示从设备已经能够作好了 接收数据的准备;在读周期内,该信号有效表示有效数据已经提交到a d 总 线上了。 s t o p # :停止数据传送信号。当该信号有效时,表示从设备要求主设备 停止数据的传输。 l o c k # :锁定信号。当有效时,表示驱动该信号的设备所进行的操作 要多个传输才能完成。也就是说,对目标设备的操作是排它性的。 i d s e l :初始化设备选择信号。在参数配置读写传输期间,用作片选信 号。 d e v s e l # :设备选择信号。该信号有效时,表示驱动它的设备已经成 为当前访问的从设备。 ( 4 ) 仲裁信号( 只对总线主设备) : r e q # :总线占用请求信号。有效表明驱动它的设备要求使用总线。它 是一个点到点的信号线,任何主设备都有其! q 赡号线。 g n t # :总线占用允许信号。用来向申请总线的设备表示,其请求已经 获得批准。这也是一个点到点的信号线。 ( 5 ) 错误报告信号: p e r r # :数据奇偶校验错误报告信号。对于每个数据接收设备,如果发 现数据有错误,就应该在数据收到后的两个时钟周期内将p e r r # 激活。 s e r r # :系统错误报告信号。该信号的作用是报告地址信号奇偶错误、 特殊命令序列中的数据奇偶错误,以及其它可能引起灾难性后果的系统错 误。 ( 6 ) 中断信号: p c i 局部总线中共有四条中断线,分别是:i n t a # 、i n t b # 、i n t c # 和 i n t d # ,均为漏极开路、电平敏感信号。单功能设备使用i n t a # ,后三个只 能供多功能设备使用。 北京邮电人学硕 :论文 3 3 2p c i 总线的读操作 p c i 局部总线的传输机制是突发分组传输。一个突发分组由一个地址期和一 个或多个数据期组成。p c i 局部总线支持存储器空间的突发传输,也支持i o 空 间的突发传输。这旱的突发传输是指主桥( 位于主处理器和p c i 局部总线之间) 可以将多个存储器写访问在不产生副作用的前提下合并为一次传输。而对于i o 空间的访问则不能合并,因为它们一般只有一个数据期。p c i 总线的传输控制一 般遵循如下的规则【1 0 1 : f r a m e # 和i r d y # 定义了总线的忙闲状态。当其中一个有效时,总线是忙 的;只有两个都无效时,总线处于空闲状态。 一旦f r a m e # 信号被置为无效时,在同一传输期日j 不能重新设置。 除非设置i r d y # 信号,一般情况下不能设置f r a m e # 无效,即f r a m e # 的 撤销,必须以i r d y # 信号有效为前提。 一旦主设备设置了i r d y # 信号,直到当前数据期结束为止,主设备不能改 变i d d y 撑信号和f r a m e # 信号的状态。 在读数据时,当f r a m e # 有效时,读操作开始,并产生一个地址周期。此 时,a d 3 1 :0 0 1 线上保持一个有效地址来确定信息输入、输出位置。此时的 c b e 3 :0 1 实现总线命令功能,此处应为读命令。在地址期后的数据期中, c b e 3 :0 实现字节使能功能,指明3 2 位数据中哪个字节通道传输的数据是有效 的,a d 线上则传递数据。当t r d y # 和i r d y # 均有效时,可进行数据传输,否 则需插入等待周期。当f r a m e # 无效时,指示是最后一个数据期。写操作的数 据传输方式与读类似。注意,由多个单元驱动的信号,为避免各个单元问的竞争, 须插入交换周期。p c i 总线读操作时序图如下: i iiiiiil “x 半h 凡扩咩l p 书叫卜件 刀硝_ 丁_ 4 _ _ _ 厂 仰= :趔釜空毒) :a 囟歪6 懂d b ( 主匝矗) 摹墨七 c 棚蹦= = 耍壶翌 一士蟹:= = := = 兰= = 三= = ,西j z i i t d y n 曲- - i - iili | f | 卜 -

温馨提示

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

评论

0/150

提交评论