softpll_wb

WR Softcore PLL

Contents:

1. Memory map summary
2. HDL symbol
3. Register description
3.1. SPLL Control/Status Register
3.2. HPLL Frequency Error
3.3. DMPLL Tag ref
3.4. DMPLL Tag fb
3.5. DMPLL Tag aux
3.6. HPLL DAC Output
3.7. DMPLL DAC Output
3.8. AUX DAC Output
3.9. Deglitcher threshold
3.10. Interrupt disable register
3.11. Interrupt enable register
3.12. Interrupt mask register
3.13. Interrupt status register
5. Interrupts
5.1. Got a tag

1. Memory map summary

H/W Address Type Name VHDL/Verilog prefix C prefix
0x0 REG SPLL Control/Status Register spll_csr CSR
0x1 REG HPLL Frequency Error spll_per_hpll PER_HPLL
0x2 REG DMPLL Tag ref spll_tag_ref TAG_REF
0x3 REG DMPLL Tag fb spll_tag_fb TAG_FB
0x4 REG DMPLL Tag aux spll_tag_aux TAG_AUX
0x5 REG HPLL DAC Output spll_dac_hpll DAC_HPLL
0x6 REG DMPLL DAC Output spll_dac_dmpll DAC_DMPLL
0x7 REG AUX DAC Output spll_dac_aux DAC_AUX
0x8 REG Deglitcher threshold spll_deglitch_thr DEGLITCH_THR
0x10 REG Interrupt disable register spll_eic_idr EIC_IDR
0x11 REG Interrupt enable register spll_eic_ier EIC_IER
0x12 REG Interrupt mask register spll_eic_imr EIC_IMR
0x13 REG Interrupt status register spll_eic_isr EIC_ISR

2. HDL symbol

rst_n_i SPLL Control/Status Register:
clk_sys_i spll_csr_tag_en_o[3:0]
wb_adr_i[4:0] spll_csr_tag_rdy_i[3:0]
wb_dat_i[31:0] spll_csr_aux_en_i
wb_dat_o[31:0] spll_csr_aux_lock_o
wb_cyc_i  
wb_sel_i[3:0] HPLL Frequency Error:
wb_stb_i spll_per_hpll_i[31:0]
wb_we_i tag_hpll_rd_period_o
wb_ack_o  
wb_stall_o DMPLL Tag ref:
wb_int_o spll_tag_ref_i[31:0]
tag_ref_rd_ack_o
 
DMPLL Tag fb:
spll_tag_fb_i[31:0]
tag_fb_rd_ack_o
 
DMPLL Tag aux:
spll_tag_aux_i[31:0]
tag_aux_rd_ack_o
 
HPLL DAC Output:
spll_dac_hpll_o[15:0]
spll_dac_hpll_wr_o
 
DMPLL DAC Output:
spll_dac_dmpll_o[15:0]
spll_dac_dmpll_wr_o
 
AUX DAC Output:
spll_dac_aux_o[23:0]
spll_dac_aux_wr_o
 
Deglitcher threshold:
spll_deglitch_thr_o[15:0]
 
Got a tag:
irq_tag_i

3. Register description

3.1. SPLL Control/Status Register

HW prefix: spll_csr
HW address: 0x0
C prefix: CSR
C offset: 0x0
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
- - - - - - AUX_LOCK AUX_EN
7 6 5 4 3 2 1 0
TAG_RDY[3:0] TAG_EN[3:0]

3.2. HPLL Frequency Error

HW prefix: spll_per_hpll
HW address: 0x1
C prefix: PER_HPLL
C offset: 0x4
31 30 29 28 27 26 25 24
PER_HPLL[31:24]
23 22 21 20 19 18 17 16
PER_HPLL[23:16]
15 14 13 12 11 10 9 8
PER_HPLL[15:8]
7 6 5 4 3 2 1 0
PER_HPLL[7:0]

3.3. DMPLL Tag ref

