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