Driver
  
    
    
     
   
   Formal Definition
  
   A container for a projected output
   waveform of a signal. The value of the signal is a function of the
   current values of its drivers. Each process that assigns to a given
   signal implicitly contains a driver for that signal. A signal
   assignment statement affects only the associated driver(s). 
  
   Description
  
   Each signal assignment statement defines a driver for each scalar 
   signal that is a target of this assignment. In case of signals of 
   complex type, each element has its own driver. Inside processes each 
   signal has only one driver, no matter how many assignment to it are specified. 
  
   When an assignment statement is executed, a new value is assigned to 
   the signal driver. The value of the signal is determined based on all 
   its drivers using the resolution function. 
  
   Examples
  
   signal DataBus : 
   Std_Logic_Vector (7 downto 
   0) := "ZZZZZZZZ"; 
   P1: process (A,B) 
   begin 
      . . . 
      DataBus 
   <= "11111111"; 
   end process P1; 
   P2: process (A,B) 
   begin 
      . . . 
      DataBus 
   <= "00000000"; 
   end process P2; 
  
     
   Signal DataBus is assigned values in two processes, therefore it will 
   have two drivers (one per each process). The assignments will result 
   in a change of the value of respective drivers, which will result in 
   assigning the "XXXXXXXX" value to the DataBus. 
  
   Important Notes
  
   - 
   
    Drivers are not associated with signal declarations but with signal assignments. 
    - 
   
    If a signal has more than one driver in an architecture, it must be 
    of a resolved type. 
     
  
    
 
    |