基于LC3 ISA处理器的设计与仿真毕业论文

上传人:l**** 文档编号:130153362 上传时间:2020-04-25 格式:DOC 页数:92 大小:1.52MB
返回 下载 相关 举报
基于LC3 ISA处理器的设计与仿真毕业论文_第1页
第1页 / 共92页
基于LC3 ISA处理器的设计与仿真毕业论文_第2页
第2页 / 共92页
基于LC3 ISA处理器的设计与仿真毕业论文_第3页
第3页 / 共92页
基于LC3 ISA处理器的设计与仿真毕业论文_第4页
第4页 / 共92页
基于LC3 ISA处理器的设计与仿真毕业论文_第5页
第5页 / 共92页
点击查看更多>>
资源描述

《基于LC3 ISA处理器的设计与仿真毕业论文》由会员分享,可在线阅读,更多相关《基于LC3 ISA处理器的设计与仿真毕业论文(92页珍藏版)》请在金锄头文库上搜索。

1、. . .基于LC3 ISA处理器的设计与仿真毕业论文目 录第一章 绪论11.1集成电路与微处理器11.2课题背景11.3 本文工作2第二章 设计流程和语言工具32.1 设计流程32.2 开发语言52.3 设计工具62.3.1 QuartusII开发环境62.3.2 ModelSim仿真工具8第三章 LC-3指令系统结构103.1存储器结构103.2 寄存器组113.3 指令集123.3.1 操作码123.3.2数据类型133.3.3寻址方式133.4 自陷、异常和中断173.4.1自陷173.4.2 中断和异常处理18第四章 数据通路设计与实现214.1 LC-3多周期处理器结构模块214.

2、2 数据通路分析224.3功能模块的分析与设计234.3.1寄存器的分析与设计234.3.2 ALU的分析与设计244.3.3多路选择器的分析与设计254.3.4 分支判断的实现264.3.5 加法器等其他功能模块部件264.4 自陷、中断和异常的实现274.4.1 当前栈指针产生器274.4.2 PSR系统284.4.3 向量控制器294.5 数据通路总体实现30第五章 综合验证与性能分析325.1 综合325.2 验证355.2.1 自陷服务与存储器映射I/O的仿真测试365.2.2 特殊指令以及两种异常仿真测试375.2.3 程序测试395.3性能分析41结束语44致谢45参考文献46附

3、录I 英文翻译47第一部分 英文原文47第二部分 中文译文60附录II 程序代码71附录III82.参考资料.第一章 绪论1.1集成电路与微处理器集成电路1发展初期最重要的应用领域就是计算机技术领域。计算机的发展是建立在集成电路技术的基础上的,而作为计算机核心部件的处理器,更是集成电路技术的结晶。1964年4月7日IBM公司研制成功了世界上第一个采用集成电路的通用计算机IBM 360,计算机从此进入了集成电路时代。此后,集成电路的发展为微型计算机的出现和发展奠定了基础。1971年,Intel公司成功地在一块12平方毫米的芯片上集成了2300个晶体管,制成了一款包括运算器、控制器在的时钟频率仅为

4、108kHz的可编程序运算芯片,它被称为中央处理单元(CPU),又称为微处理器,这就是世界上第一款微处理器4004,从此便拉开了微处理器的序幕。此后微处理器芯片的集成度一直约每隔12至18个月便会增加一倍,性能也将提升一倍。这就是著名的“摩尔定律”2。目前,微处理器的主频已经达到了GHz级别。可以毫不夸地说,没有集成电路的发展就没有微处理器的出现,自然也就不会有现在的微型计算机了。1.2课题背景1993年,Yale Patt教授在密歇根大学提出对传统教学思路的改革。1995年秋季,Yale Patt和Kevin Compton教授开设EECS100课程,这一课程是计算机科学(CS)、计算机工程

5、(CE)和电子工程(EE)三个专业的第一门计算机类主修课程。2001年,Yale Patt教授正式发行了第一本容取自EECS100课程的教科书Introduction to Computing Systems: from bits and gates to C and beyond 3,书中容包括两个部分:一是计算机底层结构(LC-2计算机),二是高级语言编程。此书发行后受到了大量学生和教师的好评,并且大多数人都赞同此书的编写方法,2004年Yale Patt教授正式推出该教科书的第二版4,第二版书中最大的改动就是采用LC-3结构替换了第一版的LC-2计算机模型。LC-3是一个Von Neum

6、ann存储程序型计算机,具有比较完备的指令系统结构(ISA),对理解计算机各个组成部件的结构特点、工作原理及相互协同运行机制具有重要作用。2012年,我校计算机学院软件工程专业采用该教材计算机系统概论 英文版第二版5作为二年级学生计算机组成课程的教材,为深入理解书中LC-3 ISA的处理器微体系结构、工作原理、中断自陷等相关异常处理机制,决定采用Verilog HDL硬件描述语言设计教材中LC-3的CPU,实现完整LC-3 ISA处理器的逻辑设计,完成处理器的前端设计。1.3 本文工作本次设计从研究微处理器的工作原理入手,采用Verilog HDL硬件描述语言,结合ModelSim仿真工具,通

7、过团队合作,完成了能够实现15条指令的带有自陷、中断和异常运行机制的LC-3多周期处理器的设计与仿真,本人独立完成多周期处理器的数据通路部分的设计,本文主要进行以下几方面工作:1. 查阅相关文献资料,学习Verilog HDL硬件描述语言,熟悉使用ModelSim仿真工具,Quartus II综合工具;2. 深入分析LC-3指令系统结构,掌握每条指令的功能及具体运行的过程;3. 分析指令执行周期,深入理解自陷、中断和异常的运行机制,构建功能模块;4. 研究多周期处理器的基本工作原理,完成能够实现15条指令的带有中断和异常处理机制的多周期处理器的数据通路的设计;5. 使用Quartus II进行

