数字系统的RTL设计.pptVIP

  • 64
  • 0
  • 约5.78千字
  • 约 52页
  • 2016-03-12 发布于江苏
  • 举报
数字系统的RTL设计.ppt

数字系统的RTL设计 学时分配:10 目的和目标 初步了解复杂数字系统的“数据通路+控制逻辑”的设计思想; 初步掌握数据流模型的建立和描述; 初步了解数字系统模块划分和时序设计的方法。 掌握简单CPU(Mu0, 8051兼容CPU)的设计方法; 了解IT产业链中核心芯片(CPU等)的高性能设计所面临的机遇和挑战。 说明 复杂数字系统的设计应该先经过系统级验证,然后才转换成数据流模型。 系统级建模和验证的方法很多,也没有统一的模型。公认最有潜力的描述语言是SystemC。 限于课时,本部分课件省去系统级的建模和验证,只讲述数据流模型的设计和描述。 内容安排 硬件的RTL模型的特点。 数据通路与控制逻辑。 一个简单的数据处理模块。 曼彻斯特处理器MU0。 流水线与超标量CPU设计简介。 复杂数字系统的RTL设计思想 数字系统(RTL级)设计 硬件的RTL模型的特点 RTL模型中的信号代表了硬件中数据的实际移动方向以及电路的互连关系; RTL模型中的语句与实际寄存器的结构模型之间存在直接的映射关系; RTL模型指定了寄存器级的电路元件之间的连接关系,从而隐藏了电路结构; RTL模型指定了存储单元的复用结构及总线; RTL模型中明确指定了各个寄存器的驱动时钟; RTL模型中通常不采用抽象的数据类型 前期知识准备 存储器:RAM, ROM 设计实例 数据通路 控制逻辑 时序设计 控制逻辑展开 时序设计 状态机设计 状态转换表 代码描述 略。 总结:一般的数字系统设计中, 第一步,系统需求分析 ; 第二步,系统级建模及验证; 第三步,模块接口及时序设计 数据通路 控制逻辑 第四步,代码编写; 之后,进行正常的设计迭代。 需求修改… Instruction定义 数据通路 时序设计 控制逻辑 需求升级… 数据通路修改分析 存储器的访问分为两个阶段: 1.Instruction的读取----取指。 2.数据的读取----执行。 分析地址和数据总线的占用: 1.取指阶段:Instruction的地址+Instrucition。 2.执行阶段:操作数的地址+操作数。 需要解决的问题: 指令和数据的冲突避免; 地址产生机制。 问题的解决 指令和数据的冲突避免: 缓存指令:引入IR寄存器; 地址的产生: 指令地址:每执行一次指令就加1; 操作数地址:由IR寄存器的S域产生。 数据通路(省略总线复用) 进一步硬件优化 发现ALU在取指阶段空闲,执行阶段工作,则可以考虑让ALU在取指阶段对指令地址进行累加,从而使得硬件更加充分利用。 最终的指令周期设计: 取值阶段:取指令,同时指令地址+1。 执行阶段:取操作数,运算。 最终数据通路(简化) Cycle1: 取指 PC++ Cycle2: 取操作数 + 执行 Cycle2: 取操作数+ 执行 Control Logic 需求再次升级:指令流控制 MU0 Components 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-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 instructions. Features of MU0 16 bit machine – ACC, PC, IR 2’s Complement Arithmetic 12 bit addressing (see below) 16 bit instructions: Control Logic Control Logic Inputs Control Logic Outputs Cpu的性能提高策略 提高系统时钟频率: 微码ROM ? 硬连线逻辑; 指令流水线。(流水线mu0需要将跳转指令的指令周期扩展成2个时钟); 程序与数据总线分开:

文档评论(0)

1亿VIP精品文档

相关文档