(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf_第1页
(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf_第2页
(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf_第3页
(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf_第4页
(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf_第5页
已阅读5页,还剩53页未读 继续免费阅读

(信号与信息处理专业论文)基于fpga的多处理器系统通讯接口设计.pdf.pdf 免费下载

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

文档简介

摘要 在信号处理系统的通信接口领域中,所提供的接口技术种类繁多且速度要求 日益提高。由多个d s p 处理器系统协同处理数据是很多信号处理的实现手段,由 于d s p 本身的i o 特性的限制,如果配合f p g a 在逻辑方面的灵活性和多种i o 标准的兼容性,是实时信号处理通信接口的较理想的解决方案。因此,本研究立 足于f p g a 的设计,来解决由a d i 公司d s p - - t i g e r s h a r c 2 0 1 组成的多处理器 系统的高速通讯接口问题,用f p g a 实现t i g e r s h a r c 2 0 1 链路口、p c i 接口及其 与s r a m 的总线的通信接口。本研究的硬件平台为由4 颗a d i 公司的 t i g e r s h a r c 2 0 1 和1 颗a l t e r a 公司的f p g a _ e p 2 s 6 0 f 1 0 2 0 构成的多处理机系 统,主要实现w c d m a 基带处理功能。实验结果表明,e p 2 s 6 0 f 1 0 2 0 能够实现和 砸g e r s h a r c 2 0 1 的2 4 0 m h z 的链路口接收和发送通信接口、6 6 m h z 的p c i 总线 接口和6 0 m h z 的s r a m 接口,并且有较好的信号完整性和数据传送的可靠性。 关键词:多处理器系统f p g a通信接口 a b s t r a c t s i n c et h ed e v e l o p m e n to fc o m m u n i c a t i o nf o rs i g n a lp r o c e s s i n ga p p l i c a t i o n s ,h i g h e r s p e 宅, d sa n dm u l t i p l i c a t ei oi n t e r f a c ea r er c q u i r e d m u l t i p r o c e s 翻g rd s ps y s t e mu s u a l l yi s ag o o dm e t h o dt oi m p l e m e n tr e a lt i m es i g n a lp r o c c s s i n g d u et of p g as u p p u am o r e m u l t i p l i c a t ef os t a n d a r d s , a ni n t e g r a t e df p g aa n dd s ps y s t e mi sab e t t e rs c h e m e sf o r t h ec o m m u n i c a t i o no fs i g n a lp r o c e s s i n gs y s t e m t h i sp a p e rp r e s e n t st h ed e s i g no fa p l a t f o r mw i t hf o u rt i g e r s h a r c 2 0 1 sa n do n ee p 2 s 6 0 f 1 0 2 0f o rw c d m a b a s e - b a n d s i g n a lp r o c e s s i n g t h eb a s i cb a c k g r o u n do fl i n k p o r t , p c ib u s ,s r a mi n t e r f a c ea n da d e t a i l e dd e s i g no fa p p l i c a b l ef p g aa t eg i v e n e x p e r i m e n ta p p r o v e dt h a tt h ef p g ac a r l i m p l e m e n t s2 4 0 m h zl i n k p o r tw i t ht i g e r s h a r c 2 0 1 ,6 6 m h zp c ib u sa n d6 0 m h z s i a mi n t e r f a c e ,a l s os h o w sg o o ds i g n a li n t e g r i t ya n dr e l i a b f i t y k e y w u r d s :m u l t i p r o c e s s e rs y s t e m f p g ac o m m u n i c a t i o ni n t e r f a c e 独创性( 或创新性) 声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中不 包含其他人已经发表或撰写过的研究成果;也不包含为获得西安电子科技大学或 其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做 的任何贡献均已在论文中做了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:i 鱼蘧日期洫盛! 虽! 盈 关于论文使用授权的说明 本人完全了解西安电子科技大学有关保留和使用学位论文的规定,即:研究生 在校攻读学位期间论文工作的知识产权单位属西安电子科技大学。本人保证毕业 离校后,发表论文或使用论文工作成果时署名单位仍然为西安电子科技大学。学 校有权保留送交论文的复印件,允许查阅和借阅论文;学校可以公布论文的全部 或部分内容,可以允许采用影印、缩印或其它复制手段保存论文。( 保密的论文在 解密后遵守此规定) 本学位论文属于保密,在年解密后适用本授权书。 日期塑垒至! 垦! 三垒 日期 第一章绪论 第一章绪论 由d s p 和f p g a 组成的系统最大的特点是结构灵活,有较强的通用性,适于 模块化设计,从而能够提高算法效率,同时开发周期较短,系统易于维护和扩展, 适合于实时信号处理。而在i 0 特性上,f p g a 则更显出优势,灵活的可编程性能、 高速的数据吞吐量、多种i t 0 电气特性,使其成为系统接口设计的良好解决方案。 本课题主要研究由d s p 和f p g a 组成的系统中,基于f p g a 的高速通讯接口的设 计与实现,从而满足通信与信息技术应用领域对高速接口的需求。 1 1 研究背景 f p g a 是现场可编程门阵列- f i e l dp r o g r a m m a b l eg a t e a r r a y 的缩写,是电子 设计领域中最具活力和发展前途的一项技术,它从专用功能集成电路 a s i c ( a p p l i c a t i o n - s p e c i f i ci n t e g r a t e dc i r c u i t ) 的基础上发展出来的,克服了专用 a s i c 不够灵活、设计周期长、投资大等缺点,历经可编程阵列逻辑p a u g a l ( p r o g r a n n n a b l ea r r a yl o g c ) ,复杂可编程逻辑器c p l d ( c o m p l e xn o g m 咖a b l e i _ o g i cd e v i c e ) 等发展, 到今天f p g a 已经成为新型高性能的可编程逻辑器件, 它一般采用s r a m 工艺,其集成密度很高,密度从数万到数千万系统门不等,可 以完成复杂的时序和逻辑电路功能,适用于高速、高密度的数字逻辑电路设计领 域。目前,f p g a 的容量已经跨过了百万门级,使得f p g a 成为解决系统级设计的 重要选择方案之一。另一方面,f p g a 也有其局限性:由于器件本身规模的限制, 单元间的延时比较大,无法实现复杂的运算,优化程度不高。某个f p g a 本身资 源的量是固定,如果在设计中没有充分利用资源的话,性能价格比相对较低。 在本文中,多处理器系统指的是由多个d s p 组成的,能够实现实时信号处理 的系统,具有处理大数据量的能力,以保证系统的实时性;其次对其系统的体积、 功耗、稳定性等也有较严格的要求。实时信号处理算法中经常用到对的求和、求 差运算、二维梯度运算、抽样、卷积和编码,区域特征提取等不同层次、不同种 类的处理。因此,多处理器系统是对运算速度要求高、运算种类多的综合性信息 处理系统。 个关于a d i 公司d s p 芯片t i g e r s h a r c 2 0 1 互连的多处理机系统的例子是 在各个d s p 之间采用链路口连接,数据按照流水线方式从d s p l 流向d s p x 。处理 完成后再将数据输出到下一级的信号处理模块。每个链路口都配有一组中断请求 和中断输入的握手信号。链路口组成多d s p 平台的特点:1 、其最大优势是结构简 2 基于f p g a 的多处理器系统通讯接口设计 单,传输可靠,而且其数据传输速率与由c l u s t e rb u s 组成的系统相当。2 、链路口 传输时数据的共享性不如总线形式,但这种结构方式特别适用于实时信号处理的 场合。 1 2 研究目的与方向 f p g a 在高速采集系统中的应用越来越广,由于f p g a 自身的特点和技术成熟 的角度来说,f p g a 对数据的处理能力比较差;而在通信接口的实现上,数据量大, 速度要求高,则是适合用f p g a 来实现的。但当计算方式和控制结构比较复杂, 难以用纯硬件实现时,就需要将其采集到的数据送到其他d s p 系统来实现数据的 处理功能,这就使f p g a 系统与其他d s p 系统之间的数据通信提到日程上。 本课题的研究立足于f p g a 的设计,来解决由a d i 公司的t i g e r s h a r c 2 0 1 组 成的多处理器系统的高速通讯接口问题,实现t i g e r s h a r c 2 0 1 链路口、p c i 接1 3 及其与s r a m 的总线的通信接口。硬件平台主要由4 颗a d i 公司的 t i g e r s h a r c 2 0 1 和1 颗a l t e r a 的e p 2 s 6 0 f 1 0 2 0 构成的多处理机系统,实现在 w c d m a 基带处理功能。本研究致力于由f p g a 实现和t i g e r s h a r c 2 0 1 的 2 4 0 m h z 的链路口接收和发送的数据通信接口、6 6 m h z 的p c i 总线接口和6 0 m h z 的s r a m 接口,并且保证其有较好的信号完整性和数据传送的可靠性。 在信号处理的通信领域中,d s p 和f p g a 的协同工作是较完备的解决方案, 也是未来的趋势和方向。总的说来有如下意义: 其一,由f p g a 实现搭建与多处理机系统与计算机或其他设备间的通讯桥梁 为通信系统器件所提供的接口技术种类繁多,设计者应根据所需功能选择器件, 采用f p g a 解决当中的接口和互用性问题。现在已经推出很多具有高性能接口口 及高速物理i o 的f p g a ,可满足高速数据通道的通信系统的要求。 其二,实现f p g a 与d s p 协同处理数据。在一个硬件系统中,要进行合理的 模块与任务的划分,什么功能更适合放在f p g a 中,什么功能更适合放在d s p 中, 是根据具体的数据处理方式来决定的。另一方面,d s p 处理器利用其强大的i o 功 能实现单元电路内部和各个单元之间的通信。从d s p 的角度来看,可重构器件 f p g a 相当于它的协处理器。 因此,基于d s p 加上f p g a 的方案,采用线性流水结构,是实现高速数字信 号处理的有效方案。这样的系统具有灵活的处理结构,对不同结构的算法都有较 强的适应能力,能分发挥d s p 和f p g a 各自的特点。 第一章绪论3 1 3 章节概要 本课题开发的硬件平台由是由a d i 公司的t i g e r s h a r c 2 0 1 和a l t e r a 的 e p 2 s 6 0 f 1 0 2 0 构成的多处理机系统,主要实现在w c d m a 基带处理功能。该处理 系统以d s p 芯片为核心,由高密度的f p g a 协同处理基带发送数据,并实现母板 的控制接口、上行和下行天线数据的接入与处理。以下就本论文各章内容作一简 要说明,论文总共分为五个章节,各章节的编排与概要说明如下: 第一章:绪论。描述研究的目的。并探讨相关领域背景及说明目前研究的方向。 第二章:f p g a 性能和设计技术。主要介绍f p g a 的设计原则、主流f p g a 的架构、常用的e d a 工具,以及典型的可编程逻辑芯片的设计流程。 第三章:系统设计。说明硬件系统和程序的实现,详细研究了如何用f p g a 实现链路口收发模块、p c i 总线、以及d s p 与s r a m 的总线接口 第四章:电路板调试、验证和评估。提出本系统的最终实验结果并讨论和验 证了实验结果,分析设计的速度和信号完整性。 第五章:结论与展望。对本论文所提出的系统设计及实现结果做出简要的结 论,并提出进一步改善的地方以及未来的趋势。 第二章f p g a 性能和设计技术5 第二章f p g a 性能和设计技术 为了满足日益提高的数据处理和传输速率,并且保证其性能的可靠性是可编 程逻辑器件所面临的主要课题,因此,要了解究竟怎样的f p g a 设计原则能实现 更好的性能,是解决问题的关键。总的说来,可编程逻辑器件有很多内在规律可 循,掌握这些规律对于深刻理解可编程逻辑器件设计技术是非常重要的。 在高阶设计的领域中,硬件描述语言只是一种程序语言的界面,它提供一个 极具弹性的设计入口,作为电路设计人员与各种电脑辅助工具之间沟通的桥梁。 因此,硬件描述语言必须搭配一套功能强大的软件,也就是电子设计自动化工具, 验证庞大且复杂的逻辑。在设计时,要充分理解设计的特点,作出合理而完备的 约束,找出设计的真正瓶颈所在,才能在对设计的优化工作中有的放矢,事半工 倍。 另一方面,随着现在设计的功能性和复杂度日益增加,系统速度的提高,设 计者对f p g a 的认识不应该只停留在对其如何应用的层面上,更应该对器件的结 构和性能有深入的了解,在系统结构设计时,就应该考虑到怎样的设计更符合器 件内部单元的工作方式,了解了器件的结构和特性,也才能进一步对设计进行优 化,同时在时序上才能进行正确的分析。鉴于此,本章将以a l t e r a 的s t r a t i xi i 为 例,介绍其的内部结构和特性。 综上所述,本章将致力于f p g a 设计的技术与原则、业界常用的e d a 工具、 以及f p g a 内部结构这三个方面来进行探讨和总结。 2 1f p g a 设计的技术与原则 2 1 1 同步设计原则 同步设计原则时设计时序稳定的基本要求,也是高速可编程逻辑器件设计的 通用法则。由于异步电路的核心是由组合电路实现的,它的输出信号不依赖于任 何时钟信号,而同步电路的核心则是各种触发器来实现电路的主要信号,输出信 号都是由某个时钟沿驱动触发器产生的,可以有效的避免毛刺。于f p g a 设计,同 步设计是优于异步设计的。我们对f p g a 的同步设计理解为所有的状态改变都由 一个主时钟触发,而对具体的电路形式表现为所有的触发器的时钟端都接在同一 个主时钟上。一个系统的功能模块在内部可以是局部异步的,但是在模块问必须 是全局同步的。c p u 是一个同步设计的典型实例,就是所有电路都与一个系统主 时钟同步,主时钟是系统的心脏,尽管在与慢速的外设传送数据时需要插入等待 6 基于f p g a 的多处理器系统通讯接口设计 周期,但它的输入输出理论上仍然是主时钟同步驱动的。” 采用同步设计原则的原因: 1 、滤除毛刺。信号在f p g a 器件内部通过连线和逻辑单元时,都有一定的 延时,延时的大小与连线的长短和逻辑单元的数目有关。对于d 触发器来说,只 要毛刺不出现在时钟的上升沿并且满足数据的建立和保持时间,就不会对系统造 成危害,因此可以认为d 的输入端对毛刺信号不敏感。基于以上认识,在输出信 号的保持时间内,用d 触发器来读取一般组合逻辑的输出信号就成为一种行之有 效的方法。在实践中,可用工作于高速时钟的d 触发器对组合逻辑的输出信号进 行采样使其强行与时钟同步。这里要求系统时钟的频率相对很高,一个时钟的采 样时延不会引起系统的错误。 2 、由利于e d a ( e l e c t r o n i cd e s i g n a u t o m a t i o n ) t 具软件进行静态时序分析。由 于异步电路增加了时序分析的难度,而同步设计则时序路径清晰,相关时序简单, 综合优化实现容易,布局布线的计算量小,目前所有e d a 工具都推荐同步时序设 计。因此,可以说同步设计是现代高速可编程器件设计的通用法则。 实现同步设计的方法: 1 、d 触发器的合理运用:在某个电路中,以一个时钟为基准,采用d 触 发器对数据进行进行采样,从而得到同步的且没有竞争冒险输出,有效的消除毛 刺和假信号。 2 、二次时钟的同步设计:在用f p g a 同时处理多路不同速率信号时,涉 及到多个时钟的处理方法。这时候常常会采用高倍速率的外部时钟作为输入的工 作主时钟,用分频的方法产生一些较低频率的二次时钟。虽然这样二次时钟产生器 可以使用同步原理来设计。但这种方案有一严重缺点,即二次时钟相对于系统主时 钟可能存在过大的时钟歪斜。这意味着系统主时钟不能使用了。这种设计的另一 个问题是,任何有条件的操作都应通过一个d 触发器执行,以消除毛刺和假信号, 并且用其他延迟后的信号变成同步的。在芯片的输出端,需要用另外的锁存器,以 使内部歪斜的数据变成同步的数据。这些问题在设计中有可能解决,但结果将得出 一种性能较差和结构不良的设计。当系统中有两个或两个以上非同源时钟的时候, 数据的建立和保持时间很难得到保证最好的解决方法就是将所有的非同源时钟 同步化。这时,使用f p g a 内部的锁相环就是一个效果很好的方法。如果是不带 锁相环的f p g a , 则可以通过使用带使能端的d 触发器,并通过引入一个高频时 钟来实现信号的同步化。 3 、使能信号的合理运用:在f p g a 同步设计时,合理使用使能信号可以 得到很好的设计。用逻辑门产生使能信号来控制数据而不是用时钟来控制是一种 较好的设计对于不同源的多时钟输入处理问题,通过合理选用使能信号,我们可 第二章f p g a 性能和设计技术 7 以将它转化为单时钟多路并行处理的问题,采用这种设计思路带来的好处主要是 系统工作稳定,布线转换成功率高。设备调试周期短。其不足之处是系统工作频 率增高,资源使用较多,电路设计更复杂。但对f p g a 实现来说,工作频率可以 工作在较高的频率上,资源使用虽然较多,但采用统一全局时钟驱动后,系统的 资源利用率也可以提高,代价并不大。 总之,在f p g a 设计中,同步设计原则至关重要,要优于异步设计。 2 1 , 2 硬件描述语言原则 设计者在设计f p g a 时大多采用硬件描述语言h d l ( h a r dd i s c r i b l el a n g u a g e ) 来进行设计输入,可以理解为h d l 是设计者与e d a 设计软件的接口,通过h d l 让软件知道设计者的意图,最终把i i d l 语言变成实际的电路。 首先,应该明确f p g a 逻辑设计中采用的h d l 语言同软件语言如c :,c + + 等是 有本质区别的。以v e r i l o gh d l 为例,它的语法规则虽然和c 语言相似,但它的本 质作用在于描述硬件,v e r i l o gh d l 只是采用了c 语言形式的硬件抽象,它的最终 实现是芯片内部的实际电路。因此评判h d l 代码的优劣的最终标准是其实现硬件 电路的性能,而不仅仅是代码本身的流畅或易读。初学者可能会片面的追求代码 的整洁和简短,这反而是与评价h d l 代码的标准背道而驰的。正确的编写代码的 方式是,首先要对所需实现的电路胸有成竹,对该部分精简的结构和连接十分清 晰,然后以适当的形式用h d l 代码表示出来。 其次,由于硬件系统的各个单元是同时存在,独立运行的,信号流是并行的。 而对于c 语言,在c p i j 的高速缓存队列中是顺序执行的。所以设计者用h d l 进 行设计时。应充分理解硬件系统的并行处理特点,合理安排数据流的时序,提高 整个数据的效率。 另外,v e r i l o gh d l 作为一种h d l 语言,对系统行为的建模方式是分层次的, 比较重要的是系统级,算法级,寄存器传输级,逻辑级,门级和电路开关级等。 系统级和算法级和c 类似,但寄存器传输级之后就更侧重于硬件的描述,可用的 语法形式局限性更大,更加底层。设计者可根据设计的需要,灵活实现各个层次 的建模。 2 1 3 面积于速度的平衡于互换原则 面积是指一个设计所消耗f p g a 的逻辑资源的数量,速度是指芯片上 稳定运行时所能达到的最高频率,这个频率由设计的时序状况决定。面积和 速度是一对对立统一的矛盾体,要求一个同时具备设计面积最小,运行频率最高 是不现实的。更科学的设计目标应该是在满足设计时序要求( 包含对设计频率的 8 基于f p g a 的多处理器系统通讯接口设计 要求) 的前提下,占用最小的芯片面积。或者在所规定的面积下,使设计的时序 余量更大,频率跑得更高。这两种目标充分体现了面积和速度的平衡的思想。关 于面积和速度的要求,我们不应该简单的理解为工程师水平的提高和设计完美性 的追求,而应该认识到它们是和我们产品的质量和成本直接相关的。如果设计的 时序余量比较大,跑的频率比较高,意味着设计的健壮性更强,整个系统的质量 更有保证;另一方面,设计所消耗的面积更小,则意味着在单位芯片上实现的功 能模块更多,需要的芯片数量更少,整个系统的成本也随之大幅度削减。 作为矛盾的两个组成部分,面积和速度的地位是不一样的。相比之下,满足 时序、工作频率的要求更重要一些,当两者冲突时,采用速度优先的准则。面积 和速度的互换是f p g a c p l d 设计的一个重要思想。从理论上讲,一个设计如果时 序余量较大,所能跑的频率远远高于设计要求,那么就能通过功能模块复用减少 整个设计消耗的芯片面积,这就是用速度的优势换面积的节约;反之,如果一个 设计的时序要求很高,普通方法达不到设计频率,那么一般可以通过将数据流串 并转换,并行复制多个操作模块,对整个设计采取“乒乓操作”和“串并转换”的思想 进行运作,在芯片输出模块再在对数据进行“并串转换”,是从宏观上看整个芯片满 足了处理速度的要求,这相当于用面积复制换取速度的提高。 2 2 硬件描述语言0 a d l ) 近年随着系统的功能性和复杂度不断攀升,致使产品功能越来越复杂,随著 数字电路越来越复杂与计算机辅助设计工具的成熟,硬件描述语言让数字电路设 计工作更接近于软件算法的实现,使得电路设计流程加快且更具有弹性。它提供 一个弹性的设计入口,作为电路设计人员与各种电脑辅助工具之间沟通的桥梁。 随着e d a 技术的发展,使用硬件语言设计p u ) f p g a 成为一种趋势。目前最主要 的硬件描述语言是v h d l 和v e r i l o gh d l 。 2 2 1v e r i l o gh d l 介绍 v e r i l o gh d l 是一种硬件描述语言,用于从算法级、门级到开关级的多种抽象 设计层次的数字系统建模。被建模的数字系统对象的复杂性可以介于简单的门和 完整的电子数字系统之间。数字系统能够按层次描述,并可在相同描述中显式地 进行时序建模。v e r i l o gh d l 语言具有下述描述能力:设计的行为特性、设计的数 据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生 机制。所有这些都使用同一种建模语言。此外,v e r i l o gh d l 语言提供了编程语言 接口,通过该接口可以在模拟、验证期间从设计外部访问设计,包括模拟的具体 第二章f p g a 性能和设计技术 9 控制和运行。v e r i l o gh d l 语言不仅定义了语法,而且对每个语法结构都定义了清 晰的模拟、仿真语义。因此,用这种语言编写的模型能够使用v e t i l o gh d l 仿真器 进行验证。语言从c 编程语言中继承了多种操作符和结构。v e r i l o gh d l 提供了扩 展的建模能力,其中许多扩展最初很难理解。但是,v e r i l o gh d l 语言的核心子 集非常易于学习和使用,这对大多数建模应用来说已经足够。当然,完整的硬件描 述语言足以对从最复杂的芯片到完整的电子系统进行描述i q j 。v e r i l o gh d l 的最大 特点就是易学易用,如果有c 语言的编程经验,可以在一个较短的时间内很快的 学习和掌握,因而可以把v e r i l o gh d l 内容安排在与a s i c 设计等相关课程内部进 行讲授,由于i - i d l 语言本身是专门面向硬件与系统设计的,这样的安捧可以使学 习者同时获得设计实际电路的经验。与之相比,v h d l 的学习要困难一些。但 v e r i l o g h d l 较自由的语法,也容易造成初学者犯一些错误,这一点要注意。 2 2 2v i i d l 介绍 v h d l 的英文全名是v e t y - i - f i g h - s p e e di n t e g r a t e dc i r c u i th a r 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 2 年。1 9 8 7 年底,v i - i d l 被i e e e 和美国国防部确认为标准硬 件描述语言。现在,v i - i d l 和v e r i l o g h d l 作为i e e e 的工业标准硬件描述语言, 又得到众多e d a 公司的支持,在电子工程领域,已成为事实上的通用硬件描述语 言。v h d l 主要用于描述数字系统的结构、行为、功能和接口除了含有许多具 有硬件特征的语句外,v h d l 的语言形式和描述风格与句法是十分类似于一般的 计算机高级语言。v h d l 的程序结构特点是将一项工程设计,或称设计实体( 可 以是一个元件,一个电路模块或一个系统) 分成外部( 或称可视部分,及端口) 和内 部( 或称不可视部分) ,既涉及实体的内部功能和算法完成部分。在对一个设计实 体定义了外部界面后,一旦其内部开发完成后,其他的设计就可以直接调用这个 实体。这种将设计实体分成内外部分的概念是v h d l 系统设计的基本点。 2 2 3v e r i l o ge i d l 与v h d l 的选择 v i - i d l 发展的较早,语法严格,而v e r i l o gh d l 是在c 语言的基础上发展起 来的一种硬件描述语言,语法较自由。v h d l 和v e r i l o g h d l 两者相比,v h d 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 f i l o gh d l ,因为在i c 设计领域,9 0 以上的公司都是采用v e r i l o g 进行i c 设计。对于p l d f p g a 设计 基于f p g a 的多处理器系统通讯接口设计 者而言,两种语言可以自由选择。不管使用哪种语言,都要注意到: 1 、了解h d l 的可综合性问题:h d l 有两种用途:系统仿真和硬件实现。如 果程序只用于仿真,那么几乎所有的语法和编程方法都可以使用。但如果我们的 程序是用于硬件实现( 例如:用于f p g a 设计) ,那么我们就必须保证程序“可综 合”( 程序的功能可以用硬件电路实现) 。不可综合的h d l 语句在软件综合时将 被忽略或者报错。我们应当牢记一点:所有的h d l 描述都可以用于仿真,但不 是所有的h d l 描述都能用硬件实现。 2 、用硬件电路设计思想来编写h d l 学好h d l 的关键是充分理解h d l 语句 和硬件电路的关系。编写h d l ,就是在描述一个电路,我们写完一段程序以后, 应当对生成的电路有一些大体上的了解,而不能用纯软件的设计思路来编写硬件 描述语言。要做到这一点,需要我们多实践,多思考,多总结。 3 、语法掌握贵在精,不在多3 0 的基本h d l 语句就可以完成9 5 以上的电 路设计,很多生僻的语句并不能被所有的综合软件所支持,在程序移植或者更换 软件平台时,容易产生兼容性问题,也不利于其他人阅读和修改。 第二章f p g a 性能和设计技术 1 1 2 3f p g a 的基本结构 只有更详尽地了解其结构才能作出更合理高效的设计,因此,本节将以a l t e r a 公司的s t r a t i xi i 为例,介绍当今市场上主流高端f p g a 的结构和性能。s t r a t i x 器件采用了1 2 v 、9 0 r i m 、9 层金属走线、全铜s r a m 工艺制造的。如图2 - 1 ,首 先,s t r a t i xi i 内部是一个二维的行列走线结构,在行和列的方向分布着逻辑阵列块 ( l a b ) ,以列的方向间隔分布着存储块( r a m ) 、数字信号处理块s p ) ,以上的各 个功能单元可以由不同长度、速度的行列互连线连接起来,实现复杂的逻辑功能。 在f p g a 中,互连线资源起着非常关键的作用,它的可编程的灵活性,很大程度 上归功于其内部丰富的互连线,互连线资源的缺乏会导致设计无法布通。此外, 内部还有锁相环和全局时钟网络,对时钟进行管理并传送到f p g a 内部的各个区 域。同时,f p g a 还有输入输出模块,以满足系统中越来越多的接口电平要求。 2 3 1 逻辑阵列块l a b 图2 - 1e p 2 s 6 0 内部结构 s t r a t i x1 i 器件逻辑单元为逻辑阵列块l a b ( 1 0 9 i ca r r a yb l o c k s ) , l a b 聚集成组 以行、列的形式分布在器件中每个l a b 由8 个称为自适应逻辑模块a l m ( a d a p t i v el o g i cm o d u l e s ) 的基本逻辑单元构成组成。l a b 内部有布线资源,用于外 部逻辑访问该l a b 或l a b 内的a l m 之间的连接。而适应逻辑模块a l m 则是s t r a t i x 器件系列的基本逻辑块,根据用户代码综合配置成不同的组合,灵活实现各种逻 辑功能。每个a l m 含有多种基于查找表l u t ( l o o k u p t a b l e ) 的资源、两个全加法器、 进位链、两个触发器和能够灵活划分为两个自适应i a i t ( a l u t ) 的附加增强逻辑。 由a l u t 实现组合逻辑功能,触发器实现时序逻辑功能。7 个逻辑功能输入,复杂 逻辑算法功能可在一个a 】m 中实现。研究表明,在f p g a 设计中,输入数量较多的 查找表能够提供更佳的性能,而输入较少的如4 个或者更少的u 小翌辑架构在面积 1 2 基于f p g a 的多处理器系统通讯接口设计 利用上效率更高。扩展及共享l u t 的输入能力允许每个s t r a t i xi i a l m 在等效实现功 能方面比传统的4 输入u j t 架构容纳更多的逻辑,不仅减少了整体逻辑的耗用,而 且降低了布线资源的平均耗用率。这样逻辑结构在这两方面同时兼顾性能与 面积的兼顾。 a l m 的结构:如图2 2 ,由a l u t 组成的组合逻辑单元,两个3 输入个加法 器,两个可编程的d 触发器。这样的结构使得a l m 中由用户根据需求使用设计 工具自动配置,组合逻辑模块a l i 】t 完成,时序逻辑由d 触发器完成。 图2 - 2a l m 结构 2 3 2 输入,输出单元( i o e ) 和高速i 0 接口 是芯片与外围电路的接口部分,完成不同电器特性下对输入输出信号的驱 动和匹配需求,为了使f p g a 能更灵活运用,目前大多数f p g a 的i o 单元被设 计为可编程模式,通过软件的灵活配置,可以适配不同的电气标准和i o 物理特性; 可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的大小等。可编程 i o 单元支持的电器标准因工艺而异。s t r a t i xi i 器件支持多种单端f o 标准,包括 i ,v 丌i ,、l 、,c m o s 、s s l l 、h s l l ,、p c i 和p c i - x 标准,这样s t r a t i xl i 器件能够 方便地和背板、主处理器、总线、存储器件以及其他单板上的器件进行接口通讯。 s t r a t i xi i 器件的i o e 结构,如图2 - 3 ,共有6 个寄存器和一个锁存器,其中2 个输出寄存器,2 个输入寄存器,2 个输出使能寄存器和1 个输入锁存器,这样的 结构,可以实现高性能的双数据速率接口( d o u b l ed a t a r a t e d d r ) 接口。” 第二章f p g a 性能和设计技术 图2 - 3s t r a t i x h 的i o e 电路结构 s t r a t i x 器件还包含了动态相位调整( d p a ) 电路,其结构如图2 - 进一步 支持源同步协议。s t r a t i xi i 器件上的增强源同步通道支持1g b p s 的数据传送,而 专用d p a 电路消除了由时钟至通道和通道至通道偏移引发的信号对齐问题,从而 简化了p c b 的设计。 一 图2 - 4d p a 电路结构 动态相位对齐器使用快速p l l 生成的八个相移时钟中的一个,对输入数据进 行采样,选择最靠近输入数据中央的时钟相位来对齐数据。这种对齐是连续不断 进行的,能够补偿时钟和数据信号之间实时的动态时序变化。每个通道有自己的 d p a 电路,为每个通道提供独立的数据对齐,因此d p a 能够消除通道至通道偏移 及时钟至通道偏移。 s h a t i xl i 源同步电路支持l v d s 和h y p e r t r a n s p o r t 差分i o 标准。设计者通常 在高性能应用中使用这些标准,获得更好的噪声容限,提供更低的电磁干扰( e m i ) 1 4基于f p g a 的多处理器系统通讯接口设计 和更低的功耗。另外,这些标准支持高速接口标准如h y p e r t r a n s p o r t 接口、r a p i d l o 、 n p s i 、s p i4 2 、s f i - 4 、1 0 g b i t 以太网x s b i 和u t o p i a l e v e l4 所需的高数据吞吐 量。 2 3 3 全局时钟网络和锁相环p u 。 全局时钟网络:f p g a 的设计是基于同步设计的,所以时钟就是设计中要考虑 的最基本最重要的元素,怎样做到时钟信号的信号完整性、怎样使到达片内各个 单元的时钟偏移量最小,都是设计f p g a 时要考虑的重要课题。在可编程逻辑器 件的内部,一般都有全局的时钟网络,采用全铜布线,可以驱动全片的所有触发 器的时序电路。全局时钟网络的特性是,为了保证到芯片的各个角度的延时尽量 相等,时钟树首先是走到芯片中间,再向芯片的四周分布,所以从时钟的源端到 所驱动的触发器走过的路径比较长,延时比较大,但是到各个时序元件( 触发器) 时钟输入端等长,这样就保证时钟的偏斜很小。同时全局时钟网络具有很强的驱 动能力,而且在芯片设计的时候对时钟网络做了保护,尽量防止芯片内部的信号 对时钟信号质量有影响,这样可以保证信号引入的抖动非常小。 一般来说,时钟和复位信号建议使用f p g a 内部的全局时钟网络,以使其达 到各个目的点的偏斜最小。所以,一般设计的思路是外部时钟通过专门的时钟管 脚输入f p g a ,然后通过锁相环进行时钟管理,在通过片内的全局时钟网络,供给 f p g a 内部各个模块。这样产生的时钟偏斜会最小。在s t r a t i xl i 器件中,有4 8 个 高性能低偏移的时钟。这个高速时钟网络和丰富的p l l 紧密地耦和在一起,确保 了最复杂的设计能够在最优的性能和最小的时钟偏移下运行。” 锁相环p l l :s t r a t i x 器件具有1 2 个锁相环( p l l ) 和4 8 个独立系统时钟, 可以作为中央时钟管理器满足系统时序需求。图2 - 5 显示了p u ,的结构,它具有 扩频时钟、时钟切换、频率合成、可编程相移、可编程延迟、外部反馈和可编程 带宽等特性。s t r a t i x 快速p l l 也支持动态相位调整( d p a ) 特性,它能够动态 第纠正高速系统中的通道至通道偏移。s t r a t i xi ip l l 增加了系统和器件性能,提供 了先进的时钟接口和时钟频率合成。 第二章f p g a 性能和设计技术 图2 - $ 锁相环结构 每个s t r a t i xi i 器件有两个具有专用输出的p l l ,能够管理板级系统时序。它 总共有多达2 4 个单端或1 2 个差分输出。这些输出可为系统中的其它器件提供时 钟,无需板上其它时钟源。用户可以组合s t r a t i x1 ip l l 提供的功能,如可编程相 移、外部反馈和延迟,来补偿板级偏移和延迟。同时每个s t r a t i xi i 器件有多达4 8 个高性能低偏移的时钟这个高速时钟网和丰富的p l l 紧密地耦和在一起,确保 了最复杂的设计能够在最优的性能和最小的时钟偏移下运行。 2 3 4 片内存储器 s t r a t i xl i 器件内部具有存储结构,它包括三种大小的嵌入式r a m 块。存储器 包括5 1 2 b i t 的m 5 1 2 块,4 k b i t 的m 4 k 块和5 1 2 k b i t 的m r a m 块,每个都可以配 置支持各种特性。存储器结构提供了多达9 m b i t 的r a m ,使得s t r a t i xi i 器件系列 成为大存储量应用的可行方案。存储器提供了三种存储结构,能够实现复杂设计 中的各种存储功能。设计者能够在存储带宽苛刻的应用中使用更小的m 5 1 2 r a m 块作为f i f o 功能和时钟域缓冲。m 4 k 块是中等大小存储应用的理想选择,比如 异步传输模式( a t m ) 信元处理。m - r a m 块非常适合于诸如口包缓冲和系统高 速缓冲等大缓冲的应用。 2 4 电子设计自动化工具( e d a ) 电子设计自动化e d a ( e l e c t r o n i cd e s i g na u t o m a t i o n ) 是指以计算机为工作平 台,以e d a 软件为开发环境,以硬件描述语言为设计语言,以可编程器件p l d 为实验载体( 包括c p l d 、f p g a 、e p l d 等) ,以集成电路芯片为目标器件的电子产 品自动化设计过程。e d a 工具在电子系统设计中所占的份量越来越高。本论文的 e d a t 具是以a l t e r a 公司的q u a r t u s h 软件为主,同时也会使用到其他第三方 的e d a 工具。这里介绍的第三方e d at 具,是指f p g a 厂家以外的所有其他厂 商提供的e d a 软件工具的统称。现在大多数的e d a 工具都有相互的接口。随着 基于f p g a 的多处理器系统通讯接口设计 e d a 技术的发展,e d a 工具的种类日益丰富,功能日趋强大,而且易学易用。限 于篇幅,除了q u a r t u si i 以外,这里主要介绍最具代表性和影响力的两个工具:综 合工具与仿真工具,他们是专业的e d a 软件,独立于半导体器件厂商,具有良好 的标准化和兼容性。 2 4 1q u a r t o si i 简介 a l t e r aq u a r t u si i 设计软件提供完整的多平台设计环境,它可以满足特定设计 的需要。它是单芯片可编程系统设计的综合性环境。q u a r t u sl i 软件拥有f p g a c p l d 设计的所有阶段的解决方案。其优势是功能全集成化,可以加快动态调试, 缩短开发周期;缺点是在综合和仿真环节与专业的软件相比,都不是非常优秀的。 主要功能如下: 设计输入:q u a r t u sl i 软件包括设计文件的编辑器,模块化编译器,模块分析 设计文件和建立工程数据库可以使用e d a 仿真工具或使用q u a a u s 仿真器进 行设计的功能与时序仿真。 布局布线功能:o u a r t u si i 的布线器f i t t e r ,执行布局布线,这在o u a r t u s 软件 中也称为布局布线。f i t t e r 使用由a n a l y s i s s y n t h e s i s 建立的数据库,将工程的 逻辑和时序要求与器件的可用资源相匹配。它将每个逻辑功能分配给最好的逻辑 单元位置,进行布线和时序,并选择相应的互连路径和引脚分配。 时序分析功能:o u a r t u s i i t i m i n g a n a l y z e r 允许用户分析设计中所有逻辑的性 能,并协助引导f i t t e r 满足设计中的时序分析要求。默认情况下,t i m i n g a n a l y z e r 作为全编译的一部分自动运行,它观察和报告时序信息,例如,建立时 间( t s u ) 、保持时间、时钟至输出延时( t c o ) 、引脚至引脚延时( t p d ) 、最大时钟 频率( f m a x ) 、延缓时间以及设计的其它时序特性。可以使用t i m i n g a n a l y z e r 生成的信息分析、调试和验证设计的时序性能。还可以使用q u a r t

温馨提示

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

评论

0/150

提交评论