SlideShare a Scribd company logo
1 of 18
Download to read offline
AMBA BUS
Advanced Micro controller Bus
       Architecture

                 By
         ROHIT Y SHANBHAG
Overview of the AMBA Specification



The Advanced Micro controller Bus
architecture (AMBA) specification defines an
on-chip communication standard for designing
high-performance embedded micro controllers.
Types of AMBA Bus
Three distinct buses are defined within the AMBA
specification:

   The Advanced High-performance Bus (AHB)
   The Advanced System Bus (ASB)
   The Advanced Peripheral Bus (APB).
   The Advanced Trace Bus ( ATB )
   The AMBA Extensible Interface ( AXI )
Objectives of AMBA Bus
The AMBA specification has been derived to satisfy four key requirements:


   To facilitate the right-first-time development of embedded micro controller
    products with one or more CPUs or signal processors.

   To be technology-independent and ensure that highly reusable peripheral and
    system macro cells can be migrated across a diverse range of IC processes and
    be appropriate for full-custom, standard cell and gate array technologies

   To encourage modular system design to improve processor independence,
    providing a development road-map for advanced cached CPU cores and the
    development of peripheral libraries.


   To minimize the silicon infrastructure required to support efficient on-chip and
    off-chip communication for both operation and manufacturing test.
Typical AMBA Based Micro controller
   An AMBA-based micro controller typically consists of a high-
    performance system backbone bus (AMBA AHB or AMBA ASB).

   Which is able to sustain the external memory bandwidth, on which The
    CPU, on-chip memory and other Direct Memory Access (DMA) devices
    reside.

   This bus provides a high-bandwidth interface between the elements
    that are involved in the majority of transfers.

   Also located on the high-performance bus is a bridge to the lower
    bandwidth APB, where most of the peripheral devices in the system
    are located.
AMBA AHB
            Advanced High Performance Bus

   AHB is a new generation of AMBA bus which is
    intended to address the requirements of high-
    performance synthesizable designs.



   It is a high-performance system bus that
    supports multiple bus masters and provides high-
    bandwidth operation.
Features of AMBA BUS
AMBA AHB implements the features required for
high-performance, high clock frequency systems
including:

   Burst transfers
   Split transactions
   Single-cycle bus master handover
   Single-clock edge operation
   Wider data bus configurations (64/128 bits).
Components of AMBA AHB
A typical AMBA AHB system design contains the
Following components:

AHB master : A bus master is able to initiate read and write operations by providing
  an address and control information.

AHB slave : A bus slave responds to a read or write operation within a given
  address-space range.

AHB arbiter : The bus arbiter ensures that only one bus master at a time is allowed
  to initiate data transfers.

AHB decoder : The AHB decoder is used to decode the address of each transferred
  provide a select signal for the slave that is involved in the transfer.
Typical Master and slave
   An AMBA AHB design may contain one or more bus masters.


   Typically a system would contain at least the processor and test
    interface.


   It is also common for a Direct Memory Access (DMA) or Digital Signal
    Processor (DSP) to be included as bus masters.

   The external memory interface, APB bridge and any internal memory
    are the most common AHB slaves.


    Any other peripheral in the system could also be included as an AHB
    slave.
Overview of AMBA AHB Operation

Before an AMBA AHB transfer can commence the
bus master must be granted access to the bus.

   Process is started by the master asserting a request signal to the
    arbiter.
   Then the arbiter indicates when the master will be granted use of the
    bus.
   A granted bus master starts an AMBA AHB transfer by driving the
    address and control signals.
   These signals provide information on the address, direction and width
    of the transfer, as well as an indication if the transfer forms part of a
    burst.
   A write data bus is used to move data from the master to a slave, while
    a read data bus is used to move data from a slave to the master.
Basic Transfer

An AHB transfer consists of two distinct sections:



   The Address Phase, which lasts only a single cycle.



   The Data Phase, which may require several cycles.
AMBA APB
                  Advanced Peripheral Bus

   The Advanced Peripheral Bus (APB) is part of the Advanced
    Micro controller Bus Architecture (AMBA)

   APB is optimized for minimal power consumption and reduced
    interface complexity.

   The AMBA APB should be used to interface to any peripherals
    which are low bandwidth and do not require the high
    performance of a pipelined bus interface.

   The AMBA APB appears as a local secondary bus that is
    encapsulated as a single AHB or ASB slave device.
