ALU181

news/2024/11/28 19:24:06/

ALU181设计

一、ALU181简要介绍

  1. 算术逻辑单元(ALU)是计算机的核心部件之一,它能执行加法和减法等算术运算,也能执行“与”、“或”、“非”等逻辑运算。算术逻辑单元的基本功能可以根据74LS181的功能用VHDL编辑而成。
  2. ALU181的运算功能
    在这里插入图片描述
    功能简要分析:说明: ALU执行的运算有6个输入端S3-S0、 M、Cn,能执行48种运算;M输入有特别的作用,当M=1时,屏蔽Cn,即Cn的值不影响执行的运算;当M=0时,ALU执行的运算除受S3-S0外,还受Cn值得影响。

二、设计原理和电路图

  1. 设计原理图
    在这里插入图片描述
  2. 电路元件图
    在这里插入图片描述

三、系统调试情况

分三种情况

  1. 当M=1时,波形图如下
    在这里插入图片描述
  2. 当M=0,cn=0时,波形图如下 在这里插入图片描述
  3. 当M=0, Cn=1时,波形图如下
    在这里插入图片描述

四、程序代码

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY ALU181 IS
PORT ( S  : IN  STD_LOGIC_VECTOR(3 DOWNTO 0 );A,B  : IN  STD_LOGIC_VECTOR(7 DOWNTO 0); F  : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);COUT : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);M,CN  : IN  STD_LOGIC;CO,FZ : OUT STD_LOGIC  ); 
END ALU181;
ARCHITECTURE behav OF ALU181 IS
SIGNAL A9,B9,F9 : STD_LOGIC_VECTOR(8 DOWNTO 0);
BEGIN
A9 <= '0' & A ;  B9 <= '0' & B ;
PROCESS(M,CN,A9,B9)
BEGIN
CASE S  IS 
WHEN "0000"=>IF M='0' THEN F9<=A9 + CN       ; ELSE  F9<=NOT A9; END IF;
WHEN "0001"=>IF M='0' THEN F9<=(A9 OR B9)+CN; ELSE  F9<=NOT(A9 OR B9); END IF;
WHEN "0010"=>IF M='0' THEN F9<=(A9 OR (NOT B9))+CN; 
ELSE F9<=(NOT A9) AND B9; END IF;
WHEN "0011"=>IF M='0' THEN F9<= "000000000"-CN ; ELSE F9<="000000000"; END IF;
WHEN "0100"=>IF M='0' THEN F9<=A9+(A9 AND NOT B9)+CN ;ELSE F9<=NOT (A9 AND B9); END IF;
WHEN "0101"=>IF M='0' THEN F9<=(A9 OR B9)+(A9 AND NOT B9)+CN ;ELSE  F9<=NOT B9; END IF;
WHEN "0110"=>IF M='0' THEN F9<=A9 -B9 - CN   ; ELSE F9<=A9 XOR B9; END IF;
WHEN "0111"=>IF M='0' THEN F9<=(A9 AND (NOT B9))-CN ;ELSE F9<=A9 AND (NOT B9); END IF;
WHEN "1000" =>IF M='0' THEN F9<=A9 + (A9 AND B9)+CN;ELSE  F9<=(NOT A9) OR B9;END IF;
WHEN "1001" =>IF M='0' THEN F9<=A9 + B9 + CN; ELSE  F9<=NOT(A9 XOR B9); 
END IF;
WHEN "1010" =>IF M='0' THEN F9<=(A9 OR (NOT B9))+(A9 AND B9)+CN ;ELSE  F9<=B9; END IF;
WHEN "1011" =>IF M='0' THEN F9<=(A9 AND B9)- CN ; ELSE  F9<=A9 AND B9; END IF;
WHEN "1100" =>IF M='0' THEN F9<=A9 + A9 + CN; ELSE  F9<= "000000001"; END IF;
WHEN "1101" =>IF M='0' THEN F9<=(A9 OR B9)+A9 + CN ; 
ELSE  F9<=A9 OR (NOT B9); END IF;
WHEN "1110" =>IF M='0' THEN F9<=(A9 OR(NOT B9))+A9+CN; ELSE F9<=A9 OR B9;END IF;
WHEN "1111" =>IF M='0' THEN F9<=A9-CN; ELSE  F9<=A9 ; END IF;
WHEN OTHERS  =>F9<= "000000000" ;
END CASE;
IF (A9= B9) THEN FZ <= '0';END IF;
END PROCESS;
F<= F9(7 DOWNTO 0) ;   CO <= F9(8) ;
COUT <= "0000" WHEN F9(8) = '0'   ELSE  "0001" ;
END behav;

