文件组织形式
Verilog
所有的设计都是模块化,层次化,整个设计只有一个顶层。
VHDL
所有的设计包含库,包,实体,结构体,层次化,整个设计只有一个顶层。
库:是VHDL存放设计文件以及预先设定的提供给设计者一些函数或者数据类型的存放的文件夹。该文件夹是VHDL语言预先设定的,设计者不可以修改,对设计者隐藏。
1. IEEE:美国电子工程学会制定的标准库,设计中最常用的库。只要VHDL存在的地方就有该库。
2. STD:预定义库,预定义了一些数据类型和函数,不常用,默认打开。
3. VITAL:对ASIC提供高精度仿真模型。
4. Work:用户库,存放用户设计文件的库。设计者编写的所有的文件都会映射到该库。
设计者在使用库的时候如果默认没有打开,先要打开库,然后使用库里面的数据理类型或者函数
Library IEEE --打开IEEE库
Use IEEE.STD--使用IEEE库里面的STD包
包:VHLD的头文件,和C语言的头文件是一回事,包分为包头和包体
包头:包头可以声明常数,函数
包体:一般描述函数的功能
Pachage myuset is
Type is(s0,s1,s2);
end myuset;
Pachage body myuset is
函数描述
End myuset;
预定的包
1. STD_LOGIC_1164
重载了常用的数据类型,最主要的是重载了BIT和BIT_VECTOR标准数据类型。该类型是描述硬件逻辑的关键数据类型,重载后命名为STD_LOGI和STD_LOGI_VECTOR
2. STD_LOGIC_ARITH
主要在STD_LOGIC_1164包的基础上对无符号数,有符号数,短整型三个数据类型的增强,并定义了相关的转换函数和运算符
3. STD_LOGIC_SIGNED
Synopsys公司定义的有符号数运算相关的操作
4. STD_LOGIC_UNSIGNED
该程序包定义了无符号数相关运算。
以上预定的包被存放在IEEE库内,设计自定义的包被存放在work库内
包的实用如下:
Library WORK --打开work库
Use WORK myuset.--使用work库里面的STD包
欢迎关注FPGA设计论坛,实时获取更多FPGA相关资讯