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

a、b是2个数据 通道输入端口,s是通道选择控制端,y为数据输出端。
在一个语句中可以包含任意个进程语句结构,所有的进程语句本身都是并行语句,而有任一进程PROCESS引导的语句属于顺序结构。

代码比较简单,不需要过多解释。
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

半加器VHDL语言描述


在本实验中,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;

浙公网安备 33010602011771号