EDA实习图信息10209由刀豆文库小编整理,希望给你工作、学习、生活带来方便,猜你可能喜欢“eda实习报告”。
二,利用quartus2软件及VHDL语言设计组合逻辑电路 双2选1多路选择器先做2选1
ENTITY mux21a IS PORT(a, b, s: IN BIT;
y : OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS BEGIN PROCESS(a,b,s)BEGIN IF s = '0' THEN
y
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY muxk ISPORT(a1,a2,a3,s0,s1:I outy:OUT BIT);END ENTITY muxk;ARCHITECTURE fd OF muxk ISCOMPONENT mua21a PORT(a,b,s:IN BIT;
y:OUT BIT)END COMPONENT;SIGNAL temp:BIT BEGIN u1:mux21a PORT MAP(a=>a2,b=>a3,s=>s0,y=>temp);
u2:mux21a
PORT
MAP(a=>a1,b=>temp,s=>s1,y=>outy);
END ARCHITECTURE fd;输入全是高电平,观察输出
输出如下
为高电平
当s1=1 s0=0 a1 a2 a3 如下图所示观察输出
输出波形为输出为a2
三.利用Quartus2软件及VHDL语言设计时序逻辑电路 1.LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DFF1 I PORT(CLK : IN STD_LOGIC;D : IN STD_LOGIC;Q : OUT STD_LOGIC);END;ARCHITECTURE bhv OF DFF1 I SIGNAL Q1 : STD_LOGIC;
--类似于在芯片内部定义一个数据的暂存节点 BEGI PROCESS(CLK,Q1)BEGIN IF CLK'EVENT AND CLK = '1'
THEN Q1
END PROCESS;Q
--将内部的暂存数据向端口输出(双横线--是注释符号)END bhv;
四.Quartus2软件及VHDL设计同步或异步时序电路
利用USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS PORT(CLK,RST,EN : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT : OUT STD_LOGIC);
END CNT10ARCHITECTURE behav OF CNT10 IS BEGIN PROCESS(CLK, RST, EN)VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINIF RST = '1' THEN
CQI :=(OTHERS =>'0');--计数器异步复位
ELSIF CLK'EVENT AND CLK='1' THEN
--检测时钟上升沿IF EN = '1' THEN
--检测是否允许计数(同步使能)IF CQI
CQI := CQI + 1;
--允许计数, 检测是否小于9
ELSE
CQI :=(OTHERS =>'0');
--大于9,计数值清零
END IF;END IF;END IF;
IF CQI = 9 THEN COUT
--计数大于9,输出进位
ELSE
COUT
CQ
--将计数值向端口输出
END PROCESS;END behav;
输出
七段数码
状态机 输入01
输出