基于mips精简指令集的32位微处理器的设计内容摘要:

在研制过程中,Intel 计算机专家泰德霍夫 (Ted Hoff)发现,与其依照每一个不同的使用规格设计一颗颗不同的芯片,不如把整个结构拆分成两部分,一边是共用的 、能进行逻辑控制用的处理器,另一边则是用来贮存指令的只读存储器 ROM(Read Only Memory)。 对于不同计算器,只需要改变存储器的内容。 如此一来,同一个处理器可以应用在各种不同的计算器,甚至可以适用在各种不同的数字产品上。 这一想法,有两个主要的突破。 在技术方面,只要以集成电路科技设计出这个用于逻辑控制的处理器,长久盼望的“单芯片电脑”即将可以实现。 在商业方面一套元件可以广泛用于各种不同的产品上,这意味着一个可以大量产出、适用于各种不同的产品的机会。 英特尔于是把这个逻辑控制用的处理器称作“微处理器” (Microprocessor)。 因为它真是一个“微小”的处理器。 4004 能完成两个 4 位数相加,能通过重复相加完成乘法。 以今天的标准, 4004 虽然过于原始,但是它却成为微处理器的容量和功能不断发展的开端。 最早的 8 位微处理器 8008 是在 1972 年由 Intel 公司推出的,它也采用 PMOS 工艺,仍然属于第一代微处理器。 它要求 20 个或者更多的附加器件才能够构成一个功能完备的 CPU. 8008 的问世,使得很多的厂家意识到微处理器有着巨大的潜在市场。 从那时候起。 微处理器得到了飞速的发展。 8 位微处理器的典型代表是 1974 年 Intel公司推出的 8080, Motorola 公司的 6800,以及 1976 年 Zilog 公司的 ZS0,它们都采用 NMOS 工艺,平均指令周期约 2us。 16 位微控制器最早出现在 1974 年。 现在比较典型的芯片则还要晚些时候出现:Intel8060出现于 1978年; 1979年为 Zilog公司的 28000i 1980年为 Motorola的 M68000。 16 位微控制器芯片已经进入超大规模集成电路的行列,例如 Intel80286 包含 130000第一章 绪 论 3 个器件。 32 位微控制器则都属于 VLSI 芯片。 1981 年, Intel 的 32 位微 控制器 APX432。 随着集成电路设计技术和深亚微米制造技术的迅速发展,集成电路已经进入片上系统 (SOC: System On Chip)时代。 SOC 是在单一的芯片上实现信号的采集、处理、转换、存储和 I/ 0 等功能,即实现一个系统。 当然 SOC 芯片的集成度和设计的复杂性也越来越明显,试想一下对于一个百万千万甚至上亿个晶体管的芯片,很难采用自底向上的设计方法来实现,取而代之的是自顶向下的设计方法。 论文的主要工作 本课题的主要工作就是通过对 RISC 的 体系结构、 MIPS 指令集的仔细分析与研究,先得到一个粗略的总体框架 ,采用自顶向下 (TOP— DOWN)的数字系统设计方法.对其逐层细化,使用 Verilog HDL 语言完成 32 位 MIPS 指令集的 嵌入式精简指令集微处理器核的设计。 主要工作如下: (a) 体系结构分析 即确定微控制器核的总体结构,划分与定义微控制器核各个层次模块的功能和结构。 这项工作主要是通过分析、研究 通用 的 MCU 的硬件结构及所有指令工作过程的分析,深入理解 MCU 工作原理和设计方法,为确定 MCU 核的总体结构,划分与定义 MCU核各个层次模块的功能和结构奠定坚实基础。 (b) MCU IP 核结构划分和时序设计 根据 对 通用 MCU结构的分析,划分论文 MCU IP 核结构,把 它按照五级流水线结构, 划分为 ALU,译码,数据选择,程序计数器 , Cache 单元 ,存储器, 算数逻辑单元 ,并对每一个模块进一步细化。 设计流水线结构,分析每一条指令运行的过程,确定 MCU的时序控制过程。 (c) 模块的 Verilog HDL 设计 使用 Verilog HDL 对每个模块分别进行设计,设计风格采用可综合的语言描述。 (d )MCU IP 核的仿真验证与综合 利用 EDA 工具先对每个 MCU IP 核的模块进行仿真验证,然后再对整个 IP 核进基于 MIPS 精简指令集的 32 位微处理器设计 4 行仿真与综合,荐对起 进行全指令集测试确保指令运行正确。 (e) 总结设计中的经验教训,提高设计水平。 第二章 设计方法与设计流程 5 第二章 设计方法与设计流程 数字系统高层次设计 高层次设计方法是数字系统设计最新、最先进的方法。 高层次设计技术是面向系统的设计技术,设计者采用硬件描述语言 (Hardware Description LanguageHDL)对系统进行语言级描述,而不是采用传统的逻辑图形式来设计系统。 数字系统的设计包括行为、结构和物理三个领域。 行为指系统的功能;结构指系统的逻辑组成:物理指系统具体实现的几何特征与物理特性。 根据抽象级别的不同,数字系统又划 分为若干层次,一般自顶向下包括系统级、行为功能级 f 或称 (算法级 )、寄存 器 传输级 (RTL)、逻辑级、电路级等。 通常将寄存器传输级以上的层次称为高层次。 利用硬件描述语言对寄存器传输级以上的层次进行的描述设计称为高层次设计,描述的层次越高,设计的层 次就越高。 如在行为功能级上进行描述。 经高层次的自动综合优化、模拟和验证 即可测性设计综合,并根据相应的约束条件自动产生出门级.电路,最终生产实现高质量的硅片,这就是高层次设计的全过程。 因此,有人预言:“未来的 VLSI 设计者是科学家而不是工程师”。 意思是说:由于 EDA 工具的 高度自动化,设计 重点将转向概念设计,而大部分工程实现中的技术问题都可依靠 EDA 工具解决。 高层次设计技术主要包括功能强大的硬件描述语言、高层次综合技术、高 层次模拟技术以及测试设计的综合技术与自顶向下的设计方法 [6]。 自项向下设计方法与设计流程 所谓自顶向下的设计方法,就是设计者首先从整体上规划整个系统的功能和性能,然后对系统进行划分,分解为规模较小、功能较简单的局部模块,并确立它们之间的相互关系,这种划分过程可以不 断地进行下去,直到划分得到的单元可以映射到物理实现。 因而它是面向系统的设计技术,使设计师可以将更多的精力和时间花费在从高层次上对系统进行功能定义和设计。 基于 MIPS 精简指令集的 32 位微处理器设计 6 自顶向下的设计方法是随着硬件描述语言和 EDA 工具同步发展起来的。 硬件描述语言可以在各个抽象层次上对电子系统进行描述,而且借助于 EDA 设计工具,可以自动实现从高层次到低层次的转换,这使得自顶向下的设计过程得以实现。 采用自顶向下的优点是:由于整个设计是从系统顶层开始的,结合模拟手段,可以从一开始就掌握所实现系统的性能状况,结合应用领域的具体要求,在此时就调整设 计方案、进行性能优化或折衷取舍;随着设计层次向下进行,系统性能参数将得到进一步的细化和确认,并随时可以根据需要加以调整,从而保证了设计的正确性,缩短了设计周期,设计规模越大,这种设计方法的优势越明显缺点是:需要先进的 EDA 设计工具和精确的工艺库的支持。 自顶向下设计流程可分为三个大的阶段,如图 21 所示。 各个阶段之间并没有绝对的界限。 (一 )系统设计 系统设计阶段最为重要,它包括系统功能分析、体系结构设计、系统描述与功能仿真四个步骤。 (1)系统功能分析 系统功能分析的一个目的是在系统设计之前搞清楚系统的需求。 要确定系统所要完成的功能、系统的输入输出、输入输出之间的关系以及系统的时序要求。 另外一个目的就是系统的模块划分。 在系统分析时,应根据功能的耦合程度,将系统划分为不同的功能模块,每一个功能都映射到一个模块,同时还需要确定模块之间的相互关系这是模块化设计的基本需要。 (2)体系结构设计 体系结构设计使整个设计的关键之关键,以后的所有工作,都是依赖于所设计的体系结构来进行的。 体系结构设计的首要任务就是数据通路的设计。 在数字系统的设计,系统的控制是建立在数据通路的基础之上,不同的数据通路对应了不同的控制通路。 数据 通路的设计包括处理数据类型分析、处理单元的划分以及处理单元之间的关联程度等。 控制通路是数据通路上数据传输的控制单元,用于协调数据处理单元之间的关系。 控制通路的设计主要包括数据的调度、数据的处理算法和正确的时序安排等。 数据通路与控制通路的设计,并不是截然分开的,有时在确定好数据通路后,由于时序或数据的调度等问题,而不得不重新修改数据通路。 所以,数据通路与控制通路的第二章 设计方法与设计流程 7 设计,往往要经过许多次反复,才能达到最优的效果。 (3)系统描述 Verilog 支持不同的描述方法,但对于系统的描述,仍需注意以下几点: (a)采用 TOP. DOWN 的结构化设计方法。 这样设计的结构与层次都非常清晰,易于修改与调试。 (b)注意设计源码的风格对电路的影响。 同样的功能用不同的描述,可以产生不同的结果。 在描述电路时,应认真考虑电路的描述方法。 (c)虽然高层次设计提倡设计与工艺无关性,但是在某些设计中,由于特定结构的要求,有些描述可能无法实现,致使在综合过程中产生不必要的错误。 (d)在描述时,要分清楚哪些是用来综合的程序,哪些是仅仅是用来仿真的程序。 (4)系统功能仿真 系统的功能仿真是验证功能正确性的重要手段,几乎所有的高层设计软件都支持语言级的系统仿真。 在语言级的系统仿真时,要求设计者使用 Vedlog 语言所提供的丰富的仿真语句来编写系统的测试基准程序。 测试基准程序在高层次设计中占有非常重要的地位,不仅在系统功能仿真时被用来作为功能验证的基准,而且在门级仿真与时序仿真时都要以此为基准。 测试基准程序用于模拟系统的工作环境。 在该程序中,产生系统工作所需的所有输入信号,同时多系统产生的输出信号进行判别,给出正确和错误信息。 (二 )综合优化 该阶段主要的工作是系统的综合优化与门级 (Gate Level)方针。 (1)系统的综合优化 系统的综合优化分 为两个步骤:第一步是将语言翻译成门电路,第二步是门级优化。 系统优化的目的就是花费摄小的硬件资源满足最大的时序要求。 所以,系统优化就是在系统的速度 (Speed)和面积 (Area)之间找到一个最佳方案。 系统优化的关键在于系统的约束条件 (Constraints)的设定,系统的约束条件将使系统的优化按照设计者所期望的目标进行。 (2)门级仿真 现在~般的高层综合工具,都能够提取出系统的门级描述 Verilog 语言文件,该基于 MIPS 精简指令集的 32 位微处理器设计 8 文件内不仅包含了完成系统功能所需的元件,而且也包含了电路的一些时序信息。 将该程序与前面所提到的测试 基准程序连接到一起,就可以进行门级的时序方针。 如果对仿真的结果不满意,就必须修改综合优化条件或修改系统结构等。 (三 )系统实现 在一般的 ASIC 设计中,系统实现的工作一般是设计者将综合后的网表 (Neflist)和设计的时序要求,交给 IC 生产厂家来进行。 系统实现的工作主要是布局布线 (Place and Route)。 布线时所遇到的最大的问题是布通率,一般情况下在布局布线时要加入一定的人工干预,像改变引脚的位置、特殊功能快的安排等。 在完成布局布线之后,要进行系统的后仿真 (Post Simulation)。 这是整 个设计的最后一道障碍,主要对系统的速度、时序关系作最后的验证。 自顶向下设计技术是个方面知识的综合。 设计者必须站在系统的高度来看待一个设计,同时还要对电路设计、 EDA 工具、微电子等相关知识有一定的掌握,才可能谈得上进行自顶向下设计。 系统仿真及综合只是系统实现的手段,要成功地完成一个复杂系统的设计,不仅要熟练掌握先进高层次设计工具的使用,更重要的是对系统本身的正确理解与设计。 MCU IP 核设计流程 采用数字系统高层次设计技术,按照自顶向下的设计方法和流程,使用 Verilog 语言,借助于多种 EDA 工具完成 MCU IP 核的设计、综合及仿真验证。 由于高层次设计的特点,在设计过程中自始至终贯彻系统的观点,从设计、综合到仿真验证都尽量从系统的角度去分析考虑。 整个 MCU IP 核设计流程如下: (1)对 MIPS 指令集 进行了分析,并且在此基础上对精简指令集 MCU IP 核进行顶层功能和结构的定义与划分; (2)用行为级 Verilog HDL 描述整个核,主要为划分模块、验证可实现性,忽略具体实现细节。 用 Modelsim软件进行行为级仿真,以验证系统的可实现性; (3)用可综合的 Verilog HDL 重新描述各个分模块,在 Modelsim软件上调试各个模块,仿真基本时序;第三章 M I P S 指令集 与流水线技术 9 第三章 M I P S指令集 与流水线技术 RISC(精简指令集计算机 )是一个极有吸引力的缩写名词 ,与很多这类名次相似 ,可能遮掩的真实含义超过了它所揭示的 .但是它的确对于那些在 1986到 1989年之间投放市场的新型 CPU 体系结构提供了一个有用的标识名,这些新型体系结构的非凡的性能主要归功于几年前的几个具有开创性的研究项目所产生的思想。 有人曾说: 任何在 1984 年以后定义的计算机体系结构都是 RISC;虽然这是对于工业领域广泛使用这个缩写名词的嘲讽,但是这个说法也的确是真实的 1984 年以后没有任何一款计算机能够忽视 RISC 先驱者们的工作 [5]。 斯坦。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。