文档库 最新最全的文档下载
当前位置:文档库 › 寄存器组的设计与实现

寄存器组的设计与实现

寄存器组的设计与实现
寄存器组的设计与实现

实验三寄存器组的设计与实现

一、实验目的

1. 学习掌握Quartus II 的图形编辑、编译、仿真的设计流程;

2. 学习74670三态输出寄存器堆的使用;

3. 理解寄存器组的工作原理和过程,设计出4个16位寄存器组并对设计的正确性进行验证

二、实验任务及要求

1. 设计出功能完善的寄存器组,并对设计的正确性进行验证。具体要求如下:

(1) 用图形方式设计出寄存器组的电路原理图。

(2) 测试波形要用时序仿真实现,先将不同的数据连续写入4个寄存器后,再分别读出。

(3) 将设计文件封装成器件符号。

(4) 数据的宽度最好为16位。

三、实验装置

安装有Quartus II软件的PC机1台

四、设计思想

运用具有三态功能的芯片74670进行设计,74670为4*4(4个4位寄存器)的寄存器堆,使用四片74670并联,同时对4 片74670 芯片进行读写操作控制,从而实现4个16位数据的存储与输出。

五、逻辑电路图

74670芯片图:三态输出的4*4寄存器堆

六、实验结果:

见原理图,波形图以及元件封装图。

1.原理图分析:见设计思想

2.波形图分析:

当RE为1,WE不为1时,实现输入功能,WB,WA控制数据输入到哪个寄存器组当RE为1,WE为1时,出现高阻状态,此时既不输入也不输出

当WE为1,RE不为1时,实现输出功能,RB,RA控制哪个寄存器组的数据输出

3.封装元件的功能说明:

d[15..0]16位输入数据

q[15..0]16位输出数据

gwn:写入数据使能控制端,低有效

wa,wb:选择控制端,四种组合控制16位数输入到相应四种寄存器组

grn:读出数据使能控制端,低有效

ra,rb:选择控制端,四种组合控制从四种寄存器组读出相应16位数

七、实验小结:

1.遇到的问题及解决方法:

a.当Grid Time未进行设置时,输出的结果显示为全是Z,将时间改成100ns即可。

b.当读入操作数时,让WE是能控制端一直处于0状态,结果却不能正确显示。忽视了此实验为时序仿真,因而将WE改成1状态并且在WB、WA分别为00、01、10、11组合期间往下拉一小段设置为0,从而实现输入及显示正确的结果。

2.实验收获:

通过第一次计原实验(寄存器组的设计),我们更加熟悉了QuartusII软件的使用,尤其是对于其中的图形编辑、编译、仿真功能的实现。同时,也让我们有了一些利用已知元件设计出具有特定功能的新器件的意识,让我们有一种探求新事物的新鲜感。

同学之间的合作与交流在实验中体现得淋漓尽致,讨论交流让我们对问题有更深的认识,相互促进,相互学习,不知不觉中每个人的能力都能有所提高。

3.建议:

我认为实验对于学生能力的提高能起到很大的帮助,可以多开展实验来加强学生处理问题、解决问题的能力。

寄存器组的设计与实现

寄存器组的设计与实现 第______ _________组 成员___ ____ ____ 实验日期___ _____ _____ 实验报告完成日期___________ 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写入该寄存器;在寄存

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

计算机原理与设计 实验报告 实验三多周期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

计算机组成原理课程设计报告完整版

计算机组成原理课程设计报告 班级:06计算机 6 班姓名:李凯学号:20063007 完成时间:2009年1月3日 一、课程设计目的 1.在实验机上设计实现机器指令及对应的微指令(微程序)并验证,从而进一步掌握微程序设计控制器的基本方法并了解指令系统与硬件结构的对应关系; 2.通过控制器的微程序设计,综合理解计算机组成原理课程的核心知识并进一步建立整机系统的概念; 3.培养综合实践及独立分析、解决问题的能力。 二、课程设计的任务 针对COP2000实验仪,从详细了解该模型机的指令/微指令系统入手,以实现乘法和除法运算功能为应用目标,在COP2000的集成开发环境下,设计全新的指令系统并编写对应的微程序;之后编写实现乘法和除法的程序进行设计的验证。 三、课程设计使用的设备(环境) 1.硬件 ●COP2000实验仪 ●PC机 2.软件 ●COP2000仿真软件 四、课程设计的具体内容(步骤) 1.详细了解并掌握COP 2000模型机的微程序控制器原理,通过综合实验来实现该模型机指令系统的特点: COP2000模型机包括了一个标准CPU所具备所有部件,这些部件包括:运算器ALU、

