VHDL程序的基本结构
一、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程序的基本结构相关推荐
- VHDL语言基础-VHDL程序的基本结构与主要构件
目录 VHDL程序的基本结构: 一个完整的VHDL程序包括: Example: VHDL的主要构件: VHDL程序的基本构件: 主要构件: VHDL的主要构件-库: 使用格式: Example: VH ...
- VHDL硬件描述语言(二)VHDL程序的基本结构
一.基本结构 实体说明(entity):描述所设计的系统的外部接口部分 结构体(architecture):描述系统内部的结构和行为 程序包(package):存放各设计模块都能共享的数据类型.常 ...
- VHDL程序基本构建
VHDL程序基本构建 实体和端口模式 VHDL实体是整个设计实体(即独立的电路功能结构)的重要组成部分,其功能是对这个设计实体与外部电路进行接口描述. 实体说明单元的一般语句结构如下:ENTITY 实 ...
- 第三章 VHDL语言的基本结构
VHDL语言的基本结构 一.VHDL设计简述 VHDL主要用于描述数字系统的结构.行为.功能和接口. VHDL将一个设计(元件.电路.系统)分为: 外部(可视部分.端口) 内部(不可视部分.内部功能. ...
- VHDL语言的基本结构(结构框架说明)
VHDL语言的基本结构 一.实体说明 主要描述的是一个设计单元的外部特征,即对外的输入/输出接口及一些用于结构体的参数定义. 规则一:建议将VHDL的标识符或基本语句关键词,以大写方式表示:而又设计者 ...
- The way to Go(6): Go程序的基本结构和要素
Reference: Github: Go Github: The way to Go Go程序的基本结构和要素 helloworld.go: package mainimport "fmt ...
- 批量下载ABAP程序和表结构
REPORT YGJH003 NO STANDARD PAGE HEADING LINE-SIZE 200 MESSAGE-ID WA. ******************************* ...
- QML 编程之旅 -- QML程序的基本结构概念
文章目录 QML 文档的构成 QML基本语法 QML 编程之旅 – QML程序的基本结构概念 学习Qt编程快近一年了,的确是项目驱动,让我不得不咬紧牙关,需要快速的学习掌握一门新的技术.编程是一个非常 ...
- C语言程序的基本结构
文章目录 一.C语言基础知识的学习方法 二.C语言程序开发的流程 三.安装C语言的编译器 四.C程序的基本结构 1.程序的注释 2.预处理指令 3.主函数的入口 4.主函数体 五.编译并执行 C 程序 ...
最新文章
- 非空约束对数据更新的影响
- python 递归函数_让你Python到很爽的加速递归函数的装饰器
- php中file对象实例,AJAX_File, FileReader 和 Ajax 文件上传实例分析(php),File FileReader 可以干什么? Ajax - phpStudy...
- Java基础学习总结(181)——Nacos、Apollo、Config配置中心如何选型?
- Flutter入门进阶之旅(二)Hello Flutter
- file owner
- 8.Python进阶_异常处理
- 阿里云商标注册购物车功能怎么用?在哪查看?
- 雨林木风 ghost win7 纯净版系统下载
- 程序员之路:Gmail邮箱客户端配置_彭世瑜_新浪博客
- 白鹤芋一帆风顺花怎么养 一帆风顺花养殖方法及注意事项
- flutter编译遇到unknown revision or path not in the working tree的错误
- SAP 登录的一些参数
- 【软考软件评测师】2020年下案例分析历年真题
- 微信小程序操作es简单搜索
- 常见的HTTP状态码(HTTP Status Code)说明
- java面向对象程序设计的六大基本原则
- 分阶段性讲解房屋买卖纠纷中“卖方违约,买方要求继续履行合同”的可能性
- kaldi:计算词错率(WER)
- python发送免费短信验证码(腾讯云 短信)
热门文章
- 【课程·研】算法 | 装箱问题(近似算法)
- Elasticsearch单机版安装(基于CentOS7)
- postgresql的配置文件中找不到postgresql.conf和pg_hba.conf
- SharePoint Online 定制工作流表单
- PSO算法优化应用实例(2020.09.24)
- 计算机专业的学生如何为国防建设做贡献,大学生如何为国防建设做贡献(2页)-原创力文档...
- 卷径计算详解(通过卷绕的膜长和膜厚进行计算)
- android 个性按钮,酷炫的日间夜间模式切换按钮
- Redis安装详解—官方原版
- 探索推荐引擎内部的秘密:深入推荐引擎相关算法 - 协同过滤