版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、电子科技大学电子科技大学 数字系统的数字系统的RTL设计设计 学时分配:学时分配:10电子科技大学电子科技大学目的和目标目的和目标 初步了解复杂数字系统的初步了解复杂数字系统的“数据通路数据通路+控制逻控制逻辑辑”的设计思想;的设计思想; 初步掌握数据流模型的建立和描述;初步掌握数据流模型的建立和描述; 初步了解数字系统模块划分和时序设计的方法。初步了解数字系统模块划分和时序设计的方法。 掌握简单掌握简单CPU(Mu0, 8051兼容兼容CPU)的设计方法;的设计方法; 了解了解IT产业链中核心芯片产业链中核心芯片(CPU等等)的高性能设的高性能设计所面临的机遇和挑战。计所面临的机遇和挑战。电
2、子科技大学电子科技大学说明说明 复杂数字系统的设计应该先经过系统级复杂数字系统的设计应该先经过系统级验证,然后才转换成数据流模型。验证,然后才转换成数据流模型。 系统级建模和验证的方法很多,也没有系统级建模和验证的方法很多,也没有统一的模型。公认最有潜力的描述语言统一的模型。公认最有潜力的描述语言是是SystemC。 限于课时,本部分课件省去系统级的建限于课时,本部分课件省去系统级的建模和验证,只讲述数据流模型的设计和模和验证,只讲述数据流模型的设计和描述。描述。电子科技大学电子科技大学内容安排内容安排 硬件的硬件的RTL模型的特点。模型的特点。 数据通路与控制逻辑。数据通路与控制逻辑。 一个
3、简单的数据处理模块。一个简单的数据处理模块。 曼彻斯特处理器曼彻斯特处理器MU0。 流水线与超标量流水线与超标量CPU设计简介。设计简介。复杂数字系统的RTL设计思想 数字系统(数字系统(RTL级)级)设计设计Data PathControl Logic运算单元(组合电路)存储单元(寄存器)有限状态机(组合部分和时序部分)微码ROM描述硬件的硬件的RTL模型的特点模型的特点1.RTL模型中的信号代表了硬件中数据的实际模型中的信号代表了硬件中数据的实际移动方向以及电路的互连关系;移动方向以及电路的互连关系;2.RTL模型中的语句与实际寄存器的结构模型模型中的语句与实际寄存器的结构模型之间存在直接
4、的映射关系;之间存在直接的映射关系;3.RTL模型指定了寄存器级的电路元件之间的模型指定了寄存器级的电路元件之间的连接关系,从而隐藏了电路结构;连接关系,从而隐藏了电路结构;4.RTL模型指定了存储单元的复用结构及总线;模型指定了存储单元的复用结构及总线;5.RTL模型中明确指定了各个寄存器的驱动时模型中明确指定了各个寄存器的驱动时钟;钟;6.RTL模型中通常不采用抽象的数据类型模型中通常不采用抽象的数据类型电子科技大学电子科技大学前期知识准备前期知识准备 存储器:存储器:RAM, ROM电子科技大学电子科技大学设计实例设计实例RAM待设计的电路待设计的电路: 将将RAM中中的数据依次累加。的
5、数据依次累加。clkresetDBABRnWMRq电子科技大学电子科技大学数据通路数据通路RAM时序电路组合电路电子科技大学电子科技大学RnW MRqREnrst+oeAddrRAM时序电路组合电路电子科技大学电子科技大学控制逻辑控制逻辑clkresetaddrRnWMRqoeREn时序设计时序设计一定注意,一般一定注意,一般时序设计和状态时序设计和状态图设计应该在代图设计应该在代码设计之前码设计之前clkresetMRqRnW000102FF00REnoeAddrState_regs输出译码输出译码次态译码次态译码地址计数器地址计数器RnWMRqoeClkClkresetresetaddrc
6、ntEnFsmCstFsmNst时序电路组合电路REn控制逻辑控制逻辑展开展开时序设计时序设计clkresetMRqRnW000102FF00REnoeAddrcntEnInitSrSwSrSwSrSrSw StopSw电子科技大学电子科技大学状态机设计状态机设计InitSrSwStopResetAddr = “FF”Addr /= “FF”电子科技大学电子科技大学状态转换表状态转换表CstAddrNstRnW MRqREnOe CntEnInitxSr01000SrxSw01101SwFFStop11011StopxStop00000Sw其他其他Sr11011电子科技大学电子科技大学代码描述
7、代码描述 略。略。 总结:一般的数字系统设计中,总结:一般的数字系统设计中, 第一步,系统需求分析第一步,系统需求分析 ; 第二步,系统级建模及验证;第二步,系统级建模及验证; 第三步,模块接口及时序设计第三步,模块接口及时序设计 数据通路数据通路 控制逻辑控制逻辑 第四步,代码编写;第四步,代码编写; 之后,进行正常的设计迭代。之后,进行正常的设计迭代。电子科技大学电子科技大学需求修改需求修改MEM待设计的电路待设计的电路: 根据输入的根据输入的Instruction来进行来进行RAM的的数据处理。数据处理。clkresetDBABRnWMRqInstruction电子科技大学电子科技大学I
8、nstruction定义定义OpcodeSOpcodeS0000ACC := mem16S0001mem16S := ACC12151100010ACC := ACC + mem16S0011ACC := ACC -f mem16S0111stop电子科技大学电子科技大学RnW MRqREnrst+oeAddrRAM时序电路组合电路译码译码2Opcode 4数据通路数据通路S12时序设计时序设计clkresetMRqRnWREnoe0110读读写写0111Opcode注意:这里注意:这里假设某些外假设某些外部电路保证部电路保证Opcode在在Reset时为时为0110,其信号变化其信号变化被被
9、clk同步。同步。电子科技大学电子科技大学控制控制逻辑逻辑输出译码输出译码RnWMRqoereset时序电路组合电路REnOpcode电子科技大学电子科技大学需求升级需求升级MEM待设计的电路待设计的电路: 根据根据MEM中的数据来进行中的数据来进行MEM自身自身的数据处理,即的数据处理,即Instruction来自来自MEM本身。本身。clkresetDBABRnWMRq代码段数据段电子科技大学电子科技大学数据通路修改分析数据通路修改分析 存储器的访问分为两个阶段:存储器的访问分为两个阶段: 1.Instruction的读取的读取-取指。取指。 2.数据的读取数据的读取-执行。执行。 分析地
10、址和数据总线的占用:分析地址和数据总线的占用: 1.取指阶段:取指阶段:Instruction的地址的地址+Instrucition。 2.执行阶段:操作数的地址执行阶段:操作数的地址+操作数。操作数。 需要解决的问题:需要解决的问题: 指令和数据的冲突避免;指令和数据的冲突避免; 地址产生机制。地址产生机制。电子科技大学电子科技大学问题的解决问题的解决 指令和数据的冲突避免:指令和数据的冲突避免: 缓存指令:引入缓存指令:引入IR寄存器;寄存器; 地址的产生:地址的产生: 指令地址:每执行一次指令就加指令地址:每执行一次指令就加1; 操作数地址:由操作数地址:由IR寄存器的寄存器的S域产生。
11、域产生。数据通路数据通路(省略总线复用省略总线复用)memoryir地址累加accaddress busdata buscontrolalu电子科技大学电子科技大学进一步硬件优化进一步硬件优化 发现发现ALU在取指阶段空闲,执行阶段工在取指阶段空闲,执行阶段工作,则可以考虑让作,则可以考虑让ALU在取指阶段对指在取指阶段对指令地址进行累加,从而使得硬件更加充令地址进行累加,从而使得硬件更加充分利用。分利用。 最终的指令周期设计:最终的指令周期设计: 取值阶段:取指令,同时指令地址取值阶段:取指令,同时指令地址1。 执行阶段:取操作数,运算。执行阶段:取操作数,运算。电子科技大学电子科技大学最终
12、数据通路最终数据通路(简化简化)memoryirpcaccaddress busdata buscontrolaluCycle1: 取指取指 & PC+memoryirpcaccaddress busdata buscontrolalualuCycle1: 取指取指 & PC+memorypcaccaddress busdata buscontrolalualuir irpcCycle2: 取操作数取操作数 + 执行执行memoryirpcaccaddress busdata buscontrolaluiraluCycle2: 取操作数取操作数+ 执行执行memoryirpcaccaddres
13、s busdata buscontrolaluiraluaccmemoryirpcacc0 mux 10 mux 1MEMrqRnWAselPCceIRceALUfsACC15ACCzBselopcodeACCoeACCceB alu AABDBmemoryMEMrqRnWABDBpcirAsel0 mux 1B alu AALUfs0 mux 1BselaccACCoePCceACCceIRceopcodeACC15ACCz电子科技大学电子科技大学Control LogicFetchExecute输出译码FsmStateOpCodeRstACCzACC15控制信号stop电子科技大学电子科技
14、大学需求再次升级需求再次升级:指令流控制指令流控制InstructionOpcodeSemanticsLDA S0000ACC := mem16SSTO S0001mem16S := ACCADD S0010ACC := ACC + mem16SSUB S0011ACC := ACC -f mem16SJMP S0100PC := SJGE S0101if ACC 0 PC := SJNE S0110if ACC 0 PC := SSTP0111stop电子科技大学电子科技大学MU0 In this simple example, well look at the ISA and an obv
15、ious implementation of it. Its the MU0 - that is, the Manchester University 0Components of MU0 (1) A Program Counter (PC) register to hold the address of the current instruction. (Visible to Programmer) One register - the Accumulator (ACC). (Visible to Programmer).Components of MU0 (2) An Arithmetic
16、-Logic Unit (ALU) for doing, eh, arithmetic and logic. (Invisible to Programmer). An Instruction Register (IR) for holding the current instruction. (Invisible to Programmer.)Components of MU0 (3) Instruction Decode Logic and Control Logic to use the components of MU0 to give effect to the instructio
17、ns.Features of MU0 16 bit machine ACC, PC, IR 2s Complement Arithmetic 12 bit addressing (see below) 16 bit instructions:4 bits12 bitsopcodeSmemoryirpcacc0 mux 10 mux 1MEMrqRnWAselPCceIRceALUfsACC15ACCzBselopcodeACCoeACCceB alu AABDBmemoryirpcacc0 mux 10 mux 1MEMrqRnWAselPCceIRceALUfsACC15ACCzBselop
18、codeACCoeACCceB alu AABDBmemoryirpcmemoryirpcacc0 mux 10 mux 1MEMrqRnWAselPCceIRceALUfsACC15ACCzBselopcodeACCoeACCceB alu AABDBmemoryacc电子科技大学电子科技大学Control LogicFetchExecute输出译码FsmStateOpCodeRstACCzACC15控制信号stop在标准在标准mu0设计中,设计中,没有使用没有使用stop状态,状态,而是回绕到而是回绕到Execute。Control Logic InputsInputsInstructio
19、nOpcodeResetEx/ftACCzACC15Resetxxxx1xxxLDA S000000 xx000001xxSTO S000100 xx000101xxADD S001000 xx001001xxSUB S001100 xx001101xxJMP S01000 xxxJGE S01010 xx001010 xx1JNE S01100 x0 x01100 x1xSTP01110 xxxControl Logic OutputsOutputsAsetBsetACCcePCceIRceACCoeALUfsMEMrqRnWEx/ft001110= 0110111000= B111000110B+11101x0001x101000110B+1110111000A+B111000110B+1110111000A-B111000110B+1110100110B+1110100110B+1110000110B+1110100110B+1110000110B+11101x0000 x010电子科技大学电子科技大学Cpu的性能提高策略的性能提高策略 提高系统时钟频率:提高系统时钟频率: 微码微码ROM 硬连线逻辑硬连线逻辑; 指令流水线。指令流水线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2027年河南省道德与法治九年级押题预测卷(含答案)
- 2027年山东省道德与法治九年级考前最后冲刺卷(含答案)
- 超越自我 2026年秋季七年级英语外研版上学期期中测试卷(含答案)
- 快速提分 2027年山东省语文初三鲁教版仿真模拟卷(含答案)
- 2027年湖南省道德与法治中考预测模拟卷(含答案)
- 2027年江苏省语文九年级押题预测卷(含答案)
- 考向预测 2027年湖南省历史初三粤教版夯实基础卷(含答案)
- 实战演练 2027年湖南省道德与法治九年级鲁教版题型突破卷(含答案)
- 事业编水利岗 易错题试卷 含答案
- 2026 综合岗面试题型分析题库
- 第2课 俄国的改革 课件
- 眼科疾病诊疗技术新进展与挑战
- 高校实验室建设项目投标文件
- 创伤性心搏骤停心肺复苏救治专家共识(2025版)完整版 + 损伤控制操作路径
- 2026北京市市政工程设计研究总院有限公司校园招聘笔试历年参考题库
- (正式版)DB42∕T 489-2026 《预应力混凝土管桩及空心方桩技术规程》
- T∕AOPA 0086-2025 T∕CMSA 0058-2025 低空飞行器起降场地气象监测系统建设要求
- 标准预防知识培训课件
- 2026年淘宝云客服培训考试题库及参考答案详解【研优卷】
- 涂装车间质量培训
- (高清版)DZT 0073-2016 电阻率剖面法技术规程
评论
0/150
提交评论