Advantages of AMBA APB
   Performance is improved at high-frequency operation

   Performance is independent of the mark-space ratio of the
    clock static timing analysis is simplified by the use of a single
    clock edge

   No special considerations are required for automatic test
    insertion

   Many Application-Specific Integrated Circuit (ASIC) libraries
    have a better selection of rising edge registers

   Easy integration with cycle based simulators.
AMBA APB Bridge
The APB bridge is the only bus master on the AMBA
APB.

In addition, the APB bridge is also a slave on the
higher-level system bus.
APB bridge description
The bridge unit converts system bus transfers into
APB transfers and performs the following functions:
   Latches the address and holds it valid throughout the
    transfer.
   Decodes the address and generates a peripheral select, PSELx.
    Only one select signal can be active during a transfer.
   Drives the data onto the APB for a write transfer.
   Drives the APB data onto the system bus for a read transfer.
   Generates a timing strobe, PENABLE, for the transfer
APB slave Description
   APB slaves have a simple, yet flexible, interface.



   The exact implementation of the interface will be
    dependent on the design style employed and many
    different options are possible.
http://en.wikipedia.org/wiki/Advanced_Microcontroller_Bus_Architecture

http://digitalelectronics.blogspot.in/2005/02/advanced-microcontroller-bus.html




                       THANK YOU

More Related Content

What's hot

What's hot (20)

axi protocol
axi protocolaxi protocol
axi protocol
 
APB protocol v1.0
APB protocol v1.0APB protocol v1.0
APB protocol v1.0
 
System on chip buses
System on chip busesSystem on chip buses
System on chip buses
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
FPGA
FPGAFPGA
FPGA
 
I2C Protocol
I2C ProtocolI2C Protocol
I2C Protocol
 
Introduction about APB Protocol
Introduction about APB ProtocolIntroduction about APB Protocol
Introduction about APB Protocol
 
Rs232 485 fundamental
Rs232 485 fundamentalRs232 485 fundamental
Rs232 485 fundamental
 
Axi
AxiAxi
Axi
 
I2C introduction
I2C introductionI2C introduction
I2C introduction
 
RS 232
RS 232RS 232
RS 232
 
dual-port RAM (DPRAM)
dual-port RAM (DPRAM)dual-port RAM (DPRAM)
dual-port RAM (DPRAM)
 
AMBA AHB 5
AMBA AHB 5AMBA AHB 5
AMBA AHB 5
 
Ethernet protocol
Ethernet protocolEthernet protocol
Ethernet protocol
 
I2C
I2CI2C
I2C
 
UVM TUTORIAL;
UVM TUTORIAL;UVM TUTORIAL;
UVM TUTORIAL;
 
Data types in verilog
Data types in verilogData types in verilog
Data types in verilog
 
UART
UARTUART
UART
 
Apb
ApbApb
Apb
 
Communication protocols - Embedded Systems
Communication protocols - Embedded SystemsCommunication protocols - Embedded Systems
Communication protocols - Embedded Systems
 

Similar to Amba bus

Design and Implementation of AMBA ASB apb bridge
Design and Implementation of AMBA ASB apb bridgeDesign and Implementation of AMBA ASB apb bridge
Design and Implementation of AMBA ASB apb bridge
Manu BN
 
Iaetsd asynchronous data transactions on so c using fifo
Iaetsd asynchronous data transactions on so c using fifoIaetsd asynchronous data transactions on so c using fifo
Iaetsd asynchronous data transactions on so c using fifo
Iaetsd Iaetsd
 
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
IJERA Editor
 
Micro channel architecture
Micro channel architectureMicro channel architecture
Micro channel architecture
Gichelle Amon
 

Similar to Amba bus (20)

Design and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoCDesign and Implementation of an Advanced DMA Controller on AMBA-Based SoC
Design and Implementation of an Advanced DMA Controller on AMBA-Based SoC
 
VLSI DESIGN OF AMBA BASED AHB2APBBRIDGE
VLSI DESIGN OF AMBA BASED AHB2APBBRIDGEVLSI DESIGN OF AMBA BASED AHB2APBBRIDGE
VLSI DESIGN OF AMBA BASED AHB2APBBRIDGE
 
