中国民航大学CPLD_EDA课程5第5章_VHDL设计进阶.pptxVIP

  • 1
  • 0
  • 约3.65千字
  • 约 48页
  • 2021-09-18 发布于北京
  • 举报

中国民航大学CPLD_EDA课程5第5章_VHDL设计进阶.pptx

要点回顾;EDA技术实用教程;5.1 数据对象DATA OBJECTS;5.1 数据对象DATA OBJECTS;5.1.4 进程中的信号与变量赋值语句;5.1.4 进程中的信号与变量赋值语句;【例5-3】使用信号赋值的时序模块设计 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS SIGNAL A,B : STD_LOGIC ; BEGIN PROCESS (CLK) BEGIN IF CLKEVENT AND CLK = 1 THEN A = D1; B = A; Q1 =B; END IF; END PROCESS ; END ;;【例5-4】使用变量赋值的时序模块设计 LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY DFF3 IS PORT ( CLK,D1 : IN STD_LOGIC ; Q1 : OUT STD_LOGIC); END ; ARCHITECTURE bhv OF DFF3 IS BEGIN PROCESS (CLK) VARIABLE A,B : STD_LOGIC ; BEGIN IF CLKEVENT AND CLK =1 THEN A:= D1; B := A; Q1 = B; END IF; END PROCESS ; END ;;5.1.4 进程中的信号与变量赋值语句;; 【例5-6】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT STD_LOGIC); END mux4; ARCHITECTURE body_mux4 OF mux4 IS signal muxval : integer range 7 downto 0; BEGIN process(i0,i1,i2,i3,a,b) begin muxval = 0; if (a = 1) then muxval = muxval + 1; end if; if (b = 1) then muxval = muxval + 2; end if; case muxval is when 0 = q = i0; when 1 = q = i1; when 2 = q = i2; when 3 = q = i3; when others = null; end case; end process; END body_mux4;; 【例5-7】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY mux4 IS PORT (i0, i1, i2, i3, a, b : IN STD_LOGIC; q : OUT STD_LOGIC); END mux4; ARCHITECTURE body_mux4 OF mux4 IS BEGIN process(i0,i1,i2,i3,a,b) variable muxval : integer range 7 downto 0; begin muxval := 0; if (a = 1) then muxval := muxval + 1; end if; if (b = 1) then muxval := muxval + 2; end if; case muxval is when 0 = q = i0; when 1 = q = i1; when 2 = q = i2; when 3 = q = i3; when others = null; end case; end process; END body_mux4;;图5-3 例5-6的错误的工作时序;5.2.1 含同步并行预

文档评论(0)

1亿VIP精品文档

相关文档