I have a fairly complex design implemented in a GreenPak SLG46620G and was in the middle of debugging it, when suddenly the OSC unit stopped generating a 2 MHz clock. After hours of trying everything I could think of with no success, I created a trivial (but valid and useful) design that simply routes the OSC's OUT0 output to a pin. Even that doesn't work!
In attempt to isolate the problem, I added a simple multivibrator consisting of a "P DLY1" delay and an "INV" inverter looped together, and fed the inverter's output into OSC's CLK2 input. When this input is selected to feed the OUT0 output, the "clock" passes through successfully.
What is wrong? I hope it fails for you, so I don't have to debug some obscure problem on my PC running Windows 11.
Thanks in advance!
Download the file (right-click and choose "save link as...") at:
Found the problem: must "Force Power On" for the RC Oscillator. "Auto Power On" only works when a block that implicitly uses "Osc" is instantiated. I had deleted such a block during debugging.…
Found the problem: must "Force Power On" for the RC Oscillator. "Auto Power On" only works when a block that implicitly uses "Osc" is instantiated. I had deleted such a block during debugging.
IMO this is is a bad feature of the SLG46620: Even if you do have a block that implicitly uses Osc, the oscillator takes a very long time to start. Maybe if you are used to think in milliseconds this feature might be of some use, but otherwise you always want to force the oscillator on.