- 1、本文档共370页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
普通教学课件,请管理员审核,带来不便,敬请谅解!
表7.5.8 多路选择器Mux_3接口说明 代码7.5.6 三选一选择器。module Multiplexer_3(mux_out, data_a, data_b, data_c, select, load); input [7:0] data_a, data_b, data_c; input [1:0] select; input load; output [7:0] mux_out; reg [7:0]mux_out; always@(load) if(load==1) mux_out=(select==0)?data_a:(select==1)?data_b:(select==2)? data_c:′bzz; else mux_out=2′bzz; endmodule 由代码7.5.6生成的Mux_3的硬件结构如图7.5.14所示。 图7.5.14 Mux_3的硬件结构块图 Mux_3的仿真波形如图7.5.15。 图7.5.15 Mux_3的仿真波形 仿真波形说明:当load信号为高电平时, 输出为所选择的数据; 当load为低电平时, 输出高阻状态。select为数据输入选择信号, 当select值为0, 并且load为高电平时, 输出为data_a, 即52; 当select值为2, 并且load为低电平时, 输出为data_b, 即137; 当select为3时, 输出高阻。 7. 总线BUS 总线BUS是多个功能部件传送信息的一组信号传输线。 运算器内的总线(数据通路)称为内部总线。 如果总线连接的不是CPU, 而是主存和外围设备, 则称为外部总线或系统总线。 CPU与主存、 外设交换数据一定要通过总线才能进行。 同样, CPU内部的信息传送, 也一定要经过总线才能完成。 在该模型机中, 共设计了两条总线, Bus_1和Bus_2既作为地址线又作为数据线。 8. 输入输出 输入输出设备是计算机系统的重要组成部分, 是计算机与外部设备交互的主要手段。 该模型机的输入、 输出只涉及四个端口: 输入端口时钟信号clk、 复位信号rst、 数据输入input及输出端口output。 该模型机是在DE2-70开发板上实现的, 时钟信号clk通过开发板上的晶振部件产生,复位信号rst通过开发板上的开关sw0控制, 数据输入input由开发板上的一组开关(sw17~sw10)实现, 数据是通过开发板上的LED灯显示的。 数据进行输入输出时, 需要一个锁存器, 对当前要输入输出的数据进行存储, 否则会使总线上的数据发生冲突。 除时钟信号和复位信号外, 该模型机的输入输出锁存器和通用寄存器的设计基本一致。 当输入输出锁存器的使能端为低电平时, 锁存器的输出为高阻。 这里不再对锁存器设计进行说明。 7.5.4 指令时序设计 1. 时序体制 计算机要使各功能部件协调工作, 就需要时间标志, 而时间标志则是通过时序信号来体现的, 时序信号的变化体现了时序体制。 一个指令周期可划分为若干个CPU周期, 而一个CPU周期又可划分为若节拍电位, 一个节拍电位还可划分为若干节拍脉冲。 组合逻辑控制器经常采用CPU周期、 节拍电位、 节拍脉冲三级时序体制。 按照指令系统的功能, 硬件各部分在时序信号的协调下有序地工作。 1) 时钟周期 时钟周期也称为振荡周期, 定义为时钟脉冲的倒数, 是计算机中最基本的、 最小的时间单位。 在一个时钟周期内, CPU仅完成一个最基本的动作。 2) 机器周期 机器周期也称为CPU周期。 在计算机中, 为了便于管理, 常把一条指令的执行过程划分为若干个阶段, 每一阶段完成一项工作。 例如, 取指令、 存储器读、 存储器写等, 这每一项工作称为一个基本操作。 完成一个基本操作所需要的时间称为机器周期。 一般情况下, 一个机器周期由若干个时钟周期组成。 3) 指令周期 执行一条指令所需要的时间, 一般由若干个机器周期组成。 指令不同, 所需的机器周期数也不同。 对于一些简单的单字节指令, 在取指令周期中, 指令取出到指令寄存器后, 立即译码执行, 不再需要其它的机器周期。 对于一些比较复杂的指令, 如转移指令、 取数指令, 则需要两个或者两个以上的机器周期。 通常情况下, 含一个机器周期的指令称为单周期指令, 包含两个机器周
文档评论(0)