(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

(计算机应用技术专业论文)基于fpga的计算机组成与结构实验系统的设计与实现.pdf.pdf 免费下载

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

文档简介

d i s s e r t a t i o no fu n i v e r s i t yt e a c h e ro nj o bf o rm a s t e rd e g r e ei n2 010 s c h o o lc o d e :1 0 2 6 9 n u m b e r :9 1 0 6 1 2 0 1 11 5 eas tch i nanor ma l u n i v e r s i t y t h e d e s i g na n d r e a l i z a t i o no f c o m p u t e rc o m p o s i t i o n a n ds t r u c t u r e e x p e r i m e n ts y s t e mba s e do nf p g a d e p a r t m e n t :c o m p u t e rs c i e n c ea n dt e c h n o l o g y m a j o r :q 蛩3 p 丝! 曼! p p ! i 堡堑i q n ! 垒堡h 坠q ! q g y r e s e a r c hd i r e c t i o n :星蛩型2 星亟亟曼鱼s y 墨! 星! 坠 d i r e c t o r :s h a os h i c o m p l e t e d i na p r i l ,2 010 华东师范大学学位论文原创性声明 郑重声明:本人呈交的学位论文基于f p g a 的计算机组成与结构实验系统的设计 与实现,是在华东师范大学攻读硕士学位期间,在导师的指导下进行的研究工作及取 得的研究成果。除文中已经注明引用的内容外,本论文不包含其他个人已经发表或撰写 过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中作了明确说明并 表示谢意。 作者签名: 日期:v , l o 年r 月t 丫日 华东师范大学学位论文著作权使用声明 基于f p g a 的计算机组成与结构实验系统的设计与实现系本人在华东师范大学 攻读学位期间在导师指导下完成的硕士学位论文,本论文的研究成果归华东师范大学所 有。本人同意华东师范大学根据相关规定保留和使用此学位论文,并向主管部门和相关 机构如国家图书馆、中信所和“知网”送交学位论文的印刷版和电子版;允许学位论文 进入华东师范大学图书馆及数据库被查阅、借阅;同意学校将学位论文加入全国博士、 硕士学位论文共建单位数据库进行检索,将学位论文的标题和摘要汇编出版,采用影印、 缩印或者其它方式合理复制学位论文。 本学位论文属于不保密,适用上述授权。 导师签名塑鲨本人签名盟圣丝 yja 年y 月b 7 日 邵天增硕士学位论文答辩委员会成员名单 姓名职称单位备注 陈强璋教授上海商学院主席 朱敏高 工 华东师范大学 王新伟副教授华东师范大学 沈富可副教授华东师范大学 江红副教授华东师范大学 论文摘要 计算机组成原理是- i 1 实践性较强的课程,通过实验能有助于学生较好地掌握 理论课所讲述的知识点,掌握计算机系统的基本设计方法。传统的实验方法采用实验台 进行,实验项目固定设计,只能按单一的结构模式完成,局限性大。即使是整机设计项 目,学生通过设计可将实验平台上已有的各功能模块如a l u 、m e m 、r e g 等利用导线连接 起来而构成整机系统,并完成实验,使学生有了一定的发挥空间,但学生仍然缺乏主动 性,不利于学生自主学习。 本论文采用f p g a 芯片和q u a r t u si i 仿真软件作为实验平台,很大程度上提高了实 验的灵活性。实验由v h d l 语言描述不同的硬件逻辑,并加载到f p g a 芯片进行实验。由 于f p g a 芯片具有重复编程能力,使得系统内硬件的功能可以像软件一样被编程,这 种称为“软 硬件的全新系统设计概念,使实验系统具有极强的灵活性和适应性。它使 学生根据自己思路设计出不同的实验变为可能。 本文重点基于f p g a 芯片和q u a r t u si i 仿真软件设计了一些典型的计算机组成原理 的相关实验,通过实验使学生逐步掌握计算机组成原理的知识点。本文实验设计的基本 思想是由简单到复杂、由部分到总体,逐步引入,达到对知识点的深入理解。实验主要 分为三部分,第一部分是c p u 主要功能模块的设计与实现。第二部分是实现基本功能 c p u 实验的设计与实现,在第一部分实验的基础上,将所设计的各功能模块有机的组合 在一起,通过统一的时序控制使得各个功能模块能够协调工作,最终形成一个基本功能 的c p u 。第三部分是c p u 的流水线实验,流水线是提高c p u 性能的一个重要手段,通过 流水线实验使学生进一步掌握流水线的工作原理。 本论文的研究,为f p g a 在实际教学中的应用提供了研究思路和参考方案。 关键字:计算机组成实验、f p g a 、v h d l ,流水线 a b s t r a c t ( ( c o m p u t e rc o m p o s i n gp r i n c i p l e ) ) i sap r a c t i c a lc o u r s e 1 1 1 eg o a li sm a k es t u d e n t so b t a i n k n o w l e d g eo ft h i sc o u r s ea n df u n d a m e n t a ld e s i g nm e t h o d so fc o m p u t e rs y s t e mb y e x p e r i m e n t s t h et r a d i t i o n a le x p e r i m e n t sw e r eb a s e do nt e s t b e d t h ec o n t e n to fe x p e r i m e n t s w e r e t e d i u ma n dc o u l db ec o m p l e t e db yo n l yt h es a m es t e p s ,t h e r e f o r e ,t h ec r e a t i v i t i e so f s t u d e n t sa r el i m i t e d a l t h o u g ht h ee x p e r i m e n to f c o m p u t e rs y s t e mc a nd e v e l o pt h ec r e a t i v i t i e s o fs t u d e n t sw h i c hm a k es t u d e n t sa s s e m b l et h ee x i s t i n gm o d u l es u c ha sa l um e m r e gt o d e s i g nac o m p l e t ec o m p u t e rs y s t e m ,b u tt h e ys t i l l l a c ko fi n i t i a t i v e w ea d o p t e df p g ac h i pa n dq u a r t u si is i m u l a t i o ns o t 乇w a r ea se x p e r i m e n t a lp l a t f o r m t h o r o u g h l yi m p r o v et h ef l e x i b i l i t yo fe x i s t i n ge x p e r i m e n t s t i l i st e c h n o l o g yc a l lb ew r i t t e nb y v h d ll a n g u a g et oi m p l e m e n td i f f e r e n th a r d w a r el o g i ca n dc a nb el o a d e do nf p g a c h i pi n t h ee x p e r i m e n t b e c a u s et h ef p g a c h i pi sp r o g r a m m a b l e i tm a k e sh a r d w a r ef u n c t i o nc a nb e p r o g r a m m e db ys o f t w a r e ,t h i si sc a l l e d ”s o f t ”h a r d w a r e ,i ti san e ws y s t e md e s i g nc o n c e p ta n d m a k e st h ee x p e r i m e n ts y s t e mc a nb ep r a c t i c e dw i t hs t r o n gf l e x i b i l i t ya n da d a p t a b i l i t ya n d m a k e si tp o s s i b l et h a ts t u d e n t sc a n d e s i g nd i f f e r e n te x p e r i m e r i t sa c c o r d i n gt ot h e i rt h o u g h t s t l l i sp a p e rb a s e do nf p g a c h i pa n dq u a r t u si is i m u l a t i o ns o f t w a r ea n das e to fc l a s s i c a l e x p e r i m e n t sw e r ed e s i g n e d ,a l l o w i n gs t u d e n t st om a s e rc o m p u t e rp r i n c i p l ek n o w l e d g e t h r o u g ht h ee x p e r i m e n t s n l ee x p e r i m e n t sw i l lb ed e s i g n e df r o ms i m p l yt oc o m p l i c a t e d f r o m p a r t i a l l y t o t o t a l l y , r e p e a t i n g t h ep r o c e s so fh a r d w a r e d e s i g n ,s o a st os t r e n g t h e n k n o w l e d g e t h i sp a p e ri sd i v i d e di n t ot h r e ep a r t s t h ef i r s tp a r ti n t r o d u c e dt h ed e s i g np r o c e s s e s o fc p ua n di m p l e m e n t a t i o n t h es e c o n dp a r ti n c l u d ef u n d a m e n t a le x p e r i m e n t so fc p u 删s p a r ti sm a i n l yb a s e do nt h ef i r s tp a r t ,i tt o g e t h e ra l lk i n d so fl o g i cc o m p o n e n t sa n dm a d e c o m p o n e n t sc a nw o r kc o l l a b o r a t i v e l yw i t ht i m i n gc o n t r o l ,a n df i n a l l yp r o d u c tac p uw i m b a s i cf u n c t i o n s t h et h i r dp a r ti st h ep i p e l i n ee x p e r i m e n t p i p e l i n ei sa ni m p o r t a n tm e a n st o i m p r o v ec p up e r f o r m a n c e ,w i t ht h i se x p e r i m e n ts t u d e n t sc a no b t a i nt h eb a s i cp r i n c i p l eo f p i p e l i n e w i t ht h er e s e a r c ho ft h i sa r t i c l e ,am e n t a l i t ya n dr e f e r e n c eo ff g p ai np r a c t i c a lt e a c h i n g i sp r o v i d e d k e yw o r d s :c o m p u t e rc o m p o s i t i o ne x p e r i m e n tf p g a 、v h d l 、p i p e l i n e 华东师范大学毕业论文 目录 目录 第一章引言l 1 1 研究背景1 1 2 实验改革对高职教育的意义2 1 3 本论文研究目标与组织结构3 第二章基于f p g a 的开发技术5 2 1f p g a 技术5 2 1 1 概述5 2 1 2f p g a 的开发设计流程6 2 1 3 实验平台及开发工具8 2 2a l t e r aq u a r t u si i 1 0 第三章计算机组成实验项目的设计与实现1 2 3 1计算机组成实验的总体设计1 2 3 1 1计算机组成及各部件工作原理1 2 3 1 2 计算机组成实验的总体构思1 3 3 23 2 位通用寄存器组的设计与实现1 4 3 2 13 2 位寄存器的设计与实现。1 4 3 2 2 通用寄存器组的设计与实现1 6 3 3 控制器模块的设计与实现一1 7 3 3 1 程序计数器模块1 8 3 3 2 指令译码器模块19 3 3 3 操作控制模块2 1 3 3 4 时钟模块2 3 3 4 加法器实验的设计与实现2 4 3 4 1 加法器实验原理2 5 3 4 2串行进位加法器2 6 3 4 3并行进位加法器2 9 3 4 4 并行进位加法器和串行进位加法器性能分析3 0 第四章流水线c p u 的设计与实现3 2 4 1 流水线实验概述3 2 4 1 1 流水线的基本概念3 2 华东师范大学毕业论文目录 4 1 2 流水线实验设计思想3 3 4 2 基本功能c p u 实验设计与实现3 3 4 2 1i f 模块3 3 4 2 2 i d 模块3 5 4 2 3 e x e 模块3 6 4 2 4 m e m 模块和w b 模块3 7 4 2 5 基本功能c p u 的实现3 7 4 3 五段流水线实验设计与实现4 1 4 3 1 流水线实现4 l 4 3 2 流水线c p u 与基本功能c p u 的性能比较4 5 4 4 流水线相关冲突的解决措施4 5 第五章总结与展望4 9 5 1 总结4 9 5 2 展望4 9 参考文献5 0 致谢5 2 附录5 3 2 1 1 研究背景 第一章引言 计算机组成原理是计算机应用专业、计算机硬件相关专业、通讯或自动化相关 专业的专业必修课,“计算机组成原理”课程是在“数字逻辑 等先修课程的基础上开 设的。这门课程以介绍计算机组成原理,包括系统结构的基本概念为主要内容,重点讨 论计算机系统的的硬件组成与工作原理。本课程在对c p u 及其它功能部件的工作原理、 本质特点的深入浅出介绍的基础上,帮助学生建立计算机系统的完整概念;掌握计算机 发展的新技术和最新研究成果:并了解计算机领域未来发展的趋势。通过本课程的学习, 可以使学生具备计算机硬件设计的基础和能力,在相关工作岗位中能够快速上手,并具 备持续学习的能力。 计算机组成原理是- l j 实践性较强的课程,通过实验能有助于学生较好地掌握 理论课所讲述的知识点,掌握计算机系统的基本设计方法n 1 。传统的实验方法采用实验 台进行,实验项目固定设计,学生只需按书中要求拨动相应开关或者输入程序就能完成 实验,往往结果出来还不知道是怎么回事。这种实验方法局限性大,只能按单一的结构 模式完成。虽然有些整机设计的实验项目,学生通过设计将实验平台上已有的各功能模 块如a l u 、m e m 、r e g 等利用导线连接起来而构成整机系统,并完成实验,但学生仍然缺 乏主动性,不利于学生自主学习。 根据调查,国内已有少量的重点大学采用了f p g a 实验平台,采用h d l 编程语言完 成实验,但也只是局限于8 位模拟机,离真正的3 2 位流水线c p u 还差很远。由于这种 先进的实验方法还没有在中国高校广泛使用,所以这种实验的系统性和适用性还有待加 强和完善。对于本科学生来说,他们拥有扎实的知识基础,具有很强的逻辑理解能力和 抽象思维能力,也已经能够很好的接受这种教学模式。为更好地提升学生的主动学习能 力和创新能力,开发基于f p g a 的组成实验具有一定的现实意义。 另外,在国外,普通大学的计算机组成课程,从计算机基础课开始,就通过h d l 语 言来介绍硬件电路。学生在学习逻辑电路的同时,也学习了h d l 这种硬件描述语言。然 后,在计算机组成原理、计算机体系结构课程上,学生通过理论学习了解了 c p u 基本组成和工作原理,又通过实验将课本介绍的原理通过自己动手来实现。比如, 垡盔咂菹太堂坚业i 金塞 箍二童至i 直 美国的一些大学的计算机系统设计课程在学习过程中,需要在1 5 周内交十余次作业, 进行六次课程设计。学生从一般的逻辑时序电路开始设计,核心是自行设计的a l u 、单 指令周期c p u 、多指令周期c p u ,一直到最后实现流水线3 2 位m i p sc p u 和c a c h e 。仅 这- - i 7 课,所有与计算机c p u 相关的知识能全部融会贯通,硬件设计水平有了很大的提 高。这一成功的教学经验值得我们参考学习。 1 2 实验改革对高职教育的意义 根据教育部 2 0 0 6 】1 6 号文件提出,“高等职业教育作为高等教育发展中的一个 类型,肩负着培养面向生产、建设、服务和管理第一线需要的高技能人才的使命,在我 国加快推进社会主义现代化建设进程中具有不可替代的作用”口1 。由此可见,高职教育 是我国高等教育的一个必不可少的环节,它丰富了我国的高技能人才的框架,丰富了高 等教育体系结构。 社会发展和经济建设需要大量的懂技术、善经营、会管理的各种技术人员、专门人 才和数以亿计的高素质劳动者。技术、技能型人才是人才队伍重要的组成部分。高职高 专教育承担着培养技术、技能型人才的重要责任,是我国教育中与经济发展联系最紧密、 最直接的部分。社会需求推动教育发展,最近几年来,相对于普通本科招生年均增长速 度,全国高等职业教育要高1 3 1 2 个百分点;相对于普通本科在校生年均增长速度,高 等职业教育要高1 0 2 1 个百分点。从1 9 9 8 年到2 0 0 8 年底,高职高专教育招生数从5 4 万人增长到2 5 7 万人,在校生人数从1 1 7 万增长到6 0 4 万,分别占全国普通高校招生数 的5 3 1 和在校生数的4 4 7 。截至2 0 0 8 年底,全国共有独立设置的普通高职高专院 校1 0 8 7 所,其中职业技术学院8 7 2 所,占全国普通高校总数的6 0 5 ,另外还有6 0 0 多所普通本科院校举办高职高专教育。据国家有关部门统计,截至2 0 0 8 年9 月1 日, 在全国增加了4 0 万高职毕业生的情况下,就业率较上年同期提高了6 个百分点,达到 6 1 ,在一些中心大城市及东部沿海发达地区,高职高专毕业生一次性就业率达到8 5 左右,与本科生基本持平。高职高专教育已经成为我国经济发展和社会生活不可或缺的 重要组成部分,它与人民群众利益联系最直接、最密切,为地方经济、文化、科技发展 起到了不可替代的积极作用。 高职教育在社会发展中占有如此重要的地位,国家教育部也对其教育质量提出了要 求:“要全面贯彻党的教育方针,以服务为宗旨,以就业为导向,走产学结合发展道路, 为社会主义现代化建设培养千百万高素质技能型专门人才,为全面建设小康社会、构建 2 堡苤! 匝菹厶堂望些论塞 簋= 童星i 直 社会主义和谐社会作出应有的贡献 。并且把“提高学生的实践能力、创造能力、持续 发展和学习能力”作为重点在素质教育要求里明确提出。 为了使高职高专毕业生更好的适应市场的需求和发展,我们必须针对高职高专教育 的特点,加强实践的培训,通过“做中学,学中做”,使学生更好地掌握所学的知识和 技能,为以后的工作和再学习打好基础。同样,计算机组成原理也是高职高专的一 门主干课程。改革计算机组成原理课程的实验方法,提高学生的参与度无非更有利 于学生的提高和进步。 1 3 本论文研究目标与组织结构 基于f p g a 的实验平台,对计算机组成原理的实验设计具有很大的灵活性,可以根 据课程教学的需要设计出不同结构的实验项目。计算机组成原理实验的最终目的是能让 学生设计出自己的计算机系统。本论文实验设计的重点是计算机的核心部件c p u ,包 括所含有的各功能模块设计,以及各功能模块之间的连接配合,并通过实验进一步探讨 如何提高计算机系统的性能。本论文针对计算机组成原理的教学目标,设计和实现了一 些典型的c p u 实验项目,以探索实验改革的基本路径和方法。具体实验项目包括: 1 功能模块的实验设计 在功能模块系列实验里,论文设计与实现了3 2 位通用寄存器实验项目、3 2 位加法 器实验项目、程序计数器模块实验项目、时序电路模块实验项目以及操作控制器模块等 实验项目。一方面让同学们熟悉c p u 的基本组成模块,另一方面掌握各模块的基本功 能及其构成。同时,通过基本模块的实现进一步熟悉v h d l 语言的应用和q u a r t u si i 软件的应用技巧。 基本c p u 的实验设计 在基本c p u 的实验项目设计中将第一阶段所完成的实验,包括3 2 位通用寄存器、 3 2 位加法器、以及时序电路模块、操作控制器模块等综合在一起,实现一个3 2 位基本 c p u 的功能。 通过基本c p u 的设计实验可以进一步掌握计算机的工作原理;熟悉计算机的各种 3 垡丕哑范太堂生些i 金塞 筮= 童曼i 直 指令周期的执行过程;掌握如何通过操作控制信号建立有效的数据通路。 流水c p u 的实验设计 这组实验项目主要研究流水线对c p u 性能和效率的影响,包括五段流水线实验以 及流水线中数据相关问题的探讨实验。 实验目的是熟悉流水线工作原理;掌握流水线子过程段的划分方法;掌握流水线中 各功能段协调工作的控制方法。通过实验结果分析,讨论相关冲突对计算机性能的影响。 实验由简单到复杂,环环相扣、循序渐进。学生边实验,边分析,边讨论,通过实 验更好地掌握了计算机组成原理的相关知识,掌握了研究分析的方法,提高了实践技能。 本论文具有以下创新点: 1 改革了传统的实验方法,基于f p g a 完成实验,提供了学生更大的发挥空间; 2 鉴于f p g a 设计的灵活性,学生可边实验,边对实验中的数据进行分析和讨论, 并对实验进行灵活改进,通过实验对比进一步掌握计算机的新技术。 本论文将分为五章进行论述,论文的组织结构如下: 第一章阐述了本文的研究背景,国内外各高校对计算机组成原理实验的开设情况, 并提出了本文的研究目的。 第二章介绍了本文中在进行实验设计过程中所使用的仿真软件、f p g a 以及v h d l 语言的一些相关知识。 第三章首先对计算机组成原理整个实验体系进行总体设计,然后对c p u 中的典型 功能模块进行了实验设计与实现,并对实验结果做了相应的分析。 第四章在基本功能c p u 实现的基础上,设计与实现了五级流水线c p u 的实验,并 对两种c p u 的测试结果做了对比分析,讨论了流水线相关冲突问题,对如何提高流水 线效率进行了重点论述。 第五章总结了本文的工作,指出了研究工作的收获和不足,并展望进一步的工作目 标。 4 堡苤烦莲太堂生些i 金塞箍三童基王e 鱼的珏发拉苤 第二章基于f p g a 的开发技术 2 1f p g a 技术 2 1 1 概述 f p g a 是f i l e dp r o g r a m m a b l eg a t ea r r a y 的缩写,即现场可编程逻辑阵列。是由美 国x i l i n x 公司于1 9 8 5 年最先推出,它是在c p l d 的基础上发展起来的新型高性能可编 程逻辑器件【3 1 。经过短短十几年,f p g a 取得了惊人的发展,其单片集成密度从最初的 1 2 0 0 门发展到目前的几千万门。时钟频率由最初不到1 0 m h z 发展到目前的几百兆赫兹。 可以完成极其复杂的时序与组合逻辑电路功能,适用于高速、高密度的高端数字逻辑电 路设计领域。随着f p g a 性能的不断完善,种类日益繁多,逐渐受到电子设计工程人员 的普遍欢迎,并占据了较大的市场份额。 f p g a 组成结构主要由可编程输a 输出单元i o b ( i n p u t o u t p u tb l o c k ) 、基本可编 程逻辑单元c l b ( c o n f i g u r a b l el o g i cb l o c k ) 和可编程内部连线p i ( p r o g r a m m a b l e i n t e r c o n n e c t ) 三部分组成,除此以外,还可嵌入式块r a m 、底层嵌入功能单元、内嵌 专用硬核等【7 1 。如图所示,l o b 位于f p g a 芯片内部四周,在内部逻辑阵列与外部芯片 封装引脚之间提供一个可编程接口,每个i o b 主要由逻辑门、触发器和控制单元组成。 图2 1f p g a 结构示意图 c l b 在芯片内部组成了f p g a 的核心逻辑阵列,用于构造用户指定的逻辑功能。每个 c l b 主要由函数发生器、触发器、数据选择器和控制单元组成。p i 位于芯片内部的各 5 堡丕缅煎厶堂生些i 金塞箍三重基e 鱼趋珏丛技垄 c l b 之间,经编程后形成连线网络,提供c l b 之间以及c l b 与l o b 之间的连线。 可编程输入输出单元 输入输出单元简称i o 单元,它们是芯片与外接电路的接口部分,完成不同电气特 性下对输入输出信号的驱动与匹配需求。为了使f p g a 有更灵活的应用,目前大多数 f p g a 的i o 单元被设计成可编程模式,即通过软件的灵活配置,可以适配不同的电器 标准与i o 物理特性;可以调整匹配阻抗特性,上下拉电阻;可以调整输出驱动电流的 大小等。随着a s i c 工艺的飞速发展,目前可编程i o 支持的最高频率越来越高,一些 高端f p g a 通过d d r 寄存技术,甚至可以支持高达2 g b i t s 的数据速率。 基本可编程逻辑单元 基本可编程逻辑单元是f p g a 可编程逻辑的主体,可以根据设计灵活地改变其内部 链接与配置,从而完成不同的逻辑功能。f p g a 内部的寄存器结构相当灵活,可以配置 为带同步异步复位或置位、时钟使能的触发器,也可以配制成为锁存器。f p g a 可依赖 寄存器完成同步时序逻辑设计。 丰富的布线资源 可编程内部连线能够连通f p g a 内部所有单元,连线的长度和工艺决定着信号在连 线上的驱动能力和传输速度 4 1 。f p g a 内部有着非常丰富的布线资源,这些布线资源根 据工艺、长度、宽度和分布位置的不同而被划分为不同的等级,有一些是全局性的专用 布线资源,用以完成器件内部的全局时钟和全局复位置位的布线;一些叫做长线资源, 用以完成器件b a n k 间的一些高速信号和一些第二全局时钟信号的布线;还有一些叫做 短线资源,用以完成基本逻辑单元之间的逻辑互联与布线。另外,在基本逻辑单元内部 还有着各式各样的布线资源和专用时钟、复位等控制信号线。在实现布线的过程中,一 般设计者不需要考虑如何选择布线资源,而是由布局布线器自动根据输入的逻辑网表的 拓扑结构和约束条件选择可用的布线资源连通所有的底层单元模块,所以设计者常常忽 略布线资源,其实布线资源的优化与使用和设计的实现结果有着直接的关系。 2 1 2 f p g a 的开发设计流程 6 坐苤烦范太堂生些论室 筮三童基王q 鳆珏发拉盔 一般来说,完整的f p g a 设计流程包括电路设计与输入、功能仿真、综合、综合后 仿真、实现、布线后仿真与验证、板级仿真验证与调试等主要步骤。具体设计过程流程 图如图2 2 所示: 图2 - 2f p g a 设计流程图 在电路设计与输入阶段,主要是指采用硬件描述语言或者电路设计原理图将工程师 7 垡壅哑菹太堂生业i 金塞 噩三重基王e 鱼殴珏蕴越丕 的电路构思输入给开发工具。原理图设计输入的优点是直观、便于理解、元器件库资源 丰富,但不利于模块构造与重用,芯片升级将会引起所有原理图的相应改动。所以目前 对于大型工程设计最常用的设计方法是采用硬件描述语言( h d l ) ,h d l 的特点是有利 于由顶向下设计,有利于模块的划分和复用,且可移植性好、通用性好,有利于向a s i c 的移植。 电路设计好之后就进入了功能仿真阶段,我们可以使用专用的仿真工具对电路的功 能进行验证,看其是否能够达到设计要求。通过功能仿真可以及时的发现设计中的错误, 加快设计进度,提高设计的可靠性。 在电路功能达到设计要求后开始对电路进行综合优化。综合优化就是将原理图或者 h d l 文件翻译成与、或、非门、r a m 、触发器等基本的逻辑单元组成的逻辑连接( 网 表) ,并根据目标和约束条件对生成的逻辑连接进行优化,最后输出标准格式的网表文 件供布局布线器使用。在综合优化结束后,还要进行一次仿真,这次仿真要把综合生成 的标准延迟文件反标注到模型中,可估计门延迟对电路带来的影响。 经过了综合后仿真,就可以通过软件工具对f p g a 进行电路的实现和布局布线了。 在实现和布局布线过程中还会产生布线的时延信息,这个时延信息是最全的,不但包括 门延时,还包括实际布线延时。我们将这些时延信息反标注到设计网表中再进行一次仿 真,这次仿真能够较好的反映芯片的实际工作情n i 5 1 。通过这次仿真主要目的在于发现 时序违规,即不满足时序约束条件或者器件固有时序规则( 建立时间、保持时间等) 的 情况。 设计开发的最后步骤就是调试与加载配置,也就是在线调试或者将生成的配置文件 写入芯片中进行测试。这个阶段主要的工具是示波器或者逻辑分析仪,设计过程中要考 虑将典型测试信号指定在外接引脚上,以方便测试。 2 1 3 实验平台及开发工具 1 实验平台介绍 整个实验系统由p c 机、下载电缆、实验台、扩展板四部分组成。具体结构图如图 2 3 所示: 8 图2 - 3 实验平台示意图 p c 机主要完成实验电路的设计、实验电路的仿真以及实验逻辑的下载,p c 机的打 印机接口通过下载电缆和实验台链接,下载的电路逻辑经f p g a j t a g 接口送入试实验 台的f p g a 芯片,配置相应的实验逻辑系统。实验台设置一6 4 芯的插座,可以与不同 的扩展板相连,通过搭配不同的硬件组可扩展完成不同的实验内容。实验台的具体结构 如图2 4 所示: 图2 4 实验台组成框图 2 开发工具 设计输入工具 常用的设计输入方法有h d l 语言输入、原理图输入、i pc o r e 输入和其他输入方法。 9 垡丕崆范太堂垡、业i 金奎箍三重基王q 殴珏蕴拭丕 h d l 和原理图在前面已经提到,这里不再重复。i pc o r e 输入方式是f p g a 设计中的一 个重要设计输入方式。所谓i pc o r e 是指已经设计好且受知识产权保护的标准模块单元。 适当的使用i pc o r e ,能大幅度地减轻工程师的设计工作量,提高实际质量。其他辅助 性设计输入方法还有状态机输入、真值表输入和波形输入等。使用状态机输入工具设计 者只需画出状态转移图,状态机编辑器就可以自动生成相应的h d l 语言;使用真值表 输入方法时,用户在工具中填充设计对应的真值表,即可自动生成h d l 代码。采用波 形输入方法,则用户只需画出输入的激励波形,波形输入工具将自动生成符合输入输出 关系的功能代码。 综合工具 综合工具主要是将逻辑电路翻译成各种简单的逻辑单元,并对其进行优化。目前 常用的综合工具有s y n p l i c i t y 公司的s y n p l i f yp r o 、s y n o p s y s 公司的f p g ac o m p i l e ri i 、 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 ,另外,q u a r t u si i 还内嵌了自己的综合工具。 仿真工具 比较常用的仿真工具是m o d e l s i m 。另外a l d e c 公司的a c t i v e h d l 也有相当广泛的 应用。还有一些与仿真相关的小工具,如测试激励生成器。 实现与优化工具 实现和优化工具包含的面比较广,如果能较好的掌握这些工具,将大幅度提高设 计者的水平,使设计工作更加游刃有余。q u a r t u si i 集成的实现工具主要有a s s i g n m e n t e d i t o r ( 约束编辑器) 、l o g i e l o e k ( 逻辑锁定工具) 、p o w e r f i tf i t t e r ( 布局布线器) 、t i m i n g a n a l y z e r ( 时序分析器) 、f l o o r p l a ne d i t o r ( 布局规划器) 、c h i pe d i t o r ( 底层编辑器) 、 d s i g ns p a c ee x p l o r e r ( 设计空间管理器) 和d e s i g na s s i s t a n t ( 检查设计可靠性) 等同。 2 2a l t e r aq u a r t u si i a l t e r a 公司是2 0 世纪9 0 年代快速发展的最大的可编程器件提供商。q u a r t u s 是该公司推出的一款继m a x p l u si i 之后的综合性c p l d 开发平台,m a x p l u si i 软件由于易学易用、界面友好、集成化程度高使其成为业界公认的最优秀的c p l d 开发平台之一。q u a r t u si i 不但继承了m a x p l u si i 出色的易用性的特点,与之先比 垡丕堙笾厶堂生些i 金塞签三童基土e g 故珏蕉拭苤 不仅仅是支持器件类型的丰富和图形界面的改变。a l t e r a 在q u a r t u si i 中包含了 许多诸如s i g n a l t a pi i 、c h i pe d i t o r 和r t lv i e w e r 的设计辅助工具,集成了s o p c 和h a r d c o p y 设计流程,q u a r t u si i 同时支持硬件原理图、v h d l 文件、v e r i l o g h d l 以及a h d l ( a l t e r ah a r d w a r ed e s c r i p t i o nl a n g u a g e ) 等多种设计输入形式,内 嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整c p l d 设计 流程。q u a r t u si i 可以在x p 、l i n u x 以及u n i x 上安装使用,在不同操作系统上运 行都具有运行速度快,界面统一,功能集中,易学易用等特点。 q u a r t u si i 具有以下特点: 支持多时钟定时分析、l o g i c l o c k 基于块的设计、s o p c ( 单芯片可编程系统) 、 内嵌s i g n a l t a pi i 逻辑分析器、功率估计器等高级工具; 易于管脚分配和时序约束; 强大的h d l 综合能力; 包含有m a x p l u si i 的g u i ,且易于m a x p l u si i 的工程平稳地过渡到q u a r t u si i 开 发环境; 对于f m a x 的设计具有很好的效果; 支持w i n d o w s 、s o l a r i s 、h p u s 和l i n u x 等多种操作系统。 具有第三方工具如综合、仿真等的链接。 q u a r t u s1 1 支持a l t e r a 的i p 核,包含了l p m m e g a f u n c t i o n 宏功能模块库, 使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第 三方e d a 工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三方 e d a 工具。 此外,q u a r t u si i 通过和d s pb u i l d e r 工具与m a t l a b s i m u l i n k 相结合,可以 方便地实现各种d s p 应用系统;支持a l t e r a 的片上可编程系统( s o p c ) 开发, 集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发 平台。 垡丕娅菹太堂坚些i 佥塞 簋三童盐篡扭组战塞殓亟目的邀让皇塞现 第三章计算机组成实验项目的设计与实现 3 1计算机组成实验的总体设计 3 1 1 计算机组成及各部件工作原理 计算机的基本组成如图3 1 所示。 图3 1 计算机结构示意图 运算器:是计算机进行算术和逻辑运算的主要部件。它对数据进行算术或者 逻辑运算,并将结果保存到一个通用的寄存器中【丌。 存储器:存储器具有记忆功能,用来存放计算机运行的数据和程序。存储器 可以根据地址总线上传来的地址信号,选中某一个存储单元,然后根据读写控制 信号读出或写入数据。 控制器:控制器是计算机的指挥和控制中心,通过对指令的译码,产生相应 的操作控制信号,建立有效的数据通路,完成指令功能。 输入设备和输出设备:是计算机与外部交换信息的通路。 系统总线:是连接各个功能部件的通路。总线可分为数据总线、地址总线和 控制总线。 程序预先存放在计算机的存储器中。计算机工作时,在控制器的控制下依次 执行指令,完成程序功能。 垡丕娅菹太堂生些i 金塞 簋三童让簋扭组成塞验巫目的遮让当塞丑 指令的执行过程可分为取指令、指令译码、执行指令三个步骤。 3 1 2 计算机组成实验的总体构思 根据计算机的组成及工作原理,对实验系统进行总体设计。实验分三个阶段 进行。 第一阶段:典型功能模块的设计与实现。包括通用寄存器组实验、专用寄存器 实验、加法器实验、时序电路模块实验、硬布线控制器模块实验、微程序控制器模块实 验、r o m 存储器模块实验、r a m 存储器模块实验等等。一方面让学生熟悉组成计算机 系统的典型的基本模块的功能与构成。另一方面,通过基本功能模块的实现,进一

温馨提示

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

评论

0/150

提交评论