欢迎来到天天文库
浏览记录
ID:34389673
大小:463.91 KB
页数:26页
时间:2019-03-05
《第4章vhdl设计初步new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VHDL设计初步EDA本讲内容从本章起,我们开始学习VHDL语言的语法知识及程序设计方法。本章介绍VHDL程序基本结构。从整体架构上认识VHDL程序,重点介绍VHDL语言各组成部分的语法格式以及在描述数字电路时所起的作用。1VHDL语言概述2VHDL语言的基本单元及其构成3VHDL文本输入设计方法初步4VHDL程序设计举例5总结主要例题1、与门电路2、数据选择器3、时序电路基础——D触发器4、层次化设计初步——1位全加器5、多位加法器1、VHDL程序结构概述1.1VHDL特点:功能强大、设计灵活支持广泛、易于修改强大的系统硬件描述能力独立于器
2、件的设计、与工艺无关很强的移植能力易于共享和复用1、VHDL程序结构概述1.2VHDL语言与计算机语言区别:应用程序---controlprocedureVHDL程序---makedescription运行的基础计算机语言是在CPU+RAM构建的平台上运行VHDL设计的结果是由具体的逻辑、触发器组成的数字电路执行方式计算机语言基本上以串行的方式执行VHDL在总体上是以并行方式工作验证方式计算机语言主要关注于变量值的变化VHDL要实现严格的时序逻辑关系1、VHDL程序结构概述1.3VHDL程序设计约定[]为可选内容;不区分大小写;
3、——表示注释;文件名与实体名一致;2、VHDL程序基本单元及其构成VHDL程序库与程序包调用实体声明(Entity)结构体(Architecture)例题1:“与门”的VHDL实现--********************************************LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;A--*********************************************ANDCBENTITYlineisPORT(FPGAa,b:INstd_logic;c:OUTstd_
4、logic);line.vhdENDline;--*********************************************ARCHITECTUREaOFlineISBEGINc<=aandb;--信号赋值语句ENDa;2、VHDL语言的基本单元及其构成例1语法说明:1、每一条语句以;号结束。2、实体名必须与VHDL源文件名同名。3、“--”符号为VHDL语言注释符。4、“<=”为信号赋值符号,数据类型一致。5、“std_logic”是引脚数据类型。2、VHDL程序基本单元及其构成——库和程序包调用类似于C语言中的头
5、文件,库和程序包中存放着已经定义好和编译好的数据类型、函数和过程,可供其他实体直接调用。引用方法:LIBRARY库名;USE库名.程序包名.项目名;VHDL库的类型:设计库:STD、Work;资源库:IEEE库、VITIAL库和用户自定义库。常用的程序包介绍。2、VHDL程序基本单元及其构成预先在STD库中编译,Standard程序包预先在主要定义了一些基本IEEE库中编译,预先在预先在定义了数据类型,IEEEIEEEVHDL库中编译,库中编译,编程中Libraryieee;定义了最常用的boolean,bit,signedstd_logic和和
6、定义了一些函数使设UseStd_logic_1164程序包unsigned计者可以对ieee.std_logic_1164.all;std_logic_vectorcharacter,integer,数据类型及数其相关的数学运算和std_logic_vectorieee.std_logic_arith.all据类型,以及针对real,string,数;Std_logic_arith程序包关系比较操作,以及ieee.std_logic_unsigned.std_logicboolean_vector,类型的常用据类型进行算术运算一些重要的数据类型all;操作。逻
7、辑运算操作符,如bit_vector等。Std_logic_unsigned转换函数。“对所有设计实体均可AND”、“XOR”、Std_logic_signed程序包“见不需事先声明即可OR”、”NOT”等使用。使用方法2、VHDL程序基本单元及其构成——实体声明ENTITY实体名IS[GENERIC(常数名1:常数数据类型[:=常数值];常数名1:常数数据类型[:=常数值];…);]PORT(端口名1:端口方向端口数据类型;端口名2:端口方向端口数据类型;…端口名n:端口方向端口数据类型;);END[实体名];--[]:中内容表示可选项;端口声明赋予每个电
8、路模块外部管脚的名称。用来说明信号流动
此文档下载收益归作者所有