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

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

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

一、实验目的

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

);

END adder4;

ARCHITECTURE arc2 OF adder4 IS

COMPONENT fadder

PORT

(

a, b,cin : IN STD_LOGIC;

s, co : OUT STD_LOGIC

);

END COMPONENT;

SIGNAL carry : STD_LOGIC_VECTOR(3 DOWNTO 1); BEGIN

u1 : fadder PORT MAP (a=>a(0), b

=>b(0),cin=>c0,s=>s(0),co=>carry (1));

u2 : fadder PORT MAP (a=>a(1),

b=>b(1),cin=>carry(1),s=>s(1),co=>carry (2));

u3 : fadder PORT MAP (a=>a(2),

b=>b(2),cin=>carry(2),s=>s(2),co=>carry (3));

u4 : fadder PORT MAP

(a=>a(3),b=>b(3),cin=>carry(3),s=>s(3),co=>c4); END arc2;

2、使用原理图的方法设计

打开File—>New Project Wizard输入文件名adder4保存在D 盘内,打开File—>New—>VHDL File,从模版中选择库的说明,use语句的说明,实体的说明,结构体的说明,编写VHDL代码,然后选择File-->Create/Update-->Create Symbol Files for Current File,选择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

(

Cin,a, b : 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;

原理图:

四、实验现象

五、实验体会与收获

问题:Error (10500): VHDL syntax error at (10) near text ")"; expecting an identifier, or "constant", or "file", or "signal", or "variable"

Error (10500): VHDL syntax error at (19) near text "COMPONENT"; expecting ";", or an identifier ("component" is a reserved keyword), or "entity"

Error (10396): VHDL syntax error at (27): name used in construct must match previously specified name "adder4"

Error (10523): Ignored construct adder4 at (3) due to previous errors

解决办法:

c4 : OUT STD_LOGIC;

);改为:

c4 : OUT STD_LOGIC);

OUT STD_LOGIC后面无;

收获:第二种方法中只建立熟悉理解一位全加器的工作原理,掌握串行进位加法器的逻辑原理。

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

实验一四位串行进位加法器的设计 一、实验目的 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 ieee.std_logic_1164.ALL; ENTITY 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 ieee.std_logic_1164.ALL; ENTITY adder4 IS PORT ( c0: IN STD_LOGIC; a,b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); s : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);

计算机组成原理《进位控制实验》

进位控制实验一、实验目的 验证带进位控制的算术运算功能发生器的功能二、实验原理

进位控制运算器的实验原理如图1-3所示,在实验1、1的基础上增加进位控制部分,其中181的进位进入了一个锁存器,其写入是由T4和AR信号控制,T4是脉冲信号,实验时将T4连至信号单元的TS4上。AR是电平控制信号(低电平有效),可用于实现带进位控制实验,而T4脉冲是将本次运算的进位结果锁存到进位锁存器中。 三、实验步骤及注意事项 1、按图1-4连接实验线路,仔细检查无误后,接通电源。(图中箭头表示需要接线的地方,接线总线和控制信号时哟啊注意高低位一一对应,可用彩排线的颜色来区别)

2、进位标志清零。具体步骤如下: 实验板中开关单元中的CLR 开关为标志位CY 、ZI 的清零开关,他为0时(开关向上为1,向下为0)是清零状态,所以将此开关做1→0→1操作,即可使标志位CY 、ZI 清零(清零后CY 、ZI 指示灯亮)。 3、用输入单元的二进制数据开关向DR1存入11000001,向DR2存入01000011。具体步骤如下: 首先使各个控制电平的初始状态为:CLR=1,LDDR1=0,LDDR2=0, CLU_G=1,AR=1,SW_G=1,S3 S2 S1 S0 M CN=111111,并将控制台单元的开关SP05打在“NORM ”状态,SP06打在“RUN ”状态,SP03打在“STEP ”状态,SP04打在“RUN ”状态。然后按下图所示步骤进行。 上面方括号中的控制电平变化按照从上到下的顺序来进行,其中T4的正脉冲是通过按动一次控制台单元的触动开关START 来产生的。 4、验证带进位运算及进位锁存功能 进行带进位算术运算:前面的操作已经向DR1、DR2置数,然后关闭数据输入三态门(SW_G=1)并使LDDR2=0,打开ALU 输出三态门(ALU_G=0),使ALU 单元的输出结果进入总线,当S3 S2 S1 S0 M CN 的状态为100101时,数据总线指示灯显示的数据为DR1加DR2加当前进位标志的到的结果。这个结果是否产生进位,则要使AR=0,然后按动触动开关START ,若进位标

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)

