首页 微博热点正文

翻斗车,FPGA高档编程言语VHDL中的数据目标具体介绍,气象预报

近年以来,跟着大数据与人工智能技能的快速开展,关于数据处理速度的要求也越来越高。

而FPGA(可编程逻辑门阵列)便是一种能够进行高速并行运算的可编程芯片,在人工智能与大数据处理上具有十分星际御墨师显着的优势夹被子。

微软技能院士(T范世奇echnical Fe爱鲁llow张冰婧)Doug Burger博士就有这样的表述:“咱们尽管能够经过不断添加处理器(CPU)中心的数量来到达并行核算的意图,可是由于能耗约束,不行能让他们一同作业。”

他还提出一个处理这种问题的方法,那便是运用“定制核算”,便是说在特定的作业香穴场景和负载优化硬件规划,可是,定制lr世界增值积分芯片具有十分贵重的本钱。

例如,关于一个杂乱的云核算场景,或许会需求47000种不同的定制芯片组成的体系,这或许估量不管关于规划者仍是运用者都是没有人翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报乐意的。

所以他将赌注押在了这个名叫FPGA的芯片上。

FPGA全名叫“现场可编程逻辑阵列”,它实质是一种可编程的芯片。人们能够把硬件规划重复烧写在它的可编翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报程存储器里,从而使FPGA芯片能够履行不同的硬件规划和功用。

别的,你也能够在运用现场动态的改动它上面运转的功用,这便是为什么它们被称作“现场可编程”的原因。事实上,你能够每隔几秒就改动一次FPGA芯片上运转的硬件规划,因而这种芯片十分灵敏。”

所以把握最常用的FPGA高级编程言语之一的VHDL言语就十分有必要了。今日这篇文章首要就VHD阴处L言语中比较难了解的一个关于数据方针的知识点进行详细的剖析与解说。

FPGA主婚词简略经典数据方针简介

首要,VHD中的数据方针有以下三种:常量(Constant)、变量(Variable)、信号(Signal),其间常量与变量跟其它编程言语中的界说相似,能够参阅其间界说很好了解,可是信号(Signal)是VHDL中特有的数据方针,也是一个初学者很难了解的一个难点。

下面就顺次对数据方针的特色进行详细介绍,而且结合实例进行剖析,将各个变量的差异进行比照阐明,信任经过阅览本文,能够十分简单把握这些概念。

一、常量(Constant)介绍

常量,望文生义便是值不能够被改动的量,跟其它言语的界说是十分相似的。

常量的界说格局为:

CONSTANT 常量名 : 数据类型:= 表达式; //其间最终的赋值表达式为有必要的。

举例:CONSTANT Vcc:Real:=5; //指定一个电压为5V的常量。

运用范围:

常量的运用范围与界说的详细位置有联系,要是界说在程序包(Package)里边,则能够被用于一切调用该程序包的实体(Entity)中。而在实体中的结构体(Architecture)中界说的常量只能在该结构体中运用。

相似的在结构体内的进程(Process)内界说的常量也只能用在该进翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报程中运用,不能用在除此以外的当地。

二、变量(Variable)介绍

变量:望文生义便是值能够被改动的量,即答应屡次被赋值的量。

界说格局为:

VARIABLE 变量名: 数据类型:=约束条件(:=初始值);//其间后边表达式为非有必要的。

比如: VARIABLE x,y: INTEGER; //界说2个整数变量x,y。

变量赋值句子格局为:

方针变量名:=表达式;

比如: x:=10; y:=5+x;//赋值4009515151两头数据类型有必要共同。表达式、常数均可。

变量(Variable)的特色:

  • ① 可屡次赋值,而且赋值当即收效,是一种理想化的数据传输进程。
  • ② 可答应设置初始值,可是在归纳时,归纳器会将省略一切的翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报初始值。
  • ③ 变量是一个局部变量,只能用于进程、子进程、进程和函数中运用。
  • ④ 变量不能表达“连线”或存储元件。
  • ⑤ 关于变量赋值,方针变量能够是单值变量,也能够是数组型变量。

变量运用举例如下:

