文档库 最新最全的文档下载
当前位置:文档库 › 计算机组成原理实验报告-寄存器实验

计算机组成原理实验报告-寄存器实验

计算机组成原理实验报告-寄存器实验
计算机组成原理实验报告-寄存器实验

计算机硬件实验室实验报告

二.理论分析或算法分析 SRAM 6264的功能 工作方式 C S 1*

C S 2

W E *

O E *

D 7~D 0

未选中 未选中 读操作 写操作

1 × 0 0

× 0 1 1

× × 1 0

× × 0 1

高阻 高阻 输出 输入

6264的工作过程写 写入数据的过程

? 将单元地址送到芯片的地址线A0-A12 ? 写入的数据送数据线

? #CS 1和CS 2有效,#WE 有效 ? 数据写到指定单元

6264的工作过程读:

读入数据的过程

?将单元的地址送到芯片的地址线A0-A12

?#CS1和CS2同时有效,#WE=1 #OE=0

?选中单元内容从数据线读出

三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)实验电路

按照以上电路图连接电路发光二极管显示数据发光为1高电频不发光为0低电频单刀双掷开关控制数据的输入输出

为控制运算器将内总线上输出运算结果,在其输出端连接了一个三态门(用74LS245实现)。若要将运算结果输出到总线上,则要经过三态门74LS245的控制端ALU-B置低电平,否则输出高阻态。

数据输入单元用以给出参与运算的数据,其中输入开关经过一个三态门(74LS245)和内总线相连,该三态门的控制信号CE取低电平时,开关上的数据就通过三态门而送入内总线中。

四.实验结果分析(含执行结果验证、输出显示信息、图形、调试过程中所遇的问题及处理方法等)

74LS373 三态输出的八 D 透明锁存器真值表:

Dn LE OE On

H H L H

L H L L

X L L Q0

X X H 高阻态

五.结论

数据的流动顺序为:

利用4个74LS373和一个74LS245进行电路连接,这个电路连起来比较难连,翻阅了计算机组成原理这本书,在向同学询问了相关的一些信息,在实验中发现了错误并跟同学一起商量,最后完成了实验

寄存器实验报告

寄存器实验报告

一、实验目的 1. 了解寄存器的分类方法,掌握各种寄存器的工作原理; 2. 学习使用V erilog HDL 语言设计两种类型的寄存器。 二、实验设备 PC 微机一台,TD-EDA 实验箱一台,SOPC 开发板一块。 三、实验内容 寄存器中二进制数的位可以用两种方式移入或移出寄存器。第一种方法是以串行的方式将数据每次移动一位,这种方法称之为串行移位(Serial Shifting),线路较少,但耗费时间较多。第二种方法是以并行的方式将数据同时移动,这种方法称之为并行移位(Parallel Shifting),线路较为复杂,但是数据传送的速度较快。因此,按照数据进出移位寄存器的方式,可以将移位寄存器分为四种类型:串行输入串行输出移位寄存器(Serial In- Serial Out)、串行输入并行输出移位寄存器(Serial In- Parallel Out)、并行输入串行输出移位寄存器(Parallel In- Serial Out)、并行输入并行输出移位寄存器(Parallel In-Parallel Out)。 本实验使用V erilog HDL 语言设计一个八位并行输入串行输出右移移位寄存器(Parallel In- Serial Out)和一个八位串行输入并行输出寄存器(Serial In- Parallel Out),分别进行仿真、引脚分配并下载到电路板进行功能验证。 四、实验步骤 1.并行输入串行输出移位寄存器实验步骤 1). 运行Quartus II 软件,选择File New Project Wizard 菜单,工程名称及顶层文件名称为SHIFT8R,器件设置对话框中选择Cyclone 系列EP1C6Q240C8 芯片,建立新工程。 2.) 选择File New 菜单,创建V erilog HDL 描述语言设计文件,打开文本编辑器界面。 3.) 在文本编辑器界面中编写V erilog HDL 程序,源程序如下: module SHFIT8R(din,r_st,clk,load,dout); input [7:0]din; input clk,r_st,load; output dout; reg dout; reg [7:0]tmp; always @(posedge clk) if(!r_st) begin dout<=0; end else begin if(load) begin tmp=din; end else

计算机组成原理寄存器实验

成绩:计算机原理实验室实验报告 课程:计算机组成原理 姓名:李文周 专业:计算机科学与技术 学号:132054237 日期:2015.12 太原工业学院 计算机工程系

实验二:寄存器实验 实验环境PC机+Win7+74LS373+proteus仿真器实验日期2015.12一.实验内容 (1)基本内容 1.理解CPU运算器中寄存器的作用 2.设计并验证4位算数逻辑单元的功能 (2)扩展要求 1.实现更多的寄存器(至少8个)

二.理论分析或算法分析 74ls373是常用的地址锁存器芯片,它实质是一个是带三态缓冲输出的8D 触发器,在单片机系统中为了扩展外部存储器,通常需要一块74ls373芯片。74ls373工作原理简述: (1).1脚是输出使能(OE),是低电平有效,当1脚是高电平时,不管输入3、4、7、8、13、14、17、18如何,也不管11脚(锁存控制端,G)如何,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)全部呈现高阻状态(或者叫浮空状态); (2).当1脚是低电平时,只要11脚(锁存控制端,G)上出现一个下降沿,输出2(Q0)、5(Q1)、6(Q2)、9(Q3)、12(Q4)、15(Q5)、16(Q6)、19(Q7)立即呈现输入脚3、4、7、8、13、14、17、18的状态.锁存端LE由高变低时,输出端8位信息被锁存,直到LE 端再次有效。当三态门使能信号OE为低电平时,三态门导通,允许Q0~Q7输出,OE为高电平时,输出悬空。

