Professional Documents
Culture Documents
PLB4 Peripherals:
PLB4XAHB Bi-directional Bridge
Core Databook
Disclaimer
SYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Trademarks (™)
Active Parasitics, AFGen, Apollo, Apollo II, Apollo-DPII, Apollo-GA, ApolloGAII, Astro, Astro-Rail, Astro-
Xtalk, Aurora, AvanTestchip, AvanWaves, BCView, Behavioral Compiler, BOA, BRT, Cedar, ChipPlanner,
Circuit Analysis, Columbia, Columbia-CE, Comet 3D, Cosmos, CosmosEnterprise, CosmosLE,
CosmosScope, CosmosSE, Cyclelink, Davinci, DC Expert, DC Professional, DC Ultra, DC Ultra Plus,
Design Advisor, Design Analyzer, Design Vision, DesignerHDL, DesignTime, DFM-Workbench, Direct RTL,
Direct Silicon Access, Discovery, DW8051, DWPCI, Dynamic-Macromodeling, Dynamic Model Switcher,
ECL Compiler, ECO Compiler, EDAnavigator, Encore, Encore PQ, Evaccess, ExpressModel, Floorplan
Manager, Formal Model Checker, FoundryModel, FPGA Compiler II, FPGA Express, Frame Compiler,
Galaxy, Gatran, HANEX, HDL Advisor, HDL Compiler, Hercules, Hercules-Explorer, Hercules-II,
Hierarchical Optimization Technology, High Performance Option, HotPlace, HSIMplus, HSPICE-Link, iN-
Tandem, Integrator, Interactive Waveform Viewer, i-Virtual Stepper, Jupiter, Jupiter-DP, JupiterXT,
JupiterXT-ASIC, JVXtreme, Liberty, Libra-Passport, Library Compiler, Libra-Visa, Magellan, Mars,
Mars-Rail, Mars-Xtalk, Medici, Metacapture, Metacircuit, Metamanager, Metamixsim, Milkyway,
ModelSource, Module Compiler, MS-3200, MS-3400, Nova Product Family, Nova-ExploreRTL,
Nova-Trans, Nova-VeriLint, Nova-VHDLlint, Optimum Silicon, Orion_ec, Parasitic View, Passport, Planet,
Planet-PL, Planet-RTL, Polaris, Polaris-CBS, Polaris-MT, Power Compiler, PowerCODE, PowerGate,
ProFPGA, ProGen, Prospector, Protocol Compiler, PSMGen, Raphael, Raphael-NES, RoadRunner, RTL
Analyzer, Saturn, ScanBand, Schematic Compiler, Scirocco, Scirocco-i, Shadow Debugger, Silicon
Blueprint, Silicon Early Access, SinglePass-SoC, Smart Extraction, SmartLicense, SmartModel Library,
Softwire, Source-Level Design, Star, Star-DC, Star-MS, Star-MTB, Star-Power, Star-Rail, Star-RC,
Star-RCXT, Star-Sim, Star-SimXT, Star-Time, Star-XP, SWIFT, Taurus, TimeSlice, TimeTracker, Timing
Annotator, TopoPlace, TopoRoute, Trace-On-Demand, True-Hspice, TSUPREM-4, TymeWare, VCS
Express, VCSi, Venus, Verification Portal, VFormal, VHDL Compiler, VHDL System Simulator, VirSim, and
VMC are trademarks of Synopsys, Inc.
Revision History
Contents
1. Introduction ....................................................................................................................... 9
1.1. About this Document .................................................................................... 9
1.2. Overview of the Core.................................................................................... 9
2. Features and Functions .................................................................................................... 11
2.1. AMBA Advanced High Performance Bus Interface ............................................ 11
2.1.1. AHB Slave Interface ............................................................................. 11
2.1.2. AHB Master Interface ........................................................................... 12
2.2. Processor Local Bus Interface ...................................................................... 13
2.2.1. PLB Master Interface ............................................................................ 13
2.2.2. PLB Slave Interface .............................................................................. 14
2.3. Device Control Register Interface ................................................................. 15
2.3.1. DCR Master Interface ........................................................................... 15
2.3.2. DCR Slave Interface ............................................................................. 16
3. Hardware Interface Signals ............................................................................................. 17
3.1. I/O Description Tables ................................................................................ 17
3.2. I/O Symbol Diagram .................................................................................. 25
4. Functional Description ..................................................................................................... 27
4.1. Architectural Overview................................................................................ 27
4.2. PLB to AHB Bridge...................................................................................... 29
4.2.1. Description ......................................................................................... 29
4.2.2. PLB Slave Interface .............................................................................. 31
4.2.3. AHB Master Interface ........................................................................... 33
4.3. AHB to PLB Bridge...................................................................................... 42
4.3.1. AHB to PLB Bridge Overview.................................................................. 42
4.3.2. AHB Slave Interface ............................................................................. 43
List of Figures
List of Tables
1. Introduction
PLB4 Bus
P2A direction
A2P direction
PLB4XAHB
AHB Bus
AHB Fabric
(Decoder,
AHB Slave ARM Processor AHB Master
Arbiter, control/
data muxes)
Note: The AHB slave interface ignores HPROT[3], which indicates cacheable
accesses. Both cacheable/non-cacheable INCR* and WRAP* transactions
are handled the same way and are converted to normal bursts on the PLB
interface. Refer to the Transfer table for details.
The following PLB features are not supported by the PLB-to-AHB direction
of the bridge
¾ Address pipelining
¾ Dynamic data bus width sizing of 32- and 256-bit data bus widths
¾ Data compression and decompression
¾ Any PLB transfer type that is not memory transfer, which is
PLB_type[0:2] = 0x0. (That is, only memory transfer type is
supported.)
¾ The bridge asserts SL_rearbitrate signal when address pipelining is
detected. When the PLB transfer type is not memory transfer or when
a 32- or 256-bit PLB master initiates a PLB transfer, the bridge does
not acknowledge the transaction and lets the PLB timeout.
¾ The bridge does not implement bus snooping logic, and it does not
have the ability to invalidate the caches in the PLB masters, so if a PLB
master uses a memory on the AHB that can potentially be cached,
restrictions must be imposed on the AHB masters not to write to that
memory and it can only be a read-only memory to them, or the
memory cannot be cacheable for the PLB master.
¾ For a PLB fixed-length transfer, if the total bytes to be transferred are
64 bytes or more, only 64 bytes is transferred. The bridge uses
Sl_rdBTerm and Sl_wrBTerm to terminate the read burst and write
burst, respectively, in the data beat before the last beat of the
transaction.
4. Functional Description
DCR BUS
PLB4XAHB_TOP
DCR AHB2PLB OR
MASTER BIDIRECTIONAL
INTERFACE
WDFIFO
RDFIFO
AHB BUS
DCR BUS
A
PLB BUS
PLB2AHB OR DCR
H
AHB2PLB OR CONTROL AND STATUS REGISTERS SLAVE
B
BIDIRECTIONAL IF
IF
RDFIFO
WRFIFO
PLB2AHB OR
BIDIRECTIONAL
PLB_wrDBus[0:127]
(32/64/128-bits)
(32/64/128-bits)
SL_rdDAck are asserted for the last PLB read transfer. Both SEAR and SESR
are updated if they were not locked. SEAR is updated with the address of the
transaction for which the error occurs. SESR is updated with the error status.
Whenever either a variable- or fixed-length burst write transaction error
occurred on AHB side, the bridge terminates the AHB burst transaction
immediately. If there are data remaining in WRFIFO, WRFIFO is flushed by
the AHB interface control logic. SEAR and SESR are updated in the same
manner as before. For all write errors, the bridge asserts the appropriate
SL_MIRQ signal to the PLB master since write transactions is posted.
ahb_data_width
64-bits
Addr aligned No
Count == 64 32bytes?
Yes
count >= 16 Yes INCR
No
Addr aligned No
64bytes?
Yes WRAP4 INCR4
No SINGLE
INCR8 WRAP8
ahb_data_width
32-bits
2'b00 haddr[1:0]
No
2'b10
HSIZE_16 Yes count >= 2
No others
HSIZE_8
ahb_data_width
64-bits
3'b000 haddr[2:0]
No
3'b100
3'b010,
No
3'b110
No
HSIZE_8
ahb_data_width
128 bits
4'b0000 haddr[3:0]
count >= 64 |
HSIZE_128 Yes
count == 16,32,48
No
count >=
HSIZE_64 Yes 4'b1000
8,24,40,56
No
4'b0100,
4'b1100
HSIZE_32 Yes count >= 4
4'b0010,
4'b0110,
No 4'b1010,
4'b1110
No
HSIZE_8
s_hsel
s_hsize
s_write
s_htrans
s_hready s_hready_resp
s_hprot s_hresp s_haddr s_hwrite s_hrdata
The Address decoder determines whether the intended transfer on the AHB is
for
DCR Master Interface (optional block – as shown in the dotted lines)
The bridge CSR accesses
Data Path between AHB and FIFO (PLB Bus)
AHB slave state machine handles the following transfers.
The bridge CSR access
DCR bus access as Master, if enabled through configuration
Bufferable write transfers
Prefetchable read transfers
Non bufferable write transfers
Non bufferable read transfers
Locked write transfers
Locked read transfers
The AHB slave state machine is capable of generating all kinds of responses
as detailed in the feature list and makes use of the SPLIT response to improve
the AHB bus utilization.
In case of a write transfer, all the transaction details including control
information are transferred into the Transaction Queue FIFO (TQFIFO) and
the data associated with write transfer are loaded into the write data FIFO
(WDFIFO). The data from the AHB data bus is collected to 128-bit wide and
then pushed into WDFIFO. AHB slave interface logic used the
PLB4XAHB_AHB_ENDIANESS and PLB4XAHB_AHB_DATAWIDTH* parameters
as input for the data collection logic, to appropriately steer the correct byte
lanes into WDFIFO.
Similarly for the read transfers, the state machine first loads all the
transaction details including control information into the Transaction Queue
FIFO (TQFIFO). Whenever the data is available on the Read data FIFO
(RDFIFO), the state machine completes the transfer. The data from the
RDFIFO are disassembled before getting steered on the AHB data bus. AHB
slave interface logic used the PLB4XAHB_AHB_ENDIANESS and
PLB4XAHB_AHB_DATAWIDTH* parameters as input for the data
disassembling logic, to appropriately steer the correct byte lanes onto AHB
bus.
The transaction details such as HADDR, HBURST, HSIZE, HPROT, HLOCK are
stored in the TQFIFO. Based on the entries in TQFIFO, PLB master interface
initiates the transactions on the PLB bus. The transfer mapping table section
details how each transaction on AHB slave interface is converted to
corresponding PLB transfers.
FROM FROM TO
BRIDGE CSR TQFIFO WDFIFO RDFIFO
WRITE
The PLB State machine initiates transactions on PLB Bus based on the
contents of the Transaction Queue FIFO, Write Data FIFO and returns
response and/or data through Read Data FIFO.
The PLB Master module generates transactions as a master on the PLB Bus.
This block gets the new transaction information from TQFIFO and WDFIFO
and sends the data and status to AHB interface through RDFIFO. It also gets
control information from CSR block and reports error status information to
CSR. The PLB Master interface contains 3 state machines Request State
Machine, Write State Machine(WSM) and Read State Machine(RSM). For every
new entry in the TQFIFO the request state machine and control logic will issue
request to PLB Arbiter and will also trigger read state machine or write state
machine.
The read state machine or write state machine will either finish the transfer
with OK or ERROR response or trigger request state machine if a new
transaction need to be started to complete the transfer. Once a transaction is
started on the PLB master bus, the transactions can get terminated by the
PLB slave, or due to the unavailability of FIFO resources. The PLB master
state machine handle this efficiently by reinitiating the pending transfers by
from the stored pending transaction buffers.
Note: In all the following transfer mapping tables for Hsize 128, 64 and 32,
the complete address range is not specified. The table can be extrapolated
for similar type of transfers with appropriate bit count and PLB address
Note: Following transfer tables are meant for PLB slave size of 128 bit. In
case of 64-bit PLB slave size, it is the responsibility of the application to
ensure that it does not initiate an AHB transfer of more than 64 bits
(targeted to 64 bit PLB Slave Device). If the application starts such a burst
transfer targeted to a 64-bit PLB slave device, it is considered a system
error and bridge does not take any corrective action nor does it follow any
error reporting mechanism
Note: Below is the example of how the transfer table should be interpreted
for the cases where a single transaction from AHB is converted to multiple
transactions on the PLB bus. The example is for AHB transaction with
HSIZE = 128 and HADDR = 2010
Note: PLB master interface logic has an ability to rebuild the remaining
transaction when an early termination is encountered after a burst
transaction has started on the PLB bus. This rebuilding of transaction
happens in the following conditions.
Note: If the address is aligned to WRAP# boundary (for any HSIZE) then it is
implemented as corresponding INCR# e.g. WRAP4 is implemented as
INCR4
Note: All SINGLE read transactions are started with all byte enables
asserted. The PLB master Interface logic will push only proper bytes in the
RDFIFO based on address.
Note: One AHB INCR Read transaction may result into multiple Fixed Length
Burst Reads of quadwords on the PLB Bus. Consider the scenario where
there is an INCR Read (on AHB Bus for any HSIZE) and it continues the
transaction beyond 8 beats, then AHB Slave first introduce wait states for
14 clcock and at the same time makes new entry in TQFIFO for another
Read and PLB Master would start another Fixed length burst Read of
Quadword with 8 beat. If the Read is available in RDFIFO before 14 clock
wait limit is exhausted then AHB Slave will continue returning the read
data to AHB Master. If the 14 clock wait limit is exhausted and there is no
data available in RDFIFO then AHB Slave will issue split to the AHB Master
and will issue split completion request whenever the first data is available
in RDFIFO.
Fixed
burst of
quad
words
64 beat
@2010
2009 Single Single 2 2 Single Single Single Single 2009
200A with of quad Singles singles with with with with 200A
Byte word of of valid Byte Byte Byte
200B 200B
enables quad quad Byte enables enables enables
200C of quad word word of quad of quad of quad 200C
enables
word with with at word word word
valid valid address
byte byte 2009
enables enables or
200A
or … or
200C
Fixed
burst of
quad
words
64 beat
@2010
2020 Single Fixed Fixed Fixed Fixed Fixed Fixed Fixed 2020
burst burst burst burst length length length
of of of of burst burst burst of
quad quad quad quad of of quad
word, word, word, word, quad quad word
beat 4 beat 8 beat beat 8 word word 14
16 2 6 beats
beats beats
Fixed Fixed Fixed
length length length
burst burst burst of
of of quad
quad quad word 2
word word beats
2 2
beats beats
2030 Single Fixed Fixed Fixed Fixed 1 Fixed Fixed 2030
burst burst burst burst single length length
of of of of burst burst of
quad quad quad quad of quad
word, word, word, word, quad word
beat 4 beat 8 beat beat 8 word 13
16 5 beats
beats
Fixed Fixed Fixed
length length length
burst burst burst of
of of quad
quad quad word 3
word word beats
3 3
beats beats
2004 Single Fixed Fixed Fixed Fixed Single Fixed Fixed 2004
with burst of burst of burst of burst of of quad burst of burst of
Byte quad quad quad quad word at quad quad
enables word, word, word, word, address word, word,
beat 2 beat 3 beat 5 beat 9 2000 beat 2 beat 4
at at at at at at
address address address address address address
2000 2000 2000 2000 2000 2000
Single Single
of 128 of 128
@2000 @2000
2008 Single Fixed Fixed Fixed Fixed Single Fixed Fixed 2008
with burst of burst of burst of burst of of quad burst of burst of
Byte quad quad quad quad word at quad quad
enables word, word, word, word, address word, word,
beat 2 beat 3 beat 5 beat 9 2000 beat 2 beat 4
at at at at at at
address address address address address address
2000 2000 2000 2000 2000 2000
Single Single
of 128 of 128
@2000 @2000
200C Single Fixed Fixed Fixed Fixed Single Fixed Fixed 200C
with burst of burst of burst of burst of of quad burst of burst of
Byte quad quad quad quad word at quad quad
enables word, word, word, word, address word, word,
beat 2 beat 3 beat 5 beat 9 2000 beat 2 beat 4
at at at at at at
address address address address address address
2000 2000 2000 2000 2000 2000
Single Single
of 128 of 128
@2000 @2000
2010 Single Single Fixed Fixed Fixed Single Single Fixed 2010
with of quad burst of burst of burst of of quad of 128 burst of
Byte word quad quad quad word @2010 quad
enables word, word, word, word,
beat 2 beat 4 beat 8 beat 3
at at at at
address address address address
2010 2010 2010 2010
2014 Single Fixed Fixed Fixed Fixed Single Single Fixed 2010
with burst of burst of burst of burst of of quad of 128 burst of
Byte quad quad quad quad word at @2010 quad
enables word, word, word, word, address word,
beat 2 beat 3 beat 5 beat 9 2010 beat 3
at at at at at
address address address address address
2010 2010 2010 2010 2010
Fixed Fixed
burst of burst of
quad quad
word, word,
beat 2 beat 2
at at
address address
2000 2000
2018 Single Fixed Fixed Fixed Fixed Single Single Fixed 2010
with burst of burst of burst of burst of of quad of 128 burst of
Byte quad quad quad quad word at @2010 quad
enables word, word, word, word, address word,
beat 2 beat 3 beat 5 beat 9 2010 beat 3
at at at at at
address address address address address
2010 2010 2010 2010 2010
Fixed Fixed
burst of burst of
quad quad
word, word,
beat 2 beat 2
at at
address address
2000 2000
201C Single Fixed Fixed Fixed Fixed Single Single Fixed 2010
with burst of burst of burst of burst of of quad of 128 burst of
Byte quad quad quad quad word at @2010 quad
enables word, word, word, word, address word,
beat 2 beat 3 beat 5 beat 9 2010 beat 3
at at at at at
address address address address address
2010 2010 2010 2000 2010
Fixed Fixed
burst of burst of
quad quad
word, word,
beat 2 beat 2
at at
address address
2000 2000
2004 Single Single Fixed Fixed Fixed Single Single Fixed 2004
with with length length burst of with with length
Byte Byte burst burst of quad Byte Byte burst of
enables enables of quad quad word, enables enables quad
word word beat 9 of quad of quad word
length length at word word length
2 2000 3 2000 address 2
2000 starting
at
address
2000
Single
of 128
@2000
2006 Single Single Fixed Fixed Single Single Single Fixed 2006
with with length length of quad with with length
Byte Byte burst burst of word Byte Byte burst of
enables enables of quad quad Fixed enables enables quad
word word burst of of quad of quad word
length length quad word word length
2 2000 3 2000 word, 2
beat 9 starting
at at
address address
2000 2000
Single
of 128
@2000
200A Single Fixed Fixed Fixed Single Single Single Fixed 200A
with burst of length length of quad with with length
Byte quad burst burst of word Byte Byte burst of
enables word, of quad quad Fixed enables enables quad
beat 2 word word burst of of quad of quad word
at length length quad word word length
address 2 2000 3 2000 word, 2
2000 beat 9 starting
at at
address address
2000 2000
Single
of 128
@2000
200C Single Fixed Fixed Fixed Single Single Single Fixed 200C
with burst of length length of quad with with length
Byte quad burst burst of word Byte Byte burst of
enables word, of quad quad Fixed enables enables quad
beat 2 word word burst of of quad of quad word
at length length quad word word length
address 2 2000 3 2000 word, 2
2000 beat 9 starting
at at
address address
2000 2000
Single
of 128
@2000
200E Single Fixed Fixed Fixed Single Single Single Fixed 200E
with burst of length length of quad with with length
Byte quad burst burst of word Byte Byte burst of
enables word, of quad quad Fixed enables enables quad
beat 2 word word burst of of quad of quad word
at length length quad word word length
address 2 2000 3 2000 word, 2
2000 beat 9 starting
at at
address address
2000
2010 Single Single Single Fixed Fixed Single Single Single 2010
with with of quad length burst of with of quad of quad
Byte Byte word burst of quad Byte word word
enables enables quad word, enables @2010
word beat 8
length at
2 at address Single
address 2010 of quad
2010 word
@2000
2012 Single Single Fixed Fixed Fixed Single Single Single 2012
with with length length burst of with with of quad
Byte Byte burst of burst of quad Byte Byte word
enables enables quad quad word, enables enables @2010
word word beat 9 of quad of quad
length length at word word
2 at 3 at address Fixed
address address 2010 length
2010 2010 burst of
quad
word
length
2
starting
at
address
2000
2014 Single Single Fixed Fixed Fixed Single Single Single 2014
with with length length burst of with with of quad
Byte Byte burst of burst of quad Byte Byte word
enables enables quad quad word, enables enables @2010
word word beat 9 of quad of quad
length length at word word
2 at 3 at address Fixed
address address 2010 length
2010 2010 burst of
quad
word
length
2
starting
at
address
2000
2016 Single Single Fixed Fixed Single Single Single Single 2016
with with length length of quad with with of quad
Byte Byte burst of burst of word Byte Byte word
enables enables quad quad Fixed enables enables @2010
word word burst of of quad of quad
Note: The DCR master interface signals are synchronous to PLB interface
clock. So the DCR slaves in the DCR daisy chain controlled by this DCR
master interface should be connected to a clock that is edge synchronous
to the PLB clock as per the DCR specification 2.9
Note: It is the system designer’s responsibility to make sure that there are
no simultaneous accesses to the same CSRs from the DCR as well as the
AHB interface
Note: Since the bridge uses the same HSEL for both CSR address maps and
PLB address maps, PLB4XAHB_CSR_BASE_ADDRESS should be set to an
address that lies within the address range programmed in the AHB arbiter
for HSEL generation for the PLB4XAHB bridge
While there is no provision to disable the CSR address mapping in the AHB
space, the system integrator can avoid the CSR access by the below method:
Program the PLB4XAHB_CSR_BASE_ADDRESS to an address outside the
range of addresses programmed in the AHB arbiter for the HSEL generation
for the Bridge. Since the Bridge’s address decoding logic always qualifies the
CSR accesses with HSEL, the accesses to CSR will not be done if the HSEL is
not generated along with the address.
Note: The PLB4XAHB bridge assumes a big endian PLB bus. There is no
special swapping mechanism in the bridge for the endianess conversion
from AHB bus to PLB bus or vice versa. When an AHB master needs to
interface with a little endian PLB slave, the SOC design or the little endian
PLB slave device connecting to the bridge should have this glue logic built
in.
Note: The PLB bus is aligned to 128-bit address boundary. Therefore the
AHB master must specifically accommodate an error response when a
prefetchable read and hsize is 64-, 32-, 16-, or 8-bits, because a
subsequent attempt to try the remaining bits in the same 128 bit address
boundary always ends in the error response.
Note: Any AHB burst transfer targeting 64-bit PLB slave is considered a
system error and the bridge does not take any actions to correct or report
this error
can result in a condition whereby PLB4XAHB can never accept any additional
reads because the original master never completed the delayed reads. To
handle this situation, PLB4XAHB bridge also samples the Mn_Abort from all
other masters (M_ABORT_IN[0:15]) in the system and compares it with the
stored Master_ID of the pending read request. If a PLB master aborts a read
cycle while the bridge has a pending read for that master, the bridge flushes
this read request and resets its internal buffers to accept the other read
requests.
M_ABORT_IN[0:15] corresponds to each masters with masterID 0 to 15
respectively. If the system does not have all the masters the corresponding
M_ABORT_IN signals should be tied off at the Bridge input.
When a PLB read request is initiated by a PLB master when the WDFIFO in the
AHB2PLB direction of the bridge is not empty, the bridge makes sure that all
the posted data in the WDFIFO is flushed to the targeted slave, before the
current read request from the PLB master is initiated on the AHB bus. Below
is the detailed description how this is implemented
1. PLB4XAHB does a delayed read in the PLB2AHB direction of the bridge. All
newly requested reads are rearbitrated by the PLB slave interface of the
bridge and the address and transfer qualifiers are latched along with the
master ID.
2. The read is performed on AHB as a delayed read. When the AHB master
of the bridge gets the grant for the AHB bus for this read transaction, the
level of the WDFIFO in AHB2PLB direction is loaded in a 2-bit counter on
the PLB clock domain (Using Grant on AHB is to make sure that all the
write data posted in the WDFIFO before this read is flushed onto PLB
bus). This counter will be decremented on each POP of the WDFIFO
3. If the bridge has this pending read being fetched from AHB, and if it
receives another read request from PLB master, the address and transfer
qualifiers for the newly initiated read is compared with the already
latched read transaction information in the bridge.
4. If the comparison results in a match, and if the data is already fetched
from AHB and all the posted writes in AHB2PLB direction have been
completed on PLB (as indicated by the zero value of counter in step 2),
the read will be AddrAcked and data transfer is completed. If not, the
slave will be rearbitrated again.
5. If the comparison results in a match, and if the PLB_abort is sampled, the
pending transaction is flushed.
6. Mn_aborts from 12 other masters are also sampled continuously. If at
any time, any of the Mn_aborts are active, it is compared with the master
ID stored in the bridge. If this master ID comparison results in a match,
the pending request in the queue is flushed.
7. If the transfer qualifier comparison for the new read results in a
mismatch, the new read transfer will be rearbitrated, without storing the
new transaction details. So essentially there can be only one read
transaction in the transaction queue at any time
When an AHB read request is initiated by an AHB master when the WRFIFO in
the PLB2AHB direction of the bridge is not empty, the bridge makes sure that
all the posted data in the WRFIFO is flushed to the targeted AHB slave, before
the current read request from the AHB master is initiated on the PLB bus.
Below is the detailed description how this is achieved
1. PLB4XAHB gives a SPLIT to any new read transactions and does a
delayed read on the PLB bus, in the AHB2PLB direction of the bridge. The
AHB slave interface logic stores the address and master ID of this read
transaction in the TQFIFO
2. When the PLB master interface initiates the request for this read transfer
and gets the PAValid, the level of the WRFIFO in the PLB2AHB direction of
the bridge is loaded in a 2-bit counter on the AHB clock domain. This
counter will be decremented on each POP of the WRFIFO
3. The AHB slave interface logic will not assert the HSPLITx signal (to
indicate that the requested read data is ready) until the 2-bit counter in
step 2 decrements to a value of 0, that indicates all the posted writes in
WRFIFO has been emptied on to the AHB slave
4.8. Clocks
There are three different clock inputs to the bridge:
HCLK on the AHB interface
SYS_PLBCLK on the PLB interface
DCR_CLK on the DCR interface
4.9. Reset
The PLB4XAHB has two reset signals:
HRESETN on the AHB side
SYS_PLB_RESET on the PLB side
On the assertion of either of these signals, the bridge resets all sequential
logic and brings all the outputs to their default inactive condition.
HRESETN should be coincidental with the SYS_PLB_RESET signal, and should
be asserted for a minimum of three AHB clock cycles.
Note: There are no reset synchronizers within the core. The bridge assumes
a asynchronous assertion and synchronous de-assertion of the reset from
the system reset controller, so that all registers are in a known state when
the bridge comes out of reset.
5. Register Descriptions
Note: Bit numbering in this chapter uses the AHB system, in which 0=LSB
and 31=MSB. Thus bit numbering of [31:0] in the AHB corresponds to
[0:31] in the DCR bus. Take this into consideration when you program
Command and Status Registers from the DCR address space.
For example:
When TopAddr is 0x00 and BotAddr is 0x00, then the bridge address
space is 256 MB because the 36-bit PLB address is from 0x0_0000_0000
to 0x0_0FFF_FFFF. If TopAddr is 0x00 and the BotAddr is 0xFF, then the
36-bit bridge address is 0x0_0000_0000 to 0xF_FFFF_FFFF, which gives
an address space of 64 GB.
When BotAddr is 0x10 and TopAddr is 0x20, the 36-bit PLB address for
the bridge is from 0x1_0000_0000 to 0x2_0FFF_FFFF. Thus, the bridge’s
address space is in increments of 256MB.
TopAddr[31] and BotAddr[31] are address valid bits that indicate if the
address ranges in these TopAddr and BotAddr registers are valid.
These bits must be set for the bridge to use the addresses in TopAddr and
BotAddr registers to perform address comparison to respond to PLB
transactions.
When these bits are not set, the bridge uses the bootstrap_addr_hi[0:7]
and bootstrap_addr_lo[0:7] inputs for PLB address decoding.
When BOTH of these bits are set, the bridge ignores the bootstrap address
inputs, and the values programmed in the TopAddr and BotAddr registers
are used.
TopAddr[31] and BotAddr[31] bits are automatically reset to 0x0 when a
system-reset event occurs.
6. Configuration
6.1. PLB4XAHB.defines.v
PLB4XAHB is a highly configurable core. The system integrator needs to
configure the core as per the requirement using Synopsys coreConsultant
during “SpecifyConfiguration” activity. Please refer to the PLB4 Peripherals
Implementation View User guide for details on how to configure the core
using coreConsultant.
Once configured, coreConsultant creates a parameter file called
“PLB4XAHB.defines.v” in the user’s workspace. This file includes verilog
`define statements for the parameters of the selected configuration.
Note: All DCR signals use the DCR Timing Guidelines given in Section 4.1 of
the DCR Specification.
Note: DCR master signals use the DCR timing guidelines given in Section 4.1
of the DCR Specification.
Note: DCR slave signals use the DCR timing guidelines given in Section 4.1
of the DCR Specification.
8. Reference Documentation
Synopsys, Inc.
700 East Middlefield Road
Mountain View, California 94043
www.synopsys.com