一、VHDL语言基本结构如下:

  • 库的引用
  • 实体声明
  • 结构体的声明
  • 结构体的定义
  • 配置;
    以上实体声明和结构体是必须的,如果只使用标准库中的数据类型,则可不需要库的引用;如果只一个结构体,则配置不是必须的。

二、VHDL程序的注释

VHDL程序的注释由连续两个“- -”开头到本行结束

三、库的引用(VHDL库)

库一般是一些常用VHDL代码的集合,包括:数据类型的定义、函数定义、子程序定义、元件引用声明、常量定义等一些可复用或是共享的VHDL代码。程序引用了库就可以使用该库中的VHDL代码。
库的声明格式:
library库名;
use库名.库中程序包.程序包中的项;
例如

  • library ieee;

  • use ieee.std_Logic_1164.all;
    ieee是库名,是VHDL设计中使用频率最高的库之一,包括一些常用数据类型的定义及相关操作。ieee库有以下几个常用的程序包:

  • std_logic_1164库定义了std_logic和std_ulogic的数据类型

  • std_logic_signed库定义了与signed数据类型相关的函数

  • std_logic_unsigned库中定义了与unsigned数据类型相关的函数

  • std_logic_arith库定义了一些不同类型数据之间相互转换的函数
    ieee还包括math_real、bumberic_bit、numberic_std等库。除了iee库外,比较常用的库还有std库、work库及设计者自己定义的库。其中,std库和work隐含在每个VHDL程序中。也就是不需要显示引用可以使用std库和work库的VHDL代码。

四、实体的声明

实体声明是用于实体和其他实体或是外部接口相关联的说明。实体声明要包括实体名、端口定义及类属性定义。实体名是实体的标识,VHDL程序文件名必须与实体名一致,在同一个库中实体名必须是唯一的。端口定义为实体提供了与其他实体或是外部接口相联系的通道,同时定义了通道信号流向,这是硬件描述语言一大特点。硬件电路有信号流向,即信号从哪来,做了啥处理,最后到哪去。在硬件电路或电子产品产品中,信号连接有方向性,如果接反,可能无法得到想到的结果。
实体声明一般格式为:
entity 实体名 is
generic(参数名:数据类型:=值);
port(端口名:端口模式 数据类型);
end 实体名;

五、VHDL的端口

端口信号流向即端口有输入模式(in)、输出模式(out)、双向模式(inout)、缓冲模式(buffer)和链接模式(linkage);

***- 输入模式用保留字in来声明,用输入模式声明的端口信号的数据信号流向为实体外部到实体内部,任何输入模式端口信号赋值的语句都会出错。

  • 输出模式用保留字out声明,用输出模式声明的端口信号数据流向为实体内部到外部,任何输出模式端口信号读取的语句都会出错。
  • 双向模式用保留字inout声明,端口信号数据流向即可从实体内部到外部,也可外部到内部;但在同一时刻只能进行某一个数据流向操作,所以双向模式声明端口信号一般需要一个信号进行方向控制。***

六、结构体的描述

结构体是VHDL语言的灵魂,程序的所有逻辑功能都在结构体中实现;结构体描述方法有4种:行为方式、数据流方式、结构化方式描述以上3中方式的组合描述方式。结构体一般由结构体名、结构体说明语句和结构体描述语句组成,结构如下:
architecture 结构体名 of 实体名 is
结构体说明语句;
begin
结构体描述语句;
end 结构体名;

