Browse Source

update

master
zhaohe 12 months ago
parent
commit
c81e775eee
  1. 2
      .gitignore
  2. BIN
      fdc_generator.exe
  3. 2
      ipcore/SPLL/generate.log
  4. 2
      ipcore/inclkpll/generate.log
  5. 2753
      out/linecounter.json
  6. 457
      out/linecounter.txt
  7. 9
      pango_tools/.clang-format
  8. 1
      pango_tools/build.bat
  9. 94
      pango_tools/fdc_generator.cpp
  10. 13
      pango_tools/logger.cpp
  11. 10
      pango_tools/logger.hpp
  12. 127
      pango_tools/zcsv.cpp
  13. 47
      pango_tools/zcsv.hpp
  14. 46
      pin.csv
  15. 0
      xsync.fdc
  16. 270
      xsync.pds

2
.gitignore

@ -16,3 +16,5 @@ device_map/
report_timing/
ipcore/ram/ram.idf
impl.tcl
out/*
*.log

BIN
fdc_generator.exe

2
ipcore/SPLL/generate.log

@ -1,7 +1,7 @@
IP Generator (Version 2021.1-SP7 build 86875)
Check out license ...
Start generating at 2024-01-11 09:39
Instance: SPLL (D:\workspace\fpga_demo\led_test\ipcore\SPLL\SPLL.idf)
Instance: SPLL (D:\workspace\fpga_demo\xsync\ipcore\SPLL\SPLL.idf)
IP: PLL (1.5)
Part: Logos-PGL22G-MBG324--6
Create directory 'rtl' ...

2
ipcore/inclkpll/generate.log

@ -1,7 +1,7 @@
IP Generator (Version 2021.1-SP7 build 86875)
Check out license ...
Start generating at 2023-12-14 21:34
Instance: inclkpll (D:\workspace\fpga_demo\led_test\ipcore\inclkpll\inclkpll.idf)
Instance: inclkpll (D:\workspace\fpga_demo\xsync\ipcore\inclkpll\inclkpll.idf)
IP: PLL (1.5)
Part: Logos-PGL22G-MBG324--6
Create directory 'rtl' ...

2753
out/linecounter.json
File diff suppressed because it is too large
View File

457
out/linecounter.txt

@ -1,457 +0,0 @@
===============================================================================
EXTENSION NAME : linecounter
EXTENSION VERSION : 0.2.7
-------------------------------------------------------------------------------
count time : 2024-01-11 20:40:13
count workspace : d:\workspace\fpga_demo\led_test
total files : 413
total code lines : 552462
total comment lines : 14393
total blank lines : 31258
statistics
| extension| total code| total comment| total blank|percent|
-------------------------------------------------------------------------
| .md| 45| 3| 27| 0.0081|
| .fdc| 3427| 0| 40| 0.62|
| .txt| 50| 0| 6| 0.0091|
| .snr| 2119| 0| 256| 0.38|
| .ccr| 227| 0| 172| 0.041|
| .log| 233241| 4574| 16262| 42|
| .prt| 960| 0| 0| 0.17|
| .tcl| 1915| 65| 8| 0.35|
| .prr| 363| 0| 27| 0.066|
| .db| 46034| 0| 0| 8.3|
| .bat| 11| 0| 0| 0.0020|
| .ini| 126| 3324| 706| 0.023|
| | 106783| 28| 0| 19|
| .rtr| 2754| 0| 404| 0.50|
| .qpg| 0| 0| 0| 0.0|
| .netlist| 94241| 0| 7587| 17|
| .v| 3118| 1206| 641| 0.56|
| .pvf| 1314| 0| 437| 0.24|
| .vm| 51623| 5188| 4614| 9.3|
| .bak| 85| 5| 7| 0.015|
| .pds| 295| 0| 0| 0.053|
| .bgr| 38| 0| 8| 0.0069|
| .pcf| 69| 0| 1| 0.012|
| .cmr| 5| 0| 5|0.00091|
| .vhdl| 42| 0| 8| 0.0076|
| .idf| 2826| 0| 0| 0.51|
| .pdf| 188| 0| 0| 0.034|
| .dmr| 563| 0| 42| 0.10|
-------------------------------------------------------------------------
.gitignore, code is 18, comment is 0, blank is 0.
ACPGL22G核心板原理图.pdf, code is 188, comment is 0, blank is 0.
compile\bak\async_receiver.cmr, code is 1, comment is 0, blank is 1.
compile\bak\cmr.db, code is 1388, comment is 0, blank is 0.
compile\bak\led_test.cmr, code is 1, comment is 0, blank is 1.
compile\bak\src_ttl_parser.cmr, code is 1, comment is 0, blank is 1.
compile\bak\Top.cmr, code is 1, comment is 0, blank is 1.
compile\cmr.db, code is 1385, comment is 0, blank is 0.
compile\formal.pvf, code is 209, comment is 0, blank is 202.
compile\logbackup\run_2024-01-11-18-32-44.log, code is 469, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-34-31.log, code is 465, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-35-36.log, code is 464, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-35-49.log, code is 464, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-40-38.log, code is 51, comment is 0, blank is 0.
compile\logbackup\run_2024-01-11-18-41-10.log, code is 167, comment is 0, blank is 0.
compile\logbackup\run_2024-01-11-18-41-32.log, code is 378, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-41-52.log, code is 378, comment is 0, blank is 1.
compile\logbackup\run_2024-01-11-18-42-10.log, code is 565, comment is 0, blank is 8.
compile\logbackup\run_2024-01-11-20-39-09.log, code is 583, comment is 0, blank is 8.
compile\run.log, code is 582, comment is 0, blank is 8.
compile\Top.cmr, code is 1, comment is 0, blank is 1.
compile\Top_comp.adf, it is a binary file.
constraint_backup\led_test_2023_12_08_17_04_22.fdc, code is 32, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_08_17_06_54.fdc, code is 58, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_08_19_10_31.fdc, code is 59, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_08_19_12_05.fdc, code is 59, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_08_19_12_53.fdc, code is 60, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_14_05_07.fdc, code is 60, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_14_23_52.fdc, code is 66, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_14_27_06.fdc, code is 66, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_14_34_42.fdc, code is 66, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_15_08_22.fdc, code is 72, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_15_27_17.fdc, code is 78, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_15_49_20.fdc, code is 84, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_16_03_13.fdc, code is 84, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_22_12_43.fdc, code is 126, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_13_22_49_15.fdc, code is 126, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_14_21_17_52.fdc, code is 156, comment is 0, blank is 0.
constraint_backup\led_test_2023_12_14_21_55_40.fdc, code is 166, comment is 0, blank is 0.
constraint_backup\led_test_2024_01_06_19_22_21.fdc, code is 8, comment is 0, blank is 0.
constraint_backup\led_test_2024_01_07_14_16_20.fdc, code is 14, comment is 0, blank is 0.
constraint_backup\led_test_2024_01_08_15_30_41.fdc, code is 32, comment is 0, blank is 0.
constraint_backup\led_test_2024_01_08_15_39_15.fdc, code is 144, comment is 0, blank is 3.
constraint_backup\led_test_2024_01_08_15_44_05.fdc, code is 162, comment is 0, blank is 5.
constraint_backup\led_test_2024_01_08_16_40_22.fdc, code is 541, comment is 0, blank is 10.
constraint_backup\led_test_2024_01_08_16_54_45.fdc, code is 545, comment is 0, blank is 10.
data.wf, it is a binary file.
device_map\bak\dmr.db, code is 5671, comment is 0, blank is 0.
device_map\bak\led_test.dmr, code is 169, comment is 0, blank is 21.
device_map\bak\led_test_dmr.prt, code is 240, comment is 0, blank is 0.
device_map\bak\Top.dmr, code is 394, comment is 0, blank is 21.
device_map\bak\Top_dmr.prt, code is 240, comment is 0, blank is 0.
device_map\formal.pvf, code is 853, comment is 0, blank is 0.
device_map\led_test.pcf, code is 69, comment is 0, blank is 1.
device_map\logbackup\run_2024-01-09-15-13-07.log, code is 67, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-10-21-59-05.log, code is 67, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-10-22-06-06.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-09-22-30.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-09-40-15.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-09-43-56.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-11-13-42.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-11-47-31.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-16-09-16.log, code is 73, comment is 0, blank is 2.
device_map\logbackup\run_2024-01-11-16-32-24.log, code is 73, comment is 0, blank is 2.
device_map\run.log, code is 73, comment is 0, blank is 2.
generate_bitstream\bak\bgr.db, code is 280, comment is 0, blank is 0.
generate_bitstream\bak\led_test.bgr, code is 19, comment is 0, blank is 4.
generate_bitstream\bak\led_test.sbit, it is a binary file.
generate_bitstream\bak\led_test.smsk, it is a binary file.
generate_bitstream\bak\Top.bgr, code is 19, comment is 0, blank is 4.
generate_bitstream\bak\Top.sbit, it is a binary file.
generate_bitstream\bak\Top.smsk, it is a binary file.
generate_bitstream\logbackup\run_2024-01-09-15-15-53.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-10-22-00-59.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-10-22-07-57.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-09-23-14.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-09-41-40.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-09-45-33.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-11-15-51.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-11-49-40.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-16-10-09.log, code is 24, comment is 0, blank is 0.
generate_bitstream\logbackup\run_2024-01-11-16-33-19.log, code is 24, comment is 0, blank is 0.
generate_bitstream\run.log, code is 24, comment is 0, blank is 0.
generate_bitstream\Top.sfc, it is a binary file.
generate_netlist\run.log, code is 20, comment is 0, blank is 0.
impl.tcl, code is 1795, comment is 0, blank is 1.
ipcore\genlock_sig_gen_pll\genlock_sig_gen_pll.idf, code is 641, comment is 0, blank is 0.
ipcore\inclkpll\.last_generated, code is 2, comment is 0, blank is 0.
ipcore\inclkpll\generate.log, code is 17, comment is 0, blank is 0.
ipcore\inclkpll\inclkpll.idf, code is 651, comment is 0, blank is 0.
ipcore\inclkpll\inclkpll.v, code is 43, comment is 15, blank is 8.
ipcore\inclkpll\inclkpll_tb.v, code is 134, comment is 18, blank is 24.
ipcore\inclkpll\inclkpll_tmpl.v, code is 5, comment is 9, blank is 2.
ipcore\inclkpll\inclkpll_tmpl.vhdl, code is 19, comment is 0, blank is 4.
ipcore\ram\ram.idf, code is 108, comment is 0, blank is 0.
ipcore\smult\smult.idf, code is 122, comment is 0, blank is 0.
ipcore\SPLL\.last_generated, code is 2, comment is 0, blank is 0.
ipcore\SPLL\generate.log, code is 17, comment is 0, blank is 0.
ipcore\SPLL\SPLL.idf, code is 663, comment is 0, blank is 0.
ipcore\SPLL\SPLL.v, code is 45, comment is 15, blank is 8.
ipcore\SPLL\SPLL_tb.v, code is 136, comment is 18, blank is 24.
ipcore\SPLL\SPLL_tmpl.v, code is 7, comment is 11, blank is 2.
ipcore\SPLL\SPLL_tmpl.vhdl, code is 23, comment is 0, blank is 4.
ipcore\ttl_pll\ttl_pll.idf, code is 641, comment is 0, blank is 0.
led_test.fdc, code is 563, comment is 0, blank is 12.
led_test.pds, code is 295, comment is 0, blank is 0.
log\cfg.log, code is 16, comment is 0, blank is 1.
log\configuration.log, code is 17102, comment is 0, blank is 0.
log\dbg.log, code is 7, comment is 0, blank is 0.
log\DbgTclCmd.log, code is 13, comment is 0, blank is 13.
log\debugger.log, code is 2381, comment is 0, blank is 26.
log\ins.log, code is 23, comment is 0, blank is 0.
log\js.log, code is 7, comment is 0, blank is 0.
log\jtagserver.log, code is 13300, comment is 0, blank is 0.
logbackup\run_2024-01-08-20-56-59.log, code is 290, comment is 0, blank is 3.
logbackup\run_2024-01-08-21-33-22.log, code is 18287, comment is 0, blank is 2109.
logbackup\run_2024-01-08-21-38-14.log, code is 221, comment is 0, blank is 3.
logbackup\run_2024-01-08-21-46-47.log, code is 3455, comment is 0, blank is 387.
logbackup\run_2024-01-08-22-10-08.log, code is 329, comment is 0, blank is 3.
logbackup\run_2024-01-08-22-25-01.log, code is 15202, comment is 0, blank is 1705.
logbackup\run_2024-01-09-11-00-15.log, code is 517, comment is 0, blank is 5.
logbackup\run_2024-01-09-22-55-17.log, code is 7608, comment is 0, blank is 220.
logbackup\run_2024-01-10-11-09-19.log, code is 18, comment is 0, blank is 0.
logbackup\run_2024-01-11-12-54-38.log, code is 47493, comment is 0, blank is 3307.
msg_level.txt, code is 7, comment is 0, blank is 0.
pango_sim_libraries\adc\_info, code is 299, comment is 0, blank is 0.
pango_sim_libraries\adc\_lib.qdb, it is a binary file.
pango_sim_libraries\adc\_lib1_1.qdb, it is a binary file.
pango_sim_libraries\adc\_lib1_1.qpg, it is a binary file.
pango_sim_libraries\adc\_lib1_1.qtl, it is a binary file.
pango_sim_libraries\adc\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\adc_e2\_info, code is 587, comment is 0, blank is 0.
pango_sim_libraries\adc_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\adc_e2\_lib1_2.qdb, it is a binary file.
pango_sim_libraries\adc_e2\_lib1_2.qpg, it is a binary file.
pango_sim_libraries\adc_e2\_lib1_2.qtl, it is a binary file.
pango_sim_libraries\adc_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\ddc_e2\_info, code is 59, comment is 0, blank is 0.
pango_sim_libraries\ddc_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\ddc_e2\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\ddc_e2\_lib1_0.qpg, it is a binary file.
pango_sim_libraries\ddc_e2\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\ddc_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\ddrc\_info, code is 3656, comment is 1, blank is 0.
pango_sim_libraries\ddrc\_lib.qdb, it is a binary file.
pango_sim_libraries\ddrc\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\ddrc\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\ddrc\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\ddrc\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\ddrphy\_info, code is 635, comment is 0, blank is 0.
pango_sim_libraries\ddrphy\_lib.qdb, it is a binary file.
pango_sim_libraries\ddrphy\_lib1_2.qdb, it is a binary file.
pango_sim_libraries\ddrphy\_lib1_2.qpg, it is a binary file.
pango_sim_libraries\ddrphy\_lib1_2.qtl, it is a binary file.
pango_sim_libraries\ddrphy\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\dll_e2\_info, code is 179, comment is 0, blank is 0.
pango_sim_libraries\dll_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\dll_e2\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\dll_e2\_lib1_0.qpg, it is a binary file.
pango_sim_libraries\dll_e2\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\dll_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hsst\_info, code is 6227, comment is 1, blank is 0.
pango_sim_libraries\hsst\_lib.qdb, it is a binary file.
pango_sim_libraries\hsst\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hsst\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hsst\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hsst\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hsst_e2\_info, code is 9299, comment is 2, blank is 0.
pango_sim_libraries\hsst_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\hsst_e2\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hsst_e2\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hsst_e2\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hsst_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hssthp_bufds\_info, code is 35, comment is 0, blank is 0.
pango_sim_libraries\hssthp_bufds\_lib.qdb, it is a binary file.
pango_sim_libraries\hssthp_bufds\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\hssthp_bufds\_lib1_0.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\hssthp_bufds\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\hssthp_bufds\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hssthp_hpll\_info, code is 4187, comment is 4, blank is 0.
pango_sim_libraries\hssthp_hpll\_lib.qdb, it is a binary file.
pango_sim_libraries\hssthp_hpll\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hssthp_hpll\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hssthp_hpll\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hssthp_hpll\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hssthp_lane\_info, code is 12035, comment is 7, blank is 0.
pango_sim_libraries\hssthp_lane\_lib.qdb, it is a binary file.
pango_sim_libraries\hssthp_lane\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hssthp_lane\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hssthp_lane\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hssthp_lane\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hsstlp_lane\_info, code is 8171, comment is 1, blank is 0.
pango_sim_libraries\hsstlp_lane\_lib.qdb, it is a binary file.
pango_sim_libraries\hsstlp_lane\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hsstlp_lane\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hsstlp_lane\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hsstlp_lane\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\hsstlp_pll\_info, code is 2963, comment is 1, blank is 0.
pango_sim_libraries\hsstlp_pll\_lib.qdb, it is a binary file.
pango_sim_libraries\hsstlp_pll\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\hsstlp_pll\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\hsstlp_pll\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\hsstlp_pll\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\iolhp_fifo\_info, code is 3491, comment is 0, blank is 0.
pango_sim_libraries\iolhp_fifo\_lib.qdb, it is a binary file.
pango_sim_libraries\iolhp_fifo\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\iolhp_fifo\_lib1_6.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\iolhp_fifo\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\iolhp_fifo\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\iolhr_dft\_info, code is 2843, comment is 0, blank is 0.
pango_sim_libraries\iolhr_dft\_lib.qdb, it is a binary file.
pango_sim_libraries\iolhr_dft\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\iolhr_dft\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\iolhr_dft\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\iolhr_dft\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\ipal_e1\_info, code is 155, comment is 0, blank is 0.
pango_sim_libraries\ipal_e1\_lib.qdb, it is a binary file.
pango_sim_libraries\ipal_e1\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\ipal_e1\_lib1_0.qpg, it is a binary file.
pango_sim_libraries\ipal_e1\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\ipal_e1\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\ipal_e2\_info, code is 179, comment is 0, blank is 0.
pango_sim_libraries\ipal_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\ipal_e2\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\ipal_e2\_lib1_0.qpg, it is a binary file.
pango_sim_libraries\ipal_e2\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\ipal_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\iserdes_e1\_info, code is 59, comment is 0, blank is 0.
pango_sim_libraries\iserdes_e1\_lib.qdb, it is a binary file.
pango_sim_libraries\iserdes_e1\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\iserdes_e1\_lib1_0.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\iserdes_e1\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\iserdes_e1\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\iserdes_e2\_info, code is 2627, comment is 1, blank is 0.
pango_sim_libraries\iserdes_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\iserdes_e2\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\iserdes_e2\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\iserdes_e2\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\iserdes_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\iserdes_fifo\_info, code is 203, comment is 0, blank is 0.
pango_sim_libraries\iserdes_fifo\_lib.qdb, it is a binary file.
pango_sim_libraries\iserdes_fifo\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\iserdes_fifo\_lib1_0.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\iserdes_fifo\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\iserdes_fifo\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\modelsim.ini, code is 72, comment is 1662, blank is 353.
pango_sim_libraries\msim_pango.tcl, code is 58, comment is 65, blank is 2.
pango_sim_libraries\oserdes_e1\_info, code is 59, comment is 0, blank is 0.
pango_sim_libraries\oserdes_e1\_lib.qdb, it is a binary file.
pango_sim_libraries\oserdes_e1\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\oserdes_e1\_lib1_0.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\oserdes_e1\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\oserdes_e1\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\oserdes_e2\_info, code is 2843, comment is 1, blank is 0.
pango_sim_libraries\oserdes_e2\_lib.qdb, it is a binary file.
pango_sim_libraries\oserdes_e2\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\oserdes_e2\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\oserdes_e2\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\oserdes_e2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\oserdes_fifo\_info, code is 203, comment is 0, blank is 0.
pango_sim_libraries\oserdes_fifo\_lib.qdb, it is a binary file.
pango_sim_libraries\oserdes_fifo\_lib1_0.qdb, it is a binary file.
pango_sim_libraries\oserdes_fifo\_lib1_0.qpg, code is 0, comment is 0, blank is 0.
pango_sim_libraries\oserdes_fifo\_lib1_0.qtl, it is a binary file.
pango_sim_libraries\oserdes_fifo\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\pciegen2\_info, code is 5699, comment is 2, blank is 0.
pango_sim_libraries\pciegen2\_lib.qdb, it is a binary file.
pango_sim_libraries\pciegen2\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\pciegen2\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\pciegen2\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\pciegen2\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\pciegen3\_info, code is 7434, comment is 2, blank is 0.
pango_sim_libraries\pciegen3\_lib.qdb, it is a binary file.
pango_sim_libraries\pciegen3\_lib1_6.qdb, it is a binary file.
pango_sim_libraries\pciegen3\_lib1_6.qpg, it is a binary file.
pango_sim_libraries\pciegen3\_lib1_6.qtl, it is a binary file.
pango_sim_libraries\pciegen3\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\run_sim.bat, code is 1, comment is 0, blank is 0.
pango_sim_libraries\transcript, code is 1205, comment is 0, blank is 0.
pango_sim_libraries\usim\_info, code is 16148, comment is 2, blank is 0.
pango_sim_libraries\usim\_lib.qdb, it is a binary file.
pango_sim_libraries\usim\_lib1_13.qdb, it is a binary file.
pango_sim_libraries\usim\_lib1_13.qpg, it is a binary file.
pango_sim_libraries\usim\_lib1_13.qtl, it is a binary file.
pango_sim_libraries\usim\_vmake, code is 4, comment is 0, blank is 0.
pango_sim_libraries\vsim\_info, code is 14424, comment is 3, blank is 0.
pango_sim_libraries\vsim\_lib.qdb, it is a binary file.
pango_sim_libraries\vsim\_lib1_13.qdb, it is a binary file.
pango_sim_libraries\vsim\_lib1_13.qpg, it is a binary file.
pango_sim_libraries\vsim\_lib1_13.qtl, it is a binary file.
pango_sim_libraries\vsim\_vmake, code is 4, comment is 0, blank is 0.
pds.log, code is 33751, comment is 0, blank is 2351.
pin.md, code is 2, comment is 0, blank is 4.
place_route\bak\clock_utilization.txt, code is 43, comment is 0, blank is 6.
place_route\bak\led_test.prr, code is 115, comment is 0, blank is 13.
place_route\bak\led_test_plc.adf, it is a binary file.
place_route\bak\led_test_pnr.netlist, code is 1382, comment is 0, blank is 104.
place_route\bak\led_test_prr.prt, code is 240, comment is 0, blank is 0.
place_route\bak\prr.db, code is 5824, comment is 0, blank is 0.
place_route\bak\Top.prr, code is 248, comment is 0, blank is 14.
place_route\bak\Top_plc.adf, it is a binary file.
place_route\bak\Top_pnr.netlist, code is 92859, comment is 0, blank is 7483.
place_route\bak\Top_prr.prt, code is 240, comment is 0, blank is 0.
place_route\des.log, code is 33, comment is 0, blank is 0.
place_route\logbackup\run_2024-01-09-15-15-18.log, code is 531, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-10-22-00-40.log, code is 522, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-10-22-07-41.log, code is 511, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-09-23-00.log, code is 587, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-09-41-26.log, code is 556, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-09-45-12.log, code is 501, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-11-15-25.log, code is 530, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-11-49-15.log, code is 530, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-16-09-52.log, code is 514, comment is 0, blank is 13.
place_route\logbackup\run_2024-01-11-16-33-01.log, code is 536, comment is 0, blank is 13.
place_route\run.log, code is 513, comment is 0, blank is 13.
README.md, code is 43, comment is 3, blank is 23.
report_power\run.log, code is 22, comment is 0, blank is 0.
report_timing\bak\led_test.rtr, code is 1238, comment is 0, blank is 202.
report_timing\bak\rtr.db, code is 31055, comment is 0, blank is 0.
report_timing\bak\Top.rtr, code is 1516, comment is 0, blank is 202.
report_timing\logbackup\run_2024-01-09-15-15-24.log, code is 2102, comment is 0, blank is 316.
report_timing\logbackup\run_2024-01-10-22-00-46.log, code is 2578, comment is 0, blank is 316.
report_timing\logbackup\run_2024-01-10-22-07-47.log, code is 1564, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-09-23-05.log, code is 1492, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-09-41-31.log, code is 1476, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-09-45-18.log, code is 1520, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-11-15-32.log, code is 1480, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-11-49-21.log, code is 1480, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-16-09-57.log, code is 1536, comment is 0, blank is 208.
report_timing\logbackup\run_2024-01-11-16-33-06.log, code is 1634, comment is 0, blank is 208.
report_timing\run.log, code is 1610, comment is 0, blank is 208.
run.log, code is 30854, comment is 0, blank is 2265.
sim\behav\modelsim.ini, code is 54, comment is 1662, blank is 353.
sim\behav\run_behav.bat, code is 10, comment is 0, blank is 0.
sim\behav\run_behav_compile.tcl, code is 51, comment is 0, blank is 2.
sim\behav\run_behav_simulate.log, code is 626, comment is 4574, blank is 0.
sim\behav\run_behav_simulate.tcl, code is 11, comment is 0, blank is 3.
sim\behav\vsim.wlf, it is a binary file.
sim\behav\work\_info, code is 745, comment is 0, blank is 0.
sim\behav\work\_lib.qdb, it is a binary file.
sim\behav\work\_lib1_12.qdb, it is a binary file.
sim\behav\work\_lib1_12.qpg, it is a binary file.
sim\behav\work\_lib1_12.qtl, it is a binary file.
sim\behav\work\_vmake, code is 4, comment is 0, blank is 0.
source\src\camera_sync_signal_output.v, code is 60, comment is 32, blank is 16.
source\src\debuger.v, code is 22, comment is 4, blank is 3.
source\src\input\src_genlock.v, code is 0, comment is 0, blank is 0.
source\src\input\src_timecode.v, code is 0, comment is 176, blank is 32.
source\src\input\src_ttl_parser.v, code is 0, comment is 116, blank is 15.
source\src\output\ttl_output.v, code is 89, comment is 57, blank is 23.
source\src\rd_data_router.v, code is 41, comment is 6, blank is 4.
source\src\spi_reg_reader.v, code is 160, comment is 65, blank is 32.
source\src\timecode\timecode_basesig_generator.v, code is 132, comment is 8, blank is 21.
source\src\timecode\timecode_generator.v, code is 87, comment is 6, blank is 25.
source\src\timecode\timecode_nextcode.v, code is 124, comment is 221, blank is 22.
source\src\timecode\timecode_serialization.v, code is 89, comment is 12, blank is 16.
source\src\timecode_output.v, code is 73, comment is 18, blank is 22.
source\src\top.v, code is 69, comment is 32, blank is 25.
source\src\xsync_internal_generator.v, code is 178, comment is 89, blank is 40.
source\src\xsync_internal_sub\internal_timecode_generator.v, code is 99, comment is 33, blank is 22.
source\src\zutils\baud_rate_gen.v, code is 17, comment is 4, blank is 4.
source\src\zutils\ztutils_timecode_next_code.v, code is 54, comment is 3, blank is 5.
source\src\zutils\zutils_clk_parser.v, code is 82, comment is 85, blank is 19.
source\src\zutils\zutils_debug_led.v, code is 12, comment is 2, blank is 2.
source\src\zutils\zutils_edge_detecter.v, code is 38, comment is 8, blank is 5.
source\src\zutils\zutils_genlock_clk_generator.v, code is 98, comment is 2, blank is 14.
source\src\zutils\zutils_multiplexer_16t1.v, code is 61, comment is 1, blank is 4.
source\src\zutils\zutils_multiplexer_2t1.v, code is 17, comment is 0, blank is 0.
source\src\zutils\zutils_multiplexer_32t1.v, code is 109, comment is 0, blank is 5.
source\src\zutils\zutils_multiplexer_32t1_v2.v, code is 140, comment is 0, blank is 6.
source\src\zutils\zutils_multiplexer_4t1.v, code is 28, comment is 0, blank is 2.
source\src\zutils\zutils_muti_debug_signal_gen.v, code is 30, comment is 0, blank is 6.
source\src\zutils\zutils_pluse_generator.v, code is 62, comment is 3, blank is 11.
source\src\zutils\zutils_pwm_generator.v, code is 31, comment is 1, blank is 5.
source\src\zutils\zutils_pwm_generator_advanced.v, code is 37, comment is 1, blank is 7.
source\src\zutils\zutils_register.v, code is 84, comment is 23, blank is 8.
source\src\zutils\zutils_register.v.bak, code is 85, comment is 5, blank is 7.
source\src\zutils\zutils_register_advanced.v, code is 73, comment is 16, blank is 14.
source\src\zutils\zutils_reset_sig_gen.v, code is 21, comment is 2, blank is 1.
source\src\zutils\zutils_signal_filter.v, code is 27, comment is 3, blank is 2.
source\src\zutils\zutils_smpte_timecode_clk_generator.v, code is 68, comment is 2, blank is 8.
source\src\zutils\zutils_timecode_convert.v, code is 71, comment is 20, blank is 14.
source\src\zutils\zutils_timecode_serial_data_gen.v, code is 96, comment is 22, blank is 31.
source\test\test_baud_rate_gen.v, code is 22, comment is 3, blank is 6.
source\test\test_spi_reg_reader.v, code is 49, comment is 18, blank is 17.
source\test\test_timecode_generator.v, code is 54, comment is 17, blank is 20.
source\test\test_top.v, code is 85, comment is 4, blank is 24.
source\test\test_transmitter.v, code is 37, comment is 3, blank is 11.
source\test\test_uart_reg_reader.v, code is 22, comment is 2, blank is 4.
synthesize\async_receiver.ccr, code is 39, comment is 0, blank is 41.
synthesize\async_receiver.snr, code is 1, comment is 0, blank is 1.
synthesize\bak\led_test.snr, code is 892, comment is 0, blank is 126.
synthesize\bak\led_test_syn.vm, code is 1012, comment is 78, blank is 76.
synthesize\bak\snr.db, code is 431, comment is 0, blank is 0.
synthesize\bak\Top.snr, code is 1224, comment is 0, blank is 127.
synthesize\bak\Top_syn.vm, code is 50611, comment is 5110, blank is 4538.
synthesize\formal.pvf, code is 252, comment is 0, blank is 235.
synthesize\led_test.ccr, code is 15, comment is 0, blank is 31.
synthesize\logbackup\run_2024-01-11-15-21-16.log, code is 1393, comment is 0, blank is 141.
synthesize\logbackup\run_2024-01-11-15-23-20.log, code is 1393, comment is 0, blank is 141.
synthesize\logbackup\run_2024-01-11-15-23-41.log, code is 1393, comment is 0, blank is 141.
synthesize\logbackup\run_2024-01-11-15-28-07.log, code is 1429, comment is 0, blank is 141.
synthesize\logbackup\run_2024-01-11-16-09-11.log, code is 1401, comment is 0, blank is 140.
synthesize\logbackup\run_2024-01-11-16-32-19.log, code is 1422, comment is 0, blank is 140.
synthesize\logbackup\run_2024-01-11-17-11-00.log, code is 1407, comment is 0, blank is 140.
synthesize\logbackup\run_2024-01-11-18-36-07.log, code is 149, comment is 0, blank is 4.
synthesize\logbackup\run_2024-01-11-18-43-01.log, code is 1395, comment is 0, blank is 140.
synthesize\logbackup\run_2024-01-11-20-39-12.log, code is 174, comment is 0, blank is 33.
synthesize\run.log, code is 152, comment is 0, blank is 4.
synthesize\src_ttl_parser.ccr, code is 155, comment is 0, blank is 69.
synthesize\src_ttl_parser.snr, code is 1, comment is 0, blank is 1.
synthesize\Top.ccr, code is 18, comment is 0, blank is 31.
synthesize\Top.snr, code is 1, comment is 0, blank is 1.
===============================================================================

9
pango_tools/.clang-format

@ -0,0 +1,9 @@
# Defines the Chromium style for automatic reformatting.
# http://clang.llvm.org/docs/ClangFormatStyleOptions.html
Language: Cpp
BasedOnStyle: Google
ColumnLimit: 300
AlignConsecutiveMacros: true
AlignConsecutiveDeclarations: true
AlignConsecutiveAssignments: true
AlignOperands: true

1
pango_tools/build.bat

@ -0,0 +1 @@
g++ -static -static-libgcc -static-libstdc++ -lwsock32 -lstdc++ zcsv.cpp logger.cpp fdc_generator.cpp -o ../fdc_generator.exe

94
pango_tools/fdc_generator.cpp

@ -0,0 +1,94 @@
#include <windows.h>
#include <iostream>
#include <set>
#include "logger.hpp"
#include "zcsv.hpp"
using namespace iflytop;
using namespace std;
#define TAG "Main"
/**
* @brief
*
*
* FPGA_PIN, DIRECTION, NAME
* B5 INPUT ex_clk
* E2 OUTPUT core_board_debug_led
*
*
*
* define_attribute {p:ex_clk} {PAP_IO_DIRECTION} {INPUT}
* define_attribute {p:ex_clk} {PAP_IO_LOC} {B5}
* define_attribute {p:ex_clk} {PAP_IO_VCCIO} {3.3}
* define_attribute {p:ex_clk} {PAP_IO_STANDARD} {LVTTL33}
*
* define_attribute{p : core_board_debug_led } { PAP_IO_DIRECTION } { OUTPUT }
* define_attribute{p : core_board_debug_led } {PAP_IO_LOC } {E2 }
* define_attribute{p : core_board_debug_led } {PAP_IO_VCCIO } {3.3 }
* define_attribute{p : core_board_debug_led } {PAP_IO_STANDARD } {LVCMOS33 }
* define_attribute{p : core_board_debug_led } {PAP_IO_DRIVE } {4 }
* define_attribute{p : core_board_debug_led } {PAP_IO_SLEW } {SLOW }
*
*
*/
int _main() {
shared_ptr<ZCSV> zcsv = make_shared<ZCSV>();
bool suc = zcsv->parseCSV("pin.csv");
if (!suc) {
ZLOGE(TAG, "parse csv failed");
return -1;
}
// string pinnum;
int maxRow = zcsv->maxRowNum();
string outputfilename;
outputfilename = zcsv->getdata(1, 1);
ofstream file;
file.open(outputfilename, ios::out | ios::trunc);
set<string> pins;
for (uint32_t i = 1; i < maxRow - 1; i++) {
string pin = zcsv->getdata(i + 1, 1);
string name = zcsv->getdata(i + 1, 2);
string direction = zcsv->getdata(i + 1, 3);
if(pins.find(pin) != pins.end()){
ZLOGE(TAG, "parse pin.csv fail, pin repeat, line num:%d,%s", i + 1, pin.c_str());
return -1;
}
pins.insert(pin);
if (direction == "INPUT") {
file << "define_attribute {p:" << name << "} {PAP_IO_DIRECTION} {INPUT}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_LOC} {" << pin << "}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_VCCIO} {3.3}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_STANDARD} {LVTTL33}" << endl;
} else if (direction == "OUTPUT") {
file << "define_attribute {p:" << name << "} {PAP_IO_DIRECTION} {OUTPUT}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_LOC} {" << pin << "}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_VCCIO} {3.3}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_STANDARD} {LVCMOS33}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_DRIVE} {4}" << endl;
file << "define_attribute {p:" << name << "} {PAP_IO_SLEW} {SLOW}" << endl;
} else {
ZLOGE(TAG, "parse pin.csv fail, direction error, line num:%d,%s", i + 1, direction.c_str());
return -1;
}
}
file.close();
ZLOGI(TAG, "generator %s success", outputfilename.c_str());
return 0;
}
int main(int argc, char const *argv[]) {
_main();
while (true) {
Sleep(5000);
}
}

