实验四 全减器

实验四    全减器
实验四    全减器

实验四 全减器

一、实验目的

设计并实现一个一位减法器 二、实验原理

半减器不考虑低位向本位的借位。一位半减器由两个输入、两个输出。 表1 半减器真值表

输入 输出 Bi Ai Di Ci 0 0 0 0 0 1 1 1 1 0 1 0 1

1

由真值表可得到函数表达式:Bi Ai Bi Ai Di += Bi Ai Ci =

在下图中,“进位入”Ci -1是指低位的进位输出,“进位出”Ci 即是本位的进位输出。

Ai Bi A B

C

D

Di Ci

C D 半减器

半减器

Ci-1

原理图如下:

全减器

(被减数)Ai

(减数)Bi

(差)Di (借位出)Ci

真值表:

输入

输出

Ci-1Bi Ai Si Ci 0000000000000000000011

1111

1111

111

1111

111

根据真值表写出逻辑表达式:

111i i i i i i i i i i D A B C A B C A B C ---=++

三、实验步骤

1、建立工程fullsub,新建VHDL 文件输入以下代码保存为fullsub1.vhdl 。打开addern.vhdl 文件,选择File → Creat/Update → Creat Symbol Files for Current Files 生成顶层符号文件。(参考实验一、二)

----------------------半减器程序 library ieee;

use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity halfsub is port(a,b:in std_logic; d,c:out std_logic); end halfsub;

architecture half1 of halfsub is begin

d<=((a and (not b))or ((not a)and b)); c<=(not a)and b; end half1;

-----------------------------------全减器程序 library ieee;

use ieee.std_logic_1164.all; entity fullsub1 is

port(ai,bi,ci:in std_logic; di,co:out std_logic); end fullsub1;

architecture full1 of fullsub1 is

component halfsub-----------声明半减器调用 port(a,b:in std_logic;

d,c:out std_logic); end component;

signal halfsub1_d,halfsub1_c,halfsub2_c:std_logic;

begin----------------------------------------------------------调用半减器 halfsub1:halfsub port map (ai,bi,halfsub1_d,halfsub1_c); halfsub2:halfsub port map (halfsub1_d,ci,di,halfsub2_c); co<=(halfsub1_c or ci); end full1;

2、新建一个Block Diagramm/Schematic File 原理图文件,,在空白处双击添加生成的顶层原理图,并连接input 、output (输入输出管脚)重命名后如图所示,保存文件fullsub.bdf 。

VCC ai INPUT

VCC bi

INPUT VCC

ci

INPUT di OUTPUT co

OUTPUT

ai bi ci di co

f ullsub1

inst

3、 建立仿真文件 点击主工具栏上的

图标进行半编

译,完成后新建一个波形仿真文件

File →New →V erification/Debugging Files →V ector V aveform File.,然后在左边空白处双击左键添加仿真管脚。完成后添加激励信号的波形,首先使用鼠标选中一个信号(变蓝),利用左边工具添加仿真信号,根据需要依次添加各个信号(可以根据老师的实际要求添加不同的信号),并保存。

4、功能仿真

选择Processing →Simulator Tool 在弹出对话框中在仿真模式中选择”Functional” 然后点击”Generate Functional Simulation Netlist”生成功能仿真的Netlist ,完成后点击”Start”按钮开始仿真,完成后点击”Report”来查看仿真结果,如图所示。

5、分配管脚,下载、连线

选择Assignments →Pins Planner 在Location 中选择要分配的管脚,分配完毕后,点击主

工具栏的图标进行全编译,完成后点击下载到目标器件。连线时ai 、bi、ci分配的管脚连接拨码开关,Co、Di所对应管脚连接LED指示灯。

6、实验记录

根据仿真结果和实验led发光二极管的亮灭完成下表,并分析其运算结果的正确性。输入输出实验结果

C i-1Bi Ai Di Ci Di LE

D Ci LED

0 0 0 0 0

0 0 1 1 0

0 1 0 1 0

0 1 1 0 1

1 0 0 1 0

1 0 1 0 1

1 1 0 0 1

1 1 1 1 1

管脚分配:

Pin182—ai pin184—bi pin186—ca pin188—co pin194—d

实验七数据比较器

一、实验目的

设计并实现一个4位二进制数据比较器。

二、实验原理

二进制比较器是提供关于两个二进制操作数间关系信息的逻辑电路。两个操作数的比较结果有三种情况:A等于B、A大于B和A小于B。

考虑当操作数A和B都是一位二进制数时,构造比较器的真值表见下表。

输入输出