L——低电平;H——高电平;X——不定态;Q0——建立稳态前Q的电平;G——输入端,与8031ALE连高电平:畅通无阻低电平:关门锁存。图中OE——使能端,接地。当G=“1”时,74LS373输出端1Q—8Q与输入端1D—8D相同;当G 为下降沿时,将输入数据锁存。 三.实现方法(含实现思路、程序流程图、实验电路图和源程序列表等)

集成计数器及寄存器的运用 实验报告

电子通信与软件工程 系2013-2014学年第2学期 《数字电路与逻辑设计实验》实验报告 --------------------------------------------------------------------------------------------------------------------- 班级: 姓名: 学号: 成绩: 同组成员: 姓名: 学号: --------------------------------------------------------------------------------------------------------------------- 一、 实验名称:集成计数器及寄存器的运用 二、实验目的: 1、熟悉集成计数器逻辑功能与各控制端作用。 2、掌握计数器使用方法。 三、 实验内容及步骤: 1、集成计数器74LS90功能测试。74LS90就是二一五一十进制异步计数器。逻辑简图为图8、1所示。 四、 五、 图8、1 六、 74LS90具有下述功能: ·直接置0(1)0(2)0(.1)R R ,直接置9(S9(1,·S,.:,=1) ·二进制计数(CP 、输入QA 输出) ·五进制计数(CP 2输入Q D Q C Q B 箱出) ·十进制计数(两种接法如图8.2A 、B 所示) ·按芯片引脚图分别测试上述功能,并填入表 8、1、表8、2、表8、3中。

图8、2 十进制计数器 2、计数器级连 分别用2片74LS90计数器级连成二一五混合进制、十进制计数器。 3、任意进制计数器设计方法 采用脉冲反馈法(称复位法或置位法)。可用74LS90组成任意模(M)计数器。图8、3就是用74LS90实现模7计数器的两种方案,图(A)采用复位法。即计数计到M异步清0。图(B)采用置位法,即计数计到M一1异步置0。 图8、3 74LS90 实现七进进制计数方法 (1)按图8、3接线,进行验证。 (2)设计一个九进制计数器并接线验证。 (3)记录上述实验的同步波形图。 四、实验结果:

计数器和移位寄存器设计仿真实验报告.

实验四典型时序电路的功能测试与综合仿真报告 15291204张智博一.74LS290构成的24位计数器 方法:第一片74290的Q3与第二片的INB相连,R01,R02相连,INA,R91,R92悬空构成24位计数器。50Hz,5v方波电压源提供时钟信号,用白炽灯显示输出信号。 实验电路: 实验现象:

输出由000000变为000001,000010,000011,000100,001000,001001,001010,001011,001100,010001,010000,010010,010011,010100,011000,011001,011010,011011,011100,100000,100001,100010,100011,100100,最终又回到000000,实现一次进位。 二.74LS161构成的24位计数器 方法:运用多次置零法 用两片74LS161构成了24位计数器,两片计数器的时钟信号都由方波电压源提供,第一片芯片的Q3和第二片芯片的Q0通过与非门,构成两个74LS161的LOAD信号,第一片的CO接第二片的ENT,其他ENT和ENP接Vcc(5v)。输出接白炽灯。 电路图: 实验现象:以下为1—24的计数过程

三.74LS194构成的8位双向移位寄存器 方法:通过两片194级联,控制MA,MB的值,来控制左右移动 实验电路由两片74LS194芯片构成。两个Ma接在一起,两个Mb接在一起,第一片的Dr,第二片的Dl,分别通过开关接到Vcc(5v)上。第一片的Q3接到第二片的Dr,第二片的Q0接到第一片的Dl。8个输出端分别接白炽灯。 实验电路:

实验二通用寄存器单元实验

实验二通用寄存器单元实验 2014.4.29 班级12级物联网工程(1)班学号姓名 【实验目的】 1.了解通用寄存器的组成和硬件电路。 2.利用通用寄存器实现数据的置数、左移、右移等功能。 【实验要求】 1.按照实验步骤完成实验项目,实现通用寄存器移位操作。 2.了解通用寄存器单元的工作原理运用。 【实验过程】 实验2.1 数据输入通用寄存器 (1).把RA-IN(8芯的盒型插座)与CPT-B板上的二进制开关单元中J01插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。 (2).把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-O、M接入二进制拨动开关。(请按下表接线)。 (3).二进制开关H16~H23作为数据输入,置42H(对应开关如下表)。 置各控制信号如下: (4).按启停单元中的运行按钮,置平台为运行状态。 (5).按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把42H打入通用寄存器。 (6).此时数据总线上的指示灯IDB0~IDB7 应该显示为42H。由于通用寄存器内容不为0,所以LED(ZD)灯灭。

实验2.2 寄存器内容无进位位左移实验 (1)按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。 (2)实现左移功能,置各控制信号如下: (3)按启停单元中的运行按钮,置实验平台为运行状态。 (4)按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值左移。 (5)此时数据总线上的LED指示灯IDB0~IDB7 应该显示为84H。由于通用寄存器内容不为0,所以ZD(LED)灯灭。 (6)按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值左移,此时数据总线上的LED指示灯IDB0~IDB7应该显示为09H。若一直按PLS1,在总线上将看见数据循环左移的现象。 实验2.3 寄存器内容无进位位右移实验 (1)按照实验1数据输入的方法把数据42H打入通用寄存器中,数据总线上显示42H。 (2)实现右移功能,置各控制信号如下: (3)按启停单元中的运行按钮,置实验平台为运行状态。 (4)按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器中的值右移。 (5)此时数据总线上的LED指示灯IDB0~IDB7 应该显示为21H。由于通用寄存器内容不为0,所以ZD(LED)灯灭。 (6)按脉冲单元中的PLS1脉冲按键,使通用寄存器中的值右移,此时数据总线上的LED指示灯IDB0~IDB7应该显示为90H。若一直按PLS1,在总线上将看见数据循环左移的现象。 附:通用寄存器的逻辑 通用寄存器(8位并入并出移位寄存器) 【实验结果】

计算机原理与及设计实验报告

计算机原理与设计 实验报告 实验三多周期MIPS CPU的控制部件用有限状态机实现多周期CPU的控制部 件

一.实验目的 1、了解MIPS—CPU控制器的功能和工作原理; 2、掌握用有限状态机技术实现多周期控制器的方法; 3、熟练掌握用Verilog HDL语言设计多周期控制器的方法; 4、熟练掌握对多周期控制器的仿真实验验证和硬件测试两种调试方法; 5、掌握向MIPS-CPU顶层数据通路中增加控制单元的方法,并通过仿真验证和硬件测试两种方法对电路进行故障定位的调试技术。 二.实验内容 (1)MIPS—CPU控制器的有限状态机设计,根据MIPS—CPU 各种类型指令执行要求和有限状态机的设计原理,将多周期控制器的指令执行划分为多个状态,确定每一种指令的有限状态机,最后归纳为完整的多周期控制器有限状态机。通过Verilog HDL语言实现多周期控制器有限状态机。 (2)根据MIPS—CPU控制器的接口要求,在有限状态机的

基础上,用Verilog HDL实现完整的MIPS—CPU控制器的设计,并根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译; (3)设计控制器的硬件下载测试方案。将编译通过的电路下载到实验台中。根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序重新编译;最终完成控制器的硬件电路设计; (4)在MIPS—CPU指令系统的数据通路基础上,增加控制单元电路,并进行编译,仿真波形和调试。根据仿真波形,验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译; (5)对增加了控制单元的顶层数据通路设计硬件下载测试方案。将编译通过的电路下载到实验台中。根据硬件调试结果验证设计的正确性,并对出现的故障进行定位,修改程序,重新编译;最终完成增加了控制单元的顶层数据通路设计。三.实验原理与步骤 1.把指令执行分成多个阶段,每个阶段在一个时钟周期内完成 (1).时钟周期以最复杂阶段所花时间为准 (2).尽量分成大致相等的若干阶段 (3).每个阶段内最多只能完成:1次访存或1次寄存器堆读/写或1次ALU

计算机组成原理实验报告

实验1 通用寄存器实验 一、实验目的 1.熟悉通用寄存器的数据通路。 2.了解通用寄存器的构成和运用。 二、实验要求 掌握通用寄存器R3~R0的读写操作。 三、实验原理 实验中所用的通用寄存器数据通路如下图所示。由四片8位字长的74LS574组成R1 R0(CX)、R3 R2(DX)通用寄存器组。图中X2 X1 X0定义输出选通使能,SI、XP控制位为源选通控制。RWR为寄存器数据写入使能,DI、OP为目的寄存器写选通。DRCK信号为寄存器组打入脉冲,上升沿有效。准双向I/O输入输出端口用于置数操作,经2片74LS245三态门与数据总线相连。 图2-3-3 通用寄存器数据通路

四、实验内容 1.实验连线 2.寄存器的读写操作 ①目的通路 当RWR=0时,由DI、OP编码产生目的寄存器地址,详见下表。 通用寄存器“手动/搭接”目的编码 ②通用寄存器的写入 通过“I/O输入输出单元”向R0、R1寄存器分别置数11h、22h,操作步骤如下: 通过“I/O输入输出单元”向R2、R3寄存器分别置数33h、44h,操作步骤如下: ③源通路 当X2~X0=001时,由SI、XP编码产生源寄存器,详见下表。 通用寄存器“手动/搭接”源编码

④通用寄存器的读出 五、实验心得 通过这个实验让我清晰的了解了通用寄存器的构成以及通用寄存器是如何运用的,并且熟悉了通用寄存器的数据通路,而且还深刻的掌握了通用寄存器R3~R0的读写操作。

实验2 运算器实验 一、实验目的 掌握八位运算器的数据传输格式,验证运算功能发生器及进位控制的组合功能。 二、实验要求 完成算术、逻辑、移位运算实验,熟悉ALU运算控制位的运用。 三、实验原理 实验中所用的运算器数据通路如图2-3-1所示。ALU运算器由CPLD描述。运算器的输出FUN经过74LS245三态门与数据总线相连,运算源寄存器A和暂存器B的数据输入端分别由2个74LS574锁存器锁存,锁存器的输入端与数据总线相连,准双向I/O输入输出端口用来给出参与运算的数据,经2片74LS245三态门与数据总线相连。 图2-3-1运算器数据通路 图中AWR、BWR在“搭接态”由实验连接对应的二进制开关控制,“0”有效,通过【单拍】按钮产生的脉冲把总线上的数据打入,实现运算源寄存器A、暂存器B的写入操作。 四、实验内容 1.运算器功能编码 表2.3.1 ALU运算器编码表 算术运算逻辑运算 K15 K13 K12 K11 功能K15 K13 K12 K11 功能 M S2 S1 S0 M S2 S1 S0 0 0 0 0 A+B+C 1 0 0 0 B 0 0 0 1 A—B—C 1 0 0 1 /A 0 0 1 0 RLC 1 0 1 0 A-1 0 0 1 1 RRC 1 0 1 1 A=0

寄存器组的设计与实现

寄存器组的设计与实现 第______ _________组 成员___ ____ ____ 实验日期___ _____ _____ 实验报告完成日期___________ 1、实验目的 1、学习掌握Quartus软件的基本操作; 2、理解寄存器组的工作原理和过程; 3、设计出寄存机组并对设计的正确性进行验证; 二、实验内容

1、设计出功能完善的寄存器组,并对设计的正确性进行验证。要求如下: (1)用图形方式设计出寄存器组的电路原理图 (2)测试波形时用时序仿真实现,先将不同的数据连续写入 4个寄存器后,再分别读出 (3)将设计文档封装成器件符号。 (4)数据的宽度最好是16位 2、能移位的暂存器实验,具体要求如下: (1)用图形方式设计出能移位的暂存器电路原理图,分别实 现左移、逻辑右移和算术右移。 (2)测试波形时要用时序仿真实现,测试数据不要全为0也 不要全为1,算术右移的测试数据要求为负数(即符号位为 1) (3)将设计文档封装成器件符号。 (4)数据的宽度最好是16位 三、能完善的寄存器组设计思想 1、对于寄存器组设计思路 利用具有三态功能的寄存器堆74670芯片进行设计,根据实验要求,需要设计16位的存储器组,则需要74670芯片4片,在寄存器组工作时,同时对4片74670芯片进行读写操作控制,封装后即可作为包含有4个寄存器的16位寄存器组在主机系统中调用。 2、对74670器件的学习 74670(三态输出4×4寄存器堆)提供4个4位的寄存器,在功能上可对4个寄存器去分别进行写操作和读操作。在寄存器进行写操作时,通过WB、WA两个寄存器选择端的组合和00、01、10、11、来选择寄存器,公国GWN写操作端控制进行三态控制,在GWN为低电平时将数据写入端数据D4D3D2D1写入该寄存器;在寄存

计算机组成原理实验报告总结寄存器的原理及操作.doc

成绩:实验报告 课程名称:计算机组成原理 实验项目:寄存器的原理及操作 姓名: 专业:计算机科学与技术 班级: 学号:

计算机科学与技术学院 实验教学中心 20 16年6月20日

实验项目名称:寄存器的原理及操作 一、实验目的 1.了解模型机中 A, W 寄存器结构、工作原理及其控制方法。 2.了解模型机中寄存器组 R0..R3 结构、工作原理及其控制方法。 3.了解模型机中地址寄存器 MAR,堆栈寄存器 ST,输出寄存器 OUT寄存器结构、工作原理及其控 制方法。 二、实验内容 1、A、W寄存器:利用 COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开关做为控制信号, 将数据写入寄存器A, W。 2、R0、R1、R2、R3 寄存器实验:利用COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开 关做为控制信号,对数据寄存器组R0..R3 进行读写。 3、MAR、ST、OUT寄存器:利用COP2000实验仪上的K16..K23 开关做为DBUS的数据,其它开关做为 控制信号,将数据写入地址寄存器MAR,堆栈寄存器ST,输出寄存器OUT。 三、实验用设备仪器及材料 伟福 COP2000 系列计算机组成原理实验系统 四、实验原理及接线 实验 1:A,W 寄存器实验

实验 2 :R0,R1, R2,R3寄存器实验

MAR为存储器地址寄存器,其功能是存储操作数在内存中的地址,信号MAREN的功能是将数据总线DBUS上数据 MAR,信号 MAROE的功能是将MAR的值送到地址总线ABUS上 ST 堆栈寄存器的作用,是出现中断或子程序调用时,保存断点处PC 的值,以便中断或子程序结束时, 能继续执行原程序。图中,信号STEN的作用是将数据总线DBUS上数据存入堆栈寄存器ST 中

实验六移位寄存器的设计

实验六移位寄存器的设计 一、实验目的 1、掌握中规模4位双向移位寄存器逻辑功能及使用方法。 2、熟悉移位寄存器的应用—实现数据的串行、并行转换和构成环形计数器。 二、实验预习要求 1、复习有关寄存器及串行、并行转换器有关内容。 2、查阅CC40194、CC4011及CC4068 逻辑线路。熟悉其逻辑功能及引脚排列。 3、在对CC40194进行送数后,若要使输出端改成另外的数码,是否一定要使寄存器清零? 4、使寄存器清零,除采用R C输入低电平外,可否采用右移或左移的方法?可否使用并行送数法?若可行,如何进行操作? 5、若进行循环左移,图6-4接线应如何改接? 6、画出用两片CC40194构成的七位左移串 /并行转换器线路。 7、画出用两片CC40194构成的七位左移并 /串行转换器线路。 三、实验设备及器件 1、+5V直流电源 2、单次脉冲源 3、逻辑电平开关 4、逻辑电平显示器 5、CC40194×2(74LS194)CC4011(74LS00) CC4068(74LS30) 四、设计方法与参考资料 1、移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用,其逻辑符号及引脚排列如图6-1所示。 其中D0、D1、D2、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;S R为右移串行输 C为直接无条件清零端; 入端,S L为左移串行输入端;S1、S0为操作模式控制端;R

计算机组成原理实验报告 通用寄存器单元实验

西华大学数学与计算机学院实验报告 课程名称:计算机组成原理年级:2011级实验成绩: 指导教师:祝昌宇姓名:蒋俊 实验名称:通用寄存器单元实验学号:312011*********实验日期:2013-12-15 一、目的 1.了解通用寄存器的组成和硬件电路 2. 利用通用寄存器实现数据的置数、左移、右移等功能 二、实验原理 (1)寄存器实验构成 1、通用寄存器由2片GAL构成8位字长的寄存器单元。8芯插座RA-IN作为数据输入端,可通过端8芯扁平电缆,把数据数据输入端连接到数据总线上。 2、数据输出由一片74LS244(输出缓冲器)来控制。用8芯插座RA-OUT作为数据输出端,可通过端8芯扁平电缆,把数据数据输出端连接到数据总线上。 3、判零和进位电路由1片GAL、1片7474和一些常规芯片组成,用2个LED(ZD、CY)发光管分别显示其状态。 (2)通用寄存器单元的工作原理 通用寄存器的核心部件为2片GAL,它具有锁存、左移、右移、保存等功能。各个功能都由X1、X2信号和工作脉冲RACK来决定。当置ERA=0、X0=1、X1=1,RACK有上升沿时,把总线上的数据打入通用寄存器。可通过设置X1、X0来指定通用寄存器工作方式,通用寄存器的输出端Q0~Q7接入判零电路。LED(ZD)亮时,表示当前通用寄存器内数据为0。 输出缓冲器采用74LS244,当控制信号RA-O为低时,74LS244开通,把通用寄存器内容输出到总线;当控制信号RA-O为高时,74LS244的输出为高阻。 图1 通用寄存器原理图 三、使用环境 计算机组成原理实验箱 四、实验步骤

(一)数据输入通用寄存器 1.把RA-IN(8芯的盒型插座)与CPT-B板上二进制开关单元中的J1插座相连(对应二进制开关H16~H23),把RA-OUT(8芯的盒型插座)与数据总线上的DJ6相连。 2.把RACK连到脉冲单元的PLS1,把ERA、X0、X1、RA-0、M接入二进制拨动开关。请按下表接线。 信号定义接入开关位号 RACK PLS1孔 X0 H12孔 X1 H11孔 ERA H10孔 RA-O H9孔 M H4孔 3.二进制开关H16~H23作为数据输入,置42H(对应开关如下表) H23 H22 H21 H20 H19 H18 H17 H16 数据总线值 D7 D6 D5 D4 D3 D2 D1 D0 8位数据 0 1 0 0 0 0 1 0 42H 置各控制信号如下: H12 H11 H10 H9 H4 X0 X1 ERA RA-O M 1 1 0 0 1 4.按启停单元中的有效按钮,置实验机为运行状态。 5.按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,把42H打入通用寄存器。 $ 此时数据总线上的指示灯IDB0~IDB7显示为42H。由于通用寄存器内容不为0,所以ZD (LED)灯灭。 (二)寄存器内容无进位位左移 1.把42H打入通用寄存器中,数据总线上显示42H。 2.实现左移功能,置各控制信号如下: H12 H11 H10 H9 H4 X0 X1 ERA RA-O M 1 1 0 0 1 3.按启停单元中的有效按钮,置实验机为运行状态。 4.按脉冲单元中的PLS1脉冲按键,在RACK上产生一个上升沿,使通用寄存器的值左移。 $ 此时数据总线上的LED指示灯IDB0~IDB7应该显示为84H。由于通用寄存器内容不为0,所以ZD (LED)灯灭。 5.按脉冲单元中的PLS1脉冲按键,使通用寄存器的值左移,此时数据总线上的LED指示灯IDB0~IDB7显示为09H。若一直按PLS1,在总线上看见数据循环左移的现象。

杭电计组实验4-寄存器堆设计实验

杭州电子科技大学计算机学院 实验报告 实验项目: 课程名称:计算机组成原理与系统结构设计 姓名: 学号: 同组姓名: 学号 : 实 验 位 置 ( 机 号 ) : 实验日期: 指 导 教 师: 实验 内容 (算 法、 程 序、 步骤 和 方 法) 一、 实验目的 (1 )学会使用Verilog HDL 进行时序电路的设计方法。 (2)掌握灵活应用Verilog HDL 进行各种描述与建模的技巧和方法。 (3 )学习寄存器堆的数据传送与读 /写工作原理,掌握寄存器堆得设计方法。 二、 实验仪器 ISE 工具软件 三、 步骤、方法 (1) 启动Xilinx ISE 软件,选择File->New Project,输入工程名shiyan2,默认选择后,点 击Next 按钮,确认工程信息后点击 Finish 按钮,创建一个完整的工程。 (2) 在工程管理区的任意位置右击,选择 New Source 命令。弹出 New Source Wizard 对 话框, 选择Verilog Module,并输入Verilog 文件名,点击Next 按钮进入下一步, 点击Finish 完成创建。 (3) 编辑程序源代码,然后编译,综合;选择 Synthesize--XST 项中的Check Syntax 右击 选择 Run 命令,并查看RTL 视图;如果编译出错,则需要修改程序代码,直至正确。 (4) 在工程管理区将 View 类型设置成 Simulation ,在任意位置右击,选择 New Source 命 令,选择Verilog Test Fixture 选项。点击Next ,点击Finish ,完成。编写激励代码,观察仿 真波形,如果验证逻辑有误,则修改代码,重新编译,仿真,直至正确。 (5) 由于实验四并未链接实验板,所以后面的链接实验板的步骤此处没有。

西工大2017年数字集成电路设计实验课实验一

实验四 译码器的设计及延迟估算 1、 设计译码器并估算延迟 设计一个用于16bit 寄存器堆的译码器,每一个寄存器有32bit 的宽度,每个bit 的寄存器单元形成的负载可以等效为3个单位化的晶体管(后面提到负载都为单位化后的负载)。 译码器的结构可参考典型的4-16译码器 译码器和寄存器堆的连接情况(Output 输出为1的一行寄存器被选中) ① 假定4个寄存器地址位的正反8个输入信号,每个信号的输入负载可以等效为10。确定 译码器的级数,并计算相关逻辑努力,以此来确定每一级中晶体管的尺寸(相当于多少个单位化的晶体管)及整个译码电路的延迟(以单位反相器的延迟的本征延迟Tp0为单位)。 解: 96332,10int =?==ext g C C C ,9.696/10F ==? 假定每一级的逻辑努力:G=1,又因为分支努力(每个信号连接8个与非门): 81*8*1B ==, 路径努力8.7686.91=??==GFB H 所以,使用最优锥形系数就可得到最佳的电路级数39.36.3ln 8.76ln 6.3ln ln ===H N ,故N 取3级。 因为逻辑努力:2121G =??=,路径努力:6.15386.92=??==GFB H 则使得路径延时最小的门努力 36.5)6.153(3/1===N H h 。 所以: . 36.5136.5,68.2236.5, 36.5136.5132211=========g h f g h f g h f

故第一级晶体管尺寸为7.68 1036.5=?; 第二级尺寸为956.1768.27.6=?; 第三级尺寸为96244.9636.5956.17≈=?。 故延迟为:0008.22)36.5136.5436.51(p p p t t t =+++++= ② 如果在四个寄存器地址输入的时候,只有正信号,反信号必须从正信号来获得。每个正信号的输入的等效负载为20,使用与①中同样的译码结构,在这种条件下确定晶体管的大小并评估延迟(以单位反相器的延迟的本征延迟Tp0为单位)。 解:因为输入时通过两级反相器,使这两个反相器分摊原来单个反相器的等效扇出,将两级反相器等效为一级,故其逻辑努力32.236.5h ==, 故36.5,68.2,32.2,32.24321====f f f f 所以: 第一级尺寸为:()9.2832.210=?; 第二级尺寸为:728.632.29.2=?; 第三级尺寸为:03.1868.2728.6=?; 第四级尺寸为:65.9636.503.18=? 正信号通路的延迟为:()0036.2236.5136.5436.5132.2132.2p p p t t t =++++++++= 反信号通路情况与上问相同,延迟为0008.22)36.5136.5436.51(p p p t t t =+++++= 2、 根据单位反相器(NMOS:W=0.5u L=0.5u PMOS:W=1.8u L=0.5u),设计出实 际电路,并仿真1题中第一问的路径延迟。 设计出实际电路如下:

实验二:输寄存器实验解析

成绩: 计算机原理实验室实验报告 本说明打印前删除!!proteus 实验报告格式必须保持原样,蓝色部分按照实验内容自行填写;全班统一使用A4大小纸张,部分困难学生可以使用等大小纸张,自绘实验报告格式;全部实验完成后,学委按照实验顺序把每个学生的实验报告(含首页)装订成册,按照学号顺序排列,提交给实验指导老师(询问代课老师,学校将实验工作指派给了哪位老师)。 学委提交报告时,需要同时提交(附录)实验成绩登记表一份。其中表头部分课程,班级,班级总人数照实填写,项目填写本学期本课程的实验数量;学号姓名栏按照顺序填写,报告一栏填写该同学交报告的份数(每项目每人一份报告);出勤和成绩栏留空,由实验室填写;特殊情况填写在备注处,若空间不够请写于背面并在备注处标明;若有学号超过58号的情况,请在背后按照格式登记所有项目;空学号可以不留空位置,顺序递进。 课程:计算机组成原理 姓名:刘翔翔 专业:软件工程 学号:1420561 21 日期:2016年6月 太原工业学院 计算机工程系

实验二:输寄存器实验 实验环境PC机+Win 7+proteus仿真器实验日期2016.06.01 一.实验内容 基本要求 1.理解CPU运算器中寄存器的作用 2.设计并验证寄存器组(至少四个寄存器) 扩展要求 3.实现更多的寄存器(至少8个) 思考题: 思考随着寄存器的增多,电路设计的复杂度是什么比例增大? 二.理论分析或算法分析 1.基本要求 使用74LS373充当寄存器,74LS139做地址译码,74LS245用作输入,数码管显示寄存器内的数据。74LS139为二-四译码器,用两根线作为地址线接到74LS139的输入端,输出端分别接到每个74LS373的OE上,再用一个74LS139配合反相器产生控制每个74LS373的LE的信号。74LS245的输出端分别对应接到373输入端的每个管脚上的。74LS373的输出端对应接到数码管的对应管教上,以实现数据的显示。先在各个寄存器中输入不同的数据,然后关闭74ls248(输入),选择不同的373(寄存器),在数码管上显示不同的数据。 2.扩展要求 与基本要求相比大体不变,地址译码部分选择74LS138来做地址译码器。原理图连接方式原理不变,验证方式不变。

计算机组成原理 实验4

实验四模型机设计 1 实验目的 (1) 掌握一个简单CPU的组成原理。 (2) 在掌握部件单元电路的基础上,进一步将其构造一台基本模型计算机。 (3) 为其定义五条机器指令,编写相应的微程序,并上机调试掌握整机概念。 2 实验设备 PC机一台,TD-CMA实验系统一套。 3 实验原理 本实验要实现一个简单的CPU,并且在此CPU的基础上,继续构建一个简单的模型计算机。CPU由运算器(ALU)、微程序控制器(MC)、通用寄存器(R0),指令寄存器(IR)、程序计数器(PC)和地址寄存器(AR)组成,如图4-1所示。这个CPU在写入相应的微指令后,就具备了执行机器指令的功能,但是机器指令一般存放在主存当中,CPU必须和主存挂接后,才有实际的意义,所以还需要在该CPU的基础上增加一个主存和基本的输入输出部件,以构成一个简单的模型计算机。 图4-1 基本CPU构成原理图 除了程序计数器(PC),其余部件在前面的实验中都已用到,在此不再讨论。系统的程序计数器(PC)和地址寄存器(AR)集成在一片CPLD芯片中。CLR连接至CON单元的总清端CLR,按下CLR按钮,将使PC清零,LDPC和T3相与后作为计数器的计数时钟,当LOAD为低时,计数时钟到来后将CPU内总线上的数据打入PC。

T3 CLR 图4-2 程序计数器(PC)原理图 本模型机和前面微程序控制器实验相比,新增加一条跳转指令JMP,共有五条指令:IN(输入)、ADD(二进制加法)、OUT(输出)、JMP(无条件转移),HLT(停机),其指令格式如下(高4位为操作码): 助记符机器指令码说明 IN0010 0000IN R0 ADD0000 0000R0 + R0 R0 OUT0011 0000R0 OUT JMP addr1110 0000 ********addr PC HLT0101 0000停机 其中JMP为双字节指令,其余均为单字节指令,********为addr对应的二进制地址码。微程序控制器实验的指令是通过手动给出的,现在要求CPU自动从存储器读取指令并执行。根据以上要求,设计数据通路图,如图4-3所示。 本实验在前一个实验的基础上增加了三个部件,一是PC(程序计数器),另一个是AR(地址寄存器),还有就是MEM(主存)。因而在微指令中应增加相应的控制位,其微指令格式如表4-1所示。

最新实验6-移位寄存器功能测试及应用-(实验报告要求)

实验六 移位寄存器功能测试及应用 --实验报告要求 一. 实验目的(0.5分) 1. 熟悉寄存器、移位寄存器的电路结构和工作原理。 2. 掌握中规模4位双向移位寄存器逻辑功能及使用方法。 3. 熟悉移位寄存器的应用。 二. 实验电路 D0、D1 、D2 、D3为并行输入端;Q0、Q1、Q2、Q3为并行输出端;SR 为右移串行输入端,SL 为左移串行输入端;S1、S0 为操作模式控制端;R C 为直接无条件清零端;CP 为时钟脉冲输入端。 三 图2 CC40194/74LS194 逻辑功能测试 图1 CC40194/74LS194的逻辑符号及引脚功能 图3 环形计数器

四. 实验原理(0.5分) 1.移位寄存器是一个具有移位功能的寄存器,是指寄存器中所存的代码能够在移位脉冲的作用下依次左移或右移。既能左移又能右移的称为双向移位寄存器,只需要改变左、右移的控制信号便可实现双向移位要求。根据移位寄存器存取信息的方式不同分为:串入串出、串入并出、并入串出、并入并出四种形式。 本实验选用的4位双向通用移位寄存器,型号为CC40194或74LS194,两者功能相同,可互换使用。 74LS194有5种不同操作模式:即并行送数寄存,右移(方向由Q0-->Q3),左移(方向由Q3→Q0),保持及清零。 2.移位寄存器应用很广,可构成移位寄存器型计数器:顺序脉冲发生器;串行累加器;可用数据转换,即把串行数据转换为并行数据,或把并行数据转换为串行数据等。本实验研究移位寄存器用作环形计数器和数据的串、并行转换。 (1)环行计数器 把移位寄存器的输出反馈到它的串行输入端,就可以进行循环移位。 (2)实现数据、并行转换器 a)串行∕并行转换器 串行∕并行转换器是指串行输入的数码,经转换电路之后变换成并行输出。 b)并行∕串行转换器 并行∕串行转换器是指并行输入的数码经转换电路之后,换成串行输出。 五. 实验内容与步骤(共1分) 1. 2.测试74LS194的逻辑功能(0.5分) (1)在实验箱上选取一个16P插座,按定位标记插好74LS194集成块。 (2)将实验挂箱上+5V直流电源接40194的16脚,地接8脚。S1、S0、SL、SR、D0、D1、D2、D3分别接至逻辑电平开关的输出插口;Q0、Q1、Q2、Q3接至发光二极管。CP端接单次脉冲源。 (3)改变不同的输入状态,逐个送入单次脉冲,观察寄存器输出状态,记录之。 a)清除:令=0,其它输入均为任意态,这时寄存器输出Q0、 Q1、 Q2 、Q3应均为0。清除后,至=1。 b)送数:令=S1=S0=1 ,送入任意4位二进制数,如D0、D1、D2、D3=1010,加CP脉冲,观察CP=0、CP由1→0、CP=1三种情况下寄存器输出状态的变化,观察寄存输出状态变化是否发生在CP脉冲的上升沿。 (c)右移:清零后,令=1, S1=0 S0=1,由右移输入端S R送入二进制数码如0100,由CP端连续加4个脉冲,观察输出情况,记录之。 (d)左移:先清零或予至,再令=1 S1=1,S0=0,由左移输入端S L送入二进制数码

