《VHDL语言设计4选1多路选择器讲解学习》由会员分享,可在线阅读,更多相关《VHDL语言设计4选1多路选择器讲解学习(5页珍藏版)》请在金锄头文库上搜索。
1、VHDL语言设计4选1多路选择器精品文档4选1多路选择器的VHDL描述要求:THEN语句和CASE语句实现4选1多路选择器,其中选择控制信号s1和s0的数据类型为STD_LOGIC_VECTOR;当s1=0,s0=0;s1=0,s0=1;s1=1,s0=0和s1=1,s0=1时,分别执行y=a、y=b、y=c、y=d。一、 解法1:用IF_THEN语句实现4选1多路选择器(1)程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT (a,b,c,d: IN STD_LOGIC;s0: IN STD_LOGIC;s1: IN
2、 STD_LOGIC;y: OUT STD_LOGIC);END ENTITY mux41;ARCHITECTURE if_mux41 OF mux41 ISSIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);-定义标准逻辑位矢量数据 BEGINs0s1=s1&s0; -s1相并s0,即s1与s0并置操作PROCESS(s0s1,a,b,c,d)BEGINIF s0s1 = 00 THEN y = a;ELSIF s0s1 = 01 THEN y = b;ELSIF s0s1 = 10 THEN y = c;ELSE y = d;END IF;END PROC
3、ESS;END ARCHITECTURE if_mux41;(2)编译的结果如下:编译报告:二、 解法2:用CASE语句实现4选1多路选择器(1)程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY mux41 ISPORT (a,b,c,d: IN STD_LOGIC;s0: IN STD_LOGIC;s1: IN STD_LOGIC;y: OUT STD_LOGIC);END ENTITY mux41;ARCHITECTURE case_mux41 OF mux41 ISSIGNAL s0s1 : STD_LOGIC_VECTOR(1 DOWNTO 0);-定义标准逻辑位矢量数据类型 BEGINs0s1 y y y y NULL ;END CASE;END PROCESS;END case_mux41;(2)编译结果:编译报告:收集于网络,如有侵权请联系管理员删除