a b eq(A=B)hi(A>B) lo(A

0 0 1 0 0

0 1 0 0 1

1 0 0 1 0

1 1 1 0 0

在一位比较器的基础上,我们可以继续得到两位比较器,然后通过“迭代设计”得到4位的数据比较器。对于4位比较器的设计,我们可以通过原理图输入法或VHDL描述来完成,其中用VHDL语言描述是一种最为简单的方法。

二、实验步骤

1、建立工程comp,新建VHDL文件输入以下代码保存为comp4.vhdl。打开comp4.vhdl 文件,选择File→ Creat/Update→ Creat Symbol Files for Current Files 生成顶层符号文件(参考实验一、二)。

library ieee;

use ieee.std_logic_1164.all;

entity comp4 is

port(a,b:in std_logic_vector(3 downto 0);

eq,hi,lo:out std_logic);

end comp4;

architecture comp of comp4 is

begin

process(a,b)

begin

if (a>b) then

eq<='0'; hi<='1';lo<='0';

elsif (a

eq<='0';hi<='0';lo<='1';

elsif (a=b) then

eq<='1';hi<='0';lo<='0';

else eq<='0';hi<='0';lo<='0';

end if;

end process;

end comp;

2、然后新建一个Block Diagramm/Schematic File 原理图文件,在空白处双击添加生成的顶层原理图,并连接input、output(输入输出管脚)重命名后如图所示,保存文件comp.bdf。

a[3..0] b[3..0]eq hi lo

comp4

inst

VCC

a[3..0]INPUT

VCC

b[3..0]INPUT

eq

OUTPUT

hi

OUTPUT

lo

OUTPUT

3、点击主工具

栏上的图标进行半编译,完成后新建一个波形仿真文件File→New→V erification/Debugging Files→V ector V aveform File.,然后在左边空白处双击左键添加仿真管脚。完成后添加激励信号的波形,首先使用鼠标选中一个信号(变蓝),利用左边工具添加仿真信号,根据需要依次添加各个信号(可以根据老师的实际要求添加不同的信号),并保存。

4、功能仿真

选择Processing→Simulator Tool 在弹出对话框中在仿真模式中选择”Functional” 然后点击”Generate Functional Simulation Netlist”生成功能仿真的Netlist,完成后点击”Start”按钮开始仿真,完成后点击”Report”来查看仿真结果,如图所示。

5、分配管脚,下载、连线

选择Assignments →Pins Planner在Location中选择要分配的管脚,分配完毕后,点击主工具栏的图标进行全编译,完成后点击下载到目标器件。

连线时输入信号a0~a3、b0~b3所分配的管脚分别连接拨码开关,输出信号eq、hi、lo 所对应管脚分别连接LED发光二极管。

6、实验记录

根据仿真结果和实验led发光二极管的亮灭完成下表,并分析其运算结果的正确性。

输入输出

A0~A3 B0~B3 eq(LED1)hi(LED2) lo(LED3)

0000 0000

1100 1100

1110 1111

1111 1110

1111 1111

管脚分配:

Pin182—a0 pin184—a1 pin186—a2 pin188—a3

Pin194—b0 pin196—b1 pin198—b2 pin200—b3

Pin202—eq pin207—hi pin216—lo

4位全加器实验报告

四位全加器 11微电子黄跃21 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

个工程项目adder_4bit。 建立文本编辑文件: 点击File→New在该项目下新建Verilog源程序文件 并且输入源程序。 (2)编译和仿真工程项目: 在verilog主页面下,选择Compile— Compile All或点击工具栏上的按钮启动编译,直到project出现status栏全勾,即可进行仿真。 选择simulate - start simulate或点击工具栏上的按钮开始仿真,在跳出来的 start simulate框中选择work-test_adder_4bit测试模块,同时撤销Enable Optimisim前的勾,之后选择ok。 在sim-default框内右击选择test_adder_4bit,选择Add Wave,然后选择simulate-run-runall,观察波形,得出结论,仿真结束。 四位全加器 1、原理图设计 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【仿真和测试结果】 下图为四位全加器的仿真图:

实验四 四位二进制全加器

实验序号实验题目四位二进制全加器实验时间实验室 1.实验元件(元件型号;引脚结构;逻辑功能;引脚名称) 1.SAC-DS4数字逻辑电路实验箱 1个 2.万用表 1块 3.74LS283 四位二进制全加器1片 74LS283 四位二进制全加器引脚结构及逻辑功能 2.实验目的 1、掌握中规模集成电路四位全加器的工作原理及其逻辑功能。 2、学习全加器的应用。 3.实验电路原理图及接线方法描述: (1)74LS283四位全加器实验电路图

(2)用74LS283四位全加器实现BCD码到余3码的转换实验电路图

4.实验中各种信号的选取及控制(电源为哪些电路供电;输入信号的分布位置;输出信号的指示类型;总结完成实验条件) (1)用开关按表下图设置输入A1-A4、B1-B4、C0的状态,借助指示灯观测输出F1-F4、C4的状态。 (2)将每个BCD码加上0011,即可得到相应的余3码。故应按下图接线。 5.逻辑验证与真值表填写 (1)74LS283四位全加器真值表 输入输出 A4 A3 A2 A1B4 B3 B2 B1C0F4 F3 F2 F1C4 0 0 0 1 0 0 0 1 1 0 0 1 1 0 0 1 0 0 0 0 1 1 0 0 1 1 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 0 1 1 0 0 0 1 1 1 1 0 0 0 1 1 0 0 0 0 1 0 1 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 (2)用74LS283四位全加器实现BCD码到余3码的转换真值表 输入BCD码输出余3码 B4 B3 B2 B1 F4 F3 F2 F1 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 0 0 0 1 0 0 1 0 1

实验存储器部件实验(精品)

北京林业大学 11学年—12学年第 2 学期计算机组成原理实验任务书 专业名称:计算机科学与技术实验学时: 2 课程名称:计算机组成原理任课教师:张海燕 实验题目:实验四内存储器部件实验 实验环境:TEC-XP+教学实验系统、PC机 实验内容 1.设计扩展8K字存储器容量的线路图,标明数据线、地址线和控制信号的连接关系。 2.扩展教学机的存储器空间,为扩展存储器选择一个地址,并注意读写等控制信号的正确状态。 3.用监控程序的D、E命令对存储器进行读写,比较RAM(6116)、EEPROM (58C65)在读写上的异同。 4.用监控程序的A命令编写一段程序,对RAM(6116)进行读写,用D命令查看结果是否正确。 5.用监控程序的A命令编写一段程序,对扩展存储器EEPROM(58C65)进行读写,用D命令查看结果是否正确;如不正确,分析原因,改写程序,重新运行。 实验目的 1.熟悉ROM芯片和RAM芯片在功能和使用方法等方面的相同和差异之处。 2.理解并熟悉通过字、位扩展技术实现扩展存储器系统容量的方案。 3.了解如何通过读、写存储器的指令实现对58C65ROM芯片的读、写操作。 4.加深理解存储器部件在计算机整机系统中的作用。 实验要求 1.实验之前认真预习,明确实验的目的和具体实验内容,做好实验之前的

必要准备。 2.想好实验的操作步骤,明确通过实验到底可以学习哪些知识,想一想怎么样有意识地提高教学实验的真正效果; 3.在教学实验过程中,要爱护教学实验设备,记录实验步骤中的数据和运算结果,仔细分析遇到的现象与问题,找出解决问题的办法,有意识地提高自己创新思维能力。 4.实验之后认真写出实验报告,重点在于预习时准备的内容,实验数据,运算结果的分析讨论,实验过程、遇到的现象和解决问题的办法,自己的收获体会,对改进教学实验安排的建议等。善于总结和发现问题,写好实验报告是培养实际工作能力非常重要的一个环节,应给以足够的重视。 实验说明 内存储器是计算机中存放正在运行中的程序和相关数据的部件。在教学计算机存储器部件设计中,出于简化和容易实现的目的,选用静态存储器芯片实现内存储器的存储体,包括只读存储区(ROM、存放监控程序等)和随读写存储区(RAM)两部分,ROM存储区选用4片长度8位、容量8KB的58C65芯片实现,RAM存储区选用2片长度8位、容量2KB的6116芯片实现,每2个8位的芯片合成一组用于组成16位长度的内存字,6个芯片被分成3组,其地址空间分配关系是:0-1777H用于第一组ROM,固化监控程序,2000-2777H用于RAM,保存用户程序和用户数据,其高端的一些单元作为监控程序的数据区,第二组ROM的地址范围可以由用户选择,主要用于完成扩展内存容量(存储器的字、位扩展)的教学实验。 在这里还要说明如下两个问题。 第一,要扩展8K字的存储空间,需要使用2片(每一片有8KB容量,即芯片内由8K个单元、每个单元由8个二进制位组成)存储器芯片实现。 第二,当存储器选用58C65ROM芯片时,它属于电可擦除的EPROM器件,可以通过专用的编程器软件和设备向芯片的写入相应的内容,这是正常的操作方式。也可以通过写内存的指令向芯片的指定单元写入16位的数据,只是每一次的这种写操作需要占用长得多写入时间,例如几百个微秒,可以通过运行完成等待功能的子程序来加以保证。本次试验采用的是通过写内存的指令将数据写入芯片

实验一四位串行进位加法器的设计实验报告

实验一四位串行进位加法器的设计 一、实验目的 1.理解一位全加器的工作原理 2.掌握串行进位加法器的逻辑原理 3.进一步熟悉Quartus软件的使用,了解设计的全过程, 二、实验内容 1.采用VHDL语言设计四位串行进位的加法器 2.采用画原理图的方法设计四位串行进位加法器 三、实验步骤 1、使用VHDL语言设计 1.打开File—>New Project Wizard输入文件名adder4保存在D盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后保存、编译。打开File—>New—>Other File—>Vector Waveform File,查找引脚,从Edit中选择End Time 输入40、ns 保存。从Assignments—>Settings—>Simulator Settings —>Functional 然后Processing—>Generate Functional Simnlation Netlist —>确定。选择Start Simulation保存最后的波形图,打开File —>close关闭工程。 底层文件: LIBRARY ieee;

USE fadder IS PORT ( a, b,cin : IN STD_LOGIC; s, co : OUT STD_LOGIC ); END fadder; ARCHITECTURE arc1 OF fadder IS BEGIN s<=a xor b xor cin; co<=((a xor b)and cin)or(a and b); END arc1; 顶层文件: LIBRARY ieee; USE adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c4 : OUT STD_LOGIC );

FPGA一位全加器设计实验报告

题目:1位全加器的设计 一.实验目的 1.熟悉QUARTUSII软件的使用; 2.熟悉实验硬件平台的使用; 3.掌握利用层次结构描述法设计电路。 二.实验原理 由于一位全加器可由两个一位半加器与一个或门构成,首先设计半加器电路,将其打包为半加器模块;然后在顶层调用半加器模块组成全加器电路;最后将全加器电路编译下载到实验箱,其中ain,bin,cin信号可采用实 验箱上SW0,SW1,SW2键作为输入,并将输 入的信号连接到红色LED管 LEDR0,LEDR1,LEDR2上便于观察,sum,cout 信号采用绿色发光二极管LEDG0,LEDG1来 显示。 三.实验步骤 1.在QUARTUSII软件下创建一工程,工程名为full_adder,芯片名为EP2C35F672C6; 2.新建Verilog语言文件,输入如下半加器Verilog语言源程序; module half_adder(a,b,s,co); input a,b; output s,co; wire s,co; assign co=a & b; assign s=a ^ b; Endmodule 3.保存半加器程序为,进行功能仿真、时序仿真,验证设计的正确性。 其初始值、功能仿真波形和时序仿真波形分别如下所示

4.选择菜单File→Create/Update→Create Symbol Files for current file,创建半加器模块; 5.新建一原理图文件,在原理图中调用半加器、或门模块和输入,输出引脚,按照图1所示连接电路。并将输入ain,bin,cin连接到FPGA的输出端,便于观察。完成后另保存full_adder。 电路图如下 6.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

静态存储器实验报告

静态随机存储器实验 组员: 组号:21组 日期:周二5、6节

【实验目的】 掌握静态随机存储器RAM工作特性及数据的读/写方法。 【实验设备】 实验仪一台、PC机一台(观察波形) 【实验原理】 由一片6116(2K x 8)芯片、一片8位锁存器(74LS273)、一片8位三态门(74LS245)构成存储器原理图。 存储器实验原理图 由于存储器地址是由数据开关(input device)锁存在(273),存储器写数据也是由数据开关提供的,因此要分时给出地址和写数据。 因地址寄存器为8 位,所以接入6116 的地址为A7~A0,而高三位A8~A10 接地,所以其实际容量为256 字节。6116 有三个控制线:CE(片选线)、OE(读线)、WE(写线)。当片选有效(CE=0)时,OE=0 时进行读操作,WE=0 时进行写操作。本实验中将OE 常接地,在此情况下,当CE=0、WE=0 时进行读操作,CE=0、WE=1 时进行写操作,其写时间与T3 脉冲宽度一致。 实验时将T3 脉冲接至实验板上时序电路模块的TS3 相应插孔中,其脉冲宽度可调,其它电平控制信号由“SWITCH UNIT”单元的二进制开关模拟,其中SW-B 为低电平有效,LDAR 为高电平有效。 【实验步骤】 (1) 形成时钟脉冲信号T3。具体接线方法和操作步骤如下: ①接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1 及W2 ,使H23 端输出 实验所期望的频率及占空比的方波。 ②将时序电路模块(STATE UNIT)单元中的ф和信号源单元(SIGNAL UNIT)中的H23 排针相连。 ③在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP”开关置为“RUN”状

4位全加器实验报告.doc

四位全加器 11微电子黄跃1117426021 【实验目的】 采用modelsim集成开发环境,利用verilog硬件描述语言中行为描述模式、结构描述模式或数据流描述模式设计四位进位加法器。 【实验内容】 加法器是数字系统中的基本逻辑器件。多位加法器的构成有两种方式:并行进位和串行进位方式。并行进位加法器设有并行进位产生逻辑,运算速度快;串行进位方式是将全加器级联构成多位加法器。通常,并行加法器比串行级联加法器占用更多的资源,并且随着位数的增加,相同位数的并行加法器比串行加法器的资源占用差距也会越来越大。 实现多位二进制数相加的电路称为加法器,它能解决二进制中1+1=10的功能(当然还有 0+0、0+1、1+0). 【实验原理】 全加器 除本位两个数相加外,还要加上从低位来的进位数,称为全加器。图4为全 加器的方框图。图5全加器原理图。被加数A i 、加数B i 从低位向本位进位C i-1 作 为电路的输入,全加和S i 与向高位的进位C i 作为电路的输出。能实现全加运算 功能的电路称为全加电路。全加器的逻辑功能真值表如表2中所列。 信号输入端信号输出端 A i B i C i S i C i 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

表2 全加器逻辑功能真值表 图4 全加器方框图 图5 全加器原理图 多位全加器连接可以是逐位进位,也可以是超前进位。逐位进位也称串行进位,其逻辑电路简单,但速度也较低。 四位全加器 如图9所示,四位全加器是由半加器和一位全加器组建而成: 图9 四位全加器原理图 【实验步骤】 (1)建立新工程项目: 打开modelsim软件,进入集成开发环境,点击File→New project建立一

实验一 存储器实验

实验一存储器实验 1.FPGA中LPM_ROM定制与读出实验 一.实验目的 1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性与配置方法。 2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于 lpm_ROM中; 3、在初始化存储器编辑窗口编辑mif文件配置ROM; 4、验证FPGA中mega_lpm_ROM的功能。 二.实验原理 ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU 中的重要部件,如RAM、ROM可直接调用她们构成,因此在FPGA中利用嵌入式阵列块EAB 可以构成各种结构的存储器,lpm_ROM就是其中的一种。lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都就是可以设定的。由于ROM就是只读存储器,所以它的数据口就是单向的输出端口,ROM中的数据就是在对FPGA现场配置时,通过配置文件一起写入存储单元的。图3-1-1中的lpm_ROM有3组信号:inclk——输入时钟脉冲;q[23、、0]——lpm_ROM的24位数据输出端;a[5、、0]——lpm_ROM的6位读出地址。 实验中主要应掌握以下三方面的内容: ⑴ lpm_ROM的参数设置; ⑵ lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写; ⑶lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。 三.实验步骤 (1)用图形编辑,进入mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[] 与数据总线宽度q[],分别为6位与24位,并添加输入输出引脚,如图3-1-1设置与连接。 (2)设置图3-1-1为工程。 (3)在设置lpm_rom数据参数选择项lpm_file的对应窗口中(图3-1-2),用键盘输入 lpm_ROM配置文件的路径(rom_a、mif),然后设置在系统ROM/RAM读写允许,以便能

八位加法器设计实验报告

实验四:8位加法器设计实验 1.实验目的:熟悉利用quartus原理图输入方法设计简单组合电路,掌握层次化设计方法。 2.实验原理:一个八位加法器可以由八个全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 3.实验任务:完成半加器,全加器,八位加法器设计,使用例化语句,并将其设计成一个原件符号入库,做好程序设计,编译,程序仿真。 1)编译成功的半加器程序: module h_adder(a,b,so,co); input a,b; output so,co; assign so=a^b; assign co=a&b; endmodule 2)编译成功的全加器程序: module f_adder(ain,bin,cin,cout,sum); output cout,sum;input ain,bin,cin; wire net1,net2,net3; h_adder u1(ain,bin,net1,net2); h_adder u2(.a(net1),.so(sum),.b(cin),.co(net3));

