vhdl基本语素语法语句杨.pptx
《vhdl基本语素语法语句杨.pptx》由会员分享,可在线阅读,更多相关《vhdl基本语素语法语句杨.pptx(110页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity sswr isport(d:in std_logic_vector(3 downto 0);y:out std_logic);end sswr;实例实例1 某数字电路的某数字电路的VHDL程序代程序代码如下,请分析其逻辑功能码如下,请分析其逻辑功能第1页/共110页architecture behave of sswr isbegin y=0 and d=5 and d10 el
2、se Z;end behave;第2页/共110页library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_arith.all;use ieee.std_logic_unsigned.all;entity FBI isport(a,b,ci:in std_logic;y,cout:out std_logic);end FBI;实例实例2 某数字电路的某数字电路的VHDL程序代程序代码如下,请分析其逻辑功能码如下,请分析其逻辑功能第3页/共110页architecture bh2 of FBI isbegin y=a xor b xo
3、r ci;cout=(a and b)or(a and ci)or(b and ci);end bh2;第4页/共110页二、VHDL硬件描述语言基础数字电路与逻辑设计5-3-3 基于基于VHDL的组合逻辑设计的组合逻辑设计第7页/共110页VHDL硬件描述语言nVHDL概述nVHDL数据类型与数据对象nVHDL命令语句第8页/共110页一、VHDLVHDL概述 VHDL是超高速集成电路硬件描述语言 (Very High speed Integrated Circuit Hardware Description Language)的英文缩写。语法和风格:(1 1)类似与现代高级编程语言,如C语
4、言。(2)VHDL描述的是硬件,它包含许多硬件特有的结构。第9页/共110页u VHDL与电路图设计电路的方式不同:和电路图设计方式相比:(1)易于修改;(2)设计能力更强;(3)VHDL语言很方便:独立于器件设计;相同的程序代码可以用于不同厂家生产的器件。一、VHDL概述第12页/共110页u VHDL语言的程序结构 LIBRARY(USE)-库 PACKAGE -程序包集合 ENTITY -实体 ARCHITECTURE -结构体 CONFIGURATION-配置语句一、VHDL概述第13页/共110页Library(库)是用于存放预先编译好的Package(程序包)。Package(程序
5、包)中定义了基本的常数,数据类型,元件及子程序等。作用:声明在实体和结构体定义中将用到的 数据类型、元件或子程序等。声明格式:Library 库名;Use 库名.PACKAGE名.All;一、VHDL概述(1)Library和和Package部分部分第15页/共110页 作作用用:ENTITY(实实体体)用用于于定定义义电电路路的的外观,即外观,即I/O端口的类型和数量。端口的类型和数量。定义格式:定义格式:Entity 实体名 is Port(a:in bit;b:in bit;c:out bit);End 实体名;(2)ENTITY定义区一、VHDL概述端口名数据类型端口模式第16页/共1
6、10页端口模式(MODE)有以下几种类型:IN;OUT;INOUT;BUFFER 端口模式可用下图说明:(黑框代表一个设计或模块)IN OUT BUFFER INOUT一、VHDL概述第17页/共110页(3)ARCHITECTURE定义区实体的实现。即说明电路执行什么动作或实现功能。定义格式:Architecture 结构体名 of 实体名 is 声明语句;(内部信号、变量、常数,元件,子程序声明)Begin并行描述语句;End 结构体名;一、VHDL概述第18页/共110页u 标识符的定义原则:(1)标识符由字母、数字和下划线组成,a7_;(2)标识符不区分大小写,ab和AB是一样的;(3
7、)第一个字符必须是字母,即a666;(4)不允许有两个连续的下划线,a_b错误;(5)末尾不能是下划线,mname_错误;(6)标识符不能和关键字相同,如Entity,is等。一、VHDL概述第21页/共110页二、VHDL数据类型与数据对象在VHDL程序中,我们经常会遇到这样的语句:Port(X:in std_logic);Signal A :std_logic;Variable B :std_logic_vector(7 downto 0);Constant C :integer;数据对象类型数据类型数据对象名第26页/共110页u VHDL语言中的基本数据类型语言中的基本数据类型逻辑类型
8、逻辑类型数值类型数值类型布尔代数布尔代数(Boolean)位位(Bit)标准逻辑标准逻辑(Std_Logic)整数整数(Integer)实数实数(Real)二、VHDL数据类型与数据对象第27页/共110页n 逻辑数据类型(1)布尔代数(Boolean)型;标识关键字:BOOLEAN,取值空间:FALSE,TRUE;(2)位(Bit);标识关键字:BIT,取值空间:0,1 示例:Port(A:in bit);Signal B:bit;二、VHDL数据类型与数据对象第28页/共110页标识关键字:Std_Logic;取值空间:X,-Forcing Unknown 0,-Forcing 0 1,-
9、Forcing 1 Z,-Hign Impedance W,-Weak Unknown L,-Weak 0 H,-Weak 1 U,-Undefined -,-Dont Care;二、VHDL数据类型与数据对象 标准逻辑类型(9值逻辑)对数字逻辑电路的逻辑特性描述更加完整,真实,因此在VHDL程序中,对逻辑信号的定义通常采用标准逻辑类型(3)标准逻辑(Std_logic);第29页/共110页l 逻辑序列位序列位序列(Bit_Vector)标准逻辑序列标准逻辑序列(Std_Logic_Vector)二、VHDL数据类型与数据对象第30页/共110页Port(A:in Std_Logic_Vec
10、tor(7 downto 0);Port(B:in Bit_Vector(0 to 3);Signal C:Std_Logic_Vector(3 downto 0);序列范围的声明方式:序列范围的声明方式:To,Downtol 序列的声明序列的声明二、VHDL数据类型与数据对象多位宽度的逻辑变量多位宽度的逻辑变量用序列表示。用序列表示。序列的含义:声明一个多位宽度的逻辑变量,序列的含义:声明一个多位宽度的逻辑变量,逻辑变量的最高位与声明时的最左序号对应,逻辑变量的最高位与声明时的最左序号对应,以此类推,定义并命名一个多位逻辑变量。以此类推,定义并命名一个多位逻辑变量。第31页/共110页l 序
11、列的分解与合成Port(A:IN Std_Logic_Vector(3 downto 0);B:IN Std_Logic_Vector(1 downto 0);Signal C:Std_Logic_Vector(0 to 1);Signal D:Std_Logic_Vector(0 to 3);将A逻辑变量的中间两路信号与C相连C=A(2 downto 1);将A的最高一路、B的全部位和常量1与D相连D=A(3)&B&1;二、VHDL数据类型与数据对象序列赋值原则:左右宽度相等。序列赋值原则:左右宽度相等。第32页/共110页n 数值类型(1)整数 声明标识字:Integer,取值空间:-23
12、1 231-1示例Port(A:in Integer);Port(C:in Integer Range 0 to 7);(限定整数取值范围的方法)Signal B:Integer;二、VHDL数据类型与数据对象第33页/共110页l 无符号数 Unsigned与标准逻辑序列相似,声明时必须指明其位数。Port(A:in Unsigned(7 downto 0);Signal B:Unsigned(3 downto 0);注意:必须使用downto形式。Port(A:in std_logic_vector(7 downto 0);Unsigned 与std_logic_vector 的联系与区别
13、二、VHDL数据类型与数据对象第34页/共110页l VHDL中的运算符二、VHDL数据类型与数据对象 算术运算符:+加-减*乘除*乘方mod 求模 rem 求余 abs求绝对值 逻辑运算:and 逻辑与or逻辑或nand与非nor 或非xor 异或xnor同或not 逻辑非第36页/共110页关系运算符:=等于/=不等于小于大于=大于或等于注:其中=操作符也用于表示信号的赋值操作。&连接符,将两个数据对象或矢量连接成维数更大的矢量,它可给代码书写带来方便。例如:vabc=a&b&c;如果a=1,b=0,c=1,则 vabc=“101”。二、VHDL数据类型与数据对象第37页/共110页u 数
14、据对象常常 量量信信 号号变变 量量(Data Objects)二、VHDL数据类型与数据对象第43页/共110页(2)信号定义格式I.(端口)信号Port(端口信号名称:数据类型);例如:Port(A:in std_logic);II.内部信号Signal 信号名称:数据类型:=初始值;例如:Signal B:std_logic;二、VHDL数据类型与数据对象第47页/共110页l“信号信号”数据对象的物理意义数据对象的物理意义 信号代表电路元件的端口和内部的物理连线信号代表电路元件的端口和内部的物理连线,因此信号的赋值有一定的延迟时间因此信号的赋值有一定的延迟时间.端口信号代表电路的输入/
15、输出(在实体中说明);内部信号代表电路中间信号或中间连接线路,其在元件之间起互连作用(在结构体中说明和使用)。l信号赋值的语法格式为:信号赋值的语法格式为:信号名=表达式;例如:【Signal S1:Std_logic_vector(3 Downto 0);】S1=“0000”;第48页/共110页三、VHDL命令语句并列语句并列语句顺序语句顺序语句VHDL命令语句命令语句第56页/共110页并列语句(1)直接赋值语句:=赋值运算符(2)条件赋值语句:When-Else(3)选择赋值语句:With-Select-When(4)Process(进程)语句(5)Block(块)语句(6)函数调用语
16、句(后面章节讲)(7)Component(元件)例化语句(8)For-Generate语句第58页/共110页直接赋值语句直接赋值语句的格式:Signal_name=expression;如:Signal A,B:std_logic_vector(7 downto 0);A=”00000000”;B=”10000000”;我们也可以这样赋值:A0);结果信号A的每一位的值都为0。B0);信号对象的位数很多时,采用others来赋值很方便。第59页/共110页When-Else条件赋值语句语法格式为:Signal_name=expression1 When logic_expression1 E
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vhdl 基本 语素 语法 语句
限制150内