VHDL 与 VerlogHDL 的不同点
序
号
VHDL Verilog
1
文件的扩展名不一样
.VHD .v
2
结构不一样
包含库、实体、结构体
Entity 实体名 is
Port(端口说明)
End 实体名;
Architecture 结构体名 of
实体名 is
说明部分
Begin
赋值语句;
元件语句;
进程语句等;
End 结构体名;
模块结构(module………endmodule)
module 模块名(端口列表);
输入/输出端口说明;
变量类型说明;
assign 语句(连续赋值语句);
元件例化语句;
always@(敏感列表)
begin
……
end
endmodule
其中 assign 语句、元件例化语句、always
语句的顺序可以更换。
3
对库文件的要求不一
样
须有相应的库或程序包支
持,实体间调用子程序调
用,需要将子程序打成程
序包
没 有 专 门 的 库 文 件 ( 只 有 基 本 门 的
库),模块可以通过例化直接调用,不
需要打成程序包。
4
端口定义的地方不一
样
在实体中定义
在 module 的模块名后面先列出端口列
表 , 再 在 模 块 中 用 input , output 等定
义。
5
端口定义方式不一样
端口名[, 端口名] : 方向
数 据 类 型 名 [Default
Value];
如 Q : inout
std_logic_vector(31
downto 0);
端口类型 端口 1,端口 2,端口
3,…;
如:inout [31:0] Q;
6
端口定义类型不一样
有 in,out,inout,buffer
四种
有 input,output,inout 三种
7
内部信号声明不一样
在结构体中声明,有些局
部变量还可在进程中声明
在端口定义后进行声明内部变量
8
数据默认值
默认值为本类型的最小非
负值(某个类型的范围是
以 0 为对称的)
wire 类型默认值为 z,reg 类型默认值为
x;
9
标识符规则不一样
不区分大小写
区分大小写
10
关键词要求不一样
允许大小写混写
如 EnTIty
关键词必须是小写
11
常量定义的关键词和 CONSTANT 常 量名 : 数 parameter 常量名 1 = 表达式,常量名 2 =
评论0