组合逻辑电路
HDL
VHDL
Verilog
趋势:
硬件软化
抽象形式
Algotirhmic level 算法级
Register transfer level 寄存器级
Gate level 与或非,完备的 门级
Switch level(系统级别)
布尔逻辑或位运算
模块
输入输出接口
eg:计算机
module module_name(port_list);
port declaration;
...
variable declartion;
...
description of behavior;
endmodule
module HalfAdder(A,B,Sum,Carry);
input A,b;
output Sum, Carry;
//端口的说明
assign Sum = A ^ B; //Verilog 1995
assign Sum = A & B;
endmodule
Verilog
.总体组多语法借鉴于c,注释同cpp
.数字表示
.字符串
.关键字
.大小写敏感
组合逻辑无记忆,无存储,无时间延迟
输出尽可能用时序逻辑
基本逻辑部门
与或非门
非阻塞赋值(并行,与顺序无关)&&阻塞赋值(串行,组合逻辑)
module
input X, Y;
output F;
reg F;
always @(x, y)
begin
F = X & Y;//<= : wrong
end
endmodule
always @(x, y)
//敏感事件,敏感变量通常电平敏感而非边缘敏感
begin
...
end
写代码时:
最好写平行结构,case
少些带有优先级别的 if,else;除非有优先级别的要求,因为硬件开销大
循环结构最好不用 for,测试中可以用
译码器,eg:2-4译码器
选择器
{}在verilog中作为拼接符号
时序逻辑电路
posedge上升沿触发