The register descriptions section describes the behavior and function of the customer-programmable non-volatile-memory registers in the
VersaClock 6E clock generators.
Table 1. Automotive VersaClock 6E Product(s)
ProductDescriptionPackage
5P49V605-Output VersaClock 6E (automotive, AEC-Q100)24 pins
For details of product operation, refer to the product datasheet.
VersaClock 6E Register Set
The device contains volatile (RAM) 8-bit registers and non-volatile 8-bit registers (Figure 1). The non-volatile registers are One-Time
Programmable (OTP), and bit values can only be changed from 1 (unburned state) to 0.
The OTP registers include factory trim data and four user configuration tables (Figure 1,Table 3). This document does not describe the
format or methods for programming factory trim data, which is programmed by the factory before shipment.
Each configuration table contains all the information to set up the device's output frequencies. When these configuration tables are
programmed, the device will automatically load the RAM registers with the desired configuration on power-up. The device initializes in
2
either I
mode until power is toggled (Table 2). When powered up in I²C mode, the first configuration table, CFG0, is loaded. When powered up in
selection-pin mode, the SEL0 and SEL1 inputs are decoded to select one of the four configuration tables CFG0-CFG3.
The RAM registers (Table 4) include Status registers for read-back of the device's operating conditions in I
Figure 1. Register Maps
C mode or selection-pin mode, depending on the state of the OUT0/SELB_I2C pin on power-up, and remains in the selected
Automotive VersaClock® 6E Register Descriptions and Programming Guide
User Configuration Table Selection
At power-up, the voltage at OUT0_SEL_I2CB pin 24 is latched by the part and used to select the state of SEL0/SCL pin 9 and SEL1/SDA
pin 8 (Table 2).
If a weak pull-up (10kΩ) is placed on OUT0_SEL_I2CB, the SEL0/SCL and SEL1/SDA pins will be configured as hardware select inputs,
SEL0 and SEL1. Connecting SEL0 and SEL1 to VDDD and/or GND selects one of 4 configuration register sets, CFG0 through CFG3,
which is then loaded into the non-volatile configuration registers to configure the clock synthesizer.
If a weak pull-down is placed on OUT0_SEL_I2CB (or if it is left floating to use internal pull-down), the pins SEL0 and SEL1 will be
configured as a I
configuration registers to configure the clock synthesizer. The host system can use the I
2
C interface's SDA and SCL slave bus. Configuration register set CFG0 is always loaded into the non-volatile
2
C bus to update the non-volatile configuration
registers to change the configuration, and to read status registers.
Table 2. Power-Up Setting of Hardware Select Pin vs I2C Mode, and Default OTP Configuration Register
OUT0_SEL_I2CB Strap at
Power-Up
10kΩ pull-up
10kΩ pull-down or floatingSDASCL
SEL1/SDA pinSEL0/SCL pinFunction
00OTP bank CFG0 used to initialize RAM configuration registers.
01OTP bank CFG1 used to initialize RAM configuration registers.
10OTP bank CFG2 used to initialize RAM configuration registers.
11OTP bank CFG3 used to initialize RAM configuration registers.
2
I
C bus enabled to access registers.
OTP bank CFG0 used to initialize RAM configuration registers.
I2C Interface and Register Access
When powered up in I2C mode (Table 2), the device allows access to internal RAM registers (Table 4). The OTP registers (Table 3) are
programmed by loading the desired values into the RAM registers that shadow the target OTP registers (Table 4), and initiating the
internal programming sequence for the desired register range.
Users should not write to the Trim RAM in address range 0x01–0x0F, or the Test RAM in address range 0x6A–0x6F, and should only write
to the OTP Control in address range 0x70–0x7F when programming the OTP.
The RAM in address range 0x80–0x8F is not used by the device and may be used for any purpose.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Register RangeRAM Register Block
0x00OTP ControlOTP Control0x000
0x01–0x0FTrimTrim0x000–0x00F
0x10–0x1FConfiguration–Main
0x20–0x2FConfiguration–CLK1
0x30–0x3FConfiguration–CLK2
0x40–0x4FConfiguration–CLK3
0x50–0x5FConfiguration–CLK4
0x60–0x69Configuration–Outputs
0x6A–0x6FFactory Use——
0x70–0x7FOTP Control——
0x80–0x8FUnused RAM——
0x90–0x9FFactory Use——
Corresponding OTP Register
Block Name
CFG0
CFG1
CFG2
CFG3
Corresponding OTP Register Block Address
Range
0x010–0x069
0x06A–0x0C3
0x0C4–0x11D
0x11E–0x177
VersaClock 6E Family Power-Up Behavior
On power-up, the following RAM register loading sequence occurs:
1. The RAM registers always initialize to a hard-wired set of default values, which are also the 'Default register values' for OTP shown in
subsequent tables.
2. If OTP_ burned bit D7 = 0 in the OTP Control register (Table 7), this indicates that the both the Trim OTP tables and at least one of
the four OTP user configuration tables have been programmed.
• Factory programmed product is typically shipped in this condition. Device has factory trim performed and with required
customization written into OTP memory. IDT programs user customization at factory test. Please visit our website for device
customization request.
• Trim RAM data will be updated from the Trim OTP registers into the appropriate trim RAM registers, overwriting the initial default
values.
• Configuration data will be read from the one of the four OTP user configuration tables into the appropriate configuration RAM
registers, overwriting the initial default values. When powered up in I
powered up in selection-pin mode, the SEL0 and SEL1 input pins are decoded to select one of the four configuration tables (Table
23).
• Initialization is now complete, and the part will operate per the configuration settings.
3. If OTP_ burned bit D7 = 1 in the OTP Control register (Table 7), this indicates that the four OTP user configuration tables are
unconfigured.
• Un-programmed product is shipped in this condition and ready for user self-program and customization.
• Configuration RAM data remains at the hard-wired set of default values.
• Initialization is now complete, and the part will operate per the default configuration settings.
• When powered up in I
2
C mode, the Configuration RAM registers can be written with the user's desired settings by the host system,
and the clock generator operated without ever programming any of the four OTP user configuration tables. Alternatively, the host
system (or a programming system) can program one of more of the four OTP user configuration tables, and also clear the OTP_
burned bit D7 in the OTP Control register (Table 7) to 0. The VersaClock 6E device will follow the behavior according to section 0
above for subsequent power ups.
2
C mode, the first configuration table, CFG0, is loaded. When
Automotive VersaClock® 6E Register Descriptions and Programming Guide
OTP Programming
The steps for OTP programming are given in Table 5. The procedure is to write the desired default data to the appropriate RAM registers,
and then to instruct the part to burn a desired register address range into OTP.
The RAM registers have an 8-bit register address (0x00 to 0x9F), while the user OTP registers have a 9-bit address (0x000 to 0x177).
This is because there are 4 banks of configuration data in OTP. The OTP addressing therefore extends across two RAM registers (Table
5). The 9-bit user start address is set by register 0x73[7:0] + 0x74[7]. The 9-bit user end address is set by register 0x75[7:0] + 0x76[7].
Table 5. OTP Programming Procedure
StepProcedureNotes
Connect all VDD pins to a single 3.3V, with OUT0_SEL_I2CB pin
0
left floating.
1Wait 100ms.Part power-up initialization.
Power on the part in I²C mode.
Write device RAM configuration registers 0x10 to 0x69 to the
2
desired state.
3Write registers 0x73 to 0x78 following the procedure in Table 5.
4Write register 0x72 = 0xF0.Reset burn bit.
5Write register 0x72 = 0xF8.Burn the OTP range defined above.
In above example, a 25MHz crystal is expected, OUT0 is enabled, OUT1 is 50MHz LVCMOS, OUT2 is 10KHz LVCMOS, OUT3 is 100MHz
LVCMOSD and OUT4 is 125MHz LVDS. In case of 5P49V6967 and 5P49V6968, the OUT3 setting will determine the frequency of the
LP-HCSL outputs.
2. Write the following values to program the OTP with config0 and trim bits (Table 6):
• Reg Address (hex): 73 74 75 76 77 78
• Configuration 0: 00 4E 34 E1 00 00
3. Start Burn with Reg 0x72 set to F8.
4. Wait 500ms.
5. Reset Burn Start Bit 0x72 set to F0.
In-System VersaClock 6E OTP Non-Volatile Programming via I2C
For in-system programming of OTP, it is required to power the VDDA and VDDD pins from 3.3V. Other VDD pins can be powered from
1.8V, 2.5V or 3.3V, whatever is needed for the application.
Burning OTP requires a high internal voltage. The circuit responsible for generating the high internal voltage needs at least 3.3V to
generate a high enough internal voltage for reliable OTP burning with good data retention.
Default Register Values
The following tables have a column “Default Value”. These are values as they show in a 5P49V69xxA000, so called “blank” device that is
meant for field programming. When the device is still un-programmed, it runs a default mode with OUT0 enabled and OUT1 = 100MHz,
assuming a 25MHz crystal is connected. The default values are the register settings for this default mode.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
The I2C slave address can be changed from the default 0xD4 to 0xD0 by programming the I2C_ADDR bit D0. Note that the I2C address
change occurs on the I
D0 should be followed by an I
2
C ACK of the write transaction. An I2C write sequence to register 0x00 that changes the value of I2C_ADDR bit
2
C STOP condition. Further I2C transactions to the part use the new address.
In the OTP Control Register (Table 7) bits can be set for the OTP Burn and OTP Trim status, VC6E or MEMS use and I2C address setting.
Four bits are left unused.
Table 7. RAM0 0x00 – OTP Control Register
BitsDefault ValueNameFunction
It's an active low state that indicates all the OTP burn process is done.
D71OTP_burned
D61OTP_TRIMAn active low state that indicates OTP trim part is burned.*
D51UnusedUnused.
D41UnusedUnused.
D31UnusedUnused.
D21UnusedUnused.
D11UnusedUnused.
D7 = 1 tells the chip that OTP is not burned and it will run the default mode.
D7 = 0 tells the chip that OTP is burned and it will transfer OTP content to the registers for
operating settings.
D01Device I2C_ADDRIf I2C_ADDR = 0 then D0 and if I2C_ADDR = 1 then D4.
* The trim values are commonly written with default values and the OTP_TRIM bit is left at “1”.
Factory Reserved Registers for Internal Use Only
Table 8. RAM0 – 0x01: Factory Reserved Bits - Device ID for Chip Identification
BitsDefault ValueNameFunction
D71CFG0_LOCK*Set to “0” to disable burning OTP of Configuration 0.
D61CFG1_LOCK*Set to “0” to disable burning OTP of Configuration 1.
D51CFG2_LOCK*Set to “0” to disable burning OTP of Configuration 2.
D41CFG3_LOCK*Set to “0” to disable burning OTP of Configuration 3.
D31UnusedUnused.
D21UnusedUnused.
D11ReservedFactory reserved, leave at “1”.
D01ReservedFactory reserved, leave at “1”.
* Configuration Lock bits can be used to prevent future OTP burning that can modify OTP content.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Table 21. RAM0 – 0x0E: Factory Reserved Bits
BitsDefault ValueNameFunction
D71
clk3_R_trim[2:0]clk_R_trim: trim for “R” variation, 1LSB is 10%, default is in the middle level.D60
D51
D41
clk4_R_trim[2:0]clk_R_trim: trim for “R” variation, 1LSB is 10%, default is in the middle level.D30
D21
D10CLK4_amp[0]clk_amp: tune the amplitude of PAD, 1LSB is 10%, default is in the middle level.
D00CLK3_amp[0]clk_amp: tune the amplitude of PAD, 1LSB is 10%, default is in the middle level.
Table 22. RAM0 – 0x0F: Factory Reserved Bits
BitsDefault ValueNameFunction
D71CLK1_amp[2]
D60CLK1_amp[1]
D50CLK1_amp[0]
D41CLK2_amp[2]
D30CLK2_amp[1]
clk_amp: tune the amplitude of PAD, 1LSB is 10%, default is in the middle level–Factory
reserved bits.
D20CLK2_amp[0]
D11CLK3_amp[2]
D00CLK3_amp[1]
Configuration Registers
The internal RAM configuration registers occupy 0x10 to 0x69 (Table 4). The 4 OTP configuration banks CFG0, CFG1, CFG2, and CFG3
use the same register structure and setting behavior.
The tables with register details refer to the RAM register address for simplicity. Table 23 shows the 3-digit OTP register addresses 0x010
to 0x177 for the four banks of identical configuration registers, and the corresponding RAM register address.
Configuration Register Detail and Functionality Description
Shutdown Function
The shutdown logic offers flexible configuration of shutdown signaling and clock output enable control. The shutdown logic is summarized
in Table 24.
SH bit D0 in the Shutdown register 0x10 (Table 25) configures the SD/OE input's action as either:
▪ Case 1: Output enable (OE) for the clock outputs (leaving the PLL running).
▪ Case 2: Full part shutdown. SH bit D1 = 0 for OE function, or 1 for shutdown function.
Case 1: Output Disable
In output disable mode, individual outputs can be selected to be either Hi-Z or driven high/low, depending on the configuration of the
CLKx_OS and CLKx_OE bits shown in Table 24.
Case 2: Shutdown
When the part is shutdown, the PLL is shutdown, differential outputs are driven High/Low, and the single-ended LVCMOS outputs are
driven low.
With SH (bit D0 in register 0x10) = 0 (“Output Enable” in the part configuration webtool):
▪ When SP bit D1 = 0 in the Shutdown register 0x10 (Table 25), the SD/OE input is active low (“Negative polarity” in the part
configuration webtool). Outputs are active when SD/OE pin is low.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
When SP bit D1 = 1, SD/OE is active high (“Positive polarity” in the part configuration webtool). The following sequence shall be applied
to activate the outputs:
1. Startup the VersaClock 6E and wait for PLL to lock.
2. Set the SD/OE pin to 0 (low level).
3. Set the SD/OE pin to 1 (high level).
Table 24. SD/OE Truth Table
Enable
Shutdown
SH bit (D0) SP bit (D1)OSn bit OEn bit
000 x xxTri-state
0010xxOutput active
0011x0Output active
001101High-Low
001 1 11Tri-state
010 x xxTri-state
0110x0Output active
011100High-Low
011 1 10Tri-state
011 1 x0
100 x x0Tri-state
1010x0Output active
1011x0Output active
OE Polarity
Output
Suspend
Output Enable
(only OE)
SD/OE bit SD/OE pinOUTn
→1
Output active (SD/OE pin needs to be first 0, then switched to
1 after PLL lock to activate the outputs)
110 x x0Tri-state
1110x0Output active
111100High-Low
111 1 10Hi-Z
1xxx01High-Low
1xx x 11Hi-Z
SH bit = “Shutdown Bit”: Enable shutdown mode where the SD/OE pin can disable more than just outputs.
SP bit = “SD/OE pin Polarity Bit”: Set the polarity of the SD/OE pin where outputs enable or disable. Only works with OE, not with SD.
OSn bit = “Output Suspend Bit”: Permanently disable an output, independent of SD/OE pin.
OEn bit = “Output Enable Bit”: Permanently enable an output, independent of SD/OE pin. Only works with OE, not with SD.
SD/OE bit = “Output Disabled State”: Set the output state to either driven High/Low or Hi-Z when disabled with the SD/OE pin.
SD/OE pin = Physical pin on the device.
SH and SP bits exist only once and affect all outputs. Other bits exist per output and affect that specific output.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Setting Up a Low-Power Shutdown Mode through I2C
1. Tristate the outputs by writing b'001ss000' to registers 0x60, 0x62, 0x64, and 0x66 where ss = 00, 10, or 11 for output clock supply
voltages 1.8V, 2.5V, or 3.3V.
2. Program all outputs to single-ended CMOS by writing 0x00 to registers 0x68.
3. Enable shutdown functionality by either writing 0x83 or 0x43 to register 0x10, for crystal clock source or external clock respectively.
4. Disable all output dividers by writing 0x80 to registers 0x21, 0x31, 0x41, and 0x51.
5. Take the SD/OE input pin 7 high.
Table 25. RAM1 – 0x10: Primary Source and Shutdown Register
BitsDefault ValueNameFunction
D71en_xtalCrystal Oscillator circuit is disabled with 0 and enabled with 1.
D60en_clkinCLKIN differential input circuit is disabled with 0 and enabled with 1.
D51unusedUnused Factory reserved bit.
D40unusedUnused Factory reserved bit.
Use “en_ref_doubler” is 1 to double the reference frequency for the Phase Frequency
D30en_ref_doubler
Detector.
Use “en_ref_doubler” is 0 to bypass the doubler.
D20en_refmode
D10SP
D00
Table 26. RAM6 – 0x68: CLK_OE/Shutdown Function
BitsDefault ValueNameFunction
D71CLK0_OESee Table 24 – This is bit OEn for output 0.
D61CLK1_OESee Table 24 – This is bit OEn for output 1.
D51CLK2_OESee Table 24 – This is bit OEn for output 2.
D41CLK3_OESee Table 24 – This is bit OEn for output 3.
D31CLK4_OESee Table 24 – This is bit OEn for output 4.
D21clk0_slewrate[1]
en_global
shutdown
Enable path from reference clock to OUT1. Set to 1 when OUT1 is a copy of the
reference clock (= OUT0). Set to 0 when using FOD1 for OUT1.
SD/OE input pin is active low if this bit is 0 and active high if this bit is 1. (If D0 = 0 then
D1 reverses SD/OE pin polarity, affecting OE bits in output polarity. If D0 = 1, SD/OE
pin = 1 causes global shutdown).
D1 reverses SD/OE pin polarity, affecting OE bits in output buffers and SD/OE input pin
is shutdown (SD) if this bit is 1.
CLK0 slew rate setting bit[1].
11 = Fastest.
00 = Slowest (20% slower than 11).
D11
D01
clk0_pwr_sel[1:0]
Clock output driver power supply voltage is indicated by these bits.
D1 D0 = 0x indicates 1.8V.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
R
R
X
Xt al O s cil lator
Cs
C i
Ce
Ce
Table 27. RAM6 – 0x69: CLK_OS/Shutdown Function
BitsDefault ValueNameFunction
D71CLK0_OSCLK_OS checks the shut down truth table. See Shutdown Function section.
D61CLK1_OSCLK_OS checks the shut down truth table. See Shutdown Function section.
D51CLK2_OSCLK_OS checks the shut down truth table. See Shutdown Function section.
D41CLK3_OSCLK_OS checks the shut down truth table. See Shutdown Function section.
D31CLK4_OSCLK_OS checks the shut down truth table. See Shutdown Function section.
D21clk0_slewrate[0]Depends on slew rate (depends on Shutdown function/truth table) – Set slew rate for clk0.
D10
otp_pwr_sel[1:0]
D00
Set Output Amplitude for OTP voltage:
Factory reserved
Use D1 D0 = 00.
Crystal Load Capacitor Registers
Registers 0x12 and 0x13 are Crystal X1 and X2 Load capacitor registers respectively that are used to add load capacitance to X1 and X2
respectively. In X1 Switch mode is provided with different mode selection options and in X2 polarity selection of clock can be made whose
values are given in the table.
Figure 2. Crystal Oscillator
G
M
F
S
C i
1
2
Cs
X
1
1
1
2
2
2
Short Example of Programming Crystal
Ci1 and Ci2 are on-chip capacitors that are programmable.
Cs is stray capacitance in the PCB and Ce is external capacitors for frequency fine tuning or for achieving load capacitance values
beyond the range of the on-chip programmability.
All these capacitors combined make the load capacitance for the crystal.
• Capacitance on pin X1: Cx1 = Ci1 + Cs1 + Ce1.
• Capacitance on pin X2: Cx2 = Ci2 + Cs2 + Ce2.
• Total Crystal Load Capacitance C
Example: For a Xtal C
C
= (6.92pF+ 7.5pF + 1.5pF)/2 = 7.9pF which is the closest value to 8pF.
L
Here, Cstray = 1.5pF; Package stray = 7.5pF
The binary settings corresponding to this value will be: X1 = X2 = “10000”.
of 8pF, the registers need to be programmed with X1 = X2 = 6.92 pF to get a total
The PRIMSRC (primary source) bit sets the polarity of the CLKSEL pin.
D1=0: When CLKSEL is Low, Crystal is selected. When CLKSEL is High, CLKIN input is
D10PRIMSRC
selected.
D1=1: When CLKSEL is Low, CLKIN input is selected. When CLKSEL is High, Crystal is
selected.
D00clkok1024Factory reserved.
Note: The device uses a pre-trimmed integrated crystal. Therefore, bits D7–D2 in registers 0x12 and 0x13 should be set to 1 to prevent
inaccuracy of the output frequencies.
The reference presented to the fractional PLL can be either directly connected, divided by two or divided by the any value from the range
of three to 127 as set in the register Ref_Div[6:0]. The phase detector of the PLL has a maximum frequency of 150MHz, therefore the
default is to bypass the pre-divider by setting Bypss_prediv = 1 (Table 32). For the functionality of Sel_prediv2 and bypss_prediv bits, see
Figure 3. Table 31 and Table 32 explains the bit selections.
Figure 3. PLL Pre-Divider Options
If pre-divider is selected by selecting bypass_ prediv = 0 (Table 31) then user can select divider by 2 or divider values from 3 to 127.
Table 31. RAM1 – 0x15: Reference Divider Register
BitsDefault ValueNameFunction
D70Sel_prediv2
D60
D50
D40
D30
D20
D10
D00
Ref_div[6:0]
Select the divider by 2 function; Divide by 2 if set to 1. And if bypass is set to 0. If divide bit
set 0 and bypass bit set to 0 then reference divider bits (D6 to D0) will take effect.
Reference Divider value.
Use Ref_div setting for values 3 to 127.
Use bit D7 for divide by 2.
Use “Bypass_prediv” bit in Table 32 for divide by 1.
When “Bypass_prediv” is 1, register 0x15 setting is don't care.
When “Sel_prediv2” is 1, Ref_div[6:0] setting is don't care.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Table 42. RAM1 – 0x1F: RC Control Register
BitsDefault ValueNameFunction
D70p3bypEnable or disable bypass 3rd pole filter
D60
D51
D41
D30
D20
D11
D00cnf_pfddlyPhase Frequency Detector delay configuration bit
cnf_p3[5:0]
3rd pole RC configuration. Following values are programmable with bits D1 through D6:
D3D2D1 = 001 → 2kOhm D6D5D4 = 001 → 1.8pF
D3D2D1 = 010 → 8kOhm D6D5D4 = 011 → 3.6pF
D3D2D1 = 011 → 1.6kOhm D6D5D4 = 111 → 5.4pF
D3D2D1 = 100 → 1kOhm.
D3D2D1 = 101 → 7kOhm.
D3D2D1 = 110 → 5.3kOhm.
D3D2D1 = 111 → 1.45kOhm.
Fractional Output Dividers and Spread Spectrum
The output dividers are composed of a 12 bit integer portion, ODx_intdiv[11:0] and a 24 bit fractional portion, ODx_frcdiv[23:0]. “x” is the
output number.
ODx = INT(ODx) + FRAC(ODx) = FVCO / 2 / OUTx (1)
Convert FRAC(ODx) to hex with Eq.2 where ROUND2INT means to round to the nearest integer. The round-off error of ODx in ppm is the
output frequency error in ppm.
Example: The VCO is 2500MHz and the output needs to be 40MHz.
The output divider value needs to be 2500 / 2 / 40 = 31.25.
Then INT(ODx) = 31 and FRAC(ODx) = 0.25 that gives:
24
2
× FRAC(ODx) = 224 × 0.25 = 4194304
ROUND2INT(4194304) = 4194304
ODx_frcdiv[23:0] = DEC2HEX(4194304) = 40 00 00
Spread spectrum capability is contained within the Fractional-N output dividers associated with each output clock. When applied, triangle
wave modulation of any spread spectrum amount, SS%AMT, from ±0.25% to ±2.5% center spread and - 0.5% to -5% down spread
between 30 and 63kHz may be generated, independent of the output clock frequency. Five variables define spread spectrum in FODx
(see Table 43).
Automotive VersaClock® 6E Register Descriptions and Programming Guide
RAM Register
NameFunction
ODx_ssceSpread spectrum control enable.0x25,0x35,0x45,0x551
ODx_intdiv
ODx_period
ODx_stepModulation step size.
ODx_offset
Integer portion of the FODx
divider, N.
Spread spectrum modulation
period.
Spread spectrum modulation
offset, which defines down
spread or center spread and is
the fractional portion of the
divider.
(see Table 23)
0x2D, 0x2E,0x3D,0x3E,
0x4D, 0x4E,0x5D,0x5E
0x29,0x2A,0x39,0x3A,
0x49,0x4A,0x59,0x5A
0x26,0x27,0x28,0x36,
0x37,0x38,0x46,0x47,
0x48,0x56,0x57,0x58
0x22,0x23,0x24,0x25,
0x32,0x33,0x34,0x35,
0x42,0x43,0x44,0x45,
0x52,0x53,0x54,0x55
Register
Length
12
13
24
30
Note
If ODx_ssce = 0, contents of ODx_period and
ODx_step are Don't Care.
Defined as half the reciprocal of the modulation
frequency and measured in cycles of the FODx
output frequency.
See equation below.
Sets the time rate of change or time slope of the
output clock frequency.
ODx_offset is the actual spread spectrum offset
subtracted from the Fractional portion of the
FODx divider N. It is the fractional portion of the
FODx divider and accounts for the fact that there
is no ODx_frcdiv in the Memory map.
To calculate the spread spectrum registers (fractional portion), first determine the value in decimal of the FOD output divider, N, for the
nominal output frequency without spread spectrum. The VCO frequency is divided by two to account for a fixed divide by 2 between the
VCO output and the input to the FOD. Convert the integer portion into hex to define ODx_intdiv.
If no spread is to be applied to FODx (ODx_ssce = 0) then ODx_period and ODx_step registers are don't Care and it is permissible to skip
to Eq.9. Convert FRAC(N) to 30 bits as per Eq.10.
When the ODx_period and ODx_step registers are calculated below, ODx_period and ODx_step are explicitly set to 0 if ODx_ssce will
always be 0. This is done for reasons of style, it reinforces the fact that there is no spread spectrum invoked when ODx_ssce = 0. If down
spread is to be turned on by just setting ODx_ssce = 1, then ODx _period and ODx_step must be calculated and registered. See Eq.9 to
see why changing only ODx_ssce works only for down spread.
Consider one cycle of down spread triangular modulation; the output divider, N, is ramped up linearly from the non-spread value of N
followed by a linear ramp back down to the non-spread value of N. N is always greater than or equal to the non-spread value of N,
therefore the output frequency is always less than or equal to the non-spread frequency.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Figure 5. Spread Step and Period
As normally defined, ODx_period (dec) would be 1/ F SS, but the modulation period is defined instead as ½*1/ FSS for the most direct
calculation of ODx_step as will be seen below in the following Equations. An added benefit is that the up ramp and the down ramp are
guaranteed to be symmetric. Note that ODx_period does not have units of time; it is the dimensionless number of FOUT periods that fit in
a half period of FSS.
Calculate the step size.
Since the spread spectrum ramp as implemented only decreases the frequency of FOUT, then the actual offset for down spread is zero.
But if the spread is to be centered, an offset equal to half the peak modulation, SS%AMT *N, is to be subtracted from the value of
FRAC(N).
If FRAC(N) is a small positive value, it is possible that after the center spread offset is subtracted ODx_offset will be negative. In this
case, retain only the lower 30 bits of the 32 bit hex value and assign them to ODx_offfset[29:0].
In this manner it can be seen that ODx_offset is the value of FRAC(N), appropriately adjusted should center spread be enabled.
Figure 6. Output Divider Control Settings Block Diagram
There are a number of MUX circuits to route clocks around and/or through certain fractional output dividers. For example, the output from
FOD1 can be channeled to outputs 1 through 4 so only FOD1 needs to be enabled when all output frequencies are the same. There are
also channeling options to use the output of one FOD to be the input of the following FOD so the output of that second FOD can be a very
low frequency, for example a few kHz. Only when an FOD gets its input clock from the PLL can the fractional part of the divider be used.
When using the clock from a previous output, the FOD can only be used in integer mode. The following pages explain how to set up the
MUX.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Output Divider Control Settings (Table 47 through Table 50)
These bits are for Output divider's control register settings and are reserved in general. The reset bit for the FOD is active low. The
combination of en_fod (fractional output divider enable bit), sel_ext (the output from previous channel FOD) and selb_norm (the output
from current FOD), will set the divider mode. The integer mode only can be enabled with int_mode bit.
00x1: FOD3 uses clock from PLL and OUT3 uses clock from FOD3.
1100: FOD3 disabled and OUT3 uses clock from OUT2. En_aux2 needs to be 1.
1111: FOD3 uses clock from OUT2 and OUT3 uses clock from FOD3. En_aux2 needs to be 1.
“int_mode3” sets integer mode for FOD3 (fractional settings will be ignored).
D70i2c_resetb4Reset Fractional Output Divider 4 (FOD4) circuit when set to 0.
00x1: FOD4 uses clock from PLL and OUT4 uses clock from FOD4.
1100: FOD4 disabled and OUT4 uses clock from OUT3. En_aux3 needs to be 1.
1111: FOD4 uses clock from OUT3 and OUT4 uses clock from FOD4. En_aux3 needs to be 1.
“int_mode4” sets integer mode for FOD1 (fractional settings will be ignored).
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Output Divider Integer Settings (Table 51 through Table 58)
Output divider's integer part consists of 12 bits spread on 2 consecutive registers. The 4 dividers are assigned to respectively to each
output: 1, 2, 3, 4.
Table 51. RAM2 – 0x2D: Output Divider 1 Integer Part
BitsDefault ValueNameFunction
D70
D60
D50
D40
D30
D20
D10
D00
Table 52. RAM2 – 0x2E: Output Divider 1 Integer Part
BitsDefault ValueNameFunction
D71
D61
D51
D40
D30unused bitsUnused Factory reserved bit.
D20unused bitsUnused Factory reserved bit.
D10unused bitsUnused Factory reserved bit.
D00unused bitsUnused Factory reserved bit.
OD1_intdiv[11:4]Output divider 1 integer part has 12 bit spread over 2 registers x2D and x2E.
OD1_intdiv[3:0]Output divider 1 integer part has 12 bit spread over 2 registers x2D and x2E.
Table 53. RAM3 – 0x3D: Output Divider 2 Integer Part
BitsDefault ValueNameFunction
D70
D60
D50
D40
D30
D20
D10
D00
OD2_intdiv[11:4]Output divider 2 integer part has 12 bit spread over 2 registers x3D and x3E.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Table 57. RAM5 – 0x5D: Output Divider 4 Integer Part
BitsDefault ValueNameFunction
D70
D60
D50
D40
D30
D20
D10
D00
Table 58. RAM5 – 0x5E: Output Divider 4 Integer Part
BitsDefault ValueNameFunction
D70
D60
D50
D40
D30unused bitsUnused Factory reserved bit.
D20unused bitsUnused Factory reserved bit.
D10unused bitsUnused Factory reserved bit.
D00unused bitsUnused Factory reserved bit.
OD4_intdiv[11:4]Output divider 4 integer part has 12 bit spread over 2 registers x5D and x5E.
OD4_intdiv[3:0]Output divider 4 integer part has 12 bit spread over 2 registers X5D and x5E.
Output Divider Fractional and Spread Settings (Table 59 through Table 94)
ODx_offset is the actual spread spectrum offset subtracted from the Fractional portion of the FODx divider N. It is the fractional portion of
the FODx divider. 30 bits spread over 4 registers. MSB is a sign bit. Set to 1 for negative numbers.
ODx_period bits are used to tune the spread rate from 30KHz to 63KHz according to the output frequency (period = Fout/Fss/2).13 bits
spread on 2 registers.
ODx_step is the Modulation step size; it sets the time rate of change or time slope of the output clock frequency. 24 bits spread on 3
registers.
If ODx_ssce = 0, contents of ODx_period and ODx_step are don't care only the ODx_offset are taken into account.
If ODx_ssce =1, means the spread is enabled for center spread offset. (See example of spread calculation “Example of FOD calculation
Automotive VersaClock® 6E Register Descriptions and Programming Guide
= 74 (hex)
= 001 (hex)
Skew
Skew is not implemented with a parallel load of the count of the output divider as is commonly done with non-fractional divides. Instead
skew is accomplished by increasing the value of the fractional output divider for only the very first clock cycle. The divide is increased by
the number of VCO cycles required to delay the completion of the first output clock cycle by the desired skew. For the second and all
subsequent output cycles, hardware changes the output divider to the value for the proper steady state output frequency.
The integer and fractional components of skew are calculated as follows:
There are 12 bits for an integer value and 6 bits for a fraction. The unit used for the skew is degrees of delay of the edge.
The VCO frequency is first divided by 2 before it goes to the Output Divider. The number programmed for skew is the amount of cycles of
the VCO/2 frequency that is needed to achieve the skew amount.
Let's use an example of OUT1 = 100MHz, OUT2 = 100MHz and we want to delay OUT1 with 1.3ns versus OUT2. The total cycle is 10ns
so 1.3ns represents 360×1.3/10 = 46.8° of skew. Let's also say that we used VCO = 2800MHz so the Output Divider value N =
(2800/2)/100 = 14. Each cycle of the VCO/2 = 1400MHz signal represents 360/14 = 25.7°. That means the skew number will be 46.8/25.7
= 1.82. The integer part of the skew will be 1 and the fractional setting will be INT(0.82×2
To apply the 1.3ns skew on OUT1, write the following values:
– Byte
Addr
0x2B – 00
0x2C – 10
0x2F – 74
Automotive VersaClock® 6E Register Descriptions and Programming Guide
After writing these values all counters need to be restarted to insert the 1.3ns delay in OUT1 versus the other outputs. The restarting can
be done by toggling the I
2
C global reset in bit 5 of register 0x76. First read register 0x76 to know the setting of all bits. Bit 5 will be “1”
when the outputs are running. Commonly the value of 0x76 will be E3 (hex) and I am assuming this value in the example code below.
The full code to set the 1.3ns skew on the fly will look as follows:
Addr – Byte
0x2B – 00 (OD1_intskew[11:4] = 00, most likely it is already 00; if so, skip this line)
0x2C – 10 (OD1_intskew[3:0] = 1)
0x2F – 74 (OD1_frskew[5:0] = 74)
0x76 – C3 (Set I2C_Global_Reset)
0x76 – E3 (Release I2C_Global_Reset)
Removing the skew again:
0x2B – 00
0x2C – 00
0x2F – 00
0x76 – C3
0x76 – E3
After writing these values on the fly, all counters need to be restarted to insert the 1.3ns delay in OUT1 versus the other outputs.
Output Divider Skew Integer and Fractional Part Registers Settings (Table 95
through
The 12 bits integer part of the skew are spread over 2 registers for each output divider and 6 bits are used to configure the fractional part
of the skew.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Clock Output Configurations Registers
In Clock Output Configuration registers described in the tables below, the CLKx_pwr_sel bits must be configured to match the clock
outputs' supply voltages applied externally. The bits don't adjust the clock output signal swings. CMOSX2 provides two phase-coherent
single ended CMOS outputs while CMOSD provides 2 signals out of phase by 180degree. In Clock2 Output Configuration, bits are for
disabling/enabling clock output/value and slew rate for differential outputs.
D11CLK3_slew[1]Slew rate control for CMOS single-ended.
D01CLK3_slew[0]
Output Drive Voltage is set by those bits.
D4 D3 = 00 sets 1.8V.
D4 D3 = 10 sets 2.5V.
D4 D3 = 11 sets 3.3V.
D1 D0 = 00 then output slew rate is 0.8*Normal.
D1 D0 = 01 then output slew rate indicates 0.85*Normal.
D1 D0 = 10 then output slew rate indicates 0.9*Normal.
D1 D0 = 11 then output slew rate indicates 1*Normal.
VersaClock 6E products 5P49V6967 and 5P49V6968 have LVCMOS outputs on output 3. Therefore, bits D7, D6 and D5 in registers 0x64
should be set to 001 and D4 and D3 set to 00 to implement the same.
SDOE_CLK3 = 1 causes OUT3 to disable to Hi-Z when disabled with SD/OE pin.
SDOE_CLK3 = 0 causes OUT3 to disable to High/Low when disabled with SD/OE pin.
Automotive VersaClock® 6E Register Descriptions and Programming Guide
Table 116. Power Up VDD check
VersaClock 6E products verify that all VDDs have ramped up before starting the configuration of circuits with settings from OTP. Because
of this feature, any VDD sequence can be used. For every output there is 1 bit to tell the chip to skip the verification of that output's VDD.
This bit can be used when the output is not used and the VDD will not be connected. It is still recommended to connect the VDD, but no
longer mandatory to allow the chip to start.
RegisterBitsDefault ValueNameFunction
0x20D70bypass_sync1
0x30D70bypass_sync2
0x40D70bypass_sync3
0x50D70bypass_sync4
Revision History
Revision DateDescription of Change
June 7, 2019
September 5, 2018
Updated Example of FOD calculation for SSCE = 1, PLL Configured Values, Output Values with SSCE =
0, and FOD1 Register Table.
Initial release.
“bypass_sync1” = 0: Include VDDO1 in VDD verification.
“bypass_sync1” = 1: Skip VDDO1 verification.
“bypass_sync2” = 0: Include VDDO2 in VDD verification.
“bypass_sync2” = 1: Skip VDDO2 verification.
“bypass_sync3” = 0: Include VDDO3 in VDD verification.
“bypass_sync3” = 1: Skip VDDO3 verification.
“bypass_sync4” = 0: Include VDDO4 in VDD verification.
“bypass_sync4” = 1: Skip VDDO4 verification.
Corporate Headquarters
6024 Silver Creek Valley Road
San Jose, CA 95138 USA
www.IDT.com
DISCLAIMER Integrated Device Technology, Inc. (IDT) and its affiliated companies (herein referred to as “IDT”) reserve the right to modify the products and/or specifications described herein at any time,
without notice, at IDT’s sole discretion. Performance specifications and operating parameters of the described products are determined in an independent state and are not guaranteed to perform the same
way when installed in customer products. The information contained herein is provided without representation or warranty of any kind, whether express or implied, including, but not limited to, the suitability
of IDT's products for any particular purpose, an implied warranty of merchantability, or non-infringement of the intellectual property rights of others. This document is presented only as a guide and does not
convey any license under intellectual property rights of IDT or any third parties.
IDT's products are not intended for use in applications involving extreme environmental conditions or in life support systems or similar devices where the failure or malfunction of an IDT product can be reasonably expected to significantly affect the health or safety of users. Anyone using an IDT product in such a manner does so at their own risk, absent an express, written agreement by IDT.
Integrated Device Technology, IDT and the IDT logo are trademarks or registered trademarks of IDT and its subsidiaries in the United States and other countries. Other trademarks used herein are the property
of IDT or their respective third party owners. For datasheet type definitions and a glossary of common terms, visit www.idt.com/go/glossary. Integrated Device Technology, Inc.. All rights reserved.