I was doing some "quick" playing with the FMzPLL tool. I used the tool as a shortcut (my bad) to avoid reading the tech manual to answer a clock input question from the HW designer and sent him screen capture snapshot of the tool output as my "answer". I should have been more diligent.
Later I tried to duplicate Excel spreadsheet with a formula also based on the tool's data flow. I used a clock input value of "11.5" as preserved in the email snapshot. I was surprised when this resulted in a different output value. I checked, double checked, triple checked my spreadsheet formula and decided I was missing something. More urgent matters pushed this to the background until today when I realized the different values and finally found out why the results differed. I forgot I originally entered a value of 11.52. The PC tool (silently) truncated the screen image of the clock input value to one decimal place while the actual entered value (to a point) is used for the calculation! So when I entered the real value (11.52), both the spreadsheet and tool had the same answer.
I also "discovered" another useful but unobvious feature (for a data nerd like me) hidden in the "" that exposes the full resolution of the NF clock multiplier divider to accommodate fractional increments of 1/256 per the tech ref (with to up to 8 decimal places of displayed resolution). My original goal was to get as close to the maximum clock rate of 180 MHz allowed (assuming it results in maximum performance). With the truncated 11.5 the closest was 179.9963 (using 4,125.21484375,1,2), but 11.52 (using 4,125,1,2) worked perfectly!
Another feature is "File->Advanced->Intermediate Values" which exposes the values for each individual step. Neither of this modes creates a check mark next to the feature in the menu to indicate that it is active. While the (show) "intermediate values" is obvious, the (enable) fractional multiplier is not.
So, if I might suggest, on the next release:
- show the full input resolution entered or "signal" that rounding has occurred (maybe with a rounded indicator).
- expose File->Advanced->Fractional Multiplier directly on the NF icon as a check box.
- expose File->Advanced->Intermediate Values as a check box within the "PLL Configuration" box.
These features probably would have saved me some time, including writing this "discussion".
By the way, entering "random" fractional NF values automatically adjusts to the closest 1/256 increment or integer, depending on the mode.