morgan
547a02e6d3
sim: add step input to gtx
2024-01-26 16:58:50 +08:00
morgan
39bb656f85
sim: replace beating period error formula
2024-01-26 16:58:49 +08:00
morgan
5a9fa937ee
sim: refactor into OOP & add FW collector
2024-01-26 16:58:43 +08:00
morgan
f7a1d17628
notebook: convert all ipynb to py scripts
2024-01-22 10:35:21 +08:00
morgan
66d895bf0d
toolchain: add jupytext to poetry and flake
2024-01-22 10:27:02 +08:00
morgan
bfe15a558a
flake: update poetry2nix & remove scipy override
2024-01-16 17:30:17 +08:00
morgan
203bff205d
formatting: add flake8-black
...
py: format using black
poetry: add flake8-black
flake: add buildInputs for flake8-black
2024-01-11 17:20:20 +08:00
morgan
f58ab13e9b
improve jitter generation
...
wave_gen: change to gussian jitter distribution
wrapper: reduce gtx_jitter to meet real world performance
docs: remove noise limitation
2023-12-13 17:14:20 +08:00
morgan
734e87eede
add dcxo frequency change settling time
...
wrapper: add default settling value
sim: gate frequency change behind settling time
example: update adpll_period to 200μs to account for settling delay
example: update docs for adpll_period minimum value
docs: remove the settling time limitation
2023-12-13 15:53:11 +08:00
morgan
6e562732e5
turn .py files into wrpll_simulation package
...
py files & notebook: update import
docs: update install instructions
2023-12-13 15:51:46 +08:00
morgan
8be1abe80b
git: ignore __pycache__
2023-12-13 15:46:04 +08:00
morgan
2e2a346610
toolchain: migrate from requirements.txt to poetry
...
poetry: add deps from requirements.txt
flake: import poetry with poetry2nix
doc: update installation section
2023-12-13 15:46:04 +08:00
morgan
fa8ad0b686
flake: remove flake-util and add formatter
2023-12-13 15:46:04 +08:00
morgan
97db1ea08b
docs: update limitation section
2023-12-13 15:45:29 +08:00
morgan
daabecc4b6
add i2c communication delay
...
wrapper: add default delay and convert to timesteps
sim: add i2c delay before changing DCXOs frequencies
2023-12-13 15:45:29 +08:00
morgan
7c4a680787
notebook: update examples
...
refactor into import, simulation and plotting 3 codeblocks
remove extra config for wrapper
add docs string for RNG
change adpll_period & start_up_delay unit
2023-12-13 15:44:11 +08:00
morgan
0b724e84da
wrapper: QoL improvement
...
time array is generated inside of wrapper
set default value for RNGs and ddmtd config
adpll_write_period and start_up_delay argument use seconds as their unit
freq_diff_error RNG now used the seed argument and uniform RNG
2023-12-12 13:33:02 +08:00
morgan
0a66f4c343
fix helper PLL glitches
...
sim: rename collector to phase_collector
sim: add period_collector for gtx tags
sim: trigger helper PLL after period_collector_r
sim: remove cycle slip compensation
sim: generator gtx in time loop
wave_gen: replace square generator with phase accumulator
wave_gen&wrpll: add white_noise generator
docs: remove section & png about cycle slipping and deglitcher failure
2023-12-12 13:32:22 +08:00
morgan
da5908e754
sim: improve code style and cleanup
...
sim & wave_gen: use njit instead of jit(nopython=True)
sim: removing extra == 1
wrapper: remove unused import
2023-12-12 10:27:22 +08:00
morgan
4b098c0a54
add README.md
...
readme: add quick start and installation docs
readme: add sim limitation with images
2023-12-05 14:58:41 +08:00
morgan
3f6e525108
add notebook examples with 3 PLL modes
2023-12-05 14:58:20 +08:00
morgan
96280ac79a
WRPLL simulation wrapper
...
wrpll: add gtx, base_adpll init
wrpll: config the 3 PLL modes, helper, main & both
wrpll: expose PID terms and sim options
2023-12-05 13:24:22 +08:00
morgan
cbc9772efa
WRPLL time domain simulation
...
wave_gen: add square wave with jitter generator
sim: add WRPLL gateware and firmware simulation
sim: add PID for main and helper PLL
sim: add options to choose PLL modes
sim: add cycle slip compensation for helper PLL
sim: optimize execution time with numba jit
2023-12-05 13:23:23 +08:00
morgan
72f47668c9
git: ignore .venv folder
2023-12-05 10:44:16 +08:00
morgan
d92214bd4e
add python dependencies and update flake
...
py: add requirements.txt
flake: add pip hook & update to 23.11
flake: add flake lock
2023-12-05 10:41:58 +08:00
morgan
4975093f41
init
2023-11-16 11:53:22 +08:00