verilog HDL 基础模型结构
module module_name(port_list);
端口声明;
数据类型声明;
电路功能;
时序规范;
endmodule;
verilog 注意
1.case 敏感。(?)
2.所有关键字为小写。
3.空白用于提高可读性。
4.分号是声明结束符。
5.单行注释// .多行注释;/* */
6,时序规范用于仿真。
二.端口 端口名称列表 例如 ;
module mult_acc(out ,ina,inb,clk,clr);
端口类型
input 输入端口
output 输出端口
inout 双向端口
端口声明; <port_type><port_name>;
input [7:0] ina,inb;
input clk, clr;
output[15:0] out;
数据类型 两种 1.网络数据类型(net)-表示进程之间的物理连接。 2.寄存器数据类型-表示暂时存储数据的变量。
net数据类型
wire 表示一个节点或者连接(节点?) 例如:wire [7:0]
tri 表示一个三态节点 tri enable;
supply 0 逻辑0
supply 1 逻辑1
寄存器数据类型 寄存器可以是以下任意之一, 寄存器,整数,实数,时间,实时。
只能在进程中声明,任务或功能中赋值reg 类型。
不能是逻辑门输出,或者assign 语句输出。例; reg[7:0] out; integer count;
希望各位前辈指点,指错,更进一步解释,谢谢