累加器A、工作寄存器W、左移门L、直通门D、右移门R、寄存器组R0-R3、程序计数器PC、地址寄存器MAR、堆栈寄存器ST、中断向量寄存器IA、输入端口IN、输出端口寄存器OUT、程序存储器EM、指令寄存器IR、微程序计数器uPC、微程序存储器uM,以及中断控制电路、跳转控制电路。其中运算器和中断控制电路以及跳转控制电路用CPLD来实现,其它电路都是用离散的数字电路组成。微程序控制部分也可以用组合逻辑控制来代替。 模型机为8位机,数据总线、地址总线都为8位,但其工作原理与16位机相同。相比而言8位机实验减少了烦琐的连线,但其原理却更容易被学生理解、吸收。 模型机的指令码为8位,根据指令类型的不同,可以有0到2个操作数。指令码的最低两位用来选择R0-R3寄存器,在微程序控制方式中,用指令码做为微地址来寻址微程序存储器,找到执行该指令的微程序。而在组合逻辑控制方式中,按时序用指令码产生相应的控制位。在本模型机中,一条指令最多分四个状态周期,一个状态周期为一个时钟脉冲,每个状态周期产生不同的控制逻辑,实现模型机的各种功能。模型机有24位控制位以控制寄存器的输入、输出,选择运算器的运算功能,存储器的读写。24位控制位分别介绍如下: XRD :外部设备读信号,当给出了外设的地址后,输出此信号,从指定外设读数据。 EMWR:程序存储器EM写信号。 EMRD:程序存储器EM读信号。 PCOE:将程序计数器PC的值送到地址总线ABUS上。 EMEN:将程序存储器EM与数据总线DBUS接通,由EMWR和EMRD决定是将DBUS数据写到EM中,还是从EM读出数据送到DBUS。 IREN:将程序存储器EM读出的数据打入指令寄存器IR和微指令计数器uPC。 EINT:中断返回时清除中断响应和中断请求标志,便于下次中断。 ELP: PC打入允许,与指令寄存器的IR3、IR2位结合,控制程序跳转。 MAREN:将数据总线DBUS上数据打入地址寄存器MAR。 MAROE:将地址寄存器MAR的值送到地址总线ABUS上。 OUTEN:将数据总线DBUS上数据送到输出端口寄存器OUT里。 STEN:将数据总线DBUS上数据存入堆栈寄存器ST中。 RRD:读寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。 RWR:写寄存器组R0-R3,寄存器R?的选择由指令的最低两位决定。

位CPU设计与实现

计 算 机 组 成 原 理 论 文 姓名:某某 班级:计科一班 学号:

8位CPU的设计与实现论文CPU 的主要功能是执行指令,控制完成计算机的各项操作,包括运算操作、传送操作、输入/输出操作等。作为模型计算机设计,将重点放在寄存器组,采取较简单的组成模式,以尽量简洁的设计帮助读者掌握CPU 的基本原理。 此次设计CPU就是为了了解CPU运行的原理,从而完成从指令系统到CPU 的设计,并且通过仿真对CPU设计进行正确性评定。 关键词:CPU,设计指标,电路原理图,运算部件,寄存器组,模型机 指令系统,微命令序列,数据通路 1. 设计的任务与要求 1.1设计指标 1. 能实现IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP (无条件转移)这五种指令; 2. 整个系统能正常稳定工作。 1.2 设计要求 1. 画出电路原理图; 2.写出设计的全过程,附上有关资料和图纸(也可直接写在相关章节中),有 心得体会。 2. 方案论证与选择 2.1 CPU的系统方案

