ai_tab.v 3.05 KB
////////////////////////////////////////////////////////////////////////
//
// Project Reality
//
// module:      ai_tab.v
// description: dumps out ai i/o .tab file
//
// designer:    Tony DeLaurier
// date:        12/09/94
//
////////////////////////////////////////////////////////////////////////

module ai_tab();

  integer	tab_file_ptr;

  // open tab file and dump header
  initial
  begin

      tab_file_ptr = $fopen("ai000.tab");
    
      // dump out header
      $fwriteh(tab_file_ptr, "#\n"); 
      $fwriteh(tab_file_ptr, "# ai tab file\n"); 
      $fwriteh(tab_file_ptr, "#\n"); 
      $fwriteh(tab_file_ptr, "clock                   @C 1(8) 0(8)\n"); 
      $fwriteh(tab_file_ptr, "vbus_clock              @C 1(8) 0(8)\n"); 
      $fwriteh(tab_file_ptr, "reset_l                 @I @E 2 @C clock\n"); 

      $fwriteh(tab_file_ptr, "cbus_read_enable        @I @E 2 @C clock\n"); 
      $fwriteh(tab_file_ptr, "cbus_write_enable       @I @E 2 @C clock\n");
      $fwriteh(tab_file_ptr, "cbus_select[1:0]        @I @E 2 @C clock\n");
      $fwriteh(tab_file_ptr, "cbus_command[2:0]       @I @E 2 @C clock\n");
      $fwriteh(tab_file_ptr, "dma_start               @I @E 2 @C clock\n"); 
      $fwriteh(tab_file_ptr, "dma_grant               @I @E 2 @C clock\n");
      $fwriteh(tab_file_ptr, "read_grant              @I @E 2 @C clock\n"); 
      $fwriteh(tab_file_ptr, "dbus_data[63:0]         @I @E 2 @C clock\n");
  
      $fwriteh(tab_file_ptr, "dma_request             @O @S 15 @C clock\n");
      $fwriteh(tab_file_ptr, "read_request            @O @S 15 @C clock\n"); 
      $fwriteh(tab_file_ptr, "abus_data               @O @S 15 @C clock\n");
      $fwriteh(tab_file_ptr, "abus_word               @O @S 15 @C clock\n"); 
      $fwriteh(tab_file_ptr, "abus_clock              @O @S 15 @C clock\n"); 
      $fwriteh(tab_file_ptr, "ai_full                 @O @S 15 @C clock\n"); 

      $fwriteh(tab_file_ptr, "cbus_data[31:0]         @B cbus_data_oe 1 @E 5 @S 15 @C clock\n"); 
      $fwriteh(tab_file_ptr, "cbus_data_oe            @O @S 15 @C clock\n"); 
      $fwriteh(tab_file_ptr, "cbus_dummy              @I @E 0 @C clock\n"); 

      $fwriteh(tab_file_ptr, "\n");

  end // initial

  // dump ai at pos edge of clock 
  always @(posedge reality.rcp_0.ai_0.clock)
  begin
        $fwriteh(tab_file_ptr, 
	    reality.rcp_0.ai_0.reset_l,,"  ",
   
	    reality.rcp_0.ai_0.cbus_read_enable,,
	    reality.rcp_0.ai_0.cbus_write_enable,,
	    "0x", reality.rcp_0.ai_0.cbus_select,,
	    "0x", reality.rcp_0.ai_0.cbus_command,,
	    reality.rcp_0.ai_0.dma_start,,
	    reality.rcp_0.ai_0.dma_grant,,
	    reality.rcp_0.ai_0.read_grant,,
	    "0x", reality.rcp_0.ai_0.dbus_data,,"  ",

	    reality.rcp_0.ai_0.dma_request,,
	    reality.rcp_0.ai_0.read_request,,
	    reality.rcp_0.ai_0.abus_data,,
	    reality.rcp_0.ai_0.abus_word,,
	    reality.rcp_0.ai_0.abus_clock,,
	    reality.rcp_0.ai_0.ai_full,,"  ",

	    "0x", reality.rcp_0.ai_0.cbus_data,,
	    reality.rcp_0.ai_0.cbus_write_enable,,
	    reality.rcp_0.ai_0.cbus_write_enable,,
            "\n");
  end // always

endmodule // ai_tab