基本逻辑电路设计.ppt

上传人:牧羊曲112 文档编号:6412200 上传时间:2023-10-28 格式:PPT 页数:64 大小:2.02MB
返回 下载 相关 举报
基本逻辑电路设计.ppt_第1页
第1页 / 共64页
基本逻辑电路设计.ppt_第2页
第2页 / 共64页
基本逻辑电路设计.ppt_第3页
第3页 / 共64页
基本逻辑电路设计.ppt_第4页
第4页 / 共64页
基本逻辑电路设计.ppt_第5页
第5页 / 共64页
点击查看更多>>
资源描述

《基本逻辑电路设计.ppt》由会员分享,可在线阅读,更多相关《基本逻辑电路设计.ppt(64页珍藏版)》请在三一办公上搜索。

1、1,第三章 硬件描述语言(VHDL)第三部分 基本逻辑电路设计,2,基本逻辑电路:组合逻辑电路、时序逻辑电路一 组合逻辑电路设计 简单门电路、编码器、译码器、加法器、多路选择器、三态门等。,3.9 基本逻辑电路设计,3,1、基本门电路,4,2、编码器 设计一个 8 输入优先级编码器,y0 级别最低,y7 级别最高;输出为3位编码。,5,方法1:利用 if 多选择语句自顶向下的优先特性,6,方法2:进程内为顺序语句,最先描述优先级最低,最后描述优先级最高,可实现优先级编码。,7,方法3:利用条件赋值语句 architecture behavior of priority is begin vec

2、=“111”when y7=1 else“110”when y6=1 else“101”when y5=1 else“100”when y4=1 else“011”when y3=1 else“010”when y2=1 else“001”when y1=1 else“000”when y0=1 else“XXX”;end behavior;,8,3、译码器 译码器是编码器的逆过程。如 3-8 译码器:,9,方法1:使用逻辑左移运算符 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity

3、decoder is port(inp:in std_logic_vector(2 downto 0);outp:out std_logic_vector(7 downto 0);end decoder;architecture rtl of decoder is begin outp=“00000001”sll(conv_integer(inp);end rtl;,10,方法2:使用process语句 library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decoder is port(

4、inp:in std_logic_vector(2 downto 0);outp:out std_logic_vector(7 downto 0);end decoder;architecture rtl of decoder is begin process(inp)begin outp0);outp(conv_integer(inp)=1;end process;end rtl;,11,方法3:使用 case 语句实现。,12,译码输出低有效,13,方法4:使用条件赋值语句,14,3-8译码器仿真结果:,译码输出低有效,15,4、多路选择器 前面用 if 语句、case 语句、条件赋值语句

5、、选择赋值语句分别描述过4选1选择器。5、三态门及总线缓冲器 VHDL语言通过指定大写的Z值表示高阻状态 a:std_logic;a_bus:std_logic_vector(7 downto 0);指定高阻状态如下:a=Z;a_bus=“ZZZZZZZZ”;,16,1)三态门电路描述,17,三态门仿真结果:,18,2)单向总线缓冲器,19,3)双向总线缓冲器,20,二 时序逻辑电路设计 触发器、寄存器、计数器、分频器、信号发生器等。一)时序电路特殊信号的描述 时钟信号和复位信号 1、时钟信号描述 常用的描述方式:1)进程的敏感信号是时钟信号,在进程内 部用if 语句描述时钟的边沿条件。,21

6、,如:process(clock_signal)begin if(clock_edge_condition)then signal_out=signal_in;其它时序语句 end if;end process;,22,2)在进程中用wait until语句描述时钟信号,此 时进程将没有敏感信号。如:process begin wait until(clock_edge_condition);signal_out=signal_in;其它时序语句 end process;,23,注意:a.在对时钟边沿说明时,一定要注明是上升沿 还是下降沿。b.一个进程中只能描述一个时钟信号。c.wait un

7、til 语句只能放在进程的最前面或 最后面。3)时钟边沿的描述 时钟上升沿:(clockevent and clock=1)时钟下降沿:(clockevent and clock=0),24,2、触发器的复位信号描述 1)同步复位:在只有以时钟为敏感信号的进程 中定义。如:process(clock_signal)begin if(clock_edge_condition)then if(reset_condition)then signal_out=reset_value;else signal_out=signal_in;end if;end if;end process;,25,2)异步

8、复位:进程的敏感信号表中除时钟信 号外,还有复位信号。如:process(reset_signal,clock_signal)begin if(reset_condition)then signal_out=reset_value;elsif(clock_edge_condition)then signal_out=signal_in;end if;end process;,26,二)常用时序电路设计 1、触发器(Flip_Flop)1)D触发器,27,异步置位/复位D触发器,28,同步复位D触发器,29,比较:异步置位的锁存器(Latch),30,library ieee;use ieee.

9、std_logic_1164.all;entity t_ff is port(t,clk:in std_logic;q:buffer std_logic);end t_ff;architecture rtl of t_ff is begin process(clk)begin if clkevent and clk=1 then if t=1 then q=not q;else q=q;end if;end process;end rtl;,T,Clk,Q,Q,2)T触发器,31,library ieee;use ieee.std_logic_1164.all;entity rs_ff is

10、port(r,s,clk:in std_logic;q,qn:buffer std_logic);end rs_ff;architecture rtl of rs_ff is begin,process(r,s,clk)begin if clkevent and clk=1 then if s=1 and r=0 then q=0;qn=1;elsif s=0 and r=1 then q=1;qn=0;elsif s=0 and r=0 then q=q;qn=q n;else null;end if;end if;end process;end rtl;,S,Clk,Q,Q,R,3)RS触

11、发器,32,2、寄存器 8位串行输入、串行输出移位寄存器:,z0,z1,z2,z3,z4,z5,z6,z7,z8,33,8位移位寄存器描述(结构描述),34,移位寄存器仿真结果:,35,3、计数器 计数器分为:同步计数器 异步计数器(1)同步计数器 同步计数器指在时钟脉冲(计数脉冲)的控 制下,构成计数器的各触发器状态同时发生变化 的计数器。,36,带允许端的十二进制计数器,37,可逆计数器(加减计数器),38,可逆计数器仿真结果:,39,例:六十进制(分、秒)计数器,40,41,60进制计数器仿真结果:,42,(2)异步计数器 异步计数器又称为行波计数器,它的低位计数器的输出作为高位计数器的

12、时钟信号。异步计数器采用行波计数,使计数延迟增加,计数器工作频率较低。描述异步计数器与同步计数器的不同主要体现在对各级时钟脉冲的描述上。,43,例:由8个触发器构成的行波计数器:,44,基本元件 dffr 的描述:,45,采用元件例化描述8位行波计数器:,46,8 位行波计数器仿真结果:,47,4、序列信号发生器、检测器 1)“01111110”序列发生器,48,49,仿真结果:,50,2)序列信号检测器,检测“01111110”,51,52,53,54,简洁的序列信号检测器:,55,56,三 存储器设计,1、ROM,57,58,2、SRAM,59,60,仿真结果:,61,加法器 带进位的 4位加法器符号如下:,Sum(i)=a(i)b(i)cinC(i+1)=a(i)b(i)+(a(i)+b(i)c(i),62,方法1:用for loop语句实现,63,方法2:直接使用加法“+”函数:,64,加法器仿真结果:,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号