CPU 主要由算术逻辑单元ALU,数据暂存寄存器DR1、DR2,数据寄存器R0~R2,程序计数器PC,地址寄存器AR,程序/数据存储器MEMORAY,指令寄存器IR,微控制器uC,输入单元INPUT 和输出单元OUTPUT 所组成。图中虚线框内部分包括运算器、控制器、程序存储器、数据存储器和微程序存储器等,实测时,它们都可以在单片FPGA 中实现。虚线框外部分主要是输入/输出装置,包括键盘、数码管、LCD 显示器等,用于向CPU 输入数据,或CPU 向外输出数据,以及观察CPU 内部工作情况及运算结果。 1.运算部件 运算部件的任务是对操作数进行加工处理。主要由三部分组成: (1)输入逻辑。(2)算术/逻辑运算部件ALU。(3)输出逻辑 2.寄存器组 计算机工作时,CPU 需要处理大量的控制信息和数据信息。例如对指令信息进行译码,以便产生相应控制命令对操作数进行算术或逻辑运算加工,并且根据运算结果决定后续操作等。因此,在CPU 中需要设置若干寄存器,暂时存放这些信息。在模型CPU中,寄存器组由R0、R1、R2 所组成。 3.指令寄存器指令寄存器(IR) 指令寄存器指令寄存器(IR)用来存放当前正在执行的指令,它的输出包括操作码信息、地址信息等,是产生微命令的主要逻辑依据。 4.程序计数器程序计数器(PC) 程序计数器程序计数器也称指令指针,用来指示指令在存储器中的存放位置。当程序顺序执行时,每次从主存取出一条指令,PC 内容就增量计数,指向下一条指令的地址。增量值取决于现行指令所占的存储单元数。如果现行指令只占一个存储单元,则PC 内容加1;若现行指令占了两个存储单元,那么PC 内容就要加2。当程序需要转移时,将转移地址送入PC,使PC 指向新的指令地址。因此,当现行指令执行完,PC 中存放的总是后续指令的地址;将该地址送往主存的地址寄存器AR,便可从存储器读取下一条指令。 5.地址寄存器 CPU 访问存储器,首先要找到需要访问的存储单元,因此设置地址寄存器(AR)来存放被访单元的地址。当需要读取指令时,CPU 先将PC 的内容送入AR,再由AR将指令地址送往存储器。当需要读取或存放数据时,也要先将该数据的有效地址送入AR,再对存储器进行读写操作。 6.标志寄存器 标志寄存器F是用来记录现行程序的运行状态和指示程序的工作方式的,标志位则用来反映当前程序的执行状态。一条指令执行后,CPU 根据执行结果设置相应特征位,作为决定程序流向的判断依据。例如,当特征位的状态与转移条件符合时,程序就进行转移;如果不符合,则顺序执行。在后面将要介绍的较复杂模型计算机设计中设置了两个标志位:进位Fc、零位Fz。 7.微指令产生部件 实现信息传送要靠微命令的控制,因此在CPU 中设置微命令产生部件, 根据控制信息产生微命令序列,对指令功能所要求的数据传送进行控制, 同时在数据传送至运算部件时控制完成运算处理。 微命令产生部件可由若干组合逻辑电路组成,也可以由专门的存储逻辑组成。产生微命令的方式可分为组合逻辑控制方式和微程序控制方式两种。在本章所介绍的8 位模型CPU 设计中,采用微程序控制方式通过微程序控制器和微指令存储器

杭电计组实验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) 由于实验四并未链接实验板,所以后面的链接实验板的步骤此处没有。

实验六移位寄存器的设计

实验六移位寄存器的设计 一、实验目的 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

8位移位寄存器的电路设计与版图实现

8位移位寄存器的电路设计与版图实现 摘要 电子设计自动化,缩写为EDA,主要是以计算机为主要工具,而Tanner EDA则是一种在计算机windows平台上完成集成电路设计的一种软件,基本包括S-Edit,T-Spice,W-Edit,L-Edit与LVS等子软件,其S-Edit以及L-Edit为常用软件,前者主要实现电路设计,后者主要针对的是已知电路的版图绘制,而T-Spice主要可实现电路图及版图的仿真,可以用Tanner EDA实现电路的设计布局以及版图实现等一系列完整过程。本文用Tanner EDA工具主要设计的是8位移位寄存器,移位寄存器主要是用来实现数据的并行和串行之间的转换以及对数据进行运算或专业处理的工具,主要结构构成是触发器,触发器是具有储存功能的,可以用来储存多进制代码,一般N 位寄存器就是由N个触发器构成,移位寄存器工作原理主要是数据在其脉冲的作用下实现左移或者右移的效果,输入输出的方式表现为串行及并行自由组合,本设计就是在Tanner EDA的软件平台上进行对8位移位寄存器的电路设计仿真,再根据电路图在专门的L-Edit 平台上完成此电路的版图实现,直至完成的结果和预期结果保持一致。 关键词:Tanner EDA;L-Edit;移位寄存器,S-Edit

