zoukankan      html  css  js  c++  java
  • 实现一个4位加减法与或运算选择器(作业)

    一.题目:设计一个4功能简单ALU           

         数据输入信号有24bit无符号数输入A=A3—A0 B=B3—B0
    控制输入信号S1S0决定ALU功能。

         S1  S0             
                 0    0        Z=A+B
                 0    1        Z=A-B
                 1    0        Z=A∧B
                 1    1        Z=A∨B             
    电路输出为Z4bit)。

    二.电路图原理:

           1.图中共用一个74283(超前进位全加器)4个异或门,4个与门,4个或门,44位多路选择器。

           2.在B输入进入74283之前,将它与M端进行异或运算,M端连用进位端   CS0端,根据异或门真值表可知,当M0时,所有的1输入将被置00输入将被置1,此时,传入超前进位全加器的实际上适合A做减运算,这时则可以通过控制M端使74283作加法或者减法运算。

           3. 在右边,用4个与门和4个或门做按位与和按位或运算。

           4.74283的输出分别传入4个多路选择器的D3端,同时传入D2端,与输出分别接在D1,或输出分别接在D0上面

           5.将每个多路选择器的S1,S0端分别用一根线连起来,进行统一控制。

           6.S0M端相连。

           7.此时:

                  S1S0=00时,每个多路选择器的D3端作为输出,为加法。

                  s1S0=01时,M=s0=1,74283做减法输出

                  S1S0=10时,按位与输出,

                  S1S0=11时,按位或输出。

    三.逻辑电路图:

    实现一个4位加减法与或运算选择器(作业) - keysoul - keysoul

    检验结果,

    通过MAXPLUS检测,其结果见附页

     实现一个4位加减法与或运算选择器(作业) - keysoul - keysoul

     

    首先预设:A4A3A2A1=1010B4B3B2B1=0101,S1S0=00时,做加法运算,但是因为无法进位,所以统一输出为1,同样在S1S0=01时,做减法,因为无法借位,所以输出统一为1,当S1S0=10时,做与运算,可见输出为0000,正确,S1S0=11时做或运算,统一为1111,由于进行了两组相同的运算在400ns的时候,所以在第一次和第二次之间产生了冒险。

  • 相关阅读:
    蚁群算法(AntColonyOptimization,ACO)与TSP问题
    EASY-X
    扩展欧几里得
    堆,set,优先队列
    单链表的几个基本操作
    剑指offer JZ-20
    剑指offer JZ-19
    拉普拉斯机制下的差分隐私(1)
    剑指offer JZ-17
    剑指offer JZ-16
  • 原文地址:https://www.cnblogs.com/SoulReaper/p/3309828.html
Copyright © 2011-2022 走看看