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
→
|
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
|
←
|
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]
|
|
|
|
|
|
|
-
TAG_EN
[read/write]: Tagger enable
-
TAG_RDY
[read-only]: Tag ready
-
AUX_EN
[read-only]: Aux clock locking enable
-
AUX_LOCK
[read/write]: Aux clock locked flag (to slave)
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]
|
|
|
|
|
|
|
|
-
PER_HPLL
[read-only]: Period error value
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]
|
|
|
|
|
|
|
|
-
TAG_REF
[read-only]: Tag value
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]
|
|
|
|
|
|
|
|
-
TAG_FB
[read-only]: Tag value
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]
|
|
|
|
|
|
|
|
-
TAG_AUX
[read-only]: Tag value
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]
|
|
|
|
|
|
|
|
-
DAC_HPLL
[write-only]: DAC value
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]
|
|
|
|
|
|
|
|
-
DAC_DMPLL
[write-only]: DAC value
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]
|
|
|
|
|
|
|
|
-
DAC_AUX
[write-only]: DAC value
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]
|
|
|
|
|
|
|
|
-
DEGLITCH_THR
[read/write]: Threshold
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
|
-
TAG
[write-only]: Got a tag
write 1: disable interrupt 'Got a tag'
write 0: no effect
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
|
-
TAG
[write-only]: Got a tag
write 1: enable interrupt 'Got a tag'
write 0: no effect
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
|
-
TAG
[read-only]: Got a tag
read 1: interrupt 'Got a tag' is enabled
read 0: interrupt 'Got a tag' is disabled
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
|
-
TAG
[read/write]: Got a tag
read 1: interrupt 'Got a tag' is pending
read 0: interrupt not pending
write 1: clear interrupt 'Got a tag'
write 0: no effect
HW prefix:
|
spll_tag
|
C prefix:
|
TAG
|
Trigger:
|
high level
|