目录

VHDL程序的基本结构:

一个完整的VHDL程序包括:

Example:

VHDL的主要构件:

VHDL程序的基本构件:

主要构件:

VHDL的主要构件—库:

使用格式:

Example:

VHDL的主要构件—包:

Example:

VHDL的主要构件—实体:

使用格式:

注意:

类属参数说明:

端口说明:

Example:写出如下器件的实体描述:

VHDL的主要构件—结构体:

使用格式:

Example:半加器:

结构体的描述方法:

结构体的描述方法——全加器的行为描述:

结构体的描述方法 ——全加器的数据流方式:

结构体的描述方法 ——全加器的结构描述方式:

VHDL的主要构件—配置:

​​​​​​​使用格式:

配置作用:

配置语句:设计时设计多个实体,以供配置选择


VHDL程序的基本结构:

一个完整的VHDL程序包括:

库的调用,程序包的调用,实体说明和结构体4个部分 。另外还可包括配置部分

Example:



VHDL的主要构件:

VHDL程序的基本构件:

包括库、包,配置,实体,结构体、块、子程序

主要构件:

库 、程序包 、实体 、结构体,配置


VHDL的主要构件—库:

库(Library)是编译后数据的集合,是存放预先完成的程序包和数据集合体的仓库 。

常用的库:STD库(默认库) IEEE库,WORK库(默认库),面向ASIC的库,用户自定义库

使用格式:

Example:

IEEE 库:IEEE库是VHDL设计中最常见的库,由于该库中的程序包并非符合VHDL语言标准 ,因此在使用时必须显示表达

IEEE库内定义了四个常用的程序包:


VHDL的主要构件—包:

包集合:包集合说明就像C语言中的include语句一样,用来单纯地罗列VHDL语言中所要用到的信号定义 、常数定义、数据类型、元件语句、函数定义和过程定义等

Example:

在VHDL中,同样的语句,使用不同的库或不同的包 , 所生成的电路 , 可能会 辑相 逻 同 ,电路不同


VHDL的主要构件—实体:

实体(ENTITY)包括实体名,类属参数说明,端口说明三部 分 ,由 留字 保 “ENTITY”引导

使用格式:

注意:

实体名不能以数字开头,不能与保留字相同

实体结束以“END ENTITY”或“END 实体名”结束

类属参数说明:

常用于说明静态信息 如器件延迟

由保留字GENERIC引导

格式如下:

GENERIC(常数名:数据类型:=设定值);

例如:GENERIC(m:time:=1ns);

端口说明:

端口说明是一个设计实体界面的描述,提供外部接口信息。

由保留字PORT引导

格式如下:PORT (端口名:端口方向 数据类型 )

例如: PORT (d0:IN std_logic;);

Example:写出如下器件的实体描述:


VHDL的主要构件—结构体:

结构体(ARCHITECTURE)是设计实体的具体描述,指明设计实体的具体行为、所用元件及连接关系。

使用格式:

结构体名应有明确的意义

定义语句只对本结构体有效

结构体里面的语句是并行的

Example:半加器:

半加器电路是指对两个输入数据位进行加法,输出一个结果和进位 。

结构体的描述方法:

行为描述:描述输入与输出之间的转换行为,不包含内部的电路元件 、电路的结构信息,一般将结构体命名为“behav”

数据流描述:既表示行为,又隐含着结构;体现数据的流动路径和方向,一般将结构体命名为 “dataflow ”

结构描述法:描述电路元件与它们之间的连接关系,一般将结构体命名为“stru数据类型

结构体的描述方法——全加器的行为描述:

结构体的描述方法 ——全加器的数据流方式:

结构体的描述方法 ——全加器的结构描述方式:


VHDL的主要构件—配置:

配置语句:描述层与层之间的连接关系和实体与结构体之间的连接关系

使用格式:

配置作用:

设计实体仿真时 ,利用配置语句来选择不同的结构体,使其与要设计的实体相对应,从而进行性能的对比试验以得到性能最佳的结构体

配置语句:设计时设计多个实体,以供配置选择

VHDL语言基础-VHDL程序的基本结构与主要构件相关推荐

  1. VHDL语言基础-基本语句

    目录 VHDL基本语句: 并行语句: 并行语句常包括以下七种: 赋值语句: 使用格式: 条件赋值语句: 使用格式: 选择信号赋值语句: 使用格式: 进程语句: 使用格式: Example:D触发器: ...

  2. C#面向对象程序设计课程实验一:实验名称:C#语言基础、程序流程控制

    C#面向对象程序设计课程实验一:实验名称:C#语言基础.程序流程控制 实验内容:C#语言基础.程序流程控制 一. 实验目的 二.实验环境 三.实验内容 四.实验总结 实验内容:C#语言基础.程序流程控 ...

  3. C语言基础-简单程序分析

    在上一篇文章里介绍了C语言的入门程序HelloWorld,入门程序HelloWorld 在这一篇里我们继续来看C语言的入门程序,我们先来看一个简单的程序. #include<stdio.h> ...

  4. VHDL语言基础-概述

    目录 概述: 什么是VHDL: VHDL的起源及发展: 使用VHDL的目的: VHDL的用途: VHDL与verilog HDL的比较: VHDL特点: 举例:二路选择器描述的变化 概述: 什么是VH ...

  5. Go语言基础进阶—程序结构—包和文件

    基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看

  6. Go语言基础进阶—程序结构—类型

    基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看

  7. Go语言基础进阶—程序结构—赋值

    基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看

  8. Go语言基础进阶—程序结构—变量

    基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看

  9. Go语言基础进阶—程序结构—声明

    基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看

最新文章

  1. Eclipse无法识别(手机)设备的解决方案
  2. SQL Server中利用存储过程来高性能地进行分页
  3. 北大计算机学院 教授 湖南人,北大湘籍教授邹恒甫简历
  4. 接口测试的时候如何生成随机数据进行测试
  5. 1004. 成绩排名 (20)
  6. java 构造函数 this_Java面向对象2--构造器(Constructor),this关键字
  7. 多屏互动之Duet Display和Air Display
  8. 多目标跟踪(Multi-Object-Tracking)入门
  9. 【小程序开发】开发一个短信登录验证(后端采用springboot)
  10. 惠普服务器关机自动重启,HP笔记本关机自动重启的解决办法
  11. android 虚拟按键源码流程分析
  12. 使用云祺虚拟机备份软件恢复SANFOR HCI虚拟机
  13. Bugku Crypto习题整理
  14. 【唐诗学习】五、山水田园诗派代表
  15. C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符
  16. 安装Ubuntu20.04后我做的那些事:插件,美化
  17. Flutter 不容错过的 7 大亮点 | Google I/O 精彩回顾
  18. 博智云书 | 建筑工程文档管理好帮手
  19. Python 基础课程第十天
  20. 转:为什么内向的人,更适合当领导?

热门文章

  1. 采用simulink构建AWGN信道中分组码的BPSK数字通信系统
  2. 进制转换器——章节实验作业(C语言链栈)
  3. ICP算法学习记录(包括基础概念,计算推导)
  4. 【操作系统】操作系统的主要任务
  5. VS2019之wpf开发环境配置(非常详细)
  6. C/C++知识总结:进程线程面试题
  7. 华通-小天 IDC
  8. 中国“红客联盟”网上记者会发布重大澄清声明
  9. 第三方登陆(二)QQ登陆
  10. linux 6安装EBS R12.2 Post-Install Check : RW-50016: Error: - {0} was not created