or u3(cout,net2,net3); endmodule 3)编译成功的八位加法器程序: module f_adder8(ain,bin,cin,cout,sum); output [7:0]sum; output cout;input [7:0]ain,bin;input cin; wire cout0, cout1, cout2 ,cout3, cout4,cout5,cout6; f_adder u0(.ain(ain[0]),.bin(bin[0]),.cin(cin),.sum(sum[0]) ,.cout(cout0)); f_adder u1(.ain(ain[1]),.bin(bin[1]),.cin(cout0),.sum(sum[1 ]),.cout(cout1)); f_adder u2(.ain(ain[2]),.bin(bin[2]),.cin(cout1),.sum(sum[2 ]),.cout(cout2)); f_adder u3(.ain(ain[3]),.bin(bin[3]),.cin(cout2),.sum(sum[3 ]),.cout(cout3)); f_adder u4(.ain(ain[4]),.bin(bin[4]),.cin(cout3),.sum(sum[4

实验一 4位全加器的设计

实验一4位全加器的设计 一、实验目的: 1 熟悉QuartusⅡ与ModelSim的使用; 2 学会使用文本输入方式和原理图输入方式进行工程设计; 3 分别使用数据流、行为和结构化描述方法进行四位全加器的设计; 4 理解RTL视图和Technology Map视图的区别; 5 掌握简单的testbench文件的编写。 二、实验原理: 一个4位全加器可以由4个一位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的进位输入信号cin相接。 三、实验内容: 1.QuartusII软件的熟悉 熟悉QuartusⅡ环境下原理图的设计方法和流程,可参考课本第4章的内容,重点掌握层次化的设计方法。 2.设计1位全加器原理图 设计的原理图如下所示:

VHDL源程序如下(行为描述):-- Quartus II VHDL Template -- Unsigned Adder library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity f_add is port ( a : in std_logic; b : in std_logic; ci : in std_logic; y : out std_logic; co : out std_logic ); end entity; architecture rtl of f_add is begin (co,y)<=('0',a)+('0',b)+('0',ci); end rtl;

实验二:SRAM 静态随机存储器实验

《计算机组成原理》 实验报告 实验二:SRAM 静态随机存储器实验 学院: 专业: 班级学号: 学生姓名: 实验日期: 指导老师: 成绩评定: 计算机学院计算机组成原理实验室

实验二 一、实验名称:SRAM 静态随机存储器实验 二、实验目的: 掌握静态随机存储器RAM工作特性及数据的读写方法。 三、实验内容: 1、向存储器中指定的地址单元输入数据,地址先输入AR寄存器,在地址灯上显示;再将数据送入总线后,存到指定的存储单元,数据在数据显示灯显示。 2、从存储器中指定的地址单元读出数据, 地址先输入AR寄存器,在地址灯显示; 读出的数据送入总线, 通过数据显示灯显示。 四、实验设备: PC机一台,TD-CMA实验系统一套。 五、实验步骤: 1、关闭实验系统电源,按图2-4 连接实验电路,并检查无误,图中将用户需要连接的信号用圆圈标明。 2、将时序与操作台单元的开关KK1、KK3 置为运行档、开关KK2 置为…单步?档。 3、将CON 单元的IOR 开关置为1(使IN 单元无输出),打开电源开关,如果听到有…嘀?报警声,说明有总线竞争现象,应立即关闭电源,重新检查接线,直到错误排除。

图2-4 4、给存储器的00H、01H、02H、03H、04H 地址单元中分别写入数据11H、12H、13H、14H、15H。 由前面的存储器实验原理图(图2-1-3)可以看出,由于数据和地址由同一个数据开关给出,因此数据和地址要分时写入,先写地址,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0),数据开关输出地址(IOR=0),然后打开地址寄存器门控信号(LDAR=1),按动ST 产生T3 脉冲,即将地址打入到AR 中。再写数据,具体操作步骤为:先关掉存储器的读写(WR=0,RD=0)和地址寄存器门控信号(LDAR=0),数据开关输出要写入的数据,

数电实验报告半加全加器

实验二 半加/减器与全加/减器 一、 实验目的: (1) 掌握全加器和半加器的逻辑功能。 (2) 熟悉集成加法器的使用方法。 (3) 了解算术运算电路的结构。 二、 实验设备: 1、 74LS00 (二输入端四与非门) 2、 74LS86 (二输入端四异或门) 3、 数字电路实验箱、导线若干。 Ver 4B 4A 4¥ 3B 3A 3Y 1A IB !Y 2A 2B 2Y GND (74LS86引脚图) 三、 实验原理: 两个二进制数相加,叫做半加,实现半加操作的电路,称为半加器。 A 表示 被加数,B 表示加数,S 表示半加和,Co 表示向高位的进位。 全加器能进行加数、被加数和低位来的信号相加,并给出该位的进位信号以 及和。 四、 实验内容: 用74LS00和74LS86实现半加器、全加器的逻辑电路功能。 (一)半加器、半减器 M=0寸实现半加,M=1时实现半减,真值表如下: (74LS00引脚 )

功能M A B S C 半加00000 00110 01010 01101 半减10000 10111 11010 11100 —s +/- ——co M (半加器图形符号) 2、 ⑴S真值表: 00011110 00110 11001 A ⑵C真值表: 00011110 00000 10101 C 二B(A二M)

(二)全加器、全减器 S CO C^BC i-1 ?(M 十 A )(B 十 C ) 、实验结果 半加器: S 二 AB AB = A 二 B C =B (A 二 M ) 全加器: S = A 二 B - C i-1 G 二GM C 2M CI B +/一

存储器实验报告

计组实验三实验报告 实验日期:2015 年4 月14 日学号:201308010227 姓名:吴晗 实验名称:存储器实验总分: 一.实验内容 1.随机存储器RAM的工作特性及使用方法 2.RAM数据存储和读取的工作原理 3.LPM类存储元件的定制 二.实验原理 原理图:

三.实验电路图: RAM电路图: addr[7..0]:地址输入 clk:时钟信号 we,rd;mem:控制信号,高电平有效 Initial_file.mif文件: 存储器电路图: i[7..0]:数据输入l[7..0]:总线数据 sw_bus:pc_bus:三态门控制信号 ld161,clr161,pc161:74161控制信号,控制置数,读取,清零,计数 ldar:74273控制信号 w,r,m:RAM控制信号

仿真图: 仿真说明: 时间参数:End Time:2.0us Grid Size:100ns 端口说明: clk:时钟信号 i[7..0]:数据输入l[7..0]:总线数据 sw_bus:pc_bus:三态门控制信号,控制数据输出到总线 ld161,clr161,pc161:74161控制信号,控制置数,读取,清零,计数 ldar:74273控制数据从总线读入 w,r,m:RAM控制信号 仿真说明: 0-100ns:无操作 100-200ns:sw_bus为0有效,从i读入01,74161置数状态,RAM默认状态,总线

数据01 200-300ns:sw_bus为0有效,pc_bus无效,从i读入01,74161保持状态,RAM默认状态,总线数据01 300-400ns:pc_bus为0有效,sw_bus无效,74161保持状态,RAM默认状态,总线数据01,ldar为1,跳入下一个地址 400-500ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取E1,总线E1 500-600ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取D2,总线D2 600-700ns:sw,pc_bus无效,74161保持状态,RAM写入状态,总线输入EE,写入RAM 700-800ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取EE,总线EE 800-900ns:pc_bus为0有效,sw_bus无效,74161计数加1状态,RAM默认状态,总线数据01在上升沿时变为02 900-1000ns:pc_bus为0有效,sw_bus无效,74161计数加1状态,RAM默认状态,总线数据02在上升沿时变为03,ldar为1,跳入下一个地址1000-1100ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取F3,总线EE在上升沿变为F3 1100-1200ns:sw,pc_bus无效,74161保持状态,RAM读取状态,读取F3,总线F3 仿真结论:仿真结果与理论相符,仿真成功 五.硬件验证 管脚分配: 选择FLEX10K-EPF10K20TC144-4器件下载验证与仿真结果相符,实验成功。

全加器实验报告

全加器设计实验报告 姓名: 班级: 学号:

实验目的: 1.熟悉QuartusⅡ原理图设计流程,学习简单电路的设计方法、输入步骤、层次化步骤。 2.掌握QuartusII的文本输入方式的设计过程,理解VHDL语言的结构级描述方法,学习元件例化语句的设计方法。 实验原理:一位全加器可以用两个半加器及一个或门连接而成。要求使用原理图输入的方法先进行底层半加器设计,再建立上层全加器设计文件,调用半加器和或门符号,连线完成原理图设计。 全加器可以用两个半加器和一个或门连接而成,在半加器描述的基础上,采用COMPONENT语句和PORT MAP语句就可以很容易地编写出描述全加器的程序。 一.原理图 1.半加器 实验步骤 1.打开Quartus Ⅱ软件,选择新建命令,在新建对话框中选择原理图文件编辑输入项,完成新建进入原理图编辑窗口。 2.在原理图编辑窗口任意位置右击鼠标,将出现快捷菜单,选择其中的输入元件项insert symbol,按照所设计的电路,放置器件,排版,连线,完成设计后选择另存为命令,命名为h_adder存放在指定文件夹中。

3.完成半加器的设计后,重复新建命令,开始进行全加器设计,在新建的原理图中,双击鼠标,在弹出的窗口中选择project选项,将之前存入的h_adder元件,放入原理图中。 2.全加器 实验步骤 1.新建工程,在新建的工程中建立VHDL语言编辑文件,在编辑窗口处,输入设计的半加器全加器程序。 2.将设计好程序进行编译,没有错误之后定义全加器五个引脚所对应耳朵硬件电路的引脚号。 3.烧录程序,调试,验证程序是否合理。

二.程序

实验一存储器实验

实验一存储器实验 1.FPGA中LPM_ROM定制与读出实验 一.实验目的 1、掌握FPGA中lpm_ROM的设置,作为只读存储器ROM的工作特性和配置方法。 2、用文本编辑器编辑mif文件配置ROM,学习将程序代码以mif格式文件加载于 lpm_ROM中; 3、在初始化存储器编辑窗口编辑mif文件配置ROM; 4、验证FPGA中mega_lpm_ROM的功能。 二.实验原理 ALTERA的FPGA中有许多可调用的LPM (Library Parameterized Modules)参数化的模块库,可构成如lpm_rom、lpm_ram_io、lpm_fifo、lpm_ram_dq的存储器结构。CPU 中的重要部件,如RAM、ROM可直接调用他们构成,因此在FPGA中利用嵌入式阵列块EAB可以构成各种结构的存储器,lpm_ROM是其中的一种。lpm_ROM有5组信号:地址信号address[ ]、数据信号q[ ]、时钟信号inclock、outclock、允许信号memenable,其参数都是可以设定的。由于ROM是只读存储器,所以它的数据口是单向的输出端口,ROM中的数据是在对FPGA现场配置时,通过配置文件一起写入存储单元的。图3-1-1中的lpm_ROM有3组信号:inclk——输入时钟脉冲;q[23..0]——lpm_ROM的24位数据输出端;a[5..0]——lpm_ROM的6位读出地址。 实验中主要应掌握以下三方面的内容: ⑴lpm_ROM的参数设置; ⑵lpm_ROM中数据的写入,即LPM_FILE初始化文件的编写; ⑶lpm_ROM的实际应用,在GW48_CP+实验台上的调试方法。 三.实验步骤 (1)用图形编辑,进入mega_lpm元件库,调用lpm_rom元件,设置地址总线宽度address[]和数据总线宽度q[],分别为6位和24位,并添加输入输出引脚,如图3-1-1设置和连接。 (2)设置图3-1-1为工程。 (3)在设置lpm_rom数据参数选择项lpm_file的对应窗口中(图3-1-2),用键盘输入

静态随机存储器实验实验报告

**大学 实验(实训)报告 实验名称运算器、存储器所属课程计算机组成与结构所在系计算机科学与技术班级 学号 姓名 指导老师 实验日期

实验静态随机存储器实验 2.1. 实验目的 掌握静态随机存储器RAM工作特性及数据的读写方法。 2.2. 实验内容 给存储器的00H、01H、02H、03H、04H 地址单元中分别写入数据 11H、12H、13H、14H、15H,再依次读出数据。 2.3. 实验设备 TDN-CM++计算机组成原理教学实验系统一台,排线若干。 2.4. 实验原理 实验所用的静态存储器由一片6116(2K×8bit)构成(位于MEM单元),如图2-1所示。6116有三个控制线:CS(片选线)、OE(读线)、WE(写线),其功能如下图,当片选有效(CS=0)时,OE=0时进行读操作,WE=0时进行写操作,本实验将CS常接地。 图2-1 SRAM 6116 引脚图 由于存储器最终挂接到CPU上,所以还需要一个读写控制逻辑,使得CPU能控制MEM 的读写,实验中的读写控制逻辑如图2-2所示,由于T3的参与,可以保证MEM的写脉宽与T3一致,T3由时序单元的TS3给出。IOM用来选择是对 I/O还是对MEM进行读写操作,RD=1时为读,WR=1时为写。

实验原理如图2-3所示,存储器数据线接至数据总线,数据总线上接有8个LED 灯显示D7…D0 的内容。地址线接至地址总线,地址总线上接有8个LED 灯显示A7…A0的内容,地址由地址锁存器给出。数据开关经一个三态门连至数据总线,分时给出地址和数据。地址寄存器为8位,接入6116的地址A7…A0,6116的高三位地址A10…A8接地,所以其实际容量为256字节。 图2-3 存储器实验原理图 实验箱中所有单元的时序都连接至时序与操作台单元,CLR 都连接至CON 单元的CLR 按钮。实验时T3由时序单元给出,其余信号由CON 单元的二进制开关模拟给出,其中IOM 应为低(即MEM 操作),RD 、WR 高有效,MR 和MW 低有效,LDAR 高有效。 2.5.实验步骤 MR MW D7 —————D0D7 —————D0 A7 —————A0 OE CS T3 IOM RD WE 读写译码 RD WR 74LS27374LS245IN 单元 AD7 | || AD0 LDAR IOR IN_B A10 —A8————— ————— ——————————----—————6116

存储器实验实验报告

存储器实验实验报告

一、实验目的 练习使用STEP开关 了解地址寄存器(AR)中地址的读入 了解STOP和STEP开关的状态设置 了解向存储器RAM中存入数据的方法 了解从存储器RAM中读出数据的 二、实验设备 1、TDN-CM+组成原理实验仪一台 2、导线若干 3、静态存储器:一片6116(2K*8)芯片 地址锁存器(74LS273) 地址灯AD0-AD7 三态门(74LS245) 三、实验原理 实验所用的半导体静态存储器电路原理如图所示, 实验中的静态存储器由一片6116(2K*8)芯片构成,其数据 线接至数据总线,地址线由地址锁存器(74LS273)给出。 地址灯AD0-AD7与地址线相连,显示地址线状况。数据开关 经一个三态门(74LS245)连至数据总线,分时给出地址和 数据。 实验时将T3脉冲接至实验板上时序电路模块的TS3相应插孔中,在时序电路模块中有两个二进制开关“STOP”和“STEP”,将 “STOP”开关置为“RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关START,则TS3端输出连续的方波信号当“STOP”开 关置为RUN状态,“STEP”开关置为“STEP”状态时,每按动一次 微动开关“start”,则TS3输出一个单脉冲,脉冲宽度与连续 方式相同。

四、实验内容 如下图 存储器实验接线图

(一) 练习使用STEP开关 往地址寄存器(AR)中存入地址 设置STOP和STEP开关的状态: 从数据开关送地址给总线:SW-B=___ 打开AR,关闭存储器:LDAR=___、CE=___ 按下Start产生T3脉冲 关闭AR,关闭数据开关:LDAR=__、SW-B=__ (二) 往存储器RAM中存入数据 1.设定好要访问的存储器单元地址 2.从数据开关送数给总线:SW-B=___ 3.选择存储器片选信号:CE=___ 4.选择读或写:WE=____ 5.按下Start产生T3脉冲 6.关闭存储器片选信号:CE=___ 7.关闭数据开关:SW-B=___ (三) 从存储器RAM中读出数据 1.设定好要访问的存储器单元地址 2.选择存储器片选信号:CE=___ 3.选择读或写:WE=____ 4.按下Start产生T3脉冲 5.关闭存储器片选信号:CE=___

微机原理实验---存储器的扩展实验

深圳大学实验报告 课程名称:微机计算机设计 实验项目名称:静态存储器扩展实验 学院:信息工程学院 专业:电子信息工程 指导教师: 报告人:学号:2009100000班级:<1>班实验时间:2011. 05. 05 实验报告提交时间:2011. 05. 31 教务处制

一、实验目的 1. 了解存储器扩展的方法和存储器的读/写。 2. 掌握CPU对16位存储器的访问方法。 二、实验要求 编写实验程序,将0000H~000FH 共16 个数写入SRAM 的从0000H 起始的一段空间中,然后通过系统命令查看该存储空间,检测写入数据是否正确。 三、实验设备 PC 机一台,TD-PITE 实验装置或TD-PITC 实验装置一套。 四、实验原理 1、存储器是用来存储信息的部件,是计算机的重要组成部分,静态RAM 是由MOS 管组成的触发器电路,每个触发器可以存放1 位信息。只要不掉电,所储存的信息就不会丢失。此,静态RAM 工作稳定,不要外加刷新电路,使用方便。 2、本实验使用两片的62256芯片,共64K 字节。本系统采用准32 位CPU,具有16 位外部数据总线,即D0、D1、…、D15,地址总线为BHE#(#表示该信号低电平有效)、BLE#、A1、A2、…、A20。存储器分为奇体和偶体,分别由字节允许线BHE#和BLE#选通。存储器中,从偶地址开始存放的字称为规则字,从奇地址开始存放的字称为非规则字。处理器访问规则字只需要一个时钟周期,BHE#和BLE #同时有效,从而同时选通存储器奇体和偶体。处理器访问非规则字却需要两个时钟周期,第一个时钟周期BHE#有效,访问奇字节;第二个时钟周期BLE#有效,访问偶字节。处理器访问字节只需要一个时钟周期,视其存放单元为奇或偶,而BHE#或BLE#有效,从而选通奇体或偶体。 五、实验过程 1、按图接线好电路。 2. 编写实验程序,经编译、链接无误后装入系统。 实验部分代码如下: STACK SEGMENT STACK DW 32 DUP(?) STACK ENDS CODE SEGMENT START PROC FAR ASSUME CS:CODE MOV AX, 8000H ; MOV DS, AX AA0: MOV SI, 0000H ; MOV CX, 0010H MOV AX, 0000H AA1: MOV [SI], AX

四位全加器实验报告

《四位全加器》实验报告 题目:___ ____ 学号:___ _____姓名:____ _______ 教师:____ ____

1、实验内容 四位全加器的设计与实现。 2、实验目的与要求 利用MAX+plusII实现四位全加器并且验证实验内容。 3、实验环境 MAX+plus II 10.1 4、设计思路分析(包括需求分析、整体设计思路、概要设计) 一个4位全加器可以由4个1位全加器构成,加法器间的进位可以串行方式实现,即将低位加法器的进位输出cout与相邻的高位加法器的最低进位输入信号cin相接。 半加器描述: 根据半加器真值表可以画出半加器的电路图。 a b so Co 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 5、详细设计 A) 半加器设计: 1)新建一个设计文件,使用原理图设计方法设计。 2)将所需元件全部调入原理图编辑窗,所需元件依次为:input 2个;output 2个;and2 1个;xnor 1个;not 1个。 3)依照下图连接好各元件

