Simple Bus Architecture

Last updated
SBA Master code example Master code example.png
SBA Master code example
SBA Master IP Core Interface Interfaz Maestro.png
SBA Master IP Core Interface
SBA Slave IP Core Interface Interfaz Esclavo.png
SBA Slave IP Core Interface
SBA Address Space IP Core Interface Interfaz Address Space.png
SBA Address Space IP Core Interface
SBA basic block diagram SBA BusDiagram v2.png
SBA basic block diagram

The Simple Bus Architecture [1] (SBA) is a form of computer architecture. It is made up software tools and intellectual property cores (IP core) interconnected by buses using simple and clear rules, that allow the implementation of an embedded system (SoC). Basic templates are provided to accelerate design. The VHDL code that implements this architecture is portable.

Contents

The SBA allows to accelerate the development of reconfigurable virtual instrumentation [2] systems. Science and engineering are based on measurements and comparisons, and each field requires a set of both standard and specialised (ad hoc) instruments to make these measurements. With the advent of powerful, low-cost, state-of-the-art field-programmable gate arrays (FPGAs), it is easier to provide virtual, reconfigurable, on-demand instrumentation.

FPGAs have grown in size and sophistication over the years and are now used in markets as diverse as telecommunications, consumer electronics, industrial and medical, to name a few. Many FPGA vendors now include additional features in their devices, such as integrated processor cores, memory, high-speed input/output (I/O) interfaces, etc. These additional capabilities, along with their low cost per unit, have made FPGAs increasingly popular for digital signal processing (DSP) applications. [3] However, notwithstanding the above, arguably the most important feature of FPGAs that has led to their rapid rise in popularity and use is their 'field programmability' or reconfigurability. Other features that make FPGAs very attractive are their high cell density and high level of parallelism, making them an ideal choice for computationally intensive applications that can be parallelized.

The Simple Bus Architecture, or SBA, allows different components or blocks to be interconnected to each other in a practical and simple way, allowing the user to optimise time when carrying out their projects. It also sacrifices the complexities of other implementations in order to easily introduce the SoC concept into the FPGA, so it has an inherent educational value. The SBA is intended to be a general purpose interface; as such, it defines the data exchange between standard IP core modules. It is divided into three main block types: master or system controller (SBA controller), slave cores and bus support cores (address decoder, bus adapters, clock generators, etc.). [4]

Components

Master core

The master core is a finite state machine (FSM) and performs basic data flow and processing, similar to a microprocessor, but with lower consumption of logic resources. It is the main block, as it is here that an address is assigned for each action to be performed. It is also in charge of deciding the order of these actions (it decides what to execute first and what to execute next). This addressing communicates directly with the Address Decoder.

Address decoder

Assigns each slave core a position in the address map and enables these cores through the chip enabler/selector.

Slave cores

Slaves are IP cores that provide some specific functionality, from data processing to serving as adapters between the SoC and devices external to the chip. In a system with multiple slaves, each slave has an established portion of the address map.

Wishbone

SBA is an application and a simplified version of the Wishbone [5] specification. SBA implements the minimum essential subset of the Wishbone signals interface. It can be connected with simple Wishbone IP cores. SBA defines three types of cores: masters, slaves, and auxiliaries. Several slave IP cores were developed following the SBA architecture, many to implement virtual instruments.

Applications

The SBA has been used to build differents ad hoc instruments like a wave generator, [6] curve tracer, [7] PWM controllers, [8] UAV instrumentation, [9] Bioelectrical signal processing [10] and many other electronic instruments. [11]

Related Research Articles

<span class="mw-page-title-main">AVR microcontrollers</span> Family of microcontrollers

AVR is a family of microcontrollers developed since 1996 by Atmel, acquired by Microchip Technology in 2016. These are modified Harvard architecture 8-bit RISC single-chip microcontrollers. AVR was one of the first microcontroller families to use on-chip flash memory for program storage, as opposed to one-time programmable ROM, EPROM, or EEPROM used by other microcontrollers at the time.

