eFPGA SubSystem

This is the eFPGA subsystem from QuickLogic. Based on ArcticPro 2 architecture Silicon-verified, production-proven eFPGA for MCU/SoC/custom ASIC applications - optimized for edge and endpoint AI processing, military and automotive. QuickLogic has been supplying eFPGA-based products for consumer, industrial and mission-critical applications for nearly three decades. Our eFPGA IP enables SoC designers the flexibility to easily program custom functions, hardware accelerators and security capability after an SoC has been manufactured.

Subsystem Architecture

The eFPGA block is an array of 32x32 SLC’s (Super Logic Cells), each SLC is composed of 2 LUT5s and 4 LUT4s

eFPGA Subsystem Components

Functional Description

Logic Cell

The eFPGA block

Math Units

The EFPGA has 2 Math units attached. Each math unit has 3 block RAMS (4KBytes) and 2 Multipliers. Each Block RAM has one read port and one write port with independant clocks. Each Port can be independenly configured as 8-bit, 16-bit or 32-bit by the configuration on the appropriate rmode, or wmode inputs. The Write data can also be selected to be from the fabric or the output of the Associated Multiplier.

Block RAM

Clocking

The eFPGA recieves 6 clocks from the SOC.

  • Clk0 is sourced by the PLL and the eFPGA divisor Circuit.

  • CLK1 is sources by the PLL and the peripheral divisor Circuit.

  • CLK2 is sourced by the RefClock divisor Circut.

  • CLK3 is source by an IO pin.

  • CLK4 is sourced by an IO pin.

  • CLK5 is sourced by an IO pin.

SoC Interfaces

Configurable Input/Output Signals

The example RTL file top.sv in the rtl/simulation folder is functional rtl design for verifying the eFPGA interfaces. It contain the mapping from the eFPGA to the SoC and IO. The example design instantiates all the interfaces and has simple logic that allows for exercising the interfaces, The various registers allow for control of all the resources and interfaces with simple state machines to demostrate the use of the resources.

L2 Interface

The L2 interface to the eFPGA is a memory mapped interface that is allocated a 1Mbyte address space. It is asynchronous to the CPU and contains clock crossing registers to maintain data integrity. the following table contains the L2 Interface signals. Various control registers are accessible via the L2 interface to test other functions in the eFPGA.

direction

Name

Description.

input

lint_REQ

Cycle request active high

input

lint_WEN

Write = 1, Read = 0.

input

lint_ADDR[19:0]

Address 20-bits

input

lint_WDATA[31:0]

Write Data 32-bits

input

lint_BE[3:0]

Byte enables 4-bits.

output

lint_VALID

Valid signal (ack)

output

lint_GNT

Grant signal

output

lint_RDATA[31:0]

Read Data 32-bits

output

lint_clk

Clock back to CDC logic

TCDM Interface

Core-v-mcu provides 4 TCDM (Tightly Coupled Distributed memory) Each of the these interfaces has full access to the 512KB of SoC memory allowing the eFPGA to perform reads and writes to memory. Each interface is connected through Clock Domain Crossing registers as the eFPGA is clocked by asynchronously from the SoC.

Direction

Name

Description

output

tcdm_addr_p0[19:0]

20-bit address for TCDM

input

tcdm_rdata_p0[31:0]

32-bit Read data returned from TCDM

input

tcdm_valid_p0

TCDM read data Valid

input

tcdm_gnt_p0

TCDM Grant indicating the cycle is in progress

input

tcdm_fmo_p0

TCDM interface can accept only one more request

output

tcdm_wdata_p0[31:0]

32-bit Data to write to TCDM

output

tcdm_be_p0[3:0]

4 byte enables for byte writes

output

tcdm_wen_p0

Write enable active high

output

tcdm_req_p0

TCDM cycle request

output

tcdm_clk_p0

TCDM clock from eFPGA to CDC logic

eFPGA Subsystem Registers

The eFPGA Template instantiates all the user accessible IO in the eFPGA and makes it available for logic validation .

The eFPGA provide the following interfaces and resources 1. Asynchronous CPU read/write bus. With 32-bit data, byte enables and 20-bits Address 2. Four TCDM interfaces for eFPGA high speed access to read/write main L2 RAM 3. 32-bits of fpga IO which connects the fpga to the device pins via the pin mux 4. 16-bits of event generation that can interrupt the CPU. 5. 2 Math units each mathunit contains 2 32-bit multipliers that can be fractured into 2-16-bit, 4-8-bit or 8-4-bit multiply with accumulators and 3 4Kbyte Simple dual port RAMS.

TCDM_CTL_P0 offset = 0x00

Field

Bits

Type

Default

Description

tcdm_wen_p0

31:31

RW

0x0

1 = read on TCDM 0, 0 = write on TCDM 0

tcdm_be_p0

23:20

RW

0x0

Set the bye enables for TCDM 0

tcdm_addr_p0

19:0

RW

0x0

Sets the address to be used on TCDM 0

TCDM_CTL_P1 offset = 0x04

Field

Bits

Type

Default

Description

tcdm_wen_p1