《微机实验》报告 实验名称 KeilC的使用与汇编语言上机操作 指导教师刘小英 专业班级中法1201 姓名肖洋学号 U3 联系电话 一、任务要求 1.掌握KeilC环境的使用 1)字节拆分、合并:调试程序,观察相关寄存器和单元的内容。 2)数据块填充:调试程序,观察相关寄存器和单元的内容。 2. 编写两个十六位数的加法程序。 有两个十六位无符号数,分别存放在从20H和30H开始的数据区中,低八位先存,高八 位在后,和存于R3(高八位)和R4(低八位),进位位存于R2。 二、设计思路 1.字节拆分、合并程序:利用汇编语言中的 XCHD 和 SWAP 两个语句来实现将八位二进制 数拆分为两个四位二进制数并分别存储于不同的存储空间的功能,BCD 码与 30H 相或(加 上 30H)得到 ASCII 码。将两个 ASCII 码和 0FH 相与(高四位清零)得到 BCD 码,利 用 SWAP 语句将高位数放至高四位,将高位数和低位数相或可实现字节的合并。 2.数据块填充程序:将 R0 用作计数器,DPTR 用作片外数据指针,A 作为原始数据来源, 依顺序在片外的存储单元内容填充数据。利用循环语句来减少程序长度,并控制填充单 元个数为片外 100H 个。(通过 R0 的进位控制) 3.两个十六位数加法程序:把第一个十六位无符号数的地八位和高八位分别存于 20H 和 21H 中,把第二个十六位无符号数的地八位和高八位分别存于 30H 和 31H 中,对 20H 和 30H 中的两个低八位进行 ADD 加法操作,结果存于 R4 中;然后对 21H 和 31H 中的两 个高八位进行 ADDC 带进位的加法操作,结果存于 R3 中.然后将累加器 A 清零,并和#00H

进位控制实验 计算机组成原理实验报告

《计算机组成与结构》课程实验报告 1计算机科学与信息工程系·2006年编制

·二、实验准备 1.仔细查线无误后,接通电源。 2.用二进制数码开关KDO ~KD7向DRl 和DR2 寄存器置数,方法:关闭ALU 输出三态门ALUB=1, 开启输入三态门SWB=0,输入脉冲T4按手动脉冲发生按钮产生。如果选择参与操作的两个数据分别为55H 、AAH ,将这两个数存入DR1和DR2的具体操作步骤如下: 3.开关ALUB=0,开启输出三态门,开关SWB=1,关闭输入三态门,同时让 LDDR1=0,LDDR2=0。 4.如果原来有进位,CY=1,进位灯亮,但需要清零进位标志时,具体操作方 法如下: S3、S2、S1、S0、M 的状态置为0 0 0 0 0,AR 信号置为“0”电平(清零操作时DRl 寄存器中的数应不等于FF )。 按动手动脉冲发生开关,CY=0,即清进位标志。 注:进位标志指示灯CY 亮时表示进位标志为“1”,有进位;进位标志指示灯CY 灭时,表示进位位为“0”,无进位。 数据开关置数 开输入三态门 数据存入寄存 ALUB=1 LDDR1= 0 LDDR2=1 KD0~KD7 数据开关置数 开输入三态门 数据存入寄存 ALUB=1 LDDR1=1 LDDR2=0 KD0~KD7 01010101

