实验内容及说明

    本实验要求采用一位全加器和异或门设计一个四位二进制补码加法器,操作数和运算结果均采用补码表示,该加法器要求可做补码加法,也可做补码减法运算。

在补码运祘中:

    (X)补 十(Y)补 =(X十Y)补

   (X)补 -(Y)补 =(X)补 十(-Y)补

   图3是四位补码加法器的原理图,图中SUM3-SUM0表示四位和数,C4为向高位的进位,A3-A0为A操作数,B3-B0为B操作数,C0为低位来的进位, K为控制端,当K为高电平时,执行减法运算,K为低电平时,执行加法运算。

图3 四位补码加法器原理图

实验步骤

(1)原理图输入:从元件库中选取相应器件实现四位补码加法器电路设计。

   (2)管脚锁定:平台工作于模式5,将 C4、SUM3-SUM0 依次定义在 LED 指示灯 D5-D1 上,将 K、C0、B3-B0、A3-A0 依次绑定在红色拨码开关 dout2、dout4、键 8-键 5、键 4- 键 1 上。

(3)原理图编译、适配和下载:在QuartusⅡ环境中选择EP4CE6/10E器件,进行原理图的编译和适配,无误后完成下载。

(4)功能测试:利用输入开关改变K、C0和A、B操作数的值,看LED指示灯显示的结果是否正确并记录结果。

(5)生成元件符号。

实验结果

(1)输入 K 为 0,C0 为 0,B3-B0 为 0100,A3-A0 为 0011,输出 C4 为 0,SUM3-SUM0 为 0111

(2)输入 C0 为 1,K 为 0,B3-B0 为 0100,A3-A0 为 0011,输出 C4 为 0,SUM3-SUM0 为 1000

(3)输入 K 为 1,C0 为 0,B3-B0 为 0011,A3-A0 为 0011,输出 C4 为 0,SUM3-SUM0 为 1

(4)输入 K 为 1,C0 为 0,B3-B0 为 0111,A3-A0 为 0011,输出 C4 为 0,SUM3-SUM0 为 1011

(5)输入 K 为 1,C0 为 1,B3-B0 为 0111,A3-A0 为 0011,输出 C4 为 0,SUM3-SUM0 为 1100

(6)输入 K 为 1,C0 为 0,B3-B0 为 0011,A3-A0 为 0111,输出 C4 为 1,SUM3-SUM0 为 0011

选做

利用四位补码加法运算的结果实现两个8位二进制数A(a7a6a5a4a3a2a1a0)和B(b7b6b5b4b3b2b1b0)的逻辑运算并生成元件符号。使平台工作于模式5,当按键开关不足时,可使用平台上红色的拨码开关。

原理图

管脚锁定(引脚分配)

平台工作于模式 5,将 C5、SUM7-SUM1 依次定义在 LED 指示灯 D8-D1 上,将 K、B7-B1、C0、A7-A1 依次绑定在红色拨码开关 dout8、dout7-dout1、键 8、键 7-键 1 上,由于输入和输出不够 B0 和 A0 被设为 0。 

实验结果

(1)此时输入 K 为 0,A1、A2 为 1、B1 为 1,其余都为 0,输出 SUM3 为 1,其余都 为 0,符合预期。

(2)输入 K 为 0,A7-1 为 1,B1 为 1,输出 C5 为 1,其余全为 0,符合预期。

(3)输入 K 为 1,B2,A1 为 1,输出 A1,C5 为 0,其余为 1。

(4)输入 K 为 1,A1,B2,C0 为 1,输出 C5 为 0,SUM1-7 为 1,符合预期。

(5)输入 K 为 1,B1 为 1,A3 为 1,输出 C5 为 1,SUM2 为 1,其余为 0,符合预期。

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