顶~~~~~~~~~~~~~~
0936
封装是一个什么概念呢?
这个库是一个文件夹,封装就是其中的一个文件,文件的一种形式称之为封装,package。
封装的名字。
通常有很多个封装,很多个文件,然后你要声明是其中的某一个,还是所有的,一般我们会调用所有的。
然后第二个部分,称之为实体,entity。
Entity的形式呢,它会和end entity形成一个结构。
0937
end entity中间是有空格的。
Verilog中间没有空格。
这个entity是个什么东西呢?
就相当于Verilog的端口的部分,它只在这里面声明端口,声明这个电路模型外在的形式。
这一点是VHDL的一个特点。
第一部分,库声明,第二部分,实体。
第三个部分,就是这个实体电路的描述,称为结构体,architecture。
结构体要指出来是谁的结构体。
就是结构体的名字。
0938
结构体的名字,用保留字声明出来是谁的结构体,哪个实体的结构体。
实体有一个名字。
哪个电路模型的外观,外观称之为实体。
在VHDL里面就非常严谨了,分号一定是最末尾。
0939
世界上只有一种语言,分号是乱打的,就是Verilog。
VHDL一定是工工整整的,在结构的最末尾打分号。
Architecture的结尾,end architecture之后跟它的名字。
更甚的写法呢,就是2008之后,都可以直接在这end后面打分号。
End architecture之后,也可以写它的名字,结构体的名字。
分为三部分,就是库声明、实体、结构体。
0940
用这三部分来组成显式建模的描述。
显式建模的描述,我们在Verilog里面很方便,module、endmodule。
这个要三个部分,而且必不可少。
任何引用的部分都必须要声明。
引用的语法,引用的变量符号,必须有依据。
依据必须在当前文件里面体现出来。
这是它的特点。
然后我们要注意一下这两种语言的对比。
Verilog的与运算、非运算、或运算,同或异或,都有直接语法的支持,有原语的支持。
而VHDL没有原语的支持,只有运算符。
0941
Verilog的逻辑运算符只有5个,与、非、或、同或、异或,而VHDL是全的,它是正宗的米德体系。
我们知道,Verilog如果写的话,我们可以用原语来写。
但VHDL直接用语言就可以写。
然后算术运算,在Verilog里面有加、减、乘、除、模。
0942
这个模呢,它可不可综合呢?
也不是说不可综合,如果直接做算符级的描述,它给你综合的效率很低的。
还有乘除也是如此。
这个时候完全交给综合器,综合器不能够保证效率。
VHDL还带有指数运算,Verilog带指数的运算很多情况下是不可综合的。
VHDL有求模的运算符,求余数的运算符,求绝对值的运算符。
0943
我们在Verilog里面有求绝对值,大家记得怎么做?
用系统任务,它是调用一个高级函数来做的。
关系运算符,我们要看好了,因为马上就要写代码了。
相等,我们在Verilog里面引入的是C语言的体系,两个等号。
VHDL只要一个等号。
0944
关系运算符。
不等于,!=,这是/=。
小于、小于等于是一样。
大于、大于等于是一样。
相与,在Verilog里面是&&,VHDL里面直接用英文。
