VMM - RAL/vmm_ral_backdoor.sv

RAL/vmm_ral_backdoor.sv expanded source

00001 // 
00002 // -------------------------------------------------------------
00003 //    Copyright 2004-2008 Synopsys, Inc.
00004 //    All Rights Reserved Worldwide
00005 // 
00006 //    Licensed under the Apache License, Version 2.0 (the
00007 //    "License"); you may not use this file except in
00008 //    compliance with the License.  You may obtain a copy of
00009 //    the License at
00010 // 
00011 //        http://www.apache.org/licenses/LICENSE-2.0
00012 // 
00013 //    Unless required by applicable law or agreed to in
00014 //    writing, software distributed under the License is
00015 //    distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
00016 //    CONDITIONS OF ANY KIND, either express or implied.  See
00017 //    the License for the specific language governing
00018 //    permissions and limitations under the License.
00019 // -------------------------------------------------------------
00020 // 
00021 
00022 
00023 virtual class vmm_ral_reg_backdoor;
00024    static vmm_log log = new("vmm_ral_reg_backdoor", "class");
00025    
00026    extern virtual task write(output vmm_rw::status_e              status,
00027                              input  bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00028                              input  int                           data_id,
00029                              input  int                           scenario_id,
00030                              input  int                           stream_id);
00031    extern virtual task read(output vmm_rw::status_e              status,
00032                             output bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00033                             input  int                           data_id,
00034                             input  int                           scenario_id,
00035                             input  int                           stream_id);
00036 endclass: vmm_ral_reg_backdoor
00037 
00038 
00039 virtual class vmm_ral_mem_backdoor;
00040    static vmm_log log = new("vmm_ral_mem_backdoor", "class");
00041    
00042    extern virtual task write(output vmm_rw::status_e              status,
00043                              input  bit [`VMM_RAL_ADDR_WIDTH-1:0] offset,
00044                              input  bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00045                              input  int                           data_id,
00046                              input  int                           scenario_id,
00047                              input  int                           stream_id);
00048    extern virtual task read(output vmm_rw::status_e              status,
00049                             input  bit [`VMM_RAL_ADDR_WIDTH-1:0] offset,
00050                             output bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00051                             input  int                           data_id,
00052                             input  int                           scenario_id,
00053                             input  int                           stream_id);
00054 endclass: vmm_ral_mem_backdoor
00055 
00056 
00057 task vmm_ral_reg_backdoor::write(output vmm_rw::status_e              status,
00058                                  input  bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00059                                  input  int                           data_id,
00060                                  input  int                           scenario_id,
00061                                  input  int                           stream_id);
00062    `vmm_fatal(this.log, "vmm_ral_reg_backdoor::write() method has not been overloaded");
00063 endtask: write
00064 
00065 
00066 task vmm_ral_reg_backdoor::read(output vmm_rw::status_e              status,
00067                                 output bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00068                                 input  int                           data_id,
00069                                 input  int                           scenario_id,
00070                                 input  int                           stream_id);
00071    `vmm_fatal(this.log, "vmm_ral_reg_backdoor::read() method has not been overloaded");
00072 endtask: read
00073 
00074 
00075 task vmm_ral_mem_backdoor::write(output vmm_rw::status_e              status,
00076                                  input  bit [`VMM_RAL_ADDR_WIDTH-1:0] offset,
00077                                  input  bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00078                                  input  int                           data_id,
00079                                  input  int                           scenario_id,
00080                                  input  int                           stream_id);
00081    `vmm_fatal(this.log, "vmm_ral_mem_backdoor::write() method has not been overloaded");
00082 endtask: write
00083 
00084 
00085 task vmm_ral_mem_backdoor::read(output vmm_rw::status_e              status,
00086                                 input  bit [`VMM_RAL_ADDR_WIDTH-1:0] offset,
00087                                 output bit [`VMM_RAL_DATA_WIDTH-1:0] data,
00088                                 input  int                           data_id,
00089                                 input  int                           scenario_id,
00090                                 input  int                           stream_id);
00091    `vmm_fatal(this.log, "vmm_ral_mem_backdoor::read() method has not been overloaded");
00092 endtask: read