From 36dff72182687a606cd34ba1e3cc9897b74e660d Mon Sep 17 00:00:00 2001 From: yangshenbo Date: Tue, 25 Aug 2026 10:33:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E5=8D=95=E9=80=9A=E9=81=93bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../gen_cases/General/tc_general_awg.json | 51 ++++++++++++++++++- .../gen_cases/General/tc_general_awg_HEX.txt | 28 ++++++---- Z_case_Generator_V2.0/z_case_gen.ipynb | 38 +++++++++++--- 3 files changed, 98 insertions(+), 19 deletions(-) diff --git a/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg.json b/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg.json index 2c7c33e..405fd91 100644 --- a/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg.json +++ b/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg.json @@ -57,7 +57,7 @@ 450, 500 ], - "cycle_num": 1, + "cycle_num": 0, "codeword_configs": [ { "wave_hold": 1, @@ -72,6 +72,55 @@ "pcw_index": 0, "code_clr": 0, "env_index": 1 + }, + { + "wave_hold": 1, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 2 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 0, + "env_index": 3 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 4 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 5 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 6 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 7 + }, + { + "wave_hold": 0, + "fcw_index": 0, + "pcw_index": 0, + "code_clr": 1, + "env_index": 8 } ], "sweep_config": { diff --git a/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg_HEX.txt b/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg_HEX.txt index 2ec6009..9de00d0 100644 --- a/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg_HEX.txt +++ b/Z_case_Generator_V2.0/gen_cases/General/tc_general_awg_HEX.txt @@ -279,15 +279,29 @@ 00000000 002000dc -00100030 +00100068 00000000 -00000001 -00000002 +00000000 +00000009 00000002 40040000 00000064 00001000 00000096 +40042000 +000000c8 +00003000 +000000fa +00044000 +0000012c +00045000 +0000015e +00046000 +00000190 +00047000 +000001c2 +00048000 +000001f4 00000078 00000040 00000bb8 @@ -365,11 +379,3 @@ f6000ce3 81900000 00102000 -00500000 -00100004 -00000000 - -00100000 -00100004 -0000002b - diff --git a/Z_case_Generator_V2.0/z_case_gen.ipynb b/Z_case_Generator_V2.0/z_case_gen.ipynb index 9c94cf7..d9fb945 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": 2, + "execution_count": 7, "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", @@ -31,6 +40,7 @@ "from ParamsManager import ParamsManager\n", "from itertools import product\n", "from pathlib import Path\n", + "from IPython.display import display, HTML\n", "mk = make_case()\n", "mk_instr = make_inst()\n", "#### envelop making parameter ####\n", @@ -121,13 +131,15 @@ " \n", " \n", " # 7. 基础硬件寄存器下发\n", - " if write_hw:\n", + " if 'envelope_configs' not in params:\n", " mk.rw_once('w', addr_base['ENVM0_BASE'], 0, params['config_file'])\n", - " ramp_ctrl_val = params.pop('ramp_ctrl', None)\n", - " if ramp_ctrl_val != 'MCU':\n", - " mk.rw_once('w', addr_base['ITCM0_BASE'], '0x2B', 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", "\n", " print(f\"生成文件路径:{config_file_path.resolve()}\")\n", + " file_path = config_file_path.resolve()\n", + " display(HTML(f'{file_path}'))\n", " return None" ] }, @@ -195,6 +207,18 @@ "执行了 instruction_config\n", "生成文件路径:D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\General\\tc_general_awg_HEX.txt\n" ] + }, + { + "data": { + "text/html": [ + "D:\\MyDocument\\工作\\Z芯片的case生成器\\Chip_Case_Generator\\Z_case_Generator_V2.0\\gen_cases\\General\\tc_general_awg_HEX.txt" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" } ], "source": [ @@ -221,7 +245,7 @@ " 'fm_en' :False, #nco_fm的开关,在nco_fm模式时,必须打开,不然nco_fm不工作,就是一条直线. mod的模式下开启fm_en,同时打开nco,就能看到两个正弦波叠加啊 \n", " 'instr_type': 'general_send_wait', #调用汇编搬移上面的数据到mcu_regfile,同时配合下面参数执行指令.AWG固定用这个模板,不用改。\n", " 'send_interval': [100, 150, 200, 250, 300, 350, 400,450,500],\n", - " 'cycle_num': 1, #0代表无限循环,如果要想扫参,那么这个波形序列就不能无限循环播放\n", + " 'cycle_num': 0, #0代表无限循环,如果要想扫参,那么这个波形序列就不能无限循环播放\n", " 'codeword_configs': [\n", " {'wave_hold': 1, 'fcw_index': 0, 'pcw_index': 0, 'code_clr': 1, 'env_index': 0},\n", " {'wave_hold': 0, 'fcw_index': 0, 'pcw_index': 0, 'code_clr': 0, 'env_index': 1},\n",