diff --git a/acq_1_config.txt b/acq_1_config.txt new file mode 100644 index 0000000..3efb913 --- /dev/null +++ b/acq_1_config.txt @@ -0,0 +1,109 @@ +00200000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00300000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00001000 // codeword = 0x00001000 + +00400044 // frame_header[63:32] +00200008 // frame_header[31: 0] +00000000 // spi_rd_en = 0 +00000010 // sample_depth = 16 clk + +00400050 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000040 // int_threshold = 64 + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +00470013 // 128 samples, 8 clk +0076007B +FEF60000 +FB91FD65 +F91FF9F2 +FBEFF9A8 +057AFFFF +11100B8C +154E14B6 +0ABA1208 +F33B0000 +DBFFE673 +D698D622 +EC8ADE31 +15D0FFFF +3A682A80 +40294256 +1CF0334C +E0BD0000 +AF14C422 +A9D6A58B +DA3EBC1E +27B1FFFF +642A4B0A +681C6E9C +2C945112 +D226FFFF +8EBDAA40 +8CAF8439 +CF9AA71B +30CDFFFF +763C5A63 +76187FFA +30A05A2C +CFE4FFFF +8DA5A7BD +8FF68568 +D2C2AB48 +2BE0FFFF +66304FAE +620B6C6B +26BD4958 +DB43FFFF +AC6DBE0D +B1C8A869 +E1E4C63C +1BC3FFFF +3D49311B +37873F38 +14A1284D +EDB4FFFF +D952E04F +DE9ED908 +F444E869 +09C2FFFF +1323104E +0F171278 +04BF0A1E +FC91FFFF +FA68FABC +FC98FB33 +FF46FE14 +0042FFFF +00110036 \ No newline at end of file diff --git a/acq_1_pack.txt b/acq_1_pack.txt new file mode 100644 index 0000000..6588b87 --- /dev/null +++ b/acq_1_pack.txt @@ -0,0 +1,72 @@ +c0000000 +02200040 +00000000 +00000000 +00000000 +00000000 +00000000 +fbfdfe00 +fbf9f9f9 +110b05ff +0a121514 +dbe6f300 +ecded6d6 +3a2a15ff +1c334042 +afc4e000 +dabca9a5 +644b27ff +c0000000 +02200040 +2c51686e +8eaad2ff +cfa78c84 +765a30ff +305a767f +8da7cfff +d2ab8f85 +664f2bff +2649626c +acbedbff +e1c6b1a8 +3d311bff +1428373f +d9e0edff +f4e8ded9 +131009ff +c0000000 +02200040 +040a0f12 +fafafcff +fffefcfb +000000ff +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +c0000000 +02200040 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 +00000000 \ No newline at end of file diff --git a/acq_2_config.txt b/acq_2_config.txt new file mode 100644 index 0000000..e57ead8 --- /dev/null +++ b/acq_2_config.txt @@ -0,0 +1,660 @@ +00200000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00300000 // frame_header[63:32] +00200004 // frame_header[31: 0] +000f2110 // codeword = 0x000f2110 + +00400044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // spi_rd_en = 0, iq_scale = 0 + +00400050 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // int_threshold = 8 + +00500004 // frame_header[63:32] +00000004 // frame_header[31: 0] +00000010 // qubit 0 group 0 para mtf_idx + +00500804 // frame_header[63:32] +00000004 // frame_header[31: 0] +00000010 // qubit 1 group 0 para mtf_idx + +00501004 // frame_header[63:32] +00000004 // frame_header[31: 0] +00000010 // qubit 2 group 0 para mtf_idx + +00501804 // frame_header[63:32] +00000004 // frame_header[31: 0] +00000010 // qubit 3 group 0 para mtf_idx + +00580000 // frame_header[63:32] +00000100 // frame_header[31: 0] +95D42465 // qubit 0 128 mtf_i samples +32E39E81 +155B7E6E +A9838EC6 +7B7440F2 +88B90650 +4C01B586 +F644767A +C28C84AD +707D5810 +81A2E737 +621FCF93 +D928687E +DE9B8198 +5F7E6B2E +8290CA1A +733CEDA5 +BD0B547C +FCB18589 +48787849 +8A85B0FB +7C550BBD +A5EC3B72 +1ACB9082 +2D6B7E5F +98819BDD +7E6929D9 +92CF1E62 +37E8A281 +0F587D70 +AD848BC1 +797745F7 +86B4004C +5106B988 +F13F747B +C78E82A8 +6D7E5C16 +819EE232 +6625D596 +D323657E +E39F8195 +5B7D6E33 +838DC514 +7540F2A9 +B805507B +02B58687 +43767A4D +8C83ACF6 +7D5911C2 +A1E73670 +20D09381 +28687E63 +9C8198D8 +7E6C2EDF +90CA195E +3CEEA682 +0A537C73 +B18589BC +787849FD +84B0FB47 +550CBE8A +EB3A727C +CC9182A4 +6A7E601B + +00584000 // frame_header[63:32] +00000100 // frame_header[31: 0] +4577794B // qubit 0 128 mtf_q samples +8B84AEF8 +7D570FC0 +A3E93871 +1ECE9281 +2A697E61 +9B8199DA +7E6A2CDD +91CC1B60 +3AEBA482 +0C557C72 +B0858ABE +787847FB +85B1FD49 +530ABC89 +ED3C737C +CA9082A6 +6C7E5E19 +819CDF2E +6828D898 +D020637E +E7A18193 +597D7036 +838CC211 +7643F6AC +B5024D7A +05B88886 +40757B50 +8D83A9F2 +7D5B14C5 +9FE3336E +23D39581 +24667E65 +9E8196D5 +7E6D32E2 +8EC6165C +3FF1A882 +06517B74 +B48688B9 +77794C00 +84ADF745 +580FC18B +E837707D +CF9281A2 +697E621F +8198D929 +6B2DDD9B +CB1A5F7E +ECA58290 +547C723B +858ABD0B +7848FBB0 +B1FC4978 +0BBD8985 +3C727C54 +9082A5ED +7E5F1ACA +9BDE2E6B +29D99881 +1F627E68 +A28193CF +7D7037E7 +8CC21058 +44F7AD84 + +00588000 // frame_header[63:32] +00000100 // frame_header[31: 0] +8AC41862 // qubit 1 128 mtf_i samples +590CB986 +CF24697E +00AF838F +306F7C50 +A68196DB +757946F3 +819DE73B +753CE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CE24697E +00AF838F +306F7C50 +A68196DA +757947F4 +819DE63B +753CE79E +A5F24579 +31DB9681 +FF4F7C70 +D09083AE +597E6A25 +8A86B80B +7E6219C4 +8AC31761 +5A0DBA86 +CE23697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63A +753CE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80B +7E621AC5 +8AC21761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +32DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B85B80A +7E631AC5 + +0058C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +306F7C50 // qubit 1 128 mtf_q samples +A68196DB +757946F3 +819DE73B +753BE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CF24697E +00AF838F +306F7C50 +A68196DA +757946F4 +819DE63B +753CE79E +A5F24679 +31DB9681 +FF507C70 +D09083AE +597E6925 +8A86B80B +7E6219C4 +8AC31861 +5A0DBA86 +CE24697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63B +753CE89E +A5F24579 +31DC9681 +FE4F7C70 +D09083AE +597E6A25 +8B86B80B +7E6219C5 +8AC31761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80A +7E631AC5 +8AC21761 +5A0EBA86 +CD23687E +01B0838F + +00590000 // frame_header[63:32] +00000100 // frame_header[31: 0] +83B40C5E // qubit 2 128 mtf_i samples +7435DA92 +97E33D78 +5703AD82 +BC16647E +2CD18E85 +EC457A70 +F9A6819D +1F697D50 +C88A88C4 +4D7C6C23 +A081A3F5 +6E7B49F0 +878CCD28 +7E661AC0 +81AAFF54 +7941E79A +90D63173 +6010B884 +B1085B7E +38DD9482 +DF397676 +07B08295 +12617E5A +D48F84B9 +42797230 +A9819AE8 +677E53FE +8B87C11B +7C6E27CC +81A0F14A +7C4CF4A2 +8AC9246C +691EC388 +A7FB517D +44EB9C81 +D22D717A +14BB858E +04587E63 +E19682AE +3675773C +B38393DB +5F7E5D0B +9183B50E +787433D8 +8198E43E +7E5602AC +86BD1765 +702BCF8D +9EED467B +4FF8A581 +C5206A7D +22C78989 +F74E7D6B +EF9F81A4 +296F7B48 +BF868CCE +557E6619 +9981AB00 +737940E5 +8491D732 +7E600FB7 +83B2095C +7537DC94 + +00594000 // frame_header[63:32] +00000100 // frame_header[31: 0] +19667E55 // qubit 2 128 mtf_q samples +CE8C86BF +487B6F29 +A4819FEF +6B7D4DF6 +8989C722 +7D6A20C5 +81A5F94F +7B46ED9D +8DD02B70 +6416BD86 +AC02577E +3EE39881 +D9347478 +0DB58392 +0C5D7E5E +DA9283B4 +3C777535 +AD8297E2 +637E5804 +8E85BC15 +7A712DD1 +819CEB45 +7D51FAA6 +88C41E69 +6C24C98A +A3F54C7C +49F1A081 +CC276E7C +1AC0878C +FE547E67 +E79A81A9 +30727941 +B88490D5 +5A7E6111 +9582B008 +767639DE +8295DE39 +7E5B08B1 +84B81161 +7230D590 +9AE74179 +54FEA981 +C01A677E +28CC8C87 +F1497B6E +F5A381A0 +236C7C4C +C4888AC8 +507D691E +9D81A6FA +707A45EB +858ED12C +7E6315BC +82AD0358 +773DE297 +92DA3574 +5D0CB483 +B50D5E7E +34D99283 +E33D7874 +02AD8197 +16647E57 +D08D85BD + +00598000 // frame_header[63:32] +00000100 // frame_header[31: 0] +81A60059 // qubit 3 128 mtf_i samples +7E59FFA5 +81A6005A +7E58FEA5 +81A7015A +7E58FEA5 +81A7025B +7E58FDA4 +81A8025B +7E57FCA4 +81A8035C +7E57FCA3 +81A9035C +7E56FBA3 +81A9045C +7E56FBA2 +81AA055D +7E55FAA2 +81AA055D +7E55F9A1 +81AB065E +7E54F9A1 +81AB075E +7E54F8A1 +81AB075F +7E53F7A0 +81AC085F +7E53F7A0 +81AC095F +7E52F69F +81AD0960 +7E52F59F +81AD0A60 +7E51F59F +81AE0A61 +7E51F49E +81AE0B61 +7E50F49E +81AF0C62 +7E50F39D +81AF0C62 +7E4FF29D +81B00D62 +7E4FF29C +81B00E63 +7E4EF19C +81B10E63 +7E4EF09C +81B10F64 +7D4DF09B +82B21064 +7D4DEF9B +82B21064 +7D4CEE9B +82B31165 +7D4CEE9A +82B31165 +7D4BED9A +82B41265 +7D4BED99 +82B41366 +7D4AEC99 +82B51366 +7D4AEB99 + +0059C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +00597E59 // qubit 3 128 mtf_q samples +FFA581A6 +005A7E59 +FEA581A6 +015A7E58 +FEA481A7 +025B7E58 +FDA481A7 +025B7E57 +FCA481A8 +035C7E57 +FCA381A8 +045C7E56 +FBA381A9 +045D7E56 +FAA281A9 +055D7E56 +FAA281AA +065D7E55 +F9A181AA +065E7E55 +F8A181AB +075E7E54 +F8A181AB +075F7E54 +F7A081AC +085F7E53 +F7A081AC +09607E53 +F69F81AD +09607E52 +F59F81AD +0A607E52 +F59E81AE +0B617E51 +F49E81AE +0B617E51 +F39E81AE +0C627E50 +F39D81AF +0D627E50 +F29D81AF +0D627E4F +F19C81B0 +0E637E4F +F19C81B0 +0E637E4E +F09C81B1 +0F647E4E +F09B81B1 +10647D4D +EF9B82B2 +10647D4D +EE9A82B2 +11657D4C +EE9A82B3 +12657D4C +ED9A82B4 +12667D4B +EC9982B4 +13667D4B +EC9982B5 +14667D4A +EB9982B5 + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +000E0005 // 128 samples, 8 clk +FFCC0004 +FF3FFF74 +006CFF85 +026E01A4 +000A01FB +FB3DFD4C +FE5EFB6A +07000309 +042507BB +F76CFD96 +F915F554 +09770137 +09480D01 +F5BEFFD4 +F4D7F0FC +0BA1FFB6 +0D34117B +F241007C +EF8FEAF0 +0FC6FE76 +157C198F +EFDD04BD +E42AE253 +0D3EF550 +21B31F57 +F9781292 +DB69E346 +FD15E5D6 +226D1546 +0C721E91 +E549F5A3 +ED29E27A +0F03FEF6 +13A51687 +FD6E096C +F19EF4B2 +F904F3C1 +04CCFF30 +0B0F08FF +05C10A25 +F6CAFE8C +F23EF1C2 +032CF8D6 +10ED0CB9 +03FC0D8D +F0EDF8AC +F6B7F044 +09E000E6 +0B090DA8 +FC0E03EA +F6A2F70A +FF85FA3A +05C703EC +026304EC +FDC9FFA2 +FDD1FD42 +FFFEFEE8 +011000BF +00A200FB +FFD0002F +FFA9FFA2 +FFF6FFD0 +00030006 \ No newline at end of file diff --git a/acq_2_pack.txt b/acq_2_pack.txt new file mode 100644 index 0000000..9647c55 --- /dev/null +++ b/acq_2_pack.txt @@ -0,0 +1,9 @@ +c0000000 +02200020 +0000005b +ffffff19 +fffffec6 +0000002f +000000f2 +ffffffc5 +fffffef9 \ No newline at end of file diff --git a/acq_3_config.txt b/acq_3_config.txt new file mode 100644 index 0000000..47d7df3 --- /dev/null +++ b/acq_3_config.txt @@ -0,0 +1,684 @@ +00200000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00300000 // frame_header[63:32] +00200004 // frame_header[31: 0] +000f4000 // codeword = 0x000f4000 + +00400044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // spi_rd_en = 0, iq_scale = 0 + +00400050 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000001 // int_threshold = 1 + +00500004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 0 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00500804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 1 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 2 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 3 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00580000 // frame_header[63:32] +00000100 // frame_header[31: 0] +95D42465 // qubit 0 128 mtf_i samples +32E39E81 +155B7E6E +A9838EC6 +7B7440F2 +88B90650 +4C01B586 +F644767A +C28C84AD +707D5810 +81A2E737 +621FCF93 +D928687E +DE9B8198 +5F7E6B2E +8290CA1A +733CEDA5 +BD0B547C +FCB18589 +48787849 +8A85B0FB +7C550BBD +A5EC3B72 +1ACB9082 +2D6B7E5F +98819BDD +7E6929D9 +92CF1E62 +37E8A281 +0F587D70 +AD848BC1 +797745F7 +86B4004C +5106B988 +F13F747B +C78E82A8 +6D7E5C16 +819EE232 +6625D596 +D323657E +E39F8195 +5B7D6E33 +838DC514 +7540F2A9 +B805507B +02B58687 +43767A4D +8C83ACF6 +7D5911C2 +A1E73670 +20D09381 +28687E63 +9C8198D8 +7E6C2EDF +90CA195E +3CEEA682 +0A537C73 +B18589BC +787849FD +84B0FB47 +550CBE8A +EB3A727C +CC9182A4 +6A7E601B + +00584000 // frame_header[63:32] +00000100 // frame_header[31: 0] +4577794B // qubit 0 128 mtf_q samples +8B84AEF8 +7D570FC0 +A3E93871 +1ECE9281 +2A697E61 +9B8199DA +7E6A2CDD +91CC1B60 +3AEBA482 +0C557C72 +B0858ABE +787847FB +85B1FD49 +530ABC89 +ED3C737C +CA9082A6 +6C7E5E19 +819CDF2E +6828D898 +D020637E +E7A18193 +597D7036 +838CC211 +7643F6AC +B5024D7A +05B88886 +40757B50 +8D83A9F2 +7D5B14C5 +9FE3336E +23D39581 +24667E65 +9E8196D5 +7E6D32E2 +8EC6165C +3FF1A882 +06517B74 +B48688B9 +77794C00 +84ADF745 +580FC18B +E837707D +CF9281A2 +697E621F +8198D929 +6B2DDD9B +CB1A5F7E +ECA58290 +547C723B +858ABD0B +7848FBB0 +B1FC4978 +0BBD8985 +3C727C54 +9082A5ED +7E5F1ACA +9BDE2E6B +29D99881 +1F627E68 +A28193CF +7D7037E7 +8CC21058 +44F7AD84 + +00588000 // frame_header[63:32] +00000100 // frame_header[31: 0] +8AC41862 // qubit 1 128 mtf_i samples +590CB986 +CF24697E +00AF838F +306F7C50 +A68196DB +757946F3 +819DE73B +753CE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CE24697E +00AF838F +306F7C50 +A68196DA +757947F4 +819DE63B +753CE79E +A5F24579 +31DB9681 +FF4F7C70 +D09083AE +597E6A25 +8A86B80B +7E6219C4 +8AC31761 +5A0DBA86 +CE23697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63A +753CE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80B +7E621AC5 +8AC21761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +32DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B85B80A +7E631AC5 + +0058C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +306F7C50 // qubit 1 128 mtf_q samples +A68196DB +757946F3 +819DE73B +753BE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CF24697E +00AF838F +306F7C50 +A68196DA +757946F4 +819DE63B +753CE79E +A5F24679 +31DB9681 +FF507C70 +D09083AE +597E6925 +8A86B80B +7E6219C4 +8AC31861 +5A0DBA86 +CE24697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63B +753CE89E +A5F24579 +31DC9681 +FE4F7C70 +D09083AE +597E6A25 +8B86B80B +7E6219C5 +8AC31761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80A +7E631AC5 +8AC21761 +5A0EBA86 +CD23687E +01B0838F + +00590000 // frame_header[63:32] +00000100 // frame_header[31: 0] +83B40C5E // qubit 2 128 mtf_i samples +7435DA92 +97E33D78 +5703AD82 +BC16647E +2CD18E85 +EC457A70 +F9A6819D +1F697D50 +C88A88C4 +4D7C6C23 +A081A3F5 +6E7B49F0 +878CCD28 +7E661AC0 +81AAFF54 +7941E79A +90D63173 +6010B884 +B1085B7E +38DD9482 +DF397676 +07B08295 +12617E5A +D48F84B9 +42797230 +A9819AE8 +677E53FE +8B87C11B +7C6E27CC +81A0F14A +7C4CF4A2 +8AC9246C +691EC388 +A7FB517D +44EB9C81 +D22D717A +14BB858E +04587E63 +E19682AE +3675773C +B38393DB +5F7E5D0B +9183B50E +787433D8 +8198E43E +7E5602AC +86BD1765 +702BCF8D +9EED467B +4FF8A581 +C5206A7D +22C78989 +F74E7D6B +EF9F81A4 +296F7B48 +BF868CCE +557E6619 +9981AB00 +737940E5 +8491D732 +7E600FB7 +83B2095C +7537DC94 + +00594000 // frame_header[63:32] +00000100 // frame_header[31: 0] +19667E55 // qubit 2 128 mtf_q samples +CE8C86BF +487B6F29 +A4819FEF +6B7D4DF6 +8989C722 +7D6A20C5 +81A5F94F +7B46ED9D +8DD02B70 +6416BD86 +AC02577E +3EE39881 +D9347478 +0DB58392 +0C5D7E5E +DA9283B4 +3C777535 +AD8297E2 +637E5804 +8E85BC15 +7A712DD1 +819CEB45 +7D51FAA6 +88C41E69 +6C24C98A +A3F54C7C +49F1A081 +CC276E7C +1AC0878C +FE547E67 +E79A81A9 +30727941 +B88490D5 +5A7E6111 +9582B008 +767639DE +8295DE39 +7E5B08B1 +84B81161 +7230D590 +9AE74179 +54FEA981 +C01A677E +28CC8C87 +F1497B6E +F5A381A0 +236C7C4C +C4888AC8 +507D691E +9D81A6FA +707A45EB +858ED12C +7E6315BC +82AD0358 +773DE297 +92DA3574 +5D0CB483 +B50D5E7E +34D99283 +E33D7874 +02AD8197 +16647E57 +D08D85BD + +00598000 // frame_header[63:32] +00000100 // frame_header[31: 0] +81A60059 // qubit 3 128 mtf_i samples +7E59FFA5 +81A6005A +7E58FEA5 +81A7015A +7E58FEA5 +81A7025B +7E58FDA4 +81A8025B +7E57FCA4 +81A8035C +7E57FCA3 +81A9035C +7E56FBA3 +81A9045C +7E56FBA2 +81AA055D +7E55FAA2 +81AA055D +7E55F9A1 +81AB065E +7E54F9A1 +81AB075E +7E54F8A1 +81AB075F +7E53F7A0 +81AC085F +7E53F7A0 +81AC095F +7E52F69F +81AD0960 +7E52F59F +81AD0A60 +7E51F59F +81AE0A61 +7E51F49E +81AE0B61 +7E50F49E +81AF0C62 +7E50F39D +81AF0C62 +7E4FF29D +81B00D62 +7E4FF29C +81B00E63 +7E4EF19C +81B10E63 +7E4EF09C +81B10F64 +7D4DF09B +82B21064 +7D4DEF9B +82B21064 +7D4CEE9B +82B31165 +7D4CEE9A +82B31165 +7D4BED9A +82B41265 +7D4BED99 +82B41366 +7D4AEC99 +82B51366 +7D4AEB99 + +0059C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +00597E59 // qubit 3 128 mtf_q samples +FFA581A6 +005A7E59 +FEA581A6 +015A7E58 +FEA481A7 +025B7E58 +FDA481A7 +025B7E57 +FCA481A8 +035C7E57 +FCA381A8 +045C7E56 +FBA381A9 +045D7E56 +FAA281A9 +055D7E56 +FAA281AA +065D7E55 +F9A181AA +065E7E55 +F8A181AB +075E7E54 +F8A181AB +075F7E54 +F7A081AC +085F7E53 +F7A081AC +09607E53 +F69F81AD +09607E52 +F59F81AD +0A607E52 +F59E81AE +0B617E51 +F49E81AE +0B617E51 +F39E81AE +0C627E50 +F39D81AF +0D627E50 +F29D81AF +0D627E4F +F19C81B0 +0E637E4F +F19C81B0 +0E637E4E +F09C81B1 +0F647E4E +F09B81B1 +10647D4D +EF9B82B2 +10647D4D +EE9A82B2 +11657D4C +EE9A82B3 +12657D4C +ED9A82B4 +12667D4B +EC9982B4 +13667D4B +EC9982B5 +14667D4A +EB9982B5 + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +000E0005 // 128 samples, 8 clk +FFCC0004 +FF3FFF74 +006CFF85 +026E01A4 +000A01FB +FB3DFD4C +FE5EFB6A +07000309 +042507BB +F76CFD96 +F915F554 +09770137 +09480D01 +F5BEFFD4 +F4D7F0FC +0BA1FFB6 +0D34117B +F241007C +EF8FEAF0 +0FC6FE76 +157C198F +EFDD04BD +E42AE253 +0D3EF550 +21B31F57 +F9781292 +DB69E346 +FD15E5D6 +226D1546 +0C721E91 +E549F5A3 +ED29E27A +0F03FEF6 +13A51687 +FD6E096C +F19EF4B2 +F904F3C1 +04CCFF30 +0B0F08FF +05C10A25 +F6CAFE8C +F23EF1C2 +032CF8D6 +10ED0CB9 +03FC0D8D +F0EDF8AC +F6B7F044 +09E000E6 +0B090DA8 +FC0E03EA +F6A2F70A +FF85FA3A +05C703EC +026304EC +FDC9FFA2 +FDD1FD42 +FFFEFEE8 +011000BF +00A200FB +FFD0002F +FFA9FFA2 +FFF6FFD0 +00030006 \ No newline at end of file diff --git a/acq_3_pack.txt b/acq_3_pack.txt new file mode 100644 index 0000000..12bad5a --- /dev/null +++ b/acq_3_pack.txt @@ -0,0 +1,3 @@ +c0000000 +02200004 +ffffff46 \ No newline at end of file diff --git a/acq_4_config.txt b/acq_4_config.txt new file mode 100644 index 0000000..9ec77ae --- /dev/null +++ b/acq_4_config.txt @@ -0,0 +1,684 @@ +00200000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00300000 // frame_header[63:32] +00200004 // frame_header[31: 0] +000f8220 // codeword = 000f8220 + +00400044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // spi_rd_en = 0, iq_scale = 0 + +00400050 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000010 // int_threshold = 1 + +00500004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 0 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00500804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 1 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 2 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 3 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00580000 // frame_header[63:32] +00000100 // frame_header[31: 0] +95D42465 // qubit 0 128 mtf_i samples +32E39E81 +155B7E6E +A9838EC6 +7B7440F2 +88B90650 +4C01B586 +F644767A +C28C84AD +707D5810 +81A2E737 +621FCF93 +D928687E +DE9B8198 +5F7E6B2E +8290CA1A +733CEDA5 +BD0B547C +FCB18589 +48787849 +8A85B0FB +7C550BBD +A5EC3B72 +1ACB9082 +2D6B7E5F +98819BDD +7E6929D9 +92CF1E62 +37E8A281 +0F587D70 +AD848BC1 +797745F7 +86B4004C +5106B988 +F13F747B +C78E82A8 +6D7E5C16 +819EE232 +6625D596 +D323657E +E39F8195 +5B7D6E33 +838DC514 +7540F2A9 +B805507B +02B58687 +43767A4D +8C83ACF6 +7D5911C2 +A1E73670 +20D09381 +28687E63 +9C8198D8 +7E6C2EDF +90CA195E +3CEEA682 +0A537C73 +B18589BC +787849FD +84B0FB47 +550CBE8A +EB3A727C +CC9182A4 +6A7E601B + +00584000 // frame_header[63:32] +00000100 // frame_header[31: 0] +4577794B // qubit 0 128 mtf_q samples +8B84AEF8 +7D570FC0 +A3E93871 +1ECE9281 +2A697E61 +9B8199DA +7E6A2CDD +91CC1B60 +3AEBA482 +0C557C72 +B0858ABE +787847FB +85B1FD49 +530ABC89 +ED3C737C +CA9082A6 +6C7E5E19 +819CDF2E +6828D898 +D020637E +E7A18193 +597D7036 +838CC211 +7643F6AC +B5024D7A +05B88886 +40757B50 +8D83A9F2 +7D5B14C5 +9FE3336E +23D39581 +24667E65 +9E8196D5 +7E6D32E2 +8EC6165C +3FF1A882 +06517B74 +B48688B9 +77794C00 +84ADF745 +580FC18B +E837707D +CF9281A2 +697E621F +8198D929 +6B2DDD9B +CB1A5F7E +ECA58290 +547C723B +858ABD0B +7848FBB0 +B1FC4978 +0BBD8985 +3C727C54 +9082A5ED +7E5F1ACA +9BDE2E6B +29D99881 +1F627E68 +A28193CF +7D7037E7 +8CC21058 +44F7AD84 + +00588000 // frame_header[63:32] +00000100 // frame_header[31: 0] +8AC41862 // qubit 1 128 mtf_i samples +590CB986 +CF24697E +00AF838F +306F7C50 +A68196DB +757946F3 +819DE73B +753CE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CE24697E +00AF838F +306F7C50 +A68196DA +757947F4 +819DE63B +753CE79E +A5F24579 +31DB9681 +FF4F7C70 +D09083AE +597E6A25 +8A86B80B +7E6219C4 +8AC31761 +5A0DBA86 +CE23697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63A +753CE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80B +7E621AC5 +8AC21761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +32DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B85B80A +7E631AC5 + +0058C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +306F7C50 // qubit 1 128 mtf_q samples +A68196DB +757946F3 +819DE73B +753BE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CF24697E +00AF838F +306F7C50 +A68196DA +757946F4 +819DE63B +753CE79E +A5F24679 +31DB9681 +FF507C70 +D09083AE +597E6925 +8A86B80B +7E6219C4 +8AC31861 +5A0DBA86 +CE24697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63B +753CE89E +A5F24579 +31DC9681 +FE4F7C70 +D09083AE +597E6A25 +8B86B80B +7E6219C5 +8AC31761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80A +7E631AC5 +8AC21761 +5A0EBA86 +CD23687E +01B0838F + +00590000 // frame_header[63:32] +00000100 // frame_header[31: 0] +83B40C5E // qubit 2 128 mtf_i samples +7435DA92 +97E33D78 +5703AD82 +BC16647E +2CD18E85 +EC457A70 +F9A6819D +1F697D50 +C88A88C4 +4D7C6C23 +A081A3F5 +6E7B49F0 +878CCD28 +7E661AC0 +81AAFF54 +7941E79A +90D63173 +6010B884 +B1085B7E +38DD9482 +DF397676 +07B08295 +12617E5A +D48F84B9 +42797230 +A9819AE8 +677E53FE +8B87C11B +7C6E27CC +81A0F14A +7C4CF4A2 +8AC9246C +691EC388 +A7FB517D +44EB9C81 +D22D717A +14BB858E +04587E63 +E19682AE +3675773C +B38393DB +5F7E5D0B +9183B50E +787433D8 +8198E43E +7E5602AC +86BD1765 +702BCF8D +9EED467B +4FF8A581 +C5206A7D +22C78989 +F74E7D6B +EF9F81A4 +296F7B48 +BF868CCE +557E6619 +9981AB00 +737940E5 +8491D732 +7E600FB7 +83B2095C +7537DC94 + +00594000 // frame_header[63:32] +00000100 // frame_header[31: 0] +19667E55 // qubit 2 128 mtf_q samples +CE8C86BF +487B6F29 +A4819FEF +6B7D4DF6 +8989C722 +7D6A20C5 +81A5F94F +7B46ED9D +8DD02B70 +6416BD86 +AC02577E +3EE39881 +D9347478 +0DB58392 +0C5D7E5E +DA9283B4 +3C777535 +AD8297E2 +637E5804 +8E85BC15 +7A712DD1 +819CEB45 +7D51FAA6 +88C41E69 +6C24C98A +A3F54C7C +49F1A081 +CC276E7C +1AC0878C +FE547E67 +E79A81A9 +30727941 +B88490D5 +5A7E6111 +9582B008 +767639DE +8295DE39 +7E5B08B1 +84B81161 +7230D590 +9AE74179 +54FEA981 +C01A677E +28CC8C87 +F1497B6E +F5A381A0 +236C7C4C +C4888AC8 +507D691E +9D81A6FA +707A45EB +858ED12C +7E6315BC +82AD0358 +773DE297 +92DA3574 +5D0CB483 +B50D5E7E +34D99283 +E33D7874 +02AD8197 +16647E57 +D08D85BD + +00598000 // frame_header[63:32] +00000100 // frame_header[31: 0] +81A60059 // qubit 3 128 mtf_i samples +7E59FFA5 +81A6005A +7E58FEA5 +81A7015A +7E58FEA5 +81A7025B +7E58FDA4 +81A8025B +7E57FCA4 +81A8035C +7E57FCA3 +81A9035C +7E56FBA3 +81A9045C +7E56FBA2 +81AA055D +7E55FAA2 +81AA055D +7E55F9A1 +81AB065E +7E54F9A1 +81AB075E +7E54F8A1 +81AB075F +7E53F7A0 +81AC085F +7E53F7A0 +81AC095F +7E52F69F +81AD0960 +7E52F59F +81AD0A60 +7E51F59F +81AE0A61 +7E51F49E +81AE0B61 +7E50F49E +81AF0C62 +7E50F39D +81AF0C62 +7E4FF29D +81B00D62 +7E4FF29C +81B00E63 +7E4EF19C +81B10E63 +7E4EF09C +81B10F64 +7D4DF09B +82B21064 +7D4DEF9B +82B21064 +7D4CEE9B +82B31165 +7D4CEE9A +82B31165 +7D4BED9A +82B41265 +7D4BED99 +82B41366 +7D4AEC99 +82B51366 +7D4AEB99 + +0059C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +00597E59 // qubit 3 128 mtf_q samples +FFA581A6 +005A7E59 +FEA581A6 +015A7E58 +FEA481A7 +025B7E58 +FDA481A7 +025B7E57 +FCA481A8 +035C7E57 +FCA381A8 +045C7E56 +FBA381A9 +045D7E56 +FAA281A9 +055D7E56 +FAA281AA +065D7E55 +F9A181AA +065E7E55 +F8A181AB +075E7E54 +F8A181AB +075F7E54 +F7A081AC +085F7E53 +F7A081AC +09607E53 +F69F81AD +09607E52 +F59F81AD +0A607E52 +F59E81AE +0B617E51 +F49E81AE +0B617E51 +F39E81AE +0C627E50 +F39D81AF +0D627E50 +F29D81AF +0D627E4F +F19C81B0 +0E637E4F +F19C81B0 +0E637E4E +F09C81B1 +0F647E4E +F09B81B1 +10647D4D +EF9B82B2 +10647D4D +EE9A82B2 +11657D4C +EE9A82B3 +12657D4C +ED9A82B4 +12667D4B +EC9982B4 +13667D4B +EC9982B5 +14667D4A +EB9982B5 + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +000E0005 // 128 samples, 8 clk +FFCC0004 +FF3FFF74 +006CFF85 +026E01A4 +000A01FB +FB3DFD4C +FE5EFB6A +07000309 +042507BB +F76CFD96 +F915F554 +09770137 +09480D01 +F5BEFFD4 +F4D7F0FC +0BA1FFB6 +0D34117B +F241007C +EF8FEAF0 +0FC6FE76 +157C198F +EFDD04BD +E42AE253 +0D3EF550 +21B31F57 +F9781292 +DB69E346 +FD15E5D6 +226D1546 +0C721E91 +E549F5A3 +ED29E27A +0F03FEF6 +13A51687 +FD6E096C +F19EF4B2 +F904F3C1 +04CCFF30 +0B0F08FF +05C10A25 +F6CAFE8C +F23EF1C2 +032CF8D6 +10ED0CB9 +03FC0D8D +F0EDF8AC +F6B7F044 +09E000E6 +0B090DA8 +FC0E03EA +F6A2F70A +FF85FA3A +05C703EC +026304EC +FDC9FFA2 +FDD1FD42 +FFFEFEE8 +011000BF +00A200FB +FFD0002F +FFA9FFA2 +FFF6FFD0 +00030006 \ No newline at end of file diff --git a/acq_4_pack.txt b/acq_4_pack.txt new file mode 100644 index 0000000..20056de --- /dev/null +++ b/acq_4_pack.txt @@ -0,0 +1,18 @@ +c0000000 +02200040 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000001 +00000000 +00000000 +00000000 +00000000 +00000001 +00000000 +00000000 \ No newline at end of file diff --git a/acq_5_config.txt b/acq_5_config.txt new file mode 100644 index 0000000..e4ce184 --- /dev/null +++ b/acq_5_config.txt @@ -0,0 +1,684 @@ +00200000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00300000 // frame_header[63:32] +00200004 // frame_header[31: 0] +000f82e0 // codeword = 000f82e0 + +00400044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // spi_rd_en = 0, iq_scale = 0 + +00400050 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000010 // int_threshold = 1 + +00500004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 0 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00500804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 1 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501004 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 2 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00501804 // frame_header[63:32] +0000001C // frame_header[31: 0] +00000010 // qubit 3 group 0 para mtf_idx +80018001 +00000000 +00007FFF +00000000 +7FFF8001 +00000000 + +00580000 // frame_header[63:32] +00000100 // frame_header[31: 0] +95D42465 // qubit 0 128 mtf_i samples +32E39E81 +155B7E6E +A9838EC6 +7B7440F2 +88B90650 +4C01B586 +F644767A +C28C84AD +707D5810 +81A2E737 +621FCF93 +D928687E +DE9B8198 +5F7E6B2E +8290CA1A +733CEDA5 +BD0B547C +FCB18589 +48787849 +8A85B0FB +7C550BBD +A5EC3B72 +1ACB9082 +2D6B7E5F +98819BDD +7E6929D9 +92CF1E62 +37E8A281 +0F587D70 +AD848BC1 +797745F7 +86B4004C +5106B988 +F13F747B +C78E82A8 +6D7E5C16 +819EE232 +6625D596 +D323657E +E39F8195 +5B7D6E33 +838DC514 +7540F2A9 +B805507B +02B58687 +43767A4D +8C83ACF6 +7D5911C2 +A1E73670 +20D09381 +28687E63 +9C8198D8 +7E6C2EDF +90CA195E +3CEEA682 +0A537C73 +B18589BC +787849FD +84B0FB47 +550CBE8A +EB3A727C +CC9182A4 +6A7E601B + +00584000 // frame_header[63:32] +00000100 // frame_header[31: 0] +4577794B // qubit 0 128 mtf_q samples +8B84AEF8 +7D570FC0 +A3E93871 +1ECE9281 +2A697E61 +9B8199DA +7E6A2CDD +91CC1B60 +3AEBA482 +0C557C72 +B0858ABE +787847FB +85B1FD49 +530ABC89 +ED3C737C +CA9082A6 +6C7E5E19 +819CDF2E +6828D898 +D020637E +E7A18193 +597D7036 +838CC211 +7643F6AC +B5024D7A +05B88886 +40757B50 +8D83A9F2 +7D5B14C5 +9FE3336E +23D39581 +24667E65 +9E8196D5 +7E6D32E2 +8EC6165C +3FF1A882 +06517B74 +B48688B9 +77794C00 +84ADF745 +580FC18B +E837707D +CF9281A2 +697E621F +8198D929 +6B2DDD9B +CB1A5F7E +ECA58290 +547C723B +858ABD0B +7848FBB0 +B1FC4978 +0BBD8985 +3C727C54 +9082A5ED +7E5F1ACA +9BDE2E6B +29D99881 +1F627E68 +A28193CF +7D7037E7 +8CC21058 +44F7AD84 + +00588000 // frame_header[63:32] +00000100 // frame_header[31: 0] +8AC41862 // qubit 1 128 mtf_i samples +590CB986 +CF24697E +00AF838F +306F7C50 +A68196DB +757946F3 +819DE73B +753CE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CE24697E +00AF838F +306F7C50 +A68196DA +757947F4 +819DE63B +753CE79E +A5F24579 +31DB9681 +FF4F7C70 +D09083AE +597E6A25 +8A86B80B +7E6219C4 +8AC31761 +5A0DBA86 +CE23697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63A +753CE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80B +7E621AC5 +8AC21761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +32DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B85B80A +7E631AC5 + +0058C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +306F7C50 // qubit 1 128 mtf_q samples +A68196DB +757946F3 +819DE73B +753BE79D +A6F34679 +30DB9681 +FF507C70 +CF9083AF +597E6925 +8A86B90C +7E6219C4 +8AC31861 +5A0CB986 +CF24697E +00AF838F +306F7C50 +A68196DA +757946F4 +819DE63B +753CE79E +A5F24679 +31DB9681 +FF507C70 +D09083AE +597E6925 +8A86B80B +7E6219C4 +8AC31861 +5A0DBA86 +CE24697E +00B0838F +2F6F7C51 +A68195DA +747947F4 +819DE63B +753CE89E +A5F24579 +31DC9681 +FE4F7C70 +D09083AE +597E6A25 +8B86B80B +7E6219C5 +8AC31761 +5A0DBA86 +CE23687E +01B0838F +2F6F7C51 +A78195D9 +747947F4 +819CE53A +753DE89E +A5F24579 +31DC9781 +FE4F7C70 +D09083AE +587E6A26 +8B86B80A +7E631AC5 +8AC21761 +5A0EBA86 +CD23687E +01B0838F + +00590000 // frame_header[63:32] +00000100 // frame_header[31: 0] +83B40C5E // qubit 2 128 mtf_i samples +7435DA92 +97E33D78 +5703AD82 +BC16647E +2CD18E85 +EC457A70 +F9A6819D +1F697D50 +C88A88C4 +4D7C6C23 +A081A3F5 +6E7B49F0 +878CCD28 +7E661AC0 +81AAFF54 +7941E79A +90D63173 +6010B884 +B1085B7E +38DD9482 +DF397676 +07B08295 +12617E5A +D48F84B9 +42797230 +A9819AE8 +677E53FE +8B87C11B +7C6E27CC +81A0F14A +7C4CF4A2 +8AC9246C +691EC388 +A7FB517D +44EB9C81 +D22D717A +14BB858E +04587E63 +E19682AE +3675773C +B38393DB +5F7E5D0B +9183B50E +787433D8 +8198E43E +7E5602AC +86BD1765 +702BCF8D +9EED467B +4FF8A581 +C5206A7D +22C78989 +F74E7D6B +EF9F81A4 +296F7B48 +BF868CCE +557E6619 +9981AB00 +737940E5 +8491D732 +7E600FB7 +83B2095C +7537DC94 + +00594000 // frame_header[63:32] +00000100 // frame_header[31: 0] +19667E55 // qubit 2 128 mtf_q samples +CE8C86BF +487B6F29 +A4819FEF +6B7D4DF6 +8989C722 +7D6A20C5 +81A5F94F +7B46ED9D +8DD02B70 +6416BD86 +AC02577E +3EE39881 +D9347478 +0DB58392 +0C5D7E5E +DA9283B4 +3C777535 +AD8297E2 +637E5804 +8E85BC15 +7A712DD1 +819CEB45 +7D51FAA6 +88C41E69 +6C24C98A +A3F54C7C +49F1A081 +CC276E7C +1AC0878C +FE547E67 +E79A81A9 +30727941 +B88490D5 +5A7E6111 +9582B008 +767639DE +8295DE39 +7E5B08B1 +84B81161 +7230D590 +9AE74179 +54FEA981 +C01A677E +28CC8C87 +F1497B6E +F5A381A0 +236C7C4C +C4888AC8 +507D691E +9D81A6FA +707A45EB +858ED12C +7E6315BC +82AD0358 +773DE297 +92DA3574 +5D0CB483 +B50D5E7E +34D99283 +E33D7874 +02AD8197 +16647E57 +D08D85BD + +00598000 // frame_header[63:32] +00000100 // frame_header[31: 0] +81A60059 // qubit 3 128 mtf_i samples +7E59FFA5 +81A6005A +7E58FEA5 +81A7015A +7E58FEA5 +81A7025B +7E58FDA4 +81A8025B +7E57FCA4 +81A8035C +7E57FCA3 +81A9035C +7E56FBA3 +81A9045C +7E56FBA2 +81AA055D +7E55FAA2 +81AA055D +7E55F9A1 +81AB065E +7E54F9A1 +81AB075E +7E54F8A1 +81AB075F +7E53F7A0 +81AC085F +7E53F7A0 +81AC095F +7E52F69F +81AD0960 +7E52F59F +81AD0A60 +7E51F59F +81AE0A61 +7E51F49E +81AE0B61 +7E50F49E +81AF0C62 +7E50F39D +81AF0C62 +7E4FF29D +81B00D62 +7E4FF29C +81B00E63 +7E4EF19C +81B10E63 +7E4EF09C +81B10F64 +7D4DF09B +82B21064 +7D4DEF9B +82B21064 +7D4CEE9B +82B31165 +7D4CEE9A +82B31165 +7D4BED9A +82B41265 +7D4BED99 +82B41366 +7D4AEC99 +82B51366 +7D4AEB99 + +0059C000 // frame_header[63:32] +00000100 // frame_header[31: 0] +00597E59 // qubit 3 128 mtf_q samples +FFA581A6 +005A7E59 +FEA581A6 +015A7E58 +FEA481A7 +025B7E58 +FDA481A7 +025B7E57 +FCA481A8 +035C7E57 +FCA381A8 +045C7E56 +FBA381A9 +045D7E56 +FAA281A9 +055D7E56 +FAA281AA +065D7E55 +F9A181AA +065E7E55 +F8A181AB +075E7E54 +F8A181AB +075F7E54 +F7A081AC +085F7E53 +F7A081AC +09607E53 +F69F81AD +09607E52 +F59F81AD +0A607E52 +F59E81AE +0B617E51 +F49E81AE +0B617E51 +F39E81AE +0C627E50 +F39D81AF +0D627E50 +F29D81AF +0D627E4F +F19C81B0 +0E637E4F +F19C81B0 +0E637E4E +F09C81B1 +0F647E4E +F09B81B1 +10647D4D +EF9B82B2 +10647D4D +EE9A82B2 +11657D4C +EE9A82B3 +12657D4C +ED9A82B4 +12667D4B +EC9982B4 +13667D4B +EC9982B5 +14667D4A +EB9982B5 + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +000E0005 // 128 samples, 8 clk +FFCC0004 +FF3FFF74 +006CFF85 +026E01A4 +000A01FB +FB3DFD4C +FE5EFB6A +07000309 +042507BB +F76CFD96 +F915F554 +09770137 +09480D01 +F5BEFFD4 +F4D7F0FC +0BA1FFB6 +0D34117B +F241007C +EF8FEAF0 +0FC6FE76 +157C198F +EFDD04BD +E42AE253 +0D3EF550 +21B31F57 +F9781292 +DB69E346 +FD15E5D6 +226D1546 +0C721E91 +E549F5A3 +ED29E27A +0F03FEF6 +13A51687 +FD6E096C +F19EF4B2 +F904F3C1 +04CCFF30 +0B0F08FF +05C10A25 +F6CAFE8C +F23EF1C2 +032CF8D6 +10ED0CB9 +03FC0D8D +F0EDF8AC +F6B7F044 +09E000E6 +0B090DA8 +FC0E03EA +F6A2F70A +FF85FA3A +05C703EC +026304EC +FDC9FFA2 +FDD1FD42 +FFFEFEE8 +011000BF +00A200FB +FFD0002F +FFA9FFA2 +FFF6FFD0 +00030006 \ No newline at end of file diff --git a/assets/readout_awg.png b/assets/readout_awg.png new file mode 100644 index 0000000..c496ecf Binary files /dev/null and b/assets/readout_awg.png differ diff --git a/assets/readout_daq.png b/assets/readout_daq.png new file mode 100644 index 0000000..e7693f2 Binary files /dev/null and b/assets/readout_daq.png differ diff --git a/assets/readout_proc.png b/assets/readout_proc.png new file mode 100644 index 0000000..3e5e69e Binary files /dev/null and b/assets/readout_proc.png differ diff --git a/assets/sim_acq_1.png b/assets/sim_acq_1.png new file mode 100644 index 0000000..b78bccf Binary files /dev/null and b/assets/sim_acq_1.png differ diff --git a/assets/sim_acq_2.png b/assets/sim_acq_2.png new file mode 100644 index 0000000..c7b9879 Binary files /dev/null and b/assets/sim_acq_2.png differ diff --git a/assets/sim_acq_5.png b/assets/sim_acq_5.png new file mode 100644 index 0000000..b52d452 Binary files /dev/null and b/assets/sim_acq_5.png differ diff --git a/assets/sim_exc_1.png b/assets/sim_exc_1.png new file mode 100644 index 0000000..7b9754c Binary files /dev/null and b/assets/sim_exc_1.png differ diff --git a/assets/sim_exc_2.png b/assets/sim_exc_2.png new file mode 100644 index 0000000..cde8c4c Binary files /dev/null and b/assets/sim_exc_2.png differ diff --git a/assets/sim_pump_1.png b/assets/sim_pump_1.png new file mode 100644 index 0000000..5aeadb9 Binary files /dev/null and b/assets/sim_pump_1.png differ diff --git a/assets/sim_pump_2.png b/assets/sim_pump_2.png new file mode 100644 index 0000000..c64dce0 Binary files /dev/null and b/assets/sim_pump_2.png differ diff --git a/exc_1_config.txt b/exc_1_config.txt new file mode 100644 index 0000000..2b4441f --- /dev/null +++ b/exc_1_config.txt @@ -0,0 +1,93 @@ +00200000 // frame_header[63:32] +00200004 // frame_header[31: 0] +0000002B // daq mcu exit + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +00200004 // frame_header[31: 0] +40000000 // amplitud = 0x4000 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 0 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +00470013 // 128 samples, 8 clk +0076007B +FEF60000 +FB91FD65 +F91FF9F2 +FBEFF9A8 +057AFFFF +11100B8C +154E14B6 +0ABA1208 +F33B0000 +DBFFE673 +D698D622 +EC8ADE31 +15D0FFFF +3A682A80 +40294256 +1CF0334C +E0BD0000 +AF14C422 +A9D6A58B +DA3EBC1E +27B1FFFF +642A4B0A +681C6E9C +2C945112 +D226FFFF +8EBDAA40 +8CAF8439 +CF9AA71B +30CDFFFF +763C5A63 +76187FFA +30A05A2C +CFE4FFFF +8DA5A7BD +8FF68568 +D2C2AB48 +2BE0FFFF +66304FAE +620B6C6B +26BD4958 +DB43FFFF +AC6DBE0D +B1C8A869 +E1E4C63C +1BC3FFFF +3D49311B +37873F38 +14A1284D +EDB4FFFF +D952E04F +DE9ED908 +F444E869 +09C2FFFF +1323104E +0F171278 +04BF0A1E +FC91FFFF +FA68FABC +FC98FB33 +FF46FE14 +0042FFFF +00110036 \ No newline at end of file diff --git a/exc_2_config.txt b/exc_2_config.txt new file mode 100644 index 0000000..7e10960 --- /dev/null +++ b/exc_2_config.txt @@ -0,0 +1,95 @@ +00200000 // frame_header[63:32] +00200004 // frame_header[31: 0] +0000002B // daq mcu exit + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000000 // codeword = 0 + +00900034 // frame_header[63:32] +0020000C // frame_header[31: 0] +40000000 // amplitud = 0x4000 +F0000000 // frequency = -250MHz +00000000 // phase = 0 + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000001 // INTP_SEL=0, MIX_MODE=0, AWG_MODE = 1 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +004C000F // 128 samples, 8 clk +00D800A6 +FF6E0085 +FB8AFD9F +F9DEF9FC +0025FBE2 +0C020600 +10F61046 +042E0CEA +EBE6F841 +DF60E28A +F197E464 +196A04AF +32D62A79 +1F002F2F +E6FE050E +BBB4CC23 +CB47BAE1 +110DEA37 +5161369E +4CCF59E2 +FE9F2C10 +A8F5CF08 +9C6C9641 +EB8FBB08 +538422CF +752A7198 +2D535CA7 +B936F225 +818C9050 +BAA490C8 +329FF53F +7DB4640D +58967980 +E5C12304 +8CFFAF7A +9C1F862E +01A6C901 +60353858 +65967049 +133F439A +B76CE081 +A21EA133 +DE8EB8BD +300309CD +4EAA4892 +27744230 +E5C205D7 +C4E4CE93 +DA6AC9B1 +09FBF1EB +26E61CE9 +1DC126B9 +FF920F4F +EA99F270 +ECF9E905 +FD09F47B +08E40458 +08C50A35 +023C05AF +FDE9FF76 +FE1CFD96 +FFA1FEF0 +0007FFF9 \ No newline at end of file diff --git a/pump_1_ana_cfg.txt b/pump_1_ana_cfg.txt new file mode 100644 index 0000000..985060e --- /dev/null +++ b/pump_1_ana_cfg.txt @@ -0,0 +1,11 @@ +00200000 // frame_header[63:32] +00280004 // frame_header[31: 0] +006ACFC0 // pump frequency = 7GHz + +00300000 // frame_header[63:32] +00280004 // frame_header[31: 0] +FFFFFF38 // pump power = 15 dbm + +00400000 // frame_header[63:32] +00280004 // frame_header[31: 0] +00000011 // pump output enable \ No newline at end of file diff --git a/pump_1_dig_cfg.txt b/pump_1_dig_cfg.txt new file mode 100644 index 0000000..3b995a9 --- /dev/null +++ b/pump_1_dig_cfg.txt @@ -0,0 +1,90 @@ +00200000 // frame_header[63:32] +00200004 // frame_header[31: 0] +0000002B // daq mcu exit + +00700000 // frame_header[63:32] +00200010 // frame_header[31: 0] +001007B7 // lui x15, 0x100 +0007A083 // lw x1, 0x00(x15) +0000A00B // send x0,x1,0 +0000002B // exit x0,x0,0 + +00800000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000100 // codeword = 00000100 + +00900044 // frame_header[63:32] +00200008 // frame_header[31: 0] +00000000 // PUMP_INV=0 +00010010 // delay = 1, width = 16 + +00A00000 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000008 // addr = 0, len = 8 clk + +00B00000 // frame_header[63:32] +00200100 // frame_header[31: 0] +00470013 // 128 samples, 8 clk +0076007B +FEF60000 +FB91FD65 +F91FF9F2 +FBEFF9A8 +057AFFFF +11100B8C +154E14B6 +0ABA1208 +F33B0000 +DBFFE673 +D698D622 +EC8ADE31 +15D0FFFF +3A682A80 +40294256 +1CF0334C +E0BD0000 +AF14C422 +A9D6A58B +DA3EBC1E +27B1FFFF +642A4B0A +681C6E9C +2C945112 +D226FFFF +8EBDAA40 +8CAF8439 +CF9AA71B +30CDFFFF +763C5A63 +76187FFA +30A05A2C +CFE4FFFF +8DA5A7BD +8FF68568 +D2C2AB48 +2BE0FFFF +66304FAE +620B6C6B +26BD4958 +DB43FFFF +AC6DBE0D +B1C8A869 +E1E4C63C +1BC3FFFF +3D49311B +37873F38 +14A1284D +EDB4FFFF +D952E04F +DE9ED908 +F444E869 +09C2FFFF +1323104E +0F171278 +04BF0A1E +FC91FFFF +FA68FABC +FC98FB33 +FF46FE14 +0042FFFF +00110036 \ No newline at end of file diff --git a/pump_2_dig_cfg.txt b/pump_2_dig_cfg.txt new file mode 100644 index 0000000..91c9ea8 --- /dev/null +++ b/pump_2_dig_cfg.txt @@ -0,0 +1,11 @@ +00200000 // frame_header[63:32] +00200004 // frame_header[31: 0] +0000002B // exit daq + +00700000 // frame_header[63:32] +00200004 // frame_header[31: 0] +0000002B //exit awg + +00900044 // frame_header[63:32] +00200004 // frame_header[31: 0] +00000010 // PUMP_INV = 1 \ No newline at end of file diff --git a/读出子系统历史无关配置集.md b/读出子系统历史无关配置集.md index a992109..b905892 100644 --- a/读出子系统历史无关配置集.md +++ b/读出子系统历史无关配置集.md @@ -1,20 +1,40 @@ # 读出系统历史无关的功能配置项 -本文以常用的超导量子比特读出操作为例,将读出操作可能涉及到的相关功能拆解成最小功能项,并给出对每个功能项的历史无关配置集。 -超导量子比特读出操作涉及到RI、RO和Pump三类通道, -本文将基于ez-Q 2.5 FPGA平台读出系统的的通道为控制对象进行功能分解。 -本文所指的`历史无关配置`限定为实验相关配置部分, -而与对芯片的校准(例如ADC、DAC、时钟配置)、读出子系统初始化(例如通信校准、同步校准)等操作不在本文讨论范围。 +本文以常用的超导量子比特读出操作为例, +将读出操作可能涉及到的相关功能拆解成最小功能项, +并给出对每个功能项的历史无关配置集。 +超导量子比特读出操作涉及到EXT、ACQ和Pump三类通道, +本文将基于**ez-Q 2.5 FPGA平台读出子系统**的的通道为控制对象进行功能分解。 +读出子系统的工作流程如下图所示: -# RI通道 +![readout_proc](assets/readout_proc.png) -RI通道用于为量子比特读出产生激励信号, -对RI通道的输出控制包括MCU指令、MCU数据、波形索引、波形仓库、基带控制寄存器配置以及变频电路配置。 -其中MCU指令+MCU数据用于控制实验流程和产生执行命令; -波形索引+波形仓库用于完成从命令到数字波形信号的翻译; -基带控制寄存器用于控制数字波形信号处理过程; -变频电路用于控制模拟波形信号处理过程。 +本文所指的`历史无关配置`限定为上图中历史无关实验中的**实验配置**项, +而与对读出系统的初始化(例如寄存器复位、ADC、DAC、PLL等自动校准)、 +外部参数的校准(例如通信链路校准、系统间同步、回环延时补偿)等操作不在本文讨论范围。 -## RI.1 直接波形输出功能 +# 激励通道(EXC) + +读出激励通道用于为量子比特读出产生激励信号, +对激励通道的输出控制包括模拟控制和数字控制两个部分。 +ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, +目前不支持变频增益控制,LO本振频率控制暂不开放, +LO频率固定为5.5 GHz,因此模拟电路无需配置。 +激励通道的数字电路输入控制如下图所示 +![readout_awg](assets/readout_awg.png) +配置项包括MCU指令、MCU数据、波形索引、波形仓库和若干基带输出控制寄存器。 +相应的功能如下所示: + +* MCU指令+MCU数据用于控制实验流程和产生执行命令; +* 波形索引+波形仓库用于完成从命令到数字波形信号的翻译; +* 基带输出控制寄存器用于控制数字波形信号处理过程; + +其中输出控制寄存器可以通过上位机直接配置, +此外输出控制寄存器也被映射到了MCU的访存空间, +MCU也可以通过修改寄存器来实时控制波形输出行为。 +本文暂未涉及到需要实时修改控制寄存器的用例, +默认都是通过上位机直接配置输出控制寄存器。 + +## EXC.1 直接波形输出功能 直接波形输出功能将用户配置以采样点配置的波形数据直接发到DAC, 数字信号经过DAC转换成模拟基带信号, 接着基带信号再经过模拟变频电路变频后得到读出激励信号。 @@ -27,7 +47,6 @@ RI通道用于为量子比特读出产生激励信号, |波形映射表|配置码字到波形地址和长度的映射表| |波形仓库|存储映射表对应的波形| |控制寄存器|控制波形的输出模式| -|模拟寄存器|控制变频增益和频率| ### 编程规范 用户通过编程MCU来生成码字指令,编程需要满足以下规范: @@ -94,13 +113,20 @@ S3057...S3072 此时波形仓库中的数据应该如上所示,总共存储了192个时钟周期,FPGA的主频为250 MHz,DAC的更新率为4Gsps,192个时钟周期对应3072个采样点数据,其中`S1-2048`采样点对应`ID==0`时输出,`S2049-S3072`采样点对应`ID==1`时输出. -### 模拟配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 -## RI.2 调制波形输出功能 -该模式受限于FPGA时序,FPGA平台暂不支持。 +以下是直接输出一个高斯包络波形的配置示例, +由于激励和采集在一个芯片上,并被同步信号触发, +为了避免仿采集通道使用未定义数据, +本例为采集通道MCU配置了一条退出指令。 + +@import "exc_1_config.txt" + +仿真结果如下图所示: + +![sim_exc_1](assets/sim_exc_1.png) + +## EXC.2 调制波形输出功能 调制波形输出功能将用户配置以采样点经过调制处理后发到DAC, 数字信号经过DAC转换成模拟基带信号, 接着基带信号再经过模拟变频电路变频后得到读出激励信号。 @@ -113,7 +139,6 @@ LO频率固定为5.5 GHz,因此这部分无需配置。 |波形映射表|配置码字到波形地址和长度的映射表| |波形仓库|存储映射表对应的波形| |控制寄存器|控制波形的输出模式,驱动模式,调幅| -|模拟寄存器|控制变频增益和频率| ### 编程规范 |说明项|说明内容| @@ -182,17 +207,55 @@ S2033...S2048 ... S3057...S3072 ``` -此时波形仓库中的数据应该如上所示,总共存储了192个时钟周期,FPGA的主频为250 MHz,DAC的更新率为4Gsps,192个时钟周期对应3072个采样点数据,其中`S1-2048`采样点对应`ID==0`时输出,`S2049-S3072`采样点对应`ID==1`时输出. +此时波形仓库中的数据应该如上所示,总共存储了192个时钟周期, +FPGA的主频为250 MHz,DAC的更新率为4Gsps, +192个时钟周期对应3072个采样点数据, +其中`S1-2048`采样点对应`ID==0`时输出,`S2049-S3072`采样点对应`ID==1`时输出。 +调制模式输出时,波形需要经过希尔伯特变换, +而希尔伯特变换器的归一化通带频率为0.06~0.44, +因此采样点的频率需要处于240~1760 MHz, +否则波形会发生显著的畸变。 -### 模拟配置 +### 配置示例 + +以下是直接输出一个312.5 MHz波形调制上一个-250 MHz频率的配置示例, +由于激励和采集在一个芯片上,并被同步信号触发, +为了避免仿采集通道使用未定义数据, +本例为采集通道MCU配置了一条退出指令。 + +@import "exc_2_config.txt" + +仿真结果如下图所示,输出频率为 +312.5MHz-250MHz=62.5MHz, +32ns输出显示了2个周期波形,符合预期。 + +![sim_exc_2](assets/sim_exc_2.png) + +# ACQ通道 + +读出采集通道用于处理来自量子比特的返回信号, +对返回信号的处理控制包括模拟调制和数字控制两个部分。 ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, 目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +LO频率固定为5.5 GHz,因此模拟电路无需配置。 +采集通道的数字电路输入控制如下图所示 +![readout_awg](assets/readout_daq.png) -# RO通道 +数字电路配置项包括MCU指令、MCU数据、参数查找表、滤波器系数表和若干控制寄存器。 +相应的功能如下所示: -## RO.1 波形采集功能 +* MCU指令+MCU数据用于控制实验流程和产生执行命令; +* 参数表+滤波器系数用于获取指定匹配滤波器系数和提供态判断参数; +* 基带输入控制寄存器用于控制采集处理过程; + +其中输出控制寄存器可以通过上位机直接配置, +此外基带输出控制寄存器也被映射到了MCU的访存空间, +MCU也可以通过修改寄存器来实时控制信号处理行为。 +本文暂未涉及到需要实时修改控制寄存器的用例, +默认都是通过上位机直接配置控制寄存器。 + +## ACQ.1 波形采集功能 波形采集功能将ADC采集到的原始波形数据采集并上传到上位机。 |配置项|说明| @@ -234,9 +297,9 @@ exit x0, x0, 0 |:-|:-:|:-| |CODEWORD[12]|1'h1|采集波形数据| -建议通过设置`0`来关闭其它功能选项, +建议通过设置`0`来关闭其它采集功能选项, 例如码字为`0x00001000`时,表示仅触发波形采集功能, -若开启其它选项,采集死时间受不同的功能组合而改变。 +若开启其它采集选项,采集死时间受不同的功能组合而改变。 ### 控制寄存器配置 @@ -246,14 +309,24 @@ exit x0, x0, 0 |配置项|值|说明| |:-|:-:|:-| |spi_rd_en|1'h0|设置为主动数据推送模式| -|sample_depth|16’h0|要采集数据的深度,单位是时钟周期| +|sample_depth|sample_depth|要采集数据的深度,16bit, 单位是时钟周期| -### 模拟寄存器配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 +以下是采集一段长度为64ns波形的示例, +为了方便观察信号,我们将`EXC.1`示例的输出环回到采集通道。 +本示例额外配置了数据阈值请求量`int_threshold`, +以告知仿真器在采集到足够数据后停止运行 +并将采集到的数据写入文件。 -## RO.2 IQ采集功能 +@import "acq_1_config.txt" + +以下是推送的数据(含帧头) +@import "acq_1_pack.txt" + +去除帧头的波形数据如下图所示 +![daq_wave](assets/sim_acq_1.png) + +## ACQ.2 IQ采集功能 IQ采集功能利用解模算法计算输入信号的IQ值, 并将IQ值采集并推送到上位机。 受限于FPGA的计算资源,FPGA平台仅支持系数直读模式,不支持权重计算模式, @@ -362,12 +435,24 @@ exit x0, x0, 0 |...|...| |0x005841FC|Q496...Q511| -### 模拟寄存器配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 -## RO.3 态采集功能 +以下是采集q0到q3解模结果的示例, +为了方便观察信号,我们将`EXC.1`示例的输出环回到采集通道。 +并将波形改成包含[407666666,437533333,467800000,499600000]四个频点的多音信号。 +本示例额外配置了数据阈值请求量`int_threshold`, +以告知仿真器在采集到足够数据后停止运行 +并将采集到的数据写入文件。 + +@import "acq_2_config.txt" + +推送的数据结果如下所示 +@import "acq_2_pack.txt" + +绘制到iq平面上的结果如下图所示 +![sim_acq_2](assets/sim_acq_2.png) + +## ACQ.3 态采集功能 态采集功能首先利用解模算法计算IQ值, 接着用态判断算法计算IQ值对应的比特状态, 最后将计算出来的态信息采集并推送到上位机。 @@ -475,12 +560,25 @@ exit x0, x0, 0 |...|...| |0x005841FC|Q496...Q511| -### 模拟寄存器配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 -## RO.4 计数采集功能 +以下是采集q0到q3态结果的示例, +为了方便观察信号,我们将`EXC.1`示例的输出环回到采集通道。 +并将波形改成包含[407666666,437533333,467800000,499600000]四个频点的多音信号。 +本示例额外配置了数据阈值请求量`int_threshold`, +以告知仿真器在采集到足够数据后停止运行 +并将采集到的数据写入文件。 + +@import "acq_3_config.txt" + +推送的数据结果如下所示 +@import "acq_3_pack.txt" + +上述结果显示q0~q3分别处于2、1、0、1态, +其余未测量的比特处于错误未定义的3态。 + + +## ACQ.4 计数采集功能 态计数采集功能利用解模算法计算输入信号的IQ值, 接着利用态判断算法到量子比特的状态, @@ -601,13 +699,23 @@ exit x0, x0, 0 |...|...| |0x005841FC|Q496...Q511| -### 模拟寄存器配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 +以下是采集q0到q3态统计结果的示例, +该示例在acq.3示例的基础上仅修改了码字和采集数据量。 +码字从`000f4000`改成了`000f8220` +阈值数据量从`000000001`改成了`00000010`。 +采集到的数据如下所示: -## RO.5 读出反馈功能 +@import "acq_4_pack.txt" + +上述数据分析如下,与acq.3实验结果吻合。 +* q0出现了1次2态,其余态出现0次 +* q1出现了1次1态,其余态出现0次 +* q2出现了1次0态,其余态出现0次 +* q3出现了1次1态,其余态出现0次 + +## ACQ.5 读出反馈功能 态读出反馈功能首先利用解模算法得到IQ值, 接着利用态判断算法计算IQ值对应的比特状态, 最后将计算出来的态信息通过上行和下行反馈端口发出。 @@ -707,14 +815,20 @@ exit x0, x0, 0 |...|...| |0x005841FC|Q496...Q511| -### 模拟寄存器配置 -ez-Q 2.5 FPGA平台变频电路沿用ez-Q 2.0的硬件, -目前不支持变频增益控制,LO本振频率控制暂不开放, -LO频率固定为5.5 GHz,因此这部分无需配置。 +### 配置示例 +以下是反馈q0到q3态读出结果的示例, +该示例在acq.4示例的基础上仅修改了码字。 +将码字从`000f8220`,改成`000f82e0`。 + +仿真结果如下图所示: +![sim_acq_5](assets/sim_acq_5.png) +可以看到局部反馈端口`loc_lvcmos_t`上的态结果与acq.3实验相同, +全局反馈回环接收数据`glb_fd_in`与acq.3实验相同,符合预期。 # Pump通道 -Pump通道用于为参量放大器提供能量,对Pump通道的输出控制包括模拟电路配置。模拟电路通过小数分配锁相环来合成指定频率,并通过功率驱动电路后输出。 +Pump通道用于为参量放大器提供能量,对Pump通道的输出控制包括模拟电路配置。 +模拟电路通过小数分配锁相环来合成指定频率,并通过功率驱动电路后输出。 ## Pump.1 Pump开关输出功能 Pump开关输出功能使用与激励信号同一个MCU来产生码字, @@ -777,6 +891,22 @@ exit x0, x0, 0 |pump_power|PCW|PCW范围[-1300,-200],码值与输出功率正相关| |pump_enable|32'h11|使能pump通道模拟输出| +### 配置示例 +数字部分配置 +@import "pump_1_dig_cfg.txt" +数字部分仿真结果如下图所示,可以看到脉冲输出持续了96ns(24个时钟周期), +其中8个时钟周期是波形输出时间,16个时钟周期是附加持续时间,与预期符合。 +![sim_pump_1](assets/sim_pump_1.png) + +模拟部分配置需要设置输出频率、输出功率并使能输出。 +配置用例如下所示: + +@import "pump_1_ana_cfg.txt" + +注意:受制于混频板的硬件设计, +对混频板的参数配置需要预留一定等待时间, +建议每执行一项配置后等待10毫秒再执行。 + ## Pump.2 Pump连续输出功能 Pump连续输出功能通过配置寄存器令使能脉冲始终处于高电平, 从而允许pump通道始终输出微波信号。 @@ -802,4 +932,55 @@ Pump通道连续输出功能本身无需编程MCU, |:-|:-|:-| |pump_freq|FCW|输出频率控制字,freq = FCW*1000| |pump_power|PCW|PCW范围[-1300,-200],码值与输出功率正相关| -|pump_enable|32'h11|使能pump通道模拟输出| \ No newline at end of file +|pump_enable|32'h11|使能pump通道模拟输出| + +### 配置示例 +数字部分配置仅需要设置pump_en的极性为取反, +并且生成码字时不能使能pump_en。 +数字部分配置用例如下所示: + +@import "pump_2_dig_cfg.txt" + +仿真结果如下图所示,将极性取反后, +`pump_en`输出始终为高电平, +模拟部分配置保持与pump.1相同, +此时模拟开关始终打开, +pump信号保持持续输出。 +![sim_pump_2](assets/sim_pump_2.png) + + +# 附录 + + +## 附录.1 参数扫描测试 + +参数扫描测试为了提高测试效率, +采用MCU实时修改寄存器来更新参数。 +以下是mcu的测试程序 + +@import "sweep_test.asm" + +### 扫相测试用例 +<测试设置描述>16个频点 + + +**测试结果如下** + +<结果及结论描述> + +### 扫频测试用例 +16个频点 + +### 扫幅测试用例 +16个频点同时扫,使用寄存器控制 + +## 附录.2 系统功能验证 + + +### 多比特并行读出功能 +该测试同时采集读出波形、解模IQ数据、态数据、态统计数据, +以验证不同截断数据的正确性。 + + +### 参数快速切换功能 +该测试以不同参数,死时间≤50 ns的间隔 \ No newline at end of file