UDP Instantiation
  
    
    
     
   
   Formal Definition
  
   The UDP instantiation provides a means of using UDP in modules. 
  
   Simplified Syntax
  
   udp_name (strengths) #(delays) instance_name[range] (list of ports); 
  
   Description
  
   UDPs can be instantiated only within modules. 
  
   The name of an instance is optional (Example
    1). A UDP instantiation can contain strength and delays 
   declarations (Example 2). 
   UDPs do not support high-impedance (z) values, therefore only two 
   delays are permitted. Signals connected to input ports can be any net 
   or reg data type. Only net data type variables can be connected to 
   the output port. The strength declaration can contain only drive strength. 
  
   It is possible to specify an array of UDP instances by using a range (Example
    3). 
  
   Examples
  Example 1 
  
   primitive d_ff (q, clk, d); 
   ... 
   endprimitive 
   d_ff (q, clk, d); 
  
   The name of an instance is optional. 
  Example 2 
   
   d_ff (weak1, strong0)
    #5 d1 (q, clk, d); 
  
   UDP instance with strength and delay declaration. 
  Example 3 
  
   wire [3:0] q; 
   reg [3:0] d; 
   reg clk; 
   d_ff flips[3:0] (q, clk, d); 
  
   Important Notes
  
  
    
 
    |