Verilog有内建原语如门,传输管,开关等,这些都是相当小的原语,如果我们需要更为复杂的原语,verilog提供了UDP,也就是用户定义原语(User Defined Primitives). 使用UDP可以建模组合电路和时序电路。
UDP以保留字primitive开始,以endprimitive结束,并紧接着原语的Ports/terminals。这与module的定义类似。UDP应该定义在module和endmoudle外面。
View Code
1 //This code shows how input/output ports 2 // and primitve is declared 3 primitive udp_syntax ( 4 a, // Port a 5 b, // Port b 6 c, // Port c 7 d // Port d 8 ); 9 output a; 10 input b,c,d; 11 12 // UDP function code here 13 endprimitive
在上面的语法中,udp_syntax是原语的名字,包含端口a,b,c,d。