教学课件PPT电路设计应用实例

上传人:ji****72 文档编号:48504904 上传时间:2018-07-16 格式:PPT 页数:29 大小:3.76MB
返回 下载 相关 举报
教学课件PPT电路设计应用实例_第1页
第1页 / 共29页
教学课件PPT电路设计应用实例_第2页
第2页 / 共29页
教学课件PPT电路设计应用实例_第3页
第3页 / 共29页
教学课件PPT电路设计应用实例_第4页
第4页 / 共29页
教学课件PPT电路设计应用实例_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《教学课件PPT电路设计应用实例》由会员分享,可在线阅读,更多相关《教学课件PPT电路设计应用实例(29页珍藏版)》请在金锄头文库上搜索。

1、LOGO第3章电路设计应用实例 电子科学学院电子科学学院主要内容3.5 百进制加法计数器3.4 编码器设计3.3 分频器设计3.2 双向电路和三态控制电路设计3.1 带有并行置位的移动寄存器3.1 带有并行置位的移位寄存器LOADQBDIN700 1110010111100011113.1 带有并行置位的移位寄存器ARCHITECTURE behav OF SHFRT ISBEGINPROCESS (CLK, LOAD)VARIABLE REG8 : STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINIF CLKEVENT AND CLK = 1 THENIF LOAD =

2、1 THEN - 装载新数据REG8 := DIN;ELSEREG8(6 DOWNTO 0) := REG8(7 DOWNTO 1);END IF;END IF;QB Z); END IF ;IF enable = “01“ THEN output Z); END IF ;IF enable = “10“ THEN output Z); END IF ;IF enable = “11“ THEN output Z); END IF ; END PROCESS; END multiple_drivers;进程中顺序语句对同一信号多次赋值, 只执行最后一条。3.2.2 三态总线设计断开archit

3、ecture body_tri of tristate2 isbeginq Z) ;q Z) ;q Z) ;q Z) ;end body_tri;3.2.2 三态总线设计并行语句中对同一信号多次赋值, 只能在设计三态电路时可以使用。controlinputoutputIO三态门1 03.2.3 双向端口设计architecture one of bi_state is begin process(control,input,IO) begin if (control=0) then output= IO;IO = “ZZZZZZZZ“; else IO=input;output=“ZZZZZZ

4、ZZ“; end if; end process; end one;library ieee; use ieee.std_logic_1164.all; entity bi_state is port (control: in std_logic;input: in std_logic_vector(7 downto 0);IO : inout std_logic_vector(7 downto 0);output: out std_logic_vector(7 downto 0); end bi_state; controlinputoutputIO3.2.3 双向端口设计3.2.3 双向端

5、口设计主要内容3.5 百进制加法计数器3.4 编码器设计3.3 分频器设计3.2 双向电路和三态控制电路设计3.1 带有并行置位的移动寄存器3.3 分频器设计分频器基准 信号分频 信号基准 信号分频 信号 1周期2周期二分频(占空比50%)3.3.1 偶数分频器设计1周期四分频(占空比50%)4周期3.3.1偶数分频器设计architecture one of clk_div1 is begin process(clk_in) variable countQ:std_logic_vector(3 downto 0); variable clk_outQ:std_logic:=0; begin

6、if (clk_inevent and clk_in=1) then if (countQ=“0001“) then countQ:=“0000“;clk_outQ:=not clk_outQ;else countQ:=countQ+1;end if; end if; clk_out=clk_outQ; end process; end one;library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clk_div1 is p

7、ort(clk_in:in std_logic;clk_out:out std_logic); end clk_div1;countQ10clk_outQ10四分频7周期3.3.2奇数分频器设计clk_inclk_outclk1clk2七分频(占空比50%)library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clk_div3 is port (clk_in:in std_logic;clk_out:out std_logi

8、c); end clk_div3;architecture one of clk_div3 is signal clk1,clk2:std_logic; begin process(clk_in) variable cnt1:integer range 0 to 6; begin if rising_edge(clk_in) then if cnt16 then cnt1:=cnt1+1;else cnt1:=0;end if;if cnt13 then clk1=1;else clk1=0;end if; end if; end process;process (clk_in) variab

9、le cnt2:integer range 0 to 6; begin if falling_edge(clk_in) then if cnt26 then cnt2:=cnt2+1;else cnt2:=0;end if;if cnt23 then clk2=1;else clk2=0;end if; end if; end process; clk_out=clk1 or clk2; end one;3.3.2奇数分频器设计cnt11clk1234560主要内容3.5 百进制加法计数器3.4 编码器设计3.3 分频器设计3.2 双向电路和三态控制电路设计3.1 带有并行置位的移动寄存器3.

10、4 8-3 优先编码器8-3 优先编码器真值表注:表中的“x”为任意,类似VHDL中的“”值。输 入 输 出 din0 din1 din2 din3 din4 din5 din6 din7 output0 output1 output2 x x x x x x x 0 0 0 0 x x x x x x 0 1 1 0 0 x x x x x 0 1 1 0 1 0 x x x x 0 1 1 1 1 1 0 x x x 0 1 1 1 1 0 0 1 x x 0 1 1 1 1 1 1 0 1 x 0 1 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 1 1 1 1 ARCHI

11、TECTURE behav OF coder ISBEGINPROCESS (din)BEGINIF (din(7)=0) THEN output = “000“ ; ELSIF (din(6)=0) THEN output = “100“ ; ELSIF (din(5)=0) THEN output = “010“ ; ELSIF (din(4)=0) THEN output = “110“ ; ELSIF (din(3)=0) THEN output = “001“ ;ELSIF (din(2)=0) THEN output = “101“ ;ELSIF (din(1)=0) THEN o

12、utput = “011“ ;ELSE output = “111“ ;END IF ;END PROCESS ;END behav;3.4 8-3 优先编码器LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY coder IS PORT ( din : IN STD_LOGIC_VECTOR(0 TO 7);output : OUT STD_LOGIC_VECTOR(0 TO 2) ); END coder;优先级ARCHITECTURE behav OF coder ISBEGIN output = “000“ when ( din(7)=0

13、)ELSE“100“ when (din(6)=0) ELSE“010“ when(din(5)=0) ELSE“110“ when (din(4)=0) ELSE“001“ when (din(3)=0) ELSE“101“ when (din(2)=0) ELSE“011“ when(din(1)=0) ELSE“111“ ;END behav;3.4 8-3 优先编码器优先级主要内容3.5 百进制加法计数器3.4 编码器设计3.3 分频器设计3.2 双向电路和三态控制电路设计3.1 带有并行置位的移动寄存器3.5 百进制加法计数器个位十位进位时钟4位矢量4位矢量ARCHITECTURE

14、ART OF JSQ ISBEGINPROCESS(RST,EN,CLK)VARIABLE A2,A1: STD_LOGIC_VECTOR(3 DOWNTO 0); BEGIN IF RST=1 THEN A2:=“0000“; A1:=“0000“; ELSIF (CLKEVENT AND CLK=1) THENIF EN=1 THEN IF A2=“1001“ and A1=“1001“ THEN COUNT=1;else COUNT=0; end IF;IF A1=“1001“ THEN A1:=“0000“; IF A2=“1001“ THEN A2:=“0000“; ELSE A2:=A2+1; END IF; ELSE A1:=A1+1; END IF; END IF; END IF; AA2=A2; AA1=A1; END PROCESS; END ART;LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY JSQ ISPORT(RST: IN STD_LOGIC; EN: IN STD_LO

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号