I believe the determination as to which clock frequency to use for a specific hardware module would be made based on the requirements for that specific module and the available clock frequencies. This is less of an issue in today's world than it used to be...with all the PLLs available on modern FPGAs designs aren't really limited to the one or two clock frequencies being generated by on-board oscillators.

As for the specific frequencies and such used in the mksocfpga configurations, this mostly came about as a more-or-less direct clone of the 5i25 configuration (but with twice as many available I/O connectors). If you need something different, it should be pretty straight-forward to migrate one of the other Mesa board configurations but you might need to update the PLL configuration (which is at the top level and outside the HM2 stuff).

On 7/19/2020 1:14 PM, pcwcol wrote:


On Saturday, July 18, 2020 at 4:06:45 PM UTC-7, Cameron McQuinn wrote:

Hi all,

I am looking to gain a better understanding of how the clocking for the
Hostmot2 firmware works in mksocfpga. In the Vivado block diagram, the
hostmot2_ip_wrap module has 3 clock ports: clklow, clkmed, and clkhigh. The
TCL scripts to generate the Vivado projects all connect clklow and clkmed
together. Clkmed and clklow connect to a 100MHz clock, and clkhigh connects
to a 200MHz clock. Where did these numbers come from?

Also, in the PIN_XXXXX file for each configuration, each module has an
associated clock tag. For instance, in PIN_ULTR_36.vhd, the PWM module has
the ClockHighTag (
https://github.com/machinekit/mksocfpga/blob/master/HW/VivadoProjects/avnet/ultra96/const/PIN_ULTR_36.vhd#L83).
Is there some place in the HM2 code that defines what clock tag each module
should have?

Thanks,
Cameron


Not sure about mksocfpga but in general the clocking setup is pretty
simple, the top level (card specific) file generates the various clocks
from the
clock source ( via DCM, PLL etc  depending on hardware) These are simple
fixed hardwired frequencies for a given card. Card specific constants
(on IDROMConst.vhd) are used to simply pass the fixed hardware clock
frequencies to the hm2 driver for its frequency based calculations

The clock tags that specify which clock a module uses (for determining I/O
frequencies) is in the module ID section of the pinout file:PINXXXX. vhd


--
Charles Steinkuehler
[email protected]

--
website: http://www.machinekit.io blog: http://blog.machinekit.io github: 
https://github.com/machinekit
--- You received this message because you are subscribed to the Google Groups "Machinekit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/machinekit/f9035d6d-e39c-44da-2b78-541f11727486%40steinkuehler.net.

Reply via email to