已阅读5页,还剩57页未读, 继续免费阅读
(电子科学与技术专业论文)基于fpga的浮点运算器设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
d e s i g no ff l o a t i n g - - p o i n tc a l c u l a t o rb a s e do nf p g a a b s t r a c t w i t ht h eg r o w t hd e m a n di nt h ef i e l do fe l e c t r o n i c sm d 憾t r ya p p l i c a t i o n ,i no r d e rt o a c h i e v eah i g h e rd e g r e eo fc o m p l e x i t yo ft h ed i 西t a le l e c t r o n i cs y s t e m ,t h ed e m a n d sf o r d a t a - p r o c e s s i n gc a p a b i l i t i e s a r ea l s ov e r yh i g h f i x e d p o i n tc a l c u l a t i o nh a v eb e e n d i f f i c u l tt om e e tt h er e q u i r e m e n t so fh i g h p e r f o r m a n c ed i g i t a ls y s t e m s ,b yc o m p a r i s o n , f l o a t i n g - p o i n tn u m b e r sa so p p o s e dt of i x e d p o i n t ,h a st h ea d v a n t a g e so f w i d e rs t a t e m e n t r a n g ea n dh i g h e rv a l i dp r e c i s i o n t h e r e f o r e ,i th a dw i d e l yu s e di na e r o s p a c ei n d u s t r y , r e m o t es e n s i n g ,r o b o tt e c h n o l o g y , a sw e l la si n d e xc a l c u l a t i o na n ds i g n a lp r o c e s s i n g a r e a s t h er e q u i r e m e n t so ft h ef l o a t i n g - p o i n tc a l c u l a t i o na r em a i n l yr e f l e c t e di nt w o a s p e c t s :f i r s t l y , t h es p e e d ,t h a ti sh o w f a s ta n de f f e c t i v ec o m p l e t i o no ff l o a t i n g - p o i n t c a l c u l a t i o n ;s e c o n d l y , t h ep r e c i s i o n , m e a n st h a tt h ef l o a t i n g - p o i n tc a l c u l a t i o nc a l l p r o v i d eh o wm a n yv a l i dn u m b e r s t h ei m p r o v e m e n to fc o s t e f f e c t i v ea sw e l la st h ee m e r g e n c eo fp r o g r a m m a b l e l o g i cd e v i c e sm a d et h em e t h o d so ft r a d i t i o n a ld i g i t a le l e c t r o n i cs y s t e md e s i g nb e c h a n g e d f p g a ( f i e l dp r o g r a m m a b l eg a t ea r r a y ) m a d ed e v e l o p e r sd e s i g nc h i pt o i m p l e m e n tt h ef u n c t i o n so fe l e c t r o n i cs y s t e m ,b o t ht h es e l e c t i o no fc o m p o n e n t sa n d c i r c u i tb o a r dd e s i g nw e r ec a r r i e do u ti nt h ep r o c e s so fc h i pd e s i g n f p g ac a n i m p l e m e n tc o m p l e xf u n c t i o n so ft i m i n ga n dc o m p o s i t el o g i cc i r c u i t ,s u i t a b l ef o r h i g h - s p e e d ,h i 曲d e n s i t yl o g i cd e s i g nf i e l d 谢mc o m p l e xa l g o r i t h mo ft h el o g i cu n i ta n d s i g n a lp r o c e s s i n gu n i t ,s u c ha sc a l c u l a t o r , d i 百t a lf i l t e ra n d2 一dc o n v o l v e r i nv i e wo ft h ec h a r a c t e r i s t i c so ff p g at e c h n o l o g ya n dt h ee x t e n s i v eu s eo f f l o a t i n g - p o i n tc a l c u l a t i o n ,t h i sp a p e rc o m b i n e sf l o a t i n g - p o i n tc a l c u l a t i o no ff p g aa n d p r a c t i c a la p p l i c a t i o nt od e s i g naf l o a t i n g p o i n tc a l c u l a t o r t h em a i np u r p o s ei st o i m p l e m e n tt h eb a s i cc a l c u l a t i n gf u n c t i o n so ff l o a t i n g - p o i n tn u m b e r sv i ap r o g r a m m i n g o fv h d ll a n g u a g e ,s u c ha s a d d i t i o n ,s u b t r a c t i o n ,m u l t i p l i c a t i o n ,d i v i s i o na n d e x t r a c t i o n ( 1 ) t h eo v e r a l lf r a m e w o r ko fs y s t e md e s i g na n dr e a l i z a t i o no fe a c hm o d u l ew h i c h c o n t a i ns e l e c t i o no fc h i p ,t i m i n ga n dc o n t r o lb e t w e e nm o d u l e s ,d e t a i l e dp r i n c i p l ea n d d e s i g np r o c e s so fa l g o r i t h mf o re a c hm o d u l ew e r ea l ld e s c r i b e d ; ( 2 ) t h eb a s i cc a l c u l a t i n gf u n c t i o n so ff l o a t i n g - p o i n tn u m b e r s ,s u c ha sa d d i t i o n , s u b t r a c t i o n ,m u l t i p l i c a t i o n ,d i v i s i o na n de x t r a c t i o nw e r ei m p l e m e n t e dw i t hv h d l ; ( 3 ) i nt h ec i r c u m s t a n c eo fx i l i n xi s e ,t h ed e v e l o p m e n ta n df u n c t i o n a ls i m u l a t i o n f o rm a i nm o d u l e so fs y s t e mw e r ea c c o m p l i s h e d ,a n dt h e nf l o a t i n g p o i n tc a l c u l a t i o n b a s e do nf p g aw a sc o n f i r m e d k e yw o r d s :f l o a t i n g - p o i n tc a l c u l a t i o n :f p g a ;i e e e - 7 5 4 大连海事大学学位论文原创性声明和使用授权说明 原创性声明 本人郑重声明:本论文是在导师的指导下,独立进行研究工作所取得的成果, 撰写成博硕士学位论文:基王鲤鱼的淫壶适篡墨逡让:。除论文中已经注 明引用的内容外,对论文的研究做出重要贡献的个人和集体,均已在文中以明确 方式标明。本论文中不包含任何未加明确注明的其他个人或集体已经公开发表或 未公丌发表的成果。本声明的法律责任由本人承担。 学位论文作者签名:乏缝 学位论文版权使用授权书 本学位论文作者及指导教师完全了解大连海事大学有关保留、使用研究生学 位论文的规定,即:大连海事大学有权保留并向国家有关部门或机构送交学位论 文的复印件和电子版,允许论文被查阅和借阅。本人授权大连海事大学可以将本 学位论文的全部或部分内容编入有关数据库进行检索,也可采用影印、缩印或扫 描等复制手段保存和汇编学位论文。同意将本学位论文收录到中国优秀博硕士 学位论文全文数据库( 中国学术期刊( 光盘版) 电子杂志社) 、中国学位论文 全文数据库( 中国科学技术信息研究所) 等数据库中,并以电子出版物形式出 版发行和提供信息服务。保密的论文在解密后遵守此规定。 本学位论文属于:保密口在年解密后适用本授权书。 不保密创( 请在以上方框内打“”) 论文作者签名:孑关多 导师签名:零碎 日期:驴歹年莎月刁日 基3 - f p g a 的浮点运算器没计 第1 章绪论 1 1 课题背景及意义 在生活中,我们会遇到这样的情况,利用不同的电脑计算圆周率会产生不同 的结果,计算的速度、精度都有所差别;或者我们去仔细观察游戏中微小的细节, 如草地、人物的头发等等,有时会表现得非常呆板,而有时则会随风摆动,栩栩 如生,与我们在现实中看到的相差无几;又或者在我们观看科幻电影的特技场面 时,逼真的效果仿佛使人身临其境。以上我们看到的一切,都和浮点运算的高精 度有着密切的关系。 计算机运算主要分两种,定点运算和浮点运算。定点运算主要是用于算术运 算、逻辑运算、地址计算等。比如对定点整数和小数的运算、对逻辑数据的运算。 而浮点运算与定点运算相比,具有运算速度快,有效精度高,计数范围宽等特点, 更适合运用在工程计算与科学计算中,它已成为计算机运算的重要方式。浮点运 算按照运算方式不同可分为规格化和非规格化浮点运算。格式化浮点运算必须将 浮点数规格化后才能进行操作,对所得的运算结果也要加以规格化处理;而非规 格化浮点运算,对操作数和运算结果均不要求规格化处理。目前,计算机运算一 般采用规格化浮点运算来实现运算功能,这种方式可以在计算机尾数中获得更多 的有效数字,并且规格化浮点数的表示形式是惟一的【l 】。 当前浮点运算多数采用d s p 芯片来实现运算功能,这样可以简化算法,精度 也变得更高。但是在某些情况下必须采用专门的浮点运算处理器来实现浮点运算, 这是由于浮点运算结构比较复杂,在系统对速度要求较高的情况下采用d s p 芯片 来实现浮点运算会增加系统的负担并降低系统的速度,使得继续采用d s p 来实现 浮点运算的优势不再明显【2 】。然而随着f p g a 技术的不断成熟以及它所具有的高速、 高集成、低成本、可在线编程等优点使f p g a 广泛应用于各科学领域。并且随着f p g a 近些年在体系结构、工艺水平和设计手段方面的不断改进、提高和完善,合理地 控制了成本,突破了原有的技术瓶颈,克服了专用处理器灵活性不足的缺点,同 时,器件在容量、速度、资源方面有了进一步的提高,使得采用f p g a 代替专用处 第1 章绪论 理器来实现数字信号处理成为一种趋势并显示出了极大的潜力。开发者可以根据 用户要求,选择适当的f p g a 产品,自行开发设计,使之成为集高速、低成本、开 发周期短等优点的实现浮点运算的理想选择【3 】【4 】。 1 2 浮点运算的研究意义 浮点运算可以适应多种不同算法,常见算法的例子包括最优控制、图形处理、 矩阵求逆、自适应滤波、以及快速傅立叶变换等。详细点说,比如对一个矩阵进 行求逆运算,在求逆的过程中,需要对大的数字和小的数字都进行处理。如果这 个矩阵的特征值大小不相同,也就是说矩阵是“不规则 的,这时采用定点运算 进行求逆,则会将大的数字缩小以防止溢出,小的数字被损失掉,这样的方法是 以牺牲运算精度为代价的,而浮点运算因为动态范围大,在处理大的数字的同时, 小的数字也不会被损失掉,提高了运算的精度【5 】。 浮点运算应用广泛,从工业领域到医学,再到军事领域。根据算法不同,已 经开发出了许多的产品,大到需要复杂计算的超级计算机、高精度的雷达,小到 日常生活中所用到的计算器等。本文的目的是设计基于f p g a 技术的浮点式计算器, 它采用触摸屏作为数字键盘,使得界面更为简明直观,利用f p g a 实现浮点运算完 成加减乘除、开方运算。 1 3 本文主要工作 本文做的工作主要分为两个部分,硬件电路搭建和软件编程。首先通过查阅 资料对本系统所涉及的硬件部分进行选择,了解芯片性能,工作方式等,其次对 电路进行连接,调试;软件方面首先将浮点数的基本格式及规格化操作原理掌握, 再利用v h d l 语言把每个模块的代码编写出来,最后进行系统仿真。 本文主要分为六章,下面简单介绍一下各章的内容: 第一章是绪论,主要介绍了本文的研究背景及浮点运算意义。 第二章主要是基本概念的介绍,首先把浮点运算的i e e e 7 5 4 标准以及该标准 涉及的相关知识点说明,再把f p g a 技术的发展以及基于f p g a 技术的系统设计 流程、相关软件进行介绍。 基于f p g a 的浮点运算器没计 第三章给出了系统的整体设计思路和框架,将每个模块的实现功能进行总体 介绍,其中涉及的硬件的功能和原理也在本章介绍。 第四章是本文的重点,具体介绍每个模块的实现过程,算法设计,包括对触 摸屏的控制,对数据转换和浮点运算的详细设计等。 第五章是利用仿真软件对设计的系统功能进行仿真,验证其正确性。 第六章是总结和展望,把系统设计过程中的问题进行总结,并对将来的设计 进行展望。 第2 章浮点运算和f p g a 基本理论 第2 章浮点运算和f p g a 基本理论 浮点运算较定点运算应用更为广泛,但是由于浮点运算器件的电路比较复杂, 所以大多数f p g a 综合工具不支持浮点数的运算,因此需要自行设计浮点数运算 器,来实现基本的浮点运算。本章首先介绍浮点运算的基本概念和国际标准,再 对其基本理论进行阐述,包括i e e e 7 5 4 二进制浮点运算标准、浮点数的存储格式 标准、规格化位移等内容。最后介绍下f p g a 技术的相关理论。 2 1i e e e 7 5 4 与其浮点格式 i e e e 7 5 4 是浮点运算部件事实上的工业标准,是计算机上使用最为广泛的浮 点标准。它的内容包括:概念的定义、浮点数存储( 记数) 格式、舍入方法、运算操 作、特殊定义和一些异常情况。下面对其中一些基本内容进行介绍。 2 1 1 二进制浮点数存储格式 浮点格式是一种数据结构,它规定了构成浮点数的各个字段,这些字段的布 局,以及算术解释1 6 1 。i e e e 7 5 4 浮点标准规定了两组二进制存储格式:基本格式 和扩展格式,每组格式都有单精度和双精度有两种不同精度的位宽 7 1 。标准规定每 种格式都把二进制浮点数表示为: v a t = ( - 1 ) 5 l 厂2 。 其中厂是尾数( 2 3b i t s 5 2b i t s ) ,其实就是一个原码表示的无符号定点小数; j 是尾数的符号( 1b i t ) ,s = 0 表示正数,j = 1 表示负数;e 是阶码( 8b i t s 11b i t s ) ,即 用移码表示的偏置指数,是有符号整数,等于指数e 加上偏移量,单精度阶码的 偏移量是1 2 8 ,双精度阶码的偏移量是1 0 2 4 ,浮点数表示范围主要由阶码决定, 有效数字的精度主要由尾数决定。此外,为了描述各种记数格式的精度和大小, 还为每种格式定义了三个通用参数【8 】: p :有效数字的位数( 精度) ; k :最大指数值,记数格式所能表示的最大正指数值; 。:最小指数值,记数格式所能表示的最小负指数值。 l 基于f p g a 的浮点运算器设计 表2 1 列出了各种位宽和精度的二进制数格式的各个参数值所满足的条件。 表2 1 格式参数小结 t a b 2 1p a r a m e t e r so f f o r m a t s 参数格式 单精度型单精度扩展型双精度型双精度扩展型 p2 4 3 2 5 3 6 4 瓦。 + 1 2 7- 之1 0 2 3+ 1 0 2 3 2 1 6 3 8 3 k 。 - 。1 2 6 s 一1 0 2 2 _ 1 0 2 2s 一1 6 3 8 2 指数偏移量+ 1 2 8不确定+ 1 0 2 4不确定 指数位宽 8 - 1l l l 之1 5 格式位宽 3 2 4 3 6 4 芝7 9 2 1 2 单精度格式 i e e e 一7 5 4 标准规定了单精度浮点数共3 2 位,由三部分组成【9 】:2 3 位尾数厂, 8 位偏置指数e ,1 位符号位j 。将这三部分由低到高连续存放在一个3 2 位的字里, 对其进行编码。其中o :2 2 位包含2 3 位的尾数f ;2 3 :3 0 位包含8 位指数e ;第 3 1 位包含符号s 。如图2 1 所示。 3 13 0 2 32 2 0 图2 1 单精度存储格式 f i g 2 1s i n g l e - p r e c i s i o ns t o r a g ef o r m a t 2 1 3 双精度格式 i e e e 7 5 4 标准规定双精度浮点数占6 4 位,需要2 个连续的3 2 位字来存放, 同样也是由三部分构成:5 2 位尾数厂,l1 位的偏置指数e 以及l 位符号位s 。将 第2 章浮点运算和f p g a 基本理论 这2 个连续的3 2 位字合并起来作为一个6 4 位字,并对其编以新号。其中o :5 l 位包含的是5 2 位的尾数f ;5 2 6 2 位是偏置指数e ,共l l 位;最高位仍放置符 号位s 。如图2 2 所示。 6 :36 2 5 25 1 0 图2 2 双精度存储格式 f i g 2 2d o u b l e - p r e c i s i o ns t o r a g ef o r m a t 2 2 浮点数的分类 根据偏置指数e 的值的不同,通常情况浮点数被分为三类【蚓。 ( 1 ) 规格化数 用a 来代表n 位尾数的有效数字,而且a 表示为原码形式,如果l a 2 , 同时偏置指数e 的二进制形式不全为0 或l 的时候,也就是说尾数隐藏的最高位为 1 时,这样形式的浮点数都属于规格化浮点数。当一个数为规格化浮点数时,尾数 f ( o 承1 ) 可以用二进制形式表示为o 小彳石。则有效数字a = l + 厂,即 a = 1 l 一。彳丘。对偏置指数进行移位操作,一定会将有效数字a 调整到【1 ,2 ) 的 区间范围,这样就能满足有效数字a 的前面始终会有一个1 ,因此,不需要显示 此位,通过偏置指数暗含给出。 ( 2 ) 非规格化数 当偏置指数p 的二进制形式全是0 ( 即e = 0 ) 时,这样的浮点数就是非规格化 数。当浮点数为非规格化数的时候,指数e = 1 一偏移量,有效数字 a = 厂= o z - 1 z 五,a 的前面第一位为0 。非规格化浮点数存在主要有两方面原 因,首先它给出了一种表示数0 的新思路,其次就是那些十分小,接近于0 的数 也可以通过非规格化数表示。 基丁f p g a 的浮点运算器设计 ( 3 ) 特殊数 如果偏置指数的二进制形式全为1 时,同时尾数的二进制形都为0 时,这样 的浮点数所表示的值是无穷,当s = 0 时,表示的是悯,当s = l 时表示的是咖。 另外,如果偏置指数的二进制形式全为l 时,但尾数不全为0 时,这种浮点数的 表示形式叫做n a n ( n o tan u m b e r ) ,顾名思义,这样的数不能作为浮点数进行运算, 但有其特殊的作用,比如在处理一3 或0 0 0 0 时就可用这种特殊的浮点数作为返回 值,还可以用它来表示没有被初始化的数值。 2 3 浮点数的规格化 浮点数的规格化过程就是指利用移位操作来调整尾数和偏置指数,使浮点数 满足前面介绍的浮点数规格化格式【l l 】。 移位操作是数据进行规格化处理的重要步骤,下面简单介绍一下移位操作过 程。对于基于f p g a 的系统设计,需要了解硬件描述语言中移位操作的主要指令, 即左移,右移操作,分别用s 1 1 、s r l 指令表示。但是很多f p g a 综合工具都不支持 这些操作【1 2 】,因此就必须利用v h d l 编写相应的代码来实现移位操作,达到规格 化的目的。规格化按移位操作的方向分为左规格化和右规格化,不管是何种目的 都是将尾数移位,使小数点前只有一个有效数字为l ,记下小数点移动的位数,通 过小数点移动的位数,即能将指数也调整相应的阶数。在浮点数加减法运算前要 进行对阶,则阶码小的浮点数位数需要进行右规格化处理【1 3 】。下面举例说明浮点 数右规格化的步骤:将数据1 0 0 0 1 1 0 1 进行规格化,使之符合单精度规格化浮点数 格式要求。具体过程如图2 3 所示。 如图可知,右移4 位使小数点前只有一个l ,4 即是指数,则偏置指数表示为 1 3 2 ,用二进制表示则是1 0 0 0 0 1 0 0 ,尾数则是小数点后面的部分,不足2 3 位用0 补上,因此加上符号位,完整的规格化浮点型表示为 0 1 0 0 0 0 1 0 0 0 0 0 11 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 。数据左移( 左规格化) 与此类似,只是在偏 置指数的计算上注意应减去移动的位数。 第2 章浮点运算和f p g a 基本理论 图2 3 数据右规格化过程 f i g 2 3p r o c e s so fd a md g h t - n o r m a l i z a t i o n 2 4f p g a 技术及设计流程 f p g a 是x i l i n x 公司于1 9 8 4 年首先开发的一种通用型用户可编程、可重 配置逻辑门的器件【】,多数采用s r a m ( s t a t i cr a m ,静态存储器) 7 - 艺。f p g a 允 许在硬件中实现自定义算法,也可根据应用的不同进行自定义配置。一个f p g a 包含丰富的逻辑门、寄存器和i o 资源。一片f p g a 芯片就可以实现数百片 甚至更多个标准数字集成电路所实现的系统,使开发者可以充分地进行设计开 发和验证。 2 4 1f p g a 技术器件的主要特点 f p g a 技术器件的主要特尉1 5 1 是: ( 1 ) 采用f p g a 设计a s i c 电路,用户不需要投片生产,就能得到合用的芯片。 ( 2 ) f p g a 可做其它全定制或半定制a s i c 电路的中试样片。 ( 3 ) f p g a 内部有丰富的触发器和i o 引脚。 ( 4 ) f p g a 是a s i c 电路中设计周期最短、开发费用最低、风险最小的器件之 一 基于f p g a 的浮点运算器设计 ( 5 ) f p g a 采用高速c h m o s 工艺,功耗低,可以与c m o s 、t t l 电平兼容。 2 4 2f p g a 的设计流程 f p g a 的设计流程就是利用e d a 开发软件和编程工具对f p g a 芯片进行设计与 开发的过程。f p g a 完整的设计流程主要分为下面几个步骤:电路的设计与输入、 功能仿真、综合、综合后仿真、布局布线、时序仿真、验证、配置下载与调试等, 流程图 1 6 】如图2 4 所示。 ( 1 ) 电路的设计与输入 电路设计与输入是指利用e d a t 具,通过某些规范的描述方式按照开发者的 思路进行设计的过程。设计输入主要包括使用硬件描述语言( h d l ) 与原理图输入 的方式。现今多数电路设计以h d l 为主,它在状态机、控制逻辑、总线功能方面 较强,有利于自顶向下设计,不因芯片的结构不同而改变,移植性强;而原理图 输入在顶层设计、数据通路逻辑、手工最优化电路等方面具有图形化强、单元节 省、功能明确等特点。实际设计中可将二者结合,发挥各自的优点。 ( 2 ) 功能仿真 功能仿真又称前仿真,是指对电路的功能进行测试,验证功能是否符合设计 要求。通过该仿真能及时发现设计中的错误,在设计输入阶段就可以进行逻辑设 计的修改。 ( 3 ) 综合优化 综合优化是指将h d l 语言、原理图等设计输入翻译成由与、或、t l - j 、r a m 、 触发器等基本逻辑单元组成的逻辑网表,并在一定的约束条件下进行逻辑优化, 输出标准格式的网表文件,以便布局布线器进行实现。 ( 4 ) 综合后仿真 综合后仿真的目的主要是检查综合后的效果是否与设计输入一致。但它只能 估计门延时,不能估计线延时,与时序仿真相比并不是十分准确。 ( 5 ) 布局布线 布局布线是指因为综合优化产生的逻辑网表与芯片的实际配置情况差距较 大,需要将逻辑网表中的硬件原语或底层单元分配到f p g a 内的物理位置上,并根 第2 章浮点运算和f p g a 基本理论 图2 4f p g a 设计流程图 f i g 2 4t h ef l o wc h a r to ff p g ad e s i g n 1 0 - 基于f p ( 认的浮点运算器设计 据f p g a 内部的各种连线资源,合理正确地对各个元件进行逻辑连接,从而完 成布局布线功能。 ( 6 ) 时序仿真与验证 时序仿真就是用仿真软件验证电路的时序,也叫后仿真。它对系统和各模块 进行时序仿真并分析时序关系,能较好地反映出芯片的实际工作情况,确保设计 的可靠性。 ( 7 ) 下载配置与调试 f p g a 设计开发流程的最后步骤就是在确认时序仿真正确无误后,将生成的配 置文件通过下载电缆写到芯片中进行测试。 2 5f p g a 开发环境 2 5 1 硬件描述语言v h d l 硬件描述语言( h a r d w a r ed e s c r i p t i o nl a n g u a g e ,h d l ) 是指对硬件电路的行为 或者结构以一种形式化的方法来描述的语言,可以通过它自上至下逐层描述自己 的设计思想,用一系列分层次的模块来表示复杂的数字系统,并逐层进行验证仿 真,再把具体的模块组合通过综合工具转化成门级电路网表【1 7 1 。利用h d l 开发流 程如图2 5 所示。常用的硬件描述语言有v e r i l o g h d l 和v h d l 。其中v h d l 是一 种为了实现硬件电路设计而开发的高级语言。主要用于描述数字电路系统设计的 结构、行为、功能、输入和输出接口。它与其它现代编程语言语法相似,但v h d l 中包含了许多与硬件电路有特殊关系的结构。 应用v h d l 进行系统设计,有以下几方面的特点:功能强大、可移植性、独 立性、可操作性、灵活性【1 8 】。 2 5 2 系统开发平台一s e i s e 是集成综合环境的简称,是x i l i n x 提供的一套工具集,其中包括了输入、 仿真、综合、布局布线、生成b i t 文件、配置以及在线调试等工具,这些工具可 以完成整个f p g a c p l d 的开发过程。i s e 集成了在完整的逻辑设计环境下设计出 第2 章浮点运算和f p g a 基本理论 全部x i l i n xf p g a 和c p l d 产品所需的一切。简洁易用的内置式工具和向导使i o 分配、功耗分析、时序驱动设计收敛和h d l 仿真变得快速而直观。利用x i l i n x f m a x 技术,i s ef o u n d a t i o n 提供了比所有竞争产品快出7 0 的逻辑性能优势。利 用i s e ,即使在进行最高密度的设计,时序收敛也能迅速完成【1 9 】【2 0 1 。 i s e 集成开发环境将仿真划分的很详细,除了功能仿真、时序仿真以外,还包 括翻译后仿真和映射后仿真,所有的这些仿真都可以通过i s e 自带的仿真工具来 完成【2 l 】。但当设计较为复杂时,会占用较长的仿真时间,这时如果还利用i s e 自 带的仿真工具仿真,就不能进行一些关于设计输入之类的工作了,为了解决这一 问题,i s e 还方便的将第三方工具集成进来,比如仿真工具m o d e l s i m ,将所需仿 真的程序通过m o d e l s i m 进行仿真,即可节省时间,提高效率。而且在用m o d e l s i m 做仿真时并不会影响i s e 的正常使用,由于本系统的设计不是很复杂,用i s e 自 身的仿真完全可以实现,因此都利用i s e 自带的仿真工具完成的。 图2 5 使用h d l 开发流程 f i g 2 5d e v e l o p m e n tp r o c e s sb yh d l 基于f p g a 的浮点运算器设计 第3 章系统整体设计框架及硬件介绍 3 1 系统整体设计流程 整个系统按功能分为四个部分,分别是信号采集、数据处理、浮点运算以及 显示部分。 首先是按键处的信号采集,当按下触摸屏时,工作在中断模式下的a d s 7 8 4 6 芯片检测到有输入信号并发出中断信号,然后f p g a 检测笔中断引脚p e n i r q 是 否为低电平,若为低电平则认为有按键动作;否则认为没有接触到。触点处的电 压反映了触点在x 工作面上的位置,将该电压通过y + ( 或y 一) 电极引出到触摸屏 控制器,在其中经a d 转换,便可得到触点电压的数字量,即x 坐标。同理可得 y 坐标。控制器根据触点坐标位置与设计的按键坐标边界值比较就能得知按键的 值。由于触摸时产生的抖动需要进行消除,否则会对采集的信号有极大地影响, 造成坐标判断有误差,导致结果出错。 第二步将采集的按键值送入v i r t e x i ip r o 开发系统中的寄存器中,等待控制器 对这一系列数值进行具体的运算,其中包括十进制转换为二进制浮点型,并调用 运算模块执行想要的运算。由于f p g a 综合工具不支持浮点数的运算,因此必须 开发独立的浮点数运算单元,即本文的重点,详细在后面章节阐述。 显示部分即人机交互的界面,用数码管模拟计算器的液晶显示,通过f p g a 控制器把按键的数值以及运算的结果显示出来。图3 1 所示为系统的流程图。 3 2 系统硬件组成 在本论文中,系统主要由四个部分的硬件组成: ( 1 ) 按键界面。本文采用4 3 寸四线电阻式触摸屏作为整个计算器系统的输入 设备,作为一个按键界面,当手指触摸屏幕时,电阻发生变化,在x 和y 两个方 向上产生了信号,将该信号送到触摸屏控制器。 第3 章系统整体设计框架及硬件介绍 图3 1 系统整体流程 f i g 3 1o v e r a l ls y s t e md e s i g nf l o w 基于f p g a 的浮点运算器设计 ( 2 ) 按键界面控制器。控制器读取接触信息并计算出触点( x ,y ) 的位置。本文 采用的是b u r r - b r o w n 公司的a d s 7 8 4 6 四线式触摸屏转换接口芯片作为触摸屏的控 制器,经过a d 转换把触点坐标发送到f p g a 上的控制模块,进行下一步的具体 运算。 ( 3 ) v i r t e x i ip r o 开发系统。它是触摸屏控制程序的发出者,控制a d s 7 8 4 6 进 行a d 转换。另外本文的重点部分是基于f p g a 的浮点数运算,通过对触点坐标 的比较判断出按键的具体值,并将这些十进制数转换为二进制浮点型送入运算模 块,根据判断结果进行相应的具体运算,这些都是基于f p g a 实现的,因此是整 个系统的核心控制部分。本论文选用x i l i n x 公司的v i r t e x i ip r o 开发板和i s e9 1 i 开发平台进行系统的开发。 ( 4 ) 数码显示器。采用四位七段数码显示器作为显示设备,此部分也是根据来 自f p g a 的系统控制器的指令,显示操作过程中按键的数值以及计算后的结果, 模拟计算器的输出设计。 图3 2 显示了系统的硬件连接图。下面将系统各模块所涉及的硬件及其工作原 理做一简单介绍。 、五五西_ - i r 按键界面 一j 按键界面 1 卜、 p r o 开发 卜、 数码 控制器 厂 显示器 系统 图3 2 硬件连接图 f i g 3 2t h ec o n n e c t i o no f h a r d w a r e 3 2 1 触摸屏 由于触摸屏可以使操作简单直观,因此越来越多的手持式产品和一些人机交 互设备采用触摸屏。本文中的按键模块就选择了触摸屏作为输入设备。按照触摸 屏的工作原理和传输信息的介质的不同,触摸屏大致可以分为四种,分别是电阻 第3 章系统鞘体改计框架及垭什介纠 式触摸屏、电容感应式触摸屏、红外线式触摸屏以及表血声波式触摸屏m j 。其中 电阻式触摸屏是应川比较,“泛的类型之,本文采用的就是电阻式触摸屏。 电阻触摸屏是利用爪力感应的原理进行丁作的,其结构如图33 所示。卜耍结 构是多层复台结构,其中基层是层玻璃或者足硬塑料,内外表面分别涂有透明 的氧化会属导电电阻层,本设计采用的是涂有i t o ( 铟锡氧化物) 导体。中间层 上有许多细小的透明隔离点将上下两层导电层分隔开,达到绝缘的目的。当触摸 屏被触摸时,触摸屏发生形变,在触摸点有了接触,电阻就会发生变化,导致在x 和y 两个方向上产生信号,触摸屏控制器读取这个动作信号,通过计算得到触摸 点的坐标,确定了按键位置即町判断出这一操作的目的,这就是触摸屏的基本工 作原理。 透明导 幽33f b 阻式触摸屏原理 f i g33p n n c l “e o f r e s i s t a n c e t o u c h $ c i c c l l 电极 电阻式触摸屏依照性能和普遍性来既主要又可区分为四线式和血线式,这里 我们采用l 较常用的四线式触摸屏,下面介绍它的具体工作原理。 触摸屏1 作的时候,上f 两个导体层加上电压就相当于一个电阻阻络,表示x 和y 轴,如图3 4 所示。上r 两层导体的边缘分别有两个电极,当某一层 的电 极加上电压后,就会在这个电阻嘲络上形成一个电压梯度。当触摸屏r 有外力接 触时,在未加电压的一层上就能测得接触点的电压值,依据的是分压原理,从而 基于f p g a 的浮点运算器设计 通过电压与电极之间的距离关系就能知道该接触点投到加压层的坐标,然后将电 压七u 换到另一层,同理u r 以知道h 一个坐标的值,这样就会知道该点的具体坐标, 确定了位置。 幽34 i t o 导体层 f i g34 t h ec o n d u c t o r i t o 322 a d $ 7 8 4 6 在很多应用中部是将触摸屏作为输入设备,触摸屏要有专门的芯h 对其进行 控制,而触摸群的控制芯片的作用一是完成电极电压的切换,二是采集接触点处 的电压值( 即a d 转换) 。奉设计采片j 比较常州的a d s 7 8 4 6 芯片作为触摸屏的控制 芯片。r 面简单介绍一下其特点及工作原理。 a d s 7 8 4 6 功能特性及结构 a d s 7 8 4 6 足新一代4 线式触摸屏控制器,由b u r r b r o w n 公司研发出来,是 款具有同步串行接口的8 位1 2 位分辨率取样模数转换器,是典型的利用逐步逼近 方式寄存器型a d 变换器。它的结构是以电存再分布的形式为基础,丰要能实现 采样和保持的功能。勺之前的a d s 7 8 4 6 相比,在兼容原有的引脚功能外,增加了 第3 章系统整体设计框架及硬件介绍 三个主要功能,测量片内温度、压力测量、测量电源电压【2 5 1 。图3 5 为a d s 7 8 4 6 的引脚配置。 o c l k 话 d i n b u s y d o l 玎 同环订配 v 如 、,劓擎 图3 5a d s 7 8 4 6 引脚 f i g 3 5a d s 7 8 4 6p i nc o n f i g u r a t i o n 引脚l 和l o 是电源的输入端+ v :,供电电源为2 7 v 5 2 5 v ,2 5 号引脚分别 为触摸屏的正电极输入端和负电极输入端,g n d 引脚为接地,和v 0 分别为 电源电池检测输入端和参考电压的输入端,d i n 为串行数据输入端,在上升沿的 时候锁存,i n 为辅助输入端,d o u t 为串行数据的输出端,在下降沿到来时移出, p e n i r q 为中断输出引脚,需要接上拉电阻,c s 是片选信号,d c l k 为外部的时 钟输入信号端,b u s y “忙指示,低电平有效。 a d s 7 8 4 6 的主要特点如下: 可以工作于单电源,工作电压的范围是2 2 v 5 2 5 v ; 参考电压v o 为+ 2 5 v ,转换速率是1 2 5 k h z ; 一路辅助模拟量输入,带有微处理器的串行接口; 温度范围在一4 0 + 8 5 ,功耗小于等于1 8 m w 。 a d s 7 8 4 6 的典型应用电路如图3 6 所示。 静鼬 卜狮瞒 帆 g v 基于f p g a 的浮点运算器设计 图36 a d s 7 8 4 6 媳1 0 j 吒卅电蛐 f i g36 t h e t y p i c a la p p l i c a t i o nc i r c u i t o f a d s 7 8 4 6 钟 哮 据输 忠信号 据输出 笔中断 1 ( 2 1a d s 7 8 4 6 工作模式设胃 a d s 7 8 4 6 的t 作模止分为差分和竹端两种。不同的转换模式埘转换后的精度 和可靠性都会有定的影响。如果设置舡端模式工作方式,即a j d 转换器配置为 读绝对电压,当此模式在驱动电压下降的时候将会导致转换输入数据出错。而如 果配置为差分模式,则可以避免上述错误。与尊端模式的操作州类似,祥差分模 式下工作时,设一个a d 转换器的基准u 压加在面板上,这样做的好处是可以提 供个操作度量比,这意味着如果加在面板l :的电压发生变化( 由于电源、驱动电 阻、温度或触摸屏电等原因) ,a d s 7 8 4 6 的度晕比操作将对这种变化进行补偿口“。 尤论在何利i :作模式下,a d s 7 8 4 6 只有3 个时钟帖| 期的时l 刊从触摸屏i 一获取 模拟f u 压,要保证获取i u 爪值得正确性,就要求往允许时川内将输入值设置好。 扣开驱动时将导致触撰屏的电雎迅速升高,f 达到最高情。只有在触摸屏先全设置 好以后获取电压才能得到较为准确的转换值。常见的读取方式就是前l n j 提剖的两 种模式:单端模式,即采用相对较慢的时钟拶展获取时间( 三个时钟周期) ;差分 模式,通过相埘较陕的时钟,设置电压和获取准确电j = l i 分b 0 在第一个转换周期和 第一个转换周期进行,使h j 第二种方式的优点主要足功耗低。吲为在全部转换后, 第3 章系统整体设计框架及硬件介绍 a d s 7 8 4 6 会进入低功耗模式来等待下一次取样周期;对于慢时钟,在当前转换结 束后立即进入下一个取样周期进行取样,而没有时间进入低功耗模式。而实际在 单端模式下不能使用快速时钟【2 7 1 。因此,大多数情况都使用差分模式。 ( 3 ) 影响a d s 7 8 4 6 数据精度因素以及解决办法 经过a d s 7 8 4 6 所得的坐标值的精度受几个因素的影响【2 8 】:触摸屏自身电阻材 料的均匀性;a d s 7 8 4 6 模拟电子开关和a d 转换器自身的转换精度;电阻式触摸 屏的电阻分布不是理想的线性分布;触摸时不规则的抖动导致中断服务程序被错 误触发;突发性的脉冲干扰导致电压值读取产生偏差;前三种是固有误差,没办 法使用软件来消除,只能靠改变其本身加以校正,而对于后两种影响因素,本文 给出了相应的解决办法。 由于a d s 7 8 4 6 芯片引脚结构上的模拟地与数字地不是接在一点上的,因此数 字地干扰由公共阻抗耦合到a d s 7 8 4 6 的模拟地
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 《GBT 35737-2017 多绳缠绕式矿井提升机》专题研究报告
- 2025年大学二年级太空资源利用专业《太空资源开发》期末考试测验卷及答案
- 学习师德师风心得体会(历史教师版)
- 白土补充精制装置操作工安全专项评优考核试卷含答案
- 煤焦车司机班组安全知识考核试卷含答案
- 《GBT 14226-2015 草坪和园艺拖拉机 三点悬挂装置》专题研究报告
- 木材削片工标准化评优考核试卷含答案
- 公司轮胎翻修工岗位安全技术规程
- 数控激光切割机操作工岗位职业健康及安全技术规程
- 公司护林员岗位工艺技术规程
- 小儿推拿在儿童肺部疾病中的应用
- 乡安全保卫管理办法
- 21 《小圣施威降大圣》课件
- 部编版四年级上册语文提分计划
- 呼吸科进修汇报护理
- 2025年上海市中考数学试卷真题(含答案解析)
- 妇科围手术期患者的护理
- 《广告文案写作教程(第四版)》课件 第五章
- DB62T 3253-2023 建筑与市政基础设施工程勘察文件编制技术标准
- 软件产品试用协议书9篇
- 吸塑托盘采购合同协议
评论
0/150
提交评论