




已阅读5页,还剩68页未读, 继续免费阅读
(微电子学与固体电子学专业论文)1024点浮点fft处理器的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 f f ,r 处理器在语音识别、图像处理和频谱分析等有着广泛的应用,在o f d m 系统中各子载波的调制解调采用一个实时的快速傅里时变换f f t 处理器来实现, 在o f d m 系统中数据传输的速率一般是在6 m b p s 到1 5 5 m b p s 之间,在速度上对f f ,r 处理器提出了很高的要求。随着集成电路制造水平的不断进步,自主研发的高性 能f f t 处理器成为可能,根据项目要求,对专用f f t 实现方法进行研究,通过选 用不同硬件结构,在综合考虑硬件特性和满足系统设计要求的前提下,采用a s i c 设计方法学进行设计,设计自由度大,也能够很好地符合s o c 片上系统的设计要 求。 论文采用自顶向下的设计方法设计了1 0 2 4 点的浮点数傅里叶变换f f t 处理 器,在r t l 级给出了完整的设计描述,编写测试平台对于每个模块都进行了前仿 真和时序分析,基于d c 完成a s i c 综合和时序约束,在顶层完成功能验证和随机 性测试,得到的结果和由c 语言搭建的仿真模块进行比较和对照,在m a t l a b 中 进一步验证,最后应用于o f d m 系统当中。 设计和验证过程中主要的创新点有:采用c s a 进位保留加法器加速浮点数加 法运算和浮点数乘法运算,蝶形运算单元采用纯组合逻辑设计,综合时认为是一 条长周期路径,占用3 个时钟周期的计算时间;各级旋转因子表大小不同,节省 r o m 的存储空间,r a m 采用双口r a m 设计,可以同时读写,增加一个r a m 完成信 号,用于实现蝶形单元的迭代控制;每一个中间级采用双状态机加计数器对运算 进行控制和读写地址使能的生成;建立测试平台,对于流水线中间级测试平台可 以重用,编写结构化t e s t b e n c h 实现测试模块的可重用性:提出新的针对于f f t 处理器的详细验证方案,编写浮点数和实数间转换的软件接口,基于c 语言平台 编写f f t 仿真模块,和r t l 级顶层模块输出的数值进行比较,并利用m a t l a b 输 出最终波形。 最后总结论文中主要的研究进展,展望在数字信号处理领域的进一步研究方 向,并基于f p g a 验证完成f f t 处理器的研究与实现。设计的浮点数f f t 处理器 和别的f f t 处理器相比具有很多优点,输入输出数据的范围得到很大的拓宽,十 级流水线大幅增加吞吐量满足实时性转换要求,1 0 2 4 点的f f t 精度满足在高性能 的通信系统里面的要求。 关键词:f f t 处理器蝶形运算单元结构化测试平台 f p g a a b s t r a c t f f tp r o c e s s o rh a saw i d er a n g eo fa p p l i c a t i o n si ns p e e c hr e c o g n i t i o n ,i m a g ep r o c e s s i n ga n d s p e c t r u ma n a l y s i s ,a n di nt h eo f d ms y s t e mw eu s et h er e a l t i m ef f tp r o c e s s o rt oa c h i e v et h es u b c a r r i e rm o d u l a t i o na n dd e m o d u l a t i o n ,a n o t h e rw a yt h eo f d m s y s t e ma l s oh a st h eh i g hr e q u e s to f f f tp r o c e s s o rw i t ht h eg e n e r a lr a t eb e t w e e n6 m b p st o1 5 5 m b p s w i t ht h el e v e lo fi c m a n u f a c t u r e r sc o n t i n u et op r o g r e s s ,i n d e p e n d e n tr e s e a r c ha n dd e v e l o p m e n to fh i g h p e r f o r m a n c e f f l p r o c e s s o ri sp o s s i b l e , a c c o r d i n gt op r o j e c tr e q u i r e m e n t sw es t u d yt h ef f tm e t h o d ,c h o o s et h e s t r u c t u r e so fh a r d w a r ea n dd e s i g nu n d e rt h ep r e m i s eo fa s i cd e s i g nm e t h o d o l o g y , a l s oa b l et o m e e tt h es o c s y s t e m - 0 n c h i pd e s i g nr e q u i r e m e n t s , i nt h i s a r t i c l ew eu s et h et o p d o w n d e s i g nm e t h o d o l o g y t o d e s i g n t h e 10 2 4 p o i n t f l o a t i n g - p o i n tf f tp r o c e s s o r f i r s tw ec o m p l e t et h ed e s c r i p t i o ni nr t l - l e v e ld e s i g na n dt h e t e s t b e n e ho fe a c hm o d u l ef o rt i m i n ga n a l y s i s ;s e c o n db a s eo nd cw ec o m p l e t et h ea s i cs y n t h e s i s a n dt i m i n gc o n s t r a i n t s ;t h i r dt h em a i n l yj o bi st h ec o m p l e t i o no f t o p - l e v e lf u n c t i o n a lv e r i f i c a t i o n a n dr a n d o mt e s t , t h er e s u l t si sc o m p a r e dw i t ht h es i m u l a t i o nm o d u l eb u i l tb ycl a n g u a g ea n d c o n s t r a s tf u r t h e rv a l i d a t i o ni nm a t l a b ;f i n a l l yt h ef f tp r o c e s s o ra p p l i e di no f d m s y s t e m s t h em a i np o i n t so fi n n o v a t i o ni nd e s i g na n dv e r i f i c a t i o na r e :t h ea p p l i c a t i o no fc s at o s p e e du pf l o a t i n gp o i n ta d d e ra n dm u l t i p l i c a t i o no p e r a t i o n s ;t h ed e s i g no fr a d i xm o d u l ew i t h c o m b i n a t i o n a ll o g i ci sal o n gc y c l ep a t h ,o c c u p i e db yt h r e et h ec a l c u l a t i o no fc l o c kc y c l et i m e ;f o r s a v i n gt h es t o r a g es p a c et a b l es i z eo fr o mi nd i f f e r e n tl e v e l si sd i f f e r e n t ,r a md e s i g nu s i n g d u a l - p o r tr a m ,y o uc a nr e a da n dw r i t ea tt h es a m et i m et oi n c r e a s et h es p e e d ;a ni n t e r m e d i a t e l e v e lo f e a c hs t a t em a c h i n ep l u sd u a lc o u n t e rt or e a da n dw r i t eo p e r a t i o n st oc o n t r o la n de n a b l et h e g e n e r a t i o no fa d d r e s s ;s e tu pat e s t b e n c hf o rt h em i d d l e - l e v e lt e s t b e n c ha s s e m b l yl i n ec a nb e r e u s e d ,t h ep r e p a r a t i o no fas t r u c t u r e dt e s tm o d u l et e s t b e n c ht oa c h i e v er e u s a b i l i t y ;b a s e do nt h ec l a n g u a g ep l a t f o r mf o rt h ep r e p a r a t i o no ff f ts i m u l a t i o nm o d u l e ,a n dr t l - l e v e lt o p - l e v e lm o d u l e t oc o m p a r et h eo u t p u tv a l u ea n dt h eu l t i m a t eu s eo fm a t l a bo u t p u tw a v e f o i m i nc o n c l u s i o n , w ev e r i f yt h ec o m p l e t i o no ff p g a b a s e df f tp r o c e s s o rr e s e a r c ha n d i m p l e m e n t a t i o n f l o a t i n g p o i n tf f tp r o c e s s o rc o m p a r e dt oo t h e rf f tp r o c e s s o r sh a sm a n ym e r i t s , t h es c o p eo fi n p u ta n do u t p u td a t ah a v eb e e ng r e a t l ye x p a n d ,a n d1 0p i p e l i n el e v e l ss a t i s f yt h e c o n v e r s i o nr e q u i r e m e n t so fr e a l - t i m e ,10 2 4p o i n t sf f ta c c u r a c ym e e tt h ec o m m u n i c a t i o ns y s t e m i nw h i c hh i g h p e r f o r m a n c er e q u i r e m e n t s k e y w o r d s :f f tp r o c e s s o rr a d i xm o d u l et e s t b e n c hf p g a 中国科学技术大学学位论文原创性声明 本人声明所呈交的学位论文,是本人在导师指导下进行研究工作所取得的成 果。除已特别加以标注和致谢的地方外,论文中不包含任何他人已经发表或撰写 过的研究成果。与我一同工作的同志对本研究所做的贡献均已在论文中作了明确 的说明。 作者签名:刭:二签字日期: 竖垒:竺: 中国科学技术大学学位论文授权使用声明 作为申请学位的条件之一,学位论文著作权拥有者授权中国科学技术大学拥 有学位论文的部分使用权,即:学校有权按有关规定向国家有关部门或机构送交 论文的复印件和电子版,允许论文被查阅和借阅,可以将学位论文编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。本人 提交的电子文档的内容和纸质论文的内容相一致。 保密的学位论文在解密后也遵守此规定。 函丢开口保密( j ) 作者签名:兰盘二 导师签名: 签字日期:孕旦l 签字日期: 第一章绪论 第一章绪论 下一代通信系统对f f t 处理器提出了实时性和高速性的要求,本章讨论了基 于f p g a v l s i 设计f f t 处理器的可行性和优势,介绍基于f p g a v l s i 的设计流程。 1 1 通信系统概述 进入2 l 世纪以来,无线通信技术正在以前所未有的速度向前发展,随着用户 对各种实时多媒体业务需求的增加和互联网技术的迅猛发展,未来的无线通信技 术将朝着数字化,综合化,宽带化和智能化的方向发展。 目前,世界各国均已经开展对下一代移动通信系统( b 3 g 4 g ) 的研究和开发, 取得了阶段性的成果,我国面向b 3 g 的f u t u r e 计划于2 0 0 1 年启动,并于2 0 0 6 年1 2 月在上海进行了t d d o f d m 系统测试和验收。b 3 g 4 g 主要采用o f d m ,多跳, 中继和多天线等新技术,向用户提供1 m b p s 甚至l o o m b p s 的数据传输速率,扩大 应用领域和服务范围。 正交频分复用( o f d m ) 技术是多载波调制技术中的一种,在高速无线通信系统 中有着广泛的应用,o f d m 能够在无限的无线频段内实现高速率信息的传输,能 够克服由信道的多径效应所引起的频率选择性衰落,o f d m 可以将一个高速的数 据流分解成若干个低速的子数据流,将每个子数据流调制到一个子信道上,从而 构成多个并行的已调信号( 田耘,2 0 0 8 ) ,图卜l 是基于o f d m 系统的调制解调框图, d f t f f t 算法的引入使得o f d m 技术得到真正意义的应用和推广。 图1 - 1o f d 系统调制解调 f f t 处理器也广泛应用于数字信号处理等的领域,在语音识别,图像处理和 频谱分析等有着广泛的应用,过去通常用d s p 实现,随着超大规模集成电路的发 展,专用a s i c 芯片无论从性能上还是成本上都有着更大的优势,美国r a d i x 公 司提供的f f t 芯片就得到了极为广泛的应用,并取得很大的收益。 i 第一章绪论 1 2f f t 处理器研究情况 早期的f f t 处理器由于器件速度比较慢,研究重点是减少运算次数尤其是 减少乘法运算次数,随着半导体技术的发展,芯片速度也得到长足的提高。专用 f f t 处理器实现方案主要有三种:通用d s p 处理器实现,f p g a 实现和a s l c 实 现。专用的f f t 模块可以达到的速度数量级普遍为1 0 2 4 点1 6 位长定点,块浮 点,浮点运算在几十到几百s 量级,表1 1 列出了p l e s s t y 和t r w 厂商专用 f f t 处理器模块的运算速度( 陶金,2 0 0 6 ) 。 表卜l 专用附处理器速度比较列表 型号名厂商处理位数 序列点数 处理时间 p d s p l 6 5 1 0p l e s s e y 1 6 b i t 浮点1 0 2 4 点复数 9 6 u s t m c 2 3 1 0t r w 1 6 b i t 浮点1 0 2 4 点复数 5 1 4 u s 在o f d m 系统中各子载波的调制解调采用一个实时的快速傅里叶变换f f t 处 理器来实现,在o f d m 系统中数据传输的速率一般是在6 m b p s 到1 5 5 m b p d 之间, 在速度上对f f t 处理器提出了很高的要求。 在高速和实时的要求下采用通用d s p 芯片采用软件编程实现f f t 运算处理速 度比较慢,成本也相对比较高,例如t i 公司的t m s 3 2 0 c 6 7 最高工作频率是1 6 7 m h z , 完成f f ,r 运算需要1 2 0 s ,a d i 公司的a d s p 2 1 1 6 0 最高工作频率为i o o m h z ,完 成相同的运算也需要9 0 s 。 随着f p g a 技术的普及与发展,使用f p g a 设计f f t 正在世界范围内兴起, 国内外已积极开展有关应用与研究,以f p g a 芯片生产厂商为主的公司在基于 f p g a 设计f f l 综合研究方面处于领先地位,a l t e r a 公司和x i l i n x 公司都研制了 f f t 的i p 核,性能非常优越,使用它计算1 6 位1 0 2 4 点的f f t 仅需要6 6 3 s , 但价格非常昂贵。 随着集成电路制造水平的不断进步,自主研发的高性能f f t 处理器成为可 能,根据项目要求对专用f f t 实现方法进行研究,通过选用不同硬件结构,在 综合考虑硬件特性和满足系统设计要求的前提下,采用a s i c 设计方法学进行设 计,设计自由度大,也能够很好地符合s o c 片上系统的设计要求。 1 3f p g a a slc 技术概述 f p g a 芯片在很多领域均有广泛的应用,特别是在无线通信领域里,由于有 极强的实时性和并行处理能力,使其对信号进行实时处理成为可能。传统观点认 为f p g a 用来创建原型比较好,应用于大规模的数字系统开发过于昂贵和功耗太 大,目前,这一不足已经有了很明显的改善,f p g a 在成本和功耗上已经超越了 第一章绪论 d s p ,x i l i n x 公司2 0 0 7 年发布的s p a r t a n - 3 a 系列d s p 系列卖价最高才3 0 美元, a l t e r a 公司的c y c l o n e 3 系列性能比s p a r t a n 一3 ad s p 略低,部分芯片批发价格 才4 美元,而t i 公司的c 6 4 x 系列和a d 公司的b l a c k f i n 系列处理器价格一般在 5 到3 0 美元之间。此外f p g a 的运算能力比d s p 性能更加强大,s p a r t a n 一3 ad s p 性能高达每秒2 0 0 亿条乘法累加操作,同样价格的6 0 0 1 i f i h zc 6 4 xd s p 每秒的累加 操作仅仅是2 5 亿条,后者在数量级上差距了一个数量级。 f p g a 设计基本流程( 夏宇闻,2 0 0 7 ) 如图1 - 2 所示。 图卜2f p g a 设计流程 而采用专用集成电路a s i c 设计,则可以很好地把f f t 处理器和别的i p 核进 行交互和连接,组成更高级别的应用系统,完成更大规模的设计任务,特别是在 当今的移动通信领域,一片f p g a 很难达到系统及处理的能力,基于d s p c p u 加 f p g a 的网络产品将成为未来应用的热点,随着和s o c 技术的融合,多核系统级 解决方案成为新一代信息技术的基础。f p g a 验证也可以作为a s i c 的开发流程当 中的其中一个重要部分,大幅降低v l s i 芯片设计的验证成本和风险,确保整个 设计的正确性。 1 4 论文主要研究成果 设计的浮点数f f t 处理器和别的f f t 处理器相比具有很多方面的优点,输入 输出数据的范围得到很大的拓宽,十级流水线大幅增加吞吐量满足实时性转换要 求,1 0 2 4 点的f f t 精度满足在高性能的通信系统里面的要求。 本文采用自项向下的设计方法设计了1 0 2 4 点的浮点数傅里叶变换f f t 处理 器,在r t l 级给出了完整的设计描述,编写测试平台对于每个模块都进行了前仿 真和时序分析,基于d c 完成a s i c 综合和时序约束,在顶层完成功能验证和随机 第一章绪论 性测试,得到的结果和由c 语言搭建的仿真模块进行比较和对照,在m a t l a b 中 进一步验证,最后应用于o f d m 系统当中。 设计和验证过程中主要的创新点有如下几点: ( 1 ) 采用c s a 进位保留加法器加速浮点数加法运算和浮点数乘法运算,蝶形 运算单元采用纯组合逻辑设计,综合时认为是一条长周期路径,占用3 个时钟周 期的计算时间; ( 2 ) 各级旋转因子表大小不同,节省r o m 的存储空间,r a m 采用双口r a m 设 计,可以同时读写,增加一个r a m 完成信号,用于实现蝶形单元的迭代控制;每 一个中间级采用双状态机加计数器对运算进行控制和读写地址使能的生成; ( 3 ) 建立测试平台,对于流水线中间级测试平台可以重用,编写结构化 t e s t b e n c h 实现测试模块的可重用性; ( 4 ) 提出新的针对于f f t 处理器的详细验证方案,编写浮点数和实数间转换 的软件接口,基于c 语言平台编写f f t 仿真模块,和r t l 级顶层模块输出的数值 进行比较,并利用m a t l a b 输出最终波形。 设计的十级流水线f f t 处理器消耗的门数为8 6 1 万门左右,其最高时钟频 率可以达到i o o m h z 。 1 5 论文组织结构 本文第一章绪论简单介绍了通信系统及f f t 处理器在通信系统里面的应用, 讨论了基于f p g a v l s i 实现f f t 处理器的可行性和优势:第二章详细介绍f f t 算 法的基本原理,通过比较采用了基为2 的f f l 算法来作为f 阿处理器的实现算 法,在f f ,r 实现结构上采用流水线频域抽取f f t 的结构实现;第三章讨论了v l s i 的设计方法学,详细介绍了s o c 和i p 设计流程,主要研究了基于v e r i l o g 的r t l 级的可综合设计和验证方法;第四章详细介绍f f t 处理器当中各个子模块的设计 与实现,基于浮点数加法和乘法运算实现蝶形运算单元,并完成对存储单元和旋 转因子表的设计工作,完成对子模块和各级流水线模块的功能仿真工作;第五章 基于d c 完成对子模块和项层模块的综合,采用自底向上的综合策略,完成综合 脚本的编写,得到各个模块的时序信息,进一步进行时序优化,并综合成网表格 式;第六章给出完整的验证顶层模块的测试平台和验证方案,结合c 语言和 m a t l a b 工具验证f f t 处理器的功能正确性和时序正确性;最后结语,总结本论 文的主要创新点和成果,以及接下来可能进一步研究和改进的方向。 4 第二章算法概述 第二章算法概述 详细讨论了f f t 运算中的蝶形运算单元的算法原理设计,并深入研究浮点数 加法和乘法运算,通过比较采用了基为2 的f f t 算法来作为f f t 处理器的实现算 法,在浮点数加法运算中采用c l a 来加速运算,在乘法运算中采用b o o t h 译码单 元和w a l l c e 树级联来快速实现乘法运算,在f f t 实现结构上采用流水线频域抽 取f f t 的结构实现。 2 1d f t 离散傅里叶变换 连续信号的傅里叶变换定义如下公式( 田耘,2 0 0 8 ) 所示: x ( d = ,x ( f ) 8 7 2 砂魂 ( 2 1 ) 川) = 去f x ( 厂) p 2 形矽 ( z 2 ) 上刀二 上面两个公式表达了一个无限持续时间和带宽的连续信号,实际中需要在时 间和频率上对其采样,并对幅值进行量化,更希望在时间和频率上使用有限的采 样,即是离散傅里叶变换d f t 如下面的公式所示: n - i x k l = x 【玎】时 ( 2 3 ) 打1 0 其中逆变换i d f t 的公式为: 一l x m = x 【尼孵h ( 2 4 ) n i o 其中时= e - 2 枷卅定义为旋转因子:d f t 把信号从时域变换到频域,从而可 以研究信号或者滤波器的频率特性,将离散的数字信号变换为不同频率分量之 和,使得我们可以更加清楚信号的频率分布;d f t 算法的运算复杂度与n 的平方 成正比,当n 很大时运算复杂度将大幅增加,f f t 快速傅里叶变换算法的提出使 得傅里叶变换的运算时间缩短到二个数量级,运算复杂度为n 2 * l 0 9 2n 运算 速度得到很好地改善。 2 2 快速傅里叶变换 f f t 算法的核心思想是将n 点的序列逐次分解为( n 一1 ) 2 ,直至2 点的d f t , 按照分解方式可以分成按时域抽取( d i t f f ,r ) 和按频域抽取( d i f f f t ) 两种算法, 5 第二章算法概述 分别是对时间序列x ( r 1 ) 和频率序列x ( k ) 进行分解。 对于基为2 的d i t 时域抽取f f t 算法我们有: x ( 七) = 坎七) + 蝶z ( 七) ,七= o ,1 ,n 2 - 1 ; x ( k + n 2 ) = 】,( 七) 一孵z ( 七) ,k = 0 ,1 ,n 2 - 1 ; ( 2 5 ) ( 2 6 ) 由上式可知后项相同,从而可以使得复数乘法的运算次数减半,其中y ( k ) 和z ( k ) 是分别按照k 的奇偶项将x ( k ) 分解成的两个子序列;上式可以用蝶形运 算图来表示,图2 - 1 中左边结点表示y ( k ) 和z ( k ) ,右边结点表示合成序列x ( k ) , 每个箭头表示结点与蝶相乘,当没有蝶时表示与1 相乘。 瑚 黼 图2 - 1 蝶形运算单元 基于上述蝶形运算单元得到8 点时域抽取f f t 算法流程图如图2 2 所示,其 中寄存器用于缓存蝶形运算中间值,8 点f f t 需要3 级流水线运算来完成,输入 数据重新进行排序,输出数据顺序输出;而对于频域抽取f f t 的流程图则是输入 数据顺序输入,输出数据重新排序( 庞景先,1 9 9 5 ) 。 图2 - 2 时域抽取f f t 算法流程图 同时还有基为4 和8 的f f t 算法,虽然基数越高流水线级数越少运算次数也 越少,但控制结构复杂,同时也加重了其他模块的设计负担。基于上述考虑我们 第二章算法概述 采用基为2 的时域抽取f f t 算法来设计f f t 处理器,在点数不是很大的情况下比 基为4 的算法更容易实现和控制,数据位宽是3 2 位的数据,采用浮点数格式存 储。 2 3 单精度浮点数格式 大多数的计算机浮点数格式定义都按照i e e e 7 5 4 标准( 宋军江,2 0 0 7 ) 来规定 浮点数的存储格式,规定了浮点数的格式,精度,算术操作和异常处理等等,课 题中设计的浮点数f f t 处理器也按照i e e e 7 5 4 标准来定义浮点数格式,采用3 2 位的单精度浮点数格式,分为符号位,指数位和尾数位三个存储部分,格式如下: 1 符号位l 指数位 i 尾数位 i 3 1 3 0 2 3 2 2 0 符号位为1 时表示是负数,为0 表示正数;指数位的偏移量是1 2 7 ( 7 f h ) , 所以存储的指数位是原来的指数位加上偏移量的结果,计算时存储的指数位要减 去偏移量才用于浮点数计算;2 3 位的尾数位代表的意义是0 1 x x x x x x ,即前面 默认存储的是规格化的0 和1 。当数据进入蝶形运算单元之前都要进行一个预处 理模块,对存储的浮点数进行必要的处理以满足加法和乘法运算的要求。 2 4 加法运算 蝶形运算单元的复数加减法运算分为实部和虚部分别进行加减法法运算,实 部和虚部的加法运算归结于浮点数加法运算的实现,浮点数加法运算一般需要以 下的步骤完成: ( 1 ) 指数相减:将两个指数化为相同值,通过比较两个指数的大小求出指数 差的绝对值i e l : ( 2 ) 对阶移位:将指数较小的操作数的尾数右移iel 位: ( 3 ) 尾数操作:对完成对阶的尾数进行加法或者减法运算; ( 4 ) 转换:当尾数相加减的结果出现负数,需要进行求补操作,将其转换为 符号一尾数的表达方式; ( 5 ) 前导1 或前导0 的判定:判定由于减法结果产生的左移数量或者由于加 法产生的右移数量: ( 6 ) 规格化移位:对尾数加减结果进行移位,消除非有效位,使得前面一位 为1 的位; ( 7 ) 舍入:有限精度浮点数需要将最终的计算结果进行舍入以满足2 3 位尾数 的固定结果。 第二章算法概述 上述步骤简单概括就是指数对齐,对尾数进行加减法操作,再对尾数移位 规格化和舍入以得到最终的浮点数计算结果。尾数加减法采用二进制加法器的 超前进位加法器c l a ,我i l i o n 道1 位全加器定义的进位产生g i 和进位传播p i 满 足下面的关系: g = 4 忍 p = 4 忍 从而可有1 位全加器的输出结果: s + 。= 只 c c l + 。= g j + 只+ q ( 2 7 ) ( 2 8 ) ( 2 9 ) ( 2 1 0 ) 同理可以构建4 位的c l a 全加器,再在4 位c l a 全加器的基础上得到1 6 位的c l a 全加器,对于2 4 位浮点尾数的加减法运算我们采用3 2 位的c l a 来设计,未使用 到的高位全部补0 。 2 5 乘法运算 研究浮点数乘法运算之前要来了解复数的乘法运算,蝶形运算单元中包含一 个复数乘法运算单元,对于复数a = a + j b 和b = c + j d ,有: 、 彳b = ( a c b d ) + j ( b c + a d ) = r + ( 2 1 1 ) 化简得到: r = a c b d = c ( a + b ) - b ( c + d ) ( 2 1 2 ) i = b c + a d = c ( 口+ 6 ) + a ( d - c ) ( 2 1 3 ) 由上面两式可知减少了一个乘法器的使用,节约硬件资源;另外在蝶形运算 单元中有一个乘数因子是旋转因子,旋转因子对应的复数是处在半径为l 的单位 圆内,即模小于等于1 ,乘法器的输出将不会在单精度浮点数格式中溢出。 浮点数通常用下列的公式来表示: f = ( 一1 ) 宰0 1 m r 弘1 2 7 ( 2 1 4 ) 其中s 是符号位,m 是尾数位,e 是指数位,乘法对应的两乘法浮点数可以 表示为:兀= ( 一1 ) 勘0 1 心木2 毋川7 和忍= ( 一1 ) 妇幸o 1 m 口事2 岛1 ”,乘法表达式可 以表示为: 瓦幸兄= ( 一1 ) s o + 品奎o 1 m a o 1 m 8 2 瓦+ 日_ 1 2 7 _ 1 2 7 ( 2 1 5 ) 8 第二章算法概述 传统的浮点数乘法器结构如图2 3 所示。 图2 3 浮点数乘法器结构图 由上图可知浮点数乘法运算最主要的运算是进行扩展位后的2 4 位尾数乘法 器,扩展后的尾数都是大于o 小于1 的数,相乘得到的也是处在 0 ,1 之间的数, 满足最后规格化的要求。浮点数乘法器主要步骤包括部分积产生,部分积压缩, 进位传播加法和舍入处理,如何进行部分积压缩是区别各种算法的关键所在,下 面对几种算法进行分别介绍。 2 5 1 迭代算法 最简单的部分积压缩方法是采用迭代的方法,通过移位累加操作完成部分积 的压缩,这种算法速度比较慢,对n 个部分积的加法需要n 个时钟周期,对于高 位宽的浮点数乘法时间消耗比较大。 2 5 2 修正b o o t h 译码 尾数运算部分决定了整个乘法器的运算速度,主要有三个部分组成:修正 b o o t h 译码单元,3 2 压缩单元与c l a 快速求和单元。b o o t h 译码单元是完成缩 减部分积数量的普遍算法,乘数被分成重叠的三个组,每组三位,设乘数: n - 2 】,= _ 2 卜1 e l + 2 z ;e l = o ( 2 1 6 ) t = o r 。为扩充附加位,那么乘数还可以表示为: n 1 2 - 1 】,= ( 艺f - l + 匕一2 匕+ i ) 2 2 ;r l = o ( 2 1 7 ) t = o 如果n 是奇数,需要扩展一位,根据上式可知部分积只有位数的一半,而且 根据( e h + e ,一2 e ) 的不同,与被乘数相乘得到的部分积也不同。由于编码时 9 第= 章算往概述 每次取乘数的两个新位,所以每次得到的部分积较上次结果要左移两位,最后进 行总加,表2 - 1 列出了不同的( 耳h + 圪一2 匕。) 所对应的对被乘数的操作其中 x 为扩展后的被乘数。 表2 - ib o o t h 编码操作列表 毛1矗e h 部分积 0 00o 001x 0l0x o li 2 x l002 x l0lx l10x 1ll0 253w a i c e 树压缩 华莱士树( w a l l c et r e e ) 结构是通过并行计算部分乘积来提高苍片的工作速 度,最基本的原理是利用c s a 进位保留器来实现比例是3 :2 的压缩,对于2 4 位 被乘数采用b o o t h 算法编码后的部分积有1 2 行部分积,采用c s a 实现压缩的级 构图如2 4 所示,经过5 级压缩后得到两个输出数据,再经过一个c p a 加法器快 速完成加法运算。 蛐啦嘲密蚴 j 、鼬、锅铺 豳嘲 j 、飞舞 落 鼬 图2 - 4w a l l c e 树纽联结构图 26f f t 处理器结构 综台起来f f t 实现整体结构有四种:顺序处理,级连处理,并行处理和阵列 处理。 第二章算法概述 顺序处理结构的基本思想就是利用一个蝶形运算单元对存储器内的数据一 级一级地循环运算,利用双1 :3r a m 实现的顺序处理结构如图2 5 所示( 汪润来, 2 0 0 7 ) ,有一个存储器,一个蝶形运算单元,当数据到齐后控制逻辑安顺序每次 提取进行蝶形运算的一组数据,运算完后放回原来的地址处,直到运算完成。 图2 5 顺序处理结构 对于一些高速数据实时处理系统,需要在相对短的时间内完成f f t 操作,流 水线型的f f t 处理器比较适合这种高速数据处理的结构,f f t 处理过程可以看做 是一级一级顺序处理的,每一级的处理都相对独立,每一级都有自己的存储单元 和蝶形运算单元,当一级的数据全部计算完成后,下一级的运算开始。 我们还可以对一列中的n 2 个蝶形单元并行运算,而各列是相续迭代,当n 很大时将消耗很大的硬件资源;当然也可以在一个处理器当中全部并行处理所有 的蝶形运算单元,显然这两种方法速度比较快,但也相应地消耗更多的硬件资源, 这里就不用过多考虑,特别要通过f p g a 来验证f f t 处理器是否正确,很大的i p 核将增加验证难度和验证周期,我们主要考虑流水线设计和双口r a m 两种实现方 案,对于1 0 2 4 点的f f t 处理器来说,采用单一双1 :3r a m 来实现延迟很大,而且 吞吐量不足,采用流水线设计可以有效提高系统频率,提高f f t 处理能力与吞吐 量,在本文的设计当中采用流水线的设计思想设计f f t 处理器。 第三章设计策略与顶层模块设计 第三章设计策略与顶层模块设计 本章讨论了f f t 处理器的设计策略,详细介绍了s o c 和i p 设计流程,主要 研究了基于y e r i l o g 的r t l 级的可综合设计和验证方法,并完成顶层模块的设计 工作。 3 1i p 核可重用设计方法学 系统芯片( s o c ) 和i p 重用技术是二十一世纪集成电路发展的必然趋势,为了 适应科技发展和市场竞争的需要,设计者必须不断寻求更短上市时间,更高的性 能和更低的成本;s o c 技术的成长和复杂度的提高将大大加重设计负担,采用i p 核重用技术可以简化多功能芯片设计,验证过的工p 核可以向更小几何尺寸移植, 使得v l s i 向更高集成度和更高速度发展。 s o c 一般是由统一的总线结构连接起来的i p 核的集合,其设计流程是一个 相当庞大的过程,涉及到体系架构涉及,系统仿真,代码涉及,高层次综合,验 证,前仿真和后仿真等。i p 核的涉及也采用这样的设计流程( 杜宁,郑建宏,2 0 0 8 ) , 其设计和验证规模都相对要小些。 i p 核开发的流程主要包括两条主线:i p 设计和i p 验证。i p 设计流程一般 可以划分为确定规格,模块划分,予模块设计,顶层模块设计和产品化等阶段, i p 验证流程包括建立参照模型,建立测试平台和准备验证用例,回归测试和形 式验证等阶段。图3 - 1 是一般使用的i p 子模块开发流程,主要工作是r t l 代码 编写和t e s t b e c h 编写,还有综合的批处理文件等。 图3 - ii p 子模块设计流程 零 第三章设计策略与顶层模块设计 顶层模块的设计是把子模块集成起来,产生顶层模块,并对其进行综合处理 和功能验证,综合过程包括编写综合的批处理文件,在不同的参考库下综合;验 证过程包括根据由行为模式发展来的测试向量对顶层模块进行仿真和测试,并验 证测试向量的覆盖率等,图3 - 2 是i p 核层模块的设计流程。 图3 - 2 顶层模块设计流程 3 2 大规模f p g a 与a sic 技术的融合 f p g a 现场可编程门阵列习惯上认为是可编程逻辑器件的一种,其最大特点 是可以几乎次的编程,对于专用集成电路设计人员来说,能够在系统级设计的时 候进行功能仿真和硬件仿真,这样可以确保设计的正确性和提高验证速度。f p g a 验证的引入是数字集成电路设计流程里的一个重要环节,而f p g a 设计流程和 a s i c 也几乎完全相同,f p g a 在a s i c 设计过程中提供了很好的辅助作用。 a l t e r a 公司的f p g a 产品能够提供良好的e d a 开发环境,a l t e r a 公司一直都 处于可编程芯片系统( s o p c ) 领域的前沿和领先地位,为业界提供最先进的可编程 逻辑器件、相关的软件工具、i p 软件模块以及优秀的设计服务。我们选择a l t e r a 的f p g a 芯片作为f p g a 验证芯片,a l t e r a 的主流f p g a 分为两大类,一种侧重低 成本应用,容量中等,性能可以满足一般的逻辑设计要求,如c y c l o n e ,c y c l o n e l i ; 还有一种侧重于高性能应用,容量大,性能能满足各类高端应用,如s t a r t i x , s t r a t i x i i 等。 而在上述各个芯片中c y c l o n e i i 作为c y c l o n e 的下一代产品,2 0 0 5 年开始推 出。9 0 n m 工艺,1 2 v 内核供电,属于低成本f p g a ,性能和c y c l o n e 相当,提供了硬 件乘法器单元,对应的性能列表如图3 - 3 所示,其中包含有1 8 1 8 乘法器和足够 的r a m 资源,满足f f t 处理器的资源要求。 第三章设计策略与顶层模块设计 图3 3c y c l o n e i if p g a 配置列表 3 3r i l 级可综合设计 v e r i l o gh d l 是硬件描述语言的一种,用于数字电子系统设计,允许设计者 进行各种级别的逻辑设计,也可以进行仿真验证,书序分析,逻辑综合操作,是 目前应用最广泛的硬件描述语言之一。当基于v e r i l o gh d l 进行a s i c 设计时则 应该注意要确保任何一种综合工具都能把该v e r i l o gh d l 转换成门级网表。 一般基于v e r i l o gh d l 可综合设计都要遵循以下的原则,而在r t l 级编码时 也应注意符合下述条件的要求( 夏宇闻,2 0 0 7 ) : ( 1 ) 综合之前一定要仿真,如果不做仿真,没有发现的逻辑错误会进入综合 器导致综合的结果也会产生同样的逻辑错误; ( 2 ) 用v e r i l o gh d l 描述的异步状态机不能综合,在整体设计中建议采用同 步时钟全局控制,同时也减少了组合逻辑中竞争和冒险的产生; ( 3 ) 设计中尽量避免锁存器的使用,特别是在f p g a 环境下验证时锁存器的不 经意引入将可能导致逻辑错误; ( 4 ) 不要内部产生时钟,包括门控时钟和分频时钟,建议任何时候都采用同 一时钟变跳沿: ( 5 ) a l w a y s 模块中应该避免组合反馈回路,每个信号必须有明确的值,不要 在一个以上a l w a y s 块中为同一变量赋值,尽量用状态机或者计数器来实现迭代 控制; ( 6 ) 时序电路中用非阻塞赋值,a l w a y s 块中描述组合逻辑时采用阻塞赋值。 ( 7 ) 在r t l 级描述中尽量减少门级电路的描述,混合级别描述会增加综合的 复杂度和时间。 还有很多r t l 级设计细节这里不再详细说明,其实对于一般的综合工具而 言,可以借助于工具自动综合成电路结构的v e r i l o g 模块风格非常有限,在保证 逻辑正确的基础上应该尽量保证r t l 代码能够在f p g a 平台和a s i c 平台都能很好 综合得到良好的门级网表。 1 4 第三章设计策略与顶层模块设计 3 4 自顶向下设计方法 现代集成电路制造工艺技术的改进,使得在一个芯片上集成数万个乃至数千 万个器件成为可能,从而很难保证独立设计单个大型设计不出现错误,采用自顶 向下的设计方法把整个模块划分为若干个可操作的模块,编制出相应的行为模 型,并通过仿真和验证,初步验证后分配到子模块中。自顶向下的设计是从系统 及开始,把系统划分位基本单元,然后再把每个基本单元划为下一层次的基本单 元,直到可以利用e d a 元件库的基本元件来实现为止。由于设计的主要仿真和调 试都是在高层次的设计中完成的,所以能够对设计有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 江苏农林职业技术学院电视播音主持期末考试自我提分评估附完整答案详解(考点梳理)
- 2024计算机四级模考模拟试题含完整答案详解【易错题】
- 2024-2025学年自考专业(金融)复习提分资料及答案详解(名校卷)
- 2024-2025学年施工员真题(考点精练)附答案详解
- 2025广播电视编辑记者考试黑钻押题(精练)附答案详解
- 2024-2025学年计算机操作员模拟题库A4版附答案详解
- 2024-2025学年中级软考自我提分评估附参考答案详解【B卷】
- 自建房消防安全培训会议课件
- 2024-2025学年度一级建造师每日一练试卷及答案详解1套
- 自卸车安全操作培训课件
- 二年级乘法算式练习(口诀练习)每日一练模板
- 售后沟通技巧课件
- 进制转换课件-2025-2026学年浙教版高中信息技术必修一
- 电厂电气安全知识培训课件
- 国际汉语考试题及答案
- 交友的智慧(课件)-2025-2026学年七年级道德与法治上册(统编版2024)
- 2025-2026学年语文二年级上册统编版语文园地一 课件
- 2025年中国航空油料集团招聘笔试模拟题与解析
- 人教版(2024)八年级上册英语Unit 3 Same or Different 教案
- 2025四川省水电投资经营集团有限公司所属电力公司员工招聘6人备考练习题库及答案解析
- 广东省深圳市福田区红岭实验学校(上沙)2025-2026学年八年级上学期开学考试英语试卷(含答案)
评论
0/150
提交评论