电子科技大学:《VHDL语言与数字集成电路设计》第十三章 VHDL中的子结构

VHDL中的子结构 为了使设计简化,避免重复的工作,VHDL 中通常使用子结构来规范一些常用的运算或 简单的功能模块; function函数:用于表达常用的运算; procedure过程:用于表达简单的元件; 子结构中的执行语句都应为顺序语句
VHDL中的子结构 为了使设计简化,避免重复的工作,VHDL 中通常使用子结构来规范一些常用的运算或 简单的功能模块; function函数:用于表达常用的运算; procedure过程:用于表达简单的元件; 子结构中的执行语句都应为顺序语句

VHDL中的函数: function 在赋值类语句中,经常引用函数来表 达常用的运算组合或类型转换,以达 到代码重用和共享的目的; 函数主要由参量表、说明部分和顺序 执行部分构成
VHDL中的函数:function 在赋值类语句中,经常引用函数来表 达常用的运算组合或类型转换,以达 到代码重用和共享的目的; 函数主要由参量表、说明部分和顺序 执行部分构成

函数的编写格式 function函数名(信号列表) return return-type is declarations and definitions; --ii 明部分 begin sequentia|- statement-功能部分 ●●●●●● sequential-statement end function-name
函数的编写格式 function 函数名 (信号列表) return return-type is declarations and definitions;--说 明部分 begin sequential-statement;--功能部分 …… sequential-statement; end function-name;

函数的编写实例 采用函数表达,设计 inhibit门 P277(表4-36) architecture dat of inhibit is function butnot(a, b: bit) return bit is begin if b=0 then return a, else return“0’; end if; end butnot; egin z<=butnot(, y) end dat:
函数的编写实例 采用函数表达,设计inhibit门 P.277(表4-36) architecture dat of inhibit is function butnot (a,b:bit) return bit is begin if b='0' then return a; else return ‘0’; end if; end butnot; begin z<=butnot (x,y); end dat;

函数的编写特点 1函数可以看作是一种多输入/单输出的电路 模块; 2函数信号表中带有若干形式参量,在调用 时由实际信号取代,实现主程序向函数的输 入;在函数内部,信号被作为常量对待
函数的编写特点 1 函数可以看作是一种多输入/单输出的电路 模块; 2 函数信号表中带有若干形式参量,在调用 时由实际信号取代,实现主程序向函数的输 入;在函数内部,信号被作为常量对待;

函数的编写特点 3函数内部可以定义局部使用的类型、常量 变量、函数、过程;但不能定义信号 函数的输入只能是常数或信号,在函数中被 作为in模式,不能改变; 函数中不能有out模式的数据对象,运算结 果通过 return语句赋值给函数名输出
函数的编写特点 3 函数内部可以定义局部使用的类型、常量、 变量、函数、过程;但不能定义信号; 函数的输入只能是常数或信号,在函数中被 作为in模式,不能改变; 函数中不能有out模式的数据对象,运算结 果通过return语句赋值给函数名输出

函数的编写特点 4函数应用时,为了进行运算,可在函数体 中设置变量,在函数执行过程中为该变量赋 值;用 return语句可以将该变量值返回(赋 值给函数名);该变量应与规定的返回类型 一致;函数定义中可以设置多个返回语句 但在一次调用中,只有一个返回语句带回函 数值
函数的编写特点 4 函数应用时,为了进行运算,可在函数体 中设置变量,在函数执行过程中为该变量赋 值;用return语句可以将该变量值返回(赋 值给函数名);该变量应与规定的返回类型 一致;函数定义中可以设置多个返回语句, 但在一次调用中,只有一个返回语句带回函 数值;

数据类型转换函数的实例 从 std_logic_vector到 Integer:p.279(表4-38) function cony integer(x: std logic vector) return integer is variable result: integer; begin result:=U for I in x'range loop result = result*2 case x(iis when 0L=> null; when ' 1H=> result =result+1 when others = null: end case; end loop; return result: end conv integer;
数据类型转换函数的实例 从std_logic_vector到integer:p.279(表4-38) function conv_integer (x: std_logic_vector) return integer is variable result: integer; begin result := 0; for I in x'range loop result :=result*2; case x(i) is when '0'|'L' => null; when '1'|'H' => result := result+1; when others => null; end case; end loop; return result; end conv_integer;

