VHDL程序基本结构

  在VHDL程序中,实体(ENTITY)和结构体(ARCHITECTURE)这两个基本结构是必须的,他们可以构成最简单的VHDL程序。通常,最简单的VHDL程序结构中还包含另一个最重要的部分,即库(LIBRARY)和程序包(PACKAGE)

1.实体

  1.1功能:

    对这个设计实体与外部电路进行接口描述

  1.2常用语句结构

entity 实体名 is
    [generic (类属表); ]
    [port ( 端口表 );]
end entity 实体名;

  1.3实体名

    一个设计实体无论多大和多复杂,在实体中定义的实体名即为这个设计实体的名称。在例化(已有元件的调用和连接)中,即可以用此名对相应的设计实体进行调用。

  1.4generic类属说明语句

    类属(generic)参量是一种端口界面常数,常以一种说明的形式放在实体或块结构前的说明部分,书写格式如下:

 1 generic ( [ 常数名 : 数据类型 [ : 设定值] ] ) 2 { ; 常数名 : 数据类型 [ : 设定值] }; 

  1.4端口说明

    实体端口说明的一般书写格式如下:

 1 port ( 端口名 : 端口模式 数据类型 ; 2 { 端口名 : 端口模式 数据类型 } ); 

2.结构体

  2.1功能

    结构体是实体所定义的设计实体中的一个组成部分。结构体描述设计实体的内部结构和/或外部设计实体端口间的逻辑关系。

  2.2组成

    对数据类型、常数、信号、子程序和元件等元素的说明部分。

    描述实体逻辑行为的,以各种不同的描述风格表达的功能描述语句,它们包括各种形式的顺序描述语句和并行描述语句。

    以元件例化语句为特征的外部原件(设计实体)端口间的连接方式。

  2.3结构体的一般语言格式

1 architecture 结构体名 of 实体名 is
2     [说明语句]
3 begin
4     [功能描述语句]
5 end architecture 结构体名;

..........

转载于:https://www.cnblogs.com/BIT-taozhen/p/9875785.html

### VHDL程序基本结构 VHDL是一种用于描述硬件电路的语言,其基本结构由几个主要部分构成。以下是关于VHDL程序基本结构的详细介绍: #### 1. 库的引用 在VHDL中,库的引用是一个可选的部分。如果仅使用标准库中的数据类型,则无需显式声明库[^1]。然而,在实际开发过程中,通常会引入自定义库来扩展功能。 ```vhdl LIBRARY ieee; USE ieee.std_logic_1164.ALL; ``` #### 2. 实体声明 实体是VHDL程序的核心组成部分之一,它定义了一个模块的输入和输出接口。实体的作用类似于C语言中的函数原型声明,明确了设计单元与其他外部组件之间的交互方式。 ```vhdl ENTITY entity_name IS PORT ( input_port : IN std_logic_vector(7 DOWNTO 0); output_port : OUT std_logic ); END ENTITY entity_name; ``` 此部分必须存在,因为它是整个设计的基础框架[^1]。 #### 3. 结构体的声明与定义 结构体描述了设计实体的具体实现细节以及内部逻辑关系。每个实体可以拥有多个结构体,但在最终合成时只会选择其中一个作为有效版本[^3]。 - **说明语句** 这些语句包含了对数据类型的定义、常量设定、信号声明等内容。 - **功能描述语句** 使用行为级建模、RTL(寄存器传输级)建模或者门级建模等方式表达系统的具体操作流程。 - **元件实例化** 当前设计可能依赖于其他已有的IP核或其他预设好的子模块,这时就需要通过元件实例化的形式完成它们之间端口的映射关联。 ```vhdl ARCHITECTURE arch_name OF entity_name IS SIGNAL temp_signal : std_logic; BEGIN -- 功能描述语句 PROCESS (input_port) BEGIN IF rising_edge(input_port) THEN temp_signal <= '1'; ELSE temp_signal <= '0'; END IF; END PROCESS; -- 元件实例化示例 component_instance: COMPONENT_NAME PORT MAP( port_in => signal_in, port_out => signal_out ); END ARCHITECTURE arch_name; ``` #### 4. 配置(可选) 当一个实体对应着多种不同架构方案可供挑选的时候,可以通过配置机制指定采用哪一种特定的形式参与后续仿真或综合过程。不过对于大多数简单应用场合而言,默认情况下不会涉及到这部分内容处理[^1]。 --- ### 注释 VHDL支持单行注释,以`--`开头,后面跟随任意数量的空间字符直到行尾为止的内容都将被忽略不计[^2]。 ```vhdl -- This is a single-line comment. PROCESS (clk, reset) BEGIN -- Reset condition handling... END PROCESS; ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值