移位寄存器实验报告

移位寄存器实验报告 姓名:陈素学号:3120100621 专业:软件工程课程名称:逻辑与计算机设计基础实验同组学生姓名:张闻 实验时间:y yyy-mm-dd 实验地点:紫金港东4-509 指导老师:一、实验目的和要求 掌握移位寄存器的工作原理及设计方法 掌握串、并数据转换的概念与方法 了解序列信号在CPU控制器设计中的应用 二、实验内容和原理 2.1 实验原理 带并行置入的移位寄存器 移位寄存器:每来一个时钟脉冲,寄存器中的数据按顺序向左或向右移动一位必须采用主从触发器或边沿触发器 不能采用电平触发器 数据移动方式:左移、右移 数据输入输出方式 串行输入,串行输出 串行输入,并行输出 并行输入,串行输出 串行输入的移位寄存器 使用D触发器,可构成串行输入的移位寄存器 2.2 标题 <正文>

带并行输入的右移移位寄存器 数据输入移位寄存器的方式:串行输入、并行输入 带并行输入的8位右移移位寄存器 module shift_reg(clk, S, s_in, p_in, Q); input wire clk, S, s_in; input wire [7:0] p_in; output wire [7:0] Q; wire [7:0] D; wire nS; FD FDQ0(.C(clk), .D(D[0]), .Q(Q[0])), FDQ1(.C(clk), .D(D[1]), .Q(Q[1])), FDQ2(.C(clk), .D(D[2]), .Q(Q[2])), FDQ3(.C(clk), .D(D[3]), .Q(Q[3])), FDQ4(.C(clk), .D(D[4]), .Q(Q[4])), FDQ5(.C(clk), .D(D[5]), .Q(Q[5])), FDQ6(.C(clk), .D(D[6]), .Q(Q[6])), FDQ7(.C(clk), .D(D[7]), .Q(Q[7])); OR2 D0_L(.I0(L_0), .I1(R_0), .O(D[0])), D1_L(.I0(L_1), .I1(R_1), .O(D[1])), D2_L(.I0(L_2), .I1(R_2), .O(D[2])), D3_L(.I0(L_3), .I1(R_3), .O(D[3])), D4_L(.I0(L_4), .I1(R_4), .O(D[4])), 串行输入 S

