1、多路选择器和半加器的VHDL描述

多路选择器的VHDL描述

Snipaste_2024-11-26_11-06-38

a、b是2个数据 通道输入端口,s是通道选择控制端,y为数据输出端。

在一个语句中可以包含任意个进程语句结构,所有的进程语句本身都是并行语句,而有任一进程PROCESS引导的语句属于顺序结构。

image-20241126115956985

代码比较简单,不需要过多解释。

ENTITY mux21a IS -- 定义实体
	PORT( a,b,s : IN BIT;  -- 设置输入端口 BIT数据类型的取值范围是'0'和'1'
		  y : OUT BIT ); -- 设置输出端口
END ENTITY mux21a;

ARCHITECTURE bhv OF mux21a IS  -- 定义结构体bhv
  BEGIN 
    PROCESS(a,b,s) -- 由PROCESS引导语句为进程语句,旁边的括号为敏感信号表,用来检测a,b,s是否发生变化
	 BEGIN 
	  IF (s = '1')	THEN y <= a;	ELSE y <= b; -- 在VHDL语言中二进制必须使用单引号,否则会被当成int
	  END IF;			-- 正常的IF判断,如果s = '1'  a的值给y  否则 b的值给y		
    END PROCESS; -- 结束进制语句
END ARCHITECTURE bhv; -- 结束结构体bhv

image-20241126115205008

半加器VHDL语言描述

image-20241126131242522
Snipaste_2024-11-26_13-47-09

在本实验中,CO为进位输出,SO为加和输出。

LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;

ENTITY h_adder IS

PORT(
		A :  IN STD_LOGIC;
		B :  IN STD_LOGIC;
		SO: OUT STD_LOGIC;
		CO: OUT STD_LOGIC
		);
END ENTITY h_adder;

ARCHITECTURE fh1 OF h_adder IS
	BEGIN
	
		SO <= A XOR B;
		CO <= A AND B; 
		
END ARCHITECTURE fh1;

image-20241126134224967

posted @   Arciab  阅读(52)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示