VHDL语言基础-VHDL程序的基本结构与主要构件
目录
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程序的基本结构与主要构件相关推荐
- VHDL语言基础-基本语句
目录 VHDL基本语句: 并行语句: 并行语句常包括以下七种: 赋值语句: 使用格式: 条件赋值语句: 使用格式: 选择信号赋值语句: 使用格式: 进程语句: 使用格式: Example:D触发器: ...
- C#面向对象程序设计课程实验一:实验名称:C#语言基础、程序流程控制
C#面向对象程序设计课程实验一:实验名称:C#语言基础.程序流程控制 实验内容:C#语言基础.程序流程控制 一. 实验目的 二.实验环境 三.实验内容 四.实验总结 实验内容:C#语言基础.程序流程控 ...
- C语言基础-简单程序分析
在上一篇文章里介绍了C语言的入门程序HelloWorld,入门程序HelloWorld 在这一篇里我们继续来看C语言的入门程序,我们先来看一个简单的程序. #include<stdio.h> ...
- VHDL语言基础-概述
目录 概述: 什么是VHDL: VHDL的起源及发展: 使用VHDL的目的: VHDL的用途: VHDL与verilog HDL的比较: VHDL特点: 举例:二路选择器描述的变化 概述: 什么是VH ...
- Go语言基础进阶—程序结构—包和文件
基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看
- Go语言基础进阶—程序结构—类型
基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看
- Go语言基础进阶—程序结构—赋值
基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看
- Go语言基础进阶—程序结构—变量
基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看
- Go语言基础进阶—程序结构—声明
基于Go语言圣经总结,适合有一定基础的同学,对于提升Go语言的掌握有很大的帮助 建议放大观看
最新文章
- Eclipse无法识别(手机)设备的解决方案
- SQL Server中利用存储过程来高性能地进行分页
- 北大计算机学院 教授 湖南人,北大湘籍教授邹恒甫简历
- 接口测试的时候如何生成随机数据进行测试
- 1004. 成绩排名 (20)
- java 构造函数 this_Java面向对象2--构造器(Constructor),this关键字
- 多屏互动之Duet Display和Air Display
- 多目标跟踪(Multi-Object-Tracking)入门
- 【小程序开发】开发一个短信登录验证(后端采用springboot)
- 惠普服务器关机自动重启,HP笔记本关机自动重启的解决办法
- android 虚拟按键源码流程分析
- 使用云祺虚拟机备份软件恢复SANFOR HCI虚拟机
- Bugku Crypto习题整理
- 【唐诗学习】五、山水田园诗派代表
- C语言学习(十二)C语言中的字符(宽字符与窄字符)、从字符谈谈C语言的编码、转义字符
- 安装Ubuntu20.04后我做的那些事:插件,美化
- Flutter 不容错过的 7 大亮点 | Google I/O 精彩回顾
- 博智云书 | 建筑工程文档管理好帮手
- Python 基础课程第十天
- 转:为什么内向的人,更适合当领导?
热门文章
- 采用simulink构建AWGN信道中分组码的BPSK数字通信系统
- 进制转换器——章节实验作业(C语言链栈)
- ICP算法学习记录(包括基础概念,计算推导)
- 【操作系统】操作系统的主要任务
- VS2019之wpf开发环境配置(非常详细)
- C/C++知识总结:进程线程面试题
- 华通-小天 IDC
- 中国“红客联盟”网上记者会发布重大澄清声明
- 第三方登陆(二)QQ登陆
- linux 6安装EBS R12.2 Post-Install Check : RW-50016: Error: - {0} was not created