亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? lt_target_extension_mandatory.cpp

?? SystemC Transaction Level Modelling. 是基于SystemC之上的總線互聯協議
?? CPP
字號:
/*****************************************************************************  The following code is derived, directly or indirectly, from the SystemC  source code Copyright (c) 1996-2008 by all Contributors.  All Rights reserved.  The contents of this file are subject to the restrictions and limitations  set forth in the SystemC Open Source License Version 3.0 (the "License");  You may not use this file except in compliance with such restrictions and  limitations. You may obtain instructions on how to receive a copy of the  License at http://www.systemc.org/. Software distributed by Contributors  under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF  ANY KIND, either express or implied. See the License for the specific  language governing rights and limitations under the License. *****************************************************************************/#include "lt_target_extension_mandatory.h"using namespace sc_core;static const char *filename = "lt_target_extension_mandatory.cpp";  ///  filename for reportinglt_target_extension_mandatory::lt_target_extension_mandatory    ///< constructor( sc_module_name  name                                          ///< instance name, sc_time         invalidate_dmi_time = sc_time(25, SC_NS)      ///< DMI invalidation timeout): sc_module       ( name                    )                   ///< module, m_socket        ( "LT_target_mandatory"   )                   ///< socket, m_latency_read  ( sc_time ( 100, SC_NS )  )                   ///< read latency, m_latency_write ( sc_time (  10, SC_NS )  )                   ///< write latency{  // register interface methods    m_socket.register_nb_transport_fw    ( this, &lt_target_extension_mandatory::nb_transport_fw );  m_socket.register_get_direct_mem_ptr ( this, &lt_target_extension_mandatory::get_dmi_ptr     );  m_socket.register_transport_dbg      ( this, &lt_target_extension_mandatory::transport_dbg   );  // prime the DMI timeout mechanism  SC_METHOD ( invalidate_dmi_method );    sensitive << m_invalidate_dmi_event;    dont_initialize();    m_invalidate_dmi_time = invalidate_dmi_time;}tlm::tlm_sync_enum                                              ///< responselt_target_extension_mandatory::nb_transport_fw                  ///< non-blocking forward transport( transaction_type  &trans                                      ///< transaction, phase_type        &phase                                      ///< phase, sc_time           &t                                          ///< time){  ostringstream  msg;                                        ///< log message  assert ( phase == tlm::BEGIN_REQ );    // check for extension  extension_initiator_id  *extension_ptr;    trans.get_extension ( extension_ptr );    msg.str("");  msg << "Extension ";    if ( extension_ptr == 0 )  {    msg << "not present - ERROR";        REPORT_FATAL ( filename,  __FUNCTION__, msg.str () );  }  else  {    msg << "present, Data: " << extension_ptr->m_initiator_id;      REPORT_INFO ( filename,  __FUNCTION__, msg.str () );        sc_dt::uint64 address = trans.get_address();        assert ( address <= m_max_address );      unsigned int& data = *reinterpret_cast<unsigned int*>(trans.get_data_ptr());        msg.str ( "" );            switch ( trans.get_command () )    {      case tlm::TLM_WRITE_COMMAND:      {        // write command                msg << "Write request - "            << "Addr: 0x" << internal << setw ( sizeof(sc_dt::uint64) * 2 )             << setfill( '0' ) << uppercase << hex << trans.get_address ();            *reinterpret_cast<unsigned int*>( &m_memory [ address ] ) = data;        t += sc_time(10, SC_NS);                break;      }          case tlm::TLM_READ_COMMAND:      {        // read command                msg << "Read request - "            << "Addr: 0x" << internal << setw ( sizeof(sc_dt::uint64) * 2 )             << setfill( '0' ) << uppercase << hex << trans.get_address ();            data  = *reinterpret_cast<unsigned int*>( &m_memory [ address ] );        t      += sc_time(100, SC_NS);              break;      }            default:      {        // unknown command                msg << "Unknown request";            REPORT_FATAL ( filename,  __FUNCTION__, msg.str () );                break;      }    }          REPORT_INFO ( filename,  __FUNCTION__, msg.str () );        trans.set_response_status ( tlm::TLM_OK_RESPONSE );    trans.set_dmi_allowed     ( true                 );  }  // return completed, no phase update needed    return tlm::TLM_COMPLETED;}unsigned int                                                    ///< byte countlt_target_extension_mandatory::transport_dbg                    ///< debug transport( transaction_type  &transaction_ref                            ///< transaction){  unsigned int num_bytes  = 0;  unsigned int address    = (unsigned int) transaction_ref.get_address();    if ( address <= m_max_address )  {    num_bytes = transaction_ref.get_data_length ();        if ( ( address + num_bytes ) > m_max_address)    {      num_bytes = m_max_address - address + 1;    }        if ( transaction_ref.is_read () )    {      // read operation            memcpy ( transaction_ref.get_data_ptr(), &m_memory [ address ], num_bytes );    }    else    {      // write operation            memcpy ( &m_memory [ address ], transaction_ref.get_data_ptr(), num_bytes );    }  }    return num_bytes;}bool                                                            ///< DMI grantedlt_target_extension_mandatory::get_dmi_ptr                      ///< get DMI pointer( transaction_type  &trans                                      ///< transaction, tlm::tlm_dmi      &dmi_properties                             ///< DMI properties){  bool           dmi_granted ( false );                         ///< DMI granted flag  ostringstream  msg;                                           ///< log message    // setup a timed event to invalidate the DMI pointer    m_invalidate_dmi_event.notify ( m_invalidate_dmi_time );  // check for extension    extension_initiator_id *extension_ptr;    trans.get_extension ( extension_ptr );    msg.str ( "" );    msg << "Extension ";    if ( extension_ptr == 0 )  {    msg << "not present - ERROR";        REPORT_FATAL ( filename,  __FUNCTION__, msg.str () );  }  else  {    msg << "present, Data: " << extension_ptr->m_initiator_id;      REPORT_INFO ( filename,  __FUNCTION__, msg.str () );        if (trans.get_address() <= m_max_address)    {      dmi_properties.allow_read_write   (                 );      dmi_properties.set_start_address  ( m_min_address   );      dmi_properties.set_end_address    ( m_max_address   );      dmi_properties.set_dmi_ptr        ( m_memory        );      dmi_properties.set_read_latency   ( m_latency_read  );      dmi_properties.set_write_latency  ( m_latency_write );        dmi_granted = true;    }    else    {      // should not happen        dmi_properties.set_start_address  ( trans.get_address () );      dmi_properties.set_end_address    ( trans.get_address () );    } }    return dmi_granted;}voidlt_target_extension_mandatory::invalidate_dmi_method            ///< invalidate DMI method( void){    m_socket->invalidate_direct_mem_ptr ( m_min_address, m_max_address );}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一二三区在线| 国产精品色哟哟| 久久九九影视网| 久久精品国产精品青草| 99精品久久久久久| 欧美成人女星排名| 亚洲va欧美va人人爽| 国产在线播放一区| 欧美久久久一区| 亚洲免费av网站| 高清在线观看日韩| 日韩精品一区二区三区四区| 亚洲欧美激情小说另类| 欧美三级资源在线| 成人欧美一区二区三区小说| 久久99国产精品久久99 | 国产精品综合网| 91精品国模一区二区三区| 亚洲欧美二区三区| 91在线视频免费91| 亚洲欧洲av在线| 不卡一卡二卡三乱码免费网站| 精品久久久久香蕉网| 天天亚洲美女在线视频| 99精品久久99久久久久| 国产精品国产三级国产a| 国产成人综合视频| 久久免费的精品国产v∧| 久久精品99国产精品| 欧美一二三区在线| 免费观看在线综合色| 欧美日韩高清一区二区三区| 亚洲一区二区3| 欧美亚洲图片小说| 亚洲国产中文字幕在线视频综合| 91蜜桃在线观看| 亚洲码国产岛国毛片在线| 成年人午夜久久久| 亚洲男同性视频| 在线视频国产一区| 午夜欧美电影在线观看| 91精品久久久久久久99蜜桃| 麻豆精品一二三| 日韩欧美123| 国产成人综合自拍| 国产精品美女久久久久高潮| 91啪九色porn原创视频在线观看| 国产精品美女一区二区三区 | 蜜桃传媒麻豆第一区在线观看| 777亚洲妇女| 麻豆精品久久久| 国产欧美日韩另类视频免费观看| 丁香六月综合激情| 亚洲视频免费观看| 欧美顶级少妇做爰| 国产精品77777| 国模无码大尺度一区二区三区| 欧美mv和日韩mv国产网站| 国产精品1024| 一区二区欧美在线观看| 5566中文字幕一区二区电影 | www.久久久久久久久| 亚洲精品五月天| 日韩欧美一区二区在线视频| 成人亚洲一区二区一| 亚洲成人av免费| 欧美国产激情一区二区三区蜜月| 91首页免费视频| 久久精品国产久精国产爱| 国产精品二三区| 欧美一区永久视频免费观看| 国产成人精品综合在线观看| 一区二区三区高清不卡| 欧美变态tickling挠脚心| 成人国产亚洲欧美成人综合网 | 日本韩国一区二区三区视频| 免费成人在线影院| 国产精品久久久久久久岛一牛影视| 欧美在线一区二区三区| 国产乱国产乱300精品| 亚洲伊人色欲综合网| 久久久精品日韩欧美| 欧美日韩精品免费| 99视频精品免费视频| 精品综合久久久久久8888| 有坂深雪av一区二区精品| 日本一区二区三区四区在线视频| 欧美日韩和欧美的一区二区| 国产99精品国产| 麻豆精品国产传媒mv男同| 亚洲一区二区四区蜜桃| 中文字幕av一区二区三区免费看| 91精品欧美一区二区三区综合在| 色素色在线综合| 国产成人综合在线播放| 极品少妇xxxx精品少妇偷拍| 水蜜桃久久夜色精品一区的特点| 国产精品入口麻豆九色| 精品国产91久久久久久久妲己| 欧美日韩午夜在线| 日本韩国一区二区三区| 91女人视频在线观看| 国产白丝网站精品污在线入口| 美女脱光内衣内裤视频久久影院| 亚洲国产精品一区二区久久| 综合电影一区二区三区| 国产精品全国免费观看高清 | 日韩欧美视频在线| 欧美日韩三级一区二区| 欧美在线观看一二区| 97se亚洲国产综合在线| 福利一区福利二区| 国产在线不卡视频| 国产精品一区二区果冻传媒| 韩国v欧美v亚洲v日本v| 精品亚洲成a人| 精彩视频一区二区| 国产一区二区电影| 麻豆传媒一区二区三区| 精品影视av免费| 捆绑调教美女网站视频一区| 免费成人你懂的| 精品一区二区在线观看| 国产在线视视频有精品| 国产91综合网| 99久久99久久精品免费观看| 色综合夜色一区| 欧美午夜精品久久久久久超碰 | 日产国产高清一区二区三区| 天天色天天爱天天射综合| 日韩在线卡一卡二| 精品无人码麻豆乱码1区2区| 丁香一区二区三区| aaa欧美日韩| 欧美老肥妇做.爰bbww| 欧美xxxxx牲另类人与| 欧美国产欧美综合| 亚洲精品成a人| 男人的j进女人的j一区| 国产乱码精品一品二品| 99re成人精品视频| 色欧美88888久久久久久影院| 欧美日韩免费一区二区三区视频| 欧美一区二区国产| 国产亚洲欧洲997久久综合| 中文字幕一区二区在线观看| 亚洲一区二区三区视频在线 | 亚洲成在人线免费| 青青草成人在线观看| 成人美女视频在线观看18| 欧美影片第一页| 久久久久久久久久久久久夜| 亚洲与欧洲av电影| 国产老妇另类xxxxx| 91传媒视频在线播放| 日韩免费福利电影在线观看| 国产精品美日韩| 麻豆精品在线视频| 欧美做爰猛烈大尺度电影无法无天| 欧美大尺度电影在线| 亚洲女与黑人做爰| 国产精品18久久久久久vr| 欧美日韩视频专区在线播放| 国产色产综合产在线视频| 亚洲二区视频在线| 成人a级免费电影| 欧美一级国产精品| 亚洲精品成人精品456| 国产激情精品久久久第一区二区| 欧美乱妇15p| 国产精品国产三级国产普通话99| 免费观看一级特黄欧美大片| 91麻豆精品在线观看| 久久久国产综合精品女国产盗摄| 亚洲国产精品久久久久婷婷884| 国产精品一二三四区| 91精品国产色综合久久不卡电影 | 欧美三级韩国三级日本一级| 欧美激情中文不卡| 老汉av免费一区二区三区| 日本黄色一区二区| 国产精品色哟哟| 国产成人综合自拍| 精品国产乱码久久久久久1区2区 | 欧美一区二区三区在| 一区二区三区精品视频| 国产99一区视频免费| 精品福利一区二区三区免费视频| 日日夜夜免费精品| 欧美亚洲综合一区| 亚洲摸摸操操av| 99视频一区二区| 中文字幕日韩一区| 成人ar影院免费观看视频| 久久久久国产免费免费| 激情文学综合丁香| 日韩欧美色电影| 久久精品国产99久久6| 欧美大黄免费观看| 狠狠色丁香婷综合久久|