void SetVortexClockDivisor(
Chip chip,
ClockDivisor nDivisor,
Short value
);
void SetApexClockDivisor(
Chip chip,
ClockDivisor nDivisor,
Short value
);
Description
Sets the value of a clock divisor for a chip.
Parameters
chip
The ID the C Code generated for the chip. This will be something like chipName or an_chipName, depending on the name of the chip and the generation options.
nDivisor
A clock divisor ID generated by the C Code. The possible values for an OkikaVortex chip are:
VortexClockDivisor_PreScale
VortexClockDivisor_Clock0
VortexClockDivisor_Clock1
VortexClockDivisor_Clock2
VortexClockDivisor_Clock3
VortexClockDivisor_Chop1
VortexClockDivisor_Chop2
Possible OkikaApex chip values are:
ApexClockDivisor_ClockSys1Sys2Flag
ApexClockDivisor_ClockSys2
ApexClockDivisor_ClockSys1
ApexClockDivisor_Clock0
ApexClockDivisor_Clock1
ApexClockDivisor_Clock2
ApexClockDivisor_Clock3
ApexClockDivisor_Clock4DelayClock4
ApexClockDivisor_Clock5
ApexClockDivisor_Clock5DelayClock5
value
The new value of the clock divisor.
Return Value
None
Remarks
This function appends bytes to the current reconfiguration data for the chip. It is assumed that nDivisor is a valid clock divisor value. The change takes place immediately internally, meaning subsequent calls to GetClockDivisor for this chip and divisor will return the value set here. If nDivisor is equal to the current value of the clock divisor, then this function has no effect and no new bytes are appended to the reconfiguration data.
Important
When a reconfiguration that changes clock divisor values is sent, there is a Update_CLKS bit that must also be set for the clocks to actually be updated. All of the clock-setting functions (SetClockDivisor, IncrementClockDivisor, DecrementClockDivisor) ensure that this bit is set. However, for an OkikaVortex chip, after the reconfiguration is sent the bit must be turned off manually using ClockUpdatesFinished. See the documentation of ClockUpdatesFinished for more detail.