Texas Instruments TMS320TCI648x Network Card User Manual


 
www.ti.com
SRIOFunctionalDescription
DataleavesthesharedTXbuffersequentiallyinorderofreceipt,notbasedonthepacketpriority.
However,iffabriccongestionoccurs,prioritycanaffecttheorderinwhichthedataleavestheTXFIFOs.A
reorderingmechanismexistshere,whichtransmitsthehighestprioritypacketsfirstifRETRY
acknowledges.
ForpostedWRITEoperations,whichdonotrequireaRapidIOresponsepacket,acoremaysubmit
multipleoutstandingrequests.Forinstance,asinglecoremayhavemanystreamingwritepackets
bufferedatanygiventime,givenoutgoingresources.Inthisapplication,thecontrol/commandregisters
canbereleased(BSY=0)totheCPUassoonastheheaderinfoiswrittenintothesharedTXbuffer.If
therequesthasbeenflowcontrolled,theperipheralwillsetthecompletioncodestatusregisterand
appropriateinterruptbitoftheICSR.Thecontrol/commandregisterscanbereleasedaftertheinterrupt
serviceroutinecompletes.
Fornon-postedWRITEoperations,whichdorequireaRapidIOresponsepacket,therecanbeonlyone
outstandingrequestpercoreatanygiventime.Thepayloaddataandheaderinformationiswrittentothe
sharedTXbufferasdescribedabove;however,thecommandregisterscannotbereleased(BSY=1)until
theresponsepacketisroutedbacktothemoduleandtheappropriatecompletioncodeissetinthestatus
register.Onespecialcaseexistsforoutgoingtest-and-swappackets(Ftype5,Transaction1110b).Thisis
theonlyWRITEclasspacketthatexpectsaresponsewithpayload.Thisresponsepayloadisroutedtothe
LSU,whereitisexaminedtoverifywhetherthesemaphorewasaccepted,andthentheappropriate
completioncodeisset.ThepayloadisnottransferredoutoftheperipheralviatheDMAbus.
Sothegeneralflowisasfollows:
LSUregistersarewrittenusingtheconfigurationbus
Flowcontrolisdetermined
TXFIFOfreebufferavailabilityisdetermined
DMAbusreadrequestfordatapayload
DMAbusresponsewritesdatatospecifiedmodulebufferinthesharedTXbufferspace
DMAbusreadresponseismonitoredforlastbyteofpayload
HeaderdataintheLSUregistersiswrittentothesharedTXbufferspace
PayloadandheaderaretransferredtotheTXFIFO
TheLSUregistersarereleasedifnoRapidIOresponseisneeded
TransferfromtheTXFIFOtoexternaldevicebasedonpriority
READTransactions:
TheflowforgeneratingREADtransactionsissimilartonon-postedWRITEwithresponsetransactions.
Therearetwomaindifferences:READpacketscontainnodatapayload,andREADresponseshavea
payload.SoREADcommandssimplyrequireanon-payloadsharedTXbuffer.Inaddition,theyrequirea
sharedRXbuffer.Thisbufferisnotpre-allocatedbeforetransmittingtheREADrequestpacket,since
doingsocouldcausetrafficcongestionofotherin-boundpacketsdestinedtootherfunctionalblocks.
Again,thecontrol/commandregisterscannotbereleased(BSY=1)untiltheresponsepacketisrouted
backtothemoduleandappropriatecompletioncodeissetinthestatusregister.
Sothegeneralflowwouldbe:
LSUregistersarewrittenusingtheconfigurationbus
Flowcontrolisdetermined
TXFIFOfreebufferavailabilityisdetermined
HeaderdataintheLSUregistersiswrittentothesharedTXbuffer
PayloadandheaderaretransferredtotheTXFIFO
TheLSUregistersarereleasedifnoRapidIOresponseisneeded
TransferfromtheTXFIFOtoexternaldevicebasedonpriority
Foralltransactions,thesharedTXbuffersarereleasedassoonasthepacketisforwardedtotheTX
FIFOs.IfanERRORorRETRYresponseisreceivedforanon-postedtransaction,theCPUmusteither
reinitiatetheprocessbywritingtotheLSUregister,orinitiateanewtransactionaltogether.
SPRUE13ASeptember2006SerialRapidIO(SRIO)41
SubmitDocumentationFeedback