Altera SoCAL  16.0
The Altera SoC Abstraction Layer (SoCAL) API Reference Manual
 All Data Structures Variables Typedefs Groups
Register : Main PLL VCO Control Register 1 - vco1

Description

Contains settings that control the Main PLL VCO. The VCO1 register contains the numerator and denominator counter settings.

Register Layout

Bits Access Reset Description
[12:0] RW 0x1 Numerator (M)
[15:13] ??? 0x0 UNDEFINED
[21:16] RW 0x1 Denominator (N)
[31:22] ??? 0x0 UNDEFINED

Field : Numerator (M) - numer

Numerator in VCO output frequency equation. For incremental frequency change, if the new value lead to less than 20% of the frequency change, this value can be changed without resetting the PLL. The Numerator and Denominator can not be changed at the same time for incremental frequency changed.

Field Access Macros:

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_LSB   0
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_MSB   12
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_WIDTH   13
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_SET_MSK   0x00001fff
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_CLR_MSK   0xffffe000
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_RESET   0x1
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_GET(value)   (((value) & 0x00001fff) >> 0)
 
#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_SET(value)   (((value) << 0) & 0x00001fff)
 

Field : Denominator (N) - denom

Denominator in VCO output frequency equation. For incremental frequency change, if the new value lead to less than 20% of the frequency change, this value can be changed without resetting the PLL. The Numerator and Denominator can not be changed at the same time for incremental frequency changed.

Field Access Macros:

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_LSB   16
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_MSB   21
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_WIDTH   6
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_SET_MSK   0x003f0000
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_CLR_MSK   0xffc0ffff
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_RESET   0x1
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_GET(value)   (((value) & 0x003f0000) >> 16)
 
#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_SET(value)   (((value) << 16) & 0x003f0000)
 

Data Structures

struct  ALT_CLKMGR_MAINPLL_VCO1_s
 

Macros

#define ALT_CLKMGR_MAINPLL_VCO1_RESET   0x00010001
 
#define ALT_CLKMGR_MAINPLL_VCO1_OFST   0x4
 

Typedefs

typedef struct
ALT_CLKMGR_MAINPLL_VCO1_s 
ALT_CLKMGR_MAINPLL_VCO1_t
 

Data Structure Documentation

struct ALT_CLKMGR_MAINPLL_VCO1_s

WARNING: The C register and register group struct declarations are provided for convenience and illustrative purposes. They should, however, be used with caution as the C language standard provides no guarantees about the alignment or atomicity of device memory accesses. The recommended practice for writing hardware drivers is to use the SoCAL access macros and alt_read_word() and alt_write_word() functions.

The struct declaration for register ALT_CLKMGR_MAINPLL_VCO1.

Data Fields
uint32_t numer: 13 Numerator (M)
uint32_t __pad0__: 3 UNDEFINED
uint32_t denom: 6 Denominator (N)
uint32_t __pad1__: 10 UNDEFINED

Macro Definitions

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_LSB   0

The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_MSB   12

The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_WIDTH   13

The width in bits of the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_SET_MSK   0x00001fff

The mask used to set the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field value.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_CLR_MSK   0xffffe000

The mask used to clear the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field value.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_RESET   0x1

The reset value of the ALT_CLKMGR_MAINPLL_VCO1_NUMER register field.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_GET (   value)    (((value) & 0x00001fff) >> 0)

Extracts the ALT_CLKMGR_MAINPLL_VCO1_NUMER field value from a register.

#define ALT_CLKMGR_MAINPLL_VCO1_NUMER_SET (   value)    (((value) << 0) & 0x00001fff)

Produces a ALT_CLKMGR_MAINPLL_VCO1_NUMER register field value suitable for setting the register.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_LSB   16

The Least Significant Bit (LSB) position of the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_MSB   21

The Most Significant Bit (MSB) position of the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_WIDTH   6

The width in bits of the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_SET_MSK   0x003f0000

The mask used to set the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field value.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_CLR_MSK   0xffc0ffff

The mask used to clear the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field value.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_RESET   0x1

The reset value of the ALT_CLKMGR_MAINPLL_VCO1_DENOM register field.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_GET (   value)    (((value) & 0x003f0000) >> 16)

Extracts the ALT_CLKMGR_MAINPLL_VCO1_DENOM field value from a register.

#define ALT_CLKMGR_MAINPLL_VCO1_DENOM_SET (   value)    (((value) << 16) & 0x003f0000)

Produces a ALT_CLKMGR_MAINPLL_VCO1_DENOM register field value suitable for setting the register.

#define ALT_CLKMGR_MAINPLL_VCO1_RESET   0x00010001

The reset value of the ALT_CLKMGR_MAINPLL_VCO1 register.

#define ALT_CLKMGR_MAINPLL_VCO1_OFST   0x4

The byte offset of the ALT_CLKMGR_MAINPLL_VCO1 register from the beginning of the component.

Typedef Documentation

The typedef declaration for register ALT_CLKMGR_MAINPLL_VCO1.