好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

基于LC3ISA处理器的设计与仿真毕业论文.doc

92页
  • 卖家[上传人]:re****.1
  • 文档编号:463725180
  • 上传时间:2023-07-20
  • 文档格式:DOC
  • 文档大小:1.46MB
  • / 92 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 题目:基于LC-3 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 数据通路分析 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附录I 英文翻译 47第一部分 英文原文 47第二部分 中文译文 60附录II 程序代码 71附录III 82第一章 绪论1.1集成电路与微处理器集成电路[1]发展初期最重要的应用领域就是计算机技术领域。

      计算机的发展是建立在集成电路技术的基础上的,而作为计算机核心部件的处理器,更是集成电路技术的结晶1964年4月7日IBM公司研制成功了世界上第一个采用集成电路的通用计算机IBM 360,计算机从此进入了集成电路时代此后,集成电路的发展为微型计算机的出现和发展奠定了基础1971年,Intel公司成功地在一块12平方毫米的芯片上集成了2300个晶体管,制成了一款包括运算器、控制器在的时钟频率仅为108kHz的可编程序运算芯片,它被称为中央处理单元(CPU),又称为微处理器,这就是世界上第一款微处理器——4004,从此便拉开了微处理器的序幕此后微处理器芯片的集成度一直约每隔12至18个月便会增加一倍,性能也将提升一倍这就是著名的“摩尔定律”[2]目前,微处理器的主频已经达到了GHz级别可以毫不夸地说,没有集成电路的发展就没有微处理器的出现,自然也就不会有现在的微型计算机了1.2课题背景1993年,Yale Patt教授在密歇根大学提出对传统教学思路的改革1995年秋季,Yale Patt和Kevin Compton教授开设EECS100课程,这一课程是计算机科学(CS)、计算机工程(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 Neumann存储程序型计算机,具有比较完备的指令系统结构(ISA),对理解计算机各个组成部件的结构特点、工作原理与相互协同运行机制具有重要作用2012年,我校计算机学院软件工程专业采用该教材《计算机系统概论 英文版第二版》[5]作为二年级学生计算机组成课程的教材,为深入理解书中LC-3 ISA的处理器微体系结构、工作原理、中断自陷等相关异常处理机制,决定采用Verilog HDL硬件描述语言设计教材中LC-3的CPU,实现完整LC-3 ISA处理器的逻辑设计,完成处理器的前端设计。

      1.3 本文工作本次设计从研究微处理器的工作原理入手,采用Verilog HDL硬件描述语言,结合ModelSim仿真工具,通过团队合作,完成了能够实现15条指令的带有自陷、中断和异常运行机制的LC-3多周期处理器的设计与仿真,本人独立完成多周期处理器的数据通路部分的设计,本文主要进行以下几方面工作:1. 查阅相关文献资料,学习Verilog HDL硬件描述语言,熟悉使用ModelSim仿真工具,Quartus II综合工具;2. 深入分析LC-3指令系统结构,掌握每条指令的功能与具体运行的过程;3. 分析指令执行周期,深入理解自陷、中断和异常的运行机制,构建功能模块;4. 研究多周期处理器的基本工作原理,完成能够实现15条指令的带有中断和异常处理机制的多周期处理器的数据通路的设计;5. 使用Quartus II进行综合,ModelSim进行仿真验证,并完成整体设计的功能测试第二章 设计流程和语言工具2.1 设计流程集成电路(IC)设计是将系统、逻辑与性能的设计要求转化为具体的物理版图的过程, 也是一个把产品从抽象一步步具体化、直至最终物理实现的过程为了完成这一过程, 人们研究出了层次化和结构化的设计方法:层次化的设计方法能使复杂的系统简化,并能在不同的设计层次与时发现错误并加以纠正;结构化的设计方法是把复杂抽象的系统划分成一些可操作的模块,允许多个设计者同时设计,而且某些子模块的资源可以共享。

      IC设计[5]是一个非常复杂的过程,它的流程不是固定不变的,而是随着设计方法学和EDA(Electronic Design Automation)工具的进步而不断演化的当前的基本流程以与各阶段使用的工具和数据形式见图2.1IC设计的基本流程如下:(1) 设计者分析用户和市场的需求,将其转化成对芯片产品的技术需求,形成设计规说明书2) 设计和优化芯片中所使用的算法一般使用高级编程语言(如C/C++)对算法进行建模和借助仿真工具(如MATLAB)进行仿真,进而对算法进行评估和优化3) 根据设计的功能需求和算法分析的结果,设计芯片的架构,并对不同的方案进行比较根据性能、价格和功耗的约束,选择最合适的方案这一阶段可以使用SystemC语言对芯片架构进行建模和分析4) RTL设计使用硬件描述语言完成对设计实体的RTL级描述这一阶段可以使用VHDL和Verilog HDL语言的输入工具编写代码5) RTL验证使用仿真工具或者其他RTL代码分析工具,验证RTL代码的质量和性能该阶段可以使用System Verilog等验证语言和其他验证工具生成的testbench进行设计验证,确认设计是否符合设计规。

      6) 综合阶段使用综合工具将RTL代码生成描述实际电路的门级网表文件7) 门级验证对综合生成的门级网表进行验证这一阶段通常会使用仿真、静态时序分析和形式验证等工具图2.1 IC设计流程(8) 后端设计根据速度和面积的约束利用布局布线工具对综合产生的门级网表进行布局规划(Floorplanning)、布局(Placement)、布线(Routing),生成生产用的版图9) 电路参数利用参数提取工具提取芯片中连线的寄生参数,从而获得门级的延时和时序信息10) 版图后验证根据后端设计取得的延时信息,再次验证设计是否能够实现所有的功能和性能指标11) 在特定的芯片工艺生产线上制造芯片12) 测试阶段主要对制造好的芯片进行测试,检测生产中产生的缺陷和问题IC设计流程一般分为前端设计(逻辑设计)和后端设计(物理设计)从数模角度分,IC设计又分为数字设计和模拟设计本次毕业设计的工作为数字前端设计本次设计采用的开发语言为Verilog 硬件描述语言,仿真工具和验证工具为ModelSim ALTERA 6.4,综合和时序分析工具为Quartus II 9.02.2 开发语言硬件描述语言是一种用形式化方法来描述数字电路和系统的语言。

      数字电路系统的设计者利用这种语言可以从上层到下层(从抽象到具体)逐层描述自己的设计思想,用一系列分层次的模块来表示极其复杂的数字系统然后利用EDA工具逐层仿真验证,再把其中需要变为具体物理电路的模块组合经由自动综合工具转换到门级电路网表接下去再用专用集成电路(ASIC)或现场可编程门阵列(FPGA)自动布局布线工具把网表转换为具体电路布线结构的实现在制成物理器件之前,还可以用Verilog的门级模型来代替具体基本元件因其逻辑功能和延时特性与真实的物理元件完全一致,所以在仿真工具的支持下能验证复杂数字系统物理结构的正确性,使投片的成功率达到100%目前,这种称为高层次设计的方法已被广泛采用据统计,目前在美国约有90%以上的ASIC和FPGA已采用Verilog硬件描述语言方法进行设计Verilog HDL[6] 是硬件描述语言的一种,用于数字电子系统设计该语言允许设计者进行各种级别的逻辑设计,进行数字逻辑系统的仿真验证、时序分析、逻辑综合Verilog HDL语言具有下述描述能力:设计的行为特性、设计的数据流特性、设计的结构组成以与包含响应监控和设计验证方面的时延和波形产生机制由于Verilog HDL从C编程语言中继承了多种操作符和结构,Verilog HDL语言的核心子集非常易于学习和使用,对大多数建模应用来说核心子集已经足够。

      模块是Verilog HDL的基本描述单位,用于描述某个设计的功能或结构与其与其他模块通信的外部端口一个设计的结构可使用开关级原语、门级原语和用户定义的原语方式描述;设计的数据流行为使用连续赋值语句进行描述;时序行为使用过程结构进行描述一个模块可以在另一个模块中使用模块之间可以通过使用线网来相互连接在模块中,结构和行为可以自由混合也就是说,模块描述中可以包含实例化的门、模块实例化语句、连续赋值语句以与always语句和initial语句的混合一个模块的基本语法如下:modulemodule_name(port_list);Declarations: //说明部分reg, wire, parameter,input,output, inout,function,task,……Statements: //语句部分initialstatementalwaysstatementmoduleinstantiationgateinstantiationUDPinstantiationcontinuousassignmentendmodule说明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。

      语句部分定义设计的功能和结构说明部分和语句部分可以散布在模块中的任何地方;但是变量、寄存器、线网和参数等的说明部分必须在使用前出现为了使模块描述清晰和具有良好的可读性,最好将所有的说明部分放在语句前2.3 设计工具2.3.1 QuartusII开发环境Quartus II开。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.