完善单通道case生成器RAMP部分,增加RAMP Case
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.0 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 920 B After Width: | Height: | Size: 920 B |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
After Width: | Height: | Size: 25 KiB |
|
After Width: | Height: | Size: 2.0 KiB |
|
After Width: | Height: | Size: 2.4 KiB |
|
After Width: | Height: | Size: 6.6 KiB |
|
After Width: | Height: | Size: 1.7 KiB |
|
After Width: | Height: | Size: 3.6 KiB |
|
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
|
|
@ -0,0 +1,91 @@
|
|||
# 单通道Z芯片测试仿真波形
|
||||
|
||||
## 基本功能测试大纲
|
||||
|
||||

|
||||
|
||||
以下仅展示仿真示例。
|
||||
|
||||
### AWG模块
|
||||
|
||||
#### NCO
|
||||
|
||||
##### TC_AWG_NCO_FREQ
|
||||
|
||||

|
||||
|
||||
##### TC_AWG_NCO_PHA
|
||||
|
||||
45度时
|
||||
|
||||

|
||||
|
||||
120度
|
||||
|
||||
|
||||
|
||||

|
||||
|
||||
#### NCO_FM
|
||||
|
||||
##### TC_AWG_NCO_FM_FREQ
|
||||
|
||||
NCO_FM的频率,为输入频率的两倍。(默认具有倍频属性)
|
||||
|
||||

|
||||
|
||||
##### TC_AWG_NCO_FM_PHA
|
||||
|
||||
NCO_FM的的60度时,应与NCO的120度Case波形一致。
|
||||
|
||||

|
||||
|
||||
#### ENV
|
||||
|
||||
##### TC_AWG_ENV_OUT
|
||||
|
||||
一共七个波形,分别是rect_hold,flattop_hold,acz,accz,cosine,rec,flattop
|
||||
|
||||

|
||||
|
||||
##### TC_AWG_ENV_TAILCOR
|
||||
|
||||

|
||||
|
||||
#### MOD
|
||||
|
||||
##### TC_AWG_MOD_COMMON
|
||||
|
||||

|
||||
|
||||
##### TC_AWG_MOD_DUAL_FREQ
|
||||
|
||||

|
||||
|
||||
##### TC_AWG_MOD_TAILCOR
|
||||
|
||||

|
||||
|
||||
这个波形可能有点小问题
|
||||
|
||||
### RAMP
|
||||
|
||||
#### FIXED
|
||||
|
||||
##### TC_RAMP_SPI_FIXED
|
||||
|
||||

|
||||
|
||||
##### TC_RAMP_MCU_FIXED
|
||||
|
||||

|
||||
|
||||
#### STEP
|
||||
|
||||
##### TC_RAMP_SPI_STEP
|
||||
|
||||

|
||||
|
||||
##### TC_RAMP_MCU_STEP
|
||||
|
||||

|
||||
|
|
@ -310,11 +310,7 @@ class AssemblyTemplateManager:
|
|||
def _write_machine_codes_to_chip(self, machine_codes: str, **kwargs):
|
||||
channel_id = kwargs.get('channel_id', 0)
|
||||
self.mk_instr.write(machine_codes, self.config_file, chip_id = channel_id, show=kwargs.pop('instr_show', False))
|
||||
if 'inner_sync' in kwargs:
|
||||
inner_sync = kwargs.pop('inner_sync')
|
||||
if inner_sync:
|
||||
self.write_register(addr_base['SYST_BASE']+reg_define['sys_reg']['SYNCR'], 3<<16 | 1)
|
||||
self.mk.rw_once('r', addr_base['SYST_BASE']+reg_define['pll_reg']['INTPLL_CLKRXPD'], [0]*20, self.config_file)
|
||||
|
||||
# self.mk.rw_once('r', addr_base['DBGM_BASE'], [0]*2048, self.config_file)
|
||||
|
||||
def instruction_config(mk_instance, mk_instr, **kwargs):
|
||||
|
|
|
|||
|
|
@ -255,6 +255,7 @@ class ZChipConfig(object):
|
|||
|
||||
def _ramp_config(self, **kwargs):
|
||||
self.write_register(addr_base['CTRL0_BASE'] + reg_define['ctrl_reg']['MODDOTR'], 8) # 切换到RAMP输出
|
||||
|
||||
ramp_ctrl = kwargs.pop('ramp_ctrl')
|
||||
if ramp_ctrl == 'MCU': # RAMP连到 mcu_regfile
|
||||
self.write_register(addr_base['CTRL0_BASE'] + reg_define['ctrl_reg']['SPI_RAMPENR'], 1 << 30)
|
||||
|
|
@ -281,6 +282,7 @@ class ZChipConfig(object):
|
|||
|
||||
|
||||
|
||||
|
||||
def _awg_config(self, **kwargs):
|
||||
#数据选择寄存器300108配置开始
|
||||
# 模式与寄存器数值的映射字典 (Bit 2 和 Bit[1:0])
|
||||
|
|
|
|||
|
|
@ -440,6 +440,3 @@ f6000ce3
|
|||
80000044
|
||||
00100050
|
||||
|
||||
81900000
|
||||
00102000
|
||||
|
||||
|
|
|
|||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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"
|
||||
}
|
||||
|
|
@ -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
|
||||
|
||||
|
|
@ -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<cell line: 0>\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<cell line: 0>\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": [
|
||||
"<a href=\"D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt\" target=\"_blank\">D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_FIXED_HEX.txt</a>"
|
||||
],
|
||||
"text/plain": [
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"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": [
|
||||
"<a href=\"D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt\" target=\"_blank\">D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_SPI_STEP_HEX.txt</a>"
|
||||
],
|
||||
"text/plain": [
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"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": [
|
||||
"<a href=\"D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt\" target=\"_blank\">D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_STEP_HEX.txt</a>"
|
||||
],
|
||||
"text/plain": [
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"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": [
|
||||
"<a href=\"D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt\" target=\"_blank\">D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\RAMP\\RAMP_MCU_FIXED_HEX.txt</a>"
|
||||
],
|
||||
"text/plain": [
|
||||
"<IPython.core.display.HTML object>"
|
||||
]
|
||||
},
|
||||
"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<<i for i in range(0,15)] + [0], \n",
|
||||
" 'wait_clk': [1000]*17,\n",
|
||||
" 'config_param_num': 17, \n",
|
||||
" 'fixed_value': [\n",
|
||||
" 32768, 33280, 34816, 37376, 40960, 45568, 51200, 57856, 65535, # 上升(越来越快)\n",
|
||||
" 57856, 51200, 45568, 40960, 37376, 34816, 33280 # 下降(对称)\n",
|
||||
" ], \n",
|
||||
" 'wait_clk': [1000]*16,\n",
|
||||
" 'config_param_num': 16, \n",
|
||||
" 'ensemble_num': 0, \n",
|
||||
" \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_FIXED\"\n",
|
||||
"})"
|
||||
|
|
|
|||