南通大学计算机科学与技术学院
计算机组成原理*实验报告*
实 验 名 称两位****8421BCD码加法器的设计与实现
班 级
学 号
姓 名 jontyy
指 导 教 师
日 期
一、*实验目的*
二、*实验用软件、器件等*
三、*实验内容*
四、*电路原理图*
五、*实验过程及数据记录*
六、*实验数据分析与小结*
七、*实验心得体会*
一、实验目的
1、掌握8421BCD码加法器的工作原理。
2、熟悉简单运算器的数据传送通路。
3、掌握8421BCD码加法器的设计方法。
4、掌握运算器电路的仿真测试方法。
二、实验用软件、器件等
1、软件:QUARTUS 2.0、WPS文字、Visio 2013
2、器件:74283(集成4位超前进位加法器)、or2(或)、and2(与)、74244b、74273b、74274b、BCD1(1位8421BCD加法器封装芯片)
三、实验内容
1、设计一个1位8421BCD码加法器,并完成芯片的封装。
(1)设计一个1位8421BCD码加法器,在QUARTUS II里输入原理图,。
(2)创建波形文件,对该加法器进行功能仿真测试。
(3)测试通过后,封装成一个芯片。
2、设计2位8421BCD码加法器通路电路。
利用实验任务1设计的1位8421BCD码加法器芯片,设计并建立运算器通路。
3、利用仿真波形,测试数据通路的正确性。
设定各控制信号的状态,仿真测试电路的准确性,要求记录各控制信号的值、时序关系以及仿真测试结果。
四、电路原理图
实验电路原理图如下图所示,图(1)是1位8421BCD码加法器原理图,图(2)是2位8421BCD码加法器通路电路原理图。
图(1)1位8421BCD码加法器原理图
图(2)2位8421BCD码加法器通路电路原理图
五、*实验过程及数据记录*
1、设计一个1位8421BCD码加法器
(1)参考图(1),在QUARTUS II里输入原理图,设计一个1位8421BCD码加法器。
1位8421BCD码加法器电路图:
图1-1
数据输入端:A[4..1]、B[4..1]、C0;
数据输出端:SUM[4..1]、Ci;
其中数据输入端和输出端都是8421BCD码的形式,C0是最低位进位的信号,其值为0,Ci是最高位的进位,也是判断结果是否发生溢出。
(2)创建波形文件,对该加法器进行功能仿真测试。
图1-2
数据输入端给1001(9)和1000(8),数据输出端给0111(7),最高位产生进位1,结果为17;数据输入端给0001(1)和0101(5),数据输出端给0110,最高位未产生进位,结果为6;数据输入端给两个0101(5),数据输出端给0000(0),最高位产生进位1,结果为10.
(3)测试通过后,封装成一个芯片BCD1。
图1-3
图1-4
图1-5 封装芯片BCD1
2、设计2位8421BCD码加法器通路电路。
利用实验任务1设计的1位8421BCD码加法器芯片,设计并建立运算器通路。
2**位8421BCD****码加法器运算器通路电路图:**
图2-1
3、利用仿真波形,测试数据通路的正确性。
设定各控制信号的状态,仿真测试电路的准确性,要求记录各控制信号的值、时序关系以及仿真测试结果。(这里以几个测试结果为例:50+05、50+50、99+99)
图2-2
数据输入端给01010000(50)和00000101(05),开启输入缓冲三态门,即给nalu-bus一个上升沿,然后给LDR0一个上升沿,保持高电平,给LDDR1一个上升沿,将第一个数存入DR1;再给LDR0一个上升沿,保持高电平,给LDDR2一个上升沿,将第一个数存入DR2;此时nalu-bus进入低电平,nsw-bus进入高电平,LDR0一个上升沿,计算结果进入输出缓冲区,然后进入BUS[8..1],最高位C9未发生进位,结果为01010101(55)。
图2-3
数据输入端给两个01010000(50),开启输入缓冲三态门,即给nalu-bus一个上升沿,然后给LDR0一个上升沿,保持高电平,给LDDR1一个上升沿,将第一个数存入DR1;再给LDR0一个上升沿,保持高电平,给LDDR2一个上升沿,将第一个数存入DR2;此时nalu-bus进入低电平,nsw-bus进入高电平,LDR0一个上升沿,计算结果进入输出缓冲区,然后进入BUS[8..1],最高位C9发生进位1,结果为100000000(100)。
图2-4
数据输入端给两个10011001(99),开启输入缓冲三态门,即给nalu-bus一个上升沿,然后给LDR0一个上升沿,保持高电平,给LDDR1一个上升沿,将第一个数存入DR1;再给LDR0一个上升沿,保持高电平,给LDDR2一个上升沿,将第一个数存入DR2;此时nalu-bus进入低电平,nsw-bus进入高电平,LDR0一个上升沿,计算结果进入输出缓冲区,然后进入BUS[8..1],最高位C9发生进位1,结果为110011000(198)。
六、*实验数据分析与小结*
1、在数据输入端IN8..IN1输入01010000(50)和00000101(05)。
序号 | nsw-bus | nR0-BUS | LDR0 | LDR1 | LDR2 | nalu-bus | IN8~IN1 | C9 | BUS8~BUS1 |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0-1 | 0 | 0 | 1 | 01010000 | 0 | 00000000 |
2 | 0 | 0 | 1 | 0-1 | 0 | 1 | 01010000 | 0 | 01010000 |
3 | 0 | 0 | 0-1 | 0 | 0 | 1 | 00000101 | 0 | 01010000 |
4 | 0 | 0 | 1 | 0 | 0-1 | 1 | 00000101 | 0 | 00000101 |
5 | 0-1 | 0 | 0-1 | 0 | 0 | 1-0 | 00000000 | 0 | 01010101 |
2、在数据输入端IN8..IN1输入两个01010000(50)。
序号 | nsw-bus | nR0-BUS | LDR0 | LDR1 | LDR2 | nalu-bus | IN8~IN1 | C9 | BUS8~BUS1 |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0-1 | 0 | 0 | 1 | 01010000 | 0 | 00000000 |
2 | 0 | 0 | 1 | 0-1 | 0 | 1 | 01010000 | 0 | 01010000 |
3 | 0 | 0 | 0-1 | 0 | 0 | 1 | 01010000 | 0 | 01010000 |
4 | 0 | 0 | 1 | 0 | 0-1 | 1 | 01010000 | 0 | 01010000 |
5 | 0-1 | 0 | 0-1 | 0 | 0 | 1-0 | 00000000 | 1 | 00000000 |
3、在数据输入端IN8..IN1输入两个10011001(99)。
序号 | nsw-bus | nR0-BUS | LDR0 | LDR1 | LDR2 | nalu-bus | IN8~IN1 | C9 | BUS8~BUS1 |
---|---|---|---|---|---|---|---|---|---|
1 | 0 | 0 | 0-1 | 0 | 0 | 1 | 10011001 | 0 | 10011001 |
2 | 0 | 0 | 1 | 0-1 | 0 | 1 | 10011001 | 0 | 10011001 |
3 | 0 | 0 | 0-1 | 0 | 0 | 1 | 10011001 | 0 | 10011001 |
4 | 0 | 0 | 1 | 0 | 0-1 | 1 | 10011001 | 0 | 10011001 |
5 | 0-1 | 0 | 0-1 | 0 | 0 | 1-0 | 00000000 | 1 | 10011000 |
七、实验心得体会
通过第一次实验能够比较熟练的运用QUARTUS 2.0,本次实验用到了数字逻辑中学到的器件74LS238,一个集成4位超前进位加法器,回顾了它的原理图。在设计1位8421BCD加法器时,列出它所对应的十进制数,进行相应的计算,得出数据需要修正与否,得出原理图公式,画出原理图,进行电路连接。在设计2位8421BCD码加法器运算器通路时,沿用了实验1 的通路原理,加入任务1的封装芯片BCD1,完成电路图。
通过本次实验,进一步熟悉了运算器通路过程中所用器件的运行过程和原理,了解了74LS238加法器,回顾了8421BCD码。
详细图片文档见百度云
链接:https://pan.baidu.com/s/1zzelLQiMoeRceCPwJtl6AQ 密码:a28o