4)保存为h-adder将当前设计文件设置成工程文件。 5)编译 B) 一位全加器的实现: 1)一位全加器可以由两个半加器和一个或门连接而成,因而可以根据半加器的电路原理图或真值表写出1位全加器的VHDL描述。. 2)依照以下原理图连接好全加器: 其中有两个原件(h-adder)为刚刚设计好的半加器.其他原件为:input 3个, output 2个, or2 1个. 3)保存为f-adder设置成工程文件并选择目标器件为EPF10K20TC144.4 4)编译 C) 四位全加器的实现 1) 4位全加器可以看做四个1位全加器级联而成,首先采用基本逻辑门设计一位全加器,而后通过多个1位全加器级联实现4位全加器。 2) 依照以下原理图连接好全加器。、

存储器存储实验

课程名称:计算机组成原理 开课实验室: 2018年3月26日

实验一、存储器存储实验 一、实验目的 掌握静态随机存储器RAM工作特性及数据的读/写方法; 二、实验原理及基本技术路线图(方框原理图) 1.在此实验中,半导体静态存储器的芯片规格为6116(2KX8),有三根 控制线,分别是片选线CE、读线OE、写线WE。其数据线接至数据总线,地址锁存器(74LS273)给出地址线。 2.数据开关经过三态门,并且到达总线。地址灯AD7…AD0与地址线相连, 可以通过观察地址灯来观察存储的地址。 3.当进行读写操作时,必须设置控制端CE=0,WE=0(WE=1),同时在T3 传递脉冲过来。当片选有效(CE=0)时,OE=0则进行读操作,WE=0则进行写操作。 4.实验时,需要将T3脉冲连接至实验板上时序电路模块的TS3相应插孔 中。脉冲宽度调到中层。SW-B(三态门)为低有效电频, LDAR为高有效电频。

三、所用仪器、材料(设备名称、型号、规格等) (1)、TDN-CM+或 TDN-CM++教学实验设备一套。 (2)、PC机(或示波器)一台。 四、实验方法、步骤 (1) 形成时钟脉冲信号T3。具体接线方法和操作步骤如下: ①接通电源,用示波器接入方波信号源的输出插孔H23,调节电位器W1 及W2 ,使H23 端输出实验所期望的频率及占空比的方波。 ②将时序电路模块(STATE UNIT)单元中的ф和信号源单元(SIGNAL UNIT)中的H23 排针相连。 ③在时序电路模块中有两个二进制开关“STOP”和“STEP”。将“STOP” 开关置为“RUN”状态、“STEP”开关置为“EXEC”状态时,按动微动开关START,则TS3端即输出为连续的方波信号,此时调节电位器W1,用示波器观察,使T3 输出实验要求的脉冲信号。当“STOP”开关置为“RUN”状态、“STEP”开关置为“STEP”状态时,每按动一次微动开关START,则T3 输出一个单脉冲,其脉冲宽度与连续方式相同。 (2)脉冲信号设置好之后, 按右图连接实验线路,仔细查线 无误后接通电源。

相关文档
最新文档