




已阅读5页,还剩62页未读, 继续免费阅读
(计算机系统结构专业论文)基于fpga的sci节点的研究与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 国家8 6 3 项目。飞行控制计算机系统f c 通信卡研制一的任务是研究设计符合 c p c i 总线标准的f c 通信卡,本课题是这个项目的进一步引伸,用于设计s c i 接口, 以实现环上多计算机系统间的高速串行通信。 本文以此项目为背景,对基于f p g a 的s c i 节点进行研究与实现。论文先概述 s c i 协议和s c i 节点模型。s c i 协议是一种可支持高性能多处理器,一致性内存共 享,高度可扩展的互联标准;s c i 节点模型包含发送和接收存储器、旁路f i f o 、地 址解码、多路复合和高速串行通信接口等。接着详细介绍利用f p g a 上的资源如何 在嵌入式开发工具e d k 中实现s c i 节点模型。利用f p g a 上的块r a m 实现发送和接 收存储器;设计一个同步f i f o 实现旁路f i f o ;利用f p g a 内嵌的r o c k e t i o 高速串 行收发器实现主机之间的高速串行通信,并利用a u r o r ai p 核实现了a u r o r a 链路层 协议;地址解码和多路复合分别被实现在控制逻辑中;最后采用o p b p c i 桥接核实 现了c p c i 接口逻辑。 本课题采用s o p c 方案来实现f p g a 逻辑设计。采用v e r i l o g 硬件描述语言实 现旁路f i f o ;采用v h d l 硬件描述语言来实现a u r o r a 链路层模块。在x i l i n xi s e 中分别实现旁路f i f o 和a u r o r a 模块的功能及时序仿真;最后在e d k 中实现整体 设计,下载到开发板上,并利用c h i p s e o p ep r o 虚拟逻辑分析仪对设计进行验证。 本课题设计完成的s c i 接口在w m d o w s2 0 0 0 操作系统下在两台主机a 和b 间 进行通信,两机a - b 直接传输速率目前为3 4 m b s :通过f i f o 转发a - b - a 的 传输速率目前为0 8 8 m b s 。 文章最后分析传输性能上的原因,指出工作中的不足之处和需要进一步完善的 地方。 关键字:f p g a :s c i ;高速串行通信; a b s t r a c t t h en a t i o n a l8 6 3p r o j e c t d e v e l o p m e n to ff cb o a r df o rt h ef l i g h t - c o n t r o l i n g c o m p u t e rs y s t e m ”i st od e s i g na nf cb o a r dc o m p l i a n t 、析mc p c ib u ss t a n d a r d t h i s s u b j e c ti st h ef u r t h 6 d e x t e n s i o no ft h ep r o j e c t , w h i c hi st od e s i g ns c a l a b l ec o h e r e n t i n t e r f a c e ( s c df o rh i g h - s p e e ds e r i a lc o m m u n i c a t i o na m o n gm u l t i p r o c e s s o rs y s t e r m s u n d e rt h i sb a c k g r o u n d ,t h es c i - n o d ei sr e s e a r c h e da n dd e s i g n e di nt h i st h e s i s a t f i r s t , i n t r o d u c et h es c ip r o t o c o la n ds c i - n o d em o d e li ng e n e r a l s c ii sa ni n t e r f a c e s t a n d a r df o rv e r yh i g hp e r f o r m a n c em u l t i p r o c e s s o rs y s t e m s i ts u p p o r t sac o h e r e n t s h a r e d - m e m o r ym o d e l s c i sl o wp i nc o u n t sa n ds i m p l er i n gt o p o l o g ym a k ei t c o s t - e f f e c t i v ef o rs m a l ls y s t e m sa sw e l la sf o rt h em a s s i v e l yp a r a l l e lo n e s as c i - n o d e i n c l u d e sa s e n d i n gr a m ,ar e c e i v i n gr a m ,ab y p a s sf i f o a na d d r e s sd e c o d i n g m o d u l e ,am u l t i p l e x e r ( m u x ) a n dh i g h s p e e ds e r i a li n t e r f a c e t h e ni n t r o d u c eh o wt o i m p l e m e n tt h es c i n o d ei nd e t a i li ne m b e d d e dd e v e l o p m e n tk i t s ( e d k ) i ti sw 池t h e b l o c kr a mt o d e s i g nt h es e n d i n gr a ma n dt h er e c e i v i n gr a m d e s i g na s ) ,1 1 c h r o n o u sf i f ot oi m p l e m e n tt h eb y p a s sf i f o i ti sw i t ht h er o c k e t l ot o i m p l e m e n tt h eh i g h - s p e e dc o m m u n i c a t i o na n d 、 ,i t ha u r o r ai pc o l et oi m p l e m e n tt h e a u r o r al i n kl a y e rp r o t o c 0 1 t h ea d d r e s sd e c o d e ra n dm u x a 糟i m p l e m e n t e di nt h e c o n t r o ll o g i c i ti sw i t ht h eo p b p c ib r i d g et oi m p l e m e n tt h ec p c i i ti s 谢t l lt h es o p cs o l u t i o nt oi m p l e m e n tt h ef p g a l o g i c t h ef i f oi sd e s i g n e d i nv e r i l o g ,a n dt h ea u r o r am o d u l ei sd e s i g n e di nv h d l t h ef u n c t i o na n dt i m i n g s i m u l a t i o nb ym o d e l s i mi sd o n ei nx i l i n xi s e t h e nt h ew h o l ed e s i g ni si m p l e m e n t e d i ne d k a tl a s tt h ed e s i g ni sd o w n l o a d e di n t ot h ep r o mi nt h ed e v e l o p m e n tb o a r d , a n di sv e r i f i e db yc h i o p s c o p ep r o t h es c i - c o m m u n i c a t i o ni st e s t e db e t w e e nc o m p u t e raw i t haf cc a r da n d c o m p u t e rbw i t haf cc a r du n d e rw i n d o w so s2 0 0 0 t h er e s u l ts h o w st h a tt h ed i r e c t t r a n s f e r - s p e e db e t w e e na - bi s3 4 m b sn o w , a n dt h et r a n s f e r - s p e e da m o n ga - b - a 、析n lb y p a s sf i f oi s0 8 8 m b sn o w t h er e a s o no ft h el o wt r a n s f e r - s p e e di sd i s c u s s e da tt h ee n do ft h i st h e s i s i ta l s o 基于f p g a 的s c i 节点的研究和实现 p o i n t so u tt h ep r o b l e m sa n dt h ef u r t h e rw o r k k e yw o r d s :f p g a ;s c i ;h i g h - s p e e ds e r i a lc o m m u n i c a t i o n l 厦门大学学位论文原创性声明 兹呈交的学位论文,是本人在导师指导下独立完成的研究成果。 本人在论文写作中参考的其他个人或集体的研究成果,均在文中以 明确方式标明。本人依法享有和承担由此论文产生的权利和责任。 声明人( 签名) :蒋、国鹅 :z g o 年7 月争日 厦门大学学位论文著作权使用声明 本人完全了解厦门大学有关保留、使用学位论文的规定。厦门大 学有权保留并向国家主管部门或其指定机构送交论文的纸质版和电 子版,有权将学位论文用于非赢利目的的少量复制并允许论文进入 学校图书馆被查阅,有权将学位论文的内容编入有关数据库进行检 索,有权将学位论文的标题和摘要汇编出版。保密的学位论文在解 密后适用本规定。 本学位论文属于 l 、保密() ,在年解密后适用本授权书。 2 、不保密( v ) 。 ( 请在以上相应括号内打“4 ) 作者签名:莳、国同鸥 聊鹕:陋 日期:2 0 0 7 年6 ,月牛e 1 日期:z 柙 年6 ,月妒e l 第一章绪论 1 1 概述 第一章绪论 随着各领域对控制系统的可靠性要求不断提高,集群式高性能互连计算机 系统的应用越来越广泛。当前在系统级互连设计中,高速通讯技术正迅速取代传 统技术成为业界趋势。i e e e 标准15 9 6 - 1 9 9 2 为s c i 2 0 11 2 l j 2 2 1 ( s c a l a b l ec o h e r e n t i n t e r f a c e ) 技术定义了三种传输协议,即并行( 1 6 位) 传输协议、电气串行传输 协议和光纤串行传输协议。 s c i 又名规模可扩展的计算机连接接口技术。是一种先进的多处理机高速互 联协议。s c i 的延迟更少( 理论值1 4 6 微秒,实测值3 4 微秒) ,并且其单向速 度达到1 0 g b 秒,与i n f m i b a n d4 x 的理论值一样。s c i 是基于环拓扑的网络 系统。这将使在较大规模的节点之间通信速度更快。 在数字化、信息化的时代,系统向着高速度、低功耗、低电压和多媒体、网 络化、移动化方向发展,其对电路的要求越来越高,传统的单一功能的集成电路 设计技术已无法满足性能日益提高的整机系统要求。可编程逻辑器件随着微电子 制造工艺的发展取得了长足的进步,今天已经发展成为可以完成超大规模的复杂 组合逻辑与时序逻辑的现场可编辑逻辑器件( f p g a ) 。f p g a 具有许多优点,既继 承了a s i c ( 专用集成电路) 的大规模、高集成度、高可靠性的优点,又克服了普 通a s i c 设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设 计的理想首选。本设计借助f p g a 的各种优越性逐步实现s c i 技术。 1 2 基于s c i 协议的通信接口 1 2 1 项目来源及意义 厦门大学计算机系与清华大学智能技术与系统国家重点实验室合作的国家 “8 6 3 一项目“飞行控制计算机系统f c 通信卡的研制,任务是为飞行控制计算 机系统设计高速串行通信接口。其飞行控制计算机系统采用多机系统结构,根据 基于f p g a 的s c i 节点的研究和实现 工作的要求,为保障系统的可靠性工作,飞行控制计算机采用三余度容错系统, 使整个系统达到一次计算机故障工作,二次故障安全的设计原则。飞行控制计算 机系统单机部分确定为c p c i 总线标准的工控机结构,计算机之间的通信信道为 光纤通道。 本课题是上述8 6 3 项目一飞控计算机通讯卡的进一步引伸,即采用f p g a 芯 片设计实现s c i 接口,以将多台机子以一定的拓扑结构连接起来完成某些功能。 在这个大的背景下,本课题的重点在于采用v i r t e x i ip r of p g a 7 1 器件作为通 信卡的核心控制芯片,实现s c i 协议的基本节点模型,包括传输包的编码和解码、 地址解析、多路复用、输入输出存储块和旁路f i f o 等模块,以及实现高速串行 数据的收发,和通信卡与主机的p c i 接口等。 另外,该芯片中配置的3 0 0 m h zm mp o w e rp c4 0 5c p u t l 5 】【1 6 1 可以极大地增 强通信接口的数据处理及控制能力,构成“智能通信卡一。既能减轻主机c p u 的通信处理负担,又能满足不同通信协议对数据链路层功能的变化需求。因而, 在今后的工作中,我们将进一步设计出适合飞控系统的s c i 协议实现方案,这是 今后继续研究的重点。 1 2 2s c i 协议产生的背景和基本内容 随着计算机应用领域的拓展与加深,对计算机性能的要求也越来越高。进而 对系统中的信息交互提出了更高的要求。 传统的总线技术是一种共享介质,在某一时刻只能被一个发送器占用。因此, 系统总带宽的上限受介质传输率的限制。由于每一时刻只能有一个发送器访问总 线介质。因此每个节点所拥有的网络带宽随节点数的增加而递减,消息延时却随 着节点数的增加而递增。因此总线限制了总线上节点的数目。传统的总线技术由 于存在以上固有的限制已成为阻碍系统性能提高的瓶颈。 可扩展的一致性接口s c i 的出现克服了总线技术的不足,大大改善了信息交 互的效率,带宽满足了系统中和系统间的互连要求,成为先进互连技术的代表。 其低延迟高带宽的特点完全可胜任各种关键应用领域,美国的j a s t 联合先进攻 击计划组已把s c i 及其实时版本s c i r t 作为第四代先进航电系统的首选互连技 术。 2 第一章绪论 s c i 针对总线方式带来的种种问题采用以下技术加以解决: 1 点到点链路 将总线方式也改变为点到点的连接。采用差分信号进行数据传输,并且消除 多连接器和分接头,只允许存在单个发送器和单个接收器。 2 单向环 保持恒定的驱动电流。有利于消除驱动开关的开断,以及接地电流的归零所 带来的噪声干扰。如图1 一1 3 并行化 总线同一时刻仅允许一个事务。而s c i 协议允许环上的多个节点可同时发送 和接收环中的消息。从而提高了环上事务处理的效率。 4 支持灵活的互连 协议中链路可以以多种形式存在。两个节点可通过直接连接其输入和输出链 路进行通信。多个节点可以菊花链的形式组成一个环。环与环之间通过s w i t c h 或a g e n t 进行互连。针对不同的应用而支持各种灵活的拓扑结构,例如r i n g , m e s h ,c u b e ,碟型等等。 5 分布式的时钟 由于集中式时钟比较昂贵,且不易扩展,系统的每个节点都应有自己的时钟 晶振。发送器的时钟应被包含在发送的数据之中,以简化接收器的工作。, 6 数据包的长度优化 较长的数据包会长时间的占据路径资源,阻塞其它的交通。因而会增加平均 延迟。数据包过短会降低网络带宽的利用率。可行的数据包的下限应使得数据与 包头有大致相同的大小,其上限也应使得包头的开销占到百分之几。 接口 _ 图l l从总线到s c i 环的演化 3 基于f p g a 的s c i 节点的研究和实现 s c i 协议制订的目的是希望定义一种可支持高性能多处理器,一致性内存共 享,以及系统规模高度可扩展的互联标准。其中节点可以是处理器,内存,i 0 , 总线适配器,桥,或交换机等。该协议包括两个层次:物理层和逻辑层。物理层 定义了各种连接设备的电器,物理和热特性。逻辑层定义了地址空间,数据传输 协议,缓存一致性机制,同步原语,控制和状态寄存器以及初始化和故障恢复机 制。s c i 和网络的根本区别在于s c i 采用了基于内存访问的模型和缓存一致性模 型。尽管s c l 支持的距离可超过1 0 米,但实际应用中还取决于对性能的要求。 1 2 3s c i 节点接口结构 s c i 协议为每个节点定义了输入输出f i f o s 支持同时收发包。当数据包到达 某节点后,节点的地址解码器先对包进行地址解析,如果该包是发给本节点的则 送入输入f i f o 中等待处理,否则通过旁路f i f o 转发给下一个节点。在节点的 输出端,待输出的数据包存储在输出f i f o 中,只有当旁路f i f o 为空时节点才 能输出包。为了清空f i f o ,可以在数据包之间插入空闲包。另外,输入和输出 f i f o s 还能匹配节点较低的处理速度和链路的高速传输,如图1 - - 2 : n o d ea p p l i c a t i o nl o g i c 图1 2s c i 节点模型 第一章绪论 1 2 4s c i 拓扑结构 s c l 支持灵活的拓扑结构,最基本的拓扑结构是环。与传统的环不同,s c i 可支持多对节点间消息的并发传输。另外,环形拓扑既可以采用顺序连接,也可 以采用交叉连接的方式。前者的布线比较长,而后者能极大的缩短布线的长度, 适合空问比较小的环境,如图l - - 3 和1 4 s c i 还能通过桥或交换机实现更高 性能的互连,也可以通过具有多个s c i 接口的节点构成2 dm e s h ,3 dm e s h ,和 蝶形等更为复杂的拓扑结构。 图l 一3环的顺序连接 1 3 研究内容 图l 一4环的交叉连接 本课题的工作内容包括以下几个方面: 1 研究s c i 协议和s c i 节点模型,并初步设计适合s c i 节点的传输包格 式,包括地址帧和文件数据帧; 2 研究并应用a u r o r a 链路层协议,以实现s c i 节点的高速串行通信接口, s c i 节点与s c i 节点间使用光纤进行通信; 3 实现旁路f i f o 的设计,旁路f i f o 在s c i 节点中用于转发数据; 4 实现地址解码和多路复用,地址解码在s c i 节点起到正常接收数据作 用,多路复用在s c i 节点中起到协调发送数据优先级的作用; 5 基于f p g a 的s c i 节点的研究和实现 5 实现基于f p g a 的c p c i 总线接口,c p c i 接口是s c i 节点与主机之间 通信的桥梁; 6 利用f p g a 内嵌的处理器构建片上可编程系统以实现s c i 节点; 7 最后对整个系统进行验证,并给出实验结果和性能分析。 本文主要阐述基于s c i 的高速串行通信接口的实现,探讨了s c i 节点模型 以及传输包的设计,探讨了如何利用r o c k e t i o 及a u r o r a 核实现系统之间通过光 纤通道进行数据高速串行通信,介绍旁路f i f o 的实现,介绍发送和接收存储器 的实现,介绍地址解码和多路复用的实现,介绍了c p c i 总线接口的常用实现方 法以及如何利用电子设计自动化e d a 设计技术在片上可编程系统s o p c 中实现 c p c i 总线接口。整个接口设计紧凑,在一块f p g a 器件内实现了全部逻辑设计, 实现了用于多机互联并高速串行通信的s c i 节点。 1 4 本文的组织结构 以下为本文结构安排各内容概要: 第一章:绪论。概述了相关领域的背景情况,说明项目的背景并提出本 文的研究内容。 - 第二章:设计开发基础。本章分别对数字系统硬件设计的方法、硬件描 述语言、f p g a 基础知识和设计流程、i p 核的概念、以及x i l i n xv i r t e x i ip r of p g a 和x i l i n xs o p c 集成开发环境e d k 等加以简单介绍。本部分是设计的技术基础。 第三章:s c i 接口卡的整体逻辑设计。本章主要介绍在使用s o p c 方案时, s c i 接口卡的整体逻辑,并介绍了基于p o w e r p c4 0 5 的嵌入式系统和c p c i 接口 的实现。 第四章:s c i 接口内部的f p g a 逻辑设计。本章将详细介绍s c i 接口逻辑 的设计,详述接口内部各个功能模块的实现,并介绍了传输帧的设计。本部分是 论文的核心部分。 第五章:系统测试及性能分析。本章将对系统进行验证与测试,给出了 测试结果并对测试结果进行了分析。本部分是论文的重要组成部分。 第六章:结束语。对论文所做的工作进行了总结,指出了设计中存在的不 足之处,强调了今后的工作和努力的方向。 6 第二章设计开发基础 第二章设计开发基础 2 1 数字系统设计概述 本章对本课题设计的相关开发基础知识加以简介,主要有数字系统硬件设计 的方法、硬件描述语言、f p g a 基础知识与设计流程、m 核的概念以及x i l i n x 公 司的f p g a 芯片、x i l i n xs o p c 集成开发环境e d k 等相关内容。 2 1 1 硬件描述语言 硬件描述语言【3 】【4 】( 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 ) 是一种用形式化 方法来描述数字电路和设计数字逻辑系统的语言。数字逻辑电路设计者利用这种 语言可以从上层到下层( 从抽象到具体) ,逐层描述自己的设计思想,用一系列 分层次的模块来表示极其复杂的数字系统。 目前,最常用的两种标准化的硬件描述语言为:v h d l 和v e r i l o gh d l 。v h d l 由美国军方组织开发,在1 9 8 7 年成为i e e e 标准。v e r i l o gh d l 则是从一个普通 的民间公司的私有财产转化而来,首创于1 9 8 3 年,基于其优越性,在1 9 9 5 年成 为i e e e 标准。 v e r i l o gh d l 与v h d l 作为描述硬件电路设计的语言,它们的共同特点是利 于由顶向下设计,利于模块的划分与复用,可移植性好,通用性好,设计不因芯 片的工艺与结构的变化而变化,更利于向a s i c 的移植。 v h d l 描述语言层次较高,不易控制底层电路,因而对v h d l 综合器的综 合性能要求较高,而且v h d l 入门较难,因为v h d l 不很直观,需要有a d a 编 程基础。v e r i l o g 拥有更广泛的设计群体,成熟的资源也远比v h d l 丰富,而且 它易于掌握,风格类似于c 语言 v e r i l o g 较为适合系统级( s y a e m ) 、算法级( a l o g r i t h e m ) 、寄存器传输级 ( r t l ) 、逻辑级( l o g i c ) 、门级( g a t e ) 和电路开关极( s w i t c h ) 的设计,而对 于特大型( 千万门级以上) 的系统级( s y s t e m ) 设计,则v h d l 更为适合。由 于两种语言仍处在不断发展的过程中,它们都会逐步地完善自己。 7 基于f p g a 的s c i 节点的研究和实现 2 1 2i p 核 i p ( i n t e l l e c t u a lp r o p c a y ) 就是常说的知识产权。美国d a t a q u e s t 咨询公司将 半导体产业的碑定义为用于a s i c 、a s s p 和p l d 等当中,并且是预先设计好的 电路模块。m 核模块有行为、结构和物理三级不同程度的设计,对应描述功能 行为的不同分为三类:软核、完成结构描述的固核和基于物理描述并经过工艺验 证的硬核。 软核( s o f ti p c o r e ) i p 软核通常是用h d l 文本形式提交给用户,它经过r t l 级设计优化和功能 验证,但其中不含有任何具体的物理信息。据此,用户可以综合出正确的门电路 级设计网表,并可以进行后续的结构设计,具有很大的灵活性,借助于e d a 综合 工具可以很容易地与其他外部逻辑电路合成一体,根据各种不同半导体工艺,设 计成具有不同性能的器件。软i p 内核也称为虚拟组件( v c v i r t u a lc o m p o n e n t ) 。 硬核c h a r di p c o r e ) i p 硬核是基于半导体工艺的物理设计,已有固定的拓扑布局和具体工艺, 并已经过工艺验证,具有可保证的性能。其提供给用户的形式是电路物理结构掩 模版图和全套工艺文件,是可以拿来就用的全套技术。 固核( f i r mi p c o r e ) m 固核的设计程度则介于软核和硬核之间,除了完成软核所有的设计外, 还完成门级电路综合和时序仿真等设计环节。一般以门级电路网表的形式提供给 用户。选择p 模块设计时,一般要考虑的因素有:p 与目标系统的配合程度、 评估模块的品质、集成的方便程度以及可重用性,并考虑p 开发者提供的技 术支持程度等。 2 2f p g a 简介 在数字化、信息化的时代,数字集成电路应用得非常广泛。可编程逻辑器件 随着微电子制造工艺的发展取得了长足的进步。从早期的只能存储少量数据,完 成简单逻辑功能的可编程只读存储器( p r o m ) 、紫外线可擦除只读存储器 ( e p r o m ) 和电可擦除只读存储器( e e p r o m ) ,发展到能完成中大规模的数字 逻辑功能的可编程阵列逻辑( p a l ) 和通用阵列逻辑( g a l ) ,今天已经发展成 8 第二章设计开发基础 为可以完成超大规模的复杂组合逻辑与时序逻辑的现场可编程逻辑器件( f p g a ) 和复杂可编程逻辑器件( c p l d ) 。新一代的f p g a 甚至集成了中央处理器( c p u ) 或数字处理器( d s p ) 内核,在一片f p g a 上进行软硬件协同设计,为实现片上 可编程系统( s o p c :s y s t e mo np r o g r a m m a b l ec h i p ) 提供了强大的硬件支持。 2 2 1 概述 简化的f p g a 基本由6 部分组成嘲:可编程输入输出单元、基本可编程逻辑 单元、嵌入式块r a m 、丰富的布线资源、底层嵌入功能单元和内嵌专用硬核, 如图2 1 所示。 底层嵌入 动能单元 丰富的 布线资源 可凝蔫本两雅 z ,o 单元逻辑攀元 l _ liii ll l 影l 警l f 圈 iil 门ii iniii iii l liii | liii 1 i l1 0ll _ u lll 、巍彝 lli 门i _ i 门ii _ liil li _ ill 羹j l i l _ i 瞄l - u 一- i 嗣园 _ ili li 一一lll _ 一l 图2 一l 可编程逻辑器件的结构原理图 内嵌专用硬核 丑曩z dc a 孤 ( 1 ) 可编程输脯出单元 输入腧出单元简称i o 单元,它们是芯片与外界电路的接口部分,完成不同 电气特性下对输脯出信号的驱动与匹配需求。为了使f p g a 有更灵活的应用, 目前大多数f p g a 的i o 单元被设计为可编程模式,即通过软件的灵活设置,可 以匹配不同的电气标准与i o 物理特性;可以调整匹配阻抗特性,上下拉电阻; 可以调整输出驱动电流的大小等。 9 基于f p g a 的s c i 节点的研究和实现 ( 2 ) 基本可编程逻辑单元 基本可编程逻辑单元是可编程逻辑的主体,可以根据设计灵活地改变其内部 连接与配置,完成不同的逻辑功能。f p g a 一般是基于s r a m 工艺的,其基本 可编程逻辑单元通常是由查找表( l u t :l o o ku pt a b l e ) 和寄存器( r e g i s t e r ) 组成的。查找表一般完成纯组合逻辑功能。f p g a 内部寄存器结构相当灵活, f p g a 中一般依赖寄存器完成同步时序逻辑设计。比较经典的基本可编程单元配 置为一个寄存器加一个查找表。但是不同厂商的寄存器和查找表的内部结构有一 定的差异,而且寄存器和查找表的组合模式也不同。 ( 3 ) 嵌入式块r a m 大多数f p g a 都有内嵌的块r a m ( b l o c kr a m ) 。f p o a 内部嵌入可编程 r a m 模块,大大地拓展了f p g a 的应用范围和使用灵活性。f p g a 内嵌的块r a m 一般可以灵活地配置为单口r a m ( s p r a m :s i n g l ep o r tr a m ) 、双口r a m ( d p r _ u 涯:d o u b l ep o r t sr a m ) 、伪双口r a m ( p s e u d od p r 剐m ) 、c a m ( c o n t e n t a d d r e s s a b l em e m o r y ) 和f i f o ( f i r s ti nf i r s to u t ) 等常用存储结构。 除了块r a m 以外,x i l i n x 和l a t t i c ef p g a 还可以灵活的将l 配置成 r a m 、r o m 、f i f o 等存储结构,这种技术被称为分布式r a m ( d i s t r i b u t e dr a m ) 。 分布式r a m 适用于多块小容量r a m 的设计。 ( 4 ) 丰富的布线资源 布线资源连通f p g a 内部所有单元,连线的长度和工艺决定着信号在连线上 的驱动能力和传输速度。布线资源可分为全局性的专用布线资源、长线资源、短 线资源及各种专用时钟、复位等控制信号线。设计者通常不需要直接选择布线资 源,实现过程中一般是由布局布线器自动根据输入的逻辑网表的拓扑结构和约束 条件选择可用的布线资源连通所用的底层单元模块,所以设计者通常忽略布线资 源。 ( 5 ) 底层嵌入功能单元 这里指的是那些通用程度较高的嵌入式功能模块,比如p l l ( p h a s el o c k e d l o o p ) 、d l l ( d e l a yl o c k e dl o o p ) 、d s p 和c p u 等。随着f p g a 的发展,这些 模块越来越多地嵌入到f p g a 的内部,以满足不同场合的需求。越来越多的高端 f p g a 产品将包含d s p 或c p u 等软处理核,从而f p g a 将由传统的硬件设计手 段逐步过渡为系统级设计工具。 l o 第二章设计开发基础 ( 6 ) 内嵌专用硬核 内嵌专用硬核是相对“底层嵌入功能单元而言的,它主要指那些通用性相 对较差,不为大多数f p g a 器件所包含的硬核。为了提高f p g a 性能,适用高速 通信总线与接口标准,很多高端f p g a 集成了s e r d e s ( 串并收发器) 等专用硬 核。例如x i l i n x 的v i r t e xi ip r o l 7 】内部集成了3 1 2 5 gs e r d e s ,支持r o c k e ti o 标准。 2 2 2f p g a 特点 f p g a 既继承了a s i c 的大规模、高集成度、高可靠性的优点,又克服了普 通a s i c 设计周期长、投资大、灵活性差的缺点,逐步成为复杂数字硬件电路设 计的理想首选。当代f p g a 有以下特点: 规模越来越大。芯片的规模越大所能实现的功能就越强,同时也更适于实 现片上系统( 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 内嵌c p u 或d s p 内核,支持软硬件协同设计,可以作为片上可 编程系统( s o p c ) 的硬件平台。 2 2 3f p g a 设计流程 一般来说,完整的f p g a 设计流程包括电路设计与输入、功能仿真、综合、 综合后仿真、实现、布线后仿真与验证和下板调试等主要步骤,如图2 2 所示。 基于f p g a 的s c i 节点的研究和实现 图2 2 完整的f p g a 设计流程 ( 1 ) 电路设计与输入 电路设计与输入是根据工程师的设计方法将所设计的功能描述给e d a 软 件。常用的设计输入方法有硬件描述语言和原理图设计输入法。波形输入和状态 机输入方法是两种常用的辅助设计输入方法。 ( 2 ) 功能仿真 电路设计完成后,要用专用的仿真工具对设计进行功能仿真,验证电路功能 是否符合设计要求。功能仿真有时也被称为前仿真。通过仿真能及时发现设计中 的错误,加快设计进度,提高设计的可靠性。 ( 3 ) 综合优化 综合优化( s y n t h e s i z e ) 是指将h d l 语言、原理图等设计输入翻译成由与、 或、非门,r a m ,触发器等基本逻辑单元组成的逻辑连接( 网表) ,并根据目标 第二章设计开发基础 与要求( 约束条件) 优化所生成的逻辑连接,输出e d f 和e d n 等文件,供f p g a 厂家的布局布线器进行实现。常用的专业综合优化工具有s y n p l i e i t y 公司的 s y n p l i f y s y n p l i f yp r o 、a m p l i f y ,x i l i n xi s e 中的x s t ,s y n o p s y s 公司的f p g a c o m p i l e r ,m e n t o r 公司旗下的e x e m p l a rl o g i c 公司的l e o n a r d o s p e c t r u m 等。 ( 4 ) 综合后仿真 仿真时,把综合生成的延时文件反标到综合仿真模型中去,可估计门延时带 来的影响,进而检查综合器的综合结果是否与设计输入一致。综合后仿真比功能 仿真精确一些,但只能估计门延时,不能估计线延时。 ( 5 ) 实现 使用f p g a 厂商提供的工具软件,根据所选芯片的型号,将综合输出的逻辑 网表适配到具体f p g a 器件上,这个过程叫做实现( i m p l e m e n t a t i o n ) 。x i l i n x 的 实现过程分为翻译( t r a n s l a t e ) 、映射( m a p ) 和布局布线( p l a c e & r o u t e ) 等3 个步骤。因为只有器件开发商最了解器件的内部结构,所以实现步骤必须选用器 件开发商提供的工具软件。 ( 6 ) 时序仿真与验证 布局布线后应做时序仿真,即将布局布线的时延文件反标到设计中,使仿真 既包含门延时,又包含线延时信息。时序仿真最为全面、准确,能较好地反映芯 片的实际工作情况。在时序仿真后的验证手段比较丰富,可用i s e 内嵌时序分析 工具完成静态时序分析( s t a ,s t a t i ct m a i n ga n a l y z e r ) ,也可用第三方验证工具 ( 如s y n o p s y s 的f o r m a l i t y 验证工具,p r i m e t l m e 静态时序分析工具等) 进行验 证。可以用i s e 内嵌的f p g ae d i t o r 和c h i pv i e w e r 观察芯片内部的连接与配置 情况,或用i s e 内嵌的c h i p s c o p cp r o 对设计进行在线逻辑分析。 ( 7 ) 调试与加载配置 最后步骤是在线调试或将生成的配置文件写入芯片中进行测试。在i s e 中对 应的工具是i m p a c t 。任何仿真或验证步骤出现问题,就需要根据错误的定位返 回到相应的步骤更改或重新设计。 2 2 4x i l i n xv i r t e x - l lp r of p g a 简介 v i r t e x i ip r of p g a l 7 1 基于v i r t e x h 架构,嵌入了r o c k e ti o 和3 2 位的i b m 基于f p g a 的s c i 节点的研究和实现 p o w e r p c 4 0 5 a o j “锄明处理器内核,从而成为世界上第一个集成了p o w e r - p c 处理器 和多个g b p s 速率串行收发器的f p g a 产品,具有了高性能系统设计所需要的两 个关键技术:r i s c 处理和高速串行技术。结合原有v i r t e x i i 结构中的先进互连 ( a c t i v ei n t e r c o n n e c t ) 、块r a m 和时钟管理功能,v t r t e x 1 ip r o 解决方案第一次 实现了超高带宽s o c ( 系统级芯片) 设计,将可编程技术的使用模式从逻辑器 件层次提升到系统一级。 v t r t e x i ip r o 拥有丰富的内部资源: 可编程逻辑块c l b ( c o n f i g u r a b l el o g i cb l o c k ) : 可编程输入输出模块1 0 b ( i n p u t o u t p u tb l o c k s ) ; 可编程内部连线资源p i c ( p r o g r a m m a b l ei n t e r c o n n e c t ) ; 块存储区b r a m ( b l o c kr a m ) ,作为f p g a 内部的专用存储器模块,每块大 小为1 8 k b i t s ,可配置成单端口或完全的双端口,并且具有可选的数据宽度; 数字时钟管理器d c m ( d i g i t a lc l o c km a n a g e r ) ; 专用乘法器( d e d i c a t e d1 8x1 8m u l t i p l i e r s ) : 3 2 位i b mp o w e r p c4 0 5r i s c 处理器内核; 3 1 2 5 g b sr o c k e ti o 串行收发器m g t ( m u l t i - g i g a b i tt r a n s c e i v e r ) 平台级f p g av i t r t e x i ip r o 的可编程特性使嵌入式系统设计人员可在整个开 发周期内对系统进行优化,并为硬件和软件设计的折衷提供无与伦比的协同设计 灵活性。软件硬件划分可提供很高效率的解决方案,可以在软件和硬件实施间 实现适当的平衡,同时还可提供基于设计规范和要求的最佳解决方案。此外,当 今的许多通信标准和协议还不成熟,并仍处于持续的演化进行中。v t r t c x i ip r o 系列f p g a 是这种情况下的理想选择,因为它们有可配置的结构,可以容易地实 现、重新配置和升级( 甚至可以通过因特网) 新的标准和协议。可以在通信系统 ( 或任何有多种协议的系统) 中存储的不同协议功能,却几乎不用承担不可回收 工程成本的风险。 1 4 第二章设计开发基础 2 3x i l i n xs o p c 集成开发环境e d k 2 3 1e d k 概述 在传统的嵌入式处理器开发流程中,首选需要进行硬件和线路板的设计、 调试,然后进行软件的设计,如果出现软件和硬件之间不匹配,还需要重新对硬 件进行设计、更改。这种设计方法,显然无法满足设计周期、产品更新和市场的 需要。 x i l i n x 公司提供的e d k ( e m b e d d e dd e v e l o p m e n tk i t ) 3 0 1 设计工具,是一个专 门用于f p g a 内部3 2 位嵌入式处理器的集成化开发工具包,并提供硬件和软件 的协同设计能力,从而能极大地缩短设计周期。 在e d k 工具包【3 1 】中集成了硬件平台产生器( p l a t g e n ) 、硬件仿真模型产生器 ( s i m g e n ) 、软件平台产生器( l i b g e n ) 、应用软件编译工具( g n uc o m p i l e r ) 软件调 式工具( g n r t 3d e b u g g e r ) 等等。用户可以通过集成在e d k 中的平台工作室c x i l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 沈阳城市建设学院《医学心理学与心理健康教育》2023-2024学年第二学期期末试卷
- 鲁迅美术学院《微生物学检测技术》2023-2024学年第二学期期末试卷
- 草原星空露营民宿企业制定与实施新质生产力项目商业计划书
- 云计算创业资源共享平台行业深度调研及发展项目商业计划书
- 高效快递配送车行业深度调研及发展项目商业计划书
- 传统文化解读企业制定与实施新质生产力项目商业计划书
- 曲阜师范大学《音乐制作》2023-2024学年第二学期期末试卷
- 传动部件备件管理系统创新创业项目商业计划书
- 会计积分管理制度
- 会议清单管理制度
- 【上料机械手结构中的真空系统的设计计算案例1100字】
- 西方美术史试题及答案
- 七年级数学下学期期末测试卷(1)(学生版+解析)-2025年七年级数学下学期期末总复习(北师大版)
- 校园短剧创作与演出指导行业跨境出海项目商业计划书
- 2025年北京丰台区九年级中考二模英语试卷试题(含答案详解)
- 【7历期末】安徽省合肥市包河区2023-2024学年部编版七年级下学期期末历史试卷
- 新生儿收治流程规范与实施
- T/CBMCA 017-2021建筑用覆膜钢板
- 《重症监护病房的临终关怀和姑息治疗指南》解读
- 2025年初中地理会考试卷
- 中国钛基复合材料行业市场前景预测及投资价值评估分析报告
评论
0/150
提交评论