(电路与系统专业论文)定点参考独立分量分析算法的fpga实现.pdf_第1页
(电路与系统专业论文)定点参考独立分量分析算法的fpga实现.pdf_第2页
(电路与系统专业论文)定点参考独立分量分析算法的fpga实现.pdf_第3页
(电路与系统专业论文)定点参考独立分量分析算法的fpga实现.pdf_第4页
(电路与系统专业论文)定点参考独立分量分析算法的fpga实现.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

大连理工大学硕士学位论文 摘要 参考独立分量分析( i n d e p e n d e n tc o m p o n e n ta n a l y s i sw i t hr e f e r e n c e ,i c a r ) 是种半 盲分离算法。它将源信号的部分先验知识以参考信号形式引入到传统i c a 算法中,从而 在一定的量度下只抽取与参考信号最为接近的期望源信号。由于利用了部分先验信息, i c a r 算法在解决分离信号顺序不确定性、提高分离效率和分离性能方面均优于传统全 盲i c a ,在语音分离、功能磁共振成像信号分析等方面取得了良好的应用结果。 然而,i c a r 算法的计算复杂度较大,分离速度还难以达到实时性要求,限制了其 在实际中的应用。为此,有人提出了定点i c a r 算法,在算法层面减小了计算复杂度, 但与实时分离仍有差距。考虑到硬件实现能为算法提供一个理想的并行运行环境,从而 更加有效地解决实时性问题,本文在比较了通用处理器、d s p 、a s i c 和f p g a 等几种 硬件实现方案后,择优选择了基于f p g a 实现定点i c a - r 算法的硬件实现方案。 本文主要的研究工作有:( 1 ) 比较了f p g a 的传统设计方法和基于d s p 开发平台的 现代设计方法,选取了后者并熟悉了m a t l a b s i m u l i n k 和s y s t e mg e n e r a t o r 等开发环 境。( 2 ) 研究了定点i c a r 算法的原理、主要功能和分离过程,依照算法的流程进行了 功能模块划分,主要包括输入模块、解混模块、判断模块、权向量更新模块和输出模块。 ( 3 ) 基于m a t l a b s i m u l i n k 和s y s t e mg e n e r a t o r ,对各个子模块分别进行了f p g a 设计 实现。其中,权向量更新模块的非线性函数实现影响算法精度,本文研究并使用了查找 表和分段线性逼近等两种方法加以实现,并分析比较了两种方法的优劣。( 4 ) 加入了时 序调整电路和循环控制电路,连接各个模块,完成了整个算法设计。( 5 ) 进行了细致的系 统仿真,分析了仿真结果。为了验证f p g a 实现的定点算法性能,使用了正弦循环信号 和语音信号等不同的源信号及其随机混合信号做了大量的仿真试验,并将仿真结果与 m a t l a b 环境下得到的仿真结果进行了比较与分析,结果表明了本文设计的有效性。 关键词:f p g a ;l e a - r ;s y st e r ng e n e r a t o r ;非线性函数 大连理工大学硕士学位论文 f p g a i m p l e m e n t a t i o no ff i x e d p o i n ti c a - - ra l g o r i t h m a b s t r a c t i n d e p e n d e n tc o m p o n e n ta n a l y s i sw i t hr e f e r e n c e ( i c a r ) i sas e m i - b l i n ds o l u c e s e p a r a t i o na l g o r i t h m i ti n c o r p o r a t e ss o m ep r i o ri n f o r m a t i o na b o u tt h es o u r c e si n t ot h e c o n v e n t i o n a li c at oe x t r a c tt h ed e s i r e ds o u r c e su n d e rs o m em e a s u r e m e n t s c o m p a r e dw i t h t r a d i t i o n a li c a ,i c a ro u t p u t so n l ys i g n a l so fi n t e r e s ti nap r e d e f i n e do r d e r ,p r o v i d e sm u c h i m p r o v e dp e r f o r m a n c ea n dh a sf a s tc o n v e r g e n c ys p e e db yu s i n gal i t t l ep r i o ri n f o r m a t i o n i t h a sb e e ne f f i c i e n t l ya p p l i e dt om a n yf i e l d ss u c ha ss p e e c hp r o c e s s i n ga n df m r i ( f u n c t i o n a l m a g n e t i cr e s o n a n c ei m a g i n g ) d a t aa n a l y s i s h o w e v e r ,t h ec o m p u t a t i o nc o m p l e x i t yo fi c a - rd i s c o u r a g e si t st i m es e n s i t i v e a p p l i c a t i o n a ss u c h ,f i x e d - p o i n ti c a ra l g o r i t h mi sg i v e nt or e d u c et h ec o m p u t a t i o n c o m p l e x i t yo fi c a ra tt h ea r i t h m e t i cl e v e l h o w e v e r ,t h ef i x e d p o i n ti c a ra l g o r i t h ms t i l l c a n n o tm e e tt h er e q u i r e m e n to fr e a l - t i m e s e p a r m i o n i ti s w e l lk n o w nt h a th a r d w a r e i m p l e m e n t a t i o no fa l la l g o r i t h mp r o v i d e sa l lo p t i m a lp a r a l l e l i s me n v i r o n m e n t ,a n dt h u sc a l l p r o v i d ef a s t e ra n dr e a l t i m es o l u t i o n s a f t e rc o m p a r i s o n 、析t l lg e n e r a l p u r p o s ep r o c e s s o r ( g p p ) ,d s pa n da s i c ,w ec h o s ef p g at oi m p l e m e n tf i x e d p o i n ti c a - ra l g o r i t h m t h em a i nw o r k so ft h i st h e s i sa r ea sf o l l o w s ( 1 ) d e s c r i b e dt r a d i t i o n a ld e s i g nt e c h n i q u e a n dd s p - b a s e di m p l e m e n t a t i o np l a t f o r m t e c h n i q u e ,t h es e c o n dt e c h n i q u e i su s e da n d m a t l a b s i m u l i n ka n ds y s t e mg e n e r a t o ra r ea c c o r d i n g l ys t u d i e d ( 2 ) b r i e f l yi n t r o d u c e dt h e f i x e d - p o i n ti c a ra l g o r i t h m ,a n dc l a s s i f i e dt h ea l g o r i t h mi n t o f i v em o d u l e s ,w h i c hw e r e i n p u tm o d u l e ,u n m i x i n gm o d u l e ,w e i g h tv e c t o ru p d a t i n gm o d u l e ,j u d g m e n tm o d u l e ,a n d o u t p u tm o d u l e ,r e s p e c t i v e l y ( 3 ) d e s i g n e de a c ho ff i v em o d u l e sb a s e do nf p g a t oe f f i c i e n t l y i m p l e m e n tt h en o n l i n e a rf u n c t i o ni nt h ew e i g h tv e c t o ru p d a t i n gm o d u l e ,w ep r e s e n t e da n d c o m p a r e dt w oa p p r o a c h e s , o n ew a st oc o n s t r u c tal o o k u pt a b l e ( l u t ) ,t h eo t h e rw a st ou s e t h ep i e c e w i s el i n e a ra p p r o x i m a t i o n ( 4 ) a d d e dc o n t r o lb l o c k sa n dc o m p l e t e dt h es y s t e m - l e v e l d e s i g no ft h ea l g o r i t h m ( 5 ) c a r r i e do u te x t e n s i v ee x p e r i m e n t sw i t hv a r i o u ss y n t h e s i z e d s o u r c e sa n dt h e i rr a n d o mm i x t u r e st oi l l u s t r a t et h ee f f i c a c yo ft h ef p g ai m p l e m e n t a t i o no f f i x e d p o i n ti c a ra l g o r i t h m t h es y n t h e s i z e ds i g n a l si n c l u d es i n ew a v es i g n a l ,s p e e c hs i g n a l a n dm a n yn o i s es i g n a l s t h ee x p e r i m e n tr e s u l t ss h o wt h a tt h eh a r d w a r ed e s i g ni sc o r r e c ta n d e 佑c i e n t k e yw o r d s :f p g a ;i c a - r ;s y s t e mg e n e r a t o r ;n o n l i n e a rf u n c t i o n i i i 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:度壶叁壶独童佥量佥堑箕洼鲍里里鱼塞熟 作者签名: 互坯锋 日期:迦星年血月业日 大连理工大学硕士研究生学位论文 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 作者签名: 导师签名: 日期:迎翌年监月堕日 日期:壁垒年上l 月! 望日 大连理工大学硕士学位论文 1绪论 这一部分主要介绍本文的研究意义、数字信号处理算法硬件实现的常用技术,以及 论文的主要研究内容及结构安排。 1 1 课题的意义及研究现状 本课题研究来源于国家自然科学基金( 6 0 4 0 2 0 1 3 ) 和辽宁省自然科学基金 ( 2 0 0 6 2 1 7 4 ) 。 独立分量分析( i n d e p e n d e n tc o m p o n e n ta n a l y s i s ,i c a ) 【l 】又被称为盲源分离,是指在不 知道源信号的分布类型和混合参数的情况下,仅利用源信号的混合信号去恢复源信号的 各个独立成分。通常,观测信号来自一组传感器,每个传感器的接收信号是源信号的不 同组合。i c a 的特有优势在于,它能在源信号和传输通道参数均未知的情况下分离源信 号。因此,i c a 已成为信号处理领域的一个研究热点,并广泛应用在无线通信【2 j 、生物 医学【3 】、语音和图像处理【4 5 j 等许多领域。 但是,由于不利用源信号的先验信息,i c a 算法通常以分离所有的源信号为目标, 而且分离的多个输出信号存在顺序不确定问题【6 】。实际上,源信号的大致信息客观存在, 如语音信号的基音频率信息已知。于是,人们研究了在i c a 算法基础上应用源信号部分 先验信息的半盲分离方法【7 】,并进一步改善了i c a 性能。 目前,半盲分离算法较多。其中,参考独立分量分析o c a 谢t 1 1r e f e r e n c e ,i c a r ) 算 法 7 - 9 优势明显。i c a r 将源信号的部分先验知识以参考信号形式引入到传统i c a 算法 中,从而在一定的量度下只抽取与参考信号最为接近的某个或某些期望的源信号。因此, 该算法不但能解决分离信号的顺序不确定问题、提高分离效率( 仅输出感兴趣信号) , 而且能进一步提高i c a 分离性能。 基于这些性能优势,i c a - r 算法将成为是实际信号分离的首选。然而,以i c a - r 算 法目前的计算复杂度,其分离速度还难以达到实时性要求。为此,文献【1 0 】提出了定点 i c a r 算法,在算法层面减小了计算复杂度。考虑到硬件执行能为算法的实现提供一个 理想的并行运行环境,可以有效解决实时性问题,本文将在硬件上实现定点i c a - r 算法, 以期进一步提高算法的分离速度,实现实时的信号分离。 目前实现数字信号处理算法的常用技术主要有: ( 1 ) 通用处理器实现 现在己经有大量的信号处理算法在通用处理器上快速实现。然而通用处理器作为 c p u ,需要完成大量的控制任务和管理任务,使得硅片中大量面积被通讯与控制电路占 定点参考独立分量分析算法的f p g a 实现 用,大量耗时的数学运算只集中在小面积的硅片上执行。另外,通用处理器是基于传统 的冯诺依曼结构设计的,决定了其指令只能串行执行。这些导致了通用处理器实现算法 的运算效率相对而言仍比较低。 ( 2 ) d s p 处理器实现 d s p 处理器是一种面向高速信号处理的专用微处理器。它的突出之处在于,d s p 不 再采用传统处理器的冯诺依曼结构,而是采用了哈佛结构,程序存储器和数据存储器分 开,有各自独立的程序总线和数据总线,可独立编址和独立访问,可对程序和数据进行 独立传输,使取指令操作、指令执行操作、数据吞吐并行完成,流水线操作,大大地提 高了数据处理能力和指令的执行速度。但是,基于d s p 的硬件实现成本高,且系统集 成度也不够高。 ( 3 ) a s i c 实现 通常认为,当处理器的结构最佳地匹配了算法的结构时,算法的实现效率才是最高 的。因此,对数字信号处理算法采用并行流水的阵列处理结构才是最佳方法,并且不同 的算法对应不同的结构,尽管它们在整体上都具有流水、并行的特征。a s i c 技术就是 针对算法的特点采用了流水并行处理的结构,因此它能够最大程度地提高算法的运算速 度,即克服了传统微处理器串行执行的工作模式,采用脉动阵列处理器作为基本处理单 元,并以高度并行流水的方式作业,从而大大提高了算法的执行速度和效率。但是,专 用处理器带来的不足也很明显。首先,它不具备通用处理器及d s p 处理器的可编程性 及由此带来的灵活性:另外,a s i c 开发费用过高、周期较长,尤其是算法得到改进时, 必须付出昂贵的代价。 ( 4 ) f p g a 实现 f p g a 是a s i c 家族中的一个分支,属于可编程逻辑器件。f p g a 实现算法主要有 以下几点优势:1 ) f p g a 非常适合于各种算术运算,包括含有大量乘加运算的数字信号 处理算法。用f p g a 设计数字信号处理算法系统时,可以利用并行结构和算术运算的优 点,充分利用硬件资源,并在性能上超过d s p 器件。在现有的数字信号处理算法实现 方案中,利用f p g a 中阵列乘法的分步式运算,可以将数据带宽和吞吐量提高几个数量 级。2 ) 相对通用处理器而言,f p g a 可以由设计者根据算法的内在结构设计合适的处理 阵列,避免串行执行指令的低效。3 ) 相对a s i c 而言,采用f p g a 可避免初期巨大的开 发投资,同时拥有微处理器的通用性和灵活性。在算法修改时,短时间内就将新的算法 付诸实际。在算法成熟且应用量大时,可将f p g a 设计转化为a s i c 实现。因此,利用 f p g a 实现数字信号处理算法方便、快捷,是硬件快速设计实现的最佳选择。 大连理工大学硕士学位论文 根据文献报道,f p g a 已经被有效应用到i c a 算法的实现中。例如,l i m 等人利用 x i l i n xv i r t e xx c v s l 2 e 设计完成了两个基于互信息最大化与输出散度最小化的独立分 量神经网络算法【i l l :s a t t a r 和c h a r a y a p h a n 在x i l i n xv i r t e xe 上设计实现了信息最大化算 法【1 2 1 5 】:k i m 等人在a l t e r ae p 2 0 k 6 0 0 e 上实现了信息最大化和自适应噪声抵消的组合算 法,用于最小化源信号和噪声问的熵【1 6 】。近年来,随着f p g a 技术的快速发展,有关i c a 算法硬件实现的文献不断涌现【1 7 1 9 1 ,但i c a - r 算法的硬件实现方面未有报道。为此,本 文针对一单元定点i c a r 算法给出f p g a 硬件实现方案。 1 2 本文主要研究内容 根据上述设计目标,本文主要进行了以下内容的研究: ( 1 ) 比较了f p g a 的传统设计方法和基于d s p 开发平台的设计方法,选取了本文的 设计方法一基于d s p 开发平台的新设计方法;熟悉了m a t l a b s i m u l i n k 开发环境,以 及s y s t e mg e n e r a t o r 开发平台。 ( 2 ) 研究了定点i c a r 算法的原理、主要功能和分离过程,依照算法的流程进行了 功能模块划分,主要包括输入模块、解混模块、判断模块、权向量更新模块和输出模块。 ( 3 ) 基于m a t l a b s i m u l i n k 和s y s t e mg e n e r a t o r ,对各个子模块分别进行f p g a 设 计实现。其中,权向量更新模块的非线性函数实现影响算法精度,本文研究并使用了查 找表和分段线性近似等两种方法加以实现,并分析比较了两种方法的优劣。 ( 4 ) 添加控制电路,连接各个模块,完成了整个算法系统的设计。由于算法复杂度 较高,使用的循环变量较多,故加入了时序调整电路和循环控制电路,以保证整个系统 正确有序地运行。 ( 5 ) 进行了系统仿真,分析了仿真结果。为了验证f p g a 实现的定点算法系统的性 能,使用了正弦循环信号和语音信号等不同的源信号及其随机混合信号做了大量的仿真 试验,并将仿真结果与m a t l a b 环境下得到的仿真结果进行了比较与分析,给出了相 应的分析结果。 1 3 论文结构安排 本文的具体结构安排如下: 第一章绪论。主要介绍课题的来源、研究意义和研究现状,数字信号处理算法的 几种实现方法及其优缺点,最后对本文的主要研究内容以及文章结构进行了简述。 第二章f p g a 概述。介绍f p g a 结构原理、发展现状以及应用前景,接着介绍了 f p g a 设计方法,包括传统的设计方法和基于d s p 开发平台的设计方法,最后介绍了 f p g a 设计工具。 定点参考独立分量分析算法的f p g a 实现 第三章参考独立分量分析算法。简要介绍了独立分量分析算法和参考独立分量分 析算法,以及参考独立分量分析算法和定点改进,并进行了定点改进算法实现的功能模 块划分。 第四章定点参考独立分量分析算法的f p g a 实现。在m a t l a b s i m u l i n k 环境下, 利用s y s t e mg e n e r a t o r 开发平台对定点参考独立分量分析算法的各个功能模块分别进行 实现,并最终完成了整个算法系统的实现。 第五章电路仿真及结果分析。分别使用正弦循环信号和语音信号与不同噪声信号 的随机混合信号作为输入信号,对所实现的系统进行了仿真,计算了分离结果的信噪比, 并将仿真结果与m a t l a b 仿真结果进行了比较和分析。 最后,在结论部分对全文进行了回顾和总结,并指出了下一步的相关研究工作和需 要注意的问题。 大连理工大学硕士学位论文 2f p g a 设计概述 本章简单介绍f p g a 的发展应用、结构原理、设计方法以及设计工具。 2 1f p g a 发展及应用 随着微电子设计技术与工艺的发展,数字集成电路从小规模集成电路( s s i ) 、中规模 集成电路( m s i ) 、大规模集成电路( l s i ) 、超大规模集成电路( v l s i ) 逐步发展到专用集成 电路( a s i c ) 。a s i c 的出现降低了产品的生产成本,提高了系统的可靠性,缩小了设计 的物理尺寸,但是a s i c 因其设计周期长,改版投资大,灵活性差等缺陷制约着它的应 用范围。硬件工程师希望有一种更灵活的设计方法,在实验室就能设计、更改大规模数 字逻辑,研制自己的a s i c 并马上投入使用,这就提出了可编程逻辑器件的基本思想。 可编程逻辑器件随着制造工艺的发展取得了长足的进步。从早期的只能存储少量数 据、完成简单逻辑功能的可编程只读存储器( p r o m ) 、紫外线可擦除只读存储器( e p r o m ) 和电可擦除只读存储器( e e p r o m ) ,发展到能完成中大规模的数字逻辑功能的可编程逻 辑阵列( p l a ) 、可编程阵列逻辑( p a l ) 和通用阵列逻辑( o a l ) 。以及可以完成超大规模复 杂组合逻辑与时序逻辑的复杂可编程逻辑器件( c p l d ) 和现场可编程门阵列( f p g a ) 。 1 9 8 4 年x i l i n x 公司发明了f p g a ,并陆续推出了x c 2 0 0 0 ,x c 3 0 0 0 ,x c 4 0 0 0 ,x c 6 2 0 0 等一系列f p g a 芯片。f p g a 通常包含三类可编程资源:可编程逻辑功能块、可编程l o 块和可编程内部互连。可编程逻辑功能块是实现用户功能的基本单元,它们通常排列成 一个阵列,散布于整个芯片;可编程i o 块完成芯片上逻辑与外部封装脚的接口,常围 绕着阵列排列于芯片四周;可编程内部互连包括各种长度的连线线段和一些可编程连接 开关,它们将各个可编程逻辑块或i o 块连接起来,构成特定功能的电路。 电路设计工程师设计一个电路首先要确定线路,然后进行软件模拟以及优化,以确 认所设计电路的功能及性能。然而设计规模不断增大,工作频率不断提高,给电路引入 许多分布参数的影响,而这些影响用软件模拟的方法较难反映出来,所以有必要作硬件 仿真。f p g a 就可以实现硬件仿真以做成模型机。将软件模拟后的线路经过一定处理后 下载到f p g a ,就可容易地得到一个模型机,设计者就可以很直观地测试其逻辑功能及 性能指标。不同厂家生产的f p g a 在可编程逻辑块的规模、内部互连线的结构和采用的 可编程元件上存在较大的差异。较常用的有x i l i n x 、a l t e r a 和a c t e l 公司的f p g a 。 目前,可编程逻辑器件已在以下领域得到了广泛应用。 ( 1 ) 通信领域。现代通信系统也正朝着功能更强、体积更小、速度更快、功耗更低 的方向发展,而f p g a c p l d 在集成度、功能和速度上的优势正好可以满足现代通信系 定点参考独立分量分析算法的f f g a 实现 统的要求,并已广泛的应用于程控交换机、网络路由器、光网络设备、通信基站和终端 等通信设备中。 ( 2 ) 数字信号处理( d s p ) 领域。现在很多高端的f p g a 都专门针对数字信号处理内嵌 了d s p 内核,并且提供了大量的片内r a m 资源以满足数字信号处理过程中存储数据 的需要,这些已成功应用于许多d s p 领域。 ( 3 ) 单片系统领域。随着可编程逻辑器件的不断发展,现代f p g a 已经能够完全可 以满足单片系统( s o c ) 的资源需求,可以方便的实现诸如v g a 、p c ib u s 、i p 网络、u s b 、 1 2 c 等等外围接口,并且内嵌了诸如中央处理器( c p u ) 、数字信号处理器( d s p ) p q 核、 s e r d e s ( * 并收发单元) 、p l l ( p b a s el o c k e dl o o p ,锁相环) 等多种功能单元。这样就可 以把整个系统集成在同一块f p g a 芯片中,即所谓的片上可编程系统( s o p c ) 。 可编程逻辑器件是一门正在发展着的技术,在结构、密度、功能、速度和灵活性方 面将得到进一步的发展,各制造商受商业利益驱动必会陆续推出一些新的技术来提高器 件的性能以提高竞争力。随着工艺和结构的改进,可编程逻辑器件的集成度将进一步提 高,功能将进一步完善,成本将逐渐下降,在现代电子产业中将起到越来越重要的作用。 2 2f p g a 结构原理 f p g a 的生产厂家和产品种类较多,但它们的基本组成大致相似【2 0 之4 l 。它的核心部 分是逻辑单元阵列( l c a ) 。l c a 由内部逻辑块矩阵和周边i o 接口模块组成。l c a 内部 连线在逻辑块的行列之间,占据逻辑块i o 接口模块之间的通道,可以由可编程开关以 任意方式形成逻辑单元之间的互连。 所以,f p g a 由三种可编程单元和一个存放编程数据的静态存储器组成。这三种可 编程单元由布线资源分隔的可配置逻辑模块( c o n f i g u r a b l el o g i cb l o c k s ,c l b ) 、周边可编 程输入输出模块( i n p u t o u t p u tb l o c k s ,i o b ) 、布线通道中可编程互联资源( p r o g r a m m a b l e i m e r c o n n e c t ,p i ) 组成。c l b 以阵列形式分布,用于实现用户设计的逻辑功能;i o b 为内 部c l b 的输入输出信号线与外部封装引脚之间提供可编程接口,它通常排列在芯片四 周;p 1 分布在c l b 的空隙,用于c l b 和i o b 的输入输出之间的连接和一些全局信号的 布线。下面分别讲述三个模块: ( 1 ) 可配置逻辑模块( c l b ) c l b 用于实现f p g a 中的大部分逻辑功能,c l b 的基本逻辑单元是切片( s l i c e ) ,一 个s l i c e 由两个四输入查找表( l u t ) ,两个快速进位逻辑( c a r r y ) ,两个时钟触发器组成。 大连理工大学硕士学位论文 一个l u t 可以实现四个独立输入信号的任意布尔函数,除了作为函数发生器,每 个l u t 也可以配置成1 6 xl b i t 同步r a m ,一个c l b 中的四个l u t 可以配置成6 4 xl b i t 同步r a m 或是3 2 x2 b i t 的双端口r a m 。由c l b 实现的存储单元称作分布式 r a m ( d i s t i l b u t c dr a m ) 。快速进位逻辑用于实现快速的进位运算,上下相邻的c a r r y 组 成进位链,进位链通常独立于布线资源,快速进位逻辑大大提高了加法器、乘法器、比 较器和计数器的运算效率,同时它也有利于实现许多新的运算操作。时钟触发器可以配 置成边沿触发的d 触发器或是电平触发的锁存器。s l i c e 中的多路选择器将多个l u t 的 输出组合起来,实现多输入( 超过四个) 的任意逻辑功能。 此外,c l b 中还提供一些附加逻辑和全局控制信号线。 ( 2 ) 可编程输入输出模块( i o b ) i o b 提供芯片外部封装引脚口和内部逻辑模块之间的接口,每个i o b 控制一个封装 引脚,封装引脚可以配置成输入、输出或是双向信号引脚。信号可以配置成为直接连通、 边沿触发或电平锁存从i o b 输入输出。此外,在信号的输入输出路径上都有输入输出 缓冲器控制信号直接输入输出或是通过触发器输入输出。 另外,i o b 可以配置成不同类型的i o 接口标准,满足不同应用场合的需求 ( 3 ) 可编程内部连线模块( p i ) f p g a 拥有丰富的布线资源,分布在c l b 的行列之间。这些布线资源主要包括四种, 分别是可编程开关矩阵、单长线、双长线和长线。 编程开关矩阵( p r o g r a m m a b l es w i t c hm a t r i x ,p s m ) ,水平和垂直的单长线和双长 线利用p s m 连接。 单长线,单长线可以提供最大的布线灵活性,并为相邻的c l b 提供快速的连接。 每个c l b 与若干条水平单长线和垂直单长线相连。这些单长线通过位于c l b 阵列中每 一行、每一列的p s m 进行连接。单长线在通过p s m 时会产生一定的延迟。因此,它不 话合于长距离的信号布线。 双长线,双长线成对出现在p s m 两侧,它们交错通过p s m ,可以完成隔行、隔 列或斜对角c l b 之间的连接。 长线,长线贯穿整个c l b 阵列的长和宽,主要用于高扇出、对时间延迟有严格 要求及贯穿较大距离的信号布线。 随着f p g a 不断向着系统级功能芯片方向发展,除了以上提到的三种基本资源以 外,一些完成专门功能的模块被集成到f p g a 上,如块存储器( b l o c kr a m ) 、数字时钟 管理器( d i g “a lc l o a km a n a g e r ,d o m ) 、硬件乘法器模块( m u l t i p l i e 0 等等。这些模块大大 定点参考独立分量分析算法的f p g a 实现 增强了f p g a 的处理能力,使得f p g a 除了能完成许多强大的逻辑功能以外,还能完成 一些系统级功能。 2 3f p g a 器件选择 目前的f p g a 种类非常多,主要的生产厂家有x i l i n x 、a l t e r a 和a c t e l 等。根据对各 个厂家芯片相关资料的分析及现有开发条件,并参照信息最大化算法的f p g a 实现性 能,本文拟采用x i l i n x 公司的s p a r t a n - 3 e 系列芯片中的x c 3 s 1 2 0 0 e 器件。 s p a r t a n - 3 ef p g a 是x i l i n x 公司采用先进的9 0 n m 制造工艺技术生产的系列产品。 是通过以超低价位提供范围广泛的平台级特性,s p a r t a n - 3 e 系列致力于降低器件成本和 总体系统成本。例如,s p a r t a n - 3 e 系列能够以标准产品价格实现微处理器、微控制器和 数字信号处理器功能。s p a r t a n 3 e 器件还包括一系列针对消费电子市场的特色功能,例 如支持1 8 种通用i o 标准,包括p c i6 4 6 6 、p c i - x1 0 0 、r s d s 和m i n i l v d s ,以及普 通d d r 存储接口。这些特性减少了对其它分立器件的需求,从而可降低总体系统成本 并简化设计。s p a r t a n - 3 e 系列还通过串行( s p i ) 和并行闪存进行器件配置以及x i l i n x p l a t f o r mf l a s h 解决方案来降低系统成本。由于许多大批量系统中已经包含了有数兆位 未用容量的闪存,f p g a 配置存储器可以不用增加任何成本。 其中x c 3 s 1 2 0 0 e 器件拥有近两万的等效逻辑单元,可以满足本课题算法实现对硬 件资源的需求。另外,s p a r t a n - 3 e 系列f p g a 开发所需要的配套软件也较为容易获得: i s e 网络版软件提供免费软件支持,同时本文采用的s y s t e mg e n e r a t o r 也支持该芯片。 2 4 f p g a 设计方法 2 。4 。1 传统设计方法 传统的高层次f p g a 设计方法典型流程般分为系统划分、设计输入、功能仿真、 设计综合、设计实现、时序仿真与分析和配置下载等步骤。设计流程见图2 1 所示。下 面分别介绍各个设计步骤。 ( 1 ) 系统划分 对整个系统进行方案设计和功能划分,把系统划分为基本单元,再把每个单元划分 为下一层次的基本单元,以便于分块实现。 大连理工大学硕士学位论文 图2 1f p g a 设计流程 f i g 2 1d e s i g nf l o wo ff p g a ( 2 ) 设计输入 包括使用硬件描述语言h d l 、状态图与原理图输入三种方式。h d l 设计方式是现 今设计大规模数字集成电路的良好形式,除i e e e 标准中v h d l 与v e r i l o gh d l 两种形 式外,还有各自f p g a 厂家推出的专用语言。h d l 描述状态机、控制逻辑、总线功能 方面较强,使其描述的电路能在特定综合器( 如s y n o p s y s 公司的f p g ac o m p i l e ri i 或 f p g ae x p r e s s ) 作用下以具体硬件单元较好地实现:而原理图输入在顶层设计、数据通 路逻辑、手工最优化电路等方面具有图形化强、单元节俭、功能明确等特点。常用方式 是以h d l 语言为主,原理图为辅,进行混合设计以发挥二者各自特色。通常,f p g a 厂商软件与第三方软件设有接口,可以把第三方设计文件导入进行处理。如q u a r t u s 与 f o u n d a t i o n 都可以把e d i f 网表作为输入网表而直接进行布局布线,布局布线后,可再 将生成的相应文件交给第三方进行后续处理。在设计中主要使用h d l 描述v l s i 结构, 同时使用了一些x i l i n x 公司提供的免费的i p c o r e 构成了整个电路结构。 定点参考独立分量分析算法的f p g a 实现 ( 3 ) 功能仿真 功能仿真是指在一个设计中,在设计实现前对所创建的逻辑进行的验证其功能是否 正确的过程。布局布线以前的仿真都称作功能仿真,它包括综合前仿真( p r e s y n t h e s i s s i m u l a t i o n ) 和综合后仿真( p o s t s y n t h e s i ss i m u l a t i o n ) 。综合前仿真主要针对基于原理框图 的设计;综合后仿真既适合原理图设计,也适合基于h d l 语言的设计。 ( 4 ) 设计综合 综合,就是针对给定的电路实现功能和实现此电路的约束条件,如速度、功耗、成 本及电路类型等,通过计算机进行优化处理,获得一个能满足上述要求的电路设计方案。 也就是说,被综合的文件是h d l 文件( 或相应文件等) ,综合的依据是逻辑设计的描述和 各种约束条件,综合的结果则是一个硬件电路的实现方案,该方案必须同时满足预期的 功能和约束条件。对于综合来说,满足要求的方案可能有多个,综合器将产生一个最优 的或接近最优的结果。综合的过程一般包括分析、综合和优化三个步骤。其中,分析是 采用标准的h d l 语法规则对h d l 源文件进行分析并纠正语法错误;综合是以选定的 f p g a 结构和器件为目标,对h d l 和f p g a 网表文件进行逻辑综合;而优化则是根据 用户的设计约束对速度和面积进行逻辑优化,产生一个优化的f p g a 网表文件,以供 f p g a 布局和布线工具使用,即将电路优化于特定厂家器件库,独立于硅特性,但可以 被约束条件所驱动。综合后形成的网表可以以e d i f 格式输出,也可以以v h d l 或v e r i l o g h d l 格式输出,将其导入f p g a 设计厂商提供的可支持第三方设计输入的专用软件中, 就可进行后续的f p g a 芯片的实现。综合完成后可以输出报告文件,列出综合状态与综 合结果,如资源使用情况、综合后层次信息等。 ( 5 ) 设计实现 实现可理解为利用实现工具把逻辑映射到目标器件结构的资源中,决定逻辑的最佳 布局,选择逻辑与输入输出功能连接的布线通道进行连线,并产生相应文件( 如配置文 件与相关报告) 。通常可分为如下五个步骤: 1 ) 转换( t r a n s l a t e ) :将多个设计文件进行转换并合并到一个设计库文件中 2 ) 映射( m a p ) :将网表中逻辑门映射成物理元素,即把逻辑设计分害- t j n 构成可编程逻 辑阵列内的可配置逻辑块与输入输出块及其它资源中的过程。 3 ) 布局与布线( p l a c e & r o u t e ) :布局是指从映射取出定义的逻辑和输入输出块,并把 它们分配到f p g a 内部的物理位置,通常基于某种先进的算法,如最小分割、模拟退火 和一般的受力方向张弛等来完成:布线是指利用自动布线软件使用布线资源选择路径试 着完成所有的逻辑连接。最新的设计实现工具是时序驱动的,即在器件的布局布线期间 大连理工大学硕士学位论文 对整个信号通道执行时序分析,因此可以使用约束条件操作布线软件,完成设计规定的 性能要求。在布局布线过程中,可同时提取时序信息形成报告。 4 ) 时序提取:产生一反标文件,供给后续的时序模拟使用。 5 ) 配置:产生f p g a 配置时所需要的位流文件。在实现过程中可以进行选项设置。 因其支持增量设计,可以使其重复多次布线,且每次布线利用上一次布线信息以使布线 更优或达到设计目标。为了使后续位流下载正常,在实现过程中应选择设置默认配置的 下载形式。 ( 6 ) 时序仿真与分析 在布局布线后,提取有关的器件延迟、连线延时等时序参数,并在此基础上进行的 仿真称为布线后仿真,它是接近真实器件运行的仿真。时序仿真使用布局布线后器件给 出的模块和连线的延时信息,在最坏的情况下对电路的行为做出实际地估计。时序仿真 使用的仿真器和功能仿真使用的仿真器是相同的,所需的流程和激励也是相同的;惟一 的差别是为时序仿真加载到仿真器的设计包括基于实际布局布线设计的最坏情况的布 局布线延时,并且在仿真结果波形图中,时序仿真后的信号加载了时延。 在设计实现过程中,在映射后需要对一个设计的实际功能块的延时和估计的布线延 时进行时序分析;而在布局布线后,也要对实际布局布线的功能块延时和实际布线延时 进行静态时序分析。从某种程序来讲,静态时序分析可以说是整个f p g a 设计中最重要 的步骤,它允许设计者详尽地分析所有关键路径并得出一个有次序的报告,而且报告中 含有其它调试信息,比如每个网络节点的扇出或容性负载等。静态时序分析器可以用来 检查设计的逻辑和时序,以便计算各通路性能,识别可靠的踪迹,检测建立和保持时间 的配合,时序分析器不要求用户产生输入激励或测试矢量。虽然x i l i n x 与a l t e r a 在f p g a 开发套件上拥有时序分析工具,但在拥有第三方专门时序分析工具的情况下,仅利用 f p g a 厂家设计工具进行布局布线,而使用第三方的专门时序分析工具进行时序分析, 一般f p g a 厂商在其设计环境下皆有与第三方时序分析工具的接口。利用第三方软件查 看关键路径或设计者感兴趣的通路的时序,并对其进行分析,再次对原来的设计进行时 序约束,可以提高工作主频或减少关键路段的延时。与综合过程相似,静态时序分析也 是一个重复的过程,它与布局布线步骤紧密相连,这个操作通常要进行多次直到时序约 束得到很好的满足。在综合与时序模拟过程中交互行时序分析,满足设计要求后即可进 行f p g a 芯片投片前的最终物理验证。 ( 7 ) 配置下载 下载是在功能仿真与时序仿真正确的前提下,将综合后形成的位流下载到具体的 f p g a 芯片中,也叫芯片配置。f p g a 设计有两种配置形式:一种是直接由计算机经过 定点参考独立分量分析算法的f p g a 实现 专用下载电缆进行配置;另外一种是由外围配置芯片进行上电时自动配置。因f p g a 具 有掉电信息丢失的性质,因此可在验证初期使

温馨提示

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

评论

0/150

提交评论