13
pango_tools/logger.cpp

@ -0,0 +1,13 @@
#include "logger.hpp"
#include <stdarg.h>
#include <stdio.h>
void zos_log(const char *fmt, ...) {
va_list args;
va_start(args, fmt);
char buf[1024] = {0};
vsnprintf(buf, sizeof(buf), fmt, args);
printf("%s", buf);
va_end(args);
}

10
pango_tools/logger.hpp

@ -0,0 +1,10 @@
#pragma once
#include <stdint.h>
void zos_log(const char *fmt, ...);
#define ZLOGI(TAG, fmt, ...) zos_log("INFO [%-10s] " fmt "\n", TAG, ##__VA_ARGS__);
#define ZLOGD(TAG, fmt, ...) zos_log("DEBU [%-10s] " fmt "\n", TAG, ##__VA_ARGS__);
#define ZLOGE(TAG, fmt, ...) zos_log("ERRO [%-10s] " fmt "\n", TAG, ##__VA_ARGS__);
#define ZLOGW(TAG, fmt, ...) zos_log("WARN [%-10s] " fmt "\n", TAG, ##__VA_ARGS__);

127
pango_tools/zcsv.cpp

@ -0,0 +1,127 @@
#include "zcsv.hpp"
using namespace std;
using namespace iflytop;
ZCSV::ZCSV() {}
bool ZCSV::parseCSV(string filename) {
csvData.clear();
ifstream file(filename);
string line;
if (!file.is_open()) {
return false;
}
int rowNum = 0;
while (getline(file, line)) {
rowNum = rowNum + 1;
stringstream linestream(line);
string cell;
ZCSVCell csvCell;
csvCell.rowNum = rowNum;
int colNum = 0;
while (getline(linestream, cell, ',')) {
colNum = colNum + 1;
csvCell.colNum = colNum;
csvCell.data = cell;
csvData.push_back(csvCell);
}
csvData.push_back(csvCell);
}
// 找到最大行数
int maxRowNum = 0;
for (list<ZCSVCell>::iterator it = csvData.begin(); it != csvData.end(); it++) {
if (it->rowNum > maxRowNum) {
maxRowNum = it->rowNum;
}
}
// 找到最大列数
int maxColNum = 0;
for (list<ZCSVCell>::iterator it = csvData.begin(); it != csvData.end(); it++) {
if (it->colNum > maxColNum) {
maxColNum = it->colNum;
}
}
m_maxRowNum = maxRowNum;
m_maxColNum = maxColNum;
return true;
}
ZCSVCell* ZCSV::findCell(int rowNum, int colNum) {
for (list<ZCSVCell>::iterator it = csvData.begin(); it != csvData.end(); it++) {
if (it->rowNum == rowNum && it->colNum == colNum) {
return &(*it);
}
}
return NULL;
}
void ZCSV::setdata(int rowNum, int colNum, string data) {
ZCSVCell* cell = findCell(rowNum, colNum);
if (cell != NULL) {
cell->data = data;
} else {
ZCSVCell newCell;
newCell.rowNum = rowNum;
newCell.colNum = colNum;
newCell.data = data;
if (rowNum > m_maxRowNum) {
m_maxRowNum = rowNum;
}
if (colNum > m_maxColNum) {
m_maxColNum = colNum;
}
csvData.push_back(newCell);
}
}
string ZCSV::getdata(int rowNum, int colNum) {
ZCSVCell* cell = findCell(rowNum, colNum);
if (cell != NULL) {
return cell->data;
} else {
return "";
}
}
void ZCSV::dumpCSV(string filename) {
ofstream file;
file.open(filename, ios::out | ios::trunc);
// 找到最大行数
int maxRowNum = 0;
for (list<ZCSVCell>::iterator it = csvData.begin(); it != csvData.end(); it++) {
if (it->rowNum > maxRowNum) {
maxRowNum = it->rowNum;
}
}
// 找到最大列数
int maxColNum = 0;
for (list<ZCSVCell>::iterator it = csvData.begin(); it != csvData.end(); it++) {
if (it->colNum > maxColNum) {
maxColNum = it->colNum;
}
}
// 足个点插入数据
for (int i = 1; i <= maxRowNum; i++) {
for (int j = 1; j <= maxColNum; j++) {
ZCSVCell* cell = findCell(i, j);
if (cell != NULL) {
file << cell->data;
}
file << ",";
}
file << endl;
}
}

