《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第8章 VHDL结构

K芯科骏 EDA技术与VHDL 第10章 VHDL结构
EDA技术与VHDL 第10章 VHDL结构 KX 康芯科技

K康还科技 8.1VHDL实体 VHDL实体作为一个设计实体(独立的电路功能结构) 的组成部分,其功能是对这个设计实体与外部电路进行接 口描述。实体是设计实体的表层设计单元,实体说明部分 规定了设计单元的输入输出接口信号或引脚,它是设计实 体对外的一个通信界面。实体的具体表述和用法已在前面 有过详细例解,这里不再重复
KX 康芯科技 8.1 VHDL实体 VHDL实体作为一个设计实体(独立的电路功能结构) 的组成部分,其功能是对这个设计实体与外部电路进行接 口描述。实体是设计实体的表层设计单元,实体说明部分 规定了设计单元的输入输出接口信号或引脚,它是设计实 体对外的一个通信界面。实体的具体表述和用法已在前面 有过详细例解,这里不再重复。 KX 康芯科技

K能芯科技 8.2VHDL结构体 1.结构体的一般语言格式 ARCHITECTURE结构体名OF实体名IS [说明语句] BEGIN [功能描述语句] END ARCHITECTURE结构体名;
KX 康芯科技 8.2 VHDL结构体 1. 结构体的一般语言格式 ARCHITECTURE 结构体名 OF 实体名 IS [说明语句] BEGIN [功能描述语句] END ARCHITECTURE 结构体名;

K康科技 8.2VHDL结构体 2.结构体说明语句 3.功能描述语句结构 进程语句 信号赋值语句 子程序调用语句 元件例化语句
KX 康芯科技 8.2 VHDL结构体 2. 结构体说明语句 3. 功能描述语句结构 进程语句 信号赋值语句 子程序调用语句 元件例化语句

K康芯科技 8.3VHDL子程序 8.3.1VHDL函数 FUNCTION函数名(参数表)RETURN数据类型 -函数首 FUNCTION函数名(参数表)RETURN数据类型IS 函数体 [说明部分] BEGIN 顺序语句; END FUNCTION函数名;
KX 康芯科技 8.3 VHDL子程序 8.3.1 VHDL函数 FUNCTION 函数名(参数表) RETURN 数据类型 -函数首 FUNCTION 函数名(参数表)RETURN 数据类型 IS - 函数体 [ 说明部分 ] BEGIN 顺序语句 ; END FUNCTION 函数名;

【例8-1】 LIBRARY IEEE; K顾还科技 USE IEEE.STD LOGIC 1164.ALL; PACKAGE packexp IS -一定义程序包 FUNCTION max(a,b:IN STD_LOGIC_VECTOR) -定义函数首 RETURN STD LOGIC VECTOR; FUNCTION funcl a,b,c:REAL -定义函数首 RETURN REAL FUNCTION a ,b:INTEGER -定义函数首 RETURN INTEGER FUNCTION as2 (SIGNAL in1,in2 REAL -一定义函数首 RETURN REAL END PACKAGE BODY packexp IS FUNCTION max(a,b:IN STD_LOGIC_VECTOR) -定义函数体 RETURN STD_LOGIC_VECTOR IS BEGIN IF a b THEN RETURN a;ELSE RETURN b; END IF; END FUNCTION max; -结束UNCTION语句 END; -结束PACKAGE BODY语句 LIBRARY IEEE; -一函数应用实例 USE IEEE.STD LOGIC 1164.ALL; USE WORK.packexp.ALL ENTITY axamp IS PORT(dat1,dat2 IN STD LOGIC VECTOR(3 DOWNTO 0); dat3,dat4 IN STD_LOGIC_VECTOR(3 DOWNTO 0); out1,out2 OUT STD LOGIC VECTOR(3 DOWNTO 0)); END; ARCHITECTURE bhv OF axamp IS BEGIN out1<=max(dat1,dat2);-用在赋值语句中的并行函数调用语句 PROCESS(dat3,dat4) BEGIN out2 <max(dat3,dat4); -顺序函数调用语句 END PROCESS; END;
KX 【例8-1】 康芯科技 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; PACKAGE packexp IS -定义程序包 FUNCTION max( a,b : IN STD_LOGIC_VECTOR) -定义函数首 RETURN STD_LOGIC_VECTOR ; FUNCTION func1 ( a,b,c : REAL ) -定义函数首 RETURN REAL ; FUNCTION "*" ( a ,b : INTEGER ) -定义函数首 RETURN INTEGER ; FUNCTION as2 (SIGNAL in1 ,in2 : REAL ) -定义函数首 RETURN REAL ; END ; PACKAGE BODY packexp IS FUNCTION max( a,b : IN STD_LOGIC_VECTOR) -定义函数体 RETURN STD_LOGIC_VECTOR IS BEGIN IF a > b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束FUNCTION语句 END; -结束PACKAGE BODY语句 LIBRARY IEEE; - 函数应用实例 USE IEEE.STD_LOGIC_1164.ALL; USE WORK.packexp.ALL ; ENTITY axamp IS PORT(dat1,dat2 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); dat3,dat4 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); out1,out2 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ); END; ARCHITECTURE bhv OF axamp IS BEGIN out1 <= max(dat1,dat2); -用在赋值语句中的并行函数调用语句 PROCESS(dat3,dat4) BEGIN out2 <= max(dat3,dat4); -顺序函数调用语句 END PROCESS; END; KX 康芯科技

