配色: 字号:
基本时序电路D触发器的VHDL设计
2020-04-07 | 阅:  转:  |  分享 
  
Review1、useieee.std_logic_unsigned.all;data<=(''0''&a)+(''0''&b)+("00000
000“&cin);2、variableq:std_logic_vector(3downto0);3、fornin0
to7loop--n是loop的循环变量if(din(n)=''1'')thenq:=q+1;endif;en
dloop;Reviewlibraryieee;useieee.std_logic_1164.all;useieee.st
d_logic_unsigned.all;useieee.std_logic_arith.all;4、VHDL库5、a0<=co
nv_std_logic_vector(0,s)&a;6、r1:=r1+to_stdlogicvector(to_bitvecto
r(a0)sll(i-1));7、8、generic(s:integer:=4);9、(others=>''0'')EDA技术实用
教程第五章时序电路的VHDL设计电子设计自动化技术第五章时序电路的VHDL设计回顾:组合电路、时序电路的概念基本时序元件的
VHDL表述★计数器的VHDL设计★移位寄存器的VHDL设计属性描述与定义语句5.1基本时序元件的VHDL表述触发器的概念
触发器(FlipFlop,简写为FF)是具有记忆功能的单元电路,由门电路构成,专门用来接收存储输出0、1代码。它有双稳态、单稳
态和无稳态触发器(多谐振荡器)等几种。它有两个稳定状态,“0”和“1”。在输入信号作用下,两个稳态可相互转换。按功能分RS、J
K、D、T和T′型触发器按结构分基本、同步、主从、维持阻塞和边沿型触发器上升沿、下降沿触发器和高电平、低电平触发器。按触发方式分
5.1基本时序元件的VHDL表述5.1.1D触发器的VHDL描述思考:如何用VHDL实现D触发器呢?图5-1D触发器
模块图D触发器的功能:时钟上升沿时,输出Q和输入D一致,非上升沿时,输出Q保持原来的值不变。图5-2D触发器时序波形5.1
基本时序元件的VHDL表述5.1.1D触发器的VHDL描述(12)【例5-1】LIBRARYIEEE;USEIEEE
.STD_LOGIC_1164.ALL;ENTITYDFF1ISPORT(CLK:INSTD_LOGIC;D
:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCHITECTUREbhvOF
DFF1ISSIGNALQ1:STD_LOGIC;--类似于在芯片内部定义一个数据的暂存节点BEGINPROCE
SS(CLK,Q1)BEGINIFCLK''EVENTANDCLK=''1''THENQ1<=D;END
IF;ENDPROCESS;Q<=Q1;--将内部的暂存数据向端口输出(双横线--是注释符号)E
NDbhv;图5-1D触发器5.1.1D触发器的VHDL描述5.1.1D触发器的VHDL描述5.1.1D触发器的
VHDL描述相关语法1、上升沿检测语句和信号属性函数eventCLK''EVENTANDCLK=''1''是用于检测信号CLK的
上升沿的,若检测到CLK的上升沿,则表达式结果为真true;反之,为假false。关键词event是信号属性函数,也是定义在iee
e库1164程序包中。所谓属性函数是指用于获得信号行为信息的函数。CLK''EVENT就是用来检测clk的取值变化,只要clk的取值
发生了变化,则检测的结果即为真。5.1.1D触发器的VHDL描述相关语法2、不完整if语句与时序电路ifthene
ndif语句中endif结束之前少了else,即在if后面表达式不成立时,没有用else指明if语句该如何执行,则if语句就
会保持原来的值不变,保持原来的值不变就意味着电路中出现了存储元件,具有了记忆功能,即形成了时序电路。这种构成时序电路的方式是VHD
L描述时序电路的最重要的途径。5.1.1D触发器的VHDL描述补充(13)LIBRARYIEEE;USEIEEE.STD
_LOGIC_1164.all;ENTITYDFF12ISPORT(CLK,D:INSTD_LOGIC;Q:
OUTSTD_LOGIC);END;ARCHITECTUREbhvOFDFF12ISBEGINPROCES
S(CLK)VARIABLEQ1:STD_LOGIC;BEGINIFCLK''EVENTANDCLK=
''1''THENQ1:=D;ENDIF;ENDPROCESS;Q<=Q1;END;变量不能将数值
带出进程之外5.不完整条件语句与时序电路(14)【例5-2】ENTITYCOMP_BADISPORT(a1,b1
:INBIT;q1:OUTBIT);END;ARCHITECTUREoneOFCOMP_BAD
ISBEGINPROCESS(a1,b1)BEGINIFa1>b1THENq1<=''1'';ELSI
Fa1;END;5.1.1D触发器的VHDL描述5.不完整条件语句与时序电路图5-3例5-2的电路图5.1.1D触发器
的VHDL描述5.不完整条件语句与时序电路【例5-3】...IFa1>b1THENq1<=''1'';
ELSEq1<=''0'';ENDIF;...图5-4例5-3的电路图5.1.1D触发器的VHDL描述边
沿检测语句的VHDL不同表述上升沿检测语句下降沿检测语句必须打开std_logic_1164程序包5.1.2含异步复位和时钟
使能的D触发器及其VHDL描述(15)【例5-4】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.A
LL;ENTITYDFF2ISPORT(CLK,RST,EN,D:INSTD_LOGIC;Q:OUTST
D_LOGIC);END;ARCHITECTUREbhvOFDFF2ISSIGNALQ1:STD_LOGI
C;BEGINPROCESS(CLK,Q1,RST,EN)BEGINIFRST=''1''THENQ1<=''0'';E
LSIFCLK''EVENTANDCLK=''1''THENIFEN=''1''THENQ1<=D;ENDIF;
ENDIF;ENDPROCESS;Q<=Q1;ENDBHV;5.1.2含异步复位和时钟使能的D触发器及其V
HDL描述5.1.2含异步复位和时钟使能的D触发器及其VHDL描述5.1.2含同步复位控制的D触发器及其VHDL描述
(16)【例5-5】LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF3
ISPORT(CLK,RST,D:INSTD_LOGIC;Q:OUTSTD_LOGIC);END;ARCH
ITECTUREbhvOFDFF3ISSIGNALQ1:STD_LOGIC;BEGINPROCESS(CL
K,Q1,RST)BEGINIFCLK''EVENTANDCLK=''1''THENIFRST=''1''THENQ1<=''0'';ELSEQ1<=D;ENDIF;ENDIF;ENDPROCESS;Q<=Q1;ENDbhv;5.1.2含同步复位控制的D触发器及其VHDL描述5.1.2含同步复位控制的D触发器及其VHDL描述Summary1、边沿检测语句2、不完整if语句
献花(0)
+1
(本文系大音善士首藏)