8、综合,ModelSim进行仿真验证,并完成整体设计的功能测试。第二章 设计流程和语言工具2.1 设计流程集成电路(IC)设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程, 也是一个把产品从抽象一步步具体化、直至最终物理实现的过程。为了完成这一过程, 人们研究出了层次化和结构化的设计方法:层次化的设计方法能使复杂的系统简化,并能在不同的设计层次及时发现错误并加以纠正;结构化的设计方法是把复杂抽象的系统划分成一些可操作的模块,允许多个设计者同时设计,而且某些子模块的资源可以共享。IC设计5是一个非常复杂的过程,它的流程不是固定不变的,而是随着设计方法学和EDA(Electronic D

9、esign Automation)工具的进步而不断演化的。当前的基本流程以及各阶段使用的工具和数据形式见图2.1。IC设计的基本流程如下:(1) 设计者分析用户和市场的需求,将其转化成对芯片产品的技术需求,形成设计规说明书。(2) 设计和优化芯片中所使用的算法。一般使用高级编程语言(如C/C+)对算法进行建模和借助仿真工具(如MATLAB)进行仿真,进而对算法进行评估和优化。(3) 根据设计的功能需求和算法分析的结果,设计芯片的架构,并对不同的方案进行比较。根据性能、价格和功耗的约束,选择最合适的方案。这一阶段可以使用SystemC语言对芯片架构进行建模和分析。(4) RTL设计使用硬件描述语

10、言完成对设计实体的RTL级描述。这一阶段可以使用VHDL和Verilog HDL语言的输入工具编写代码。(5) RTL验证使用仿真工具或者其他RTL代码分析工具,验证RTL代码的质量和性能。该阶段可以使用System Verilog等验证语言和其他验证工具生成的testbench进行设计验证,确认设计是否符合设计规。(6) 综合阶段使用综合工具将RTL代码生成描述实际电路的门级网表文件。(7) 门级验证对综合生成的门级网表进行验证。这一阶段通常会使用仿真、静态时序分析和形式验证等工具。图2.1 IC设计流程(8) 后端设计根据速度和面积的约束利用布局布线工具对综合产生的门级网表进行布局规划(F

11、loorplanning)、布局(Placement)、布线(Routing),生成生产用的版图。(9) 电路参数利用参数提取工具提取芯片中连线的寄生参数,从而获得门级的延时和时序信息。(10) 版图后验证根据后端设计取得的延时信息,再次验证设计是否能够实现所有的功能和性能指标。(11) 在特定的芯片工艺生产线上制造芯片。(12) 测试阶段主要对制造好的芯片进行测试,检测生产中产生的缺陷和问题。IC设计流程一般分为前端设计(逻辑设计)和后端设计(物理设计)。从数模角度分,IC设计又分为数字设计和模拟设计。本次毕业设计的工作为数字前端设计。本次设计采用的开发语言为Verilog 硬件描述语言,仿

12、真工具和验证工具为ModelSim ALTERA 6.4,综合和时序分析工具为Quartus II 9.0。2.2 开发语言硬件描述语言是一种用形式化方法来描述数字电路和系统的语言。数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统。然后利用EDA工具逐层仿真验证,再把其中需要变为具体物理电路的模块组合经由自动综合工具转换到门级电路网表。接下去再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具把网表转换为具体电路布线结构的实现。在制成物理器件之前,还可以用Verilog的门级模型来代替具体

13、基本元件。因其逻辑功能和延时特性与真实的物理元件完全一致,所以在仿真工具的支持下能验证复杂数字系统物理结构的正确性,使投片的成功率达到100%。目前,这种称为高层次设计的方法已被广泛采用。据统计,目前在美国约有90%以上的ASIC和FPGA已采用Verilog硬件描述语言方法进行设计。Verilog HDL6 是硬件描述语言的一种,用于数字电子系统设计。该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合。Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以及包含响应监控和设计验证方面的时延和波形产生机制。由于Veri

14、log HDL从C编程语言中继承了多种操作符和结构,Verilog HDL语言的核心子集非常易于学习和使用,对大多数建模应用来说核心子集已经足够。模块是Verilog HDL的基本描述单位,用于描述某个设计的功能或结构及其与其他模块通信的外部端口。一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述;设计的数据流行为使用连续赋值语句进行描述;时序行为使用过程结构进行描述。一个模块可以在另一个模块中使用。模块之间可以通过使用线网来相互连接。在模块中,结构和行为可以自由混合。也就是说,模块描述中可以包含实例化的门、模块实例化语句、连续赋值语句以及always语句和initial语句的混

15、合。一个模块的基本语法如下:modulemodule_name( port_list );Declarations: /说明部分reg, wire, parameter,input, output, inout,function, task,Statements: /语句部分initialstatementalwaysstatementmoduleinstantiationgateinstantiationUDPinstantiationcontinuousassignmentendmodule说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。语句部分定义设计的功能和结构。说明部分和语句部分可以散布在模块中的任何地方;但是变量、寄存器、线网和参数等的说明部分必须在使用前出现。为了使模块描述清晰和具有良好的可读性,最好将所有的说明部分放在语句前。2.3 设计工具2.3.1 QuartusII开发环境Quartus II开发环境7是一个基于Altera器件进行逻辑电路设计的集成开发环境。Quartus II开发和

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号