Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
284 commits
Select commit Hold shift + click to select a range
c3775ff
Merge pull request #4 from troyrkaufman/SigGen
coreyqh Oct 9, 2025
65d5ba5
remove duplicate files
coreyqh Oct 9, 2025
f3dd3fb
trying to fix signed DAC
mmolinar1 Oct 9, 2025
2a5e7b1
Merge branch 'sigGenSV' of https://github.com/coreyqh/qick into SigGenSV
coreyqh Oct 9, 2025
ea470e1
renaming bram files for consistency, added directory comments to tb
abe-3 Oct 9, 2025
365c895
Merge pull request #6 from coreyqh/SigGenSV
coreyqh Oct 9, 2025
2272795
Merge pull request #5 from abe-3/sig_gen
coreyqh Oct 9, 2025
79d7518
Revert "Behavioral XPM FIFO model and various houskeeping"
coreyqh Oct 9, 2025
69f25ac
Merge pull request #7 from hrl-labs-clinic-25-26/revert-6-SigGenSV
coreyqh Oct 9, 2025
e35b3d0
Merge pull request #8 from coreyqh/SigGenSV
coreyqh Oct 9, 2025
0d41e89
top dac + tb
mmolinar1 Oct 9, 2025
6075785
Updated file names and replaced xilinx instantiations
troyrkaufman Oct 9, 2025
5559a53
Merge pull request #9 from jesliu-27/emulator_nb_interface
jesliu-27 Oct 9, 2025
67ab576
testing top_dac
jesliu-27 Oct 9, 2025
e9276b8
dac_top_tb changes
mmolinar1 Oct 9, 2025
b48b324
trying to get 16 periods
mmolinar1 Oct 9, 2025
7f259d2
Incorporating syntax fixes
troyrkaufman Oct 9, 2025
6c0a78d
Merge pull request #10 from troyrkaufman/SigGen
troyrkaufman Oct 9, 2025
288d1d5
tb for sig-gen only
jesliu-27 Oct 13, 2025
1deeb67
Merge pull request #1 from jesliu-27/axis_sig_gen_v6
jesliu-27 Oct 13, 2025
03d1e36
tb dac+ sig gen set up
jesliu-27 Oct 14, 2025
ff8698a
Merge pull request #2 from jesliu-27/axis_sig_gen_v6
jesliu-27 Oct 14, 2025
f511023
fix typo, simulation can run
jesliu-27 Oct 14, 2025
4957e3b
tb xpr files
jesliu-27 Oct 14, 2025
9feee71
daily commit for tb
jesliu-27 Oct 16, 2025
cf2cb13
sync qick_lib from qick upstream
jesliu-27 Oct 16, 2025
52cf3dd
Merge branch 'main' into axis_sig_gen_v6
jesliu-27 Oct 16, 2025
e27130c
Merge pull request #3 from jesliu-27/axis_sig_gen_v6
jesliu-27 Oct 16, 2025
f5f2f7e
dac_sig tb
jesliu-27 Oct 16, 2025
4b3de46
Merge pull request #1 from jesliu-27/axis_sig_gen_v6
jesliu-27 Oct 16, 2025
91a656a
Working axi_slv_sg_v6 translation. Need to test bram and fifo more ri…
jesliu-27 Oct 20, 2025
16a7b42
fix typo
jesliu-27 Oct 23, 2025
f04e8d8
Fifos match except for strange out of reset behavior
coreyqh Oct 28, 2025
97bed61
Merge pull request #18 from coreyqh/SigGen
coreyqh Nov 6, 2025
6abc95b
clean up
mmolinar1 Nov 6, 2025
9ccdbfa
Merge branch 'SigGen' of https://github.com/hrl-labs-clinic-25-26/qic…
mmolinar1 Nov 6, 2025
f5b8f44
Merge branch 'SigGen' of https://github.com/hrl-labs-clinic-25-26/qic…
jesliu-27 Nov 6, 2025
b40f804
Merge pull request #26 from jesliu-27/axis_sig_gen_v6
jesliu-27 Nov 6, 2025
5cf59df
Merge pull request #27 from mmolinar1/SigGen
coreyqh Nov 6, 2025
27045c9
WIP: AXI VIP refactor
coreyqh Nov 6, 2025
04b1ebe
dds simulation folder
jesliu-27 Nov 7, 2025
ecb83b9
updated dds tb
jesliu-27 Nov 7, 2025
6ffac6b
delete incorrect files
jesliu-27 Nov 7, 2025
52548d4
updated dds code
jesliu-27 Nov 7, 2025
a27d886
Merge pull request #4 from jesliu-27/axis_sig_gen_v6
jesliu-27 Nov 7, 2025
73f91ed
tb for dds
jesliu-27 Nov 10, 2025
4831af8
Merge pull request #5 from jesliu-27/axis_sig_gen_v6
jesliu-27 Nov 10, 2025
a5ae6fb
Add pulp platform VIP submodules
coreyqh Nov 10, 2025
4ba9f6a
Add newlines to the end of files
coreyqh Nov 10, 2025
7479149
WIP: refactored SG TB using pulp platform axi vip
coreyqh Nov 10, 2025
f5c1cc2
Merge pull request #40 from jesliu-27/main
jesliu-27 Nov 10, 2025
43507f4
Restore erroneously deleted sv source file
coreyqh Nov 11, 2025
4cc5a10
add new line
coreyqh Nov 11, 2025
0edd807
Update gitignore for verilator work dirs
coreyqh Nov 11, 2025
a02cfab
SigGen verilating, hanging
coreyqh Nov 11, 2025
b729e55
Mode DDS ROM file to tb dir
coreyqh Nov 11, 2025
007c47b
fixed tvalid issue
jesliu-27 Nov 13, 2025
63013c9
dds most updated xpr simulation
jesliu-27 Nov 13, 2025
defe8a4
Merge pull request #42 from jesliu-27/axis_sig_gen_v6
jesliu-27 Nov 13, 2025
f7d1289
WIP: verilator SigGen TB running to completion, producing junk output…
coreyqh Nov 13, 2025
f207e43
Typo fixes
coreyqh Nov 14, 2025
4387b5f
Major typo fix
coreyqh Nov 16, 2025
d1964b8
Read enable bug fix
coreyqh Nov 16, 2025
29d1a38
FIFO Fix
coreyqh Dec 2, 2025
89392c8
Initial commit
Oct 23, 2025
21a5346
Remove .DS_Store and ignore it
Oct 23, 2025
53d61ea
chore: move cocotb driver into verilator/cocotb and fix paths
Oct 23, 2025
a3073f8
cleanup
Oct 23, 2025
a78c7d1
emu updates
Oct 30, 2025
8036d74
file driven approaches
Nov 6, 2025
1034bb4
cleanup
Nov 6, 2025
64f2b4b
emu class and demo notebook update
Nov 13, 2025
e059e19
fix
Nov 13, 2025
e4db947
QickEmulator -> QickEmu
Dec 2, 2025
9a597b3
cleanup
Dec 8, 2025
0695482
format
Dec 8, 2025
b08da89
Add QickEmu helper class for config management and Verilator integration
Dec 8, 2025
ad4ee1e
Ignore Verilator build artifacts (build_tb_mem)
Dec 30, 2025
185434e
emu update
Jan 29, 2026
e5e55eb
git ignore cleanup
Jan 29, 2026
aecccda
cleanup
Jan 29, 2026
10dea2e
WIP: debug fifo mismatching
coreyqh Feb 3, 2026
c493674
Simpler SG TB
coreyqh Feb 3, 2026
05c3646
Update sig_gen
abe-3 Feb 4, 2026
2c1acc7
[#43} Updated fifo_behav model and testbench to match fifo_xpm behavior
mmdiego Feb 6, 2026
5234d98
[#43] Updated signal_gen tb_verilator test and reverted back fifo_beh…
mmdiego Feb 10, 2026
e9a3dd8
[hrl-labs-clinic-25-26/qick#46] Added Andrew's demo notebook
mmdiego Feb 10, 2026
0a040aa
Merge pull request #48 from mmdiego/46-demo-notebook-to-use-as-refere…
mmdiego Feb 10, 2026
755e447
[hrl-labs-clinic-25-26/qick#47] Cleaned-up sig_gen_dds model. Moved i…
mmdiego Feb 11, 2026
65d7b45
[hrl-labs-clinic-25-26/qick#47] Moved related yosys files to its own …
mmdiego Feb 11, 2026
5ac162f
Merge remote-tracking branch 'qick_hmc/main' into sig_gen
mmdiego Feb 11, 2026
b52db1a
Update firmware/ip/axis_dyn_readout_v1/tb/tb_rd2_axi.sv
mmdiego Feb 11, 2026
5d72569
Update firmware/ip/axis_dyn_readout_v1/tb/tb_binary_gray.sv
mmdiego Feb 11, 2026
c59df16
[hrl-labs-clinic-25-26/qick#47] Applied copilot suggestions
mmdiego Feb 11, 2026
045a7fc
Merge remote-tracking branch 'qick_hmc/SigGen' into sig_gen
mmdiego Feb 11, 2026
84a14f1
Merge pull request #47 from abe-3/sig_gen
jesliu-27 Feb 17, 2026
163b04e
restore original signal generator v6 code base, relocating new/modifi…
coreyqh Feb 17, 2026
ca70e71
Update to openquantumhardware/main to clean hrl-labs-clinic-25-26/main
coreyqh Feb 17, 2026
f4b42be
move software items to emulator/software
coreyqh Feb 17, 2026
e38a381
move DDS model to emulator directory
coreyqh Feb 17, 2026
daf9411
move openhdl models to emulator/models directory
coreyqh Feb 17, 2026
f079c31
Merge pull request #49 from coreyqh/main_cleanup
coreyqh Feb 17, 2026
430bb18
Remove erroneously checked in yosys artifacts, relocate models/tb/yos…
coreyqh Feb 17, 2026
703ab43
Merge branch 'main' of https://github.com/hrl-labs-clinic-25-26/qick …
coreyqh Feb 17, 2026
c2c77ce
updated files
Feb 17, 2026
a161add
Move dac model to emulator dir
coreyqh Feb 24, 2026
ebd8312
move translations back to ip/<block>/src/verilog; move sby files
coreyqh Feb 24, 2026
67df7f4
cleanup
Feb 24, 2026
3d95c36
add pulp platform submodules to emulator/submodules dir
coreyqh Feb 24, 2026
e03fd34
Change hardcoded SV instantiations to use EMULATOR parameter (default 0)
coreyqh Feb 24, 2026
ce7d433
add missing semicolon
coreyqh Feb 24, 2026
a78941e
[#57] Fixed conflicts after merging main into SigGen
mmdiego Feb 24, 2026
3b9220c
Merge remote-tracking branch 'qick_hmc/SigGen' into sg_cleanup
mmdiego Feb 24, 2026
9930a35
[#56] Fixed bram_dp_xpm module name in signal_gen_top
mmdiego Feb 24, 2026
8c4fea2
Apply suggestions from Copilot code review
mmdiego Feb 24, 2026
739acf4
Merge pull request #56 from coreyqh/sg_cleanup
coreyqh Feb 24, 2026
dc49146
Merge remote-tracking branch 'qick_hmc/SigGen' into SigGen
mmdiego Feb 24, 2026
c7c2d79
Update siggen testbench makefile, move fifo_behav.sv
coreyqh Feb 25, 2026
2e55d66
[#43] Added EMULATOR parameter to signal_gen to select between dds_co…
mmdiego Feb 25, 2026
0d15842
[#43] Cleaned-up axi_slv_sg_v6_sv.sv & signal_gen.v code
mmdiego Feb 25, 2026
0e773c2
Merge pull request #43 from coreyqh/SigGen
mmdiego Feb 25, 2026
4ad6da4
Added custom FIR model
Feb 26, 2026
5e74fd8
Merge HRL SigGen branch, keeping emulator/software/ files
Mar 3, 2026
230745a
fifo synchronizer is formally verified
Mar 3, 2026
f9769df
sig gen update
Mar 3, 2026
543c4d3
Moved symbiyosys verification files to the sby directory
Mar 3, 2026
e45c009
wip axi_slv_avg_buf formal verification
Mar 4, 2026
f7a1d2a
Andrews notebook testing and PFB support
Mar 4, 2026
7e6a189
[#45] Fixed submodules organization
mmdiego Mar 4, 2026
a0876de
[#45] Fixed some paths, typos. Tested execution of EmulatorDemo noteb…
mmdiego Mar 5, 2026
3f1ffa8
Merge pull request #45 from s4anti4go/feature/qick-emulator-pr
mmdiego Mar 5, 2026
ffbb52e
[#58] Reverted move of axis_dyn_readout fifo vhdl files to original l…
mmdiego Mar 5, 2026
6c5516e
Merge pull request #59 from mmdiego/SigGen_cleanup
mmdiego Mar 5, 2026
55e18f9
Merge pull request #58 from hrl-labs-clinic-25-26/SigGen
mmdiego Mar 5, 2026
a21f28a
Formally verified axi_slv_avg_buf sv module
Mar 5, 2026
4f8b728
Flushed out some comments in the average axi buffer
Mar 5, 2026
b7dff4e
Merge remote-tracking branch 'origin/SigGen' into SigGen
troyrkaufman Mar 5, 2026
747c09f
Merge branch 'main' into SigGen to update dev branch
troyrkaufman Mar 6, 2026
1a9aae4
added generation conditional statement for fir filter
troyrkaufman Mar 10, 2026
1c34fbd
Refactor qick tb to use pulp platform axi vip
coreyqh Mar 10, 2026
0d881f6
changed tb_qick.sv to add EMULATOR paramter to sig-gen
jesliu-27 Mar 23, 2026
cff0b26
wip fixing og sim w/ qick_tb
coreyqh Mar 23, 2026
6fbcd98
avg buf files
jesliu-27 Mar 23, 2026
ed3c782
axi_slv_qproc in emulator folder
mmolinar1 Mar 23, 2026
9f1eb9f
verilog folder in qick_processor
mmolinar1 Mar 23, 2026
d6ee482
fixed avg buf syntax error
jesliu-27 Mar 23, 2026
afe9fcc
add emulator paramter to tb
jesliu-27 Mar 23, 2026
57e6273
qproc files with EMULATOR paramter
jesliu-27 Mar 23, 2026
c3cd71f
undo changes
jesliu-27 Mar 23, 2026
f309143
test qproc_time_control
jesliu-27 Mar 23, 2026
6d69eb8
fixed error
jesliu-27 Mar 23, 2026
4909559
test _qproc_ips
jesliu-27 Mar 23, 2026
ea7cf5a
test qproc_axi_reg.sv
jesliu-27 Mar 23, 2026
334bf15
test_qproc_ctrl.sv
jesliu-27 Mar 23, 2026
603f701
test rest
jesliu-27 Mar 23, 2026
534d9e2
temp fix: uncomment the generate block in time operation
jesliu-27 Mar 23, 2026
3a5b1f5
data_reader files
jesliu-27 Mar 23, 2026
0f17dbc
dsp_macro
jesliu-27 Mar 23, 2026
669499e
fixed file path issue for formal verification of axi_slv_qproc
mmolinar1 Mar 24, 2026
c8ca40c
wip testing emulator logic with qick_tb. syncing atm
coreyqh Mar 24, 2026
130aa54
project now contains relative paths to emulation modules
coreyqh Mar 24, 2026
818880f
dsp fixed
jesliu-27 Mar 24, 2026
7586a40
bram_dp translation
jesliu-27 Mar 24, 2026
4475315
add EMULATOR to the time control and fix testbench
jesliu-27 Mar 24, 2026
fd6991b
xpr project with EMULATOR = 1
jesliu-27 Mar 25, 2026
f76661f
new sine LUT
jesliu-27 Mar 26, 2026
805d954
Merge branch 'development' of https://github.com/jesliu-27/qick into …
jesliu-27 Mar 26, 2026
10f7716
wip all emu changes work besides FIR and DDS
coreyqh Mar 26, 2026
1f3e1ec
updating xpr file
coreyqh Mar 26, 2026
f529d27
update sig-gen
jesliu-27 Mar 29, 2026
7fb4816
dds fix and update tb xpr
jesliu-27 Mar 29, 2026
9b6d4ad
delete old sine rom
jesliu-27 Mar 29, 2026
4af6ca8
WIP FIR filter
coreyqh Mar 29, 2026
938c70e
FIR filter in readout tb works as intended with small subtleties
coreyqh Mar 30, 2026
8c2a85d
made slight updates to some emulation src modules
coreyqh Mar 31, 2026
4ac8f2e
Updating src paths in sby files
coreyqh Mar 31, 2026
e61ef18
dac and adc models under one folder
mmolinar1 Mar 31, 2026
251b8c9
remove int byte_index
mmolinar1 Mar 31, 2026
e11def1
Update firmware/ip/qick_processor/src/verilog/axi_slv_qproc_sv.sv
mmolinar1 Mar 31, 2026
57e1637
Update emulator/models/sby/axi_slv_qproc_sva.sv
mmolinar1 Mar 31, 2026
fbf0781
Merge pull request #65 from jesliu-27/development
coreyqh Mar 31, 2026
0666ad0
Merge branch 'main' into SigGen
coreyqh Mar 31, 2026
ad4e628
fixing merge conflicts
coreyqh Mar 31, 2026
e07c32c
Added in emulation files to qick_testbench project
coreyqh Mar 31, 2026
c2e5b03
Rename gitignore to .gitignore
coreyqh Mar 31, 2026
900a54a
Merge pull request #69 from mmolinar1/main
coreyqh Mar 31, 2026
d73484f
fixed relative path issue
coreyqh Mar 31, 2026
37f473d
Merge pull request #60 from troyrkaufman/SigGen
coreyqh Mar 31, 2026
1ae9ac7
Merge branch 'main' of https://github.com/hrl-labs-clinic-25-26/qick …
coreyqh Mar 31, 2026
f467e32
Remove erroneously merged hardcoded verilator path
coreyqh Mar 31, 2026
e568b98
revert to previously cleaned-up version at 0d158428d5c2f67d1e6649f582…
coreyqh Mar 31, 2026
918b524
Merge pull request #70 from coreyqh/revert_sg_tb
coreyqh Mar 31, 2026
3ec28d4
Merge branch 'main' of https://github.com/hrl-labs-clinic-25-26/qick …
coreyqh Mar 31, 2026
fcefeba
WIP: Makefile and initial debug
coreyqh Mar 31, 2026
73595a6
updated sva
mmolinar1 Apr 2, 2026
bfc94b3
FIR filter behaves correctly in the qick_testbench
coreyqh Apr 2, 2026
3174e34
Cleaned up files in qick_testbench xpr
coreyqh Apr 2, 2026
0184ee8
updated src files in project
coreyqh Apr 2, 2026
9b9a988
[#71] Added qickemu_testbench project which forces EMULATOR=1 to run …
mmdiego Apr 2, 2026
1953982
Merge pull request #64 from mmolinar1/dev
mmdiego Apr 2, 2026
cef9659
Added missing files to qickemu xpr and logic to retrieve mem files in tb
coreyqh Apr 2, 2026
6b0bf43
[#71] Updated tb_qick_behav.wcfg for qickemu project
mmdiego Apr 2, 2026
f8ee909
Merge pull request #71 from troyrkaufman/SigGen
mmdiego Apr 2, 2026
c80f006
Merge branch 'main' of https://github.com/hrl-labs-clinic-25-26/qick …
coreyqh Apr 3, 2026
25831e4
TB compiling with Verilator, hanging waiting for nreset
coreyqh Apr 3, 2026
c6cd05e
Typo fixes
coreyqh Apr 3, 2026
10dd8ae
Remove transport delay
coreyqh Apr 3, 2026
81fa2e8
Make delay verilator compatible
coreyqh Apr 7, 2026
2ddfd31
explicitly declare read enable signal to avoid duplicate implicit dec…
coreyqh Apr 9, 2026
732b101
remove debug display line
coreyqh Apr 9, 2026
5e5b82d
Merge pull request #62 from coreyqh/tb_refactor
coreyqh Apr 9, 2026
1e20bcb
Custom FWFT FIFO to match behavior of XPM BRAM_FIFO_DC_2
jesliu-27 Apr 14, 2026
0757744
Merge pull request #74 from jesliu-27/FIFO
coreyqh Apr 14, 2026
0396f2b
updates for emu
Apr 14, 2026
f36dcde
updates for emu
Apr 14, 2026
45f21e2
Merge branch 'main' of https://github.com/s4anti4go/qickFork
Apr 14, 2026
6eab895
bram_fifo fix, update sg_0 datapath in COREY STYLE
jesliu-27 Apr 15, 2026
70a3eee
Merge commit 'refs/pull/75/head' of https://github.com/hrl-labs-clini…
Apr 15, 2026
8da106f
Merge pull request #75 from jesliu-27/verilator_test
coreyqh Apr 15, 2026
33da477
udate to qick emu, created functional intro notbook, added emulator v…
Apr 18, 2026
202d323
Delete CLAUDE.md
s4anti4go Apr 18, 2026
7fd2bd8
git ignore
Apr 18, 2026
4b8e927
Merge branch 'feature/qick-emulator-pr' of https://github.com/s4anti4…
Apr 18, 2026
d87a655
update
Apr 18, 2026
48bbad3
updated verilator tb to used my dac_adc model
mmolinar1 Apr 18, 2026
54f6ec0
updated tb
mmolinar1 Apr 18, 2026
ae143e8
[#76] Removed duplicated submodules from inside firmware folder
mmdiego Apr 20, 2026
fb3635e
[#76] Renamed qick_config_216.json to qick_emu_config.json. Updated p…
mmdiego Apr 20, 2026
75fb7e4
cleanup
Apr 20, 2026
b92731f
clean
Apr 20, 2026
3662781
fix
Apr 20, 2026
69661de
log
Apr 20, 2026
be97833
[#76] Added qick_config_216.json again as the modified emu_config bre…
mmdiego Apr 20, 2026
15967d4
Merge pull request #77 from mmolinar1/main
coreyqh Apr 21, 2026
ff3c748
fully functional 00_intro_emu notebook with readback and mr support ! :D
Apr 22, 2026
79a6c84
Resolve merge conflicts by keeping local versions
Apr 22, 2026
4bf77b6
fully functional nmotebooks! :D added support for MR and readback bt…
Apr 22, 2026
8128eef
plug an play for easy usage
Apr 23, 2026
dca4ebe
plug and play hopefully
Apr 28, 2026
2f54c1f
fixes
Apr 28, 2026
66d903a
more fixes
Apr 28, 2026
37a67c4
linux support + steps
Apr 28, 2026
d39af18
final changes
Apr 28, 2026
e0562e5
organizing
Apr 28, 2026
421e256
cleanup
Apr 28, 2026
75e22a8
keep assembler the same as it was, post process from within qickemu
Apr 28, 2026
f2aa902
remove explicit verilator macro definition
Apr 28, 2026
e17fe5a
organizing
Apr 28, 2026
4c965aa
Merge pull request #76 from s4anti4go/feature/qick-emulator-pr
coreyqh Apr 28, 2026
b63c9b3
Merge remote-tracking branch 'qick_public/main'
mmdiego Jun 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
24 changes: 24 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ vivado_pid*.str
__pycache__/
*.py[cod]
*$py.class
*.pyc

# pip
*.egg-info/
Expand Down Expand Up @@ -65,9 +66,32 @@ Network Trash Folder
Temporary Items
.apdisk

# Verilator work directories
**/obj_dir/
**/expected_out/
**/artifacts/
/CLAUDE.md
/handoff.md
/emulator/models/sig_gen_dds/src/dds_behavioral_model copy.sv
### Linux template
*~
.*.swp

# Virtual environments and build artifacts
.venv/
sim_build/
obj_dir/
build_tb/
build_tb_mem/
emulator_output/
emulator/build_tb_mem/


# Verilator outputs
*.fst
*.vcd
top_dac*.csv

!/.gitignore
!/README.md

9 changes: 9 additions & 0 deletions .gitmodules
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
[submodule "emulator/submodules/pulp_platform/common_verification"]
path = emulator/submodules/pulp_platform/common_verification
url = https://github.com/pulp-platform/common_verification.git
[submodule "emulator/submodules/pulp_platform/axi"]
path = emulator/submodules/pulp_platform/axi
url = https://github.com/pulp-platform/axi.git
[submodule "emulator/submodules/pulp_platform/common_cells"]
path = emulator/submodules/pulp_platform/common_cells
url = https://github.com/pulp-platform/common_cells.git
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"python.defaultInterpreterPath": "${workspaceFolder}/.venv/bin/python",
"python.terminal.activateEnvironment": true,
"jupyter.notebookFileRoot": "${fileDirname}"
}
155 changes: 155 additions & 0 deletions emulator/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
.PHONY: help wave sim verilate clean
.DEFAULT_GOAL := help

TOP_MODULE = QICKEmu_harness


# Paths
# Makefile lives at <repo>/emulator/, so PROJ_ROOT is one level up.
PROJ_ROOT = ..
FIRMWARE_DIR = $(PROJ_ROOT)/firmware
# PULP_DIR = $(PROJ_ROOT)/firmware/pulp_platform
PULP_DIR = $(PROJ_ROOT)/emulator/submodules/pulp_platform
AXI_DIR = $(PULP_DIR)/axi
COM_VERIF_DIR = $(PULP_DIR)/common_verification
COMMON_CELLS_DIR = $(PULP_DIR)/common_cells

# New Emulator Models Paths (Relative to emulator/models/axis_signal_gen_v6)
EMU_DIR = $(PROJ_ROOT)/emulator
MODELS_DIR = $(EMU_DIR)/models
BRAM_DP_DIR = $(MODELS_DIR)/bram_dp
FIFO_DIR = $(MODELS_DIR)/fifo
DAC_MODEL_DIR = $(MODELS_DIR)/dac_model
SIG_GEN_DDS_DIR = $(MODELS_DIR)/sig_gen_dds

TOP_MODULE_PARAMS =
# -param EXAMPLE1=32 -param EXAMPLE2=16

VERILOG_SOURCES = \
$(wildcard $(FIRMWARE_DIR)/ip/axis_signal_gen_v6/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_signal_gen_v6/src/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_signal_gen_v6/src/verilog/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_signal_gen_v6/src/verilog/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/verilog/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/verilog/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/fifo/verilog/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_dyn_readout_v1/src/fifo/verilog/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/qick_processor/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/qick_processor/src/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/qick_processor/src/verilog/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/qick_processor/src/verilog/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/axis_cdcsync_v1/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_cdcsync_v1/src/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/qick_sg_translator/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/qick_sg_translator/src/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/axis_kidsim_v3/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_kidsim_v3/src/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_kidsim_v3/src/dds/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_kidsim_v3/src/dds/*.sv) \
\
$(wildcard $(FIRMWARE_DIR)/ip/axis_avg_buffer/src/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_avg_buffer/src/*.sv) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_avg_buffer/src/verilog/*.v) \
$(wildcard $(FIRMWARE_DIR)/ip/axis_avg_buffer/src/verilog/*.sv) \
\
$(wildcard $(MODELS_DIR)/axis_signal_gen_v6/*.sv) \
$(wildcard $(MODELS_DIR)/bram_dp/*.sv) \
$(wildcard $(MODELS_DIR)/dac_adc/*.sv) \
$(wildcard $(MODELS_DIR)/dsp_macro/src/*.sv) \
$(wildcard $(MODELS_DIR)/fifo/*.sv) \
$(wildcard $(MODELS_DIR)/fir/*.sv) \
$(wildcard $(MODELS_DIR)/sig_gen_dds/*.sv) \
\
$(COM_VERIF_DIR)/src/rand_id_queue.sv \
$(AXI_DIR)/src/axi_intf.sv \
$(AXI_DIR)/src/axi_pkg.sv \
$(AXI_DIR)/src/axi_test.sv \
\
QICKEmu_harness.sv


# Flags
# -I resolves `include "file.svh"`
# -y resolves missing modules dynamically
VERILATOR_FLAGS = --binary --exe --build -j 0 -Wall --trace-vcd --Wno-fatal \
--timing \
-CFLAGS -w \
-Wno-DECLFILENAME -Wno-PINCONNECTEMPTY -Wno-VARHIDDEN \
-Wno-TIMESCALEMOD -Wno-EOFNEWLINE -Wno-WIDTH \
-Wno-PINMISSING -Wno-BADVLTPRAGMA -Wno-CONSTRAINTIGN \
-Wno-UNUSED -Wno-UNUSEDSIGNAL -Wno-UNUSEDPARAM \
-Wno-LATCH -Wno-CASEINCOMPLETE -Wno-IMPLICIT \
-Wno-STMTDLY -Wno-INITIALDLY -Wno-SYNCASYNCNET \
-Wno-MULTIDRIVEN -Wno-UNOPTFLAT -Wno-BLKANDNBLK \
-Wno-ASCRANGE -Wno-LITENDIAN -Wno-CMPCONST \
-I$(AXI_DIR)/include \
-I$(COM_VERIF_DIR)/include \
-I$(COMMON_CELLS_DIR)/include \
-I$(FIRMWARE_DIR)/ip/qick_processor/src \
-y $(BRAM_DP_DIR) \
-y $(FIFO_DIR) \
-y $(DAC_MODEL_DIR) \
-y $(SIG_GEN_DDS_DIR) \
-y $(SIG_GEN_DDS_DIR)/src \
-y $(FIRMWARE_DIR)/ip/common \
-y $(FIRMWARE_DIR)/ip/qick_common


OBJ_DIR = obj_dir

wave:
gtkwave $(OBJ_DIR)/waveform.vcd

SIM_ARGS =
# Pass SIM_EMU_DIR=path to override the default emulator input directory
# Pass TRACE=1 to enable VCD waveform dump (warning: very large files)
# Example: make sim SIM_EMU_DIR=artifacts/00_intro/multi_pulse

sim:
cp -f $(MODELS_DIR)/sig_gen_dds/LUT_generator/*.hex .
cp -f $(MODELS_DIR)/fir/fir_coe.txt .
./$(OBJ_DIR)/V$(TOP_MODULE) $(if $(SIM_EMU_DIR),+EMU_DIR=$(SIM_EMU_DIR)) $(if $(TRACE),+TRACE) $(SIM_ARGS)

verilate:
verilator $(VERILATOR_FLAGS) verilator.vlt --top-module $(TOP_MODULE) $(VERILOG_SOURCES)

clean:
rm -rf $(OBJ_DIR)
rm -f trace.vcd
rm -f *.o
rm -f *.hex
rm -f fir_coe.txt

help:
@echo "QICK axis_signal_gen_v6 Testbench Simulator"
@echo ""
@echo "Usage: make [target]"
@echo "If no target is specified, this help message is displayed."
@echo ""
@echo "Available Targets:"
@echo " verilate - Compile Verilog/SystemVerilog sources using Verilator"
@echo " sim - Run the compiled simulation (copies HEX files automatically)"
@echo " wave - Open the simulation waveform (VCD) file in GTKWave"
@echo " clean - Remove build artifacts and generated files"
@echo " help - Display this help message (default when no target given)"
@echo ""
@echo "Simulation Options:"
@echo " SIM_EMU_DIR=<path> - Override emulator input directory (default: src/tb/emulator)"
@echo " TRACE=1 - Enable VCD waveform dump (large files!)"
@echo " SIM_ARGS=<args> - Pass extra plusargs to simulation binary"
@echo ""
@echo "Typical Workflow:"
@echo " 1. make verilate - Compile the simulation"
@echo " 2. make sim - Run the simulation"
@echo " 3. make wave - View simulation results"
@echo " 4. make clean - Clean up when done"
@echo ""
@echo "Example with artifacts:"
@echo " make sim SIM_EMU_DIR=artifacts/00_intro/multi_pulse"
Loading
Loading