- 1、本文档共63页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
从最简的4条指令CPU实现了解CPU设计
第二章 CPU设计概论 2.0.0 从最简的4条指令CPU, 看 CPU的设计(verilog)与测试验证 固定2周期、冯诺曼型、复位启动、D/A分用 ADD 整数加法 LDA 取数 STA 存数 JNC 非进位转移 最简的4条指令CPU设计 2.0.1 4条指令CPU的指令格式与功能:自定义 design of CPU--4 item instruction, 2 cycle, Data 8 bit control mode---combination logic ir[7:0]------Instruction Register 单字节指令 ir[7], ir[6]-----2 bit operation code (I7,I6) ir[5:0]------6 bit address 直接寻址 Acc[7:0]------accumulator register ir[7] ir[6] instruction operation 0 0 ADD Acc, addr Acc = (Acc) + (addr) 要先取数到Acc 0 1 LDA Acc, addr Acc = (addr) 1 0 STA addr, Acc addr = Acc 1 1 JNC addr pc = addr, when Cy=0 Cy-------------Carry of Adder PC[7:0]--------program counter t[1:0]---------2 cycle ck-------------in cycle, contain clock 2.0.2 4条指令CPU的外特性 2.0.4 4条指令CPU的描述框图 (行为对象) 2.0.5-4 4条指令CPU的指令操作:LDA取数----流程 2.0.5-5 4条指令CPU的指令操作:ADD加法----流程 描述形式: 分部件或功能模块,然后分组合与时序 分组合逻辑[含always@( )型、assign、门原语句] 与 时序逻辑[always@(clk跳沿)] 描述方法: 行为对象----不考虑具体结构,仅从功能描述,如F=A+B 结构细化----用“标准单元”结构实现目标描述, 用全加器 赋值方式: 1) always@( )组合、锁存、时序块的if..else、case类等 2) assign、门原语句 3) 调库函数、实例 4) 3态,双向实现 2.0.6 4条指令CPU的逻辑描述-1 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-2 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-3 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-4 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-5 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-6 (Verilog HDL) 2.0.6 4条指令CPU的逻辑描述-7 (Verilog HDL) 状态机控制是包括CPU在内的所有控制的控制原理,特别是在“CPU”出现之前,如电梯、机床等各种自动控制技术,就上述最简的4条指令CPU设计,有5个状态迁移: 2.0.1A 4条指令CPU的状态机控制----状态时序的集中描述 always @(negedge clk or posedge reset) begin if (reset) s = 3b100; else if ((s==3b100)) begin ir = o_d; s = {1b0,o_d[7:6]}; //state to per instruction end else if((s[2]==0)) s = 3b100; // return
文档评论(0)