4.13并行信号赋值语句 信号赋值语句: 目标信号<表达式 三种形式:并发信号赋值语句;条件信号赋值语句;选择信号赋值语句 1.并发信号赋值语句 又称基本信号赋值语句。 个结构体中多条并发信号赋值语句是并行执行的,与书写顺序无关。 例:加法器 包括:半加器、全加器和多位全加器 (1)半加器 将两个输入的二进制数字相加,输出结果为和(um)和进位(arry) 半加器:只考虑了两个加数本身,没有考虑从低位来的进位 half add 半加器的真值表 输入 輸出 被加数A 加数B 和数S 进位C 0 a 0 1 0 0100 000 半加器的电路符号 1
4.1.3并行信号赋值语句 信号赋值语句: 目标信号 <= 表达式; 三种形式:并发信号赋值语句;条件信号赋值语句;选择信号赋值语句 1. 并发信号赋值语句 又称基本信号赋值语句。 一个结构体中多条并发信号赋值语句是并行执行的,与书写顺序无关。 例:加法器 包括:半加器、全加器和多位全加器 (1) 半加器 将两个输入的二进制数字相加,输出结果为和(sum)和进位(carry)。 半加器:只考虑了两个加数本身,没有考虑从低位来的进位 输入 输出 被加数A 加数B 和数S 进位C 0 0 0 0 0 1 1 0 1 0 0 0 1 1 0 1 半加器的真值表 半加器的电路符号 half_add a b c s
●半加器的原理图编辑 半加器的原理图编辑 ●文本编辑法 library ieee; useieee.std_logic_1164. all; entity half add is port(a, b:in std _ logic, S,c: out std_ logic) end half add: architecture one ofhalf add is b gin s<=axorb c<=a and b do
⚫半加器的原理图编辑 XOR inst AND2 inst1 VCC A INPUT VCC B INPUT OUTPUT S OUTPUT C 半加器的原理图编辑 ⚫文本编辑法 library ieee; use ieee.std_logic_1164.all; entity half_add is port(a,b:in std_logic; s,c: out std_logic); end half_add; architecture one of half_add is begin s<=a xor b; c<=a and b; end one;
或 libraryieee, use 1eee.st td _logic_1164.all; use ieee std_logic_unsigned. all; entity half addis port(a, b:in std_ logic, S,c: out std logic) end half add architecture one ofhalf add is signal temp: std _logic_vector(1 downto 0 egin temp<=(0′&a)+b; s<=temp(o) c<=temp(1) end one
或 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity half_add is port(a,b:in std_logic; s,c: out std_logic); end half_add; architecture one of half_add is signal temp: std_logic_vector(1 downto 0); begin temp<=(‘0’&a )+b; s<=temp(0); c<=temp(1); end one;
(2)全加器 全加器执行加数、被加数和低位来的进位信号,并根据求和结果给出该进位的信号。 全加器的真值表 输 输出 被加数A加数B低位进和数s 进位co 0 0 0000 0 000 co 100 0 全加器的电路符号 1111 0101010 0100
(2) 全加器 输入 输出 被加数A 加数B 低位进 位ci 和数s 进位co 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1 全加器的真值表 全加器的电路符号 add a b co s 全加器执行加数、被加数和低位来的进位信号,并根据求和结果给出该进位的信号。 ci
libraryieee, useieee.std _logic_1164. all; useieee. std logic unsigned. all entity addis port(a, b, ci:in std logic, S,co: out std _ logic) end add1 architecture one of add1 is signal temp: std _logic_vector(1 downto 0 begin temp<=("0′&a)+b+c; s<=temp(o) co<=temp(1) end one
library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity add1 is port(a,b, ci:in std_logic; s,co: outstd_logic); end add1; architecture one of add1 is signal temp: std_logic_vector(1 downto 0); begin temp<=(‘0’&a )+b+ci; s<=temp(0); co<=temp(1); end one;