HierarchyFilesModulesSignalsTasksFunctionsHelp
Prev12345678910

      if ( (INP.pframenn !== 1'b0) ) begin
          CNTRL.r_pad_pclk <= #(0)  `false;   
          CNTRL.r_pd_pclk <= #(0)  `false;   
          CNTRL.r_pcxbenn_pclk <= #(0)  `false; 
          CNTRL.r_pbenn_pclk <= #(0)  `false; 
          CNTRL.r_pframenn_pclk <= #(0)  `false; 
          CNTRL.r_preq64nn_pclk <= #(0)  `false;
          CNTRL.r_pidsel_pclk <= #(0)  `false;
          CNTRL.r_ppar_pclk <= #(0)  `false;
          CNTRL.r_ppar64_pclk <= #(0)  `false;
          CNTRL.r_pirdynn_pclk <= #(0)  `false; 
          CNTRL.r_plocknn_pclk <= #(0)  `false; 
          CNTRL.r_psbonn_pclk <= #(0)  `false;
          CNTRL.r_psdone_pclk <= #(0)  `false;
      end // if  
  end else begin
     CNTRL.r_pad_pclk <= #(0)  `false;   // Miss
     CNTRL.r_pd_pclk <= #(0)  `false;   
     CNTRL.r_pcxbenn_pclk <= #(0)  `false; 
     CNTRL.r_pbenn_pclk <= #(0)  `false; 
     CNTRL.r_pframenn_pclk <= #(0)  `false; 
     CNTRL.r_preq64nn_pclk <= #(0)  `false;
     CNTRL.r_pidsel_pclk <= #(0)  `false;
     CNTRL.r_ppar_pclk <= #(0)  `false;
     CNTRL.r_ppar64_pclk <= #(0)  `false;
     CNTRL.r_pirdynn_pclk <= #(0)  `false; 
     CNTRL.r_plocknn_pclk <= #(0)  `false; 
     CNTRL.r_psbonn_pclk <= #(0)  `false;
     CNTRL.r_psdone_pclk <= #(0)  `false;
  end // if
end
endtask // update_timing_flags;

//------------
// EXECUTER --
//------------
task executer;
begin
  if (!((msg_level<debug_3))) begin
    $display("NOTE at %0t from %m",$time);
    $write("     \"EXECUTER: ");
    $display("\"");
  end
    if ( initialize ) begin
      tristate_pins;
      initialize = `false; 
    end // if

    if ( INP.prstnn === 1'b1 && first_reset ) begin
      if ( INP.pclk_event && INP.pclk === 1'b1 ) begin
         hit_maker;
         parity_maker;
         ready_maker;
         parity_checker;
         lock_enable;
         bus_state;
         gen_output;
         update_status;
	 update_timing_flags;
         if ( msg_level > debug_1 ) begin
           trace_slave;
         end // if
      end // if 
    end else if ( INP.prstnn === 1'b0 ) begin
      if ( INP.prstnn_event ) begin
        if ( (! first_reset) ) begin
          first_reset = `true;
          init_slave;
        end // if
        if ( (is_first) ) begin
          get_nxt_cmd;
        end // if
        reset_slave;
        report_slave;
      end // if
    end // if
    if ( new_cmd_f && (ctrl_queue_size === 0) ) begin
      get_nxt_cmd;
      if ( (curr_cmd[incode1:incode2] === `request_cmd) ) begin
        if ( ! is_first ) begin
          new_cmd_f = `true;
        end // if
        request;
      end // if
    end // if

end
endtask // executer;
 //**--**--**--**--**--**--**--**--  Executer Declarations USER CODE END

//------------------
// EXE_USER_IMMED --
//------------------
task exe_user_immed;
input [fm_data_in1:fm_data_in2] cmd;
 //**--**--**--**--**--**--**--**--  exe_user_immed USER CODE BEGIN
begin
    if (!((msg_level<debug_3))) begin
      $display("NOTE at %0t from %m",$time);
      $write("     \"EXE_USER_IMMED: Executing ");
      $write("%s",cmd2string(cmd[incode1:incode2]));
      $display("\"");
    end


  case ( cmd[incode1:incode2] )
     `configure_cmd : begin 
        configure(cmd);
     end
      default begin	 /* null */
        if (!((msg_level<warnings))) begin
          $display("WARNING at %0t from %m",$time);
          $write("     \"EXE_USER_IMMED: INVALID command code");
          $display("\"");
        end

   end
   endcase
 //**--**--**--**--**--**--**--**--  exe_user_immed USER CODE END

end
endtask // exe_user_immed;

//------------
// USER_RTE --
//------------
 //contains user-portion of functionality for rte command
 //called when rte command is executed by controller
task user_rte;
 //**--**--**--**--**--**--**--**--  user_rte USER CODE BEGIN
begin
    if (!((msg_level<debug_3))) begin
      $display("NOTE at %0t from %m",$time);
      $write("     \"USER_RTE: ");
      $display("\"");
    end

 //**--**--**--**--**--**--**--**--  user_rte USER CODE END

end
endtask // user_rte;

//====================================--
//        END EXECUTER SECTION        --
//====================================--

// End FM_MAIN Process Declaration Region --


 //--- FM MAIN PROCESS -----

always begin : fm_main

  if ( init ) begin
  CNTRL.pad <= #(0)  `true;  // initialize timing checks
  CNTRL.pad_in <= #(0)  `true;
  CNTRL.r_pad_pclk <= #(0)  `false;
  CNTRL.pcxbenn <= #(0)  `true;
  CNTRL.r_pcxbenn_pclk <= #(0)  `false;
  CNTRL.ppar <= #(0)  `true;
  CNTRL.ppar_in <= #(0)  `true;
  CNTRL.r_ppar_pclk <= #(0)  `false;
  CNTRL.pframenn <= #(0)  `true;
  CNTRL.r_pframenn_pclk <= #(0)  `false;
  CNTRL.ptrdynn <= #(0)  `true;
  CNTRL.ptrdynn_in <= #(0)  `true;
  CNTRL.r_ptrdynn_pclk <= #(0)  `false;
  CNTRL.pirdynn <= #(0)  `true;
  CNTRL.r_pirdynn_pclk <= #(0)  `false;
  CNTRL.pstopnn <= #(0)  `true;
  CNTRL.pstopnn_in <= #(0)  `true;
  CNTRL.r_pstopnn_pclk <= #(0)  `false;
  CNTRL.pdevselnn <= #(0)  `true;
  CNTRL.pidsel <= #(0)  `true;
  CNTRL.r_pidsel_pclk <= #(0)  `false;
  CNTRL.psbonn <= #(0)  `true;
  CNTRL.r_psbonn_pclk <= #(0)  `false;
  CNTRL.psdone <= #(0)  `true;
  CNTRL.r_psdone_pclk <= #(0)  `false;
  CNTRL.pclk <= #(0)  `true;
  CNTRL.ck_pclk <= #(0)  `true;
  CNTRL.prstnn <= #(0)  `true;
  CNTRL.ck_prstnn <= #(0)  `true;
  CNTRL.pd <= #(0)  `true;
  CNTRL.pd_in <= #(0)  `true;
  CNTRL.r_pd_pclk <= #(0)  `false;
  CNTRL.pbenn <= #(0)  `true;
  CNTRL.r_pbenn_pclk <= #(0)  `false;
  CNTRL.ppar64 <= #(0)  `true;
  CNTRL.ppar64_in <= #(0)  `true;
  CNTRL.r_ppar64_pclk <= #(0)  `false;
  CNTRL.preq64nn <= #(0)  `true;
  CNTRL.r_preq64nn_pclk <= #(0)  `false;
  CNTRL.pack64nn <= #(0)  `true;
  CNTRL.plocknn <= #(0)  `true;
  CNTRL.r_plocknn_pclk <= #(0)  `false;
  CNTRL.pperrnn <= #(0)  `true;
  CNTRL.pserrnn <= #(0)  `true;
    init        = `false;
  `ifdef no_pli
// no code
  `else
     `ifdef paged
         $lmv_mempage_declare("cfg_head",0,31,0,1);
         $lmv_mempage_declare("mem_head",0,31,0,536870912);
         $lmv_mempage_declare("io_head",0,31,0,536870912);
     `else
         $lmv_memory_declare("cfg_head",0,31,0,536870912);
         $lmv_memory_declare("mem_head",0,31,0,536870912);
         $lmv_memory_declare("io_head",0,31,0,536870912);
     `endif
  `endif
//    cmd_mem = new cmd_mem_arr_type[1 : 100];
  end // if

  receiver;

  controller;
//**--**--**--**--**--**--**--**-- Executer CALL or STATEMENTS USER CODE BEGIN

  executer;
//**--**--**--**--**--**--**--**-- Executer CALL or STATEMENTS USER CODE END

  dispatcher;


  
  INP.pad_old = INP.pad;
  INP.pcxbenn_old = INP.pcxbenn;
  INP.ppar_old = INP.ppar;
  INP.pframenn_old = INP.pframenn;
  INP.ptrdynn_old = INP.ptrdynn;
  INP.pirdynn_old = INP.pirdynn;
  INP.pstopnn_old = INP.pstopnn;
  INP.pidsel_old = INP.pidsel;
  INP.psbonn_old = INP.psbonn;
  INP.psdone_old = INP.psdone;
  INP.pclk_old = INP.pclk;
  INP.prstnn_old = INP.prstnn;
  INP.pd_old = INP.pd;
  INP.pbenn_old = INP.pbenn;
  INP.ppar64_old = INP.ppar64;
  INP.preq64nn_old = INP.preq64nn;
  INP.plocknn_old = INP.plocknn;

  @(posedge INP.pad_event or posedge INP.pcxbenn_event or posedge INP.ppar_event
    or posedge INP.pframenn_event or posedge INP.ptrdynn_event or posedge INP.pirdynn_event
    or posedge INP.pstopnn_event or posedge INP.pidsel_event or posedge INP.psbonn_event
    or posedge INP.psdone_event or posedge INP.pclk_event or posedge INP.prstnn_event
    or posedge INP.pd_event or posedge INP.pbenn_event or posedge INP.ppar64_event
    or posedge INP.preq64nn_event or posedge INP.plocknn_event

    or fm_cmd or lmcver.cb or lmcver.cb_ack 
    or posedge cb_initiator_id_event or posedge cb_ack_event or posedge fm_cmd_strobe_event
    or posedge check_cb_ack_event);


end // fm_main

endmodule // fm

12345678910
HierarchyFilesModulesSignalsTasksFunctionsHelp

This page: Created:Thu Aug 19 12:02:09 1999
From: ../../../sparc_v8/system/lmc/rtl/pcislave_fm.v

Verilog converted to html by v2html 5.0 (written by Costas Calamvokis).Help