From 31b362b291217393fbd5d75532e4438ecfa8d88e Mon Sep 17 00:00:00 2001 From: bacon Date: Mon, 8 Sep 2025 17:17:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A08b10b=E6=89=93=E5=BC=80?= =?UTF-8?q?=E5=85=B3=E9=97=AD=E7=9A=84=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tb/shinTest/Makefile_vcs | 31 +++++++++++++++++++++++++++-- tb/shinTest/gen_pkt.py | 3 +++ tb/shinTest/gen_pkt_clk.py | 5 ++++- tb/shinTest/testcase/environment.py | 2 +- 4 files changed, 37 insertions(+), 4 deletions(-) diff --git a/tb/shinTest/Makefile_vcs b/tb/shinTest/Makefile_vcs index 1271f81..080ef36 100644 --- a/tb/shinTest/Makefile_vcs +++ b/tb/shinTest/Makefile_vcs @@ -33,7 +33,7 @@ testShinClk_vcs: mv spi_trans_data.txt generated/spi_trans_data1.txt mv generated/wave.vcd generated/wave1.vcd \ - python3 ./shinTest/gen_pkt_clk.py --dev1 45 180 --dev3 25 -180 + python3 ./shinTest/gen_pkt_clk.py --dev1 45 180 --dev3 25 -180 -8b10b mkdir -p generated/log rm -rf generated/log/* ${VCS} -f ./shinTestClk_vcs.f @@ -42,7 +42,7 @@ testShinClk_vcs: mv spi_trans_data.txt generated/spi_trans_data2.txt mv generated/wave.vcd generated/wave2.vcd \ - python3 ./shinTest/gen_pkt_clk.py --dev1 45 190 --dev3 25 -190 + python3 ./shinTest/gen_pkt_clk.py --dev1 45 185 --dev3 25 -185 mkdir -p generated/log rm -rf generated/log/* ${VCS} -f ./shinTestClk_vcs.f @@ -50,6 +50,33 @@ testShinClk_vcs: python3 ./shinTest/check_testcase.py mv spi_trans_data.txt generated/spi_trans_data3.txt mv generated/wave.vcd generated/wave3.vcd + \ + python3 ./shinTest/gen_pkt_clk.py --dev1 45 186 --dev3 25 -186 + mkdir -p generated/log + rm -rf generated/log/* + ${VCS} -f ./shinTestClk_vcs.f + ${SIM} + python3 ./shinTest/check_testcase.py + mv spi_trans_data.txt generated/spi_trans_data4.txt + mv generated/wave.vcd generated/wave4.vcd + \ + python3 ./shinTest/gen_pkt_clk.py --dev1 45 187 --dev3 25 -187 + mkdir -p generated/log + rm -rf generated/log/* + ${VCS} -f ./shinTestClk_vcs.f + ${SIM} + python3 ./shinTest/check_testcase.py + mv spi_trans_data.txt generated/spi_trans_data5.txt + mv generated/wave.vcd generated/wave5.vcd + \ + python3 ./shinTest/gen_pkt_clk.py --dev1 45 188 --dev3 25 -188 -8b10b + mkdir -p generated/log + rm -rf generated/log/* + ${VCS} -f ./shinTestClk_vcs.f + ${SIM} + python3 ./shinTest/check_testcase.py + mv spi_trans_data.txt generated/spi_trans_data6.txt + mv generated/wave.vcd generated/wave6.vcd testShinMany_vcs: diff --git a/tb/shinTest/gen_pkt.py b/tb/shinTest/gen_pkt.py index fd0e550..89cbc6e 100755 --- a/tb/shinTest/gen_pkt.py +++ b/tb/shinTest/gen_pkt.py @@ -7,6 +7,9 @@ if __name__ == '__main__': environment.gen_slv_dev_num(4) environment.bringup() + + add_tc_2_runlist(rwregs.tc1()) + #add_tc_2_runlist(errorPkt.tc1()) #add_tc_2_runlist(errorPkt.tc2()) #add_tc_2_runlist(errorPkt.tc3()) diff --git a/tb/shinTest/gen_pkt_clk.py b/tb/shinTest/gen_pkt_clk.py index b460137..3ad0a70 100755 --- a/tb/shinTest/gen_pkt_clk.py +++ b/tb/shinTest/gen_pkt_clk.py @@ -13,6 +13,8 @@ if __name__ == '__main__': parser.add_argument("-d2", "--dev2", nargs=2, type=int, default=[0, 0], help="相位(度)、频率偏差ppm") parser.add_argument("-d3", "--dev3", nargs=2, type=int, default=[0, 0], help="相位(度)、频率偏差ppm") parser.add_argument("-d4", "--dev4", nargs=2, type=int, default=[0, 0], help="相位(度)、频率偏差ppm") + parser.add_argument("-8b10b", action="store_true", dest="use_8b10b", default=False, help="使用8b10b编码") + # 解析参数 args = parser.parse_args() # 使用参数 @@ -34,7 +36,8 @@ if __name__ == '__main__': environment.gen_slv_dev_for_clk(4) environment.bringup() - rwregs.tc1() + if args.use_8b10b: + add_tc_2_runlist(rwregs.tc1()) #add_tc_2_runlist(errorPkt.tc1()) #add_tc_2_runlist(errorPkt.tc2()) diff --git a/tb/shinTest/testcase/environment.py b/tb/shinTest/testcase/environment.py index cc717c2..67a1e08 100644 --- a/tb/shinTest/testcase/environment.py +++ b/tb/shinTest/testcase/environment.py @@ -366,7 +366,7 @@ def set_dev_clk(cfg): code_for_clk = "" for k in global_setting_dev_clk: v = global_setting_dev_clk[k] - ph = int(8 * 1000000 * v[0] / 360.0) + ph = int(8 * 1000000 * (int(abs(v[0]))%360) / 360.0) period = int(1000000 + v[1]) code_for_clk = code_for_clk + __gen_slv_clk(k, ph, period)