Verilog中存在部分用于仿真验证的子集,只在仿真时使用,因为没有对应的硬件元件,因此不可综合。
一般综合工具不支持的Verilog HDL结构
- initial
- table, primitive (UDP)
- fork...join
- force...release
- deassign
- defparam
- event
- forever, while, repeat
- rtan, tran, tranif0, tranif1, rtranif0, rtranif1
- cmos, nmos, rcoms, rnmos, pmos, pnmos
- 运算符===, !==等
一般综合工具忽略的Verilog HDL结构
- 延时#N
- specify
- small, large, medium
- weak0, weak1, highz0, highz1, pull0, pull1
- time
- wait等
一般综合工具支持的Verilog HDL结构
- module
- wire, reg, integer基本数据类型
- parameter
- input, output, inout port
- 基本运算符,大部分可综合
- 基本门元件:and, nand, or, nor, xor, xnor, buf, not等
- continous assign
- blocking assign & non-blocking assign
- condition statement: if...else, case, casex, casez, endcase
- for
- always
- begin...end
- function
- task
- macro: `include, `define, `ifdef, `else, `endif等