Value Change Dump (VCD) File
  
    
    
     
   
   Formal Definition
  
   The Value change dump (VCD) file contains information about any value 
   changes on the selected variables. 
  
   Simplified Syntax
  
   $dumpfile(name) 
  
   $dumpvars 
  
   $dumpvars(level, list_of_variables_or_modules) 
  
   $dumpoff 
  
   $dumpon 
  
   $dumpall 
  
   $dumplimit 
  
   $dumpflush 
  
   Description
  
   $dumpfile(filename) 
  
   This task is used to specify the VCD file name. The filename 
   parameter is optional. If it is not given, then the file will be 
   named "Verilog.dump. 
  
   $dumpvars(level, list_of_variables_or_modules) 
  
   This task is used to specify which variables should be dumped. Both 
   parameters are optional and if none are used, then all variables will 
   be dumped. 
  
   If level = 0, then all variables within the modules from the list 
   will be dumped. If any module from the list contains module 
   instances, then all variables from these modules will also be dumped. 
  
   If level = 1, then only listed variables and variables of listed 
   modules will be dumped. 
  
   $dumpoff 
  
   This task stops the dumping of variables. All variables are dumped 
   with x value and all next changes of variables will not be dumped. 
  
   $dumpon 
  
   This task starts previously stopped dumping of variables. 
  
   $dumpall 
  
   When this task is used, then the current value of all dumped 
   variables will be written to file. 
  
   $dumplimit(filesize) 
  
   This task can set the maximum size of the VCD file. 
  
   $dumpflush 
  
   This task can be used to make sure that all changes of dumped 
   variables are written to file. 
  
   Examples
  
   module top; 
   reg a, b; 
   wire y; 
   assign y = a & b; 
   always begin 
     a = 1'b0; 
     #10; 
     a = 1'b1; 
     #10; 
     a = 1'bx; 
     #10; 
   end 
   always begin 
     b = 1'b0; 
     #30; 
     b = 1'b1; 
     #30; 
     b = 1'bx; 
     #30; 
   end 
   initial begin 
     $dumpfile("test.txt"); 
     $dumpvars(1,a,y); 
     #200; 
     $dumpoff; 
     #200; 
     $dumpon; 
     #20; 
     $dumpall; 
     #10; 
     $dumpflush; 
   end 
   endmodule 
  
   The dumpfile will contain only changes of 'a' and 'y' variables. 
   After 200 time units, dumping will be suspended for 200 time units. 
   Next, dumping will start again and after 20 time units, all variables 
   will be dumped. 
  
   Important Notes
  
  
    
 
    |