




已阅读5页,还剩72页未读, 继续免费阅读
(计算机系统结构专业论文)fpga网络开发平台的软硬件协同设计与验证.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
f p g an e t w o r kd e v e l o p m e n tp l a t f o r mh a r d w a r e s o f t w a r ec o d e s i g na n dc o v e r i f i c a t i o n l i nj i n u n d e rt h es u p e r v i s i o no f p r o f y a n gb o at h e s i ss u b m i t t e dt ot h eu n i v e r s i t yo fj i n a n i np a r t i a lf u l f i l l m e n to ft h er e q u i r e m e n t s f o rt h ed e g r e eo fm a s t e ro fe n g i n e e r i n g u n i v e r s i t yo fj i n a n j i n a n ,s h a n d o n g ,p r c h i n a j u n e ,2 0 1 1 原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的科研成果。 对本文的研究作出重要贡献的个人和集体,均已在文中以明确方 式标明。本人完全意识到本声明的法律责任由本人承担。 论文作者签名:二雅 日期:二! ! ;2 j l 匠母j 啥 关于学位论文使用授权的声明 本人完全了解济南大学有关保留、使用学位论文的规定,同 意学校保留或向国家有关部门或机构送交论文的复印件和电子 版,允许论文被查阅和借鉴;本人授权济南大学可以将学位论文 的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或其他复制手段保存论文和汇编本学位论文。 口公开口保密(年,解密后应遵气 此规定) 论文作者签名:骷导师签名:粥c 硷 济南大学硕上学位论文 目录 目录i 摘要v a b s t r a c t v i i 第一章绪论l 1 1 课题的研究背景和意义1 1 2 相关工作和研究现状2 1 2 1 相关网络开发平台3 1 2 2 协同设计验证方法4 1 3 主要工作及章节安排4 1 3 1 本文主要工作4 1 3 2 本文章节安排5 第。章系统整体架构与需求分析7 2 1 系统总体框架7 2 1 1 系统使用的网络开发平台硬件7 2 1 2 系统设计目标和原则8 2 1 3 系统功能9 2 1 4 系统模块组成1 0 2 1 5 用户编程扩展接口与数据格式1 3 2 2 系统带宽需求1 4 2 2 1 网络接口带宽1 4 2 2 2s r a m 接口带宽1 5 2 2 3p c i 接 1 带宽1 5 2 3 时钟和引脚需求1 6 2 4 系统验证需求16 2 5 系统关键技术1 7 f p g a 网络开发f 台的软硬件协l 司设计与验证 第三章系统设计与验证方法1 9 3 1 系统级设计与验证1 9 3 2 模块级设计与验证1 9 3 3 软硬件协同设计与验证2 0 3 3 1 软硬件协同设计2 0 3 3 2 软硬件协同验证2 1 第四章系统设计与实现2 3 4 1 异步信号处理2 3 4 1 1 哑稳态2 3 4 1 2 跨时钟域信号同步2 4 4 2 干兆以太网i p 核设计2 5 4 2 1 接口信号描述2 6 4 2 2 发送模块设计2 8 4 2 3 接收模块设计3 l 4 2 4c r c 校验模块设计3 3 4 3p c i 接口i p 核设计3 5 4 3 1p c i 接口介绍3 5 4 3 2p c ii p 核接 1 信号3 6 4 3 3p c i 接口i p 核实现3 7 4 4 数据缓存模块存储设计4 1 4 5 系统整体集成及综合结果4 1 第五章系统建模仿真4 5 5 1 随机激励数据4 5 5 2 网络接口发送和接收过程建模4 6 5 2 1 帧激励产生过程4 7 5 2 2 数据帧接收检查4 7 5 3p c i 设备模型建模4 8 5 3 1p c i 启动配置过程4 8 济南夫学硕上学位论文 5 3 2p c i 中断响应4 9 5 3 3p c i 中断解码5 0 5 4s r a m 读写验证5 0 5 5 主机检测设备5 l 第六章f p g a 网络开发平台应用5 3 6 1 网络流量采集器5 3 6 2 网络流量发生器5 4 第七章总结及展望5 5 参考文献5 7 致谢6 1 附录6 3 一、在校期间发表的学术论文6 3 二、在校期间参加的项目6 3 三、在校期间获奖情况6 3 f p g a 网络开发平台的软硬件协同设计j 验证 济南大学硕上学位论文 摘要 网络开发平台提供扩展网络应用所需的基本框架,包括网络数据处理的基本 模块以及各种系统仿真支撑模块。平台使得用户可以根据自己的需求快速建立系 统原型,并由此在早期评估系统的可行性,缩短系统设计周期。本文首先分析了 网络开发平台的相关工作和研究现状;然后基于f p g a 架构,根据系统硬件平台 定义系统的框架,并给出系统需求分析,定义系统功能模块的接口信号和数据交 互格式;最终构建一个具有自主知识产权i p 核的网络开发平台f p g a 逻辑设计 与验证环境。该环境为用户提供吉比特线速率的网络数据接口,使用户进行二次 开发时不必关心网络底层协议的具体实现,把设计重点转向数据的处理。同时, 系统还提供丰富的可重用的验证任务支持,加速用户的验证工作。 在系统设计过程中,根据所使用的网络开发平台硬件逻辑,针对系统实现的 重点,描述p c i 协议接口中添加的寄存器功能和组织,说明以太网协议接口和 s r a m 存储结构的详细实现过程,并给出相应的状态机和状态转换表。同时,还 描述了用户功能扩展接 1 的具体信号和数据格式,为用户进行二次功能开发提供 良好的设计接口。另外,针对异步信号有可能产生亚稳态影响系统稳定性的问题, 本文提出改进级联触发器边沿检测的方法,设计了一种用于整个系统的异步信号 处理模块,解决常用的级联触发器同步异步时钟域的信号,只能检测脉冲的上下 沿,不能检测连续的脉冲信号的问题,提高了系统设计的稳定性。 本论文将s o c 设计领域十分流行的协同设计方法及仿真验证技术引入到系 统的设计中,显著提高了系统实体制做之前的开发验证效率并保证了实体制做的 成功率。在系统验证工作中采用直接向量测试法和随机向量数据测试法生成激励 数据对系统进行验证测试。 系统采用层次化的验证方法,模块级的验证与系统设计同步进行,验证工作 由模块设计者完成,保证模块级逻辑的正确性,并保证模块级综合后的时序能达 到系统时序要求;接口级验证包括p c i 接口协议,i e e e 8 0 2 3 以太网接口协议, 每个协议均按照系统需求实现各自协议的一部分并符合协议规范;系统级验证利 用系统提供的町重用验证支撑模块及任务为系统提供输入激励,并对输入输出数 据做完整性检查。 v f p g a 网络开发平台的软硬件协口】设计与验证 本文系统的从系统需求分析、模块划分及接口信号定义,用v e r i l o g 语言完 成f p g a 网络开发平台逻辑设计验证支持环境关键技术的研究和实现。最后利用 该平台进行流量采集器模块设计,作为网络功能二次开发的样例,证明系统可工 作在吉比特网络中。 关键词:f p g a ;网络开发平台;软硬件协同;p c i ;以太网 v i 济南大学硕e 学伊论文 a b s t r a c t n e t w o r kd e v e l o p m e n tp l a t f o r mi saf r a m e w o r kt h a tc a nb eu s e dt od e v e l o pn e w n e t w o r ka p p l i c a t i o n s t h ef r a m e w o r ki n c l u d e se s s e n t i a ln e t w o r kd a t ap r o c e s s i n g m o d u l e sa n ds u p p o r t i n gm o d u l e su s e df o rn e t w o r ka p p l i c a t i o nd e v e l o p m e n t p l a t f o r m a l l o w su s e rt ob u i l dt h e i rs y s t e mp r o t o t y p ef a s t e r , e v a l u a t es y s t e m sp e r f o r m a n c e e a r l i e ra n ds h o r t e nt h ed e s i g nc y c l e f i r s t , t h i sa r t i c l ea n a l y z e sc u r r e n tr e s e a r c h a c t i v i t i e so nn e t w o r kd e v e l o p m e n tp l a t f o r m t h a n ,b a s e do nf p g aa r c h i t e c t u r e ,w e a n a l y s i ss y s t e mf r a m e w o r ka n dr e q u i r e m e n t s ,d e f i n ei t si n t e r f a c es i g n a l s ,d a t af o r m a t , a n df i n a l l yb u i l tan e t w o r kd e v e l o p m e n tp l a t f o r m s y s t e m su s e re x p a n s i o ni n t e r f a c e c a np r o v i d eg i g a b i tw i r e s p e e dr a t en e t w o r kd a t a ,s ou s e r sd on o th a v et oc a r ea b o u t c o n c r e t er e a l i z a t i o no fu n d e r l y i n gn e t w o r kp r o t o c o la n dc a l lo n l yf o c u so nd a t a p r o c e s s i n g s y s t e ma l s op r o v i d e sa b u n d a n tr e u s a b l ev e r i f i c a t i o nt a s k s t h a tc a nb eu s e d t oa c c e l e r a t eu s e r sv a l i d a t i o np r o c e s s f o c u so nt h ek e yp o i n t s ,t h i sp a p e rd e s c r i b e sr e g i s t e r s f u n c t i o n a l i t y a n d o r g a n i z a t i o nt h a ta d d e dt o t h ep c ip r o t o c o lm o d u l e t h i sp a p e ra l s od e s c r i b e st h e d e t a i l e di m p l e m e n t a t i o no fe t h e m e tp r o t o c o la n ds r a m ss t o r es t r u c t u r e ,a n dg i v e s o u tt h ec o r r e s p o n d i n gf s ma n ds t a t et r a n s i t i o nt a b l e t h i sp a p e ra l s od e s c r i b e st h e s p e c i f i c u s e ri n t e r f a c e s i g n a l sa n dd a t af o r m a t ,p r o v i d e s u s e rag o o ds e c o n d d e v e l o p m e n ti n t e r f a c e i na d d i t i o n ,f o rt h ep r o b l e mt h a ta s y n c h r o n o u ss i g n a lm a y p r o d u c em e t a s t a b l ea n di m p a c ts y s t e ms t a b i l i t y , w ep r o p o s ea ni m p r o v e dc a s c a d e t r i g g e r se d g ed e t e c t i o nm e t h o d ,d e s i g n e da na s y n c h r o n o u ss i g n a lp r o c e s s i n gm o d u l e t os o l u t et h ed e f e c tt h a tc a s c a d et r i g g e r sc a no n l yd e t e c tp u l s e sr i s i n ge d g eo rf a l l i n g e d g ea n d c a nn o td e t e c tac o n t i n u o u ss i g n a l t h i s p a p e r i n t r o d u c es o f t w a r ea n dh a r d w a r ec o d e s i g na n dc o - 1 v e r i f i c a t i o n m e t h o d si nt h ef p g an e t w o r kd e v e l o p m e n tp l a t f o r md e s i g np r o c e s st os h o r t e nt h e t i m eo fd e s i g ni m p l e m e n t a t i o n w h e nv a l i d a t i n gt h ep l a t f o r m ,w eu s ed i r e c tv e c t o r v u e n v i r o n m e n t ,a n dv a l i d a t et h ep l a t f o r mc a nw o r ki no i g a b i tn e t w o r k k e yw o r d s :f p g a ;n e t w o r kd e v e l o p m e n tp l a t f o r m ;h a r d w a r ea n ds o f t w a r e c o l l a b o r a t i o n ;p c i ;e t h e m e t v i i i 第一章绪论 1 1 课题的研究背景和意义 随着网络的普及与发展,对基于网络应用的产品,能保证其稳定性,可靠性, 快速上市已变得至关重要。作为开发网络产品的快速原型的工具,网络开发平台 开始以各种不同的形式出现,在平台上建立仿真验证的支持环境,使得用户可以 根据自己的需求快速建立系统原型,并由此在早期评估系统的可行性【1 1 。基于平 台的设计是目前逻辑电路设计的一个发展方向【2 - 3 】。 网络开发平台f p g a 逻辑设计验证支持环境足基于实际的硬件电路平台创 建一个逻辑设计的核心框架,这个框架易于定制和扩展,提供的扩展接口使得开 发人员能够在比较高的起点快速的进行二次开发。围绕这个框架,通过设计不同 的组件使系统能应用于不同的领域。根据e d g a r 和h a r o l d 的定义 4 1 ,本文中的 f p g a 网络开发平台支持环境是基于实际硬件电路板之上的逻辑电路设计、仿真 验证核心框架,在此框架上为用户提供网络功能开发必备的各种可重用的支持模 块,如m a c ,s r a m d r a m 的模型以及访问控制模块等,使用户能够集中力量 设计网络数据处理模块。在该框架上开发并经过充分验证的逻辑模块能够快速在 实际硬件电路e 进行实现,可以极大缩短逻辑电路模块设计周期。 f p g a 仿真验证支持环境所基于的网络开发平台根据使用芯片的不同,分为 以处理器为核心和以可编程芯片为核心的开发平台。以处理器为核心网络开发平 台提供网络开发的环境,但从最初的硬件设计到最终的系统集成部需要考虑处理 器所提供的接 1 和引脚功能。处理器有各自的指令集,在做设计的时候需要对相 应处理器的指令集部有深入的了解;而且对于吉比特级的传输网络,现有的嵌入 式网络基本达不到这个处理速度,这主要是由于处理器的处理过程都是基于指令 的,每一条指令的执行都需要几个甚至f 几个时钟周期,因此在灵活性和处理速 度上受到很大制约l ,j 。 以町编程芯片f p g a 为核心的网络开发平台,由f 其没有指令集,逻辑町配 置,管脚功能町配置,用户可以根据自己的需求以更灵活的方式进行逻辑设计, 同时f p g a 芯片的高速和并行性,使得其可以很容易的处理高速网络数据流【6 l 。 设计的时间。 整个系统在p c i 接口和网络接口分别提供验证系统是否能j f 常工作的测试 激励,并对输出的数据做检查。测试数据以一定的格式存储在文本文件中,独立 于任何编程语占,用户可以使用任何熟悉的编程语言将测试数据按照相应的格式 写入文本文件。 1 2 相关工作和研究现状 f p g a 网络开发平台仿真验证支持环境提供设计的仿真验证激励与检查,在 仿真验证完成之后再将设计应用到具体的处理器或町编程芯片中去。如c 拳s o c 主要用于逻辑仿真与功能验证,整个环境实现多层次的混合仿真【l l 】。其自带的 c b u s 总线接 1 可以集成各种i p 模块,即将i p 模块挂接到总线。通过实现多 个通用的i p 验证模块,c * s o c 充分利用了平台中提供的模块以及各种验证任务 2 系统所使用的网络开发平台的硬件基本功能是提供扩展设计所需的网络核 心部分,提供便于扩展的物理接口。f p g a 逻辑支持环境则提供网络模块开发的 核心结构,提供便于扩展的逻辑接口,对核心部分提供测试所需的网络激励数据, 并能验证核心部分的输入输出。 ( 1 ) 基于a r m 芯片的网络开发平台 面向s o h o 网络,向强等设计了一款基于m a r v e l l8 8 e 6 2 1 8 芯片的s o h o 网 络开发平台。该平台由a r m 9 e 处理器,s d r a m ,f l a s h ,5 个支持i e e e 8 0 2 3 的m a c 接口和1 个多功能网络接口集成。通过在处理器之上移植操作系统,并 在操作系统上层移植不同的应用软件来实现如路由器、安全网关、交换机等的 s o h o 应用来进行网络功能模块的扩展开发【1 2 1 。 ( 2 ) n e t f p g a 开发平台 n e t f p g a 最初是应计算机网络的教学需要而产生的【l 引,现在的n e t f p g a 平 台可用于交换机,路由器等的教学与设计工作。整个平台的f p g a 逻辑功能部分 提供了便于设计和扩展的接口,使得研究人员能够基于现有资源快速的进行功能 扩展。目前全世界有一百多所大学和科研机构在使用这个平台做研发和设计 1 4 - 1 5 1 。在网络上也能找到大量的开源设计项目,该平台同时开设了英文版和中文 版的论坛网站。整个平台使用具体的f p g a 芯片,同时提供了仿真与验证的功能 和整个工程的源代码,但由于n e t f p g a 并没有提供相关的p c b 原理图,面且在 整个f p g a 逻辑设计中没有提供免费使用的干兆以太网i p 核和p c ii p 核,而是 使用了x i l i n x 公司两个收费的i p 核,因此在做系统移植的时候不能很方便的移 植到其他公司的f p g a 芯片中,使得研究人员在进行相关的设计时不是很自由和 方便,在将相关研究成果产品化的时候必然会受到比较大的制约。 从以e 描述町以看出,网络开发平台仿真验证支持环境使得开发者可以基于 所使用的硬件平台,在一个比较商的起点进行系统设计,利用这个支持环境快速 搭建系统原型的特点,缩短系统设计的时间。而f p g a 网络肝发平台的验证支持 f p g a 网络开发平台的软硬件协同设计叶验证 环境使研究人员能快速设计面向网络的应用,如网络流量采集、网络流量分类、 安全网卡等的设计。基于处理器的网络开发平台是在处理器之上处理网络数据, 相关网络代码的执行会耗费多个处理器的指令周期,因此该平台在处理千兆网络 数据时就显得很吃力。基于f p g a 的网络开发平台利用f p g a 并行性好的特点, 将网络协议数据以并行和流水线处理的方式大大提升网络数据处理的能力,非常 适合于需要对高速网络流量进行研究的人员。 1 2 2 协同设计验证方法 软硬件协同设计验证的概念已经提出多年,但是直到这些年随着s o c 技术 的发展,软硬件协同设计验证技术才得到更多的关注和重视,并得到发展【1 6 1 。软 硬件协同设计验证技术可大幅缩短系统设计周期,从1 9 9 8 年以来部分以c 语言 为基础的软硬件协同技术在设计开发过程中全面展开【1 7 1 。软硬件协同技术已成一 种必然的趋势,而且协同设计与验证的工具和语言也得到了快速的发展【1 8 1 。因此, 将s o c 设计领域十分流行的协同设计方法及仿真验证技术引入到该网络开发平 台的软硬件设计中,能显著提高平台实体制做之前的开发验证效率并保证了平台 制做的成功率。 1 3 主要工作及章节安排 1 3 1 本文主要工作 基丁二上述描述,本论文基于自主设计的f p g a 网络开发平台硬件物力资源, 实现一个具有自主知识产权i p 核的面向网络功能模块开发的网络开发平台 f p g a 逻辑设计与验证的支持环境。以提供网络应用设计的仿真验证环境为核 心,提供4 个吉比特网络数据传输通路和用户功能扩展接口,并采用软硬件协同 的方法进行设计,所有模块均使用源代码或可免费使用的i p 核,提供输入输出 数据,并对数据进行检查。整个环境在数据链路层提供吉比特速率的数据,便于 网络流量研究者研究网络流量数据,快速构建面向网络的应用设计。平台也叮用 于学乍的教学和网络应用的开发,便于学生深入理解t c p i p 模型中网络层以下 的实现过程和细节。其中设计的p c i 接口i p 和以太网接f 1i p 可以作为单独的模 块应用到其他系统。本论文卡要的工作是描述f p g a 逻辑仿真验证硬件逻辑的实 4 济南大学硕七学伊沦文 现。采用自顶向下的模块划分方法进行模块划分,并充分利用模块的可重用性; 这个过程中还采用验证任务重用的方法,实现验证任务的层次化、模块化,同时, 模块级的验证任务也可以集成到系统级的验证工作中,节省系统实现的时间,重 点实现以下几个方面: ( 1 ) 定义平台f p g a 逻辑设计验证部分的核心框架。划分系统主要功能模块, 并根据系统框架分析系统的带宽需求,验证需求和用户扩展接口格式定义。 ( 2 ) p c i 接口协议的实现。针对平台的实际需求,实现p c i 主设备与从设备 功能,d m a 传送功能,p c i 中断请求功能,p c i 配置空间,p c i 存储器读写、配 置读写。完成p c i 接口功能模型的仿真建模,提供测试数据流。 ( 3 ) i e e e8 0 2 3 以太网接口协议的实现。实现千兆以太网接口协议,实现错 误帧的检测及丢弃功能。实现以太网接口的功能仿真模型,提供测试激励,并能 检查数据的传输结果。 ( 4 ) 系统集成调试。将p c i 接口模块,数据缓存管理模块和以太网接口模块 集成到一起,并利用先期的测试模块和测试数据对整个系统进行测试,并在该平 台上运行一个流量采集模块进行进一步的验证测试。 ( 5 ) 系统中仿真验证任务的设计。系统中模块的执行过程分解为多个相对独 立的任务,通过调用不同的任务读取仿真激励数据实现激励数据的输入输出。 1 - 3 2 本文章节安排 本文第二章介绍s o c 设计过程中使用的设计与验证方法,将s o c 设计领域 十分流行的协同设计方法及仿真验证技术引入到系统的设计中,显著提高了系统 实体制做之前的开发验证效率并保证了实体制做的成功率。在后面的章节中应用 这些方法进行系统功能划分,模块划分以及系统的实现和验证需求定义,并在系 统的验证过程中采用直接向量激励和随机向鼍激励的方法进行验证测试。 第三章阐述系统的需求分析。主要从平台硬件逻辑出发,说明系统带宽需求、 系统的运行时钟和引脚规划;按照系统总体框架进行模块划分,定义各模块的总 体功能并进行相应的子模块划分,同时定义模块问的接口信号和数据格式。最后 定义了验证工作总体e 要达到的目标和面对的关键技术和难点。 第四章给出网络开发平台f p g a 逻辑设计与验证支持环境关键技术的详细 f p g a 网络开发平台的软硬件协同设计与验证 实现。设计独立的跨时钟域异步信号处理模块用于系统中多个跨时钟域的信号同 步,说明以太网接口协议m 核,p c i 接口协议i p 核的详细实现,对s r a m 中数 据储存结构进行说明,给出各接口协议实现的核心状态机及相应的状态转换表。 第五章描述系统中验证模块的设计,激励数据的组织格式和模拟系统运行时 用到的任务,给出验证环境和各个接口的仿真结果。 第六章用流量采集器模块描述如何基于该环境进行二次开发并验证新添加 的模块能正常工作。 论文最后对当前工作进行总结,并展望系统需要深入研究和完善的地方。 6 济南大学硕七学位沦文 第二章系统整体架构与需求分析 本文设计的网络开发平台f p g a 逻辑设计验证支持环境( 以下简称系统) 基 于自主设计的网络开发硬件平台,为了能在该平台上快速的进行网络功能模块的 开发,本系统旨在为从事网络流量研究和开发的人员提供一个基于f p g a 的r t l 级电路设计的仿真验证环境。系统在数据链路层提供高速的网络数据流和简单易 实现的用户接口,使网络流量研究者可以集中精力于网络数据的分析和处理而不 必关心底层协议的实现过程。同时用户设计的模块在经过本系统的仿真验证之后 可以快速的部署到实际的硬件平台中,达到快速实际应用的目的。本章将根据系 统基于的实际硬件平台,对系统进行需求分析和系统功能模块的划分。 2 1 系统总体框架 2 1 1 系统使用的网络开发平台硬件 系统实际使用的平台硬件如图2 1 所示,平台核心由一个x i l i n xv i r t e x 5 f p g a 芯片、一个x i l i n xs p a r t a ni if p g a 芯片、4 个千兆p h y 芯片、s r a m 、 d d r 、f l a s h 组成 1 9 】。其中v i r t e x 一5f p g a 芯片的逻辑资源非常丰富,适用于 很多复杂逻辑的设计,芯片中还集成了一个p o w e r p c 硬核处理器,为以后的硬 件逻辑扩展和软硬件协同没计留下充裕的扩展空间。 眺雌i p 网o w 帅e r p cm 硬件电路板 l s p a r t a ni i 图2 1 系统使用的平台硬件模块图 f i g 2 1h a r d w a r ep l a t f o r mu s e di nt h i ss y s t e m 7 f p g a 网络歼发平台的软硬件协同设计与验证 2 1 2 系统设计目标和原则 根据系统硬件平台提供的物理接口和存储资源,为达到提供多个高速的网络 接口,处理高速网络数据,提供更大的扩展空间的目的,在系统的设计初始制定 以下设计目标: ( 1 ) 系统的主要任务是构建网络开发平台f p g a 逻辑设计验证的支持环境, 在该环境中提供开发新的网络模块所需的基本协议颓处理、后处理、硬件仿真模 型、基本验证任务等元素,为用户提供良好设计的数据接口,同时对关键节点上 的数据进行检查校验,保证系统设计的完整性。 ( 2 ) 经过本系统仿真验证后的设计可以快速的应用到实际的f p g a 芯片中, 达到快速建立系统原型的目的,缩短系统设计周期。 ( 3 ) 系统由各种逻辑模块和提供系统输入输出的任务模块组成,同时充分 利用可重用性原理提高模块和测试验证数据的叮重用性。 ( 4 ) 为达到处理高速网络数据,并提供更大的应用扩展空间,根据所使用 平台的硬件逻辑,系统设计并使用多个高速的网络接口。 ( 5 ) 使用软硬件协同设计验证的方法加快系统的实现过程,这里软硬件协 同中的硬件指的是硬件描述语言所描述的硬件逻辑系统。 ( 6 ) 系统提供的编程扩展接口和数据格式简单易实现 ( 7 ) 用户的主要工作则是根据自己的需求,在一个比较高的起点对数据进 行处理,减轻系统设计工作。 这样的一个系统适合研究人员使用。利用系统提供的用户编程扩展接口,用 户可以在不关心底层协议具体实现的情况下,从比较高的起点分析并处理多路吉 比特网络流最,特别适用于流量采集,分类等的研究;或者在此基础上研究新的 网络铷议,网络安全应用。系统中设计的标准协议接口都有源码和详细的实现过 程,对于想要实现相关协议的学生而言,通过设计相应的协议模块替换系统原有 模块,再利用系统原有的验证测试激励就可以很方便的验证自己的设计。 为实现系统的设计目标,使用如下原则进行系统设计: ( 1 ) 标准接 1 协议的实现要符合所涉及的协议规范和通用的底层网络通信 结构。系统的差要目的足为网络流量研究人员提供吉比特速率的数据,并且能提 供和e 机进行数据传输的路径,冈此所设计的接【j 协议一定要符合相应协议的标 济南大学硕士学位论文 准和通用的底层网络通信结构,这样系统才能有广泛的适用范围。 ( 2 ) 系统设计遵循自上而下的设计原则。选择自上而下设计原则的好处是, 能在整个设计过程中从系统的角度把握系统的架构,进行功能和模块的划分以及 模块间接口信号的定义。 ( 3 ) 可重用设计。本系统设计中的重用分为数据重用和模块重用。在测试 验证过程中,模块级和系统级共用相同的测试数据。在模块设计的过程中将常用 的逻辑( 如f i f o ) 模块化,这样就可在系统实现过程中功能相同的地方使用同 一个单元模块,从而节省大量设计时间1 4 1 。 ( 4 ) 同步设计。在模块的实现过程,同一时钟下的信号均采用同步逻辑实 现,在必须跨越多个时钟的逻辑中采用统一的异步信号处理方式处理异步信号。 2 1 3 系统功能 目前的网络应用主要足分析现有流量特征、流量数据集、离线智能识别方法、 对互联网流量分类算法进行理论研究、对实时互联网流量分类进行理论验证和模 型建立【2 们。针对这些应用,系统在数据链路层提供高速的网络数据流和简单易实 现的用户扩展接口来支持上述应用,并提供验证接口协议所需的数据激励,同时 提供用户扩展接口所需的数据激励。 基于所使用的硬件平台的物理接口,系统需要网络协议中的数据链路层以下 的网络处理模块,物理层功能由成熟的物理层p h y 芯片完成。因此系统只需要 实现数据链路层的m a c 协议。利用f p g a 易于处理高速并行数据的优势,在系 统中设计使用了4 个千兆网络接口。由于要提供给开发者二次功能扩展的接口, 对接收到的数据就有缓存的要求。考虑到存储模块的复杂性,选择模块接口简单, 控制逻辑容易实现的s r a m 实现数据的缓存功能,设计并实现数据缓存控制逻 辑。最后根据物理平台提供的p c i 接口,实现带d m a 功能的p c i 接口i p 核, 使其完成平台与t 机进行数据交互的功能。 作为验证支持环境,系统必须提供模拟实际硬件平台运行所需的网络数据激 励,并对平台中协议接口的输入输出数据做检查。系统中需要实现对p c i 协议接 口和以太网协议接口提供激励数据,并提供完成相应的协议检查功能的任务。所 以,整个支持环境总体上由两部分组成,可综合部分和不叮综合部分。可综合部 9 f p g a 网络开发f 台的软硬件协同设计验证 分根据系统使用的硬件平台所提供的物理资源进行功能模块的划分和带宽需求 分析;不可综合部分主要提供可综合部分运行时所需的数据和控制信号和验证任 务,并且对可综合部分的输出信号数据做检查。 2 1 4 系统模块组成 系统可综合部分的模块划分主要根据网络数据的传输过程和系统所使用的 硬件平台提供的物理接口资源来进行。如图2 2 所示,可综合部分主要由五大模 块组成,分别为以太网协议接口模块,s r a m 缓存控制模块,p c i 协议接口模块, 加头去头模块和异步信号处理模块。按照自顶向下的设计方法,其中一些大模块 还划分为功能更小的模块,这样便于系统设计,也利于后期模块集成过程中错误 的隔离和定位。 i 中断il 中断il 麓机数 仿真验证支撑逻辑 lc i 随机致i l 响应il 处理ll 生成l 校验ii 生威l 错误ll 协谩i 总线ll 设备启动il 协设i 模型 l 一1 i 注入il 检蠢i l 仲藏il 与识捌li 检童| 个个 j、l 一一一。l jl工 1 d 一h 鬈釜觜帮b :应用软件。 :掣。,亚 :- : lj l ! ! ! ! ! ! j ll s r h | = = 弭冲降忙币 缓存控钶 :j l ll 型l 。j l - 。幽山 d 用户扩展逻辑h j l 絮辫型l l 实肘攮作系统: j 硬件翟动: f p 从中簟成的: :嵌入式处理器! 1 叫i = u i v 百* 虱 - - - 0 可综合逻辑设计、菘j 、d 、,_ 塑- 、,l 。三! 竺。r , 妒 平台可综合逻辑支撑模块 仿真验证模块与任务 锈 用户扩展功能逻辑 图2 2 系统模块组成 f i g 2 2s y s t e mb l o c kd i a g r a m 系统提供用户二次编程开发的功能扩展接口,可以在数据链路层之上以吉比 特的线速率提供网络数据,用户可根据自己的应用需求对数据进行处理。用户接 口作为核心部分的扩展,通过设计不同功能的组件使得整个系统可以扩展更多的 功能,如流量采集,流量分类,安全防护应用等。图中虚线框表示提供给用户的 功能扩展逻辑接几和用户设计的功能扩展模块。在系统所用平台的f p g a 芯片中 l o 济陌大学硕t 学位论文 集成了一个p o w e r p c 硬核处理器,x i l i n x 的e d k 开发套件支持用户在其f p g a 芯片中作软硬件的协同开发工作。系统中使用的p c i 接口是一种应用广泛的标准 接口协议,使得在具体的应用中可以设计成带p c i 接口的插卡,也可以与f p g a 中集成的嵌入式处理器( 如p o w e r p c ,m i c r o b l a z e ) 进行数据交互控制,从而提 供更强的处理能力和更大的扩展空间。 ( 1 ) 以太网协议接口模块 以太网协议接口模块对网络送来的数据根据i e e e 8 0 2 3 千兆m a c 协议处 理,去掉帧同步码,c r c 校验码,并提供帧好坏的指示信号;对异步信号处理 模块送来的数据,根据i e e e 8 0 2 3 千兆m a c 协议添加同步码,校验码,如果帧 长度达不到最小帧长度要求还要添加填充字节,最后发送到网络。 ( 2 ) 异步信号处理模块 异步信号处理模块对以太网协议接口模块送来的数据进行同步,将属于以太 网协议接口模块1 2 5 m h z 时钟域的数据同步到属于加头去头模块1 2 5 m h z 的时钟 域;对加头去头模块送来的数据进行相反的异步信号处理。 ( 3 ) 加头去头模块 加头去头模块对从异步信号处理模块送来的数据,添加自定义的头部以标识 一个完整的帧,方便数据的缓存;对送到网络的数据,去掉自定义的头部后,将 数据送到异步信号处理模块。 ( 4 ) s r a m 缓存控制模块 s r a m 缓存控制模块主要由4 个子模块组成:o n et om u l t 、 m u l tt oo n e 、i n f oe x t r a c t 、s r a mc o n t r o l 。模块间的数据传输关 系如图2 3 所示: 图2 3s r a m 缓存模块内部数据传输关系 f i g 2 3i n t e r n a ld a t at r a n s f e ro fs r a m c o n t r o lm o d u l e p c i c o n f i g 、p c i r e g s 、p c i m a s t e r 、p c i a r b i t e r 和a s y n f i f o 。模 块间的信号关系如图2 4 所示: p c i 总线 图2 4p c i 接n 模块内部数据传输关系 f i g 2 4i n t e r n a ld a t at r a n s f e ro fp c ii n t e r f a c em o d u l e 1 2 济南犬学硕上学位论文 1 ) p c it a r t g e t 模块 p c i t a r t g e t 模块主要完成p c i 从设备的功能,对主机发往p c im e n o r y 空间的数据进行命令解析和控制寄存器的设置。 2 ) p c ic o n f i g 模块 p c i c o n f i g 模块主要完成p c i 配置空间的设置,以及响应主机对p c i 配 置空间的操作。 3 ) p c ir e g s 模块 p c i r e g s 模块主要存储p c i m a s t e r 模块的控制信号,并对 p c i m a s t e r 模块反馈的信息做出响应。 4 ) p c im a s t e r 模块 p c i m a s t e r 模块主要完成p c i 主设备和d m a 控制的功能,包括总线请 求,中断产生,总线的存储器读和存储器写。 5 ) p c ia r b i t e r 模块 p c i a r b i t e r 模块则控制着p c i 接口的访问,判断几个模块中哪一个模块 可以和p c i 总线交互数据。 6 ) a s y nf i f o 模块 a s l f i f o 模块主要完成信号从3 3 m h z 时钟到6 2 5 m h z 时钟的同步。 2 1 5 用户编程扩展接口与数据格式 用户编程扩展接口,也即模块间的数据交互信号与数据格式一起定义了数据 在系统中的t 要传输方式,使得系统中数据的处理过程中能统一起来,本系统中 使用的信号交互方式和数据格式借用了n e t f p g a 中的数据格式和信号交互方 式。 数据源 模块 d a t a 6 3 :0 c t r l 7 :0 】7 。i 数据接收 图2 5 模块问的数据交互信号 f i g 2 5d a t ai n t e r a c t i o ns i g n a lb e t w e e nm o d u l e s 如图2 5 所示,模块i 日j 的控制信号主要由d a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年现代语文教学与应用知识考试试题及答案
- 2025年心理评估与测量技术考试卷及答案
- 高红移类星体探测-洞察及研究
- 2025年数据隐私保护与合规管理考核试卷及答案
- 2025年社会工作实务基础考核试题及答案
- 2025年软件工程专业实践考试卷及答案
- 2025年生活方式与健康管理知识考试试题及答案
- 2025年全国大学英语四级考试试卷及答案
- 2025年青少年心理健康教育的重要考试试卷及答案
- 2025年临床医学执业考试试卷及答案
- 连带责任担保借条(四篇)
- 2023年计算机图形学试题级考试A卷
- GB/T 42104-2022游乐园安全安全管理体系
- 八年级下册人教版英语单项选择(50题)练习题含答案含答案
- 河北省大众滑雪等级标准(试行)
- GB/T 3863-2008工业氧
- GB/T 31125-2014胶粘带初粘性试验方法环形法
- 班主任班级管理(课堂)课件
- 学院辅导答疑情况记录表
- 31个级地区国家重点监控企业自行监测信息公开平台及污染源监督性监测信息公开网址
- 2022年江西省投资集团有限公司校园招聘笔试模拟试题及答案解析
评论
0/150
提交评论