Design and Implementation of AMBA ASB apb bridge
Design and Implementation of AMBA ASB apb bridgeDesign and Implementation of AMBA ASB apb bridge
Design and Implementation of AMBA ASB apb bridge
 
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGEVLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
 
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGEVLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
VLSI DESIGN OF AMBA BASED AHB2APB BRIDGE
 
AHB To APB BRIDGE.pptx
AHB To APB BRIDGE.pptxAHB To APB BRIDGE.pptx
AHB To APB BRIDGE.pptx
 
IRJET - Design of AMBA based AHB2APB Protocol for Efficient Utilization of AH...
IRJET - Design of AMBA based AHB2APB Protocol for Efficient Utilization of AH...IRJET - Design of AMBA based AHB2APB Protocol for Efficient Utilization of AH...
IRJET - Design of AMBA based AHB2APB Protocol for Efficient Utilization of AH...
 
AMBA 2.0
AMBA 2.0AMBA 2.0
AMBA 2.0
 
Ey3110051010
Ey3110051010Ey3110051010
Ey3110051010
 
AMBA 2.0 REPORT
AMBA 2.0 REPORTAMBA 2.0 REPORT
AMBA 2.0 REPORT
 
Design and Analysis of Xilinx Verified AMBA Bridge for SoC Systems
Design and Analysis of Xilinx Verified AMBA Bridge for SoC SystemsDesign and Analysis of Xilinx Verified AMBA Bridge for SoC Systems
Design and Analysis of Xilinx Verified AMBA Bridge for SoC Systems
 
Design And Verification of AMBA APB Protocol
Design And Verification of AMBA APB ProtocolDesign And Verification of AMBA APB Protocol
Design And Verification of AMBA APB Protocol
 
A Proficient Recognition Method for ML-AHB Bus Matrix
A Proficient Recognition Method for ML-AHB Bus MatrixA Proficient Recognition Method for ML-AHB Bus Matrix
A Proficient Recognition Method for ML-AHB Bus Matrix
 
IRJET - Analysis of Different Arbitration Algorithms for Amba Ahb Bus Protoco...
IRJET - Analysis of Different Arbitration Algorithms for Amba Ahb Bus Protoco...IRJET - Analysis of Different Arbitration Algorithms for Amba Ahb Bus Protoco...
IRJET - Analysis of Different Arbitration Algorithms for Amba Ahb Bus Protoco...
 
Iaetsd asynchronous data transactions on so c using fifo
Iaetsd asynchronous data transactions on so c using fifoIaetsd asynchronous data transactions on so c using fifo
Iaetsd asynchronous data transactions on so c using fifo
 
Axi
AxiAxi
Axi
 
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
An On-Chip Bus Tracer Analyzer With Amba AHB For Real Time Tracing With Lossl...
 
Micro channel architecture
Micro channel architectureMicro channel architecture
Micro channel architecture
 
UNIT 3.pptx
UNIT 3.pptxUNIT 3.pptx
UNIT 3.pptx
 
A Review On AMBA AHB Lite Protocol And Verification Using UVM Methodology
A Review On AMBA AHB Lite Protocol And Verification Using UVM MethodologyA Review On AMBA AHB Lite Protocol And Verification Using UVM Methodology
A Review On AMBA AHB Lite Protocol And Verification Using UVM Methodology
 

Recently uploaded

Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Safe Software
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 

