Changes between Initial Version and Version 1 of Component/Pibus Bcu


Ignore:
Timestamp:
May 6, 2007, 12:22:25 AM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Component/Pibus Bcu

    v1 v1  
     1[wiki:Component SocLib Components General Index]
     2
     3= !PibusBcu Functional Description =
     4
     5This hardware component is a PIBUS controller.
     6The tree basic functionalities are :
     7 * arbitration between simultaneous initiator requests.
     8 * selection of the adressed target, by decoding the MSB address bits.
     9 * time-out, when the selected target does not complete the transaction.
     10The  main features are the following :
     11 * The default master mechanism is not supported.
     12 *, The supported PIBUS response codes are  PI_ACK_RDY, PI_ACK_WAT, and PI_ACK_ERR.
     13 * The arbitration policy between initiators is round-robin.
     14 * This component uses the [wiki:MappingTable mapping table] to build the ROM that decodes the address MSB bits and give  the target index used to activate the proper p_sel[i] signal.
     15 * The COUNT_REQ[i] register counts the total number of transactions for initiator i.
     16 * The COUNT_WAIT[i] register counts the total number of wait cycles for initiator i.
     17 
     18= !PibusBcu CABA  Implementation =
     19
     20The caba implementation is in
     21 * source:trunk/soclib/systemc/include/caba/interconnect/pibus_bcu.h
     22 * source:trunk/soclib/systemc/src/caba/interconnect/pibus_bcu.cc
     23
     24== Template parameters ==
     25 
     26template<typename vci_param>
     27
     28== Constructor parameters ==
     29{{{
     30VciPiInitiatorWrapper(
     31     sc_module_name name,   //  Instance Name
     32     const soclib::common::MappingTable &mp,   // Mapping Table
     33     size_t nb_master,   // Number of initiators
     34     size_t nb-slave,   // Number of targets
     35     uint32_t time_out);   // Time-out (number of cycles)
     36}}}
     37
     38== Ports ==
     39
     40 * sc_in<bool> '''p_resetn''' : Global system reset
     41 * sc_in<bool> '''p_clk''' : Global system clock
     42 * sc_out<bool> '''*p_gnt''' : Pointer to the grant ports array
     43 * sc_in<bool> '''*p_req''' : Pointer to the request ports array
     44 * sc_out<bool> '''*p_sel''' : Pointer to the select ports array
     45 * sc_in<sc_uint<32> > '''p_a''' : Pibus address
     46 * sc_in<bool> '''lock''' : Pibus lock (used for bursts)
     47 * sc_in<sc_uint<2> > '''p_ack''' : Pibus response code
     48 * sc_out<bool> '''p_tout''' : Pibus Time-out