31:31

RW

0x0

1 = read on TCDM 1, 0 = write on TCDM 1

tcdm_be_p1

23:20

RW

0x0

Set the bye enables for TCDM 1

tcdm_addr_p1

19:0

RW

0x0

Sets the address to be used on TCDM 1

TCDM_CTL_P2 offset = 0x08

Field

Bits

Type

Default

Description

tcdm_wen_p2

31:31

RW

0x0

1 = read on TCDM 2, 0 = write on TCDM 2

tcdm_be_p2

23:20

RW

0x0

Set the bye enables for TCDM 2

tcdm_addr_p2

19:0

RW

0x0

Sets the address to be used on TCDM 2

TCDM_CTL_P3 offset = 0x0C

Field

Bits

Type

Default

Description

tcdm_wen_p3

31:31

RW

0x0

1 = read on TCDM 3, 0 = write on TCDM 3

tcdm_be_p3

23:20

RW

0x0

Set the bye enables for TCDM 3

tcdm_addr_p3

19:0

RW

0x0

Sets the address to be used on TCDM 3

There are 4 control regsisters (1 for each of te multiplier units) the bits in these registers will configure the multipler operation.

M0_M0_CONTROL offset = 0x10

Field

Bits

Type

Default

Description

m0_m0_reset

31:31

RW

0x0

Math Unit 0, Multiplier 0 reset accumulator

m0_m0_sat

18:18

RW

0x0

Math Unit 0, Multiplier 0 select saturation

m0_m0_clr

17:17

RW

0x0

Math Unit 0, Multiplier 0 clear accumulator

m0_m0_rnd

16:16

RW

0x0

Math Unit 0, Multiplier 0 select rounding

m0_m0_csel

15:15

RW

0x0

Math Unit 0, Multiplier 0 coefficient selection

m0_m0_osel

14:14

RW

0x0

Math Unit 0, Multiplier 0 operand slection

m0_m0_mode

13:12

RW

0x0

Math Unit 0, Multiplier 0 mode. 00 = 32-bit, 01 = 16-bit, 10= 8-bit, 11 = 4-bit

m0_m0_outsel

5:0

RW

0x0

Math Unit 0, Mutliplier 0 output select

M0_M1_CONTROL offset = 0x14

Field

Bits

Type

Default

Description

m0_m1_reset

31:31

RW

0x0

Math Unit 0, Multiplier 1 reset accumulator

m0_m1_sat

18:18

RW

0x0

Math Unit 0, Multiplier 1 select saturation

m0_m1_clr

17:17

RW

0x0

Math Unit 0, Multiplier 1 clear accumulator

m0_m1_rnd

16:16

RW

0x0

Math Unit 0, Multiplier 1 select rounding

m0_m1_csel

15:15

RW

0x0

Math Unit 0, Multiplier 1 coefficient selection

m0_m1_osel

14:14

RW

0x0

Math Unit 0, Multiplier 1 operand slection

m0_m1_mode

13:12

RW

0x0

Math Unit 0, Multiplier 1 mode. 00 = 32-bit, 01 = 16-bit, 10= 8-bit, 11 = 4-bit

m0_m1_outsel

5:0

RW

0x0

Math Unit 0, Mutliplier 1 output select

M1_M0_CONTROL offset = 0x18

Field

Bits

Type

Default

Description

m1_m0_reset

31:31

RW

0x0

Math Unit 1, Multiplier 0 reset accumulator

m1_m1_sat

18:18

RW

0x0

Math Unit 1, Multiplier 0 select saturation

m1_m0_clr

17:17

RW

0x0

Math Unit 1, Multiplier 0 clear accumulator

m1_m0_rnd

16:16

RW

0x0

Math Unit 1, Multiplier 0 select rounding

m1_m0_csel

15:15

RW

0x0

Math Unit 1, Multiplier 0 coefficient selection

m1_m0_osel

14:14

RW

0x0

Math Unit 1, Multiplier 0 operand slection

m1_m0_mode

13:12

RW

0x0

Math Unit 1, Multiplier 0 mode. 00 = 32-bit, 01 = 16-bit, 10= 8-bit, 11 = 4-bit

m1_m0_outsel

5:0

RW

0x0

Math Unit 1, Mutliplier 0 output select

M1_M1_CONTROL offset = 0x1C

Field

Bits

Type

Default

Description

m1_m1_reset

31:31

RW

0x0

Math Unit 1, Multiplier 1 reset accumulator

m1_m1_sat

18:18

RW

0x0

Math Unit 1, Multiplier 1 select saturation

m1_m1_clr

17:17

RW

0x0

Math Unit 1, Multiplier 1 clear accumulator

m1_m1_rnd

16:16

RW

0x0

Math Unit 1, Multiplier 1 select rounding

m1_m1_csel

15:15

RW

0x0

Math Unit 1, Multiplier 1 coefficient selection

m1_m1_osel

14:14

RW

0x0

Math Unit 1, Multiplier 1 operand slection

m1_m1_mode

13:12

RW

0x0

