Changes between Initial Version and Version 1 of Component/Vci Logger


Ignore:
Timestamp:
Nov 27, 2009, 11:39:55 AM (14 years ago)
Author:
Nicolas Pouillon
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Vci Logger

    v1 v1  
     1[wiki:Component SocLib Components General Index]
     2
     3= !VciLogConsole =
     4
     5== 1) Functional Description ==
     6
     7This VCI spy is a component reading everything that goes through a VCI port and dumps every
     8command and its associated response.  Moreover, this component assert VCI protocol rules.
     9
     10It uses a special !VciMonitor port type, which is all-input.
     11
     12== 2) Component definition & usage ==
     13
     14source:trunk/soclib/soclib/module/test_control_component/vci_logger/caba/metadata/vci_logger.sd
     15
     16See [wiki:SoclibCc/VciParameters SoclibCc/VciParameters]
     17{{{
     18Uses( 'caba:vci_logger', **vci_parameters )
     19}}}
     20
     21
     22It can be connected anywhere on a VCI signal:
     23
     24{{{
     25    caba::VciSignals<vci_param> signal_vci_m[4];
     26
     27...
     28
     29    soclib::caba::VciLogger<vci_param> logger("logger", maptab);
     30    logger.p_clk(signal_clk);
     31    logger.p_resetn(signal_resetn);
     32    logger.p_vci(signal_vci_m[0]);
     33}}}
     34
     35Sample output:
     36{{{
     37logger WRITE 1 cells @0x716000cc plen = 1 const = 0 (r)srcid = 0 be = 1
     38716000cc: 00XXXXXX
     39Response: OK 1 cells
     40
     41logger READ 1 cells @0x601094e0 plen = 32 const = 0 (r)srcid = 0 be = 15
     42Response: OK 8 cells
     43601094e0: 00004490 21180501 0100a524 fbffc514 000064a0 0800e003 21104001 1a250408
     44}}}
     45
     46== 3) CABA  Implementation ==
     47 
     48=== CABA sources ===
     49 
     50 * interface : source:/trunk/soclib/soclib/module/test_control_component/vci_logger/caba/source/include/vci_logger.h
     51 * implementation : source:/trunk/soclib/soclib/module/test_control_component/vci_logger/caba/source/src/vci_logger.cpp
     52
     53=== CABA Constructor parameters ===
     54
     55{{{
     56VciLogConsole(
     57     sc_module_name name,   // Instance name
     58     const soclib::common::MappingTable &mt)   // Mapping Table
     59}}}
     60
     61Example instanciation:
     62{{{
     63VciLogger logger("logger", mapping_table );
     64}}}
     65
     66=== CABA Ports ===
     67
     68 * sc_in<bool> '''p_resetn''' : Global system reset
     69 * sc_in<bool> '''p_clk''' : Global system clock
     70 * soclib::common::!VciMonitor<vci_param> '''p_vci''' : The VCI port