47
pango_tools/zcsv.hpp

@ -0,0 +1,47 @@
#pragma once
#include <fstream>
#include <functional>
#include <iostream>
#include <list>
#include <map>
#include <memory>
#include <set>
#include <sstream>
#include <string>
#include <vector>
namespace iflytop {
using namespace std;
class ZCSVCell {
public:
int rowNum;
int colNum;
string data;
};
class ZCSV {
private:
list<ZCSVCell> csvData;
int m_maxRowNum = 0;
int m_maxColNum = 0;
public:
ZCSV();
bool parseCSV(string filename);
void setdata(int rowNum, int colNum, string data);
string getdata(int rowNum, int colNum);
int maxRowNum() { return m_maxRowNum; }
int maxColNum() { return m_maxColNum; }
void dumpCSV(string filename);
private:
ZCSVCell* findCell(int rowNum, int colNum);
};
} // namespace iflytop

46
pin.csv

@ -0,0 +1,46 @@
xsync.fdc,,
B5,ex_clk,INPUT
P17,spi_cs_pin ,INPUT
L12,spi_clk_pin,INPUT
R17,spi_tx_pin,OUTPUT
R18,spi_rx_pin,INPUT
L17,uart_tx,OUTPUT
L18,uart_rx,INPUT
T11,core_board_debug_led,OUTPUT
M18,stm32_output_bus[0],OUTPUT
K18,stm32_output_bus[1],OUTPUT
K17,stm32_output_bus[2],OUTPUT
H18,stm32_output_bus[3],OUTPUT
H17,stm32_output_bus[4],OUTPUT
G18,stm32_output_bus[5],OUTPUT
G17,stm32_output_bus[6],OUTPUT
F18,stm32_output_bus[7],OUTPUT
F17,stm32_input_bus[0],INPUT
G16,stm32_input_bus[1],INPUT
F16,stm32_input_bus[2],INPUT
H16,stm32_input_bus[3],INPUT
J16,stm32_input_bus[4],INPUT
C17,stm32_input_bus[5],INPUT
C18,stm32_input_bus[6],INPUT
A18,stm32_input_bus[7],INPUT
J15,debug_bus[0],OUTPUT
J14,debug_bus[1],OUTPUT
F14,debug_bus[2],OUTPUT
F13,debug_bus[3],OUTPUT
G14,debug_bus[4],OUTPUT
G13,debug_bus[5],OUTPUT
H14,debug_bus[6],OUTPUT
H13,debug_bus[7],OUTPUT
E17,debug_bus[8],OUTPUT
E18,debug_bus[9],OUTPUT
D18,debug_bus[10],OUTPUT
D17,debug_bus[11],OUTPUT
A16,debug_bus[12],OUTPUT
B16,debug_bus[13],OUTPUT
A15,debug_bus[14],OUTPUT
B15,debug_bus[15],OUTPUT
N18,out1,OUTPUT
L15,extOutputEn1,OUTPUT
L14,extOutputEn2,OUTPUT
M16,triSig,INPUT