Math Unit 1, Multiplier 1 mode. 00 = 32-bit, 01 = 16-bit, 10= 8-bit, 11 = 4-bit

m1_m1_outsel

5:0

RW

0x0

Math Unit 1, Mutliplier 1 output select

Two RAM control registers are provide to configure the RAMs (1 for each Math unit)

M0_RAM_CONTROL offset = 0x20

Field

Bits

Type

Default

Description

m0_coef_wdsel

14:14

RW

0x0

Math Unit 0 coefficient RAM write data select 0 = Fabric, 1 = Multipler output

m0_oper1_wdsel

13:13

RW

0x0

Math Unit 0 Operand 0 RAM write data select 0 = Fabric, 1 = Multipler output

m0_oper0_wdsel

12:12

RW

0x0

Math Unit 0 Operand 1 RAM write data select 0 = Fabric, 1 = Multipler output

m0_coef_wmode

11:10

RW

0x0

Math Unit 0 coefficient RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m0_coef_rmode

9:8

RW

0x0

Math Unit 0 coefficient RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m0_oper1_wmode

7:6

RW

0x0

Math Unit 0 operand 0 RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m0_oper1_rmode

5:4

RW

0x0

Math Unit 0 operand 0 RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m0_oper0_wmode

3:2

RW

0x0

Math Unit 0 operand 1 RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m0_oper0_rmode

1:0

RW

0x0

Math Unit 0 operand 1 RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

M1_RAM_CONTROL offset = 0x24

Field

Bits

Type

Default

Description

m1_coef_wdsel

14:14

RW

0x0

Math Unit 1 coefficient RAM write data select 0 = Fabric, 1 = Multipler output

m1_oper1_wdsel

13:13

RW

0x0

Math Unit 1 Operand 0 RAM write data select 0 = Fabric, 1 = Multipler output

m1_oper0_wdsel

12:12

RW

0x0

Math Unit 1 Operand 1 RAM write data select 0 = Fabric, 1 = Multipler output

m1_coef_wmode

11:10

RW

0x0

Math Unit 1 coefficient RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m1_coef_rmode

9:8

RW

0x0

Math Unit 1 coefficient RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m1_oper1_wmode

7:6

RW

0x0

Math Unit 1 operand 0 RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m1_oper1_rmode

5:4

RW

0x0

Math Unit 1 operand 0 RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m1_oper0_wmode

3:2

RW

0x0

Math Unit 1 operand 1 RAM write mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

m1_oper0_rmode

1:0

RW

0x0

Math Unit 1 operand 1 RAM read mode 00 = 32-bit, 01 = 16=bit 10 = 8=bit

Four clock enable registers that are write only and clear to zero, when written to a ‘1’ and single clock enable will be generated to the specified multiplier.

M0_M0_CLKEN offset = 0x30

Field

Bits

Type

Default

Description

m0_m0_clken

0:0

WO

Math Unit 0 Multiplier 0 Clock enable

M0_M1_CLKEN offset = 0x34

Field

Bits

Type

Default

Description

m0_m1_clken

0:0

WO

Math Unit 0 Multiplier 1 Clock enable

M1_M0_CLKEN offset = 0x38

Field

Bits

Type

Default

Description

m1_m0_clken

0:0

WO

Math Unit 1 Multiplier 0 Clock enable

M1_M1_CLKEN offset = 0x3C

Field

Bits

Type

Default

Description

m1_m1_clken

0:0

WO

Math Unit 1 Multiplier 1 Clock enable

FPGAIO_OUT31_00 offset = 0x40

Field

Bits

Type

Default

Description

fpgaio_o_31

31:31

RW

0x0

Sets the fpgio output bit 31

fpgaio_o_30

30:30

RW

0x0

Sets the fpgio output bit 30

fpgaio_o_29

29:29

RW

0x0

Sets the fpgio output bit 29

fpgaio_o_28

28:28

RW

0x0

Sets the fpgio output bit 28

fpgaio_o_27

27:27

RW

0x0

Sets the fpgio output bit 27

fpgaio_o_26

26:26

RW

0x0

Sets the fpgio output bit 26

fpgaio_o_25

25:25

RW

0x0

Sets the fpgio output bit 25

fpgaio_o_24

24:24

RW

0x0

Sets the fpgio output bit 24

fpgaio_o_23

23:23

RW

0x0

Sets the fpgio output bit 23

fpgaio_o_22

22:22

RW

0x0

Sets the fpgio output bit 22

fpgaio_o_21

21:21

RW

0x0

Sets the fpgio output bit 21

fpgaio_o_20

20:20

RW

0x0

Sets the fpgio output bit 20

fpgaio_o_19

19:19

RW

0x0

Sets the fpgio output bit 19

fpgaio_o_18

18:18

RW

0x0

Sets the fpgio output bit 18

fpgaio_o_17

17:17

RW

0x0

Sets the fpgio output bit 17

fpgaio_o_16

16:16

RW

0x0

Sets the fpgio output bit 16

fpgaio_o_15

15:15

RW

0x0

Sets the fpgio output bit 15

fpgaio_o_14

14:14

RW

0x0