http://www.ppmy.cn/news/374332.html

相关文章

IP101GR/IP101GA原理图和代码

玩过正点原子的开发板的朋友&#xff0c;就知道LAN8720吧&#xff0c;其实IP101GR和LAN8720是差不多的&#xff0c;唯一不同就是后16位的不一样&#xff0c;其他基本一样&#xff0c;目前小编已经完成了&#xff0c;给大家分享一下我的经验&#xff0c;当然啦&#xff0c;小编也…

打印机如何扫描

1.利用Windows自带画图进行扫描。 2.直接利用扫描仪进行扫描。&#xff08;难找&#xff09;

【设备】WIN10怎么用佳能LIDE120扫描仪?

1.Introduction 实验室有台佳能LIDE120扫描仪&#xff0c;从来没用过&#xff0c;今天终于用了下&#xff0c;记录下操作流程&#xff0c;以防以后忘掉。 2.Materials and methods 佳能LIDE120扫描仪的信号和电源一根线&#xff0c;连接电脑后&#xff0c;WIN10自动安装驱动…

3.2 Static Terrestrial Laser Scanners 静态地基激光扫描仪

本章节介绍的静态地基激光扫描系统指的是那些在一个固定位置的位置上对周边场景地物特征进行扫描的设备。该类型设备的扫描测量机制是&#xff0c;通过激光测距仪进行斜距测量&#xff0c;与此同时通过水平和竖直两个方向上同步运动的角度编码器来记录角度变化值&#xff08;如…

如何设置佳能4225i扫描文稿发送到电脑的文件夹

如何设置佳能4225i扫描文稿发送到电脑的文件夹 一&#xff1a;先设置电脑 1、.控制面板-管理工具-本地安全策略-本地策略-安全选项-网络访问:本地账户的共享和安全模式-经典本地用户以自己的身份验证 2、运行-rundll32 netplwiz.dll,UsersRunDll-去掉 要使用本机,用户必须输…

佳能2900打印机与win10不兼容_修复:佳能打印机无法在Win10中扫描

一些用户在论坛上声明他们的一体式佳能打印机在升级到Win10后不进行扫描。一位用户表示: 使用适用于Win10(64位)的Canon软件,我按下预览扫描,扫描仪会在其周期内运行并生成预览。 然后按扫描键,扫描仪在床上停留28%并停止。 如果您的佳能打印机和扫描仪在升级到Win10后没有…

激活10年或20年前的古董设备--为只能用32位驱动的老设备:佳能打印机和EPSON扫描仪安装虚拟机

如何在64位环境中使用只能用32位驱动的老设备——为打印机和扫描仪安装32位win虚拟机系统 日积月累保留不少打印机、扫描仪和多功能一体机&#xff0c;而且有些质量相当好&#xff0c;如果只是因为没有驱动而废弃是相当可惜。之前一直用一台T60装32位 Win 来伺候这些老爷外围设…

佳能打印机扫描文件到电脑显示设置计算机,电脑教程:佳能打印机怎么扫描文件到电脑...

科技本身&#xff0c;支配宇宙的自然规律是充满魅力的&#xff01;因此越来越多的人开始关注科技的相关动态&#xff0c;近来佳能打印机怎么扫描文件到电脑的消息也是引起了很多人的关注&#xff0c;那么既然现在大家都想要知道佳能打印机怎么扫描文件到电脑&#xff0c;小编今…