VHDLandPLD第03章VHDL程序结构(XXXX年9月).pptVIP

  • 1
  • 0
  • 约1.87万字
  • 约 91页
  • 2022-04-23 发布于四川
  • 举报
第3章 VHDL程序结构 1. 过程首 过程首由过程名和参数表组成。参数表可以对常数、变量和信号三类数据对象目标作出说明, 并用关键词 IN OUT和INOUT定义这些参数的工作模式,即信息的流向。如果没有指定模式 则默认为IN。 第3章 VHDL程序结构 程序3-23 PROCEDURE pro1 (VARIABLE a, b : INOUT REAL) ; PROCEDURE pro2 CONSTANT a1 : IN INTEGER VARIABLE b1 : OUT INTEGER ) ; PROCEDURE pro3 (SIGNAL sig : INOUT BIT) 第3章 VHDL程序结构 2. 过程体 过程体是由顺序语句组成的 过程的调用即启动了对过程体的顺序语句的执行,与函数一样 过程体中的说明部分只是局部的,其中的各种定义只能适用于过程体内部。过程体的顺序语句部分可以包含任何顺序执行的语句,包括 WAIT 语句,但需注意,如果一个过程是在进程中调用的,且这个进程已列出了敏感参量表 则不能在此过程中使用 WAIT语句。 第3章 VHDL程序结构 2. BLOCK 的应用 BLOCK 的应用可使结构体层次鲜明,结构明确。 利用 BLOCK 语句可以将结构体中的并行语句划分成多个并列方式的 BLOCK,每一个 BLOCK 都像一个独立的设计实体,具有自己的类属参数说明和界面端口,以及与外部环境的衔接描述。以下是两个使用 BLOCK语句的实例。程序 3-11 给出了 BLOCK 语句的一个使用示例,而程序 3-12 描述了一个具有块嵌套方式的BLOCK语句结构。 程序3-11 ENTITY gat IS GENERIC(l_time : TIME ; s_time : TIME ) ; -- 类属说明 PORT (b1, b2, b3 : INOUT BIT) ; -- 结构体全局端口定义 END ENTITY gat ; ARCHITECTURE func OF gat IS SIGNAL a1 : BIT ; -- 结构体全局信号 a1定义 BEGIN Blk1 : BLOCK -- 块定义 块标号名是blk1 GENERIC (gb1, gb2 : Time) ; -- 定义块中的局部类属参量 GENERIC MAP (gb1 = l_time,gb2 = s_time) ; -- 局部端口参量设定 PORT (pb : IN BIT; pb2 : INOUT BIT ); -- 块结构中局部端口定义 PORT MAP (pb1 = b1, pb2 = a1 ) ; -- 块结构端口连接说明 CONSTANT delay : Time := 1 ms ; -- 局部常数定义 SIGNAL s1 : BIT ; -- 局部信号定义 BEGIN s1 = pb1 AFTER delay ; pb2 = s1 AFTER gb1, b1 AFTER gb2 ; END BLOCK blk1 ; END ARCHITECTURE func ; 程序3-12 ... b1 : BLOCK SIGNAL s1: BIT ; BEGIN S1 = a AND b ; b2 : BLOCK SIGNAL s2: BIT ; BEGIN s2 = c AND d ; b3 : BLOCK BEGIN Z = s2 ; END BLOCK b3 ; END BLOCK b2 ; y = s1 ; END BLOCK b1 ; ... 第3章 VHDL程序结构 3. BLOCK语句在综合中的地位 与大部分的 VHDL 语句不同。BLOCK 语句的应用,包括其中的类属说明和端口定义都不会影响对原结构体的逻辑功能的仿真结果。 如以下的程序 3-13 和程序 3-14 的仿真结果是完全相同的。 第3章 VHDL程序结构

文档评论(0)

1亿VIP精品文档

相关文档