K策科技 8.3VHDL子程序 8.3.1VHDL函数 dat4[3:0] 3:0301 dat33:0] 3:0] 3:01 3:01 max.out2 B01Bout2[3:0] out23:0] dat2[3:0] 30] 301 dat1[3:可 30 301 30 max.out1 3:0]3:0] out1[3:0) out1[3:0] 图8-110-2例8-1的逻辑电路图
KX 康芯科技 8.3 VHDL子程序 8.3.1 VHDL函数 · · · · 图8-1 10-2 例8-1的逻辑电路图

K康还科技 8.3VHDL子程序 【例8-2】 LIBRARY IEEE; USE IEEE.STD LOGIC 1164.ALL ENTITY func IS PORT a IN STD LOGIC VECTOR (0 to 2 ) m OUT STD LOGIC VECTOR (0 to 2 )) END ENTITY func ARCHITECTURE demo OF func IS FUNCTION sam (x,y,z:STD LOGIC)RETURN STD LOGIC IS BEGIN RETURN x AND y OR Z; END FUNCTION sam BEGIN PROCESS a BEGIN m(0)<=sam(a(0),a(1),a(2)); m(1)<=sam(a(2),a(0),a(1)); m(2)<=sam(a(1),a(2),a(0)); END PROCESS END ARCHITECTURE demo;
KX 康芯科技 8.3 VHDL子程序 【例8-2】 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL ; ENTITY func IS PORT ( a : IN STD_LOGIC_VECTOR (0 to 2 ) ; m : OUT STD_LOGIC_VECTOR (0 to 2 ) ); END ENTITY func ; ARCHITECTURE demo OF func IS FUNCTION sam(x ,y ,z : STD_LOGIC) RETURN STD_LOGIC IS BEGIN RETURN ( x AND y ) OR z ; END FUNCTION sam ; BEGIN PROCESS ( a ) BEGIN m(0) = sam( a(0), a(1), a(2) ) ; m(1) = sam( a(2), a(0), a(1) ) ; m(2) = sam( a(1), a(2), a(0) ) ; END PROCESS ; END ARCHITECTURE demo ;

8.3VHDL子程序 K能芯科技 8.3.2VHDL重载函数 【例8-3】(MaxplusII不支持本例) LIBRARY IEEE USE IEEE.STD LOGIC 1164.ALL; PACKAGE packexp IS -定义程序包 FUNCTION max(a,b:IN STD LOGIC VECTOR) -定义函数首 RETURN STD LOGIC VECTOR FUNCTION max(a,b IN BIT VECTOR) -定义函数首 RETURN BIT VECTOR FUNCTION max(a,b:IN INTEGER) -定义函数首 RETURN INTEGER END; PACKAGE BODY packexp IS FUNCTION max a,b IN STD LOGIC VECTOR) -定义函数体 RETURN STD LOGIC VECTOR IS BEGIN IF a b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束NCTION语句 FUNCTION max(a,b IN INTEGER) -定义函数体 RETURN INTEGER IS BEGIN IF a b THEN RETURN a; 接下页 ELSE RETURN b; END IF; END FUNCTION max; -结束FUNCTION语句
KX 康芯科技 8.3 VHDL子程序 8.3.2 VHDL重载函数 【例8-3】(MaxplusII不支持本例) LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; PACKAGE packexp IS -定义程序包 FUNCTION max( a,b :IN STD_LOGIC_VECTOR) -定义函数首 RETURN STD_LOGIC_VECTOR ; FUNCTION max( a,b :IN BIT_VECTOR) -定义函数首 RETURN BIT_VECTOR ; FUNCTION max( a,b :IN INTEGER ) -定义函数首 RETURN INTEGER ; END; PACKAGE BODY packexp IS FUNCTION max( a,b :IN STD_LOGIC_VECTOR) -定义函数体 RETURN STD_LOGIC_VECTOR IS BEGIN IF a > b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束FUNCTION语句 FUNCTION max( a,b :IN INTEGER) -定义函数体 RETURN INTEGER IS BEGIN IF a > b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束FUNCTION语句 接下页

