Module Path Declaration
  
    
    
     
   
   Formal Definition
  
   Module path declaration is used to describe how data can propagate 
   through a module. 
  
   Simplified Syntax
  
   Simple module path ; 
  
   Edge sensitive path ; 
  
   State dependent path ; 
  
   Description
  
   Let's take a look at this model: 
  
     
  
   The problem is to define delays between input and output (Y and A for 
   example). The solution is to declare a path and specify a delay. 
   There are three ways to do this: 
  
  
   The idea is to define the delay from the source to the destination. 
   In this method each path can have a specific delay difference. For 
   example, the path between Y and A can be different than Y and B. 
   Generally, if a delay is specified, we know when the response occurs 
   on the output if the input changes. 
  
   Examples of module path declarations are also described in chapters: 
   Edge sensitive path, and State dependent path. 
  
     
  
   Examples
  
   Simple module path example: 
  
   (A => Q) = 10; 
   (B => Q) = (12); 
   (C, D *> Q) = 18; 
  
   The symbols *> and => each represent a different kind of 
   connection between the module path source and the module path 
   destination. The operator *> establishes a full
    connection between source and destination. The operator => 
   establishes a parallel connection
    between source and destination. Refer to the Language 
   Reference Manual for a description of full
    connection and 
   parallel connection paths. 
  
   Important Notes
  
   - 
   
    Module paths cannot be declared outside of a module. 
    - 
   
    Only the net type of a port can be used as a source. Input and inout 
    directions are allowed. 
    - 
   
    Both registers and net types can be used as path destinations. Input 
    and inout directions are allowed. 
    - 
   
    A destination cannot have more than one driver. 
     
  
    
 
    |