buf b1(a, b); // Zero delay buf #3 b2(c, d); // Delay of 3 buf #(4,5) b3(e, f); // Rise=4, fall=5 bufif1 #(4,5,5) b4(g,h,ctrl) //Rise=4, fall=5,turnoff=5 bufif1 (3:4:5, 4:5:6, 4:5:6) b5 (c, a, b); // min-typ-max
… assign a = (b == c)? 1 : 0; … 如果 expression1 的值为真,则 选择expression2 作为操作的结 果;否则选择expression3 的值.
如果 expression1 的值为 X 或 Z, 则计算 expressions2 和 expression3 的值,输出结果为两个表达式对应比特的组合
Results in
1 1 0 1 0 1
7
Boolean Operators
运算符类型 逻辑运算符 运算符符号 && || ! 比特运算符 & | ~ 操作 逻辑与 逻辑或 逻辑非 与 或 取反 操作数数量 2 2 2 2 2 1
^ ^~ 或 ~^
缩位运算符 & ~& | ~| ^ ^~ 或 ~^
2ns
out
Inertial delay out
transport delay out
21
仿真中的延迟模型
• Verilog中有三种延迟类型:
– 分布延迟 – 集总延迟 – 路径延迟(引脚到引脚延迟)
• 综合工具通常会忽略程序里指定的所有延迟
distributed a b e
#4 #5
lumped out