HW prefix: spll_tag_ref
HW address: 0x2
C prefix: TAG_REF
C offset: 0x8
31 30 29 28 27 26 25 24
TAG_REF[31:24]
23 22 21 20 19 18 17 16
TAG_REF[23:16]
15 14 13 12 11 10 9 8
TAG_REF[15:8]
7 6 5 4 3 2 1 0
TAG_REF[7:0]

3.4. DMPLL Tag fb

HW prefix: spll_tag_fb
HW address: 0x3
C prefix: TAG_FB
C offset: 0xc
31 30 29 28 27 26 25 24
TAG_FB[31:24]
23 22 21 20 19 18 17 16
TAG_FB[23:16]
15 14 13 12 11 10 9 8
TAG_FB[15:8]
7 6 5 4 3 2 1 0
TAG_FB[7:0]

3.5. DMPLL Tag aux

HW prefix: spll_tag_aux
HW address: 0x4
C prefix: TAG_AUX
C offset: 0x10
31 30 29 28 27 26 25 24
TAG_AUX[31:24]
23 22 21 20 19 18 17 16
TAG_AUX[23:16]
15 14 13 12 11 10 9 8
TAG_AUX[15:8]
7 6 5 4 3 2 1 0
TAG_AUX[7:0]

3.6. HPLL DAC Output

HW prefix: spll_dac_hpll
HW address: 0x5
C prefix: DAC_HPLL
C offset: 0x14
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
DAC_HPLL[15:8]
7 6 5 4 3 2 1 0
DAC_HPLL[7:0]

3.7. DMPLL DAC Output

HW prefix: spll_dac_dmpll
HW address: 0x6
C prefix: DAC_DMPLL
C offset: 0x18
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
DAC_DMPLL[15:8]
7 6 5 4 3 2 1 0
DAC_DMPLL[7:0]

3.8. AUX DAC Output

HW prefix: spll_dac_aux
HW address: 0x7
C prefix: DAC_AUX
C offset: 0x1c
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
DAC_AUX[23:16]
15 14 13 12 11 10 9 8
DAC_AUX[15:8]
7 6 5 4 3 2 1 0
DAC_AUX[7:0]

3.9. Deglitcher threshold

HW prefix: spll_deglitch_thr
HW address: 0x8
C prefix: DEGLITCH_THR
C offset: 0x20
31 30 29 28 27 26 25 24
- - - - - - - -
23 22 21 20 19 18 17 16
- - - - - - - -
15 14 13 12 11 10 9 8
DEGLITCH_THR[15:8]
7 6 5 4 3 2 1 0
DEGLITCH_THR[7:0]

3.10. Interrupt disable register

HW prefix: spll_eic_idr
HW address: 0x10
C prefix: EIC_IDR
C offset: 0x40

Writing 1 disables handling of the interrupt associated with corresponding bit. Writin 0 has no effect.

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
- - - - - - - TAG

3.11. Interrupt enable register

HW prefix: spll_eic_ier
HW address: 0x11
C prefix: EIC_IER
C offset: 0x44

Writing 1 enables handling of the interrupt associated with corresponding bit. Writin 0 has no effect.

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
- - - - - - - TAG

3.12. Interrupt mask register

HW prefix: spll_eic_imr
HW address: 0x12
C prefix: EIC_IMR
C offset: 0x48

Shows which interrupts are enabled. 1 means that the interrupt associated with the bitfield is enabled

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
- - - - - - - TAG

3.13. Interrupt status register

HW prefix: spll_eic_isr
HW address: 0x13
C prefix: EIC_ISR
C offset: 0x4c

Each bit represents the state of corresponding interrupt. 1 means the interrupt is pending. Writing 1 to a bit clears the corresponding interrupt. Writing 0 has no effect.

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
- - - - - - - TAG

5. Interrupts

5.1. Got a tag

HW prefix: spll_tag
C prefix: TAG
Trigger: high level