(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf_第1页
(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf_第2页
(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf_第3页
(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf_第4页
(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf_第5页
已阅读5页,还剩66页未读 继续免费阅读

(计算机系统结构专业论文)基于fpga的pci接口软硬件协同设计及其应用.pdf.pdf 免费下载

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

文档简介

i_l ,_ s o m a y1 6 ,2 0 1 1 i np a r t i a lf u l f d m e n to f t 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 原 本人郑重声明:所呈交的 进行研究所取得的成果。除文 任何其他个人或集体己经发表或撰写过的科研成果。对本文的研究做出 重要贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到 本声明的法律责任由本人承担。 论文作者签名:仡。】商 日 论文作者签名:丝:! :! 型 日期:。知f f 、易期:彬ms 侈 关于学位论文使用授权的声明 本人完全了解济南大学有关保留、使用学位论文的规定,同意学 校保留或向国家有关部门或机构送交论文的复印件和电子版,允许论 文被查阅和借鉴;本人授权济南大学可以将学位论文的全部或部分内 容编入有关数据库进行检索,可以采用影印、缩印或其他复制手段保 存论文和汇编本学位论文。 ( 保密论文在解密后应遵守此规定) 论文作者签名:位、】盈参导师签名:论文作者签名:。! 垒:! :型导师签名: 1 2 1 常用的计算机接口总线3 1 2 2p c i 总线接口解决方案4 1 2 3 软硬件协同设计5 1 3 主要工作及章节安排。5 1 3 1 本文主要工作5 1 3 2 本文章节安排6 第二章软硬件协同设计7 2 1 传统设计流程。7 2 2 软硬件协同设计流程9 2 3 软硬件协同设计的实现方法。9 2 4 软硬件协同设计的优点与意义1 1 第三章硬件逻辑模块设计1 3 3 1 系统整体架构与模块划分1 3 3 2 信号与数据格式定义与协同交互接口1 5 3 2 1d m a 传输控制1 8 3 2 2p c i 接口模块的读写操作1 9 3 2 3p c i 接口模块状态机2 0 3 2 4 配置空间2 2 3 3p c i 各模块的实现2 3 3 3 1 仲裁模块a r b i t e r 2 4 3 3 2 奇偶校验模块p a r g e n 2 5 基于f p g a 的p c i 接1 2 1 软硬件协同设计及其应用 3 3 3 局部总线主模式模块b u s m a s t e r 2 6 3 3 4 音频局部总线主模式模块1 2 s m a s t e r 2 7 3 3 51 2 c 总线芯片配置模块p r i m a r y 。2 8 3 3 6p c i 从模式功能模块p c is l a v e 2 9 p c i 主设备读写状态机3l 异步f i f o 模块。3 4 3 5 1 亚稳态3 5 3 5 2 亚稳态的产生3 5 3 5 3 格雷码一3 6 3 5 4 异步f i f o 模块实现3 7 时钟和引脚需求3 7 系统实现重点3 8 p c i 接口模块实现结果及应用4 1 整体功能集成与测试4 l 4 1 1p c i 启动配置过程4 2 4 1 2p c i 中断响应4 4 4 1 3p c i 中断解码4 5 软硬件协同验证4 5 产品应用4 6 总结及展望4 9 工作总结4 9 展望未来5 0 献5 3 ! ;7 5 9 一、在校期间发表的学术论文5 9 二、在校期间参加的项目5 9 三、在校期间获奖情况5 9 h 济南人学硕 j 学位论文 摘要 随着半导体工艺的不断快速发展,计算机与嵌入式产品广泛应用到人类的正常生 产生活和工作等各个领域,数字化时代已经成为主流趋势。 p c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ,周边元件扩展接口) 总线作为一种独立 的同步于处理器的高性能局部总线,以其高性能,低成本,兼容性好等优点在计算机 系统结构中获得了十分普遍的应用。在本文涉及的安防监控视频采集应用中,需要传 输大量连续的多路数据,而通用的音视频解码芯片连接p c i 桥接芯片的方法并不能很 好地满足这样的需求。针对以上的问题,同时出于知识产权的要求,作者所在的研发 团队自主设计所需要的各功能逻辑模块并用f p g a 芯片进行逻辑和软件的协同验证, 为流片提供保障。 本文包含的研究内容包含如下几个方面: ( 1 ) 采取软硬件协同设计方法,系统地根据需求分析进行模块划分,制定相应的 接口信号、引脚定义等文档规范,然后用v e r i l o g 语言实现功能逻辑,完成基于f p g a 的p c i 接口模块,同时根据相同的接口进行软件的研发,以方便之后进行的仿真验证 与集成测试。整个p c i 接口模块分为:总线仲裁器模块,含d 1 9 1 a ( d i r e c tm e m o r y a c c e s s ,直接内存存取) 的i o 接口模块,奇偶校验模块,命令地址译码模块。p c i 模块与其他功能模块的通信通过异步f i f o 模块缓冲数据实现跨时钟域的稳定传输。 在f p g a 上实现p c i 接口模块,具有配置灵活,修改方便,可以根据应用需求定制 功能等特点。 ( 2 ) 在设计时,采用软硬件协同设计方法,让软硬件的研发在时间上并行,并且通 过协同验证的结果及时修改设计目标,缩短了设计周期,而且可以在更早的时间对系 统可行性进行评估。通过在f p g a 上实现验证,相对于逻辑仿真提高覆盖率,加快了 验证进程,保障了设计的正确性。 ( 3 ) 文章的后半部分展示了该p c i 接1 2 模块应用的例子:基于p c i 总线的多路视 频采集卡。该设计针对安防监控视频采集的特殊应用,在符合p c i 规范的前提下设计 该p c i 接口模块,将采集的连续的多路音视频采集的信号通过p c i 总线传输到主机, 适应大量连续数据的块d m a 传输,并方便级联扩展以适应更多路数的数据采集。该 方案已经通过了测试与验证并已经成功进行了流片,目前产品已经上市。 该p c i 接口模块的设计符合p c i 设计规范,采取软硬件协同设计方法并使用 i i i 基于f p g a 的p c i 接口软硬件协同设计及其应用 v e f i l o gh d l 语言进行编写,经过仿真验证,测试结果表明该p c i 接v i 模块的设计符 合p c i 2 2 规范的时序要求,可以完成数据稳定可靠地通过p c i 总线与主机交互功能。 关键词:p c i 接1 2 1 ;f p g a ;v e r i l o gh d l ;软硬件协同设计 济南人学硕卜学化论文 曼皇曼皇曼曼曼曼曼曼皇曼曼量曼! 曼曼曼曼皇曼曼曼曼曼曼曼曼曼曼曼曼曼! 曼曼曼! ! ! 曼曼曼皇曼皇皇ii 曼曼鼍曼! 曼! 曼曼曼! 曼蔓皇曼蔓曼曼曼兰曼! 曼曼皇曼曼曼鼍 a b s t r a c t a st h es e m i c o n d u c t o rt e c h n o l o g yd e v e l o p m e n tp r o c e e d s ,a p p l i c a t i o no fc o m p u t e r g o e sh a n di nh a n dw i t ht h ee m b e d d e dp r o d u c t si n t oe v e r ya s p e c t so fh u m a n ,i nb o t h c o m m o nb u s i n e s s e sa n dl i v e s t h ed i g i t a le p o c hh a sd o m i n a t e dt h em a i n s t r e a mo ft h e w h o l es o c i e t y t h ep c i ( p e r i p h e r a lc o m p o n e n ti n t e r c o n n e c t ) b u s ,w o r k sa sa ni n d e p e n d e n tl o c a lb u s , w i t hw h i c hs y n c h r o n o u st h eh i 【g h p e r f o r m a n c ep r o c e s s o r s w i t hi t sh i g hp e r f o r m a n c e ,l o w c o s ta n dg o o dc o m p a t i b i l i t yi ns t r u c t u r a la d v a n t a g e s ,p c ib u sh a sw o nt h ew i d e s p r e a d a p p l i c a t i o n t a k ev i d e oc a p t u r em e n t i o n e di n t h i sa r t i c l ea sa ni n s t a n c e ,t h e r ea r el a r g e a m o u n to fd a t at h a tr e q u i r e dt ob et r a n s m i t t e dr e a l t i m e ,f o rw h i c ht h eg e n e r a lp u r p o s e c h i p sa r en o te x a c t l yc o m p e t e n tf o rt h i sj o b a tt h es a m et i m e ,t a k i n gt h ed e m a n df o r i n t e l l e c t u a lp r o p e r t yr i g h t si n t oc o n s i d e r a t i o n ,w eh a v et oc o m p i l er e q u i r e df u n c t i o nt o d o w n l o a dt h ep r o g r a ml o g i ci n t of p g ac h i pt oi m p l e m e n tt h i sg o a l t h i sr e s e a r c hc o n t e n t si n c l u d e di nt h i sa r t i c l ec o n t a i n st h ef o l l o w i n ga s p e c t s : ( 1 ) f i r s ta n df o r e m o s t ,s y s t e m a t i c a l l yc a r r yo u tm o d u l ep a r t i t i o n ,i n t e r f a c es i g n a la n d p i nd e f i n i t i o nf r o mt h es y s t e mr e q u i r e m e n ta n a l y s i s t a k i n gah 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 v ed e s i g nm e t h o d ,u s ev e r i l o gh d l ( v e r i l o gh a r d w a r ed e s c r i p t i o nl a n g u a g e ) t oi m p l e m e n tt h i sp c ii n t e r f a c em o d u l ef u n c t i o n sw i t hl o g i cb a s e do nf p g a ,a n df i n a l l y c o m p l e t e dt h es i m u l a t i o n ,v a l i d a t i o na n dt e s t t h ew h o l ep c ii n t e r f a c em o d u l ec a nb e d i v i d e di n t ot h o s ef o l l o w i n gm o d u l e s :b u sa r b i t r a t i o nm o d u l e ,i ob u s m a s t e rm o d u l e s c o n t a i n i n gt h ed m a ( d i r e c tm e m o r ya c c e s s ) ,p a r i t yg e n e r a t i o nm o d u l e ,c o m m a n d a d d r e s sd e c o d em o d u l ea n dt h e p a r i t yg e n e r a t e m o d u l e t h e s t a b i l i t y o f c r o s s - c l o c k d o m a i nd a t ac o m m u n i c a t i o nb e t w e e np c ii n t e r f a c em o d u l ea n do t h e r a p p l i c a t i o nf u n c t i o nm o d u l e s i sr e a l i z e dt h r o u g ht h ea s y n c h r o n o u sf i f ob u f f e r s i m p l e m e n to ft h ep c ii n t e r f a c em o d u l eh a v et h o s ef e a t u r e so ff l e x i b l ec o n f i g u r a t i o n , c o n v e n i e n tm o d i f i c a t i o n , a n de a s yc u s t o m i z a t i o n ( 2 ) i nt h ed e s i g np h r a s e ,u s i n gh a r d w a r ea n ds o f l ! w a r ec o d e s i g nm e t h o db e c a u s et h e t r a d i t i o n a ld e s i g nm e t h o d o l o g yi s o l a t e dt h es o f t w a r em o d u l ea n dh a r d w a r ep h r a s e , c o - d e s i g nm e t h o d o l o g ym a k e t h ei m p l e m e n t a t i o no fh a r d w a r ea n ds o f t w a r ed e v e l o p m e n t v 基于f p g a 的p c i 接口软硬件协同设计及其应用 i np a r a l l e l ,a n da b l et oa d j u s tt h ed e s i g ns p e c i f i c a t i o ni nt i m e l ym a n n e r , w h i c hs h o r t e n e d t h ed e s i g nc y c l e ,a n dc a p a b l et oe v a l u a t et h ef e a s i b i l i t ya ta ne a r l i e rt i m e ( 3 ) i nt h el a t e rs e s s i o no ft h ep a p e rs h o w st h ea p p l i c a t i o no fp c ii n t e r f a c em o d u l e 1 1 1 e a p p l i c a t i o ni s b a s e do np c ib u s ,f o rm u l t i c h a n n e lv i d e oc a p t u r ec a r df o rs e c u r i t y m o n i t o r i n gv i d e oc o l l e c t i o np u r p o s e d e s i g nt h ep c ii n t e r f a c em o d u l ea c c o r d i n gt ot h e s p e c i f i ca p p l i c a t i o nr e q u i r e m e n t s i na c c o r d a n c ew i t ht h ep r e m i s eo fp c is t a n d a r d s p e c i f i c a t i o n am u l t i c h a n n e la u d i oa n dv i d e oc o l l e c t i o ns i g n a lt h r o u g ht h ep c ib u s t r a n s f e r st ot h eh o s t ,w h i c ha d a p t e dt oc o n t i n u o u sb l o c k sd a t ai nd m a t r a n s m i s s i o n ,a n d c o n v e n i e n te x t e n d e dt oa d a p tm o r ec h a n n e l s t m ss c h e m eh a sb e e np a s s e dt h et e s ta n d v e r i f i c a t i o n ,a n dh a ss u c c e s s f u l l yc o n d u c t e dt a p e o u t t h ec h i pi si nv o l u m ep r o d u c t i o n n o w t l l i sd e s i g no fp c ii n t e r f a c em o d u l em e e t sp c is p e c i f i c a t i o n ,w h i c ht a k ea h a r d w a r e s o f t w a r ec o - d e s i g nm e t h o d o l o g ya n di m p l e m e n t e di nv e r i l o gh d l t h ed e s i g n h a sb e e nt a p e do u t ,r e s u l t ss h o wt h a tt h ep c ii n t e r f a c em o d u l ei sc o m p a t i b l ew i t ht h e p c i 2 2s p e c i f i c a t i o n ,a n dt h em o d u l ei sf l e x i b l ea n ds u c c e s s f u ld e s i g n k e yw o r d s :p c ii n t e r f a c e ;f p g a ;v e r i l o gh d l ;s w h wc o - d e s i g n v i 济南大学硕j :学位论文 1 1 课题的研究背景和意义 第一章绪论 随着半导体工艺发展,计算机产品的更新换代越来越快,人们的生产生活越来越 离不开计算机与嵌入式产品【1 1 。近年来,随着奥运会与世博会的政府需求项目以及“十 二五”计划的刺激和拉动,高速增长的电子产业市场需求给计算机产品的发展带来蓬 勃生机。针对不同的特殊应用,计算机主板自身集成的功能器件不能满足某些特殊需 求,需要再扩展功能时可以增加即插即用的专用产品,例如比主板集成的更高性能的 显卡,声卡,网卡等都可以方便地插在主板插槽上,以加强某些特殊用途的功能。 这一切应用功能的性能,包括计算机在内,取决于其核心的集成电路【2 3 1 。作为 电子信息产业的核心与基础,集成电路平均以每年1 5 的速度发展,己成为我国发展 速度最快的工业之一,一九九九年二月我国第一条8 英寸0 3 5 微米集成电路生产线 开始正式投产,大大缩小了与国际生产水平的差距【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 ,电子设计自动化) 工具进行设计【3 】,由于设计周期长,验证、测试和流片 的费用十分昂贵,所以在同样的需求情况下目前非常流行使用f p g a ,即现场可编程 逻辑门阵列,进行集成电路的验证f 4 j 。在芯片需求量不大的时候,并不需要进行流片 生产集成电路,可以直接使用f p g a 来代替专用芯片来完成所设计的功能。由于硬件 逻辑与实现工艺无关,在逻辑设计完成后也可以方便地实现流片。 f p g a 它是在p a l 、g a l 、c p l d 等可编程器件的基础上进一步发展而出现的产 物,它作为a s i c ( a p p l i c a t i o ns p e c i f i ci n t e g r a t e dc i r c u i t ,专用集成电路) 领域中的一 种半定制电路出现,既克服了定制电路的不足,又解决了原有可编程器件门电路数量 有限等缺点,在同一系列产品中提供多种资源和引脚的不同型号可供设计选择。将所 需的功能通过硬件描述语言编程后下载到f p g a 或p r o m ( p r o g r a m m a b l er e a d o n l y m e m o r y ,可编程只读存储器) ,f p g a 就变成了可以完成设计的逻辑功能的芯片了。 加电之后,f p g a 芯片将e p r o m 中的数据读入片内r a m 中,配置完成之后,f p g a 即进入工作状态。掉电后,f p g a 又恢复成白片,内部逻辑关系也随之消失,因此, f p g a 能够反复使用。下载不同的b i t 文件到同一片f p g a ,不同的b i t 数据,可以产 基于f p g a 的p c i 接口软硬件协同设计及其应用 不同的电路功能。因此,f p g a 的使用非常灵活。本设计采用f p g a + p r o m 和其 功能器件集成到p c b ( p r i n t e dc i r c u i tb o a r d ,印刷电路板) 上,以实现自己的产 。 采用总线结构是微型计算机系统体系结构的重要特点之一,总线是微机系统的组 基础和重要资源【5 1 。采用总线结构,其优点是系统成本低、组态灵活、维修方便6 1 。 用总线标准设计生产的硬件,其模块兼容性强,通过微机系统可以方便的组合在一 ,构成不同的微机总线。常用的数据采集与处理模块接口总线为i s a 总线,u s b 线,p c i 总线等等【6 , 8 - 1 0 。 尽管软硬件协同设计方法学已经提出了很多年,却直到最近几年才得到充分的重 【7 】。传统的设计方案是购置通用或专用芯片,例如p c i 9 0 5 2 9 0 5 4 等然后制作出p c b 之后,再进行驱动和应用软件的开发,研发周期比较长,项目的每一步的进行都需 建立在上一步完成的基础之上【】。对于计算机或电子产品,由于产品的更新换代十 迅速,新一代性能更强价格更低的产品随时可能问世,所以产品的上市时问越短, 润就越丰厚;上市的时间越晚,研发投资的风险就越大。在这样迫切的要求下,软 件协同设计方法学逐渐被重视起来并得到了很好的应用与发展,以科学合理的方式 高传统的设计方法的项目并行度,让产品的硬件研发与软件研发尽可能地同时进 ,以缩短研发周则1 5 】。 采用f p g a 设计应用模块的目的在于,采用传统的v c s 或c 语言s i m u l a t i o n 等 证工具仿真设计的过程十分缓慢,并且只能验证硬件逻辑和配置寄存器读写而不能 证软件等正确性问题。而将设计下载到f p g a 开发板中,可以结合软件和驱动,让 统在全速或者接近全速的情况下,进行硬件逻辑和驱动、应用软件的协同验证,尽 地进行测试,将不符合需求的设计及时向目标调改,为后端设计提供可靠保障。 本文的主要内容是作者在实习期间参与研发的一款应用于安防领域视频监控信 号采集卡的多媒体桥芯片中p c i 总线接口模块,鉴于用户采取的大多为x 8 6 体系结 构的通用计算机,非常适合采用p c i 总线进行扩展。采取软硬件协同设计方法学,针 对视频采集的特殊应用,在遵循p c i 协议规范的前提下尽可能地提高性能减少成本, 让p c i 模块可以与其他功能模块通过异步f i f o 无缝连接【1 6 1 。这样的一款设计特别适 合于多路视频信号的采集,减少了p c b 版布线的复杂度以减少信号的串扰从而提高 运行的稳定性,应用性很强,具有很强的现实的意义。 国外的安防领域由于政府投资巨大,技术领先,对于视频采集,主要是采用硬压 卡,即使用d s p 芯片将视频压缩处理后再传输到网络,这样的产品耗资巨大,需要 投建大规模覆盖的专用网络以及使用昂贵的d s p 芯片,并不符合发展中国家的具体 国情。由于计算机性能提升速度很快,c p u 完全可以胜任图像压缩处理的工作,所 以我国绝大多数地方采取的方案为在小范围内使用摄像头将数据捕获到主监控室来 实现。为了实现使用多路摄像头捕捉的视频信号采集到主机的安防视频采集卡,除了 视频编解码模块之外,还需要选择采用什么方式将数据传输到主机。 1 2 1 常用的计算机接口总线 采用总线结构是微型计算机系统结构的重要特征之一,总线是计算机中各种功能 部件之间传输信息的公共通信干线,按照计算机所传输的信息的种类,总线可以划分 为数据总线、地址总线和控制总线,分别可以用来传输数据、数据地址以及控制信号 【8 1 。采用总线结构优点是可以简化硬件设计、简化系统结构,系统可扩展性好,系统 更新性能好,以及便于故障诊断和维修。采用总线标准设计生产的硬件,其模块兼容 性强f 5 1 。其中较常用的数据采集与处理模块接口总线分别有i s a 总线,u s b 总线, p c i 总线等。 ( 1 ) i s a ( i n d u s t r ys t a n d a r d a r c h i t e c t u r e :i 业标准体系结构) 总线是美国i b m 公 司为其p c a t 电脑而制定的总线标准,1 6 位体系结构,只支持1 6 位的i o 设备,所 以也被称为a t 标准。一九八四年推出的i b m p c a t 系统,i s a 总线从8 b i t 扩充到 1 6 b i t ,地址线从2 0 条扩充到了2 4 条。i s a 总线的缺点是c p u 的资源占用率太高, 而数据传输的带宽太小:数据传输率大约为8 m b s ,已经不能满足高速数据采集的 需求,是古老的插槽接口,已经逐步退出主流市场。 ( 2 ) 通用串行总线u s b ( u n i v e r s a ls e r i a lb u s ) 是由i n t e l 、d i g i t a l 、i b m 、c o m p a q 、 n o r t h e r nt e l e c o m 、n e c 、m i c r o s o f t 等7 家世界著名的计算机和通讯公司共同推出的 一款新型接口标准。u s b 总线基于通用连接技术,可以实现外设的简单快速连接, 达到降低成本、方便用户、扩展p c 连接外设的目的。它可以为外设提供电源,与普 通的使用串、并口的设备需要单独的供电系统不同。u s b 器件支持p n p ,即插即用。 u s b l 1 支持两种传输速度,既低速1 5 m b p s 和高速1 2 m b p s ,在u s b 2 0 中其速度提 可以再增加其他模块,如果可以的话把多个芯片的功能分为多个模块,整合在同一个 芯片上实现也是完全可以的。采用可编程逻辑器件的方式,也可以采用口核的方式。 作为f p g a 的几大龙头厂商如x i l i n x 和a l t e r a 以及a t m e l 等公司都为自己的f p g a 产品推出了相应的各种功能的i p c o r e 。采用i p 核可以缩短研发周期,然而高昂的知 识产权转让费用和每件产品的使用费却让大多数企业望而却步。除此之外,针对安防 类视频采集,通用的i p 核与通用芯片在多路视频采集时存在同样的总线争用问题, 在多路大量连续的视频信号传输时d m a 效率与仲裁效率偏低。同时,出于自主知识 产权考虑,以及验证测试后生产自己的专用芯片,作者所在的研发团队决定选择自行 济南人学硕仁学何论文 设计实现所需要的各功能逻辑模块来实现。 1 2 3 软硬件协同设计 传统的设计方法是在需求分析后购置可满足性能的芯片,然后制作p c b ,之后 实现驱动和应用软件,开发相对周期较长。虽然软硬件协同设计以及验证的概念已经 提出多年了,但直到近几年随着s o c ( s y s t e mo nc h i p ,片上系统) 技术的发展,对产 品的研发周期的要求越来越高,软硬件协同设计技术才得到了更多的关注和重视【1 4 1 。 软硬件协同设计技术可以以科学的方法大幅度地缩短开发周期,从1 9 9 8 年以来部分 以c 语言为基础的软硬件协同技术在设计开发过程中全面展开,软硬件协同技术已 成一种e d a 发展必然的趋势【1 5 】。 1 3 主要工作及章节安排 1 3 1 本文主要工作 基于上述描述,本论文将实现一个具有自主知识产权m 核p c i 总线接口模块, 该模块遵循p c i 协议规范,针对安防行业连续多路视频信号的采集,设计了更快的块 d m a 传输,以及更优秀的仲裁模块以方便级联扩展更多路数的视频信号。由于视频 采集模块是使用基于2 7 m h z 的时钟率,而p c i 是使用基于3 3 m h z 的时钟频率,所 以该模块需要使用异步f i f o 来实现跨时钟域的稳定传输。该p c i 总线接口模块采用 软硬件协同设计的方法进行设计,所有模块均由研发团队自主开发并遵循相应的规范 手册,提供接口测试数据并对输出数据进行检查。方便同时进行应用软件以及驱动程 序的研发与测试。其中设计的p c i 接口模块和异步f i f o 模块都可以作为单独的模块 应用到其他系统。本论文主要的工作是采用软硬件协同设计的方法实现了p c i 接口模 块,该通过异步f i f o 模块与音视频模块实现跨时钟域的数据传输,配合驱动和应用 软件开发了一款自主知识产权的视频采集卡。重点实现以下几个方面: ( 1 ) p c i 接口协议的实现。针对系统的实际需求,必须实现p c i 配置空间,p c i 主设备与从设备功能,p c i 中断请求功能,d m a 传送功能,p c i 存储器读写、配置 读写。完成p c i 接口功能模型的仿真。 ( 2 ) 异步f i f o 的实现,针对多路视频连续信号量大的特点,设计了一款3 2 位宽, 2 5 6 位深的低功耗异步f i f o ,采用片上r a m 实现存储区域缓冲,可复用于多路。 ( 3 ) 系统集成应用。将p c i 接口模块,音视频模块通过异步f i f o 模块连接,通 基于f p g a 的p c i 接l 软硬件协同设计及其应用 过验证与测试后流片,制作p c b 之后配合相应的驱动与软件可以实现自主知识产权 的一款音视频采集卡。 1 3 2 本文章节安排 本文第二章介绍软硬件协同设计的相关概念和方法,对比传统的设计方法指出软 硬件协同设计的优越性,并在之后的章节中应用软硬件协同设计的理论和方法进行模 块划分以及任务的分配。 第三章详细阐述整个p c i 总线接口模块的实现细节,以及每个子模块的功能,引 脚,信号等。以及达到的目标和系统中的关键技术和难点。 第四章给出了这个p c i 总写接口模块配合其他模块实现,并应用于视频采集卡的 一个例子。以及稍作修改,该p c i 模块可以应用于其他平台的例子。 论文最后对当前工作进行总结,列出该模块的仿真验证与测试结果,并展望系统 需要深入研究和有待完善的地方。 一6 济南大学硕l j 学位论文 2 1 传统设计流程 第二章软硬件协同设计 传统的设计流程如图2 1 所示。 图2 1 传统的设计流程 f i g 2 1t r a d i t i o n a ld e s i g nf l o w 过去的嵌入式系统硬件部分设计相对容易,系统开发主要是在目标电路板上进行 各种功能器件和芯片的焊接与电路的布局布线,那时候的嵌入式系统开发很大的精力 都放在软件上,由于核心芯片与功能器件都已固定功能,只要软件的性能优良就能很 好地满足整个系统的功能及性能的需求【_ 7 1 。从图2 1 中可以看出在传统的设计过程中, 软件和硬件的设计过程基本上是“串行的 ,硬件设计完成之后才进行软件的开发与 测试【n 1 9 1 。即虽然在需求分析阶段已经进行了软硬件的功能划分,但软件的实现要等 到硬件设计完成以后才能进行,整体的测试要等到软件完成之后在硬件上展开。从图 2 1 中也可以看见这种设计流程的缺陷在于,即便硬件的设计已经通过硬件验证,一 旦在软件设计阶段发现硬件设计功能不能很好地满足需求,就需要重新修改已经完成 的硬件设计,添加或修改功能器件以及p c b 布局。更坏的情况是,如果在软件设计 就 件 发 低 计 多 范 卧2 1 】,时常出现到最终测试时才找到问题需要返工,这将严重拖长产品的研发周期。 ( 3 )缺乏设计重用支持。以往的嵌入式系统设计几乎都是从零开始,如果不是同 一体系结构的系列产品,整个设计几乎都是从零开始【7 】;而如果使用相同的架构和核 心芯片,由于芯片的发展基本符合摩尔定律,平均每1 8 个月性能翻一番,产品性能 的竞争力不能与新的芯片匹敌,也就是产品“过时一的问题所在。 在产品研发过程中最大的问题在于软硬件功能划分的时候不能在早期发现功能 划分的错误,不能让软硬件的设计同时进行,并及时地沟通和测试以较早的发现问题。 所以,如何让软硬件的设计过程并行起来以提高研发效率缩短项目周期,软硬件协同 1 。1 。1 。一 济南人学硕 学位论文 设计的概念就被提了出来【2 7 】。 2 2 软硬件协同设计流程 针对上述问题,研究者们一直在探索新的设计方法学一一软硬件协同设计 ( s o f i w a r e p r l a r d w a r ec o d e s i g n ) 方法掣7 1 。软硬件协同设计是指对系统中的软硬件 部分使用统一的描述和工具进行集成开发,可完成全系统的设计验证并跨越软硬件界 面进行系统优化。其概念的提出很早,第一届i n t e i n a t i o n a lw o r k s h o po n h a r d w a r e s o f t w a r ec o d e s i g n 会议于19 9 3 年召开 2 2 1 ,标志着软硬件协同设计方法学 的研究正式展开 t i ,软硬件协同设计领域正式确立,其核心问题是如何在项目设计过 程中协调硬件子系统和软件子系绀2 8 】。 图2 3 软馒件协同设计流程 f i g 2 3f l o wo ft h es w p r l wc o - d e s i g n 与传统的设计方法不同,软硬件协同设计方法强调软件和硬件设计开发的并行性 和相互反馈【2 9 1 ,其抽象过程如图2 3 所示,并行交互的设计方法克服了传统方法中的 种种弊端,协调软硬件之间的相互制约关系,提高了设计的抽象层次,拓展了设计的 覆盖范围f 3 0 1 ,以达到各研发部门高效工作的目的,缩短项目周期。 2 3 软硬件协同设计的实现方法 首先是确定系统的描述方法。虽然迄今为止,尚没有一个大家统一公认的且可以 使用的系统功能描述语言可供设计者使用,但可以在整个公司建立一套自己的标准 【3 。在需求分析过程完成之后,通过标准的文档规范来定义一个系统级的软件功能描 基于f p g a 的p c i 接口软硬件协同设计及其应用 述或硬件功能描述,其中包括实现的功能,产品的性能,软硬件交互的接口以及测试 的要求等。 其次,软硬件协同设计理论将如何确定最优性原则【3 。固件行业的发展使得各种 常见应用功能都可以用硬件完成,所以在实现相同功能时可以考虑采取硬件实现的方 法以提高软件的效率。除了芯片设计师们已经熟知的价格、速度、面积等硬件优化指 标外,与软件相关的如代码长度、资源利用率、稳定性等指标也必须由系统设计者认 真地加以考虑【3 2 】。综合上述各点问题,确定出一套可以满足需求,性价比最优的产品 方案。 最后,在上述方案确定好之后,制定相应的规范文档,软件硬件研发部门以及测 试部门按照相应的文档并行执行各自的任务。例如,可以使用能满足性能需求的 f p g a 开发板评估板作为初期的原型来执行协同设计。f p g a 开发板或评估板上都具 有足够多的接口以及引脚资源,由于其种类众多,选择时一般要在功能上比实际产品 多一些,和性能上比实际需求的产品高一些的,以保障设计与验证时资源充足。系统 架构工程师可以借鉴相应功能模块的i p 核来预估所需的芯片资源,固件及其他功能 器件的使用数量,合理地设计架构以及分配软硬件执行功能;硬件电路工程师可以借 鉴开发板的p c b 布局,去除多余的接口和固件等,精简并优化自己的设计。硬件逻 辑工程师在开发板上的f p g a 中编程以实现需求中的功能模块,仿真验证【3 3 1 。软件 工程师可以按照规范中定义的接口、寄存器配置等指标进行驱动软件和应用软件的设 计。在最终自己的产品做出来之前,可以将硬件功能集成下载到f p g a 开发板中,配 合相应的软件进行功能和时序的验证工作。由于f p g a 可以多次反复烧写,这样的测 试仅需在软件部门和硬件部门的测试版本程序发布后就可以执行,不需要等到所需的 芯片流片之后以及p c b 电路板做出后才执行。这样,一旦发现问题,可以更早地解 决,以避免传统方法中的弊端。具体的设计流程如图2 4 所示。 1 0 - 2 4 软硬件协同设计的优点与意义 采用软硬件协同设计的方法,可以在研发的过程中及时地进行初期版本及功能模 块的验证与测试,利用带有p c i 电气接口的f p g a 开发板的灵活方便并可反复使用 的特性,本文将集成电路设计领域十分流行的协同设计方法及仿真验证技术引入到该 模块的设计中,显著提高了平台实体制做之前的开发验证效率并保证了实体制做的成 功率可以将硬件逻辑与软件在开发板和主机上进行协同验证,尽最大程度提高软件 硬件以及测试等部门的工作并行执行度,极大地缩短了设计的周期,相对于传统方法 避免了测试结果不理想而导致的各种返工在经济和时间上的风险。 目前软硬件协同设计

温馨提示

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

评论

0/150

提交评论