8 bits shift register circuit design and layout Abstract Electronic design automation,referred to as EDA,it is based on computers as the main tool,and Tanner EDA is a kind of software that complete the integrated circuit design on Windows platforms.Its Sub-Softwares include S-Edit,T-Spice,W-Edit,L-Edit and LVS and so on.S-Edit and L-Edit are commonly used software,S-Edit is primarily designed to achieve circuit,the latter is aimed primarily known circuit layout drawing,T-Spice can achieve schematic and layout simulation.We can achieve layout of the circuit design and a series of complete process layout used Tanner EDA tools.In this paper, Tanner EDA tools are mainly designed an 8-bit shift register.The shift register is mainly used for data conversion between parallel and serial, and the data processing tool operation or professional,its main structure is the trigger composition,flip-flop is a storage function,it can be used to store more hexadecimal code,In general N-bits register is composed of N trigger.Working principle of the shift register data under the action of the pulse, mainly the effect of the shift to the left or right,input and output of the way of serial and parallel free combination.This design is in Tanner on the EDA software platform to 8 bits shift register circuit design and simulation,then according to the circuit diagram on special L - Edit platform to complete the circuit layout implementation,until the finish is consistent with the results and expected results. Keywords:Tanner EDA;L-Edit;Shift register,S-Edit

移位寄存器的设计

实验四移位寄存器的设计 电科092 朱恩遇09401700324 1实验目的:掌握QuartusII的VHDL语言描述输入法 (1)掌握VHDL语言描述输入法 (2)掌握VHDL语言 (3)理解if语句进行描述计数器。 2 、实验内容 (1)设计一个移位寄存器 (2)根据VHDL语言描述输入法编译和波形仿真。 3 、实验要求 (1) 熟悉VHDL语言描述输入法 (2) 设计一个移位寄存器的VHDL程序,具有左、右移位,同步置数、同步清零等功 能 (3) 用QuartusII软件编译和波形仿真 (4) 把自己认为好的实验结果写成实验报告。(要计成绩) 4、实验步骤 程序: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity yw is port(data:in std_logic_vector(5 downto 0); left_da,right_da,reset,clk:in std_logic; mode :in std_logic_vector(1 downto 0); qout :buffer std_logic_vector(5 downto 0)); end yw; architecture behave of yw is begin process begin wait until rising_edge(clk); if(reset='1')then qout<="000000"; else case mode is when"00"=>qout<=qout; when"01"=>qout<=right_da&qout(5 downto 1); when"10"=>qout<=qout(4 downto 0)&left_da;

西工大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题中第一问的路径延迟。 设计出实际电路如下:

计算机组成原理课程设计基本模型机设计与实现

课程设计(大作业)报告课程名称:计算机组成原理 设计题目:基本模型机设计与实现 院系:信息技术学院 班级:计算机科学与技术3班 设计者: 学号: 指导教师: 设计时间: 昆明学院 信息技术学院 课程设计(大作业)任务书

目录 课程设计(大作业)报告 一、课程设计的教学目的 1. 在“微程序控制器的组成与微程序设计实验”的基础上,进一步将其中各单元组成系统构造一台模型计算机。 2. 本实验定义五条机器指令,编写相应的微程序,并上机调试运行,形成整机概念。 课程设计内容设计一台基本模型机,并实现相关的指令。 二、课程设计任务和基本要求 本课程设计以TDN-CM++计算机组成原理教学实验系统为平台设计完成。 1.按给定的数据格式和指令系统,设计一个微程序控制器。 2.设计给定机器指令系统以及微程序流程图,按微指令格式写出微 程序的为指令代码。