数据类型转换函数的实例 程序中的一些语法解释: xrange属性描述:返回由x的位数所指定的数据范圃 ab:将两个(或多个)信号(变量)并列的表达形式; =>:case语句的表达形式,当出现左边值时,执行右 边的语句;注意与“大于等于区分 nul:关键词语句,表示不执行任何操作; 用单引号所括的字母H、"L等必须大写;
数据类型转换函数的实例 程序中的一些语法解释: x'range 属性描述:返回由x的位数所指定的数据范围; a|b : 将两个(或多个)信号(变量)并列的表达形式; => : case语句的表达形式,当出现左边值时,执行右 边的语句;注意与“大于等于”区分; null:关键词语句,表示不执行任何操作; 用单引号所括的字母'H'、'L'等必须大写;

数据运算函数的实例 整数与逻辑位的加法; function+(a:integer, b: bit)return integer is begin if (b=1)then return a+1; ese return a end if: end
数据运算函数的实例 整数与逻辑位的加法; function "+" (a:integer,b:bit) return integer is begin if (b = '1') then return a+1; else return a; end if; end "+";
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 电子科技大学:《VHDL语言与数字集成电路设计》第十二章 VHDL中的结构设计:元件例化语句.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十一章 VHDL中的行为设计:进程语句.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十章 VHDL中的资源:库和包集合.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第一章 概述(张鹰).ppt
- 华中科技大学数学系:《数学实验与Matlab》程序.doc
- 《电路》课程电子教案(PPT课件讲稿)第9章 正弦稳态电路的分析.ppt
- 《电路》课程电子教案(PPT课件讲稿)第九章(9-8)串联电路的谐振.ppt
- 《电路》课程电子教案(PPT课件讲稿)第8章 相量法.ppt
- 《电路》课程电子教案(PPT课件讲稿)第7章 二阶电路.ppt
- 《电路》课程电子教案(PPT课件讲稿)第六章 一阶电路(6.1-6.4).ppt
- 《电路》课程电子教案(PPT课件讲稿)第六章 一阶电路(6.5)一阶电路的阶跃响应.ppt
- 《电路》课程电子教案(PPT课件讲稿)第五章 含远算放大器的电阻电路.ppt
- 《电路》课程电子教案(PPT课件讲稿)第四章 电路定理.ppt
- 《电路》课程电子教案(PPT课件讲稿)第三章 电阻电路的一般分析.ppt
- 《电路》课程电子教案(PPT课件讲稿)第二章 电阻电路的等效变换.ppt
- 《电路》课程电子教案(PPT课件讲稿)第十二章 非正弦周期电流电路.ppt
- 《电路》课程电子教案(PPT课件讲稿)第十一章 三相电路.ppt
- 《电路》课程电子教案(PPT课件讲稿)第十章 含有耦合电感的电路.ppt
- 《电路》课程电子教案(PPT课件讲稿)第一章 绪论.ppt
- 中南民族大学:《数字电路》课程电子教案(PPT教学课件)第五章 触发器.pdf
- 电子科技大学:《VHDL语言与数字集成电路设计》第十四章 VHDL中的资源:库和包集合.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十五章 数字电路模块的VHDL设计.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十六章 组合运算模块的ⅥHDL设计.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十七章 时序运算模块的ⅥHDL设计.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十八章 有限状态机FSM的设计.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第十九章 存储器模块的VHDL设计.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第二章 数字集成电路的结构特点.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第二十章 VHDL 与 Verilog HDL 的对比.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第三章 数字集成电路的设计形式.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第四章 数字集成电路的设计流程.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第五章 数字集成电路的设计流程.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第六章 逻辑综合.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第七章 VHDL硬件描述语言.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第八章 VHDL的构造体:architecture.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》第九章 用户定义数据类型.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》VHDL作业安排.doc
- 电子科技大学:《VHDL语言与数字集成电路设计》数字逻辑1-1.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》数字逻辑2-1.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》数字逻辑2-2.ppt
- 电子科技大学:《VHDL语言与数字集成电路设计》数字逻辑2-3.ppt