设计示例2寄存器堆设计

设计示例2:寄存器堆设计 1、 功能概述: MIPS 指令格式中的寄存器号是5bits ,指令可以访问25=32个32位的寄存器。这样的一堆寄存器“堆在一起”构成一个寄存器堆(Register File )。模块框图如图1所示: Regfile 图1 模块框图 2、 结构框图: 3、 接口说明: 表1: 寄存器堆模块接口信号说明表 clk we wdata Valid Valid waddr rst_n 图2 寄存器堆写时序框图

4、设计电路源代码 //功能描述风格寄存器堆的设计 module regfile( input clk, input rst_n, //写端口 input we, //写使能 input[4:0] waddr, //写寄存器下标 input[31:0] wdata, //待写入寄存器堆的数据 //读端口1 input[4:0]raddr1, //读端口1寄存器下标 output[31:0] rdata1,//从端口1读出的寄存器堆的数据 //读端口2 input[4:0]raddr2, //读端口2寄存器下标 output[31:0] rdata2 //从端口2读出的寄存器堆的数据); reg[31:0] regs[0:31]; //32个32位寄存器堆 //Write operation always @ (posedge clk or negedge rst_n) begin if(!rst_n) begin:reset_all_registers //将32个寄存器复位为0. integer i; for(i=0;i<32;i=i+1) regs[i] = 32'd0; end else begin //写寄存器堆有效时,更新寄存器堆中某个寄存器的数据 if((we == 1'b1) && (waddr != 5'h0)) begin regs[waddr] <= wdata; end end end //Read port1 operation assign rdata1 = (raddr1 == 5'd0) ? 32'd0 : regs[raddr1]; //Read port2 operation assign rdata2 = (raddr2 == 5'd0) ? 32'd0 : regs[raddr2];

相关文档
相关文档 最新文档