Gpio 1
Gpio 1
ISSN: 2395-3470
www.ijseas.com
1
P P M.Tech. VLSI, U.V.Patel college of Engineering and Technology, Kherva, Mehsana, India
2T 2T
2
Verification Technical Assistant
P P
478
International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-3, June 2015
ISSN: 2395-3470
www.ijseas.com
1.Selectable CPU bus width: default options 2. GPIO pins can be enabled/disabled.
are 8/16/32-bit. 3. Input values are like high=1, low=0.
2.Selectable number of GPIO ports. 4. Output values are writable/readable
3.CPU read back enable.[2] 5. Input values can often be used as IRQs
(typically for wakeup events)
6. GPIO peripherals vary absolutely widely.
In some of the cases, they are much
simple, a group of pins which can be
switched as a group to either i/p or o/p. In
others case pins can be set up flexibly to
accept or source different logic voltages
like configurable drive strengths and pull
ups/downs. The input and output voltages
are not in all instances, that is limited to
Figure 1: GPIO module Diagram [2]
the supply voltage of the device with the
GPIOs on and may be damaged by greater
Objectives:
voltages.
7. A GPIO pin's state may be exposed to the
General Purpose I/O (GPIO) pins are
software developer through one of a
single necessary to give versatile to digital and
number of multiple interfaces, like a
analog signals for ADC conversions. To provide
memory mapped peripheral, or by
efficiency the signals should be nuclear
dedicated IO port instructions.
controllable on a particular chip board. All
8. A few GPIOs have 5 V tolerant inputs:
GPIO should be able to define either an input
even when the device has a low supply
mode or an output mode for individual pins on
voltage such as 2 V, the device can accept
the chip. At last the pins must be extendable for
up to 5 V without damage.
a wide array of applications and functional uses
that define its generality in use.
Ports:
A GPIO port is a group of GPIO pins
Usage:
(typically 8 GPIO pins) manage in a group and
controlled as a group.
1.Devices with pin scarcity integrated
circuits such as system-on-a-chip,
The reminder of the paper is organized
embedded and custom
as follows section II descried GPIO Architecture
hardware, and programmable logic devices
& Block Diagram.
(for example, FPGAs).
2.Multi-function chips power managers,
audio codecs, and video cards. II. GPIO Architecture & Block
3.Embedded applications (for example, Diagram
Arduino, BeagleBone, PSoC kits and
Raspberry Pi) make heavy use of GPIO for GPIO Architecture:
reading from various environmental
sensors (IR, video, temperature, 3-axis General architecture of GPIO IP core. It
orientation, and acceleration), and for consists of four main building blocks:
writing output to DC motors (via PWM),
audio, LCD displays, or LEDs for status. 1.APB(Master & Slave)
2.GPIO registers
Capability: 3.Auxiliary inputs
4.Interface to external I/O cells and pads [3]
1. GPIO pins can be configured to be input
1. APB:
or output.
479
International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-3, June 2015
ISSN: 2395-3470
www.ijseas.com
The APB is part of the AMBA protocol be used. ECLK register is worked as a part of
logic family. It display a chipper interface that is external interface. Usually register inputs based
optimized for minimal power consumption and on External clock reference.[3]
reduced interface complexity.
The APB protocol is not pipe lined, APB
use it to connect to lower bandwidth peripherals Features:
which do not wants the high performance of the
AXI protocol. 1. Number of general-purpose I/O signals is
The APB protocol relates a signal user selectable and can be in range from 1
transition to the rising edge of the clock, to to 32. For more I/O multiple GPIO cores
simplify the integration of APB peripherals into can be used in parallel.
any design flow. Every transfer takes minimum 2. Each general-purpose I/O signals can be
2 cycles.[4] bi-directional external bi-directional I/O
Cells are required in this case.
2. GPIO Registers: 3. Each general-purpose I/O signals can be
The GPIO IP Core has multiple software three-stated or open-drain enabled
accessible registers. Some of them registers have (External 3 state or open-drain Input-
the same width as no. of general-purpose Input- Output cells need in this case).
Output signals and they are from 0– 31 bits. The 4. General-purpose I/O signals
Host through these registers programs type and programmed as inputs can cause an
operation of each general-purpose Input-Output interrupt request to the CPU.
Signal.[3] 5. General-purpose I/O signals
programmed as inputs can be registered at
raising edge of system clock or at user
programmed edge of external clock.
6. All general-purpose I/O signals are
programmed as inputs at hardware reset.
7. Auxiliary inputs to GPIO core to bypass
outputs from RGPIO_OUT register.
8. Alternative input reference clock signal
from external interface.
9. Especially configurable (implementation
of registers, external clock reverse versus
needle flip-flops etc.)
10. APB interface
480
International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-3, June 2015
ISSN: 2395-3470
www.ijseas.com
chip peripherals devices can be multiplexed Table 1. List of All Software Accessible
each other with the GPIO pins. For this object, Registers [3]
auxiliary inputs can be multiplexed on general-
purpose outputs.
I/O Ports:
GPIO IP core has three interfaces.
1.APB interface
2.Auxiliary inputs interface
3.Interface to external I/O cells and pads [3]
1.APB interface:
• Master Description:
APB is a single bus master so there is no
need for an arbiter. The master carry the address
and write buses and also express a conjugative
decode of the address to decide which PSELx
signal to trigger and it is also important for
driving the PENABLE signal to time the
Figure 3: GPIO Block Diagram transfer. It carry APB data onto the system bus
during a read transfer.[4]
GPIO Operations:
• Hardware Reset • Slave Description:
• General-Purpose I/O as Polled Input APB slaves have a much simple and
• General-Purpose I/O as Input in Interrupt flexible interface. The perfect implementation
Mode the interface will be dependent on the design
• General-Purpose I/O as Output style employed and many non-identical options
• General-Purpose I/O as Bi-Directional I/O are possible. In this two signals are mainly
• General-Purpose I/O driven by Auxiliary
protect the loss data while transfer of data. They
Input.[3]
are PSLVERR and PREADY.[4]
GPIO Registers:
This section describes all control and 2.Auxiliary inputs:
status register inside the GPIO core.[3] Auxiliary inputs descried above.
Name Width Access Description
RGPIO_IN 0 – 31 R GPIO input data Port Width Direction Description
RGPIO_OUT 0 – 31 R/W GPIO output data aux_i 0-31 Inputs GPIO
auxiliary
RGPIO_OE 0 – 31 R/W GPIO output
inputs
driver enable
RGPIO_INTE 0 – 31 R/W Interrupt enable
Table 2. Auxiliary input signals [3]
RGPIO_PTRIG 0 – 31 R/W Type of event
that triggers an
interrupt 3.Interface to external I/O cells and pads
RGPIO_AUX 0 – 31 R/W Multiplex
Auxiliary inputs External interface connects GPIO core to
to GPIO outputs external I/O ring cells and pads. To assist open
RGPIO_CTRL 2 R/W Control register
RGPIO_INTS 0 – 31 R/W Interrupt status
drain or 3 state outputs, I/O cells with open
drain or 3 state used.
481
International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-3, June 2015
ISSN: 2395-3470
www.ijseas.com
482
International Journal of Scientific Engineering and Applied Science (IJSEAS) - Volume-1, Issue-3, June 2015
ISSN: 2395-3470
www.ijseas.com
[2].INICORE,
http://inicore.com/pdf/act/mb_gpio_mod_act
.pdf
[3]. OpenCores: http://opencores.org
[4]. AMBA Specification: http://www-
micro.deis.unibo.it/~magagni/amba99.pdf
[5]. Chris Spear, ”System Verilog for
Verification”
[6]. Samir Palnitkar ” Verilog HDL A Guide to
Digital Design and Synthesis”
CONCLUTION:
This paper gives an outline of the GPIO
Protocol and explain the GPIO working in
detail. The GPIO is designed using the Verilog
HDL according to the specification and is
verified using Xilinx. The simulation results
show that the data write into register and read
form registers, that value stored in a output side.
Hence, the design is functionally correct. Xilinx
also ensures the functional correctness of the
design.
MOTIVATIONAL WORK:
In this paper, Design of GPIO is verified
though a Direct Test Case in Xilinx. But you can
also verified in UVM by applying a Random or
Direct Test Cases. After verified that design
dump in to Design Complier (DC) and ICC. So,
a full ASIC cycle complete and after that a
design will Tap out.
IV. REFERENCE
483