squishy.gateware.core.pll
¶
- class squishy.gateware.core.pll.ICE40ClockDomainGenerator(*args, src_loc_at: int = 0, **kwargs)¶
PLL Wrapper for iCE40 based Squishy platforms.
This elaboratable declares two clock domains, usb and sync. The usb domain is a 60MHz clock coming from a ULPI phy, and the sync domain is a PLL’d up value from the system clock.
In Squishy rev1 the PLL for the sync domain is set for 100MHz.
- class squishy.gateware.core.pll.ECP5ClockDomainGenerator(*args, src_loc_at: int = 0, **kwargs)¶
PLL Wrapper for ECP5 based Squishy platforms.
This elaboratable declares two clock domains, usb and sync. The usb domain is a 60MHz clock coming from a ULPI phy, and the sync domain is a PLL’d up value from the system clock.
In Squishy rev2 the PLL for the sync domain is set for 300MHz.
- Variables:
pll_locked (Signal) – An active high signal indicating if the ECP5 PLL is locked and stable.