Sets the fpgio output bit 14

fpgaio_o_13

13:13

RW

0x0

Sets the fpgio output bit 13

fpgaio_o_12

12:12

RW

0x0

Sets the fpgio output bit 12

fpgaio_o_11

11:11

RW

0x0

Sets the fpgio output bit 11

fpgaio_o_10

10:10

RW

0x0

Sets the fpgio output bit 10

fpgaio_o_9

9:9

RW

0x0

Sets the fpgio output bit 9

fpgaio_o_8

8:8

RW

0x0

Sets the fpgio output bit 8

fpgaio_o_7

7:7

RW

0x0

Sets the fpgio output bit 7

fpgaio_o_6

6:6

RW

0x0

Sets the fpgio output bit 6

fpgaio_o_5

5:5

RW

0x0

Sets the fpgio output bit 5

fpgaio_o_4

4:4

RW

0x0

Sets the fpgio output bit 4

fpgaio_o_3

3:3

RW

0x0

Sets the fpgio output bit 3

fpgaio_o_2

2:2

RW

0x0

Sets the fpgio output bit 2

fpgaio_o_1

1:1

RW

0x0

Sets the fpgio output bit 1

fpgaio_o_0

0:0

RW

0x0

Sets the fpgio output bit 0

FPGAIO_OUT63_32 offset = 0x44

Field

Bits

Type

Default

Description

fpgaio_o_63

31:31

RW

0x0

Sets the fpgio output bit 63

fpgaio_o_62

30:30

RW

0x0

Sets the fpgio output bit 62

fpgaio_o_61

29:29

RW

0x0

Sets the fpgio output bit 61

fpgaio_o_60

28:28

RW

0x0

Sets the fpgio output bit 60

fpgaio_o_59

27:27

RW

0x0

Sets the fpgio output bit 59

fpgaio_o_58

26:26

RW

0x0

Sets the fpgio output bit 58

fpgaio_o_57

25:25

RW

0x0

Sets the fpgio output bit 57

fpgaio_o_56

24:24

RW

0x0

Sets the fpgio output bit 56

fpgaio_o_55

23:23

RW

0x0

Sets the fpgio output bit 55

fpgaio_o_54

22:22

RW

0x0

Sets the fpgio output bit 54

fpgaio_o_53

21:21

RW

0x0

Sets the fpgio output bit 53

fpgaio_o_52

20:20

RW

0x0

Sets the fpgio output bit 52

fpgaio_o_51

19:19

RW

0x0

Sets the fpgio output bit 51

fpgaio_o_50

18:18

RW

0x0

Sets the fpgio output bit 50

fpgaio_o_49

17:17

RW

0x0

Sets the fpgio output bit 49

fpgaio_o_48

16:16

RW

0x0

Sets the fpgio output bit 48

fpgaio_o_47

15:15

RW

0x0

Sets the fpgio output bit 47

fpgaio_o_46

14:14

RW

0x0

Sets the fpgio output bit 46

fpgaio_o_45

13:13

RW

0x0

Sets the fpgio output bit 45

fpgaio_o_44

12:12

RW

0x0

Sets the fpgio output bit 44

fpgaio_o_43

11:11

RW

0x0

Sets the fpgio output bit 43

fpgaio_o_42

10:10

RW

0x0

Sets the fpgio output bit 42

fpgaio_o_41

9:9

RW

0x0

Sets the fpgio output bit 41

fpgaio_o_40

8:8

RW

0x0

Sets the fpgio output bit 40

fpgaio_o_39

7:7

RW

0x0

Sets the fpgio output bit 39

fpgaio_o_38

6:6

RW

0x0

Sets the fpgio output bit 38

fpgaio_o_37

5:5

RW

0x0

Sets the fpgio output bit 37

fpgaio_o_36

4:4

RW

0x0

Sets the fpgio output bit 36

fpgaio_o_35

3:3

RW

0x0

Sets the fpgio output bit 35

fpgaio_o_34

2:2

RW

0x0

Sets the fpgio output bit 34

fpgaio_o_33

1:1

RW

0x0

Sets the fpgio output bit 33

fpgaio_o_32

0:0

RW

0x0

Sets the fpgio output bit 32

FPGAIO_OUT79_64 offset = 0x48

Field

Bits

Type

Default

Description

fpgaio_o_79

15:15

RW

0x0

Sets the fpgio output bit 79

fpgaio_o_78

14:14

RW

0x0

Sets the fpgio output bit 78

fpgaio_o_77

13:13

RW

0x0

Sets the fpgio output bit 77

fpgaio_o_76

12:12

RW

0x0

Sets the fpgio output bit 76

fpgaio_o_75

11:11

RW

0x0

Sets the fpgio output bit 75

fpgaio_o_74

10:10

RW

0x0

Sets the fpgio output bit 74

fpgaio_o_73

9:9

RW

0x0

Sets the fpgio output bit 73

fpgaio_o_72

8:8

RW

0x0

Sets the fpgio output bit 72

fpgaio_o_71

7:7

RW

0x0

Sets the fpgio output bit 71