Reconfigurable computing is a computer architecture combining some of the flexibility of software with the high performance of hardware by processing with flexible hardware platforms like field-programmable gate arrays (FPGAs). The principal difference when compared to using ordinary microprocessors is the ability to add custom computational blocks using FPGAs. On the other hand, the main difference from custom hardware, i.e. application-specific integrated circuits (ASICs) is the possibility to adapt the hardware during runtime by "loading" a new circuit on the reconfigurable fabric, thus providing new computational blocks without the need to manufacture and add new chips to the existing system.

<span class="mw-page-title-main">Network interface controller</span> Hardware component that connects a computer to a network

A network interface controller is a computer hardware component that connects a computer to a computer network.

<span class="mw-page-title-main">Electronic test equipment</span> Testing appliance for electronics systems

Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.

JTAG is an industry standard for verifying designs of and testing printed circuit boards after manufacture.

<span class="mw-page-title-main">Blackfin</span> Family of 16-/32-bit microprocessors

Blackfin is a family of 16-/32-bit microprocessors developed, manufactured and marketed by Analog Devices. The processors have built-in, fixed-point digital signal processor (DSP) functionality performed by 16-bit multiply–accumulates (MACs), accompanied on-chip by a microcontroller. It was designed for a unified low-power processor architecture that can run operating systems while simultaneously handling complex numeric tasks such as real-time H.264 video encoding.

LEON is a radiation-tolerant 32-bit central processing unit (CPU) microprocessor core that implements the SPARC V8 instruction set architecture (ISA) developed by Sun Microsystems. It was originally designed by the European Space Research and Technology Centre (ESTEC), part of the European Space Agency (ESA), without any involvement by Sun. Later versions have been designed by Gaisler Research, under a variety of owners. It is described in synthesizable VHSIC Hardware Description Language (VHDL). LEON has a dual license model: An GNU Lesser General Public License (LGPL) and GNU General Public License (GPL) free and open-source software (FOSS) license that can be used without licensing fee, or a proprietary license that can be purchased for integration in a proprietary product. The core is configurable through VHDL generics, and is used in system on a chip (SOC) designs both in research and commercial settings.

<span class="mw-page-title-main">Automatic test equipment</span> Apparatus used in hardware testing that carries out a series of tests automatically

Automatic test equipment or automated test equipment (ATE) is any apparatus that performs tests on a device, known as the device under test (DUT), equipment under test (EUT) or unit under test (UUT), using automation to quickly perform measurements and evaluate the test results. An ATE can be a simple computer-controlled digital multimeter, or a complicated system containing dozens of complex test instruments capable of automatically testing and diagnosing faults in sophisticated electronic packaged parts or on wafer testing, including system on chips and integrated circuits.

Nios II is a 32-bit embedded processor architecture designed specifically for the Altera family of field-programmable gate array (FPGA) integrated circuits. Nios II incorporates many enhancements over the original Nios architecture, making it more suitable for a wider range of embedded computing applications, from digital signal processing (DSP) to system-control.

The MicroBlaze is a soft microprocessor core designed for Xilinx field-programmable gate arrays (FPGA). As a soft-core processor, MicroBlaze is implemented entirely in the general-purpose memory and logic fabric of Xilinx FPGAs.

The Arm Advanced Microcontroller Bus Architecture (AMBA) is an open-standard, on-chip interconnect specification for the connection and management of functional blocks in system-on-a-chip (SoC) designs. It facilitates development of multi-processor designs with large numbers of controllers and components with a bus architecture. Since its inception, the scope of AMBA has, despite its name, gone far beyond microcontroller devices. Today, AMBA is widely used on a range of ASIC and SoC parts including applications processors used in modern portable mobile devices like smartphones. AMBA is a registered trademark of Arm Ltd.

<span class="mw-page-title-main">Wishbone (computer bus)</span>

