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

基于LC3ISA处理器的设计与仿真.doc

105页
  • 卖家[上传人]:工****
  • 文档编号:441370459
  • 上传时间:2023-02-11
  • 文档格式:DOC
  • 文档大小:1.54MB
  • / 105 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 题目:基于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)三个专业的第一门计算机类主修课程。

      Yale Patt专家正式发行了第一本内容取自EECS100课程的教科书——Introduction to Computing Systems: from bits and gates to C and beyond [3],书中内容涉及两个部分:一是计算机底层构造(LC-2计算机),二是高档语言编程此书发行后受到了大量学生和教师的好评,并且大多数人都赞同此书的编写措施,Yale Patt专家正式推出该教科书的第二版[4],第二版书中最大的改动就是采用LC-3构造替代了第一版的LC-2计算机模型LC-3是一种Von Neumann存储程序型计算机,具有比较完备的指令系统构造(ISA),对理解计算机各个构成部件的构造特点、工作原理及互相协同运营机制具有重要作用我校计算机学院软件工程专业采用该教材《计算机系统概论 英文版第二版》[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语句的混合一种模块的基本语法如下:module module_name( port_list );Declarations: //阐明部分reg, wire, parameter,input, output, inout,function, task,……Statements: //语句部分initial statementalways statementmodule instantiationgate instantiationUDP instantiationcontinuous assignmentendmodule阐明部分用于定义不同的项,例如模块描述中使用的寄存器和参数。

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

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