第八讲 VHDL语言中的函数、子程序、包和_第1页
第八讲 VHDL语言中的函数、子程序、包和_第2页
第八讲 VHDL语言中的函数、子程序、包和_第3页
第八讲 VHDL语言中的函数、子程序、包和_第4页
第八讲 VHDL语言中的函数、子程序、包和_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

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

文档简介

第八讲VHDL语言中的函数、子程序、包和库,提纲,结构模型层次与抽象类属配置总结,函数(Function),函数(Function),函数的外部参量与模式默认的模式是in函数不能修改输入参量函数内部定义的变量在每一次调用时都要被初始化函数内部不允许出现Wait语句函数不能调用另一函数,函数(Function),在结构或进程的定义区域加入函数代码,函数举例:时钟沿判断函数,函数举例:位矢量函数,函数的一种用法:类型转换,函数举例:判决函数,信号赋值语句的基本结构:signal=(valueexpressionaftertimeexpression)右边的的部分常称为一个波形元素每一个信号和一个驱动器对应,函数举例:判决函数,在驱动器中保存了信号的当前值和未来时刻的值,即该信号的预期波形信号赋值语句的执行就是对一个信号的驱动器进行修改信号的当前值就是驱动器头部的值,函数举例:判决函数,如何计算共享信号的值?引入判决函数,函数举例:判决函数,当冲突的信号事件发生时就需要引用判决函数判决是一种隐式的关联操作,函数举例:判决函数,函数举例:判决函数,电路行为如果有任何其中一个控制信号打开了开关,则输出信号被拉低VHDL描述如果有任何一个信号驱动器试图将输出信号拉低(驱动器头部的值),则判决函数返回一个0值在任何一个驱动器试图对输出信号赋值时,判决函数将被调用,函数举例:判决类型std_logic,函数举例:判决类型std_logic,函数举例:“线或”逻辑,多个芯片共同驱动一个共享的出错指示信号结构值是各个驱动信号的逻辑或,函数举例:“线或”逻辑,函数资源,在IEEE包(package)中有标准函数定义,可以参考学习,子程序(Procedure),参数的模式可以是in(读)和out(写)默认的输入参数类型是常数默认的输出类型是变量子程序内部定义的变量在子程序每一次调用时将被初始化,子程序(Procedure),子程序(Procedure),子程序(Procedure),子程序的位置决定了它的可见性(visibility)和用途,子程序与信号,子程序与信号,子程序可以对作为输入参量的信号进行赋值按照设计中的层次划分,子程序可以对来自高层的非参量表中的信号,如端口进行赋值按照设计中的层次划分,子程序中设计的信号可能在子程序之外定义,并行与顺序的子程序调用,并行子程序调用,等价的顺序子程序调用,子程序的重载,电路单元在输入信号的数量和输入信号的类型上存在差异用不同的子程序来描述这些电路单元子程序的命名将变得很烦琐,子程序的重载,上述电路单元可以描述为:dff_bit(clk,d,q,qbar)asynch_dff_bit(clk,d,q,qbar,reset,clear)dff_std(clk,d,q,qbar)asynch_dff_std(clk,d,q,qbar,reset,clear)所有的上述电路单元都采用相同的名字子程序重载通过调用时的参量表来找到正确的子程序,子程序的重载,VHDL是一种强类型语言重载是一种处理用户自定义类型的有效、方便的办法对重载操作和重载机制的管理导致了包(package)的概念的出现,包(package),包的申明部分对包中所包含的函数,子程序和类型进行申明用作包的接口只有被申明的内容才可以被外部引用通过use子句来对包进行引用包体对包头中定义的函数和子程序进行实现实例化包头中定义的常数,包举例:std_logic_1164包头,包体,包体是被编译到库(library)中的新定义的类型必须具有关于运算的定义,例如逻辑运算(如,and,or)和算术运算(如,+,*)分析存储在IEEE库中的std_logic_1164包,库(library),设计单元最终被编译和存储在库中逻辑库的名字和其物理存储目录相对应STD库和WORK库是隐含定义的,库:设计内容,对基本设计单元和次级设计单元进行区分定义了编译顺序,库:可见性规则,库:可见性规则,Whenmultipledesignunitsareinthesamefilevisibilityoflibrariesandpackagesmustbeestablishedforeachprimarydesignunit(entity,packageheader,configuration)separately!SecondarydesignunitsderivelibraryinformationfromassociatedprimarydesignunitTheuseclausemayselectivelyestablishvisibility,e.g.,onlythefunctionrising_edge()isvisiblewithinentitydesign-2SecondarydesigninheritvisibilityNotedesignunitdescriptionsaredecoupledfromfileunitboundaries,Summary,FunctionsResolutionfunctionsProceduresConcurrentandsequentialprocedurecallsSubprogramoverloadingPackages

温馨提示

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

评论

0/150

提交评论