并行语句和顺序语句
发布时间:2015/8/26 20:49:17 访问次数:1945
并行(Concurrent)语句
并行语句总是处于进程(PROCESS)的外部。并行语句之间值的更新是同时进行的,DGB15F与语句所在的顺序无关。并行语句包括:布尔方程;条件赋值;例化语句等。
①布尔方程
四选一的数据选择器的库声明、程序包声明及实体定义如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux4 IS
PORT
( s :IN STD_LOGIC_VECTOR(1DOWNT0 0);
aO,al,a2,a3 :IN STD_LOGIC;
y : OUT STD_LOGIC );
END mux4;
ARCHITECTURE archmux OF mux4 IS
BEGIN
y<=(ao AND not (s(0》 AND not (s(l》) or (al AND s(0) AND not (s(l》) or (a2 AND not (s(O》AND
s(l》 or (a3 AND s(0) AND s(l》;
END archmux;
③条件赋值
并行语句中条件赋值语句为: WITH-SELECT-WHEN语句及WHEN-ELSE语句。用WITH-SELECT-WHEN语句实现的结构体
ARCHITECTURE archmux OF mux4 ISBEGIN
WITH s SELECT
y<= ao WHEN "00",
al WHEN "01",
a2 WHEN "10",
a3 WHEN others;
并行(Concurrent)语句
并行语句总是处于进程(PROCESS)的外部。并行语句之间值的更新是同时进行的,DGB15F与语句所在的顺序无关。并行语句包括:布尔方程;条件赋值;例化语句等。
①布尔方程
四选一的数据选择器的库声明、程序包声明及实体定义如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY mux4 IS
PORT
( s :IN STD_LOGIC_VECTOR(1DOWNT0 0);
aO,al,a2,a3 :IN STD_LOGIC;
y : OUT STD_LOGIC );
END mux4;
ARCHITECTURE archmux OF mux4 IS
BEGIN
y<=(ao AND not (s(0》 AND not (s(l》) or (al AND s(0) AND not (s(l》) or (a2 AND not (s(O》AND
s(l》 or (a3 AND s(0) AND s(l》;
END archmux;
③条件赋值
并行语句中条件赋值语句为: WITH-SELECT-WHEN语句及WHEN-ELSE语句。用WITH-SELECT-WHEN语句实现的结构体
ARCHITECTURE archmux OF mux4 ISBEGIN
WITH s SELECT
y<= ao WHEN "00",
al WHEN "01",
a2 WHEN "10",
a3 WHEN others;
上一篇:进程Process
上一篇:顺序(Sequential)语句