5.验证带进位运算及进位锁存功能 这里有两种情况: 进位标志已清零,即CY=0,进位灯灭。 使开关CN=0,再来进行带进位算术运算。例如步骤(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2 再加初始进位位“1”(因CN=0),相加的结果应为ALU=00,并且产生进位,此时按动 手动脉冲开关,则进位标志灯亮,表示有进位。 使开关CN=1,当S3、S2、S1、S0状态为10010,则相加的结累ALU=FF,并且不产生进 位。 原来有进位,即CY=1,进位灯亮。此时不考虑CN的状态,再来进行带进位算术运算。同样步骤(2)参与运算的两个数为55H和AAH,当S3、S2、S1、S0、M状态为10010,此时输出数据总线显示灯上显示的数据为DRl加DR2再加当前进位标志CY,相加的结果同样为ALU=00,并且产生进位,此时按动手动脉冲开关,则进位标志灯亮,表示有进位。 3计算机科学与信息工程系·2006年编制

加法器实验报告文档2篇

加法器实验报告文档2篇 Adder experiment report document 编订:JinTai College

加法器实验报告文档2篇 小泰温馨提示:实验报告是把实验的目的、方法、过程、结果等记录下来,经过整理,写成的书面汇报。本文档根据实验报告内容要求展开说明,具有实践指导意义,便于学习和使用,本文下载后内容可随意修改调整及打印。 本文简要目录如下:【下载该文档后使用Word打开,按住键盘Ctrl键且鼠标单击目录内容即可跳转到对应篇章】 1、篇章1:加法器实验报告文档 2、篇章2:加法器的基本原理实验报告文档 篇章1:加法器实验报告文档 【实验名称】 【目的与要求】 1.掌握1位全加器的设计 2.学会1位加法器的扩展【实验内容】 1.设计1位全加器

2.将1位全加器扩展为4位全加器 3.使4位的全加器能做加减法运算 【操作步骤】 1.1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2.将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。

3.将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII 进行功能仿真并对仿真结果进行截图。 【附录】 篇章2:加法器的基本原理实验报告文档【按住Ctrl键点此返回目录】 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理

计组-加法器实验报告

半加器、全加器、串行进位加法器以及超前进位加法器 一、实验原理 1.一位半加器 A和B异或产生和Sum,与产生进位C 2.一位全加器 将一位半加器集成封装为halfadder元件,使用两个半加器构成一位的全加器 3.4位串行进位加法器 将一位全加器集成封装为Fulladder元件,使用四个构成串行进位加法器

4.超前进位加法器(4位) ⑴AddBlock 产生并行进位链中的ti(即Cthis)和di(即Cpass),以及本位结果Sum ⑵进位链(Cmaker) 四位一组并行进位链,假设与或非门的级延迟时间为1.5ty,与非门的延迟时间为1ty,在di和ti产生之后,只需2.5ty就可产生所有全部进位

⑶超前进位加法器 将以上二者结合起来即可完成,A和B各位作为各个AddBlock的输入,低一位的进位Ci-1作为本位AddBlock的C-1的输入。各个AddBlock输出的C_this和C_pass作为对应的Cmaker的thisi和passi的输入。

二、实验器材 QuartusII仿真软件,实验箱 三、实验结果 1.串行进位加法器结果 2.超前进位加法器结果

四、实验结果分析 1.实验仿真结果显示串行加法器比超前进位加法器快,部分原因应该是电路结构优化 不到位。另外由于计算的位数比较少,超前进位加法链结构较复杂,所以优势没体现出来,反倒运作的更慢一点。当位数增加的时候,超前进位加法器会比串行的更快。 2.波形稳定之前出现上下波动,应该与“竞争冒险”出现的情况类似,门的延迟和路径 的不同导致了信号变化时到达的时间有先有后,因此在最终结果形成前出现了脉冲尖峰和低谷;另外也可能部分原因由于电路结构优化的不到位所致

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建立一

进位控制实验实验报告

广东技术师范学院实验报告 学院:专业:班级:成绩: 姓名:学号:组别:组员: 实验地点:实验日期:指导教师签名: 实验 2.2.2项目名称:进位控制实验 1.实验目的 (1)了解带进位控制的运算器的组成结构。 (2)验证带进位控制的运算器的功能。 2.实验设备 TDN-CM+或TDN-CM++教学实验系统一台。 3.实验原理 图2.2-3所示为进位锁存及其显示电路。运算器最高位进位输出C(n+4)连接到一个锁存器(用74LS74实现)的输入端D,锁存器控制端的控制信号AR必须置为低电平,当T4脉冲到来时,进位结果就被锁存到进位锁存器中了,发光二极管这时显示为“灭”。同时也将本次的进位输出结果带进了下次的运算中,作为下次运算的进位输入。

图2.2-3 带进位运算器通路图 4.实验步骤 (1)按图2.2-4连接实验电路并检查无误。 (2)打开电源开关。 (3)用输入开关向暂存器DR1和DR2置数,方法同前。 (4)关闭数据输入三态门(SW-B=1),打开ALU输出三态门(ALU-B=0),并使LDDR1=0、LDDR2=0,关闭寄存器输入控制门。 (5)对进位标志清零。实验系统上“SWITCH UNIT”单元中的CLR开关为标志CY、ZI 的清零开关,它为零状态时是清零状态,所以将此开关做1→0→1操作,即可使标志位清零。注意:进位标志指示灯CY亮时表示进位标志为“0”,无进位;标志指示灯CY灭时表示进位为“1”,有进位。 (6)验证带进位运算及进位锁存功能。使Cn=1,AR=0,进行带进位算术运算。 例如,做加法运算,使ALU-B=0,S3 S2 S1 S0 M的状态为1、0、0、1、0,此时数据总线上显示的数据为DR1加DR2加当前进位标志的和,但这时的进位状态位还没有输入进位锁存器中,它是要靠T4节拍来输入的。这个结果是否有进位产生,则要按动微动开关KK2,若进位标志灯亮,则无进位,反之则有进位。因为做加法运算时数据总线一直显示的数据为DR1+DR2+CY,所以当有进位输入到进位锁存器时,总线显示的数据将为加上当前进位锁 存器中锁存的进位的结果。

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.对设计进行全编译,锁定引脚,然后分别进行功能与时序仿真,验证全加器的逻辑功能。其初始值、功能仿真波形和时序仿真波形分别如下所示

八位加法器设计实验报告

实验四: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

进位控制实验计算机组成原理实验报告

《计算机组成与结构》课程实验报告 实验名称进位控制实验实验序号2实验日期2013.3.29 姓名院系计算机班级学号 专业计算机科学与技术指导教师成绩 一、实验目的及要求 1.验证带进位控制的算术逻辑运算发生器功能 2.按指定数据完成几种指定的算术运算 三、实验内容 1.实验原理 在实验 1 的基础上增加进位控制部分,其中高位74LS181(U31) 的进位CN4 通过门 UN4E,UN2C,UN3B 进入 UN5B 的输入端D,其写入脉冲由T4 和 AR 信号控制, T4 是 脉冲信号,在手动方式下进行实验时,只需将跳线器J23 上 T4 与手动脉冲发生开关的 输出端SD 相连,按动手动脉冲开关,即可获得实验所需的单脉冲。AR 是电平控制 信号(低电平有效),可用于实现带进位控制实验。从图中可以看出,AR 必须为“ 0’’电平, D 型触发器 74LS74(UN5B )的时钟端 CLK 才有脉冲信号输入。才可以将本次运算的进位结果 CY 锁存到进位锁存器 74LS74(UN5B) 中。 2.实验接线 1)ALUBUS 连 EXJ3 2)ALU01 连 BUS1 3)SJ2 连 UJ2 4)跳线器 J23 上 T4 连 SD 5)LDDR1 ,LDDR2 , ALUB,SWB 四个跳线器拨在左边 6)AR,299B 跳线器拨在左边,同时开关AR 拨在“ 0”电平,开关 299B 拨在“ 1”电平 7)J25 跳线器拨在右边 二、实验准备 1.仔细查线无误后,接通电源。 2.用二进制数码开关KDO ~ KD7 向 DRl 和 DR2 寄存器置数,方法:关闭ALU输出三态门ALUB=1 ,开启输入三态门SWB=0 ,输入脉冲T4 按手动脉冲发生按钮产生。如果选择参与操作 的两个数据分别为55H、 AAH ,将这两个数存入DR1 和 DR2 的具体操作步骤如下:

加法器实验报告

加法器实验报告 篇一:加法器实验报告 实验 __一__ 【实验名称】 1位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】 1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节 2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图

(2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围内,这两个数包括符号在内共4位),用quartusII进行功能仿真并对仿真结果进行截图。 3. 将4位的全加器改进为可进行4位加法和减法的运算器 (1)在4位加法器的基础上,对电路进行修改,使该电路不仅能进行加 法运算而且还能进行减法运算。画出该电路 (2)分别用两个4位补码的正数和负数验证该电路的正确性(注意两个 数之和必须在4位补码的数的范围内),用quartusII进行功能仿真并对仿真结果进行截图。 【附录】 篇二:加法器的基本原理实验报告 一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进行工程开发、调试和仿真。

CMOS数字集成电路设计_八位加法器实验报告

CMOS数字集成电路设计课程设计报告 学院:****** 专业:****** 班级:****** 姓名:Wang Ke qin 指导老师:****** 学号:****** 日期:2012-5-30

目录 一、设计要求 (1) 二、设计思路 (1) 三、电路设计与验证 (2) (一)1位全加器的电路设计与验证 (2) 1)原理图设计 (2) 2)生成符号图 (2) 3)建立测试激励源 (2) 4)测试电路 (3) 5)波形仿真 (4) (二)4位全加器的电路设计与验证 (4) 1)原理图设计 (4) 2)生成符号图 (5) 3)建立测试激励源 (5) 4)测试电路 (6) 5)波形仿真 (6) (三)8位全加器的电路设计与验证 (7) 1)原理图设计 (7) 2)生成符号图 (7) 3)测试激励源 (8) 4)测试电路 (8) 5)波形仿真 (9) 6)电路参数 (11) 四、版图设计与验证 (13) (一)1位全加器的版图设计与验证 (13) 1)1位全加器的版图设计 (13) 2)1位全加器的DRC规则验证 (14) 3)1位全加器的LVS验证 (14) 4)错误及解决办法 (14) (二)4位全加器的版图设计与验证 (15) 1)4位全加器的版图设计 (15) 2)4位全加器的DRC规则验证 (16) 3)4位全加器的LVS验证 (16) 4)错误及解决办法 (16) (三)8位全加器的版图设计与验证 (17) 1)8位全加器的版图设计 (17) 2)8位全加器的DRC规则验证 (17) 3)8位全加器的LVS验证 (18) 4)错误及解决办法 (18) 五、设计总结 (18)

