Entity: gpio

Diagram

integer N integer AW integer PW nreset clk access_in [PW-1:0] packet_in wait_in [N-1:0] gpio_in wait_out access_out [PW-1:0] packet_out [N-1:0] gpio_out [N-1:0] gpio_dir gpio_irq

Description

#############################################################################

Function: General Purpose Software Programmable IO

(See README.md for complete documentation)

#############################################################################

Author: Andreas Olofsson

License: MIT (see LICENSE file in this repository) #

#############################################################################

Generics

Generic name Type Value Description
N integer 24 number of gpio pins
AW integer 32 architecture address width
PW integer 104 packet width

Ports

Port name Direction Type Description
nreset input asynchronous active low reset
clk input clock
access_in input register access
packet_in input [PW-1:0] data/address
wait_out output pushback from mesh
access_out output register access
packet_out output [PW-1:0] data/address
wait_in input pushback from mesh
gpio_out output [N-1:0] data to drive to IO pins
gpio_dir output [N-1:0] gpio direction(0=input)
gpio_in input [N-1:0] data from IO pins
gpio_irq output OR of GPIO_ILAT register

Signals

Name Type Description
gpio_imask reg [N-1:0] ################################ # wires/regs/ params ################################ registers
gpio_itype reg [N-1:0]
gpio_ipol reg [N-1:0]
gpio_ilat reg [N-1:0]
read_data reg [N-1:0]
gpio_in_sync wire [N-1:0]
data_old reg [N-1:0] shadow
ilat_clr wire [N-1:0]
reg_wdata wire [N-1:0]
out_dmux wire [N-1:0]
rising_edge wire [N-1:0]
falling_edge wire [N-1:0]
irq_event wire [N-1:0]
reg_write wire
reg_read wire
reg_double wire
dir_write wire
imask_write wire
itype_write wire
ipol_write wire
ilatclr_write wire
out_write wire
outset_write wire
outclr_write wire
outxor_write wire
outreg_write wire
ctrlmode_in wire [4:0] From p2e of packet2emesh.v
data_in wire [AW-1:0] From p2e of packet2emesh.v
datamode_in wire [1:0] From p2e of packet2emesh.v
dstaddr_in wire [AW-1:0] From p2e of packet2emesh.v
srcaddr_in wire [AW-1:0] From p2e of packet2emesh.v
write_in wire From p2e of packet2emesh.v

Processes

Type: always

Description
################################ # GPIO_DIR ################################ 0=input 1=output

Type: always

Type: always

Type: always

Description
################################ # GPIO_IMASK ################################

Type: always

Description
################################ # GPIO_ITYPE ################################

Type: always

Description
################################ # GPIO_IPOL ################################

Type: always

Type: always

Description
################################ # READBACK ################################