0
led_test.fdc → xsync.fdc

270
led_test.pds → xsync.pds

@ -1,5 +1,5 @@
(_flow fab_demo "2021.1-SP7"
(_comment "Generated by Fabric Compiler (version on 2021.1-SP7<build 86875>) at Mon Apr 15 09:55:22 2024")
(_comment "Generated by Fabric Compiler (version on 2021.1-SP7<build 86875>) at Fri Aug 23 13:40:20 2024")
(_version "1.0.5")
(_status "initial")
(_project
@ -19,256 +19,256 @@
(_input
(_file "source/src/top.v" + "Top:"
(_format verilog)
(_timespec "2024-03-29T14:52:17")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/spi_reg_reader.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_pluse_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_edge_detecter.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_register.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_4t1.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_debug_led.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_signal_filter.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_clk_parser.v"
(_format verilog)
(_timespec "2024-03-04T10:38:07")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_16t1.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/output/ttl_output.v"
(_format verilog)
(_timespec "2024-03-29T13:10:05")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_pwm_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_reset_sig_gen.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_2t1.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_32t1.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_muti_debug_signal_gen.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/xsync_internal_generator.v"
(_format verilog)
(_timespec "2024-03-23T19:55:54")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_pwm_generator_advanced.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_register_advanced.v"
(_format verilog)
(_timespec "2024-03-25T09:14:45")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_genlock_clk_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_32t1_v2.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/ztutils_timecode_next_code.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_smpte_timecode_clk_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_nextcode.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_basesig_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_serialization.v"
(_format verilog)
(_timespec "2024-03-25T16:05:09")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_generator.v"
(_format verilog)
(_timespec "2024-04-15T09:01:50")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/output/timecode_output.v"
(_format verilog)
(_timespec "2024-03-25T17:21:13")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/input/timecode_input.v"
(_format verilog)
(_timespec "2024-03-26T22:03:36")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_decoder.v"
(_format verilog)
(_timespec "2024-03-23T18:54:04")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_sample_sig_generator.v"
(_format verilog)
(_timespec "2024-03-25T09:20:42")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/input/ttl_input.v"
(_format verilog)
(_timespec "2024-03-22T21:00:04")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/ztuils_sig_devide.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_signal_filter_advance.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/timecode/timecode_comparator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_freq_detector.v"
(_format verilog)
(_timespec "2024-03-02T17:47:04")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zsimple_pll.v"
(_format verilog)
(_timespec "2024-03-29T13:12:21")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_freq_detector_v2.v"
(_format verilog)
(_timespec "2024-03-04T15:12:52")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_multiplexer_8t1.v"
(_format verilog)
(_timespec "2024-03-04T10:57:15")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/spi_reg_bus.v"
(_format verilog)
(_timespec "2024-03-23T17:00:10")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/internal/internal_timecode_generator.v"
(_format verilog)
(_timespec "2024-03-26T20:23:00")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/sys/sys_timecode.v"
(_format verilog)
(_timespec "2024-03-23T20:10:27")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/input/genlock_input_module.v"
(_format verilog)
(_timespec "2024-03-05T19:17:12")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/internal/internal_clock_generator.v"
(_format verilog)
(_timespec "2024-03-27T12:08:29")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/internal/internal_genlock_generator.v"
(_format verilog)
(_timespec "2024-03-23T16:38:08")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/sys/sys_genlock.v"
(_format verilog)
(_timespec "2024-03-05T16:10:48")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/sys/sys_clock.v"
(_format verilog)
(_timespec "2024-03-27T12:19:38")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/output/camera_sync_signal_output.v"
(_format verilog)
(_timespec "2024-04-15T09:44:45")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/business/record_sig_generator.v"
(_format verilog)
(_timespec "2024-03-27T17:03:14")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/sys_signal_delayer.v"
(_format verilog)
(_timespec "2024-03-27T14:18:37")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_sig_delayer.v"
(_format verilog)
(_timespec "2024-03-21T17:36:08")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_sig_delayer_v2.v"
(_format verilog)
(_timespec "2024-03-27T15:35:13")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_pluse_delayer.v"
(_format verilog)
(_timespec "2024-03-22T22:01:26")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/internal/internal_sig_generator_en_contrler.v"
(_format verilog)
(_timespec "2024-03-23T16:58:20")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/src/zutils/zutils_timer.v"
(_format verilog)
(_timespec "2024-04-15T09:16:39")
(_timespec "2024-08-23T13:36:15")
)
)
)
(_widget wgt_my_ips_src
(_input
(_ip "ipcore/SPLL/SPLL.idf"
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
(_ip_source_item "ipcore/SPLL/SPLL.v"
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
)
(_ip "ipcore/genlock_sig_gen_pll/genlock_sig_gen_pll.idf"
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_ip "ipcore/ShiftRegister/ShiftRegister.idf"
(_timespec "2024-03-21T09:54:18")
(_timespec "2024-08-23T13:36:15")
(_ip_source_item "ipcore/ShiftRegister/rtl/ipm_distributed_sdpram_v1_2_ShiftRegister.v"
(_timespec "2024-03-21T09:54:18")
(_timespec "2024-08-23T13:36:15")
)
(_ip_source_item "ipcore/ShiftRegister/rtl/ipm_distributed_shiftregister_v1_2_ShiftRegister.v"
(_timespec "2024-03-21T09:54:18")
(_timespec "2024-08-23T13:36:15")
)
(_ip_source_item "ipcore/ShiftRegister/ShiftRegister.v"
(_timespec "2024-03-21T09:54:18")
(_timespec "2024-08-23T13:36:15")
)
)
)
)
(_widget wgt_import_logic_con_file
(_input
(_file "led_test.fdc"
(_file "xsync.fdc"
(_format fdc)
(_timespec "2024-03-29T14:52:06")
(_timespec "2024-08-23T13:36:15")
)
)
)
@ -284,31 +284,31 @@
(_input
(_file "source/test/test_transmitter.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_baud_rate_gen.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_top.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_uart_reg_reader.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_spi_reg_reader.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_timecode_generator.v"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
(_file "source/test/test_timecode_decoder.v" + "test_timecode_decoder:"
(_format verilog)
(_timespec "2024-02-27T20:28:55")
(_timespec "2024-08-23T13:36:15")
)
)
)
@ -319,17 +319,17 @@
(_db_output
(_file "compile/Top_comp.adf"
(_format adif)
(_timespec "2024-04-15T09:44:53")
(_timespec "2024-08-23T13:39:59")
)
)
(_output
(_file "compile/Top.cmr"
(_format verilog)
(_timespec "2024-04-15T09:44:50")
(_timespec "2024-08-23T13:39:49")
)
(_file "compile/cmr.db"
(_format text)
(_timespec "2024-04-15T09:44:53")
(_timespec "2024-08-23T13:39:59")
)
)
)
@ -339,29 +339,9 @@
)
(_task tsk_synthesis
(_command cmd_synthesize
(_gci_state (_integer 2))
(_gci_state (_integer 5))
(_option ads (_switch ON))
(_option selected_syn_tool_opt (_integer 2))
(_db_output
(_file "synthesize/Top_syn.adf"
(_format adif)
(_timespec "2024-04-15T09:45:30")
)
)
(_output
(_file "synthesize/Top_syn.vm"
(_format structural_verilog)
(_timespec "2024-04-15T09:45:32")
)
(_file "synthesize/Top.snr"
(_format text)
(_timespec "2024-04-15T09:45:34")
)
(_file "synthesize/snr.db"
(_format text)
(_timespec "2024-04-15T09:45:34")
)
)
)
(_widget wgt_tech_view
(_attribute _click_to_run (_switch ON))
@ -376,34 +356,14 @@
)
(_task tsk_devmap
(_command cmd_devmap
(_gci_state (_integer 2))
(_db_output
(_file "device_map/Top_map.adf"
(_format adif)
(_timespec "2024-04-15T09:45:42")
)
)
(_output
(_file "device_map/Top_dmr.prt"
(_format text)
(_timespec "2024-04-15T09:45:39")
)
(_file "device_map/Top.dmr"
(_format text)
(_timespec "2024-04-15T09:45:42")
)
(_file "device_map/dmr.db"
(_format text)
(_timespec "2024-04-15T09:45:43")
)
)
(_gci_state (_integer 0))
)
(_widget wgt_edit_placement_cons
(_attribute _click_to_run (_switch ON))
(_input
(_file "device_map/led_test.pcf"
(_file "device_map/xsync.pcf"
(_format pcf)
(_timespec "2024-04-15T09:45:42")
(_timespec "")
)
)
)
@ -413,7 +373,7 @@
)
(_task tsk_pnr
(_command cmd_pnr
(_gci_state (_integer 2))
(_gci_state (_integer 0))
(_option gplace_seed (_integer 8))
(_option seed_step (_integer 4))
(_option saved_outcome (_integer 4))
@ -421,38 +381,6 @@
(_option share_router_control_signal (_boolean FALSE))
(_option check_clk_net_route_by_srb (_boolean FALSE))
(_option fix_hold_violation_in_route (_boolean FALSE))
(_db_output
(_file "place_route/Top_pnr.adf"
(_format adif)
(_timespec "2024-04-15T09:54:52")
)
)
(_output
(_file "place_route/Top.prr"
(_format text)
(_timespec "2024-04-15T09:54:53")
)
(_file "place_route/Top_prr.prt"
(_format text)
(_timespec "2024-04-15T09:54:52")
)
(_file "place_route/clock_utilization.txt"
(_format text)
(_timespec "2024-04-15T09:54:52")
)
(_file "place_route/Top_plc.adf"
(_format adif)
(_timespec "2024-04-15T09:48:13")
)
(_file "place_route/Top_pnr.netlist"
(_format text)
(_timespec "2024-04-15T09:54:53")
)
(_file "place_route/prr.db"
(_format text)
(_timespec "2024-04-15T09:54:53")
)
)
)
(_widget wgt_power_calculator
(_attribute _click_to_run (_switch ON))
@ -461,24 +389,8 @@
(_attribute _click_to_run (_switch ON))
)
(_command cmd_report_post_pnr_timing
(_gci_state (_integer 2))
(_gci_state (_integer 0))
(_attribute _auto_exe_lock (_switch OFF))
(_db_output
(_file "report_timing/Top_rtp.adf"
(_format adif)
(_timespec "2024-04-15T09:55:01")
)
)
(_output
(_file "report_timing/Top.rtr"
(_format text)
(_timespec "2024-04-15T09:55:02")
)
(_file "report_timing/rtr.db"
(_format text)
(_timespec "2024-04-15T09:55:02")
)
)
)
(_widget wgt_arch_browser
(_attribute _click_to_run (_switch ON))
@ -496,26 +408,8 @@
)
(_task tsk_gen_bitstream
(_command cmd_gen_bitstream
(_gci_state (_integer 2))
(_gci_state (_integer 0))
(_option unused_io_status (_string "KEEPER"))
(_output
(_file "generate_bitstream/Top.sbit"
(_format text)
(_timespec "2024-04-15T09:55:22")
)
(_file "generate_bitstream/Top.smsk"
(_format text)
(_timespec "2024-04-15T09:55:22")
)
(_file "generate_bitstream/Top.bgr"
(_format text)
(_timespec "2024-04-15T09:55:22")
)
(_file "generate_bitstream/bgr.db"
(_format text)
(_timespec "2024-04-15T09:55:22")
)
)
)
)
)
Loading…
Cancel
Save