3.连接逻辑电路完成启动,测试,编程,测试,效验和运行,并观测运 行过程及结果。 4.将微程序控制器模块与运算器模块,存储器模块联机,组成一台 模型计算机。 5.用微程序控制器控制模型机的数据通路。 6.通过在模型机上运行由机器指令组成的简单程序,掌握机器指令 与微指令的关系,建立计算机整机的概念,掌握计算机的控制机制。 7.按指定的应用项目进行汇编指令格式及功能设计,并设计相应的 机器指令代码,按照模型机数据通路设计实现机器指令功能的微程序.在 PC机上编辑机器指令和微程序,装载代码到TDN-CM++实验系统并运行,实现应用要求。 三、设计任务及分析 (1)设计任务: 从输入设备读取数据X并将其存入以A为间接地址的 内存单元,将X与R 0. 寄存器中的内容Y执行X ⊕,结果送到以B为直接地址的内存单元保存。 (2)分析: A:给R 寄存器直接置入01H. B:从数据开关给间接地址为0CH的内存单元置数,(03H). C:给R 0中的内容取反,结果存在R 中. D:将间接地址0CH中直接地址0EH中的内容(03H)放入DR1中, R 中的内容 放入DR2中,将DR1和DR2种的数进行异或运算,结果放在R 中. E:将R 中的内容存在直接地址为0DH的内存单元中. 四、设计原理 模型机在微程序控制下自动产生各部件单元控制信号,实现特定指令的功能。这里,计算机数据通路的控制将由微程序控制器来完成,CPU 从内存中取出一条机器指令到指令执行结束的一个指令周期全部由微指令组成的序列来完成,即一条机器指令对应一段微程序。 本实验采用五条机器指令: IN(输入)、ADD(二进制加法)、STA(存数)、OUT(输出)、JMP(无条件转移),其指令格式如下(前4位为操作码):

计算机组成原理课程设计报告

序号: 学号: C H A N G Z H O U U N I V E R S I T Y 计算机组成原理 课程设计报告 题 目: 8位机微程序控制器模型计算机的设计与实现 学 生 姓 名: 学 号: 学 院(系): 专 业 班 级: 校内指导教师: 专业技术职务: 实 习 时 间: 年 月 日 年 月 日

计算机组成原理课程设计任务书

计算机科学与技术系指导教师

目录 1、课程设计的目的 (1) 2、课程设计的环境 (1) 3、课程设计的内容 (1) 3.1课程设计的原理 (1) 3.2课程设计机器指令 (3) 3.3微指令格式 (4) 3.4数据通路图 (6) 4、设计方案 (7) 4.1设计指令 (9) 4.2微程序流程图 (10) 4.3微指令二进制微代码表 (10) 5、验证与结果分析 (13) 5.1课设过程中所遇问题 (23) 5.2对应问题的解决 (23) 6、课程设计总结 (24) 6.1任务分工 (24) 6.2心得体会 (24) 参考文献 (26)

1、课程设计的目的 深入了解计算机各种指令的执行过程,以及控制器的组成,指令系统微程序设计的具体知识,进一步理解和掌握动态微程序设计的概念;完成微程序控制的特定功能计算机的指令系统设计和调试。 总体概括而言,分为两点:1、在掌握部件单元电路实验的基础上,进一步将其组成系统,构造一台基本模型计算机。2、为其定义两条以上的机器指令,并编写相应的微程序,上机调试,掌握整机概念。 2、课程设计的环境 硬件环境:TEC-9实验系统一台,排线若干,连接有关联的开关,使信号同步。 软件环境:HQFC-B1计算机组成原理软件,进行微程序的写入。 3、课程设计的内容 1、通过知识的综合运用,设计一台新的微程序控制器模型计算机。 2、选择合适的寻址方式,进行数据的提取。 3、确定你需要做的两条指令,并画出对应指令的流程图。 4、根据流程图,设计控制器代码。 5、根据控制器代码,在TEC-9实验系统上进行连线、调试,修改控制器代码。 6、最后,得出正确的控制器代码并完成实验报告、答辩,课程设计完成3.1课程设计的原理 TEC-9实验系统的组成:控制台、数据通路、控制器、时序电路、数字逻辑实验区、电源模块 时序发生器 时序发生器产生计算机模型所需的时序和数字逻辑实验所需的时钟。时序电路由一个500KHz晶振、2片GAL22V10组成。根据本机的设计,执行一条微程序指令需要4个节拍脉冲T1、T2、T3、T4,执行一条机器指令需要三个节拍电位W1、W2、W3,因此本机的基本时序如下:

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

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

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个输出端分别接白炽灯。 实验电路:

