[wiki:Component SocLib Components General Index] = !VciPiInitiatorWrapper Functional Description = This hardware component is a VCI/PIBUS protocol converter. It behaves as an intitaiator on the PIBUS, and as a target on the VCI interface. It can be used by a VCI initiator to interface a PIBUS based system on chip. * The VCI address and DATA fields must have 32 bits. * The VCI fields PLEN, CONTIG, CONS CLEN are ignored * The supported PIBU response codes are PI_ACK_RDY, PI_ACK_WAT, and PI_ACK_ERR. * The VCI initiator is supposed to be "fair" : when a command packet starts, the CMDVAL signal is true until the last word of the VCI packet (marqued by the EOP signal), and the RSPACK signal is supposed to be always true. * The VCI command packet can have any length, but the VCI commands VCI_READLOCK & VCI_NOP are not supported. * Most output ports, including PI.A, PI.LOCK, VCI.RDATA, and VCI.RERROR are Mealy signals. = !VciPiInitiatorWrapper CABA Implementation = The caba implementation is in * source:trunk/soclib/systemc/include/caba/interconnect/vci_pi_initiator_wrapper.h * source:trunk/soclib/systemc/src/caba/interconnect/vci_pi_initiator_wrapper.cc == Template parameters == template == Constructor parameters == {{{ VciPiInitiatorWrapper( sc_module_name name); // Instance Name }}} == Ports == * sc_in '''p_resetn''' : Global system reset * sc_in '''p_clk''' : Global system clock * sc_in '''p_gnt''' : bus grant port (from the PIBUS contrioller) * sc_out '''p_req''' : bus request port (to the PIBUS controller) * soclib::caba::!VciTarget '''p_vci''' : The VCI port * soclib::caba::!PibusInitiator '''p_pi''' : The PIBUS port