
This project exposes an enable-controlled smartcard PLL model through the Tiny Tapeout interface.
clk pin is used as the PLL reference input.ui[0] is the PLL enable control. When ui[0]=1 and ena=1, the PLL logic runs.ui[7:4] configures divider ratio for the feedback path.uio[3:0] configures charge pump gain.uo[4], uo[3], and uo[2].uo[0] and uo[1].Operational intent:
ena=1, releasing reset (rst_n=1), and setting ui[0]=1.ui[0]=0 (intentional disable).test folder.make -B
You can inspect waveforms using GTKWave:
gtkwave tb.fst tb.gtkw
No external hardware is required for RTL verification.
| # | Input | Output | Bidirectional |
|---|---|---|---|
| 0 | PLL enable | Lock detect | CP gain bit 0 (input) |
| 1 | Reserved | Almost lock | CP gain bit 1 (input) |
| 2 | Reserved | CLK/4 output | CP gain bit 2 (input) |
| 3 | Reserved | CLK/2 output | CP gain bit 3 (input) |
| 4 | Divider ratio bit 0 | PLL output clock | VCO monitor bit 0 (output) |
| 5 | Divider ratio bit 1 | PFD up monitor | VCO monitor bit 1 (output) |
| 6 | Divider ratio bit 2 | PFD down monitor | VCO monitor bit 2 (output) |
| 7 | Divider ratio bit 3 | Active enable status | VCO monitor bit 3 (output) |