加法器的基本原理实验报告

一、实验目的 1、了解加法器的基本原理。掌握组合逻辑电路在Quartus Ⅱ中的图形输入方法及文本输入方法。 2、学习和掌握半加器、全加器的工作和设计原理 3、熟悉EDA工具Quartus II和Modelsim的使用,能够熟练运用Vrilog HDL语言在Quartus II下进 行工程开发、调试和仿真。 4、掌握半加器设计方法 5、掌握全加器的工作原理和使用方法 二、实验内容 1、建立一个Project。 2、图形输入设计:要求用VHDL结构描述的方法设计一个半加器 3、进行编译,修改错误。 4、建立一个波形文件。(根据真值表) 5、对该VHDL程序进行功能仿真和时序仿真Simulation 三、实验步骤 1、启动QuartusⅡ 2、建立新工程NEW PROJECT 3、设定项目保存路径\项目名称\顶层实体名称 4、建立新文件Blok Diagram/Schematic File 5、保存文件FILE /SA VE 6、原理图设计输入 元件符号放置通过EDIT_>SYMBOL 插入元件或点击图标 元件复制 元件移动 元件转动 元件删除 管脚命名PIN_NAME 元件之间连线(直接连接,引线连接) 7、保存原理图 8 、编译:顶层文件设置,PROJECT_>Set as Top_Level 开始编译processing_>Start Compilation 编译有两种:全编译包括分析与综合(Analysis&Synthesis)、适配(Fitter)、编程(assembler)时序分析(Classical Timing Analysis)4个环节,而这4个环节各自对应相应菜单命令,可单独发布执行也可以分步执行

计算机组成原理 进位控制实验

淮海工学院计算机工程学院实验报告书 课程名:《计算机组成原理》 题目:实验二进位控制实验 班级: 学号: 姓名:

1、目的与要求 1)验证带进位控制的算术运算功能发生器的功能。 2)按给定的数据完成几种指定的算术运算。 2、实验设备 ZYE1601B计算机组成原理教学实验箱一台,排线若干。 3、实验步骤与源程序 l) 按图1连接实验线路,仔细查检查无误后,接通电源。。 图1 进位控制实验接线图 2) 用二进制数码开关向DR1存入11000001,向DR2存入01000011。具体操作步骤如下: 检验DR1和DR2中存的数是否正确,具体操作为:关闭数据输入三态门(SW_G=1),打开ALU输出三态门(ALU_G=0)。当设置S3、S2、S1、S0、M的状态为11111时,总线指示灯显示DR1中的数,而设置成10101时总线指示灯显示DR2中的数。 3) 进位标志清零。具体操作方法如下: 实验板中“SWITCH”单元中的CLR开关为标志位CY、ZI的清零开关,它为0时(开关向上为1,向下为0)是清零状态,所以将此开关做l→0→1操作,即可使标志位清零(清零后指示灯亮)。