fpgaio_o_70

6:6

RW

0x0

Sets the fpgio output bit 70

fpgaio_o_69

5:5

RW

0x0

Sets the fpgio output bit 69

fpgaio_o_68

4:4

RW

0x0

Sets the fpgio output bit 68

fpgaio_o_67

3:3

RW

0x0

Sets the fpgio output bit 67

fpgaio_o_66

2:2

RW

0x0

Sets the fpgio output bit 66

fpgaio_o_65

1:1

RW

0x0

Sets the fpgio output bit 65

fpgaio_o_64

0:0

RW

0x0

Sets the fpgio output bit 64

FPGAIO_OE31_00 offset = 0x50

Field

Bits

Type

Default

Description

fpgaio_oe_31

31:31

RW

0x0

Sets the fpgio output enable for bit 31

fpgaio_oe_30

30:30

RW

0x0

Sets the fpgio output enable for bit 30

fpgaio_oe_29

29:29

RW

0x0

Sets the fpgio output enable for bit 29

fpgaio_oe_28

28:28

RW

0x0

Sets the fpgio output enable for bit 28

fpgaio_oe_27

27:27

RW

0x0

Sets the fpgio output enable for bit 27

fpgaio_oe_26

26:26

RW

0x0

Sets the fpgio output enable for bit 26

fpgaio_oe_25

25:25

RW

0x0

Sets the fpgio output enable for bit 25

fpgaio_oe_24

24:24

RW

0x0

Sets the fpgio output enable for bit 24

fpgaio_oe_23

23:23

RW

0x0

Sets the fpgio output enable for bit 23

fpgaio_oe_22

22:22

RW

0x0

Sets the fpgio output enable for bit 22

fpgaio_oe_21

21:21

RW

0x0

Sets the fpgio output enable for bit 21

fpgaio_oe_20

20:20

RW

0x0

Sets the fpgio output enable for bit 20

fpgaio_oe_19

19:19

RW

0x0

Sets the fpgio output enable for bit 19

fpgaio_oe_18

18:18

RW

0x0

Sets the fpgio output enable for bit 18

fpgaio_oe_17

17:17

RW

0x0

Sets the fpgio output enable for bit 17

fpgaio_oe_16

16:16

RW

0x0

Sets the fpgio output enable for bit 16

fpgaio_oe_15

15:15

RW

0x0

Sets the fpgio output enable for bit 15

fpgaio_oe_14

14:14

RW

0x0

Sets the fpgio output enable for bit 14

fpgaio_oe_13

13:13

RW

0x0

Sets the fpgio output enable for bit 13

fpgaio_oe_12

12:12

RW

0x0

Sets the fpgio output enable for bit 12

fpgaio_oe_11

11:11

RW

0x0

Sets the fpgio output enable for bit 11

fpgaio_oe_10

10:10

RW

0x0

Sets the fpgio output enable for bit 10

fpgaio_oe_9

9:9

RW

0x0

Sets the fpgio output enable for bit 9

fpgaio_oe_8

8:8

RW

0x0

Sets the fpgio output enable for bit 8

fpgaio_oe_7

7:7

RW

0x0

Sets the fpgio output enable for bit 7

fpgaio_oe_6

6:6

RW

0x0

Sets the fpgio output enable for bit 6

fpgaio_oe_5

5:5

RW

0x0

Sets the fpgio output enable for bit 5

fpgaio_oe_4

4:4

RW

0x0

Sets the fpgio output enable for bit 4

fpgaio_oe_3

3:3

RW

0x0

Sets the fpgio output enable for bit 3

fpgaio_oe_2

2:2

RW

0x0

Sets the fpgio output enable for bit 2

fpgaio_oe_1

1:1

RW

0x0

Sets the fpgio output enable for bit 1

fpgaio_oe_0

0:0

RW

0x0

Sets the fpgio output enable for bit 0

FPGAIO_OE63_32 offset = 0x54

Field

Bits

Type

Default

Description

fpgaio_oe_63

31:31

RW

0x0

Sets the fpgio output enable for bit 63

fpgaio_oe_62

30:30

RW

0x0

Sets the fpgio output enable for bit 62

fpgaio_oe_61

29:29

RW

0x0

Sets the fpgio output enable for bit 61

fpgaio_oe_60

28:28

RW

0x0

Sets the fpgio output enable for bit 60

fpgaio_oe_59

27:27

RW

0x0

Sets the fpgio output enable for bit 59

fpgaio_oe_58

26:26

RW

0x0

Sets the fpgio output enable for bit 58

fpgaio_oe_57

25:25

RW

0x0

Sets the fpgio output enable for bit 57

fpgaio_oe_56

24:24

RW

0x0

Sets the fpgio output enable for bit 56

fpgaio_oe_55

23:23

RW

0x0

Sets the fpgio output enable for bit 55

fpgaio_oe_54

22:22

RW

0x0

Sets the fpgio output enable for bit 54

fpgaio_oe_53

21:21

RW

0x0

Sets the fpgio output enable for bit 53

fpgaio_oe_52

20:20

RW

0x0