The Wishbone Bus is an open source hardware computer bus intended to let the parts of an integrated circuit communicate with each other. The aim is to allow the connection of differing cores to each other inside of a chip. The Wishbone Bus is used by many designs in the OpenCores project.

<span class="mw-page-title-main">Video display controller</span> Type of integrated circuit

A video display controller (VDC), also called a display engine or display interface, is an integrated circuit which is the main component in a video-signal generator, a device responsible for the production of a TV video signal in a computing or game system. Some VDCs also generate an audio signal, but that is not their main function. VDCs were used in the home computers of the 1980s and also in some early video picture systems.

A soft microprocessor is a microprocessor core that can be wholly implemented using logic synthesis. It can be implemented via different semiconductor devices containing programmable logic, including both high-end and commodity variations.

LatticeMico32 is a 32-bit microprocessor reduced instruction set computer (RISC) soft core from Lattice Semiconductor optimized for field-programmable gate arrays (FPGAs). It uses a Harvard architecture, which means the instruction and data buses are separate. Bus arbitration logic can be used to combine the two buses, if desired.

This is a glossary of terms used in the field of Reconfigurable computing and reconfigurable computing systems, as opposed to the traditional Von Neumann architecture.

<span class="mw-page-title-main">OpenRISC 1200</span> Open source microprocessor

The OpenRISC 1200 (OR1200) is an implementation of the open source OpenRISC 1000 RISC architecture.

The Open Core Protocol (OCP) is a protocol for on-chip subsystem communications. It is an openly licensed, core-centric protocol and defines a bus-independent, configurable interface. OCP International Partnership (OCP-IP) produces OCP specifications. OCP data transfer models range from simple request-grant handshaking through pipelined request-response to complex out-of-order operations.

CompactRIO is a real-time embedded industrial controller made by National Instruments for industrial control systems. The CompactRIO is a combination of a real-time controller, reconfigurable IO Modules (RIO), FPGA module and an Ethernet expansion chassis.

References

  1. "SBA - Simple Bus Architecture". Sba.accesus.com. Retrieved 2014-05-15.
  2. "Reconfigurable Virtual Instrumentation Based on FPGA for Science and High-Education" . Retrieved 2024-10-12.
  3. Maxfield, C. 2004. The Design Warrior's Guide to FPGAs: Devices, Tools and Flows. Elsevier 2004
  4. "Arquitectura de bus simple, un conjunto de herramientas para el desarrollo rápido y portable de sistemas en chip".
  5. "SoC Interconnection: WISHBONE :: OpenCores". opencores.org.
  6. "Reconfigurable virtual instruments: Development of arbitrary waveform generator".
  7. Vega, J., & Risco, M. (2010). Desarrollo de un trazador de curvas como un caso de aplicación de instrumentos basados en instrumentación virtual reconfigurable. In Congreso de Microelectrónica Aplicada (pp. 93-98)
  8. "Development and implementation of the SBA interface for a 16 independent programmable channels PWM IP Core". doi:10.33017/RevECIPeru2010.0017/.
  9. "Implementation of a Guidance Determination System Guidance Determination System Using Sopc Design in a FPGA for Unmanned Aerial Vehicle Type Quadrotor" (PDF).
  10. Adeluyi, Olufemi; Risco-Castillo, Miguel A.; Liz Crespo, María; Cicuttin, Andres; Lee, Jeong-A. (January 15, 2020). "A Computerized Bioinspired Methodology for Lightweight and Reliable Neural Telemetry". Sensors. 20 (22): 6461. Bibcode:2020Senso..20.6461A. doi: 10.3390/s20226461 . PMC   7696551 . PMID   33198191.
  11. Castillo, Miguel Alberto Risco (August 3, 2018). Diseño de instrumentos electrónicos mediante bloques de lógica reconfigurable y herramientas libres. doi:10.18687/laccei2018.1.1.374. ISBN   978-0-9993443-1-6 via laccei.org.