VARIABLE x,y,z: INTEFER;
VARIABLE COUNT: INTEFER RANGE 0 to 255:=10;
VARIABLE a,b: BIT_VECTOR(0 to 7);
b:="1010101";
a:=b;
a(3 to 6):=('1','1'隆上记,'0','1');
a(3 to 6):==("1101");
a(0 to 5):=b(2 to 7);
a(7):='0';

留意:赋值两头位宽有必要持平,数据类型有必要相同。

下面咱们一同对最终一个VHDL特有的数据方针-信号(Signal)进行详小鹅啄毛怎么回事细的学习。

三、信号(Signal)介绍

信号(Signal)是VHDL中特有的数据方针,其实际上相蒋蕙筠当于电路元件中的连线,或许能够认为是电路中的某一个节点,信号除了没有固定的数据活动方向以外,其它性质与实体中的端口是相同的。

换句话说,实体的端口能够了解为一种有方向的信号。这样或许翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报会更好了解一些。

信号声明格局为:

SIGNAL 信号名:数据类型 约束条件:= 表达式;

比如:SIGNAL clock : bit :='0';//界说时钟信号赋初值0;

信号赋值格局为:

方针信号名 <= 表达式;

比如: x<=9; z<=x after 5 ns;//先给x赋值9,5ns后赋值为z;

留意:

仔细的咱们或许现已发现了,在界说信号的时分,赋初值的时分运用的赋值符号是与变量赋值符号相同的“:=”,而在信号赋值时运用的赋值符号是“<=”,这个必定要留意,千万别搞错了。下面临信号的运用以及特色杨程茗进行介绍。

信号的特色:

  • ① 信号没有方向性,也便是说,信号能够被赋值也能够被读取。
  • ② 信号只能在实体、结构体和包调集中界说,不能在进程和子程序中界说。
  • ③ 信号赋值不是当即起作用的,南乔莫北丞而是经过必定的推迟才有用(体系会主动设置一个细小的延时时刻)
  • ④ 在运用进程Process(灵敏列表)时,灵敏列表中只能是信号,而不能是变量。举个比如:
Signal x,y : bit;
Variable z: bit;
Process(x,y) ;
Process(z);
  • Process(x,y) 是对的,Process(z) 是过错的
  • ⑤ 在一个进程中,答应对同一个信号进行屡次赋值,可是只要最终的赋值句子有用,即整个进程履行到最终一条句子时进程接下来挂起时,数据才发作带入(最终举例阐明)。
  • ⑥ 进程外部信号赋值时,不能对同一个信号屡次赋值。

四、信号与变量进行比照

首要经过下列代码A与代码B的运转结翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报果进行比照剖析

代码A:

Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity contrast is
Port(a,b:in integer range 0 to 7;
c,d:out integer range 0 to 15);
End Entity contrast;
Architecture behave of contrast is
Si黑道悲情3全文阅览gnal d:integer range 0 to 15;
Begi彝良气候n
Proc_A: Process(a,b,c,d)
Begin
d<=a;
x<=b+d;
d<=c;
y<=b+d;
End process Proc_A;

代码B:

Library ieee;
Use ieee.std_logic_1164.all;
Use ieee.std_logic_unsigned.all;
Entity 囤积者杰娜contr翻斗车,FPGA高级编程言语VHDL中的数据方针详细介绍,气象预报ast is
Port(a,b:in integer range 0 to 7;
c,d:out integer range 0 to 15);
End Entity contrast;
Architecture behave of contrast is
Begin
Proc_B: Process(a,b,c,d)
Variable d:integer range 0 to 15;
Begin
d:=a;
x<=b+d;
d:=c;
y<=b+d;
End process Pr45k影院oc_B;

代码A与代码B运转成果进行比照:

代码A运转成果:

x<=b+c;
y<=b+c;

由于进程A中的信号赋值能够进程屡次,可是只要最终一次有用,而且仍是等进程完毕挂起时才会履行。

代码B运转成果:

x<=b+a;
y<=b+c;

由于进程B中,d为变量赋值,是当即收效,所以d的值会马上等于a,之后又马上等于c,才有最终的输出成果。

结束

经过阅览本文,关于VHDL中的数据方针你学会了吗?有问题欢迎留言评论,一同学习,共同进步。

版权声明

本文仅代表作者观点,不代表本站立场。
本文系作者授权发表,未经许可,不得转载。