(1)四值逻辑系统:0、1、X(未知)、Z(高阻态,没有激励信号时悬空)
(2)常用关键字:
input、output、inout / begin、end
wire、reg、parameter
always、posedge、negedge、or、assign
case、endcase、default
其他说明:默认为wire,输入信号采用wire;
输出信号wire用于assign赋值、reg用于always、initial赋值
使用if、else时所有条件都要包含
(3)运算符:
算术运算:+、-、*、/、%(模) 逻辑运算:&&、||、!
关系运算:>、<、>=、<=、==、!= 移位运算:<<、>>(左移、右移)
位运算:&、|、~(每一位进行与或非) ^、^~(~^)(每一位异或、异或非)
条件运算:a ? b : c 拼接运算:{a,b}、{a{b}}(a与b信号拼接、b信号重复a次)
优先级:见附一
(3)常见问题:
1、组合逻辑产生latch锁存器:使用if、else没说明全部条件造成
2、组合逻辑产生逻辑反馈环:报警告combinational loop
将组合逻辑改为时序逻辑,见附二
3、阻塞赋值(=)与非阻塞赋值(<=):
阻塞赋值顺序执行,一般用于组合逻辑电路;非阻塞赋值并行执行,一般用于时序逻辑
4、组合电路的顺序执行与时序电路的并行执行
顺序执行,在同一个时钟节拍下完成所有的语句;并行执行,一个接一个的时钟节拍完成语句