资源描述:
《EDA(第3讲)第3章VHDL入门ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDL进阶本讲要点:VHDL程序运行机制:并行语句和顺序语句process语句If语句时钟边沿同步和异步13.2简单时序电路的VHDL描述让我们继续学习硬件描述语言2--语句1;--语句2;--语句3;--语句4;VHDL程序运行机制architectureoneofmux21bissignalc,e:bit;beginprocess(a,b,d)beginc<=a+b;e<=d;endprocess;f<=c;g<=d;h<=c+d;endarchitectureone;并发执行3--语句1;--语句2;顺序执行VHDL程
2、序运行机制architectureoneofmux21bissignalc,e:bit;beginprocess(a,b,d)beginc<=a+b;e<=d;endprocess;f<=c;g<=d;h<=c+d;endarchitectureone;4并行语句和顺序语句电路逻辑功能的描述分为:并行语句和顺序语句两种。顺序语句:按照语句的先后排列顺序执行。并行语句:并行执行语句,与语句的书写顺序无关。用在结构体语句中用在进程语句中5进程语句[进程标号:]PROCESS[(敏感信号参数表)][IS][进程说明部分]BEGIN顺
3、序描述语句ENDPROCESS[进程标号];6PROCESS语句结构进程说明顺序描述语句敏感信号参数表信号赋值语句变量赋值语句进程启动语句子程序调用语句顺序描述语句进程跳出语句PROCESS组成7进程要点1.进程PROCESS为一无限循环语句2.进程PROCESS内部必须用顺序语句,顺序语句也必须用在进程PROCESS内3.进程必须由敏感信号的变化来启动4.进程语句本身是并行语句85.信号是多个进程间的通信线6.一个进程中只允许描述对应于一个时钟信号的同步时序逻辑9【例3-5】D触发器:DFF1.VHDLIBRARYIEEE;
4、USEIEEE.STD_LOGIC_1164.ALL;ENTITYDFF1ISPORT(CLK:INSTD_LOGIC;D:INSTD_LOGIC;Q:OUTSTD_LOGIC);ENDDFF1;ARCHITECTUREbhvOFDFF1ISSIGNALQ1:STD_LOGIC;--类似于在芯片内部定义一个数据的暂存节点BEGINPROCESS(CLK,Q1)BEGINIFCLK'EVENTANDCLK='1'THENQ1<=D;ENDIF;ENDPROCESS;Q<=Q1;--将内部的暂存数据向端口输出ENDbhv;图3-4
5、D触发器10VHDL描述的语言现象说明1.标准逻辑位数据类型STD_LOGICBIT数据类型定义:TYPEBITIS('0','1');--只有两种取值STD_LOGIC数据类型定义:TYPESTD_LOGICIS(‘U’,‘X’,‘0’,‘1’,‘Z’,‘W’,‘L’,‘H’,‘-’);--9种112、库和程序包1.IEEE2.STD3.WORK4.VITALSTD_LOGIC_1164;STD_LOGIC_ARITH;STD_LOGIC_UNSIGNED;STD_LOGIC_SIGNEDSTANDARD;TEXTIOYOU
6、RLIBRARYVITAL_TIMINGVITAL_PRIMITIVES12库的用法:P289LIBRARY<设计库名>;USE<设计库名>.<程序包名>.ALL;LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;133.信号定义和数据对象<信号名>'EVENT4.上升沿检测表达式和信号属性函数EVENT5.不完整条件语句与时序电路SIGNALQ1:STD_LOGIC;CLK'EVENTANDCLK='1'14【例3-6】不完整的IF语句ENTITYCOMP_BADISPORT(a1,b1:INBI
7、T;q1:OUTBIT);END;ARCHITECTUREoneOFCOMP_BADISBEGINPROCESS(a1,b1)BEGINIFa1>b1THENq1<='1';ELSIFa1b1THENq1<='1';ELSEq1<='0';ENDIF;...17If-then
8、语法(1)IF条件THEN顺序处理语句1;顺序处理语句2;…ENDIF;例:IF(a=′1′)THENc<=b;d<=e;ENDIF;18If-then-else语法IF条件THEN语句1;语句2;。。。ELSE语句1;语句2;。。。ENDIF;(2)ARCHITECTURE