Commit Graph

25 Commits

Author SHA1 Message Date
39bb656f85 sim: replace beating period error formula 2024-01-26 16:58:49 +08:00
5a9fa937ee sim: refactor into OOP & add FW collector 2024-01-26 16:58:43 +08:00
f7a1d17628 notebook: convert all ipynb to py scripts 2024-01-22 10:35:21 +08:00
66d895bf0d toolchain: add jupytext to poetry and flake 2024-01-22 10:27:02 +08:00
bfe15a558a flake: update poetry2nix & remove scipy override 2024-01-16 17:30:17 +08:00
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
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
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
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
8be1abe80b git: ignore __pycache__ 2023-12-13 15:46:04 +08:00
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
fa8ad0b686 flake: remove flake-util and add formatter 2023-12-13 15:46:04 +08:00
97db1ea08b docs: update limitation section 2023-12-13 15:45:29 +08:00
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
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
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
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
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
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
3f6e525108 add notebook examples with 3 PLL modes 2023-12-05 14:58:20 +08:00
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
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
72f47668c9 git: ignore .venv folder 2023-12-05 10:44:16 +08:00
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
4975093f41 init 2023-11-16 11:53:22 +08:00