电子技术课程设计第3章.ppt_第1页
电子技术课程设计第3章.ppt_第2页
电子技术课程设计第3章.ppt_第3页
电子技术课程设计第3章.ppt_第4页
电子技术课程设计第3章.ppt_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

3VHDL设计初步 3 1VHDL程序结构 库 程序包实体结构体配置一般VHDL程序必须包括实体和结构体 例3 1 1用VHDL描述与非逻辑 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYgate1ISPORT a b INstd logic y OUTstd logic ENDgate1 ARCHITECTUREoneOFgate1ISBEGINy not aandb ENDone 一 实体ENTITY 实体说明的一般语句结构 ENTITY实体名IS GENERIC 参数名 数据类型 PORT 端口表 END ENTITY 实体名 端口说明语句格式 PORT 端口名表 端口模式数据类型 端口名表 端口模式数据类型 1 端口模式 2 数据类型 VHDL要求只有相同数据类型的量才能相互传递和作用 VHDL预定义数据类型 IEEE预定义标准逻辑位与矢量 1 标准逻辑位数据类型 二 结构体的语句格式 ARCHITECTURE结构体名OF实体名IS 说明语句 BEGIN 功能描述语句 END ARCHITECTURE 结构体名 结构体中功能描述语句 三 库LIBRARY 常用库的种类 1 IEEE库 2 STD库 3 WORK库 用于存放预先设计好的子程序和设计实体等 四 配置 配置语句的一般格式如下 CONFIGURATION配置名OF实体名IS配置说明END配置名 3 2VHDL语言要素及规则 3 2 1数据对象 一 常数 常数定义的一般表述如下 CONSTANT常数名 数据类型 表达式 CONSTANTFBT STD LOGIC VECTOR 010110 标准位矢类型CONSTANTDATAIN INTEGER 15 整数类型 二 信号 SIGNAL信号名 数据类型 初始值 目标信号名 表达式 SIGNALa b c y z INTEGER PROCESS a b c BEGINy a b z c a y b ENDPROCESS 三 变量 变量赋值的一般表述如下 目标变量名 表达式 例3 2 1 信号赋值ENTITYor 1ISPORT a b c INbit x y OUTbit ENDor 1 ARCHITECTUREbhvOFor 1ISSIGNALd bit BEGINPROCESS a b c d BEGINd a x cORd d b y cORd ENDPROCESS END 例3 2 1 变量赋值ENTITYor 2ISPORT a b c INbit x y OUTbit ENDor 2 ARCHITECTUREbhvOFor 2ISBEGINPROCESS a b c d variabled bit BEGINd a x cORd d b y cORd ENDPROCESS END 运行结果 x y c b 运行结果 x c ay c b 信号与变量赋值语句功能的比较 当进程中同一信号有多个赋值源时 取值是最接近endprocess语句的信号 3 2 2数据类型 一 预定义数据类型 1 std库标准程序包standard中的数据类型 2 IEEE预定义数据类型 1 标准逻辑位数据类型 二 数据类型转换 IEEE库类型转换函数表 数据类型定义语句 TYPE语句的用法如下 TYPE数据类型名IS数据类型定义OF基本数据类型 或TYPE数据类型名IS数据类型定义 TYPEst1ISARRAY 0TO15 OFSTD LOGIC TYPEweekIS sun mon tue wed thu fri sat 三 用户定义的数据类型 3 2 3基本运算符 VHDL操作符列表 接上页 3 2 4属性 1 信号类属性 NOTclock STABLEANDclock 1 clock EVENTANDclock 1 2 数据区间类属性 SIGNALrange1 INSTDLOGICVECTOR 0TO7 FORiINrange1 RANGELOOP 3 数值类属性 PROCESS clock a b TYPEobjISARRAY 0TO15 OFBIT SIGNALele1 ele2 ele3 ele4 INTEGER BEGINele1 obj RIGNT ele2 obj LEFT ele3 obj HIGH ele4 obj LOW 4 数组属性 LENGTH TYPEarry1ARRAY 0TO7 OFBIT VARIABLEwth INTEGER wth1 arry1 LENGTH wth1 8 3 3VHDL基本并行语句 并行信号赋值语句 ConcurrentSignalAssignments 进程语句 ProcessStatements 块语句 BlockStatements 条件信号赋值语句 SelectedSignalAssignments 元件例化语句 ComponentInstantiations 其中包括类属配置语句 生成语句 GenerateStatements 并行过程调用语句 ConcurrentProcedureCalls ARCHITECTURE结构体名OF实体名IS说明语句BEGIN并行语句ENDARCHITECTURE结构体名 一 一般信号赋值语句 赋值目标 表达式 ARCHITECTUREcurtOFbc1ISSIGNALs1 e f g h STD LOGIC BEGINoutput1 aANDb output2 c d g eORf h eXORf s1 g ENDARCHITECTUREcurt 例10 18 ENTITYmuxISPORT a b c INBIT p1 p2 INBIT z OUTBIT END ARCHITECTUREbehvOFmuxISBEGINz aWHENp1 1 ELSEbWHENp2 1 ELSEc END 二 条件信号赋值语句 赋值目标 表达式WHEN赋值条件ELSE表达式WHEN赋值条件ELSE 表达式 三 选择信号赋值语句 WITH选择表达式SELECT赋值目标信号 表达式WHEN选择值表达式WHEN选择值 表达式WHEN选择值 例 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL USEIEEE STD LOGIC UNSIGNED ALL ENTITYdecoderISPORT a b c INSTD LOGIC data1 data2 INSTD LOGIC dataout OUTSTD LOGIC ENDdecoder ARCHITECTUREconcuntOFdecoderISSIGNALinstruction STD LOGIC VECTOR 2DOWNTO0 BEGINinstruction c 进程语句格式 3 3 2进程语句 进程标号 PROCESS 敏感信号参数表 IS 进程说明部分 BEGIN顺序描述语句ENDPROCESS 进程标号 1 PROCESS为一无限循环语句 2 PROCESS中的顺序语句具有明显的顺序 并行运行双重性 PROCESS abc BEGINCASEabcISWHEN 0000 sososososoNULL ENDCASE ENDPROCESS 进程要点 3 进程必须由敏感信号的变化来启动 4 进程语句本身是并行语句 一个设计中可以有多个并行进程各进程之间并行执行进程与并行语句之间并行执行 5 信号是多个进程间的通信线 6 一个进程中只允许描述对应于一个时钟信号的同步时序逻辑 3 3 3元件例化语句 COMPONENT元件名ISGENERIC 类属表 元件定义语句PORT 端口名表 ENDCOMPONENT文件名 例化名 元件名PORTMAP 元件例化语句 端口名 连接端口名 3 3 5块语句 块标号 BLOCK 块保护表达式 接口说明类属说明BEGIN并行语句ENDBLOCK块标号 3 4VHDL基本顺序语句 3 4 1赋值语句 信号赋值语句 变量赋值语句 3 4 2IF语句 例 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYmux41ISPORT s4 s3 s2 s1 INSTD LOGIC z4 z3 z2 z1 OUTSTD LOGIC ENDmux41 ARCHITECTUREactivOFmux41ISSIGNALsel INTEGERRANGE0TO15 BEGINPROCESS sel s4 s3 s2 s1 BEGINselz1z2z3z4 1 当sel为8 15中任一值时选中ENDCASE ENDPROCESS ENDactiv 3 4 4LOOP语句 1 单个LOOP语句 其语法格式如下 LOOP标号 LOOP顺序语句ENDLOOP LOOP标号 L2 LOOPa a 1 EXITL2WHENa 10 当a大于10时跳出循环ENDLOOPL2 2 FOR LOOP语句 语法格式如下 LOOP标号 FOR循环变量 IN循环次数范围LOOP顺序语句ENDLOOP LOOP标号 例 LIBRARYIEEE USEIEEE STD LOGIC 1164 ALL ENTITYp checkISPORT a INSTD LOGIC VECTOR 7DOWNTO0 y OUTSTD LOGIC ENDp check ARCHITECTUREoptOFp checkISSIGNALtmp STD LOGIC BEGINPROCESS a BEGINtmp 0 FORnI

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论