
nmos,pmos
// 调用nmos和pmos开关
nmos n1(out, data, control);
pmos p1(out, data, control);
// 调用nmos和pmos开关,可以无实例名称
nmos (out, data, control);
pmos (out, data, control);

cmos
// 有实例名调用和无实例名调用
cmos c1(out, data, ncontrol, pcontrol);
cmos (out, data, ncontrol, pcontrol);
nmos (out, data, ncontrol);
pmos (out, data, pcontrol);
tran,tranif0,tranif1
tran t1(inout1, inout2);
tranf0 (inout1, inout2, control);
tranf1 (inout1, inout2, control);
supply1,supply0supply1等于电路中Vdd,并将逻辑1放在网表中。supply0等于电路中Vss或地,并将逻辑0放在网表中。supply1 vdd;
supply0 gnd;
assign a = vdd; //a连接到电源电压vdd
assign b = gnd; // b连接到gnd
r前缀,即可声明阻抗开关。rnmos rpmos //阻抗性nmos和pmos
rcmos // 阻抗性CMOS开关
rtran rtranf0 rtranf1 // 阻抗性双向开关




module my_nor(
output out,
input a,b
);
// 定义内部连线
wire c;
// 定义地和电源线
supply0 gnd;
supply1 pwr;
// 引用PMOS
pmos (c, pwr, b);
pmos (out, c, a);
// 引用nmos
nmos (out, gnd, a);
nmos (out, gnd, b);
endmodule
Error (10014): Verilog HDL unsupported feature error at file "my_nor.v" (line 14): cannot synthesize MOS switch gate primitive 
用cmos开关来定义二选一多路选择器
电路图

Verilog描述如下




