wiki:Component/VciPiInitiatorWrapper

Version 7 (modified by alain, 16 years ago) (diff)

--

SocLib Components General Index

VciPiInitiatorWrapper

1) Functional Description

This hardware component is a VCI/PIBUS protocol converter for a VCI initiator. It behaves as an intitiator on the PIBUS interface, and behaves 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, WRAP, CFIXED, 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.
  • Only the two VCI commands VCI_CMD_READ & VCI_CMD_WRITE are supported.
  • Most output ports, including PI.A, PI.LOCK, VCI.RDATA, and VCI.RERROR are Mealy signals.

2) Component definition& usage

source:trunk/soclib/soclib/module/network_component/vci_pi_initiator_wrapper/caba/metadata/vci_pi_initiator_wrapper.sd

See SoclibCc/VciParameters

Uses( 'vci_pi_initiator_wrapper', **vci_parameters )

3) CABA Implementation

CABA sources

CABA Constructor parameters

VciPiInitiatorWrapper( sc_module_name name);   //  Instance Name

CABA Ports

  • sc_in<bool> p_resetn : Global system reset
  • sc_in<bool> p_clk : Global system clock
  • sc_in<bool> p_gnt : bus grant port (from the PIBUS contrioller)
  • sc_out<bool> p_req : bus request port (to the PIBUS controller)
  • soclib::caba::VciTarget<vci_param> p_vci : The VCI port
  • soclib::caba::PibusInitiator p_pi : The PIBUS port