2023-12-05 14:58:41 +08:00
|
|
|
# WRPLL simulation
|
|
|
|
|
2024-05-07 16:27:52 +08:00
|
|
|
Frequency and time domain simulation for WRPLL
|
2023-12-05 14:58:41 +08:00
|
|
|
|
2023-12-13 12:12:17 +08:00
|
|
|
## Installation
|
2023-12-05 14:58:41 +08:00
|
|
|
|
2023-12-13 12:12:17 +08:00
|
|
|
### Poetry:
|
2023-12-05 14:58:41 +08:00
|
|
|
```bash
|
2023-12-13 15:51:46 +08:00
|
|
|
poetry install
|
2023-12-13 12:12:17 +08:00
|
|
|
poetry run jupyter lab
|
|
|
|
```
|
|
|
|
|
|
|
|
### Poetry shell:
|
|
|
|
```bash
|
2023-12-13 15:51:46 +08:00
|
|
|
poetry install
|
2023-12-13 12:12:17 +08:00
|
|
|
poetry shell
|
2023-12-05 14:58:41 +08:00
|
|
|
```
|
2023-12-13 12:12:17 +08:00
|
|
|
|
|
|
|
### Nix:
|
2023-12-05 14:58:41 +08:00
|
|
|
```bash
|
2023-12-13 12:12:17 +08:00
|
|
|
nix develop
|
2023-12-05 14:58:41 +08:00
|
|
|
```
|
|
|
|
|
|
|
|
## Quick start
|
2024-05-07 16:27:52 +08:00
|
|
|
- The simulation file is located at `src`
|
|
|
|
- RAM usage and execution time estimate for time domain simulation
|
2024-01-26 16:55:38 +08:00
|
|
|
- 500,000,000 time steps: 8GiB RAM and 55 seconds
|
2024-05-07 16:27:52 +08:00
|
|
|
- Frequency domain doc is also [available](./doc/freqsim.md)
|
2023-12-05 14:58:41 +08:00
|
|
|
|
|
|
|
<br>
|
|
|
|
<details><summary><b>WRPLL formulas</b></summary>
|
|
|
|
|
|
|
|
- Assume the difference between $f_{main}, f_{gtx}$ is very small
|
|
|
|
|
|
|
|
- Let $f_{in} = f_{main} = f_{gtx}$
|
|
|
|
|
|
|
|
- $f_{helper} = f_{in} * \dfrac{N-1}{N}$
|
|
|
|
|
|
|
|
- $f_{beat} = f_{in} - f_{helper} = \dfrac{f_{in}}{N}$
|
|
|
|
|
|
|
|
- Main and helper Si549 DCXO **ADPLL** setting
|
|
|
|
|
|
|
|
- $ADPLL = \dfrac{\Delta f_{outppm}}{0.0001164}$
|
|
|
|
|
|
|
|
</details><br>
|
|
|
|
|
|
|
|
## Limitation
|