# wb_slave_spec_user

### SPEC User Interface

A sample 32-bit general-purpose SPEC user interface port

### Contents:

1. Memory map summary
2. HDL symbol
3. Register description
3.1. Control register
3.2. Auxiliar interface

### 1. Memory map summary

H/W Address | Type | Name | VHDL/Verilog prefix | C prefix
--- | --- | --- | --- | ---
0x0 | REG | Control register | spec_user_ctrl | CTRL
0x1 | REG | Auxiliar interface | spec_user_aux | AUX

### 2. HDL symbol

→ | rst_n_i |  | Control register: |
→ | clk_sys_i |  | spec_user_ctrl_ver_i[3:0] | ⇐
→ | wb_adr_i |  | spec_user_ctrl_led_green_o | →
⇒ | wb_dat_i[31:0] |  | spec_user_ctrl_led_red_o | →
⇐ | wb_dat_o[31:0] |  |  |
→ | wb_cyc_i |  | Auxiliar interface: |
⇒ | wb_sel_i[3:0] |  | spec_user_aux_button1_i | ←
→ | wb_stb_i |  | spec_user_aux_button2_i | ←
→ | wb_we_i |  | spec_user_aux_leds_o[3:0] | ⇒
← | wb_ack_o |  |  |
← | wb_stall_o |  |  |

### 3. Register description

### 3.1. Control register

HW prefix: | spec_user_ctrl
HW address: | 0x0
C prefix: | CTRL
C offset: | 0x0

A register containing basic SPEC controls

31 | 30 | 29 | 28 | 27 | 26 | 25 | 24
- | - | - | - | - | - | - | -

23 | 22 | 21 | 20 | 19 | 18 | 17 | 16
- | - | - | - | - | - | - | -

15 | 14 | 13 | 12 | 11 | 10 | 9 | 8
- | - | - | - | - | - | - | -

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
- | - | LED_RED | LED_GREEN | VER[3:0] |  |  |

- VER [read-only]: PCB Version
  This field accesses to the hard-wired 4 bits that indicate the PCB version
- LED_GREEN [read/write]: Front panel green LED
  Control bit for the green LED placed on the SPEC front panel
- LED_RED [read/write]: Front panel red LED
  Control bit for the red LED placed on the SPEC front panel

### 3.2. Auxiliar interface

HW prefix: | spec_user_aux
HW address: | 0x1
C prefix: | AUX
C offset: | 0x4

A register mapping the SPEC internal auxiliar interface

31 | 30 | 29 | 28 | 27 | 26 | 25 | 24
- | - | - | - | - | - | - | -

23 | 22 | 21 | 20 | 19 | 18 | 17 | 16
- | - | - | - | - | - | - | -

15 | 14 | 13 | 12 | 11 | 10 | 9 | 8
- | - | - | - | - | - | - | -

7 | 6 | 5 | 4 | 3 | 2 | 1 | 0
- | - | LEDS[3:0] | BUTTON2 | BUTTON1 |  |  |

- BUTTON1 [read-only]: User Push-button 1
  Status bit for the internal push-button 1
- BUTTON2 [read-only]: User Push-button 2
  Status bit for the internal push-button 2
- LEDS [read/write]: User Leds
  Control field for the 4 internal auxiliar LEDs