VHDL程序的基本结构相关推荐

  1. VHDL语言基础-VHDL程序的基本结构与主要构件

    目录 VHDL程序的基本结构: 一个完整的VHDL程序包括: Example: VHDL的主要构件: VHDL程序的基本构件: 主要构件: VHDL的主要构件-库: 使用格式: Example: VH ...

  2. VHDL硬件描述语言(二)VHDL程序的基本结构

    ​ 一.基本结构 实体说明(entity):描述所设计的系统的外部接口部分 结构体(architecture):描述系统内部的结构和行为 程序包(package):存放各设计模块都能共享的数据类型.常 ...

  3. VHDL程序基本构建

    VHDL程序基本构建 实体和端口模式 VHDL实体是整个设计实体(即独立的电路功能结构)的重要组成部分,其功能是对这个设计实体与外部电路进行接口描述. 实体说明单元的一般语句结构如下:ENTITY 实 ...

  4. 第三章 VHDL语言的基本结构

    VHDL语言的基本结构 一.VHDL设计简述 VHDL主要用于描述数字系统的结构.行为.功能和接口. VHDL将一个设计(元件.电路.系统)分为: 外部(可视部分.端口) 内部(不可视部分.内部功能. ...

  5. VHDL语言的基本结构(结构框架说明)

    VHDL语言的基本结构 一.实体说明 主要描述的是一个设计单元的外部特征,即对外的输入/输出接口及一些用于结构体的参数定义. 规则一:建议将VHDL的标识符或基本语句关键词,以大写方式表示:而又设计者 ...

  6. The way to Go(6): Go程序的基本结构和要素

    Reference: Github: Go Github: The way to Go Go程序的基本结构和要素 helloworld.go: package mainimport "fmt ...

  7. 批量下载ABAP程序和表结构

    REPORT YGJH003 NO STANDARD PAGE HEADING LINE-SIZE 200 MESSAGE-ID WA. ******************************* ...

  8. QML 编程之旅 -- QML程序的基本结构概念

    文章目录 QML 文档的构成 QML基本语法 QML 编程之旅 – QML程序的基本结构概念 学习Qt编程快近一年了,的确是项目驱动,让我不得不咬紧牙关,需要快速的学习掌握一门新的技术.编程是一个非常 ...

  9. C语言程序的基本结构

    文章目录 一.C语言基础知识的学习方法 二.C语言程序开发的流程 三.安装C语言的编译器 四.C程序的基本结构 1.程序的注释 2.预处理指令 3.主函数的入口 4.主函数体 五.编译并执行 C 程序 ...

最新文章

  1. 非空约束对数据更新的影响
  2. python 递归函数_让你Python到很爽的加速递归函数的装饰器
  3. php中file对象实例,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax - phpStudy...
  4. Java基础学习总结(181)——Nacos、Apollo、Config配置中心如何选型?
  5. Flutter入门进阶之旅(二)Hello Flutter
  6. file owner
  7. 8.Python进阶_异常处理
  8. 阿里云商标注册购物车功能怎么用?在哪查看?
  9. 雨林木风 ghost win7 纯净版系统下载
  10. 程序员之路:Gmail邮箱客户端配置_彭世瑜_新浪博客
  11. 白鹤芋一帆风顺花怎么养 一帆风顺花养殖方法及注意事项
  12. flutter编译遇到unknown revision or path not in the working tree的错误
  13. SAP 登录的一些参数
  14. 【软考软件评测师】2020年下案例分析历年真题
  15. 微信小程序操作es简单搜索
  16. 常见的HTTP状态码(HTTP Status Code)说明
  17. java面向对象程序设计的六大基本原则
  18. 分阶段性讲解房屋买卖纠纷中“卖方违约,买方要求继续履行合同”的可能性
  19. kaldi:计算词错率(WER)
  20. python发送免费短信验证码(腾讯云 短信)

热门文章

  1. 【课程·研】算法 | 装箱问题(近似算法)
  2. Elasticsearch单机版安装(基于CentOS7)
  3. postgresql的配置文件中找不到postgresql.conf和pg_hba.conf
  4. SharePoint Online 定制工作流表单
  5. PSO算法优化应用实例(2020.09.24)
  6. 计算机专业的学生如何为国防建设做贡献,大学生如何为国防建设做贡献(2页)-原创力文档...
  7. 卷径计算详解(通过卷绕的膜长和膜厚进行计算)
  8. android 个性按钮,酷炫的日间夜间模式切换按钮
  9. Redis安装详解—官方原版
  10. 探索推荐引擎内部的秘密:深入推荐引擎相关算法 - 协同过滤