Amba bus

  • 1. AMBA BUS Advanced Micro controller Bus Architecture By ROHIT Y SHANBHAG
  • 2. Overview of the AMBA Specification The Advanced Micro controller Bus architecture (AMBA) specification defines an on-chip communication standard for designing high-performance embedded micro controllers.
  • 3. Types of AMBA Bus Three distinct buses are defined within the AMBA specification:  The Advanced High-performance Bus (AHB)  The Advanced System Bus (ASB)  The Advanced Peripheral Bus (APB).  The Advanced Trace Bus ( ATB )  The AMBA Extensible Interface ( AXI )
  • 4. Objectives of AMBA Bus The AMBA specification has been derived to satisfy four key requirements:  To facilitate the right-first-time development of embedded micro controller products with one or more CPUs or signal processors.  To be technology-independent and ensure that highly reusable peripheral and system macro cells can be migrated across a diverse range of IC processes and be appropriate for full-custom, standard cell and gate array technologies  To encourage modular system design to improve processor independence, providing a development road-map for advanced cached CPU cores and the development of peripheral libraries.  To minimize the silicon infrastructure required to support efficient on-chip and off-chip communication for both operation and manufacturing test.
  • 5. Typical AMBA Based Micro controller  An AMBA-based micro controller typically consists of a high- performance system backbone bus (AMBA AHB or AMBA ASB).  Which is able to sustain the external memory bandwidth, on which The CPU, on-chip memory and other Direct Memory Access (DMA) devices reside.  This bus provides a high-bandwidth interface between the elements that are involved in the majority of transfers.  Also located on the high-performance bus is a bridge to the lower bandwidth APB, where most of the peripheral devices in the system are located.
  • 6.
  • 7. AMBA AHB Advanced High Performance Bus  AHB is a new generation of AMBA bus which is intended to address the requirements of high- performance synthesizable designs.  It is a high-performance system bus that supports multiple bus masters and provides high- bandwidth operation.
  • 8. Features of AMBA BUS AMBA AHB implements the features required for high-performance, high clock frequency systems including:  Burst transfers  Split transactions  Single-cycle bus master handover  Single-clock edge operation  Wider data bus configurations (64/128 bits).
  • 9. Components of AMBA AHB A typical AMBA AHB system design contains the Following components: AHB master : A bus master is able to initiate read and write operations by providing an address and control information. AHB slave : A bus slave responds to a read or write operation within a given address-space range. AHB arbiter : The bus arbiter ensures that only one bus master at a time is allowed to initiate data transfers. AHB decoder : The AHB decoder is used to decode the address of each transferred provide a select signal for the slave that is involved in the transfer.
  • 10. Typical Master and slave  An AMBA AHB design may contain one or more bus masters.  Typically a system would contain at least the processor and test interface.  It is also common for a Direct Memory Access (DMA) or Digital Signal Processor (DSP) to be included as bus masters.  The external memory interface, APB bridge and any internal memory are the most common AHB slaves.  Any other peripheral in the system could also be included as an AHB slave.
  • 11. Overview of AMBA AHB Operation Before an AMBA AHB transfer can commence the bus master must be granted access to the bus.  Process is started by the master asserting a request signal to the arbiter.  Then the arbiter indicates when the master will be granted use of the bus.  A granted bus master starts an AMBA AHB transfer by driving the address and control signals.  These signals provide information on the address, direction and width of the transfer, as well as an indication if the transfer forms part of a burst.  A write data bus is used to move data from the master to a slave, while a read data bus is used to move data from a slave to the master.
  • 12. Basic Transfer An AHB transfer consists of two distinct sections:  The Address Phase, which lasts only a single cycle.  The Data Phase, which may require several cycles.
  • 13. AMBA APB Advanced Peripheral Bus  The Advanced Peripheral Bus (APB) is part of the Advanced Micro controller Bus Architecture (AMBA)  APB is optimized for minimal power consumption and reduced interface complexity.  The AMBA APB should be used to interface to any peripherals which are low bandwidth and do not require the high performance of a pipelined bus interface.  The AMBA APB appears as a local secondary bus that is encapsulated as a single AHB or ASB slave device.
  • 14. Advantages of AMBA APB  Performance is improved at high-frequency operation  Performance is independent of the mark-space ratio of the clock static timing analysis is simplified by the use of a single clock edge  No special considerations are required for automatic test insertion  Many Application-Specific Integrated Circuit (ASIC) libraries have a better selection of rising edge registers  Easy integration with cycle based simulators.
  • 15. AMBA APB Bridge The APB bridge is the only bus master on the AMBA APB. In addition, the APB bridge is also a slave on the higher-level system bus.
  • 16. APB bridge description The bridge unit converts system bus transfers into APB transfers and performs the following functions:  Latches the address and holds it valid throughout the transfer.  Decodes the address and generates a peripheral select, PSELx. Only one select signal can be active during a transfer.  Drives the data onto the APB for a write transfer.  Drives the APB data onto the system bus for a read transfer.  Generates a timing strobe, PENABLE, for the transfer
  • 17. APB slave Description  APB slaves have a simple, yet flexible, interface.  The exact implementation of the interface will be dependent on the design style employed and many different options are possible.