Sets the fpgio output enable for bit 52

fpgaio_oe_51

19:19

RW

0x0

Sets the fpgio output enable for bit 51

fpgaio_oe_50

18:18

RW

0x0

Sets the fpgio output enable for bit 50

fpgaio_oe_49

17:17

RW

0x0

Sets the fpgio output enable for bit 49

fpgaio_oe_48

16:16

RW

0x0

Sets the fpgio output enable for bit 48

fpgaio_oe_47

15:15

RW

0x0

Sets the fpgio output enable for bit 47

fpgaio_oe_46

14:14

RW

0x0

Sets the fpgio output enable for bit 46

fpgaio_oe_45

13:13

RW

0x0

Sets the fpgio output enable for bit 45

fpgaio_oe_44

12:12

RW

0x0

Sets the fpgio output enable for bit 44

fpgaio_oe_43

11:11

RW

0x0

Sets the fpgio output enable for bit 43

fpgaio_oe_42

10:10

RW

0x0

Sets the fpgio output enable for bit 42

fpgaio_oe_41

9:9

RW

0x0

Sets the fpgio output enable for bit 41

fpgaio_oe_40

8:8

RW

0x0

Sets the fpgio output enable for bit 40

fpgaio_oe_39

7:7

RW

0x0

Sets the fpgio output enable for bit 39

fpgaio_oe_38

6:6

RW

0x0

Sets the fpgio output enable for bit 38

fpgaio_oe_37

5:5

RW

0x0

Sets the fpgio output enable for bit 37

fpgaio_oe_36

4:4

RW

0x0

Sets the fpgio output enable for bit 36

fpgaio_oe_35

3:3

RW

0x0

Sets the fpgio output enable for bit 35

fpgaio_oe_34

2:2

RW

0x0

Sets the fpgio output enable for bit 34

fpgaio_oe_33

1:1

RW

0x0

Sets the fpgio output enable for bit 33

fpgaio_oe_32

0:0

RW

0x0

Sets the fpgio output enable for bit 32

FPGAIO_OE79_64 offset = 0x58

Field

Bits

Type

Default

Description

fpgaio_oe_79

15:15

RW

0x0

Sets the fpgio output enable for bit 79

fpgaio_oe_78

14:14

RW

0x0

Sets the fpgio output enable for bit 78

fpgaio_oe_77

13:13

RW

0x0

Sets the fpgio output enable for bit 77

fpgaio_oe_76

12:12

RW

0x0

Sets the fpgio output enable for bit 76

fpgaio_oe_75

11:11

RW

0x0

Sets the fpgio output enable for bit 75

fpgaio_oe_74

10:10

RW

0x0

Sets the fpgio output enable for bit 74

fpgaio_oe_73

9:9

RW

0x0

Sets the fpgio output enable for bit 73

fpgaio_oe_72

8:8

RW

0x0

Sets the fpgio output enable for bit 72

fpgaio_oe_71

7:7

RW

0x0

Sets the fpgio output enable for bit 71

fpgaio_oe_70

6:6

RW

0x0

Sets the fpgio output enable for bit 70

fpgaio_oe_69

5:5

RW

0x0

Sets the fpgio output enable for bit 69

fpgaio_oe_68

4:4

RW

0x0

Sets the fpgio output enable for bit 68

fpgaio_oe_67

3:3

RW

0x0

Sets the fpgio output enable for bit 67

fpgaio_oe_66

2:2

RW

0x0

Sets the fpgio output enable for bit 66

fpgaio_oe_65

1:1

RW

0x0

Sets the fpgio output enable for bit 65

fpgaio_oe_64

0:0

RW

0x0

Sets the fpgio output enable for bit 64

FPGAIO_IN31_00 offset = 0x60

Field

Bits

Type

Default

Description

fpgaio_i_31

31:31

RW

0x0

Reads the fpgaio input value for bit 31

fpgaio_i_30

30:30

RW

0x0

Reads the fpgaio input value for bit 30

fpgaio_i_29

29:29

RW

0x0

Reads the fpgaio input value for bit 29

fpgaio_i_28

28:28

RW

0x0

Reads the fpgaio input value for bit 28

fpgaio_i_27

27:27

RW

0x0

Reads the fpgaio input value for bit 27

fpgaio_i_26

26:26

RW

0x0

Reads the fpgaio input value for bit 26

fpgaio_i_25

25:25

RW

0x0

Reads the fpgaio input value for bit 25

fpgaio_i_24

24:24

RW

0x0

Reads the fpgaio input value for bit 24

fpgaio_i_23

23:23

RW

0x0

Reads the fpgaio input value for bit 23

fpgaio_i_22

22:22

RW

0x0

Reads the fpgaio input value for bit 22

fpgaio_i_21

21:21

RW

0x0

Reads the fpgaio input value for bit 21

fpgaio_i_20

20:20

RW

0x0

Reads the fpgaio input value for bit 20

fpgaio_i_19

19:19

RW

0x0

Reads the fpgaio input value for bit 19

fpgaio_i_18

18:18

RW

0x0

Reads the fpgaio input value for bit 18

