4选1多路选择器VHDL语言设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一.4选1多路选择器VHDL语言设计
4选1多路选择器源代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY max4_1 IS
PORT(a,b,c,d,s1,s2 : IN STD_LOGIC;
y : OUT STD_LOGIC); END ENTITY max4_1;
ARCHITECTURE hf1 OF max4_1 IS
SIGNAL ss : STD_LOGIC_VECTOR (0 TO 1); BEGIN
ss<=s2&s1;
PROCESS(ss)
BEGIN
CASE ss IS
WHEN "00" => y<=a;
WHEN "01" => y<=b;
WHEN "10" => y<=c;
WHEN "11" => y<=d;
WHEN OTHERS => NULL; END CASE;
END PROCESS;
END ARCHITECTURE hf1;
图1. 4选1电路图
图2. 4选1波形仿真图
二.三位触发器VHDL语言设计
三位触发器设计原代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL; ENTITY DFF3 IS
PORT( D,CLK : IN STD_LOGIC;
Q0,Q1,Q2: OUT STD_LOGIC); END DFF3;
ARCHITECTURE bhv OF DFF3 IS
SIGNAL Q00,Q11,Q22 : STD_LOGIC; BEGIN
PROCESS(CLK,Q00,Q11,Q22)
BEGIN
IF CLK'EVENT AND CLK='1'
THEN Q00<=D;
Q11<=Q00;
Q22<=Q11;
END IF;
END PROCESS;
Q0<=Q00;
Q1<=Q11;
Q2<=Q22;
END bhv;
图3. 三位触发器电路图
图4. 三位触发器波形仿真图三.P94 图3-33 时序电路图的VHDL描述
VHDL原代码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY DFF0 IS
PORT(CL,CLK0 : IN STD_LOGIC;
OUT1 : OUT STD_LOGIC);
END ENTITY;
ARCHITECTURE bhv OF DFF0 IS
SIGNAL Q1,D0 : STD_LOGIC;
BEGIN
PROCESS(CLK0,Q1)
BEGIN
IF CLK0'EVENT AND CLK0='1'
THEN Q1<=D0;
END IF;
END PROCESS;
D0<=NOT(Q1 OR CL);
OUT1<=NOT Q1;
END bhv;
图5. 时序电路图