实验现象: 右移: 接通Ma,Dr后,D0到D7全部为0,白炽灯从00000000变为10000000,11000000,

EDA课程设计——移位寄存器的设计与实现

河南科技大学 课程设计说明书 课程名称 EDA技术与应用 题目移位寄存器的设计与实现 学院 班级 学生姓名 指导教师 日期

EDA技术课程设计任务书 班级:姓名:学号: 设计题目:移位寄存器的设计与实现 一、设计目的 进一步巩固理论知识,培养所学理论知识在实际中的应用能力;掌握EDA设计的一般方法;熟悉一种EDA软件,掌握一般EDA系统的调试方法;利用EDA软件设计一个电子技术综合问题,培养VHDL编程、书写技术报告的能力。为以后进行工程实际问题的研究打下设计基础。 二、设计任务 根据计算机组成原理中移位寄存器的相关知识,利用VHDL语言设计了三种不同的寄存器:双向移位寄存器、串入串出(SISO)移位寄存器、串入并出(SIPO)移位寄存器。 三、设计要求 (1)通过对相应文献的收集、分析以及总结,给出相应课题的背景、意义及现状研究分析。 (2)通过课题设计,掌握计算机组成原理的分析方法和设计方法。 (3)学习按要求编写课程设计报告书,能正确阐述设计和实验结果。 (4)学生应抱着严谨认真的态度积极投入到课程设计过程中,认真查阅相应文献以及实现,给出个人分析、设计以及实现。 四、设计时间安排 查找相关资料(1天)、设计并绘制系统原理图(2天)、编写VHDL程序(2天)、调试(2天)、编写设计报告(2天)和答辩(1天)。 五、主要参考文献 [1] 江国强编著. EDA技术与实用(第三版). 北京:电子工业出版社,2011. [2] 曹昕燕,周凤臣.EDA技术实验与课程设计.北京:清华大学出版社,2006.5 [3] 阎石主编.数字电子技术基础.北京:高等教育出版社,2003. [4] Mark Zwolinski. Digital System Design with VHDL.北京:电子工业出版社,2008 [5] Alan B. Marcovitz Introduction to logic Design.北京:电子工业出版社,2003 指导教师签字:年月日

寄存器电路设计

实验五寄存器电路设计 1.画出74ls74构成的4位单向移位寄存器并说明其工作原理。 它是由四个D触发器串联而成的四位单向移位寄存器。 移位寄存器使其中所储存的二进制,在一位脉冲的作用下左右移动; 一位触发器可以储存1位二进制代码,存放n位二进制就需要n个触发器构成; 2.8位移位寄存器设计原理图。 实验五寄存器电路设计 一、实验目的

l、掌握寄存器的工作原理、测试和分析其工作状态 2、掌握集成双向移位寄存器和并行数据锁存器的功能及使用方法 3、8位移位寄存器电路设计 二、实验内容及步骤 1、并行输入/并行输出寄存器功能测试 表5.1 2、移位寄存器功能测试 (1)用74LS74构成的4位单向移位寄存器 11010000表5.2

(2) 74LSl94 表5.3 100X X X X X X X0000

3、8D 锁存器功能测试 表5.4 注: “个”表示单脉冲上升沿 4、8位移位寄存器电路设计(如不够可自行加纸) 自制表格:

设计思路: 用两片74LS194芯片来设计8位移步寄存器;主要思路是74LS194芯片在S0S1=00,01,10,11状态下分别为保持、右移、左移和置位的功能,而本实验就要应用了左移和右移的功能,只要将两个芯片的S0S1端连接在一起就可以实现由四位移步寄存器变为八位移步寄存器了; 原理图: 三、思考题 1.写出图5.1和图5.2的状态方程,并对照检查实验结果正确与否。 Q3=D3+D1D2 Q2= D0+D3 Q1=D3+D1D2 Q0=D0+D3 是正确的 四、实验总结(自己总结本次试验的重难点及心得、体会、收获,字数不得少于100字)

微程序控制器的设计与实现