fpgaio_i_17

17:17

RW

0x0

Reads the fpgaio input value for bit 17

fpgaio_i_16

16:16

RW

0x0

Reads the fpgaio input value for bit 16

fpgaio_i_15

15:15

RW

0x0

Reads the fpgaio input value for bit 15

fpgaio_i_14

14:14

RW

0x0

Reads the fpgaio input value for bit 14

fpgaio_i_13

13:13

RW

0x0

Reads the fpgaio input value for bit 13

fpgaio_i_12

12:12

RW

0x0

Reads the fpgaio input value for bit 12

fpgaio_i_11

11:11

RW

0x0

Reads the fpgaio input value for bit 11

fpgaio_i_10

10:10

RW

0x0

Reads the fpgaio input value for bit 10

fpgaio_i_9

9:9

RW

0x0

Reads the fpgaio input value for bit 9

fpgaio_i_8

8:8

RW

0x0

Reads the fpgaio input value for bit 8

fpgaio_i_7

7:7

RW

0x0

Reads the fpgaio input value for bit 7

fpgaio_i_6

6:6

RW

0x0

Reads the fpgaio input value for bit 6

fpgaio_i_5

5:5

RW

0x0

Reads the fpgaio input value for bit 5

fpgaio_i_4

4:4

RW

0x0

Reads the fpgaio input value for bit 4

fpgaio_i_3

3:3

RW

0x0

Reads the fpgaio input value for bit 3

fpgaio_i_2

2:2

RW

0x0

Reads the fpgaio input value for bit 2

fpgaio_i_1

1:1

RW

0x0

Reads the fpgaio input value for bit 1

fpgaio_i_0

0:0

RW

0x0

Reads the fpgaio input value for bit 0

FPGAIO_IN63_32 offset = 0x64

Field

Bits

Type

Default

Description

fpgaio_i_63

31:31

RO

Reads the fpgaio input value for bit 63

fpgaio_i_62

30:30

RO

Reads the fpgaio input value for bit 62

fpgaio_i_61

29:29

RO

Reads the fpgaio input value for bit 61

fpgaio_i_60

28:28

RO

Reads the fpgaio input value for bit 60

fpgaio_i_59

27:27

RO

Reads the fpgaio input value for bit 59

fpgaio_i_58

26:26

RO

Reads the fpgaio input value for bit 58

fpgaio_i_57

25:25

RO

Reads the fpgaio input value for bit 57

fpgaio_i_56

24:24

RO

Reads the fpgaio input value for bit 56

fpgaio_i_55

23:23

RO

Reads the fpgaio input value for bit 55

fpgaio_i_54

22:22

RO

Reads the fpgaio input value for bit 54

fpgaio_i_53

21:21

RO

Reads the fpgaio input value for bit 53

fpgaio_i_52

20:20

RO

Reads the fpgaio input value for bit 52

fpgaio_i_51

19:19

RO

Reads the fpgaio input value for bit 51

fpgaio_i_50

18:18

RO

Reads the fpgaio input value for bit 50

fpgaio_i_49

17:17

RO

Reads the fpgaio input value for bit 49

fpgaio_i_48

16:16

RO

Reads the fpgaio input value for bit 48

fpgaio_i_47

15:15

RO

Reads the fpgaio input value for bit 47

fpgaio_i_46

14:14

RO

Reads the fpgaio input value for bit 46

fpgaio_i_45

13:13

RO

Reads the fpgaio input value for bit 45

fpgaio_i_44

12:12

RO

Reads the fpgaio input value for bit 44

fpgaio_i_43

11:11

RO

Reads the fpgaio input value for bit 43

fpgaio_i_42

10:10

RO

Reads the fpgaio input value for bit 42

fpgaio_i_41

9:9

RO

Reads the fpgaio input value for bit 41

fpgaio_i_40

8:8

RO

Reads the fpgaio input value for bit 40

fpgaio_i_39

7:7

RO

Reads the fpgaio input value for bit 39

fpgaio_i_38

6:6

RO

Reads the fpgaio input value for bit 38

fpgaio_i_37

5:5

RO

Reads the fpgaio input value for bit 37

fpgaio_i_36

4:4

RO

Reads the fpgaio input value for bit 36

fpgaio_i_35

3:3

RO

Reads the fpgaio input value for bit 35

fpgaio_i_34

2:2

RO

Reads the fpgaio input value for bit 34

fpgaio_i_33

1:1

RO

Reads the fpgaio input value for bit 33

fpgaio_i_32

0:0

RO

Reads the fpgaio input value for bit 32

FPGAIO_IN79_64 offset = 0x68

Field

Bits

Type

Default

Description

fpgaio_i_79

15:15

RO

Reads the fpgaio input value for bit 79

fpgaio_i_78

14:14

RO

Reads the fpgaio input value for bit 78

fpgaio_i_77

13:13

RO

Reads the fpgaio input value for bit 77

fpgaio_i_76

12:12

RO

Reads the fpgaio input value for bit 76

fpgaio_i_75

11:11

RO

Reads the fpgaio input value for bit 75

