VHDL数据类型(vhdl语法)_第1页
VHDL数据类型(vhdl语法)_第2页
VHDL数据类型(vhdl语法)_第3页
VHDL数据类型(vhdl语法)_第4页
VHDL数据类型(vhdl语法)_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

VHDL数据类型,FPGA应用技术,二。数据类型和数据对象。在VHDL程序中,我们经常遇到这样的语句:信号逻辑;variable b : STD _ logic _ vector(7 down to 0);常数:整数;数据对象类型、数据类型、数据对象名称、VHDL语言的基本数据类型、逻辑类型、数字类型、布尔代数、位、标准逻辑(标准逻辑)、整数、实数、秒、VHDL数据类型和数据对象、逻辑数据类型、(1)布尔代数;(2)钻头;(3)标准逻辑;typeBITis(0 , 1 );typeBOOLEANis(假,真);2,VHDL数据类型和数据对象,标准逻辑类型TD _ Logicis (U ,-未定义(未初始化) X ,-强制未知(强未知) 0 ,-强制0(强0) 1 ,-强制1(强1) Z ,-高阻抗 W ,-弱未知(弱未知) L ,-弱0(弱0) H ,-弱1 ,-唐 Tcare(忽略),2。数据类型和数据对象。标准逻辑类型更完整、更真实地描述了数字逻辑电路的逻辑特性。因此,在VHDL程序中,逻辑信号的定义通常采用标准逻辑类型、逻辑序列、比特序列(比特向量)、标准逻辑序列(标准逻辑向量)、二进制逻辑。数据类型和数据对象,信号数据:标准逻辑向量(7到0);signal addr : bit _ Vector(0 to 3);序列的范围大小声明模式:到、下、序列的使用、ii、VHDL数据类型和数据对象、序列信号的分解和合成: STD _ logic _ vector(3下到0);信号b : TD _ Logic _ Vector(0 O3);信号: Td _逻辑_向量(0 to 1);信号: TD _ Logic _ Vector(1 down to 0);c=A(2 down to 1);B=大于或等于注:运算符“=”也用于表示信号的分配。信号SignalA:state(2) VHDL数据类型和数据对象,(2)数组类型数组名是数组(范围)的数据类型;示例:字节数组(7downto0)字节0)的位;信号do :字节;第二,VHDL数据类型和数据对象。数据类型用VHDL语言转换,不同类型的数据信号不能相互分配。当需要在不同类型的数据之间传输信息时,在传输信号之前,需要类型转换功能将一种类型的数据转换成另一种类型的数据。(2) VHDL数据类型和数据对象,例如:信号:标准逻辑向量(7减0);信号SignalX:Integerrange0to255至255;y=conv _标准_逻辑_向量(X,8);第二,VHDL数据类型和数据对象。CONV_INTEGER将无符号和有符号的数据类型转换为整数。CONV_UNSIGNED将整数和有符号的数据类型转换为无符号的。CONV_SIGNED将整数和有符号数据类型转换为无符号数据类型。Unidentified被转换为SIGNED类型。conv _标准_逻辑_向量将整数、无符号、有符号、标准_逻辑的数据类型转换为标准_逻辑_向量类型。二。VHDL数据类型和数据对象,数据对象,常量,信号,变量,(数据对象),第二,VHDL数据类型和数据对象,(1)常量定义格式:常量名称:数据类型:=给定值;常数通常用于定义延迟和功耗等参数。注意!常量定义伴随着初始值。常量可用于实体描述和结构描述。第二,VHDL数据类型和数据对象,库typesuseieee . STD _ logic _ 1164 . all;useieee . STD _ logic _ unsigned . all;-必须定义entity sam1 sport(IP : instd _ logic _ vector(3 down至0 );op : outtd _ logic _ vector(3 downto 0);endexam1architecture 1 ofexam 1 sconstantnum : integer :=6;beginop=ip编号;endm1(2) VHDL数据类型和数据对象,(2)信号定义格式信号名称:数据类型:=初始值;信号相当于电路内部元件之间的物理连接,因此信号的分配有一定的延迟时间。2.VHDL数据类型和数据对象以及“信号”数据对象表示电路的内部信号或连接线,它们在元件之间起着互连作用。注意!虽然在定义信号时可以直接指定初始值,但系统通常会忽略它们。建议在分配之前定义信号对象。信号是一个全局量。用于实体描述、结构描述和包描述。信号分配的语法格式是:信号名称=表达式;例如:信号1:std _ logic _ vector (3down至0);S1= 0000 ;(2) VHDL数据类型和数据对象,(3)可变定义格式变量名:数据类型:=初始值;变量只能在“过程”中使用。变量的赋值立即生效,通常用于高级抽象算法描述。用于临时存储中间数据的VHDL数据类型和数据对象以及“可变”数据对象不一定代表电路的组件。注意!虽然初始值可以在定义变量时直接赋值,但系统通常会忽略它们。建议在赋值前定义变量对象。变量是一个局部量。仅在进程或子程序中使用。变量赋值的语法格式为:目标变量:=表达式;例如:变量1: STD _ logic _ vector(3d down至0);S1:= 00002.VHDL数据类型与数据对象、信号和变量的比较,(1)信号和变量之间的不同对应关系:信号代表电路的内部信号或连接线;变量不是。(2)信号和变量声明的位置不同:信号声明在子程序和过程之外;变量在子程序和过程中声明。(3)信号是一个全局量,变量只在定义它的域中可见。因此,变量不能在两个进程之间传递信息。(4)当信号在一个过程中被多次分配时,只有最后一个值起作用;然而,变量是不同的。每个赋值都会改变它的值。(5)不同的作业。在一个过程中,信号分配只在过程结束时起作用,而变量分配是立即完成的。此外,分配符号是不同的:信号被分配给“=”,变量被分配给“:=”。数据对象属性,(1)数值类属性:(数组类型的数据对象)数值类属性具有“左”、“右”、“低”、“高”长度。其中对象名和它们的属性用一个符号分开。左代表数组的左边界;右边代表数组的右边界;低表示数组的下边界;高表示数组的上边界;长度表示数组的长度。例如,信号: STD _ logic _ vector(7减0);信号b : TD _ logic _ vector(0 to 3);那么这两个信号的属性值分别是:左=7;a right=0;a low=0;a 高=7;a 长度=8;b left=0;向右=3;Blow=0。Bhigh=3。b 长度=4;数据对象属性,(2)“事件属性:”事件属性,其值为布尔值。如果事件发生在属性所附加的信号上(即信号改变),其值为真,否则为假。该属性可用于识别时钟信号的变化,即时钟是否出现。数据对象属性,例如,时钟边沿表示:signalclk:instd _ logic如果(clk eventandclk= 1 ),则Q=Q1;那么clk eventandclk= 1 代表时钟的上升沿。也就是说,时钟已经改变,它的值是1。Clk eventandclk= 0 表示时钟的下降沿。也就是说,时钟已经改变,它的值是0。以2:为例,设计了一个组合逻辑电路和一个1-1位全加器。输入x、Y、CI输出z,CO,libraryieeeuseieee。标准逻辑1164。全部;使用ieee。标准逻辑算法。全部;使用ieee。标准逻辑无符号。全部;entityfull_bit_adderisport(a,b,ci:instd _ logicy,cout : outd _ logic);endfull _ bit _加法器;全位加数的结构B1=(nota)和(notb)和ci)或(nota)和(b)和(非ci)或(a)和(notb)和(非ci)或(a)和(b)和(ci);cout=(bandci)或(aandci)或(aandb ).endbh1,architecture H2 of full _ bit _ adderisbeginy=axorbxorci;cout=(aandb)或(aandci)或(bandci).end bh2配置con 1 off full _ bit _ adderisforh2 end for;endcon1,(1)触发器设计,DQCP,D触发器,LIBRARYIEEE美国电气和电子工程师学会。标准逻辑1164 .全部;实体接口(CP,d : instd _ logicq : outd _ LOGIC);ENDdff .ArchitectEaofFisbeginProcess(CP)beginifcpeventandcp=1 senq=d;endif结束过程;ENDa(3)计数器设计,计数器,CLK,Q,图书馆电气和电子工程师学会;请使用ieee.std_logic_1164 .全部;请使用ieee.std_logic_unsigned .全部;请使用ieee.std_logic_arith .全部;实体计数器端口(Clk : InstD _ LOGICq : BufferstD _ LOGIC _ vector(3向下至0);结束计数器ar

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论