微程序控制器的设计与实现 一、设计目的 1、巩固和深刻理解“计算机组成原理”课程所讲解的原理, 加深对计算机各模块协同工作的认识。 2、掌握微程序设计的思想和具体流程、操作方法。 3、培养学生独立工作和创新思维的能力,取得设计与调试的 实践经验。 4、尝试利用编程实现微程序指令的识别和解释的工作流程。 二、设计内容 按照要求设计一指令系统,该指令系统能够实现数据传送,进行加、减运算和无条件转移,具有累加器寻址、寄存器寻址、寄存器间接寻址、存储器直接寻址、立即数寻址等五种寻址方式。 三、设计具体要求 1、仔细复习所学过的理论知识,掌握微程序设计的思想,并根、 据掌握的理论写出要设计的指令系统的微程序流程。指令系统至少要包括六条指令,具有上述功能和寻址方式。 2、根据微操作流程及给定的微指令格式写出相应的微程序 3、将所设计的微程序在虚拟环境中运行调试程序,并给出测试思 路和具体程序段 4、撰写课程设计报告。

四、设计环境 1、伟福COP2000型组成原理实验仪,COP2000虚拟软件。 2、VC开发环境或者Java开发环境。 五、设计方案 (1)设计思想 编写一个指令系统,根据所编写的指令的功能来设计相应的微程序。首先利用MOV传送指令来给寄存器和累加器传送立即数,实现立即数寻址;利用寄存器寻址方式,用ADDC指令对两者进行相加运算;利用寄存器间接寻址方式,用SUB指令实现减运算;利用累加器寻址方式,用CPL指令实现对累加器寻址;利用存储器寻址方式,用JMP 指令实现程序的无条件跳转。这样,所要设计的指令系统的功能就全部实现了。 (2)微指令格式 采用水平微指令格式的设计,一次能定义并执行多个并行操作微命令的微指令,叫做水平型微指令。其一般格式如下: 按照控制字段的编码方法不同,水平型微指令又分为三种:全水平型(不译法)微指令,字段译码法水平型微指令,以及直接和译码相混合的水平型微指令。 (3)24个微指令的意义 COP2000 模型机包括了一个标准CPU 所具备所有部件,这些部件包括:运算器ALU、累加器A、工作寄存器W、左移门L、直通门D、右

设计示例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];

寄存器的设计

实验报告 一实验目的 1、初步认识CPU结构,熟悉寄存器的使用方法 2、认识PC运行环境,熟悉PC 指令系统,指令的编码 3、熟悉基本的寻址方法 4、初步了解ASM(debug)工具的使用方法 5、对堆栈操作,了解栈顶,栈低的概念 6、为设计模型机做准备,(模型机指令系统) 二实验原理

1、CMD进入DOS环境 2、用DEBUG进行调试 3、(1)常用命令列表 (2) 通用寄存器:AX,BX,CX,DX 段寄存器:CS,DS,ES,SS 指针:IP,SP,BP,DI,SI (3) 指令的机器码表示方法(典型传输指令的格式) 第一字节:高6位是操作码26=64条指令 W位:指示传递数据商务类型是字(W=1)字节(W=0) D位:标明数据传输方向:(D=0 数据从寄存器传出,D=1数据传至寄存器)第二字节 REG字段:寄存器号,用3位编码寻址8种不同的寄存器,在根据第一字节的W位,选择8位或16位寄存器(对使用段寄存器的指令,REG段占2位)

注意:MOV指令的二个操作数中有一个必为寄存器,另一个操作数可以是寄存器,也可以是存储器单元,由指令代码的第二字节的MOD和R/M字段指定

d—0/1表示REG为源/目的操作数; w—0/1表示操作数类型为BYTE/WORD; mod、r/m—寻址方式,参见教材P56~57; IMME—立即数操作数,字段中用data表示; reg—通用REG用3位编码,段REG只用2位编码(即为0xx) 三实验步骤 开始->运行->cmd->debug 1.在通用寄存器中存数 执行指令: mov ax,1234 mov bx,5678 mov cx,abcd mov dx,ffff int 3 ^C 观察寄存器变化,并分析操作码 2. 寄存器不同寻址方式操作 执行指令: mov ax,1111 mov bx,[102] mov cx,106 mov dx,[bx] 观察寄存器变化,并分析操作码 3. 堆栈指针操作 执行指令: mov ax,1224 mov bx,5678 mov cx,abcd mov dx,ffff push ax push bx push cx push dx int 3

相关文档