CoreAHB Product Summary Contents Intended Use • General Description ................................................... Arbitration Scheme .................................................... Remapping ................................................................. Connecting CoreAHB in CoreConsole ....................... CoreAHB Port List ....................................................... Resource Requirements ............................................. Ordering Information ................................................ List of Changes ........................................................... Datasheet Categories ................................................. CoreAHB Provides an AHB Bus Fabric and Is Intended for Use in an AMBA Subsystem where Multiple AHB Masters are Present Key Features • Supplied in SysBASIC Core Bundle • Implements a Multi-Master AMBA AHB Bus Fabric • Up to 3 AHB Masters Can Be Accommodated • Up to 16 AHB Slave Devices Are Supported • Automatic Stitching to AHB Slaves and Masters in CoreConsole • Supports Swapping (or remapping) of Slave Slots 0 and 1 to Facilitate Processor Boot General Description CoreAHB implements a multi-master AHB bus fabric. Up to 3 masters and 16 slaves can be connected to CoreAHB. A block diagram of CoreAHB is shown in Figure 1. Each AHB slave slot is allocated 256 megabytes of memory space and all slave slots are accessible from each master connection. Benefits • Allows Easy Inter-Connection of AHB Masters and Slaves in a Subsystem • Devices Can Be Automatically Connected to CoreAHB Using the Auto Stitch Feature in CoreConsole, which Allows for Rapid System Development • Master 1 Compatible with CoreMP7 and Cortex™-M1 Master 2 Master 3 Supported Device Families • Fusion • IGLOO™ • IGLOOe • ProASIC®3L • ProASIC3 • ProASIC3E 1 2 2 2 3 5 5 6 6 Arbitration Address Decoder Masters to Slaves Mulitplexer Slave 0 Slave 1 .. . Slave 2 Slave 15 Slaves to Masters Multiplexer Figure 1 • CoreAHB Block Diagram Synthesis and Simulation Support • Synthesis: Synplicity® • Simulation: ModelSim Verification and Compliance • Compliant with AMBA January 2008 © 2008 Actel Corporation v 2 .1 1 CoreAHB Arbitration Scheme Dummy Master While three masters may be connected to CoreAHB, only one master can have control of the bus at any one time. An arbitration mechanism is included in CoreAHB to control access to the bus by the masters. The master 0 slot is reserved for the dummy bus master. The dummy master does not perform real transfers. It is granted under the following conditions: In addition to the 3 master connections previously mentioned, there is also a dummy master contained within CoreAHB. The dummy master never performs real transfers, but only issues IDLE transfers if granted. There is a request input (HBUSREQM0) for the dummy master that can be connected to a “pause” signal to request that no other masters are granted control of the bus. CoreAHB contains a fixed, priority-based, arbitration scheme that supports three AHB bus masters as well as the dummy master. The priority allocation is as follows: • Master 3 has the highest priority • Master 0 (dummy master) has the second highest priority • Master 2 has the middle priority • Master 1 has the lowest priority and is the default bus master. The main subsystem processor (such as CoreMP7) is normally connected to this master connection. • When the previously granted master is performing a locked transfer that has received a SPLIT response • When the default master receives a SPLIT response and no other master is requesting the bus • When all masters have received SPLIT responses Remapping CoreAHB has an input named “Remap,” which when asserted (high) causes slave slots 0 and 1 to be swapped from the masters’ point of view. Typically, memory resources such as Flash and RAM will be connected to slots 0 and 1. The Remap input provides a means of altering the memory map. For example, it may be necessary to boot from a nonvolatile memory at powerup and then subsequently to boot from RAM. The Remap input can be driven by CoreRemap or by an external source. When generating a subsystem containing CoreAHB in CoreConsole, the Remap input will automatically be tied low (inactive) if no connection is made to it. Connecting CoreAHB in CoreConsole Table 1 lists the connections present on CoreAHB and describes how to connect these in CoreConsole. Table 1 • CoreAHB Bus Connections Connection CoreConsole Label Description HCLK HCLK AHB system clock input Connect this to the HCLK output of the bus master. HRESETn HRESETn Active low AHB system reset Connect this to the HRESETn output of the bus master. Remap Remap This input can be used to modify the memory map. When high, mirrored slave slots 0 and 1 are swapped. This is intended to provide a means of altering the memory map after boot-up. This input is tied low if no connection is made to it. AHB master 0 request HBUSREQM0 Request input for master 0 (dummy master). This input may be driven by a “pause” signal to request that no other masters are granted. This input will be tied low (inactive) if no connection is made to it. AHB master 0 lock HLOCKM0 Lock input for master 0 (dummy master). This input will be tied low (inactive) if no connection is made to it. AHB master 0 grant 2 HGRANTM0 Grant indication output for master 0 (dummy master). When high, the dummy master is driving (IDLE) transfers on the AHB bus. v2.1 CoreAHB Table 1 • CoreAHB Bus Connections (Continued) Connection CoreConsole Label Description AHB mirrored master 1 interface AHBmmaster1 Connection for lowest priority, default bus master AHB mirrored master 2 interface AHBmmaster2 Connection for middle priority bus master AHB mirrored master 3 interface AHBmmaster3 Connection for highest priority bus master AHBmslave0 AHB mirrored slave 0 interface Normally connected to AHBslave_base interface of Memory Controller AHBmslave1 AHB mirrored slave 1 interface AHBmslave2 AHB mirrored slave 2 interface AHBmslave3 AHB mirrored slave 3 interface AHBmslave4 AHB mirrored slave 4 interface AHBmslave5 AHB mirrored slave 5 interface AHBmslave6 AHB mirrored slave 6 interface AHBmslave7 AHB mirrored slave 7 interface AHBmslave8 AHB mirrored slave 8 interface AHBmslave9 AHB mirrored slave 9 interface AHBmslave10 AHB mirrored slave 10 interface AHBmslave11 AHB mirrored slave 11 interface AHBmslave12 AHB mirrored slave 12 interface AHBmslave13 AHB mirrored slave 13 interface AHBmslave14 AHB mirrored slave 14 interface AHBmslave15 AHB mirrored slave 15 interface CoreAHB Port List Table 2 on page 4 lists the ports present on the AHB Bus component. Seven groups of signals can be identified. 1. Common AHB system signals (clock and reset) 2. Remap input 3. AHB mirrored master 0 (dummy master) related connections 4. Signals common to mirrored master interfaces 1 to 3 5. AHB mirrored master signals specific to each master 6. Signals common to all 16 AHB mirrored slave interfaces 7. AHB mirrored slave (master) signals specific to each slave v2.1 3 CoreAHB Table 2 • CoreAHB Port List Signal Direction Description Common AHB System Signals HCLK Input Bus clock. This clock times all bus transfers. All signal timings are related to the rising edge of HCLK. HRESETn Input Reset. The bus reset signal is active low and is used to reset the system and the bus. This is the only active low AHB signal. Remap Signal Remap Input Provides a means of altering the memory map. Slave slots 0 and 1 are swapped when this input is high. Mirrored AHB Master 0 (dummy master) Interface HBUSREQM0 Input Request input for master 0 (dummy master). This input may be driven by a “pause” signal to request that no other masters are granted. This input will be tied low (inactive) if no connection is made to it. HLOCKM0 Input Lock input for master 0 (dummy master). This input will be tied low (inactive) if no connection is made to it. HGRANTM0 Output Grant indication output for master 0 (dummy master). When high, the dummy master is driving (IDLE) transfers on the AHB bus. Common AHB Mirrored Master Signals HRDATA [31:0] Output 32-bit data to masters HREADY Output Transfer done. When high, the HREADY signal indicates that a transfer has finished on the bus. This signal can be driven low to extend a transfer. HRESP[1:0] Input Transfer response. This indicates an Okay Error Retry, or Split response. Master-Specific Mirrored AHB Master Signals HADDRMx[31:0] Input 32-bit master address bus (x = 1 to 3) HTRANSMx [1:0] Input Transfer type (x = 1 to 3). Indicates the type of the current transfer: 00 – Idle 01 – Busy 10 – Non-Sequential 11 – Sequential HWRITEMx Input Transfer direction (x = 1 to 3). When high, this signal indicates a write transfer; and when low, a read transfer. HSIZEMx [2:0] Input Transfer size. This indicates the size of the transfer, which can be byte (8-bit), halfword (16-bit), or word (32-bit). HBURSTMx [2:0] Input Burst type (x = 1 to 3). This indicates if the transfer forms part of a burst. HPROTMx [3:0] Input Protection control (x = 1 to 3). These signals indicate if the transfer is an opcode fetch or data access, and if the transfer is a Supervisor mode access or User mode access. HWDATAMx [31:0] Input 32-bit data from master (x = 1 to 3) 4 v2.1 CoreAHB Table 2 • CoreAHB Port List Signal Direction Description Common AHB Mirrored Slave Signals HADDRS[31:0] Output This is the 32-bit system address bus. HTRANSS[1:0] Output Transfer type. Indicates the type of the current transfer: 00 – Idle 01 – Busy 10 – Non-Sequential 11 – Sequential HWRITES Output Transfer direction. A write transfer is indicated when this signal is high and a read transfer is indicated when this signal is low during the address phase of an AHB transfer. HSIZES[2:0] Output Transfer size. Indicates the size of the transfer, which can be any of the following: 00 - byte (8-bit) 01 - halfword (16-bit) 10 - word (32-bit). HBURSTS[2:0] Output Burst type. This indicates whether or not the transfer forms part of a burst. HPROTS[3:0] Output Protection control. These signals indicate whether the transfer is an opcode fetch or data access, and whether the transfer is a Supervisor mode access or User mode access. HWDATAS[31:0] Output 32-bit data to the slave HREADYS Output Transfer done. Out to the slaves (alias of HREADY) Slave-Specific Mirrored Slave Signals HSELx Output Select of slave x (where x is a integer between 0 and 15) HRDATASx[31:0] Input 32-bit read data from slave x HREADYSx Input Ready signal from slave x. When high, this indicates that slave has completed a transfer and is ready for another transfer. HRESPSx[1:0] Input Transfer response from slave x which can be: 00 – Okay 01 – Error 10 – Retry 11 – Split Resource Requirements The utilization for CoreAHB in a Fusion, IGLOO, ProASIC3L, or ProASIC3/E device is 1,300 tiles. Ordering Information CoreAHB is included in the SysBASIC core bundle that is supplied with the Actel CoreConsole IP Deployment Platform tool. The obfuscated RTL version of SysBASIC (SysBASIC-OC) is available for free with CoreConsole. The source RTL version of SysBASIC (SysBASIC-RM) can be ordered through your local Actel sales representative. CoreAHB cannot be ordered separately from the SysBASIC core bundle. v2.1 5 CoreAHB List of Changes The following table lists critical changes that were made in the current version of the document. Previous Version Changes in Current Version (v 2 .1 ) v2.0 Advanced v0.1 Page The "Supported Device Families" section was updated to include ProASIC3L. 1 The "Resource Requirements" section was updated to include ProASIC3L. 5 The "Product Summary" section was updated to include Cortex-M1 and IGLOO/e information. 1 Table 1 • CoreAHB Bus Connections was updated to change CoreMP7Bridge to bus master for HCLK and HRESETn. 2 Datasheet Categories In order to provide the latest information to designers, some datasheets are published before data has been fully characterized. Datasheets are designated as "Product Brief," "Advanced," and "Production." The definitions of these categories are as follows: Product Brief The product brief is a summarized version of an advanced or production datasheet containing general product information. This brief summarizes specific device and family information for unreleased products. Advanced This datasheet version contains initial estimated information based on simulation, other products, devices, or speed grades. This information can be used as estimates, but not for production. Unmarked (production) This datasheet version contains information that is considered to be final. 6 v2.1 Actel and the Actel logo are registered trademarks of Actel Corporation. All other trademarks are the property of their owners. www.actel.com Actel Corporation Actel Europe Ltd. Actel Japan Actel Hong Kong 2061 Stierlin Court Mountain View, CA 94043-4655 USA Phone 650.318.4200 Fax 650.318.4600 River Court, Meadows Business Park Station Approach, Blackwater Camberley Surrey GU17 9AB United Kingdom Phone +44 (0) 1276 609 300 Fax +44 (0) 1276 607 540 EXOS Ebisu Building 4F 1-24-14 Ebisu Shibuya-ku Tokyo 150 Japan Phone +81.03.3445.7671 Fax +81.03.3445.7668 www.jp.actel.com Room 2107, China Resources Building 26 Harbour Road Wanchai, Hong Kong Phone +852 2185 6460 Fax +852 2185 6488 www.actel.com.cn 51700081-2/1.08