From 43b1b7554cff289ba047eff1d693b1fd52a18673 Mon Sep 17 00:00:00 2001 From: yangshenbo Date: Fri, 28 Aug 2026 11:04:37 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E5=96=84=E5=8D=95=E9=80=9A=E9=81=93ca?= =?UTF-8?q?se=E7=94=9F=E6=88=90=E5=99=A8RAMP=E9=83=A8=E5=88=86=EF=BC=8C?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0RAMP=20Case?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Z测试Case_2609/RAMP/RAMP_MCU_FIXED.json | 62 ++++++ .../Z测试Case_2609/RAMP/RAMP_MCU_FIXED_HEX.txt | 95 +++++++++ .../Z测试Case_2609/RAMP/RAMP_MCU_STEP.json | 38 ++++ .../Z测试Case_2609/RAMP/RAMP_MCU_STEP_HEX.txt | 75 +++++++ .../Z测试Case_2609/RAMP/RAMP_SPI_FIXED.json | 27 +++ .../Z测试Case_2609/RAMP/RAMP_SPI_FIXED_HEX.txt | 38 ++++ .../Z测试Case_2609/RAMP/RAMP_SPI_STEP.json | 27 +++ .../Z测试Case_2609/RAMP/RAMP_SPI_STEP_HEX.txt | 40 ++++ .../单通道Z测试仿真波形.assets}/ENV_OUT.png | Bin .../单通道Z测试仿真波形.assets}/ENV_TAILCOR.png | Bin .../单通道Z测试仿真波形.assets}/MOD_DUAL_FREQ.png | Bin .../单通道Z测试仿真波形.assets}/NCO.png | Bin .../单通道Z测试仿真波形.assets}/NCO_120deg.png | Bin .../单通道Z测试仿真波形.assets}/NCO_45deg.png | Bin .../单通道Z测试仿真波形.assets/image-20260827102345536.png | Bin 0 -> 25398 bytes .../单通道Z测试仿真波形.assets/image-20260827174805866.png | Bin 0 -> 2066 bytes .../单通道Z测试仿真波形.assets/image-20260828102318574.png | Bin 0 -> 2492 bytes .../单通道Z测试仿真波形.assets/image-20260828102421282.png | Bin 0 -> 6719 bytes .../单通道Z测试仿真波形.assets/image-20260828104336848.png | Bin 0 -> 1756 bytes .../单通道Z测试仿真波形.assets/image-20260828110050371.png | Bin 0 -> 3655 bytes .../单通道Z测试仿真波形.assets}/常见的调制波形.png | Bin .../单通道Z测试仿真波形/单通道Z测试仿真波形.md | 91 +++++++++ .../单通道Z测试大纲_2609/单通道Z测试大纲_2609.xlsx | Bin 13222 -> 14442 bytes .../AssemblyTemplateManager.py | 6 +- Z_case_Generator_V2.0/ZChipConfig.py | 2 + .../AssemblyTemplateManager.cpython-311.pyc | Bin 16814 -> 16084 bytes .../__pycache__/ZChipConfig.cpython-311.pyc | Bin 18732 -> 18732 bytes .../General/TC_AWG_MOD_TAILCOR_HEX.txt | 3 - .../gen_cases/RAMP/RAMP_MCU_FIXED.json | 62 ++++++ .../gen_cases/RAMP/RAMP_MCU_FIXED_HEX.txt | 95 +++++++++ .../gen_cases/RAMP/RAMP_MCU_STEP.json | 38 ++++ .../gen_cases/RAMP/RAMP_MCU_STEP_HEX.txt | 75 +++++++ .../gen_cases/RAMP/RAMP_SPI_FIXED.json | 27 +++ .../gen_cases/RAMP/RAMP_SPI_FIXED_HEX.txt | 38 ++++ .../gen_cases/RAMP/RAMP_SPI_STEP.json | 27 +++ .../gen_cases/RAMP/RAMP_SPI_STEP_HEX.txt | 40 ++++ Z_case_Generator_V2.0/z_case_gen.ipynb | 187 ++++++++++++++---- 37 files changed, 1049 insertions(+), 44 deletions(-) create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED.json create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED_HEX.txt create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP.json create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP_HEX.txt create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED.json create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED_HEX.txt create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP.json create mode 100644 Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP_HEX.txt rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/ENV_OUT.png (100%) rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/ENV_TAILCOR.png (100%) rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/MOD_DUAL_FREQ.png (100%) rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/NCO.png (100%) rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/NCO_120deg.png (100%) rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/NCO_45deg.png (100%) create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827102345536.png create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827174805866.png create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102318574.png create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102421282.png create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828104336848.png create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828110050371.png rename Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/{单通道Z测试大纲_2609_asset => 单通道Z测试仿真波形/单通道Z测试仿真波形.assets}/常见的调制波形.png (100%) create mode 100644 Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.md create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED.json create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED_HEX.txt create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP.json create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP_HEX.txt create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED.json create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED_HEX.txt create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP.json create mode 100644 Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP_HEX.txt diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED.json b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED.json new file mode 100644 index 0000000..0066634 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED.json @@ -0,0 +1,62 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "inner_sync": true, + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 33280, + 34816, + 37376, + 40960, + 45568, + 51200, + 57856, + 65535, + 57856, + 51200, + 45568, + 40960, + 37376, + 34816, + 33280 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 16, + "ensemble_num": 0, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" +} \ No newline at end of file diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED_HEX.txt b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED_HEX.txt new file mode 100644 index 0000000..f012467 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_FIXED_HEX.txt @@ -0,0 +1,95 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300124 +00100004 +40000000 + +002000dc +0010008c +80000000 +00000000 +00000010 +80008000 +000003e8 +82008000 +000003e8 +88008000 +000003e8 +92008000 +000003e8 +a0008000 +000003e8 +b2008000 +000003e8 +c8008000 +000003e8 +e2008000 +000003e8 +ffff8000 +000003e8 +e2008000 +000003e8 +c8008000 +000003e8 +b2008000 +000003e8 +a0008000 +000003e8 +92008000 +000003e8 +88008000 +000003e8 +82008000 +000003e8 + +00100000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +00500000 +00100004 +00000000 + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP.json b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP.json new file mode 100644 index 0000000..ea57cf4 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP.json @@ -0,0 +1,38 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "inner_sync": true, + "instr_type": "ramp_step", + "ensemble_num": 0, + "param_num": 4, + "height": [ + 128, + 256, + 512, + 1024 + ], + "step_time": [ + 50, + 50, + 50, + 50 + ], + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_MCU_STEP", + "config_file": "gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt" +} \ No newline at end of file diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP_HEX.txt b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP_HEX.txt new file mode 100644 index 0000000..5dd298a --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_MCU_STEP_HEX.txt @@ -0,0 +1,75 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300124 +00100004 +40000000 + +002000dc +00100040 +00000000 +80000000 +00000004 +00000000 +00800000 +00000032 +00006400 +01000000 +00000032 +00003200 +02000000 +00000032 +00001900 +04000000 +00000032 +00000c80 + +00100000 +0010005c +001000b7 +00200137 +0dc0af83 +0bf12c23 +0e00ae03 +00c00313 +0e80a383 +fff38393 +00008413 +0e40a283 +fff28293 +0ec42f83 +0f042f03 +0f442e83 +00640433 +0de12023 +0bf12e23 +0dc12223 +fe2e800b +fc029ee3 +fc0396e3 +0c012223 +0000002b + +00500000 +00100004 +00000000 + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED.json b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED.json new file mode 100644 index 0000000..fb50651 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED.json @@ -0,0 +1,27 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "inner_sync": true, + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 32, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_SPI_FIXED", + "config_file": "gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt" +} \ No newline at end of file diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED_HEX.txt b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED_HEX.txt new file mode 100644 index 0000000..95b7986 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_FIXED_HEX.txt @@ -0,0 +1,38 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP.json b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP.json new file mode 100644 index 0000000..d521469 --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP.json @@ -0,0 +1,27 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "inner_sync": true, + "fixed_enable": false, + "fixed_value": 22767, + "height": 512, + "step_time": 32, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_SPI_STEP", + "config_file": "gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt" +} \ No newline at end of file diff --git a/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP_HEX.txt b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP_HEX.txt new file mode 100644 index 0000000..7dcc15f --- /dev/null +++ b/Case/单通道Z芯片/新造的Case/Z测试Case_2609/RAMP/RAMP_SPI_STEP_HEX.txt @@ -0,0 +1,40 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300118 +0010000c +00000000 +02000000 +00000020 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/ENV_OUT.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/ENV_OUT.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/ENV_OUT.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/ENV_OUT.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/ENV_TAILCOR.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/ENV_TAILCOR.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/ENV_TAILCOR.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/ENV_TAILCOR.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/MOD_DUAL_FREQ.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/MOD_DUAL_FREQ.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/MOD_DUAL_FREQ.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/MOD_DUAL_FREQ.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO_120deg.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO_120deg.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO_120deg.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO_120deg.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO_45deg.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO_45deg.png similarity index 100% rename from Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试大纲_2609_asset/NCO_45deg.png rename to Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/NCO_45deg.png diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827102345536.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827102345536.png new file mode 100644 index 0000000000000000000000000000000000000000..4b2684dea8f2b7005e2f4b51626f662e6d43e110 GIT binary patch literal 25398 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 WJ^w?&=nn7=fwH`YTP literal 0 HcmV?d00001 diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827174805866.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260827174805866.png new file mode 100644 index 0000000000000000000000000000000000000000..06a427afdca9ae281e012e3c94b3d56081a272bf GIT binary patch literal 2066 zcmdUwX;4#F6vrK-I^)N_5AWP}@7wP0|3Bx@*Z324 zW}s&P0Car3J%RwxoPgu>X;a{NMN2Fb0MvaS54Vt{vwg1ugQO0IQzN?kM*}f+IqX`; z4uiGX2f~6!2LtxKnS0z@A%Dh+$CdDSyp#1#&dx^gRp8!-05urqo|L1I zaQgohnrka=ckNw#V0pg(mRAAm*~jsAMptNNoR*N^b+o_`H-WC~k4_o1pD8r0D31&l z?{6_UhT0#78(-f$L3n*eDOZ$TzW6T>O+Mk-&kQ@Z+Ou~P(b~=^;f_nDDIdWVNlyWQ zO5c{J8I2u>;G)H2L(9Pi{ZGi^-9cve)t+hjlG6GE#WGArQBGuVVBmBRyoavA^?W9> z9A9}AeK2dX>jN%%fqawD`3Luf!cx|*P{5@5SzL=IR%^5JF*&2vIcSV5PUVH3K2q28+`3(j0>yS{FI(~n|N z(Y^iph5%F;$4&@}(^E1!t+fI0DSv;h(iUV`AltoQ+eB0X$xLLsyh|CoZ3n?C)rGPs z3pGtegu4=}m+3aF4!~niyq=AbSPuXjgPTr*7!LvhiSyl|Q4@fOsN6>-Anvf7#*euX zv(-3{!D#q1^8HS=_S2G{5Wu~s6Rs3LT#_W&@-cqkwg}B${;|fYlvSQ2sQ@-hbG^x% zOeLlHLxK}=)>XvFx}V90l69CDN= zfyAA(_+wE#r&1G8O%!L)vRQ}T`bsl%3={dgj6My^3UWf~j2!@otMIo=Bet!?RpACZ zmWoBS`u9~O6ITog2pQ!1o z_+9v^`72_jtlD~RHgaEkzO<6+#4?8fsi8=SaKJREKXzAf7RGKAgnYr;c+?Z^29=`j zp{MXm&7hpXM3vj}{ODxrj)D;=jJE4i7gsYx7~pz2&px^5f`&;(uss0%x1Pv}j`IcS zXK$*3cFulj)(CSe@=51}>)77)-{|+UUsM0~(gHO=6?qVj?~qs~a%FvOY$l^zw(L~F zfVSXBObQ_N^q+s7hHurWd4M-vS6jolI?;q-&>Y(%EngV#M$ZQGUZr*&^@?$C3|5x3 zBD^1t`Ua(iJ!j)v=Q}x6CUMnqrL2P-e{=9g{I0=o8RdRkb}RWs7753%8jN5S-m>Op zqi>R{jK`qM=$%8lvCleZOS7&ldPiAoIZok`p8n7=4O+33x;zaLAfk#?FrgI(5Nd*K zFOl7s`Sxf&l+G&=2Qhh5sB3N@^M_(3%=_m^T`@wPfP zy1Fm7wk1nZ&Xty2kayoAuZll{g&Le7&siO08TfQaH`IN2DCt1S3c+LldLx*?tEEa~ z4clcvOSQQx+lFWthikD`NLgtKF1AIT%TRGX+~tMYuG?g)0&Q&P9ECb(r7}DjO`%3~ z!~SREJf@rJ`wXco7e~xfb!~7e(%4uRfyKArTFr-)@E8?-c;BW41p)@G#f9dC6yCvs z@$n7FM0!8wlTtZ0q|hP}?zapFPGMMCcEY;v*`+OnhBCW)qBSAJ@N=~Z7FUIfuBB2a zW1|YGv_3pMys)4E>Cm84f}|DDe^dq4hfSgf*%U}G>4nCDJ(c}AZ4qnyW3jm&&P`5I hmK7a=gQ-YMR|i6SP!hLYya>79$J5_~y)xq0zW`GBH?IHy literal 0 HcmV?d00001 diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102318574.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102318574.png new file mode 100644 index 0000000000000000000000000000000000000000..ef330f94487bf898e8fe146726184059426c022c GIT binary patch literal 2492 zcmbuBdmxnC7QnX@BCm)ZMA5|&Iw^!9Of)(el@Y~w&g6s0_BkcKcq-qeXC zuOwIHHC_p0MkC{SjF~YbkKuluZrxM&{&)Xbd#|;>z4uyce|!H{EYj9WTy(oA06-jZ z6n-3l4cbuOOJp4++hnHV0oWLTfSa8RdoVNXAE)3YAUsE`shq#lU*XtT{~^sUK3P`7 z*%z+4^$7V+K_lE$dJA3nW&dj_ar=FiD%A(|8su8$2G*;l!DLn$;_8+B)}FZL4DEb*!sny z;9O934m07XaFs?e#|L=#4)be z1c1Nq7GVIckl+E3UBp^e*iZ*S5COo~O!hDPrXeA+82yypdT`~HRP)si-6%rf7!=xH7Q; zvDpd$+3V^O&^)tPIwYl%zbZsWg^5}N9%Vn|O|HX_8Jeh7MeKfc%X3@-koJ8K?90+| zB#GcmX(%To@lradQ$|o$0Z`xcEveta+x0ar7lmhkt}Zh>(YTfbMe%7@*5`0LbX^JG zIkDaVH(Y3^S0Z)?aT*2ycC$+y9ltu>LmV5k&dbj2rO}Xq&6)A|hKM71`#Wjvd_L=( zDQ&C3Cr{r{0H~W@Y;8_WvF@kxZs6ADY=#Q8YepzBuX<2>Mn`2PUuE%jMx3R62<p>aQ((jm`u?Cjvlp*O*W9sDaHOixRHcKD{TUkX@2R z;W9N%>u0sB#Esb>WNJc~m)-hj&zIG?^U)1!#a1oFTe{PvUrKkL^@c7-cQcCB+uF&r zTYYlAc~PFv>_E4i?r^Qd*jPlP5;3-^YWa`6_lMxofs`kLO-)TXIpr85P6>;}(#pqN z4xw>OpNISMIK(u23D!&kq2z;7r=rF2w#;H8y7Uq!C)?I$8JmVPAAE2aa#t?5#@^U4 zSUvI><6h5!RMnnI4>X$A+Eo5qVjR3x_~8ISs1L;ob`Ol0kLFuQ!k&jOvaj}3VO*Yg zG*3+Uj**MctimfN>+2H}sf?3I63-PrXg z&=K!Rypi0n&v~RDN|v13$XRd10Yg1rHxp}vF0bVczLQC?C6kf(!U``AW0IXLF-7doRo$y~gewH+IvmR;Mt4yLI%Wt+ zG}VubDfqKswIEQgWBDMz0sxYVIh=K^sl06^N!4>g!*b8)>{|RK7gm8NRb&E@|A(_O}(U{@F=3ywsdw+oNnB>2=TQHley5 zW#s3e7F2D*_Ilq|t#VHrKiD>7Le8t-;$Bvh>*70E3fGNP;WMm}kEfW!wX}u<&RdKFw z*)EH3kg%+qkga!NNJqznBj`wV-i`~H9xq>A!e)js3h{LuF;i+i=WV$5fPslaLZIZ( zd)To_B8B{<`dQykSPK<|bn(+?IaAs=_cn z16KDog40%=3;SMSlqTJK;$<-7%Fiq;?9wxHf?~5~QsE%JXKV+i zcG6;~3N|;=q@toCeoz-xKK<@=Yg^YDLLnMcHo&eq+t=1`DbxRbm4%-ENe0E9A2ic- zrhh)Bqg$LSUzOvUvMrROe?GLcb~$6=&G_)ipz1kE0EWrU>aJ7FhMB0KwAR!V25qv( zqA9W~?JaxyM1qp>?;}+WHT;)X1+kQqXlLCZv36KEC!*KYyFI!rlk+l7KfPfQ=JRoL zXm7FeaNL{4++cmo0DN(G00Wk~5>0FwST(V&5tJK&UhYb5OO|BT9~#aj)25uV+gM!i z=t!6UR4#tfl+*ozE1&U)r%&*8F>)|b_a-l9!*J#sCtR$2!Kl86vp>0%NH5|o#zK#N z6ts+@Q3(9DgUdp!@j<-wMU*$=%wf-wZWQ|ZJ_KSXgtm#~*+i1-0e5Ge>?(&FUN@ot zYwvJ|;}_cak{lFB@?l5_F^Az0Oy_Nd!4JCTv$6EU0T`5O z7J!@%Gg12APQR=D0@MWY6k(_YaQ=I-vSbS7Yi$kY>(>HxguWDCg5c`?qze+v{BFns N5Jzm`W#(>C{{n04Z@&Nl literal 0 HcmV?d00001 diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102421282.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828102421282.png new file mode 100644 index 0000000000000000000000000000000000000000..5ba5fd68f9568fbe54ef12f567d0925d9de86bae GIT binary patch literal 6719 zcma)AXH-*J*N!NnqB4qrBTZjkK`DZw6bXsFBB+QEDPg3EfHXrffrySW7GMx5Q393` z6r_b-11Qo0h><1`q=inX2_Yo;&b?rndFRKsRu-3a&$(ysv(K~lex7shtnu-6YqqRG zAQ0_K z`J?zldqIZT2_vntuXo>D!l$&QciBJfA(jl?GM~G#1{GRg52?(FR^N z&5n+e@M+X(q&C&Ro}_(RYP3KloC@+Vf`!ReP=W|Y1EO_!u9g|KT`!s$*D;( zUVJ9<6a*%_9mS>q)~>8$e7(wyv-;^8-wu3k#jqJl4XrZx}_ko;bGri zNqPnCR<-x=n!(J1%P~niNCWm4j#f{!R}BOwZQlClsZ}r6#wyY6j`Bztt=~FB-ypuK zWBynkq7xrLzrE6ECon@>trsM3e{#P{{jmLL(q-e=CixUqW?9>~vANXrS67yUS>sAa zX(O87HZo|FNHB}mw)JM$)E`x_X%qn8rnTD@b9W7Xb zVd~rkscF|~Lo@%kF&iDF4;03Z6x&OX*?aAFf8hvjYll1*}Wwo|AKl?JX6DvryZh%k z0>?B$f7#*S5-aj6>q4_yV)3a>5qXh2a=arj#sBhPch&F<$xj~^MUq4%Z5?+vfY6Ma z0$cC#hi~dwqyc+2RWv9^t||vy?CAqt#+xDyBMWQUaq2Ao{Y`lv$d8UTf}X9 zu1XvM^M7HjgS>^T#uOPlrGRn2=d9R<7eeK5hUh>(w21PRH^k~cAuB%8#*ibNyU^=@ z?&V)M+IU`6%UM1?do8f*87qo#eQlDw;}_#+etWp~<*PTDD90P=m2Hv=>s3dTQWAm) zt$QjWs#Sh52Jca2*YEV|i6fZSEK(tT=)&3zNzDk8gnW^Th@Ejps32xdLaHB4{bqHt zOGBQ~LkH~3dS|J_^A$?*;d{-MDokGh8+$)lZKqox8L}d!3zX5?(Zs8N`JLKp4lh!z zLbob=EFDG?)$)(?C9SG0c}8VMG@NLDPhzeCbHL{-o~S)#^z6<=*eYPy`!*Wi>#6Re zpU~TWUnRmssr#`JZZZag(DGI1?Gf9s_dIg@6E(V3$R?9}%$mLCT4NPdhCAU5on1RQV-@eLOCT>My*vUDqwq51``GQ5=?Afii7tjLrJ1t;v5Zc~z_uZD7}>u9UZbixl)-+1g-e zh(>w4Gh?(??m7L$9#NgxNP`R-*(BO=L=4`g zCY4gY;ioz=+~d?H6CIT>8bB>g?92^p#sz}E$LKC z(ev1H3qFdXue41jU&Hn3R&BAm(crL6KTz`EeJ^ffDO3=;pZGEBN0Zh-ULGsoc@9ZB z&V*5B2I{)OTl1zvqGyoaV(XFh@IJ)rjV4zpkhCE%Du6neaNB8o@iT%*xBZm!e`7a7 z4mN-o?fgnI$V^s+;Rv6M0ttq3HVMi)T=C#;QmMA@*V5h}9xtA+(@kgsIW%$CeWbVU zVp>S90;j&{`(02@Kib6QYZoSga`63hU@w&P&!M&aZG3k>avJ{z>V{L_(o(5Ho8~DE z$}@zd(kFVR$RNr0_Dc!5*ZkuPQpIu!q?X`=Zs&D+sax0dU_5cGA3v3X5@z>fc?`{U z9nv>*0D${ocR&^Ro;noiI`u%7aG|?u#Jr_>Wh&;9m0TXvFwBZC#wxLQOZjboc3!K0 z9WN~vab)(+j+425m-c41W@gQl;8`w3xdqgj!fVC;Uu#;dF2?J5CgHn@ zs7czudU@e-_u`%pvNoIvCn4w4r=CISwxR39lzLLy_IJ6-Ef+7E@MPlWh}4BBwFU!X*Fecc>um|cnISR7 z`6f=lV3Kf_A)Me!7OyL?ym+8??ycz!P?WeU_#S=Qk9wS!s_GWFM9oe+x9ICpxsi#( znkc_&ja=eLui}UmC!sdA=(6qYPg}1B;QSpN>^5iQoyE>Q3OF7rr|&b`u3OX{qGBAI zH;%{h`wwHeDjY==pCxN~(QYtSaB%kZ@K7vQet76@O1RLacxPj&P5@VU-G1w~12@AV zR~Bo<=z!}FUmn%fHBlPY>HAZ7uTb9kJbd%)4NgyadAV*FvM_MwO13W+H~(Z=aj$xT zOq7WnZ`d>#Jw0(4&l$&$&9-2@s<&5$%3B(6$Hre@#^Ew@9roR2lqtMxaSwDuPwXe& z|9$d(mD{cJTVEkaVsuoC-7Tbdw1u=&RK*XlnZC#eWpnK&lUjx>1!FC55V#;KPh)SK<5%6Dbt2{pI#iCk;+e(Un!dat&WWQrcXb(ahAmdpHOr$FQ3O9v=b-{~ z>Wu(g1^)1{;gY18@<;NYWvyogF_ya%=CkgLfbNAwPW^fks*NA5NX(i|pwv^kJ-+B= z`Z23AWrc4>dgBXnGdca8XchFVWihc}EP7l}Nfk79KmDAnVs1QQGZ%^FCpI9bX<~t6 z*nsZv{m5;9+DR4yF+ zxUutmN{l&!M#41zvm1hbyoUloTQ6|EsEI5$4tGT+xyNStp+&J0GQ zyjUuC-7V8n;`Hk;b0dVkg2cG_;jV>tUj?M!L@ruzuUEymXjDq9xx_oRVtAtNH2yBH z#l1UHSjEz3?iyqSNhnd*cNAsyvpKlnZN{SMFOhE1pr!bD{gh>JgFdSo=R+STx(i{kC!U@0&(k8scwzzcHoGrVuCF+!cArM6R0& za`FhrlHXc~o@&xWPo^o}NXR|tTf1Q38u;?Pak2B|K8(T#F7sU?Z8On6o!nhsx>~dT zsInFgS(#p|&J$6Li}o)9Gy(KuC?!Epd+vA1XMKGt|D!#R&zcqg&#H2k3mU)IsaK!J{%4`n6}8U23iQR3A;^pb}MZ zSeG#|6pY5t3^oR79Pc0uYRK|4FR_Kra~;y$JNzn*26pi_E}k7Mt|UR(JT2yiYB`2u zKK}Ko%GP)8#%*6DL~P{%MOyBn4Qi#gDAWyL4ya>1nRUf6BP(w%)v^mo;K#jUVy7e| z6fv(;Eo`h=*l8NwL>Mh(TbiKxGvd^yL%y})UB7*u_3?|Sm`kG_zviE#t2iwqE6C|p z{J5JL*}ia)b}uC)1Nq0{FbC|_;so2gb0+9&{aAS+nov}QY_HjUB=NYs6iv6bgcex8L=BSxCujsaxVjhi-;;hu z*UYl1aLlgPmD_#QDTLq|C|wwx>pQK{N`ChrIl{7Z(Qo__;>}RSf|^>}TwN$8*baeM zJqX5UCgr2mK9Ny>j9cskL#DZ3q+vG+H@ekVf4u1%r`>u zjhH!Kzu4WHvD(PS8gJy3ifMifQgi)(uKdi(+Yfo`*Nem;B}Ql}ECZJG&x3Q<8m8~8AP6uJa(H7db#4`gMtkVC^-WJKBkE$Zz zNqPfv*>MmVuK?U1Vp6by_A)7H6F=3Jhljiox zC8{aGqbZ9uI|AJT`2Qlk2OXfNy8b8%1j=LmVwC^BvQOv~v>)&CgDXPRd8gDLXfK{Q zfc+*DpK*AQ?Bo!EkrrDLJ4-aj%lH8xzX+cg2kckC$06#!S=4b+Sx~&KfoMUbNBpz0 z06~`{4sRtigHpZ3G?$n^$bwO0NJmAq3|Tnu76)i@UtRq@JTT86y97@#Z+Q@>M)LWm zTmnR_y$%jyA)v>LjPNH?UT6h7r2!Hg5OPRf!qI{KF2sVd1F~;@73WoB4*ko*PftKG zOh0;2hh%LA(fkNdtAW4(CG*iqDM&)O-hr6p68~K+s0l$K%ICqtrG5V6_QQ~#Sq-$( zH_NMIw<zi$STV$Pp)JOIGA zX8f#pyni_eR~m{BTqz#fo{7akVS;2gbo@{;xupZEmbH+ST)GqZ7UgUmIgn4A%P0x& zzlVtikPJ)jOAIS;UDw$ghGrCcjAgf6q^;oWgrxWXT6lA1m$vwqaSeC>)2#C6hl5oe zZ}A>S{jAM^%-X{RGWFP)L?!K3P9dv=cSB}0BL3Hx<8;x&Rko_|=>oMGtYHcyasrto z>gE)`F#2nWi2*r#JbI0C9YuNZIwJ_I1S``srvaw2$i3>0VZ2S?!YCMgGobgNO`8zk zJo`dl4}s7s1-3Fx0@-W363L+v(ACjxn!3-2PR04EAL62D#EI2Gs53yZQ^HEd%CD{^ z@~H~^kao>C%!fZMUQz!|P9Ptgv~FP)%rb-2(rz@~i%4X%cWL?zXU}upy%;^^HD7M9 zTv$)kutgW^6e}^bxNcrn`xfIzE5O~2R%WX{*_eZC0ql8x{szYd7lrZ?%CHtPSR?Dz z$BBI(9b~L0+Emv2rj6Q6mvwP(GgfxiiqCrOBZ6odLbqtPa*oml%%@oYBmu;yP z{B=(Ob}po=kT*7x7&meaGxnmMgw2Z^T<-y#R^aRe@msI`fb8vM_v~zZen&ttwndgT zWMN@3#|(FB2~$X6k0%e$cDJW!#1C8hEx4G(TiA?Q2XcsnXS~^PPVq}li(ykub>vlD zoU!6tZ1&B7DbqyHFZ&4bH|$n{#c8yjj@QX{m0^m)&&8b&@Lda%(Iqo4(1Mvtyl{#k zAuQbRG|lays)8R2n=gi6H-X_PZ8$PAf^*71cgCo(t4*To=&7IjY6HMc z{KI#&%fW`;eQhDa&p2P(#x~wm$O9FsfTAdTGk&K%aA=&x%QPqJUXPfK95B{E3-h<- z3h%JE^WnWsq+WHDe@i@Gondo?~Dyv}R+AX%uJ$)a$x&cBN9h01tiSpI}!EFaPr=4bx zjaU&pdZp$o#5D6KXFFZ?n`5zKhSb2(ZpKP7z4u;tt|4J=qCrqhr5C4{u*oLc))rP) zsO(9{KMe=sg{EkJX!|u@_3Ug4p?N4DrBP8eS-D;J=@(`P&rJN@6wcKO-O)pxEdz_wh>nZhI%vR7{%7!+$$LF3m9WWEMj zucMvWy1Uc!2vfFHdp%}^MWz>`1<%M@jb2XE13KPx#&cbUZA-zcEM6Nsv)Eo3`V*3Y)u+0$xQ<;@8 r0DDcqRj^RFZ{Wr;V0tCQ`IaN*XSZz7QDalV8^p<@#z#^Q+1~m;V8LlA literal 0 HcmV?d00001 diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828104336848.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828104336848.png new file mode 100644 index 0000000000000000000000000000000000000000..760cd88f0ca71025f819aae8cbc0c52a8daca20d GIT binary patch literal 1756 zcmaJ?c~H|w6kb7)qktR|3Py^EL@gq1@c>5THlz)q!{7*l$W#@<4{6R$0oy`_HQL(?IHDA4GUf_4p zysm|Oz@~<6YL{`e#$Lm#i@!Xb7F1QftmE{Eu>R?bS8>9-`L>?)jq>SdBAF(3_DQ=V zL#>i@7ItS}*dXrYPVFbx^TmY&a##G&F;<)OL`EFZH=5S9>GCCJS8t6G0LH--EwHdy zKpORwGp5w9n@mhJcy-%Qm2AAAjj&Yo8I2Te!KUg89b6)1Ct`FY*(SEj0jLv9*pKbp z%C{_#$OCa8J-p_y8AxYkz6+bmv6mpeeO2y7D&^x6))D??J6Hg#!d@v&tgpFZSg~v0qDai{ zvyKGm=X)!#R5=WNSITKU05so2?{GobBQWe92s8^OuoO{b-7VMs zRXC#3)CLvrYE(_?H60x{)Ni_1ugtf)mT6|do#t256VJAUgxkMGD|q6$TfwvB_&aNX z+*a#Ac#^^UkSC%HsB}QJ>j(UwHzt1dkt&Gq=&7ZU;QXtQN1CwH=D(UEVP#YOj&u;xW6$$zhb%v@1`U@>=H?)mgjV^1i=OgA3P5-z zro^KMcO47~P?z2-<(J??qo{79l-5md+uW|wNi#E!Wfc6DtXoFm@?00?irlWdupe<aoJ%jbL#d*tBxYnkOD!x{n6H|;6 z`YQ|q5B$kb9c}FLH&-uHl}Hm-j?m>eM#ZYEVd!B1{C6O4po8Y#09|q)_5S*`tkEPw zOR&hDKvo1qOmj9WZI@#P2_Y>pDk`$&! z{aShbX1=YX^tj*GU5%g1O7cmEh6lIia32j9V1o3l5C`Z;1VLq`+dVuyzU^_ziLrK@ z84Xt$MO3#F)#p*K@T?di6vnHUqsr@~Z23gPTIC;6TVos-B+g?Vw=`ooDRE{DJ25U5 z&vc4E;nCd`^KDtO~I$xx&I6F2aI%vAvV_?-YBh`h1`n^A0-E=hv( z(;rEU9ALbNGg&sdvhcW|pPr%(s>3L^gF5YIwl|@{DWDSa(Da&fOEfx(?9Q=-1mt>S zC$;bKQeNtseZCLf?St=-^fUJ2VIL!V_02Bs*kaNFVP)RHchuVD0Wf%$oSb6Qs0Y>< wP%%%fM|iLa$u5ImlSZSEu_E9?7yF#FLBqi%MmYuvl`sQ{eq`S&@2Jdw0Z4DmO#lD@ literal 0 HcmV?d00001 diff --git a/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828110050371.png b/Case/单通道Z芯片/新造的Case/单通道Z测试大纲_2609/单通道Z测试仿真波形/单通道Z测试仿真波形.assets/image-20260828110050371.png new file mode 100644 index 0000000000000000000000000000000000000000..000aabf3f012567150b73ed2aaaa837ad3623b9f GIT binary patch literal 3655 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 delta 126 zcmZ28iE+&&M&9MTyj%=GaA{*-)~1cTTa6iSY(8wPz{@DJ`H4d+n~*qb3F8L_B+_DX oqPy7SLihEId6N}A_86tIGD>`4z)nt3`v{i#f-D~}ncq_u0L4}%Q~&?~ diff --git a/Z_case_Generator_V2.0/gen_cases/General/TC_AWG_MOD_TAILCOR_HEX.txt b/Z_case_Generator_V2.0/gen_cases/General/TC_AWG_MOD_TAILCOR_HEX.txt index dac3485..e1d513d 100644 --- a/Z_case_Generator_V2.0/gen_cases/General/TC_AWG_MOD_TAILCOR_HEX.txt +++ b/Z_case_Generator_V2.0/gen_cases/General/TC_AWG_MOD_TAILCOR_HEX.txt @@ -440,6 +440,3 @@ f6000ce3 80000044 00100050 -81900000 -00102000 - diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED.json b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED.json new file mode 100644 index 0000000..0066634 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED.json @@ -0,0 +1,62 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "inner_sync": true, + "instr_type": "ramp_fixed", + "fixed_value": [ + 32768, + 33280, + 34816, + 37376, + 40960, + 45568, + 51200, + 57856, + 65535, + 57856, + 51200, + 45568, + 40960, + 37376, + 34816, + 33280 + ], + "wait_clk": [ + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000, + 1000 + ], + "config_param_num": 16, + "ensemble_num": 0, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_MCU_FIXED", + "config_file": "gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" +} \ No newline at end of file diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED_HEX.txt b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED_HEX.txt new file mode 100644 index 0000000..f012467 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_FIXED_HEX.txt @@ -0,0 +1,95 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300124 +00100004 +40000000 + +002000dc +0010008c +80000000 +00000000 +00000010 +80008000 +000003e8 +82008000 +000003e8 +88008000 +000003e8 +92008000 +000003e8 +a0008000 +000003e8 +b2008000 +000003e8 +c8008000 +000003e8 +e2008000 +000003e8 +ffff8000 +000003e8 +e2008000 +000003e8 +c8008000 +000003e8 +b2008000 +000003e8 +a0008000 +000003e8 +92008000 +000003e8 +88008000 +000003e8 +82008000 +000003e8 + +00100000 +00100060 +001000b7 +00200137 +0dc0af83 +0df12223 +00800193 +0e00a203 +fff20213 +00008313 +0e40a283 +fff28293 +0e832f83 +0ec32f03 +0bf12c23 +00330333 +00029463 +00c0006f +fe8f000b +fe1ff06f +fdcf000b +fc0216e3 +00f0000b +0a012c23 +0c012223 +0000002b + +00500000 +00100004 +00000000 + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP.json b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP.json new file mode 100644 index 0000000..ea57cf4 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP.json @@ -0,0 +1,38 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "MCU", + "inner_sync": true, + "instr_type": "ramp_step", + "ensemble_num": 0, + "param_num": 4, + "height": [ + 128, + 256, + 512, + 1024 + ], + "step_time": [ + 50, + 50, + 50, + 50 + ], + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_MCU_STEP", + "config_file": "gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt" +} \ No newline at end of file diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP_HEX.txt b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP_HEX.txt new file mode 100644 index 0000000..5dd298a --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_MCU_STEP_HEX.txt @@ -0,0 +1,75 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300124 +00100004 +40000000 + +002000dc +00100040 +00000000 +80000000 +00000004 +00000000 +00800000 +00000032 +00006400 +01000000 +00000032 +00003200 +02000000 +00000032 +00001900 +04000000 +00000032 +00000c80 + +00100000 +0010005c +001000b7 +00200137 +0dc0af83 +0bf12c23 +0e00ae03 +00c00313 +0e80a383 +fff38393 +00008413 +0e40a283 +fff28293 +0ec42f83 +0f042f03 +0f442e83 +00640433 +0de12023 +0bf12e23 +0dc12223 +fe2e800b +fc029ee3 +fc0396e3 +0c012223 +0000002b + +00500000 +00100004 +00000000 + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED.json b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED.json new file mode 100644 index 0000000..fb50651 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED.json @@ -0,0 +1,27 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "inner_sync": true, + "fixed_enable": true, + "fixed_value": 22767, + "height": 512, + "step_time": 32, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_SPI_FIXED", + "config_file": "gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt" +} \ No newline at end of file diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED_HEX.txt b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED_HEX.txt new file mode 100644 index 0000000..95b7986 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_FIXED_HEX.txt @@ -0,0 +1,38 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300118 +00100004 +58ef8000 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP.json b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP.json new file mode 100644 index 0000000..d521469 --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP.json @@ -0,0 +1,27 @@ +{ + "chip_mode": "RAMP", + "ramp_ctrl": "SPI", + "inner_sync": true, + "fixed_enable": false, + "fixed_value": 22767, + "height": 512, + "step_time": 32, + "custom_registers": [ + { + "addr": 52, + "values": 5 + }, + { + "addr": 6291504, + "values": [ + 0, + 0, + 0, + 0 + ] + } + ], + "FolderName": "gen_cases\\RAMP", + "CaseName": "RAMP_SPI_STEP", + "config_file": "gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt" +} \ No newline at end of file diff --git a/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP_HEX.txt b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP_HEX.txt new file mode 100644 index 0000000..7dcc15f --- /dev/null +++ b/Z_case_Generator_V2.0/gen_cases/RAMP/RAMP_SPI_STEP_HEX.txt @@ -0,0 +1,40 @@ +00000034 +00100004 +00000005 + +00600030 +00100010 +00000000 +00000000 +00000000 +00000000 + +00300108 +00100004 +00000008 + +00300118 +0010000c +00000000 +02000000 +00000020 + +00300124 +00100004 +80000000 + +00500000 +00100004 +00000000 + +00100000 +00100004 +0000002b + +00000044 +00100004 +00030001 + +80000044 +00100050 + diff --git a/Z_case_Generator_V2.0/z_case_gen.ipynb b/Z_case_Generator_V2.0/z_case_gen.ipynb index 447abd4..3278aa3 100644 --- a/Z_case_Generator_V2.0/z_case_gen.ipynb +++ b/Z_case_Generator_V2.0/z_case_gen.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 3, + "execution_count": 26, "id": "initial_id", "metadata": { "ExecuteTime": { @@ -11,7 +11,16 @@ }, "collapsed": true }, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The autoreload extension is already loaded. To reload it, use:\n", + " %reload_ext autoreload\n" + ] + } + ], "source": [ "# _配置\n", "# TODO: 完整的定向case测试集\n", @@ -104,7 +113,7 @@ " pm = ParamsManager(out_dir)\n", " if save_json:\n", " pm.save(params, case_name)\n", - " \n", + "\n", " # 3. 基础芯片输出配置\n", " config_chip_reg(mk, **params)\n", " print(\"执行 config_chip_reg\")\n", @@ -119,14 +128,20 @@ " if 'instr_type' in params:\n", " instruction_config(mk, mk_instr, **params)\n", " print(\"执行了 instruction_config\")\n", + "\n", " \n", - " \n", - " # 7. 基础硬件寄存器下发\n", + " #6.如果有缺失值,则补充默认值,防止仿真报错\n", " if 'envelope_configs' not in params:\n", " mk.rw_once('w', addr_base['ENVM0_BASE'], 0, params['config_file'])\n", - " \n", " if 'instr_type' not in params:\n", - " mk.rw_once('w', addr_base['ITCM0_BASE'], '0x2B', params['config_file'])\n", + " mk.rw_once('w', addr_base['ITCM0_BASE'], '0x2B', params['config_file']) \n", + "\n", + " #7.最后判断内部触发\n", + " if 'inner_sync' in params:\n", + " inner_sync = params.get('inner_sync')\n", + " if inner_sync:\n", + " mk.rw_once('w', addr_base['SYST_BASE']+reg_define['sys_reg']['SYNCR'], 3<<16 | 1, params['config_file'])\n", + " mk.rw_once('r', addr_base['SYST_BASE']+reg_define['pll_reg']['INTPLL_CLKRXPD'], [0]*20, params['config_file'])\n", "\n", " print(f\"生成文件路径:{config_file_path.resolve()}\")\n", " file_path = config_file_path.resolve()\n", @@ -136,7 +151,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 3, "id": "dd0c2d05a0afc9b6", "metadata": { "ExecuteTime": { @@ -146,14 +161,15 @@ }, "outputs": [ { - "ename": "NameError", - "evalue": "name 'Path' is not defined", + "ename": "FileNotFoundError", + "evalue": "[Errno 2] No such file or directory: 'D:\\\\MyDocument\\\\工作\\\\Z芯片的case生成器\\\\Chip_Case_Generator\\\\Z_case_Generator_V2.0\\\\gen_cases\\\\TC_FFNCO_FREQ_SCAN\\\\tc_ffnco_freq_scan100Mhz.json'", "output_type": "error", "traceback": [ "\u001b[1;31m---------------------------------------------------------------------------\u001b[0m", - "\u001b[1;31mNameError\u001b[0m Traceback (most recent call last)", - "Input \u001b[1;32mIn [2]\u001b[0m, in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# load params\u001b[39;00m\n\u001b[0;32m 2\u001b[0m \u001b[38;5;66;03m# 1. 指定要加载的 JSON 文件完整路径\u001b[39;00m\n\u001b[0;32m 3\u001b[0m json_file_path \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mD:\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mMyDocument\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124m工作\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mZ芯片的case生成器\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mChip_Case_Generator\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mZ_case_Generator_V2.0\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mgen_cases\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mTC_FFNCO_FREQ_SCAN\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mtc_ffnco_freq_scan100Mhz.json\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[1;32m----> 5\u001b[0m json_path \u001b[38;5;241m=\u001b[39m \u001b[43mPath\u001b[49m(json_file_path)\n\u001b[0;32m 6\u001b[0m load_dir \u001b[38;5;241m=\u001b[39m json_path\u001b[38;5;241m.\u001b[39mparent \u001b[38;5;66;03m# 获取目录\u001b[39;00m\n\u001b[0;32m 7\u001b[0m case_name \u001b[38;5;241m=\u001b[39m json_path\u001b[38;5;241m.\u001b[39mstem \u001b[38;5;66;03m# 文件名跟随.json前面的\u001b[39;00m\n", - "\u001b[1;31mNameError\u001b[0m: name 'Path' is not defined" + "\u001b[1;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", + "Input \u001b[1;32mIn [3]\u001b[0m, in \u001b[0;36m\u001b[1;34m()\u001b[0m\n\u001b[0;32m 9\u001b[0m \u001b[38;5;66;03m# 2. 加载配置\u001b[39;00m\n\u001b[0;32m 10\u001b[0m pm_load \u001b[38;5;241m=\u001b[39m ParamsManager(load_dir)\n\u001b[1;32m---> 11\u001b[0m params \u001b[38;5;241m=\u001b[39m \u001b[43mpm_load\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mload\u001b[49m\u001b[43m(\u001b[49m\u001b[43mcase_name\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 13\u001b[0m \u001b[38;5;66;03m# 3. 自定义你的新输出路径 \u001b[39;00m\n\u001b[0;32m 14\u001b[0m custom_output_dir \u001b[38;5;241m=\u001b[39m \u001b[38;5;124mr\u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124mD:\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mMyDocument\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124m工作\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mZ芯片的case生成器\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mChip_Case_Generator\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mZ_case_Generator_V2.0\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mgen_cases\u001b[39m\u001b[38;5;124m\\\u001b[39m\u001b[38;5;124mTC_FFNCO_FREQ_SCAN\u001b[39m\u001b[38;5;124m'\u001b[39m\n", + "File \u001b[1;32md:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\ParamsManager.py:30\u001b[0m, in \u001b[0;36mParamsManager.load\u001b[1;34m(self, filename)\u001b[0m\n\u001b[0;32m 26\u001b[0m filename \u001b[38;5;241m=\u001b[39m filename \u001b[38;5;241m+\u001b[39m \u001b[38;5;124m'\u001b[39m\u001b[38;5;124m.json\u001b[39m\u001b[38;5;124m'\u001b[39m\n\u001b[0;32m 28\u001b[0m filepath \u001b[38;5;241m=\u001b[39m os\u001b[38;5;241m.\u001b[39mpath\u001b[38;5;241m.\u001b[39mjoin(\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mparams_dir, filename)\n\u001b[1;32m---> 30\u001b[0m \u001b[38;5;28;01mwith\u001b[39;00m \u001b[38;5;28;43mopen\u001b[39;49m\u001b[43m(\u001b[49m\u001b[43mfilepath\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mr\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mutf-8\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m)\u001b[49m \u001b[38;5;28;01mas\u001b[39;00m f:\n\u001b[0;32m 31\u001b[0m params \u001b[38;5;241m=\u001b[39m json\u001b[38;5;241m.\u001b[39mload(f)\n\u001b[0;32m 32\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m params\n", + "\u001b[1;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'D:\\\\MyDocument\\\\工作\\\\Z芯片的case生成器\\\\Chip_Case_Generator\\\\Z_case_Generator_V2.0\\\\gen_cases\\\\TC_FFNCO_FREQ_SCAN\\\\tc_ffnco_freq_scan100Mhz.json'" ] } ], @@ -179,7 +195,7 @@ }, { "cell_type": "code", - "execution_count": 14, + "execution_count": 23, "id": "47c22172d77fc331", "metadata": { "ExecuteTime": { @@ -273,7 +289,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 39, "id": "4f0fa3c90ad0d570", "metadata": { "ExecuteTime": { @@ -286,41 +302,133 @@ "name": "stdout", "output_type": "stream", "text": [ - "执行config_chip_reg\n", - " 生成:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\RAMP\\RAMP_SPI_HEX.txt\n", - "执行config_chip_reg\n", - "执行了instruction_config\n", - " 生成:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\RAMP\\RAMP_MCU_STEP_HEX.txt\n", - "执行config_chip_reg\n", - "执行了instruction_config\n", - " 生成:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n" + "执行 config_chip_reg\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt\n" ] + }, + { + "data": { + "text/html": [ + "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "执行 config_chip_reg\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt\n" + ] + }, + { + "data": { + "text/html": [ + "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt\n" + ] + }, + { + "data": { + "text/html": [ + "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "执行 config_chip_reg\n", + "执行了 instruction_config\n", + "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\n" + ] + }, + { + "data": { + "text/html": [ + "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ "# RAMP 通用模板\n", - "#RAMP SPI控制\n", + "#RAMP SPI控制,固定值模式\n", "run_case({\n", " 'chip_mode': 'RAMP',\n", " 'ramp_ctrl':'SPI',\n", + " 'inner_sync': True,\n", " 'fixed_enable': True, #是固定值还是斜坡模式\n", " 'fixed_value': 22767, #固定值模式生效\n", - " 'height': 512, 'step_time': 34 , #斜坡模式生效 ,step_time就是台阶宽度\n", - " \n", + " 'height': 512, 'step_time': 32 , #斜坡模式生效 ,step_time就是台阶宽度\n", + " 'custom_registers': [\n", + " {\"addr\": 0x34, \"values\": 0x5}, # Debug存储器使能\n", + " {\"addr\": 0x600030, \"values\": [0x0, 0x0, 0x0, 0x0]}, # DAC 配置\n", + " ],\n", " 'FolderName': 'RAMP',\n", - " 'CaseName': f\"RAMP_SPI\"\n", + " 'CaseName': f\"RAMP_SPI_FIXED\"\n", + "})\n", + "\n", + "#RAMP SPI控制,斜坡模式\n", + "run_case({\n", + " 'chip_mode': 'RAMP',\n", + " 'ramp_ctrl':'SPI',\n", + " 'inner_sync': True,\n", + " 'fixed_enable': False, #是固定值还是斜坡模式\n", + " 'fixed_value': 22767, #固定值模式生效\n", + " 'height': 512, 'step_time': 32 , #斜坡模式生效 ,step_time就是台阶宽度\n", + " 'custom_registers': [\n", + " {\"addr\": 0x34, \"values\": 0x5}, # Debug存储器使能\n", + " {\"addr\": 0x600030, \"values\": [0x0, 0x0, 0x0, 0x0]}, # DAC 配置\n", + " ],\n", + " 'FolderName': 'RAMP',\n", + " 'CaseName': f\"RAMP_SPI_STEP\"\n", "})\n", "#RAMP MCU控制时,斜坡模式\n", "run_case({\n", " 'chip_mode': 'RAMP',\n", " 'ramp_ctrl':'MCU',\n", + " 'inner_sync': True,\n", " #是固定值还是斜坡模式,如过是斜坡模式,则要指令选ramp_step\n", " 'instr_type': 'ramp_step', #可选ramp_step或ramp_fixed. mcu执行不同指令操作模板,实现台阶或斜坡这两种模式\n", - " 'ensemble_num' : 2, #大循环次数\n", - " 'param_num' :2, # 循环中参数个数,和列表个数一致\n", - " 'height': [128,256], \n", - " 'step_time': [50,50], \n", - " \n", + " 'ensemble_num' : 0, #大循环次数\n", + " 'param_num' : 4, # 循环中参数个数,和列表个数一致\n", + " 'height': [128,256,512,1024], \n", + " 'step_time': [50,50,50,50], \n", + " 'custom_registers': [\n", + " {\"addr\": 0x34, \"values\": 0x5}, # Debug存储器使能\n", + " {\"addr\": 0x600030, \"values\": [0x0, 0x0, 0x0, 0x0]}, # DAC 配置\n", + " ], \n", " 'FolderName': 'RAMP',\n", " 'CaseName': f\"RAMP_MCU_STEP\"\n", "})\n", @@ -329,13 +437,20 @@ "run_case({\n", " 'chip_mode': 'RAMP',\n", " 'ramp_ctrl':'MCU',\n", + " 'inner_sync': True,\n", " #是固定值还是斜坡模式,如果是固定值模式,则指令选ramp_fixed\n", " 'instr_type': 'ramp_fixed', #可选ramp_step或ramp_fixed. mcu执行不同指令操作模板,实现台阶或斜坡这两种模式\n", - " 'fixed_value': [1<<15] + [1<<15 | 1<