fpgaio_i_74

10:10

RO

Reads the fpgaio input value for bit 74

fpgaio_i_73

9:9

RO

Reads the fpgaio input value for bit 73

fpgaio_i_72

8:8

RO

Reads the fpgaio input value for bit 72

fpgaio_i_71

7:7

RO

Reads the fpgaio input value for bit 71

fpgaio_i_70

6:6

RO

Reads the fpgaio input value for bit 70

fpgaio_i_69

5:5

RO

Reads the fpgaio input value for bit 69

fpgaio_i_68

4:4

RO

Reads the fpgaio input value for bit 68

fpgaio_i_67

3:3

RO

Reads the fpgaio input value for bit 67

fpgaio_i_66

2:2

RO

Reads the fpgaio input value for bit 66

fpgaio_i_65

1:1

RO

Reads the fpgaio input value for bit 65

fpgaio_i_64

0:0

RO

Reads the fpgaio input value for bit 64

FPGA_EVENT15_00 offset = 0x6C

Field

Bits

Type

Default

Description

Event_15

15:15

RW

sets event 15 to the event unit

Event_14

14:14

sets event 14 to the event unit

Event_13

13:13

sets event 13 to the event unit

Event_12

12:12

sets event 12 to the event unit

Event_11

11:11

sets event 11 to the event unit

Event_10

10:10

sets event 10 to the event unit

Event_9

9:9

sets event 9 to the event unit

Event_8

8:8

sets event 8 to the event unit

Event_7

7:7

sets event 7 to the event unit

Event_6

6:6

sets event 6 to the event unit

Event_5

5:5

sets event 5 to the event unit

Event_4

4:4

sets event 4 to the event unit

Event_3

3:3

sets event 3 to the event unit

Event_2

2:2

sets event 2 to the event unit

Event_1

1:1

sets event 1 to the event unit

Event_0

0:0

RW

sets event 0 to the event unit

TCDM_RUN_P0 offset = 0x80

Field

Bits

Type

Default

Description

tcdm_wdata_p0

31:0

W

Runs a TCDM operation on P0 with TCDM_CTL_P0 Attributes

TCDM_RUN_P1 offset = 0x84

Field

Bits

Type

Default

Description

tcdm_wdata_p0

31:0

W

Runs a TCDM operation on P1 with TCDM_CTL_P0 Attributes

TCDM_RUN_P2 offset = 0x88

Field

Bits

Type

Default

Description

tcdm_wdata_p0

31:0

W

Runs a TCDM operation on P2 with TCDM_CTL_P0 Attributes

TCDM_RUN_P3 offset = 0x8C

Field

Bits

Type

Default

Description

tcdm_wdata_p0

31:0

W

Runs a TCDM operation on P3 with TCDM_CTL_P0 Attributes

M0_M0_ODATA offset = 0x90

Field

Bits

Type

Default

Description

odata

31:0

RW

Sets the operand data for math unit 0 multiplier 0

M0_M1_ODATA offset = 0x94

Field

Bits

Type

Default

Description

odata

31:0

RW

Sets the operand data for math unit 0 multiplier 1

M0_M0_CDATA offset = 0x98

Field

Bits

Type

Default

Description

cdata

31:0

RW

Sets the coeficient data for math unit 0 multiplier 0

M0_M1_CDATA offset = 0x9C

Field

Bits

Type

Default

Description

cdata

31:0

RW

Sets the coeficient data for math unit 0 multiplier 1

M1_M0_ODATA offset = 0xA0

Field

Bits

Type

Default

Description

odata

31:0

RW

Sets the operand data for math unit 1 multiplier 0

M1_M1_ODATA offset = 0xA4

Field

Bits

Type

Default

Description

odata

31:0

RW

Sets the operand data for math unit 0 multiplier 1

M1_M0_CDATA offset = 0xA8

Field

Bits

Type

Default

Description

cdata

31:0

RW

Sets the coeficient data for math unit 1 multiplier 0

M1_M1_CDATA offset = 0xAC

Field

Bits

Type

Default

Description

cdata

31:0

RW

Sets the coeficient data for math unit 1 multiplier 1

M0_M0_MULTOUT offset = 0x100

Field

Bits

Type

Default

Description

multout

31:0

RO

Reads the output of math unit 0 multiplier 0

M0_M1_MULTOUT offset = 0x104

Field

Bits

Type

Default

Description

multout

31:0

RO

Reads the output of math unit 0 multiplier 1

M1_M0_MULTOUT offset = 0x108

Field

Bits

Type

Default

Description

multout

31:0

RO

Reads the output of math unit 1 multiplier 0

M1_M01MULTOUT offset = 0x10C

Field

Bits

Type

Default

Description

multout

31:0

RO

Reads the output of math unit 1 multiplier 1

M0_OPER0[0x400] offset = 0x1000

M0_OPER1[0x400] offset = 0x2000

M0_COEF[0x400] offset = 0x3000

M1_OPER0[0x400] offset = 0x4000

M1_OPER1[0x400] offset = 0x5000

M1_COEF[0x400] offset = 0x6000