FUNCTION max a,b IN BIT VECTOR) -一定义函数体 K康还科技 RETURN BIT VECTOR IS BEGIN IF a b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束UNCTION语句 END; -结束PACKAGE BODY语句.-以下是调用重载函数max的程序: LIBRARY IEEE USE IEEE.STD_LOGIC_1164.ALL; USE WORK.packexp.ALL; ENTITY axamp IS PORT (a1,b1 IN STD LOGIC VECTOR(3 DOWNTO 0); a2,b2 IN BIT VECTOR(4 DOWNTO 0); a3,b3 IN INTEGER RANGE 0 TO 15; c1 OUT STD LOGIC VECTOR(3 DOWNTO 0); c2 OUT BIT_VECTOR(4 DOWNTO 0); c3 OUT INTEGER RANGE 0 TO 15); END ARCHITECTURE bhv OF axamp IS BEGIN c1<= max(al,b1);-对函数max(a,b:IN STD_LOGIC_VECTOR)的调用 c2<= max(a2,b2);-对函数max(a,b:IN BIT_VECTO)的调用 c3<= max(a3,b3);-对函数max(a,b:IN INTEGER)的调用 END;
KX FUNCTION max( a,b :IN BIT_VECTOR) -定义函数体 康芯科技 RETURN BIT_VECTOR IS BEGIN IF a > b THEN RETURN a; ELSE RETURN b; END IF; END FUNCTION max; -结束FUNCTION语句 END; -结束PACKAGE BODY语句. - 以下是调用重载函数max的程序: LIBRARY IEEE ; USE IEEE.STD_LOGIC_1164.ALL ; USE WORK.packexp.ALL; ENTITY axamp IS PORT(a1,b1 : IN STD_LOGIC_VECTOR(3 DOWNTO 0); a2,b2 : IN BIT_VECTOR(4 DOWNTO 0); a3,b3 : IN INTEGER RANGE 0 TO 15; c1 : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); c2 : OUT BIT_VECTOR(4 DOWNTO 0); c3 : OUT INTEGER RANGE 0 TO 15); END; ARCHITECTURE bhv OF axamp IS BEGIN c1 <= max(a1,b1); -对函数max( a,b :IN STD_LOGIC_VECTOR)的调用 c2 <= max(a2,b2); -对函数max( a,b :IN BIT_VECTOR) 的调用 c3 <= max(a3,b3); -对函数max( a,b :IN INTEGER) 的调用 END; KX 康芯科技
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第7章 VHDL语句.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第6章 16位CISC CPU设计.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第5章 VHDL状态机.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第4章 Quartus II使用方法.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第3章 VHDL基础.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第2章 PLD硬件特性与编程技术.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第1章 概述.ppt
- 《数字电子技术》课程教学资源(自测题)第十一章 AD和DA转换器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第十章 脉冲产生和整形自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第七章 半导体存储器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第四章 组合逻辑电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第六章 时序逻辑电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第五章 触发器自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第二章 逻辑门电路自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第三章 逻辑代数自测题和答案.doc
- 《数字电子技术》课程教学资源(自测题)第一章 数值和码制自测题及答案.doc
- 《数字电子技术》课程教学资源(作业习题)第八章 AD和DA转换(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第九章 存储器(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第七章 时序逻辑电路(含答案).doc
- 《数字电子技术》课程教学资源(作业习题)第四章 触发器(含答案).doc
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第10章 DSP Builder设计深入.ppt
- 《数字电子技术》课程PPT教学课件(EDA技术与VHDL)第9章 DSP Builder设计初步.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第一章 初识数字电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第三章 逻辑门电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第二章 分析与设计数字电路的工具.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第五章 记忆单元电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第四章 组合逻辑电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第七章 脉冲单元电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第九章 数模与模数转换器.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第八章 半导体存储器.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第六章 时序逻辑电路.ppt
- 石河子大学:《数字电子技术》课程教学资源(PPT课件)第十章 可编程逻辑器件.ppt
- 内蒙古科技大学:《数字电子技术》课程教学大纲 Digital electric technology.doc
- 内蒙古科技大学:《数字电子技术》课程实验教学大纲 Electronic Techniques Experiments.doc
- 内蒙古科技大学:《数字电子技术》课程教学实验指导书(共八个实验).doc
- 内蒙古科技大学:《数字电子技术》课程设计指导书.doc
- 《数字电子技术》课程试卷习题(自我检测)第4章 触发器.doc
- 《数字电子技术》课程试卷习题(自我检测)第5章 时序逻辑电路.doc
- 《数字电子技术》课程试卷习题(自我检测)第6章 脉冲产生和整形电路.doc
- 《数字电子技术》课程试卷习题(自我检测)第7章 DA与AD转换电路.doc