4) 验证带进位运算及进位锁存功能。 使Cn=1,Ar=0来进行带进位算术运算:首先向DR1、DR2置数,然后使ALU_G=0,当S3、S2、S1、S0、M的状态为10010时,数据总线上显示的数据为DR1加DR2加当前进位标志得到的结果。这个结果是否产生进位,则要按动微动开关PULSE,若进位标志灯CY亮,表示无进位;若进位标志灯CY灭,表示无进位。 4、结果分析与实验体会 有了前一次实验的经验,这次实验接线一会就接好了。这次的实验主要关于判断有无进位,在实验过程中,最低位都一直是1,就不考虑最低位,按照实验说明一步步操作,最后得出CY 等于0(不亮),即表示无进位。实验做的很满意。

加法器及差分放大器项目实验报告

加法器及差分放大器项目实验报告 一、项目内容和要求 (一)、加法器 1、任务目的: (1)掌握运算放大器线性电路的设计方法; (2)理解运算放大器的工作原理; (3)掌握应用仿真软件对运算放大器进行仿真分析的方法。 2、任务内容: 2.1 设计一个反相加法器电路,技术指标如下: (1)电路指标 运算关系:)25(21i i O U U U +-=。 输入阻抗Ω≥Ω≥K R K R i i 5,521。 (2)设计条件 电源电压Ec=±5V ; 负载阻抗Ω=K R L 1.5 (3)测试项目 A :输入信号V U V U i i 5.0,5.021±=±=,测试4种组合下的输出电压; B :输入信号V KHz U V U i i 1.0,1,5.021为正弦波±=信号,测试两种输入组合情况下的输出电 压波形。 C :输入信号V U i 01=,改变2i U 的幅度,测量该加法器的动态范围。 D :输入信号V U i 01=,V U i 1,2为正弦波,改变正弦波的频率,从1kHz 逐渐增加,步长为 2kHz ,测量该加法器的幅频特性。 2.2 设计一个同相加法器电路,技术指标如下: (1)电路指标 运算关系:21i i O U U U +=。 (2)设计条件 电源电压Ec=±5V ; 负载阻抗Ω=K R L 1.5 (3)测试项目 A :输入信号V U V U i i 1,121±=±=,测试4种组合下的输出电压; B :输入信号V KHz U V U i i 1,1,121为正弦波±=信号,测试两种输入组合情况下的输出电压 波形。 (二)、差分放大器 1、任务目的: (1)掌握运算放大器线性电路的设计方法; (2)理解运算放大器的工作原理; (3)掌握应用仿真软件对运算放大器进行仿真分析的方法。 2、任务内容 2.1 设计一个基本运放差分放大器电路,技术指标如下: (1)电路指标 运算关系:)(521i i O U U U --=。 输入阻抗Ω≥Ω≥K R K R i i 5,521。 (2)设计条件

加法器实验报告标准范本

编号:QC/RE-KA5914 加法器实验报告标准范本 The new situation in operation, especially the emergency, makes the information open and transparent by reporting the details, and then forms a closer cooperative relationship. (工作汇报示范文本) 编订:________________________ 审批:________________________ 工作单位:________________________

加法器实验报告标准范本 使用指南:本报告文件适合在为规范管理,让所有人员增强自身的执行力,避免自身发展与集体的工 作规划相违背,按固定模式形成日常报告进行上交最终实现及时更新进度,快速掌握所需了解情况的 效果。文件可用word任意修改,可根据自己的情况编辑。 篇一:加法器实验报告 实验__一__ 【实验名称】 1位加法器 【目的与要求】 1. 掌握1位全加器的设计 2. 学会1位加法器的扩展 【实验内容】 1. 设计1位全加器 2. 将1位全加器扩展为4位全加器 3. 使4位的全加器能做加减法运算 【操作步骤】

1. 1位全加器的设计 (1)写出1位全加器的真值表 (2)根据真值表写出表达式并化简 (3)画出逻辑电路 (4)用quartusII进行功能仿真,检验逻辑电路是否正确,将仿真波形截图并粘贴于此 (5)如果电路设计正确,将该电路进行封装以用于下一个环节2. 将1位全加器扩展为4位全加器 (1)用1位全加器扩展为4位的全加器,画出电路图 (2)分别用两个4位补码的正数和负数验证加法器的正确性(注意这两 个数之和必须在4位补码的数的范围

1.2进位控制实验

《计算机组成原理》实验报告 实验题目: 进位控制实验 姓名: 韦俊宏学号:_ 26111201026 班级: 12计科组别:__ 全班 同组人: 熊丽指导教师: _ 曾老师__ 实验概述: 验证带进位控制的算术运算功能发生器的功能 【实验目的及要求】 验证带进位控制的算术运算功能发生器的功能 按给定的数据完成几种指定的算术运算。 【实验原理】 进位控制运算器的实验原理如图1-3 所示,在实验1、1 的基础上增加进位控制部分,其中181 的进位进入一个锁存器,其写入是由T4 和AR 信号控制,T4 是脉冲信号,实验时将T4 连至信号单元的TS4 上。AR 是电平控制信号(低电平有效),可用于实现带进位控制实验,而T4 脉冲是将本次运算的进位结果锁存到进位锁存器中。 图l-3 进位控制实验原理图 【实验环境】(使用的软件) 1、ZY15CompSys12BB 计算机组成原理及系统结构教学实验箱一台 2、排线若干 实验内容: 运用算术逻辑运算器进行算术运算和逻辑运算。

【实验方案设计】 如下图: 【实验过程】(实验步骤、记录、数据、分析) 1、按图1-4 连接实验线路,仔细检查无误后,接通电源。(图中箭头表示需要接线的地方,接总线和控制信号时要注意高低位一一对应,可用彩排线的颜色来进行区分) 2、进位标志清零。具体操作方法如下: 实验板中开关单元中的CLR 开关为标志位CY、ZI 的清零开关,它为0 时(开关向上为1,向下为0)是清零状态,所以将此开关做l→0→1 操作,即可使标志位CY、ZI 清零(清零后CY、ZI 指示灯亮)。 3、用输入单元的二进制数据开关向DR1 存入11000001,向DR2 存入01000011。具体操 作步骤如下: 首先使各个控制电平的初始状态为:CLR=1,LDDR1=0,LDDR2=0,ALU_G=1,AR=1,SW_G=1,S3 S2 S1 S0 M CN=111111,并将控制台单元的开关SP05 打在“NORM”状态,SP06 打在“RUN”状态,SP03 打在“STEP”状态,SP04 打在“RUN”状态。然后按下图所示步骤进行。 上面方括号中的控制电平变化要按照从上到下的顺序来进行,其中T4 的正脉冲是通过按动一次控制台单元的触动开关START 来产生的。 置数完成以后,检验DR1 和DR2 中存的数是否正确,具体操作为:关闭数据输入三态门(SW_G=1),打开ALU 输出三态门(ALU_G=0),使ALU 单元的输出结果进入总线。当设置S3、 S2、S1、S0、M、CN 的状态为111111 时,数据单元的指示灯显示DR1 中的数;而设置成101011 时,数据单元的指示灯显示DR2 中的数,然后将指示灯的显示值与输入的数据进行对比。

数电实验报告半加全加器

实验二 半加/减器与全加/减器 一、 实验目的: (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 +/一

微机原理及应用实验报告

微机原理及应用实验报告标准化文件发布号:(9312-EUATWW-MWUB-WUNN-INNUL-DQQTY-

微机原理及应用实验报告 班级: 姓名: 学号: 中南大学 机电工程学院精密测控实验室

实验二软件程序设计 1.实验目的: 1、掌握MCS-51单片机指令系统及用汇编语言编程技巧; 2、了解和熟悉用MCS-51单片机仿真开发机调试程序的方法。 2.实验内容: 1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。 2.、编写多字节加法程序并上机调试通过。 8031内部RAM20H~22H单元中,存放了3字节被加数(低字节在前),在2AH~2CH单元中存放3字节加数(低字节在前),求两数之和,并将结 果存入以20H为起始地址的区域中(低字节在前)。 3.实验设备名称、型号: 4.画出软件程序流程图,写出上机调试通过的汇编语言程序清单: 程序1、编写排序程序并上机调试通过。 已知8031内部RAM60H~69H单元中,依次存放了 FFH,99H,77H,CCH,33H,DDH,88H,BBH,44H,EEH,它们均为无符号数,编程 将它们按递减次序排序,即最大数放在60H中,最小数放在69H中。

解:本设计采用冒泡排序法,使用双重循环,并在内循环中进行比较如果合乎从大到小的顺序则不动,否则两两交换,这样比较下去,比较9次 后,最小的那个数就会沉底,在下一次比较时将减少一次比较次数。如 果一次比较完毕,没有发生交换,说明已经按照从大到小的顺序排列 了。则可以退出循环,结束程序。 程序结构框图和程序代码如下:

相关文档
最新文档