From 67d20ba7663617dd5b2644f66d6a9ea43e711d7a Mon Sep 17 00:00:00 2001 From: zhaohe Date: Wed, 27 Mar 2024 16:27:47 +0800 Subject: [PATCH] V3 --- led_test.fdc | 6 ++ led_test.pds | 118 +++++----------------- rdfile_2024_3_26_21_12_43 | Bin 0 -> 762416 bytes source/src/internal/internal_clock_generator.v | 2 +- source/src/output/camera_sync_signal_output.v | 1 + source/src/output/ttl_output.v | 33 ++++--- source/src/sys/sys_clock.v | 4 +- source/src/sys_signal_delayer.v | 69 +++++++------ source/src/top.v | 130 ++++++++++++------------- source/src/zutils/zsimple_pll.v | 23 ++--- source/src/zutils/zutils_sig_delayer_v2.v | 2 + 11 files changed, 169 insertions(+), 219 deletions(-) create mode 100644 rdfile_2024_3_26_21_12_43 diff --git a/led_test.fdc b/led_test.fdc index bd642af..d56a766 100644 --- a/led_test.fdc +++ b/led_test.fdc @@ -573,3 +573,9 @@ define_attribute {p:ex_rst_n} {PAP_IO_DIRECTION} {INPUT} define_attribute {p:ex_rst_n} {PAP_IO_LOC} {C13} define_attribute {p:ex_rst_n} {PAP_IO_VCCIO} {3.3} define_attribute {p:ex_rst_n} {PAP_IO_STANDARD} {LVTTL33} +define_attribute {p:sync_ttl_in1} {PAP_IO_PULLDW} {TRUE} +define_attribute {p:sync_ttl_in2} {PAP_IO_PULLDW} {TRUE} +define_attribute {p:sync_ttl_in3} {PAP_IO_PULLDW} {TRUE} +define_attribute {p:sync_ttl_in4} {PAP_IO_PULLDW} {TRUE} +define_attribute {p:timecode_bnc_in} {PAP_IO_PULLDW} {TRUE} +define_attribute {p:timecode_headphone_in} {PAP_IO_PULLDW} {TRUE} diff --git a/led_test.pds b/led_test.pds index d15f807..022c403 100644 --- a/led_test.pds +++ b/led_test.pds @@ -1,5 +1,5 @@ (_flow fab_demo "2021.1-SP7" - (_comment "Generated by Fabric Compiler (version on 2021.1-SP7) at Tue Mar 26 22:08:39 2024") + (_comment "Generated by Fabric Compiler (version on 2021.1-SP7) at Wed Mar 27 16:10:02 2024") (_version "1.0.5") (_status "initial") (_project @@ -19,7 +19,7 @@ (_input (_file "source/src/top.v" + "Top:" (_format verilog) - (_timespec "2024-03-26T22:07:22") + (_timespec "2024-03-27T15:36:20") ) (_file "source/src/spi_reg_reader.v" (_format verilog) @@ -59,7 +59,7 @@ ) (_file "source/src/output/ttl_output.v" (_format verilog) - (_timespec "2024-03-25T14:05:59") + (_timespec "2024-03-27T16:06:42") ) (_file "source/src/zutils/zutils_pwm_generator.v" (_format verilog) @@ -163,7 +163,7 @@ ) (_file "source/src/zutils/zsimple_pll.v" (_format verilog) - (_timespec "2024-03-26T18:46:59") + (_timespec "2024-03-27T12:48:00") ) (_file "source/src/zutils/zutils_freq_detector_v2.v" (_format verilog) @@ -191,7 +191,7 @@ ) (_file "source/src/internal/internal_clock_generator.v" (_format verilog) - (_timespec "2024-03-23T16:38:57") + (_timespec "2024-03-27T12:08:29") ) (_file "source/src/internal/internal_genlock_generator.v" (_format verilog) @@ -203,11 +203,11 @@ ) (_file "source/src/sys/sys_clock.v" (_format verilog) - (_timespec "2024-03-05T16:10:23") + (_timespec "2024-03-27T12:19:38") ) (_file "source/src/output/camera_sync_signal_output.v" (_format verilog) - (_timespec "2024-03-26T16:56:33") + (_timespec "2024-03-27T12:07:13") ) (_file "source/src/business/record_sig_generator.v" (_format verilog) @@ -215,7 +215,7 @@ ) (_file "source/src/sys_signal_delayer.v" (_format verilog) - (_timespec "2024-03-26T21:16:17") + (_timespec "2024-03-27T14:18:37") ) (_file "source/src/zutils/zutils_sig_delayer.v" (_format verilog) @@ -223,7 +223,7 @@ ) (_file "source/src/zutils/zutils_sig_delayer_v2.v" (_format verilog) - (_timespec "2024-03-25T17:37:50") + (_timespec "2024-03-27T15:35:13") ) (_file "source/src/zutils/zutils_pluse_delayer.v" (_format verilog) @@ -264,7 +264,7 @@ (_input (_file "led_test.fdc" (_format fdc) - (_timespec "2024-02-27T20:28:55") + (_timespec "2024-03-27T14:50:54") ) ) ) @@ -315,17 +315,17 @@ (_db_output (_file "compile/Top_comp.adf" (_format adif) - (_timespec "2024-03-26T22:07:42") + (_timespec "2024-03-27T16:07:36") ) ) (_output (_file "compile/Top.cmr" (_format verilog) - (_timespec "2024-03-26T22:07:41") + (_timespec "2024-03-27T16:07:33") ) (_file "compile/cmr.db" (_format text) - (_timespec "2024-03-26T22:07:42") + (_timespec "2024-03-27T16:07:36") ) ) ) @@ -341,21 +341,21 @@ (_db_output (_file "synthesize/Top_syn.adf" (_format adif) - (_timespec "2024-03-26T22:07:54") + (_timespec "2024-03-27T16:09:41") ) ) (_output (_file "synthesize/Top_syn.vm" (_format structural_verilog) - (_timespec "2024-03-26T22:07:54") + (_timespec "2024-03-27T16:09:50") ) (_file "synthesize/Top.snr" (_format text) - (_timespec "2024-03-26T22:07:55") + (_timespec "2024-03-27T16:09:56") ) (_file "synthesize/snr.db" (_format text) - (_timespec "2024-03-26T22:07:55") + (_timespec "2024-03-27T16:09:56") ) ) ) @@ -376,21 +376,21 @@ (_db_output (_file "device_map/Top_map.adf" (_format adif) - (_timespec "2024-03-26T22:07:58") + (_timespec "2024-03-27T16:10:02") ) ) (_output (_file "device_map/Top_dmr.prt" (_format text) - (_timespec "2024-03-26T22:07:57") + (_timespec "2024-03-27T16:09:59") ) (_file "device_map/Top.dmr" (_format text) - (_timespec "2024-03-26T22:07:58") + (_timespec "2024-03-27T16:10:02") ) (_file "device_map/dmr.db" (_format text) - (_timespec "2024-03-26T22:07:58") + (_timespec "2024-03-27T16:10:02") ) ) ) @@ -399,7 +399,7 @@ (_input (_file "device_map/led_test.pcf" (_format pcf) - (_timespec "2024-03-26T22:07:58") + (_timespec "2024-03-27T16:10:02") ) ) ) @@ -409,47 +409,14 @@ ) (_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)) (_option parallel (_integer 4)) (_option share_router_control_signal (_boolean FALSE)) (_option check_clk_net_route_by_srb (_boolean FALSE)) - (_option mode (_string "fast")) (_option fix_hold_violation_in_route (_boolean FALSE)) - (_db_output - (_file "place_route/Top_pnr.adf" - (_format adif) - (_timespec "2024-03-26T22:08:18") - ) - ) - (_output - (_file "place_route/Top.prr" - (_format text) - (_timespec "2024-03-26T22:08:18") - ) - (_file "place_route/Top_prr.prt" - (_format text) - (_timespec "2024-03-26T22:08:17") - ) - (_file "place_route/clock_utilization.txt" - (_format text) - (_timespec "2024-03-26T22:08:17") - ) - (_file "place_route/Top_plc.adf" - (_format adif) - (_timespec "2024-03-26T22:08:04") - ) - (_file "place_route/Top_pnr.netlist" - (_format text) - (_timespec "2024-03-26T22:08:18") - ) - (_file "place_route/prr.db" - (_format text) - (_timespec "2024-03-26T22:08:19") - ) - ) ) (_widget wgt_power_calculator (_attribute _click_to_run (_switch ON)) @@ -458,24 +425,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-03-26T22:08:23") - ) - ) - (_output - (_file "report_timing/Top.rtr" - (_format text) - (_timespec "2024-03-26T22:08:23") - ) - (_file "report_timing/rtr.db" - (_format text) - (_timespec "2024-03-26T22:08:24") - ) - ) ) (_widget wgt_arch_browser (_attribute _click_to_run (_switch ON)) @@ -493,25 +444,8 @@ ) (_task tsk_gen_bitstream (_command cmd_gen_bitstream - (_gci_state (_integer 2)) - (_output - (_file "generate_bitstream/Top.sbit" - (_format text) - (_timespec "2024-03-26T22:08:38") - ) - (_file "generate_bitstream/Top.smsk" - (_format text) - (_timespec "2024-03-26T22:08:38") - ) - (_file "generate_bitstream/Top.bgr" - (_format text) - (_timespec "2024-03-26T22:08:38") - ) - (_file "generate_bitstream/bgr.db" - (_format text) - (_timespec "2024-03-26T22:08:39") - ) - ) + (_gci_state (_integer 0)) + (_option unused_io_status (_string "KEEPER")) ) ) ) diff --git a/rdfile_2024_3_26_21_12_43 b/rdfile_2024_3_26_21_12_43 new file mode 100644 index 0000000000000000000000000000000000000000..9933f55a1127f7e4af8ffd50c3349ba5b25b16ff GIT binary patch literal 762416 zcmeFa4U{FvRVH{dU%u*m)z#fu)z#hAKT=1PO4?^3L&=tb;n-GGb;*=8Vzy+7i9S@MI1cs3x1TDV$@_JD;QR$aI13w^J7)rv`N{?VgcnRherQS&2o!B481)2v`KZ zZ4j{I^~OsXIE~?qLn#I;*?MH_N49udYZifTCj=h+e+FBc_)%3)_K1eeB|^0Zi6W8` zl1hU#&%oF#25UXWBhEHn0GVNt4oNWl$0Yc0Js%1|mt^II&;!l%iT2YLm zvp$bqJ1mP58FOt2>xVLJC9yz;IDx-nk@w+&`r|1xzQa`?m&njBpYDcBe^Bto8B z;-KWZfEHN%8V+YqQ%xzY{{&Dah(~JIDl~%X>(zgB}JgAe=%q;B$aiR z=o9V*^Es5*)ERL#DXtHjTq7U~=pZ?$GOjNgTaiwl(_!x$25wl9kAIqc-v&y|Lwio^I6g7(6v!IMXUcD@F9I58RYL8P%o^d1e-Mc<}ux z`|bskfnbIo=E2O_n6ER4r`hcDje=m9PA&F%gUjL_Lk$aaGXm4sOZw z^QI{Y;fsO0(OZV2clVaAQz{HPmgx{iqW)+g97iog$_s=6NkA(rWye)SlOm{~9-%g^ z@Ey4jbmX4FyRker$zAC@E&E>J`SYf%Wpc)8dCZg3zQ0UrUZ~RK>+iq~7h@HNZXUcF zJ>@vH(o?dIi5v{cottJRUB^=-mc!~%<$EkcGp!_!)#c|WkCi1P9#y7XND4vwFAm8K z=i+vUoWFAC>2vpd;V(PtbVxqDsJ$N@Qr^zRa~*QtKD~YJh2Q_H;^Be4&4VX}EOn>B zOd}~1#PBQd9&|`xKxQNbIbQnD2JXldk*LhNBx6RK5a=TSzKJq0M7;(_6@>N;emur) z;YTiPU%UY3*IodlJCf3ir~iEWA~%yrf;z-)>h!tukX&03Jc17l+>!0mT*M0(x3}N@ z_yswaeEs78hPXn|g+Y0N;`^M} zB!I!JxeBoAut;)QVPcSR5Qq+d4b%7XVFkLLBgpY*xyclRM*qd&{228C1wXHXq)(Il zEWb7G2U8IFQYv0sfC65elnlTq{hYs!xe{_Kk*$=N8ykBqTu1`!6UoWH*NWNVBsnPLdgvy5a2%&5%2*R!9Zxi6z~ugRwxFY ze0ETN+=z@E)D1^xhysg{;i*AgW5R_?0jRW+Bv(x%>N+s%tWyBmb8=8l@B}e#EBs=$ zA;mXZO)xZr*NLCm+`5y-73MMs34lcV~aw`AwK+P8DO7~W-vE|;m{B?bwkgg#*)rXO9x>Y;_JVN^B#`k7J9@p$-cT^m9(!h%m4~awq<{`<~wns}^`e?pnm?0&+md4ju71L%|SHLv8PN$DRU^WD|IytZ91vpG`SGPMIid3rl`g&nd z;H;RxiPS7gi7I0Hhnh=^MoB>;@kg7q=mJho0B~?q!u`f{DUMJO7lXz=mdX#|FX0le zHt9+o=Bw>1g@QWMTz2`aKZ_XUOKd)64J^Z;YJhxy2{@Qe1ji-jK`v^C(p>(Bsq0et zpwK(2`c!c;jTCfsGHm#FY5+pH=CK%|>yE^UAvA;)yTJ8mq%MhK@;Q(EziI69oCf)2 z?jKr6Et7*5P>(_pr-W%Xv2t>PZ*RMS?=m@fXs#;gLX_Z(FNnOL~2&Cxu?h zH<5V#L)Q)+;`OLHabO;Q3w2Sh+{k81^S+0BXhTsrJ>RiGnO9YA_*JCbo9T3(GRn716s(X*`5 zZ3@wKIO}nFaL4XSWmRrqG0Bihn zi!%N=BpN*1DWD(b!o3}hI_?9(8dc9UUtm92O6Z;OHpySQ#ncN_vbB2L0>-cI46W29 zxpI47J0$ZR-hXi})?d284(@x3v|oGl$*l1Z*v4O`&ygSy|y`J-^LGhmM573tjx_u1&Zm1gDED1EEIJ+w}(I`z2Z zy*DAvi@oHp(^%$LTJYY=m)q3pFe=dm=nnHrOI`WJpZ(Uk7rwOpWL=WRXf8S@UzNrz zztVCKztYmGy#4NTc-!S~6I~?mc;ft5x4&6ezVNf#=gxoO6Tk7s*5pN#d}uz6N7#^# z^_OH5;B5C)d$<$^AmFkgAWiD?aW z24&=lQ8U5gE>ekR5y0foG)_dT5^HmpL$D^m05en)F!*y76veCrBM~eN9CYFb;Z6$D z_eBLoL3|vOE`dRzNI$pDV$pyE$KcB_m=5#|GmBQ?as`pxJb1!XFmnhJ-C*JDZI%@3i;yC4)aW`*Io>AX{Hlk^SI3hM^ni(? zC44?8N)83c3q;=Uq;Uo>)0#mPcA5vYL0g;%H3Um2_%nTi;vk62_khIZ$0Li568uFN zkjB8g|6J3FfDH?iT?*^vO8$#!%V6)HC&7og`s6J`U04a^mm+*n(1gun}QTA@gX1NWx%rb6BbhM6E! zB_z&)zS)Es2tIRbsM2O|6R>$5S_5rBvME+{gxMT`4rKzM8d7}Pz@K2I0CciGHPgu( zg(`vD1Q(az1w(0phbKAMLKOhE2u*_qyrT>Q?*UBS! zGSQ4XCJYnj;nKL{PQHACuDnMmRH*1h81Fx+{p;1|wFJr>#l0ySPz@tD{(xVcMZV0D zKT2cY{nu~1>g-it+x#=594(+YbkjmpatzH&vUbgKRnWXHEx(}cEKSMfz`+-{xZ~6k zt}ficKw_AteDVrT{aqT%?oDHYN^)l1D4U)VjY5BCESW*s!_J0@{hO+EqI4gs0pD>v z+(FhRY2Q4(5fXtXKS&f{80CQpGvNp&nNeQ+#QkY3yK;;+X>?>ZQeM>z9&1!2F=sRZ zkDl6k-}BB{y^+*sKGsJtpZu+8J~{rjSj@zkK=LAHOELL;@!I&^mNZP9L%z(u zGimJO>%Y+K~@;=EX2R4_v4;(_hAvhsG~dwty8wyxf8QI7K| z4s+nZhQ3{NAHfJD!!Bx7>p zOSko7dK!s6g@Y0}FkvFlFeJlsblR9EITr==Sv7=;5xC^SVEpi+Yy_ApFS027CCH0# zs>`sEIc_m^X}(??2!$<@~+>q*%BbKPTo(+XM+&|JZXgjPY>{r|jY$9ycDaM_z_0R@-jVcoJ$f@D2VWNvb!XYX`} z(Pnr%8Z3E>;qR@P%)OObQSKkRm3IG~yJ_qc&s9UVk8F)%>~>IYpG98M6RHo(9s0+n zC{&LoNgrm1ne^D%K61xuOWV|bFhAm|)uuRC-Pa^3U~n|me9#V#2e-F-PZXd3y^Vs! zsh}~He@$XPVPjN*Li^Ia|I*&$(I8x?YmCOehLvD$rl||{)fG*W##F@!?Yp`kKiti+ zHpy?}eNxeyW*k4#^2i%U6^L=uu4lLLxr75=yDk}eV@8&PN@U3=5G&}r%vnlE_fH$DImfk(yJ>^6nc!WRT(rko#3GYE{3u=hi zLAgPv0D+VLd?VZvCIgGZOwSD<>J z_uyp+o=p?{(nB%mlY?=ir2>TI-63~=`B0))jtsatWl}KQ>_JTt_*0G4+;Zhx~Q&MCG~x8|XE=(mlPV989{Cr@wLk z)@$N7YX*~PAGrjpeIy=0(vx^oVC%xgT0X;|)&d-VvQ?IeL>Vhs?+hj<91@ur-Q9?z zcGnq#2EP$goyGfiB3Q!^Rq!Vw3PDHQT->g zzZMXW$roBN8kD5dOtH|9bFefsC~JesXXF)qlTVX=wPK<< z#c5^8aZAxnWg(!eMyN19AhrJup@aRNy1c-yMEwx>62{0zjZLrc!IDM5B481)2v`Ix z0u}*_fJML}U=iqmz=!VW5ILx*Hgf^`aYr8ntmvn^L0Ri7p99zSmAvc3Dw%@u&`))| z?XnoOcQsQ#oXA@II4m&zfo~hOn;VF9vpjo4od1Z+5u*@G5{yPh6{UhW`RqUC9t9s} z7Y^<9XZhm~5`rSo$%S0JC_C$DC-^S?8jaSJaJ@ENZZ3{ZJe{Rk85)xg0MHO9{^rue z2Htfj2DzEmj}Q+oyu=sC8G@(8p}=+iBeO-IW9M`6!pG-_g~GRVNp9i8(q6mo0OaD> zWIpQ+6rg^r)2ho0R^zHTBeJn4bGZx>R`pl9Um>aF6=m=Nr*hiA&i%(0%sVd8=p3z4 zKHKQwK@(+re`zuv2W8CV&3O6rr^#Z6zcG{)<;Pc0Ve_Dh_XwL6R8coQ>uu~6c{tI= z=HylzVHP5Ha+y{XzF#jVDY%ku%ED#}8^NnnC=Efy!25)sy$|~?3qg}P zZG`0^Dg`%4dWW|zy&;Kb%+4-m8gueorsg7J z{%hAxO7YF$u9%5paz2+I9ijvABzoP(R>(GV<2j9y>s}?e=>$JSw&lJqVaz3AOcn=_ zqoGH}ui+i>gRt#LL5TNn+efxbFl^b_TZU+1*J3I*j;7-&oC`sFUz?8`dV1Z(I;DGt zlzN$H)79kS*oo}tKO`3vm10_qQ1B+6Q!da84x_JO?=q!uwv^v?z+1S!z_;t~!ArQs zpi(~LF~S#P9UrUMZZJ>oxL=s}33GHr#;XkIJVY_72aVs8iz6lOGth_Vn~Mn7E_3mu z$>>D({Rex%12El>=ohHGwy)ncd74ddDxdi=+*J5yU)>E-m@X{J%{Cjzt(BKB0w-4U za$exU1^ua@$LLC`Nbp6V@Bf*6ya@2)d}Shu{$qmPV5kaH(p zg}Y73gflYU!OYt_#0@bDFJ>!@!T2}UK^UeE(NXxIO|aSo6=bu-oc*!Ws)7@hA0++Cy76k6Ej0J)=kzU-6#)E_ti%~I=1zdJAV3= zF*CTl`^w4U(FosEKF|Bci305_Y(&L|A_Vdpp9&s<@yAf`pQ$KSWh$rr4jvv|^t?J| zLYRs&K*hve0jM|&bd&k@rw%RzhCfxDi&8sKV{@z^00N)K_3&gjT7WugT&S$%=89gK z3wzR{bf>w2VGUaZECLn*i-1MIB481)2v`Ix0u}*_fJML}U=hd)0qW3rqf}U5El9Sb6~)!M`{Dkux)lr=sY}ysL$cgTXE_jETRu#i9kdVsGQmQi%b?b z>|00CY#^UsO~&QQmonS0o!FGkyDT+HtiCY0_$|6((B2Pc<44%fsK}aO6dH@dPx6si ziXw78`%b0~2$Y?n@q{YR-H4w9=KGAy)P>H*_T;c$iIx-Kx7C3Pem!bSkO-W@d;qol zbZ5K<94mo@?nopumgMru#b4NuFqba{7qhpIK6IW0zDwsWlpNpl=^d`dBzsS+MTHqP@okknte0n0(J5a_KG){qV9pxm>;3Tf?me zA0j&x+}m9iL(|Usd*e|-oWtOzzwm#UJBuS1qKKT&muzM3fJ@UnN)KutErG!s(Ia$g z=3eYza59HGopTWnO{dSDzp(wy@aaiQcJMG;@v(E++GA_ZMHoH($@8Cye>Pi7vUjA7 z#l5PHaL6M4$OOAV#57DL4%zrF*^lM3KY4sZ$?*GQWSCw2%qn`1%F0rMo$a@t{^UIu z?z;G7%rr#j7qECVV*d;OqcJ>;kla1f6e_!CG6;>)`9b8;V;=rom{51DJ!Uf4WTPhr zn_s)!L^~nN>JgHIMWFrXi{M2LgTft(z2}h~A_gj6!u*$~6n`<9l=ty9hi;H!%~P0G ze3#m);*m^bC$!kIvmscb?=Z6y`+%F`evglmnsXl*u8*%MY$v zp@eolT@IZ4>Wqw{*skPF4gSDILokt?0d9J!}c?117>Gfd|ZGCqx|P=bXQ z9iF^r29eU>bt-|*Hr3X+1*!GD{LBOZ3ZEOJd)1QRgB zlBI~5oXWCz0`z&=8S?sN(xQO)49V}>~vGR67AWocM&6lY1Ls}fo~ z8sQon*8CXXMqh$-D2x3;)xfL0d{G2j9hib(SNh`&9C`BSb7Oz<^|!z0mF<}KjXl4N zs0`dlW1>_`qt&Ml!|-&3M>F$2MBPy>3LX#rFMXCZZE`g)TU7%LTOoGZM71hsA{qPi zkj%t4F5R(S##Zns7n2@~Nun`VD<-32ojjO5A03|6T_-hIVPtsrd&zn4BfX?bm&V+3 zT~_w63ArJWi9;>X6{R66*T5k)bn{$vQMaPNN)9TbGkn%mlrKzG-V%8PA| zss(BV&nrL3CJWYHj%*DLhh)afQ9zoyL0E8+Tti4VrwFb{E5GyJ_&zW^AN(rvUR5|S zgGXCZ)%!&duE=0E84`h*BGAO}+Y5>*vEZP{6#tcU#$2mAQGAzxV_B@q=3-0^T zX;#k)a^DYYRVBg15@t3;2418xapX0r)cRE7wFQh)B?WU}cp-)*B`pEt=-Se!jlm>8 zGMH?3$wm4bSdUug76OJ>TUbI`0>)#e8038>3qPDmg?kBLaLQnoeK4_vnPo&-vItlN zUTO$rw*FFy)?apD3IbedB?CwP>W-g!qV&rT|G_gIm<-%VVUwozm zlg3%AlQ{zR{f5jTe@Ph}f4UIv%0hTyov;X41S|p;0gHe|z#?D~un1TLECLn*i-1Mo z+Y$lqwHXzw@e8=pSgmg^#Hw~7=;Y7!=SGThIBEwIbu@NR$U!{y|Mg*1b&(cpww=i7 z6q#Y1-_QP!0PE7}eN_onk>Cr(UXr5156R&!pd6A1ZL&SS)kc_|h<83@XDx-L<4>kg z8k~x1%8J1d_>=f61i5!*=|)52O!lxcOE0V~i-1MIB481)2v`Ix0u}*_fJML}U=gqg zSOhEr|CkYY_}$r-Ug6zz8gWS|DM;{&10>|ua3}<2_j@NJcyTZ>G01ork~lR?oQ3jS zP6t=BGh3e^bj+-&7DxpTuyRohIw>>v17H9E(O_3LgmMg2?#{=!U`P~EdCAxhPx&~L zu$tBT>c%AZAWVXkJ_q5MmS%N0|3fK57o@qF=$H7>b>Mp_Od2DvC~MnC7qnBE9Asq0 z7y5qU;HUa8J_d=A!+$UmK{jaaLAi4 z<`ifEa;lA!S&CGa#&)+g`ty7@}r@OJ(M z2e&Bmg+m^n>J=7+8lf4K9%a`b%GKY<6~5<_63dwW$Z*Ksv3@vjVh2Hv)Tdz_*nx%y z0aL(7Loz+eUjkKXX&8pP%~KJT?&vmA5BdyWE#KJFw3ENfx3X};f|uBpptkqWA{SsWxf^>ARakdWuf23a><48(*kam5Vd$wAeq<%&Vl_@yh!PzJmp zlG+S@ZCx{!O2}ww-UnQzJg9W*<^vdp_?zxoXIwc{i5?sBa3*QfSd|00+uV&wH7>R5w_8y3S|DEwiP$ z+IN&cKLT+4=kbVJl=^WvY%c@sKfX9W`ZWag+|KFQZq23ObI%kNXSTH%^5Rb`d@RByH1{a`coHQi}s>Q&(BTK zfx#B*rIj1wakP%dR?c_`6~U+I!QYDb-Og$6h!}3Qkc7l@ao|14ZpG8HWC*U4oY^AZ zb=xIE{J_bPyJR`_hr1}m(OjG~lK=q7n1hJa4B~Sm z8CjMz{v13OQFyoW#BK_W@i8=x=6J3{7!9RQk}y`sL^H-?4;gtb$7Ibvj)AO$*MJ`q_H)&=}1|(V_9GY7T(_!^>r{NRGaSktP zhE~*8u*a~&J#wF_hz@cGx}`TGPg99j9k+y$h!bq=8?O1r+-Jta@NC35DwK?kjJ%~$ zc_<-YNzT_pUn+2)AuLmZ5fGR~-GJ60&4}DGUme`x+B79y17GMS1DSRwx_l3Ed{@0x3R; z8o3Hx2EbTDAHoqeqNwT))s6B`pC$5Ox_svxOx}(FHW|>!8afe{(Ct)$Fbl#MP-J1J zqm3)*cZn)rAi4r-Ze^2w!iDhf1`?)fay0y?=V;%+$lo{N;Ck-_)7XQyDl}a?ma?42%j-})?)v!DYaP9pYJ@E;8%Hyts++Yij zlJ6VaSP58iKMWuF;bB=%<{R++1N&ZRUe?H&b^nB3FC~=^kK90~q!gGNkxBJo@vaY3 zvrkW=w$80cdczpz9_D^dUh{kVm|2nH^K>wrPac*FCSQkE(4Q{}qASnhvIyzY4QIE6 zEBGRvmE^A9I9vx>bB8a0rG-wMYY`1m;J)VH2L<%xa4W)+BB=fof%j?E~_^f{Uv3-{){-;wL#5 z8^(E6T~qnvAv4U=_nh87w{;g*YtP?t>l3AY58wApD>F>{VcvX`V@TEs+vXGWsM08D z$=*j25yN7?=kz!3-@5DKkAF`q46$Tbw!6&tLm%ogL09S`(%u5YotMOwaDzv&-XIX# zkIOVC1h(`yTrb4rMtJh>i$urNI&*HLbCKGH#Di27p(RIRaD;~l)+r1ebn>f_r@ftJ zcgeVp=;BM96#mG;1c(>#17{)Vl9lY-P(VV!Tzy!mXp^Fw zafLte7&$*#p~BTrYZmhRp0C3C9l)F+Tb%P8Rq%2p& z;v&hRyp7b0>m#4+B~_eexAvm@3#ELC(RrD?TZJgo$C0SEN~35k^Um}HAaW|$0#OXQ z^s+4c*u;ucKqCT^$iBq)PaPEB$31w2jXRqzhl@d(?B_>mgMfF=kqmtFBTC?=f_mWw zWxO**E0v=39+-LmST@%sAnfqKoGFk26cX43^hK=a-n1aRNg#7;Hg4={<;bUZRq0>B z+u-(qZbR3DWtSXxYnHZvO$AT8MDOrSO#hbp&VjF3mgJSWc7PZm&2XSNRN2bb7d)vj z66j9HLnd4MyIGt1;%*v)h*z#6K?~$=VB@}^F_$*I&02|O2|MZTuL)XS8-$qw`?Q&lZHOYX+fHEQB=nxgURZ&J?uEI;KIfkr-(g%<&~5PHr$VGuS+ zWk(Xtj|pYQuUPW% zhPWiB^fJ?_^lPa9^ix~?=h0OTV_S6c`LB%O%M#~d`oKTD_FEr2^~G;}IeZPLtE`5h zT)uV~x$czbfjw&MdAbzu%Rxi1)=h7%esbly_dFWDhQp##x&zwN>kgp(T% zZoAQnOqOnRuvNLIL*$^MMBvFCmR;h7m_ga%xcSi?i_+F&4 zVDV^#=|26w2c{y1LeVJ85y&1hKX|AGhry~2kP8U~HPgK^pFjD3)r}A60J|h<^m(|& ztLWU15j_4y5pk#xbfnUa8{O6qpHw1y<^`II zheV)Ib%70#3e3_aY8NLUpEbPbci)HgH#f`*qlt1rK zS=>8D4$W}4>e1p-RxYGKWHN*KWaTLCBU~(5lJZx_9EJT`oQVG(DKn?w16`$n2MN#liHpwsf%3a3&_A0tTW#~pHQ-?p(DRzKyr3?64Q1Rza$38v4GIz}C z>X!r_hxFL7V?hQJslPUc9z{T znd0#aH~yC^7T)yAs~&D;hFQoi^0s(1f~6Wi3@007cMoCGt0O6iXnwQ}H`6hLV7P$} zQ;7aFZ8?&~#h}Lbk;P!0nr_L?RS@wf44E{Ti`dXlXLYy$hrMqerW2;vZ7s-9TEV;P zyH&Eb84O40|3H8Fb|^72_Hc7`C0%c9D04E+M@mF95Z=1~BFJUK#N*V@pD70d~4N24XG;!_XBAUA6~!eUGGC4%ebmgg}# z8CTQLi`LVT`BvF5C466%jRw$cM583f(0Imp`1rM#rs4t&*(Ay@cqohY?0WHPU_(5x zuTX9%+<70Y(XkKzX}yUu6H zxwQp!8@R=|o?0e##i1;Xcd&IN)At*6Pl5JQ#?BZXeK=)zqIQU?jtm=72T!w!I{suf zc9K@^paVtt{#eqbn0GQBub)(5s z8IM0yRLGEte+VX$=X?%7uAG|}Cr^Lq+}4-2|M#43b1miGS85SuDhTnoxhQy?{FOl$ zzo$DVZob8!L;RM`zz9$8t;D;NTPW6ynHH5?1n%3qG3)H2%!O-P{FZcag)mG{m8vDv z0SJQs-c2UE;i2 zXLDumc?==t!54>+X{Rh(p@ihhPARgD`|e)MMU}pnw5@4YNVE#A#3Eo3un1TLECLn* zi-1MIB481)2v`Ix0u}*_fJI;^2pqaoXWKe!)z+G7D=msp?CyyE?cGjlmv;5Osp^zf zZ*hA4WeEB9<_%qPolcnFsu0)ARLdB<7cgZd@0iipdpkz|@WHy!7J)rk z?+f zMZh9p5wHkY1S|p;0gHe|z#?D~un2UEz(*g9QY4?VB3Y`lfL7zYpq8wLiFFi9^h7E% zc$W3?5QiU+LO?&wH6~|iZuG^-ayRq74Z1SQL87EOMnU2`p_0ckts_H5N3bN+09P0~ z+RgXZCrBB`lQV$vwFTqSOswFCO8U1uSvt-?;>iqjq-F$%n2H0;p6!U$G$acOK$rg5Ae_K&gL8pVM1cbu z455&Q5GB9`%4ay3g^obQA-Zw=7@vTKqt8V+9FNCiJ$e(Cdo%1UW(*u?EP^Fm&^ZCd zL#a2J(IoUyddhJnP0zn3yN;?C5U>DV z3|%28ctihgC@waW3K?AeCP^IChKZHIC=rtB@dqIHz!pGjdpFK6NB@W5Y_Up!g(w}&9-x=vAwiRU4%J6+7cuMje zgv16jE;x7EC{L=V(eKXqG%=xya)WW6hi@R~Vvidi{_2jOdZP5p5C6e4y)(|={N>#} zS~t!Q@aTNiWY!lRmqmE=#!MFokCX2V@#q!fN#C8Dd^GTDeK4y5x}IXt$-f@-VXizTsg9uPFxyuYQY4(QHj=0jkM@35NUM_6rg6a$vf_Ug)l3Uzuu^_@Xz`O;T5 zyWlkodJESFoGlq*m`Wt0Y)j1E8HIX1t6mc}r91pzngqiO>KdbvKLZq24YsyPbePYD zphHg$$&Gq}Wn=-2mWDfW0gFOZ6@&cZ(8Mp-eQ{Nt@0pvbH;*bZM95!=GLzD9Dy|>$ zI;_69d&rek401j&SU>93BJ3hWS(>g@7(*PG4jfX^`h({$|M~_$_ZETnYN? z3OO9D=R4?{82?4pGB|;H1(e0dVyM?n-H3bX*MwD(4@d!h8xTx7Ah-_5dQ3N z-AJALVU=37N5ws)SDl3Nyf_E$e$rzSB_Z5qW5!gz0aeC6xCrAw8{qiN`c<1l~2jT6buT2(2UzzF0`tBOYG zn?-3alc!=Qvt$nJIpdwW@GmdENc1nyJ$+&O?;EEQvvj4=*5o~n;fzAh{lwP~{Rr^* z64B{%=Ub*$GxDO1nc$;sgaZ?)opSQfcDxNI9C+aIzbJIch2eR^1Fg!e8;(Fk+F|#U-)yYxK zxa1|`2IEkVxg0s76E?aN^?S{E#=T3-KqKO#bJQkWR2q$v>$;br61b9QQYEM0gWzfb z72aG&mrEQ9LH?_>8;yAE=vk~5Gf-7Ks_XKS%c!8_{ML(N1aOv0IM}|dLO9J#2uI~j zJ)pn0ApQBkr;p4a(!t-*5aXM>bIjz}>h`G8U^n{(ng6Y;_@BABHK zS4C2jvJR?)X#o*O7JzZTu#*#Yr`v1bYAcS3rh7syhEC6}3K>d7c#corxHOr&4*?&a zJf*+66vyYuoP2qUbrDJ&sTp%j&QbXEup_`QA zIIbOQL?cRqVMqiYJr)mW8W(x?M@K%^A-!wj!k%Czp}DDf6qyUe6M?=!#lUuBg$V8^ zfCCqpi#(5*dao@QASBUIs7iSEmc)Y5Wns>A>>bSxgr#S(W<{jHWz`bQ3riOIUf`Kq z17e6f2@g>MJkwr>H^R7qsCrXXmp{H%JtTC;>0i&q=Z1yZL|P4Kd177%3UJtWyt5O! z@;}QuD8r_~gBeW~kCwsk#hwrXMf8^y;sSt#4_QdS!G%`bbaW5lt<#D^)!8tgnDR-H zFt@G^=oNyFn)&qxU%0-{u>=Kbpzy9M01Ytk&k~JF9;`Tu8;C@qeSr@Ygx6l6r(nGR zyMQ(WT67nyQHF>jlDO;6xwPfb=$tptk^<1aziI1)al9fCDY$r=k@UUH1XaN0ZlOSe z)J%ybv%mr{9Ao7vY#;Qf3NcAOaJ%wk1$#VZFL!h}JV2tj!@;=>go{CY|7UwYgo0eV z4+a+*q{7K??gJK3dPpP%x~EhKNc_>JPnSwA}Vku6pi|I9n^^lPsD~LZ(&1RrBuG!c| zTdVl!P0;yiW^7K8*yqzL#>Nx{h;nba6H)lxqY?jVRt}(i6P7YLl^d)OUicwL2KQ-O zBWR1<;^->QaB~`f&;v2pS|z{3f%Tni2g^W2;?m;g0j5TN^>rv6F886?>pW*c-n=|s zopew#Nj@!-!!H&es?L|8L(rLLWxz$R8+Z7VIk**1K?B_oH#x?cho;We7@q{!xEwA7 zeQ^gbTwF1fqDB+Jh-v@2!K`rU18?3L_xR56#ziVgNk^_JUq`A2@VpU8D@f%BBlBRY zv`;u#$H%P|Q4tKn^cdbGxjA3ZW&UDdsNgRIB(F4tEa0hJ)TjlM|T)gT6KJ9*iYXOm62= zFW+}?Lw7~QpkEBBnVCiux)l}0qZgI}FPZYzA;YX0CQ``xT)DXi2lVG{?ml<^>edh5 z#9zK~zNs69Am^jcBuwm4^lG}44p1|b(8-fM(f;|ivrGE(HU^J+PhgV7U%sg`FDX2J z@w++~-NeSXNF9vZM4Z&E@6VN?P=sghI|K%7I7SN&uEJ0cq!JmiLJ{Z$4;Ist9!A!C zKM|&MTZ^MLrHRMa>A_55UdZ$$dnb*&fX72ubmf$2(B|?Ps$Xeo1XV6F1LrLnL3q@P zb8#R}7c&jo*$2F*da&s#lL$lCFtsB>rsY(xew%If(@c9hKW* zJ%b|^gB8KoEx-Li}< z=cD^0sU3*x_CGUqUDpyksG$=0gzn-#- z>L}o4&iNlNNjpB(MNyH%5u;GxNM?G26(WUpvn8Yfio~)a1ud7jXy&goqAKJS1qD!wyR-Jkj>ySCp2}d0<+I zXdZvXq^XC}`6Y1m0RsxmAB9pVGbDOSQ8A;}wZX8?agMs4F$04Q4g85ENEWJUl+aL+ zl!FB&|7&R-<2GO8md>!;#>@g3%#=!!n!$l}1pXj7;i6WABv<4ll(}W`Kz2*(MUlli zAF7WJIyttCvaF+7&@$f}1XNj44sh|ocxAqwggT0zg^uLe=w}&$V3k~sl0-M5x*)_g zq_Fh6DLs=>E$@%1+=^PpFcp->cbqS5a#-mr3}K(l{p88poANGDaO#iKIODz_V~Xlo z^d0wLlyT+v2CC$bD9jb#qG&HOXKztjhgjz)4g@rF_U1L0qbOLS&DyW|qa}5Hm2CxL ztT2m{tz~!L)+%cw;SUWuB?n_{X6~8i$})-HM7mWPW)FJRSm!BPR>9fk<&hwr2^nU9jIdazrc3yjuH zVhM8FKD~YJ{8!^|XG8My-w(-M=i>E-9!zGHr2H2>SgKDNN9!iB1i5X$^`ge(T%7ZB zKe7GE^I!Xx!9&F2A~F+8J$MyY_*MqF>CpxEnssuS)#Fvg4?EF9OkJTc+-R!tST*o! z74vzUG|XCyG9;d$EiU%7&?_>9L7>qQ^BbFuvepoam9-sfznLENK>@F4DEAp6Na({cPWu5f3XI z)gT+=fjyJIsZThlh~Y6vOafeSp718V5_nL&lYwxe}cxx35`pufl$RgdXCa6%T<-HGM45Vb88V zHKISJZ+eW9c3i*q5)~op3nulr6d|EwT))Qsr$WGyvwTFoVl*PyAgYtBvw3s-pWDp? z{oQz>wY*3-LLnTS%rq&kwivJGG)>DqmQNch^qqb4P5DEYbu8)6G5sWO7hEwn%WF&8#Id%7+p{0hZ0e- zSluHOJ|yM@BjrgjeiErNOUKO1RbZF#S9mJV57Wg8(2}}-sE8S+xdG%oIaEAQsdye5 zw;}#fXl9B|d!9<~A&)7Ts(v*bPMI){zBFvrU#Q=D2#rj5fm}6lW9C%s;{l8oQxY!k zqE^LVyX8^~vsSAVuX(UKrenQ?3ic?H{+PlUIIM4tV9ACF~vO}d}^4!z5NM#@#ITk z*(C-cxHV>nz`Xql5#b?*ko^#{92r8M$t>g7UIJC*WtZ6HJ!>($D-+!wM8wonM3SZ` z#Trhi7U_h+VxA6nu@n+6N|vxTTVIPb#fqX@eiRyTeEA_Y;Esxu_C6f9OY6^BqLF8 z=TUw-?w(Sln&^~kWnWWlT%ed~QfLf@T1$~MPBob<5aZ^kNGHWPMX^%k(u2yrJ53^2 zg^A+|7c*^gU2Y?56yX_1HcDO^q4C>8Kij*n8-&s-D%yPyh6zy%qzr?o8J4jQ>IJ?C zwBRbq5_0iDAzW<*hL>H6PW#XA=Ano>3$YQZZYnU`Da}0~4I|EwK$u7E+Qbs`;G5wzVpRt~}%=nPZsj>f!Ufz*Qo>7&ivyiAFyrGboSv2<^$v=aP zozaRXCYb0uS~S!7A&^kO{jQ6D7=D z7<&s@$5r?yii5Q&)QgSJ@d>gJYNbO(KODNNgNNZ&HCMBKi9Kq4>hS|d7kI9o-7=>L zl+(W#<&OJ+Ix~1^_y$3&w%I z#9tzn4!r~pm+HE`lcW3sOK?^a@%t~q*(GKa&4Iz&E(&kNM9lq5RAOasV`(jpqSAeW zJT-M@r|b(TKX7j+r}!low?tdeVMdSXF}h$0zBffBmN4V6M86SJ8c#@oA35~Yb)8HU zE$%;da!9}1LMYbqltRfQGyFq(V5DB63mLo`L!_0xWu>D+$s}Hu*`k*am9FaGth<6y z27kr`Tj&%Ryvf3^wD2wupp#@&D0%rqE-(I@C|4oXRdV6J4kmVrO1?m{lTNF=w^Ye| z%0Fg8{pS?sV?G-MyrMb9m`R%5mCrI&(i!*7VL2lAlaW2}aXAu9^W<}iY#Uz}Ns&OS z^p>h2_Y=<#Dkqbz6XsrbEs}&01wU149UScPwU@T9#&`m^o|g_ybh^I`?zNYf3?SqG zq=T!2d+nuzkzqu+xF_~TWwSrcvWjTUXQqPFJb>Q}$H5^rP3dlMYeVQXRyAjbT*Wj#})tQ-W-< zF5e-ix{&M=ocpr1Uub(i%IiC$85lcppav>QVWQ3DIKUIP7inI`|y#`{ZaPH8e} ztJ8j#u&n|8Gazj<=}qXhBum>`X!3^}(zfQ*5S>22-wEl024=Sln^x5#U=gqgXaoW^ z7$6S6w5BI^F0|Y^s+*XR)OVt8a<#e^0gHe|z#?D~un1TLECLn*i-1MIB481)2hl_Hr?ew;?qd-bo>Qi4O4S_1EJD(3qifB|?ZW(`L_Z{35=WBGOEZ(kF_NTC zGM4#zMQx5r85Sw^8r1f`p&@7jqK&M3QKCSt8A_d>U3TdnR-3{iU=gqgSOhEr76FTZ zMZh9p5wHkY1S|p;fq%3J)Mw-Rnp7#_$BvVfZWnE0swbH^$&W>WPP!se>i?|q=rrHf zXrlQ8zftTZD-l=Rv*^yXzUs%3*EbrgSGz`e@1aiDOr^@U3!h}F3_B>fAMOyjbClRQ zYCtianpvv})hgOi(lO`b|7OQ@eMWRN8|S@aCXr8F(^N_5 zw2Pg3pstwY+UX|acj5a?j@;`x$X#r;M#p%xMnPgO59`R*_(MC?k5uEuH&o|0gr&PtdpBe~x3(E@ zDzS@Bn}i3No^L}H(MGjfQA0VjYb>cnKJH{fb!(?lKTfWh)@#C&SONEL{r7IR5 z(`z#H6raK)`a^F#4B|&cMab%^H){euKHq)f{WKnTOe|hp`$IY?wSqsZE)z5wT@qLS z(kjRJ7%u+W!Yqw~cV=mfzVjKg5A!=7ghY*B{()QZt!xFJ9dYBUD0grKisY;lCx}TV z93fgQg^qamWbW*VPlqn==t!JRl2OS(otJeM&hz&bn`kWh!LyK2QGCoawP+pBupPng z)21i6o2o}7BPBj7{Dl;I4V@;6uAibw8AkPfS#Y5Oaz&WWYSLQ0ejwJHj&!&ZL?1); zwJ!y5B=kSkNv6^Yl^T@QZYhu5yqiWcUM2&(@eRsqH|=_S@`~1_8F5EsMux1Jz7SA- zrS3g(Fx`9FA*B?^H@q7S$wG&0J=G!7M&*vcO5{QKV*pXG!&!BR>pJSl*{+ieH9`F$ zu+HsbFdjVaqL(TfKh#?&5|KADVzNEEw`Ob4TC)gP1S|p;0gHe|z#?D~un1TLECSz7 z2nZC0{|xce(9Y9CGC74GCF$dQ@8x|Y9%#~d8ku(l?6iq4wis(Ckc%V1$Yh`ke(L%z zl!vS8h_?B+pWbLMjWb9+c@n1xnM=RkEXggbBFoY8R21%1TXw;vo<&M-YB{Ci(ACWP zokO!IqV6x;8P%!hFb=VDSQ)@>^zG%*Tl&soKpCi#jCL?6$t%vt7w1I(u#Qk8p(c5X zMfL84Lm)M)kDBl1a6omVJw#neW?fpLZb-iBZn%^R9>m9KfkOjv&5$fXBJ#(!XpRG# zSh8!cY*drSJzL38j{FJ=r2SWdXjExWxVRw+J}W*n5~ktnzXgO<>WbAjO{6jBI&1SAwE0far0mNkLE7NHXVYqCrgz_+^4W>2 z_8d%Q&_5R7_nP&1tWm$z7)%?QDqQ_=fA`;wh^to~OLgOOZzk+1t*qSCSYC(bWuqi* zX#ZnrHM7!lZ}t9E(k&ZlHy+?;-gz+JKxv0B4T*GM^pRFszLKx~?Dnsnzp#Drxm?^R zt>j|1gVC?ObNk#27fui8_p3V?Y8!RwQ*FgL3dcwV-iH2-_B39oG)n1p4xdf0n~mla zDN&hq(+wf;8ILx~72I!RZ{Ci4wYPM`OSOHP+sk&k_VN#Hl?6Fp-tNuAG1XhT;iWo# zdi|kO7ykC*Kcq3SefrNo*iJeAwfi)gBz5+0BtyCKBW%5fKYk>`I|}hA%LS_ghS4FR zk2t*7aE{`F_*z;+BU0e_nx_|r!WTbWcCFQX)oN&NZfWEzRXC%@1rD?&&mo#4vS zATXs7M#uALE99OxXQLe>RG&f}4e^Q8M8qV{6Lh>l_ZMy=Oi~|FKUknRpo_;G*L+5( z{stE}io}%<8wZ3TDO`2V$6b+;D4b`m*29M5Y)00ar8$M4M>$6w_W^h=!Fn``c^-+$ zRHA#y8Kav7aF}%j!cf7Vzf3{~bVJ$o(4xv)D77nr)4B>o;4YKrJG?Z5$pfs*Agv>r zBZ2?;3qQ9|$CcwiBUhVqVUDvEQZ!pdiTx?QV2VDzdeqbz4`rK?f^LU6kX&bgo4W#4 z>8PrE1E~cKltRqJBF9QnCC?!`28oOI!Wl~ZdB_$9I2e+G7E}2#bI$)5I9I|^e<9%c za=tgXlKn5?A_psQF9=p~R00P;1vGdbo+iY`5(Ur`(nGx_Uc&M=b`8 zPF~Qm{10PNkXS}>;X0u#`r|%ud=&3KYVRC+g-^WPLjHml7%>HWjZs|;b|p^xz_a@y z6NGzD{jQ36l89VX5QerI3F_zaQk~D4^9hADg;Xwl!OO-|A}EtXBl0LWg)%x=9;dlx zdP5(TBH_EM4yk3VQIt5Hx!6GvIIapxCd1~UNpcoZubRa~2O01pkdOewzrz0x?F=p} z!kPerJ|E_Lfd~`_`10z8?*jmg%}_mg(w93`H=B!J?G&&S5z_7u$%#Xn{^Ip4{;}+=i4UH31?bM za0gySDh$AG#xV8&d>wAja@;_r}1Eh_0gBK3=*`%x}H6dMK(NEDuQ! z@v4MJgBCh+ON%HU!TCFGeWJAQ;rpI3%-1iiPk?T}``o$nm_cm2B6IrO`LAw&y{>G$ zcfPredDzdKzvl7ZcuOcb)2!3BoJW49tvGvOCp_9t8iy{P{&`-!YA!40Pot^k@PWih zhX=arVo>0(3JgDe8ThW?CL`lJf?kn%&>@HwH4`L3qA4I65^gk!R1oN9#Aib)Vw%sD z>1IhzVcbrdR#MQqjRY$)q*r9Lj&K<&CUh3M^pF^0CYh=!!%!=s6H8*|U?aA%Jagtb zG>XQWzx~!wf}Y?vb=3CVki1x5%DfxR1pUWrwx87PrG$oa?i^B`y6~-w+uJ|Bb?tdD zZ64sa??$RNtqg_sHZm`HdxPBlJxdoKzb=jj9>4ba3+FCAxBc$zbA|zCAGomn_hE0L z7g>I`Ub52H(2;DP{*8~^^se9h${)Vv$3J`R@4o9dqW(0_77T2id*Ju~_~ON+(C|lp zx>c5s#O$9#b=7ylc{rh)fk!3dk1GjJZ*!q@GCXfU(KSiXM|ktN7h_~93z5i1zEduG%k7(!MPBg|apfCzvAldDts}PUs?lY2N$U=G; z!+Hw;bOdC~aIs^;Loq`^YnXDBU^l_@ghIG8nxl$90(lAM|E+68n92SnJ z{t^@j1fnRGb6DrVfsiD*3gxdZb9fFqqmbx0NKSk))XM#2TvEa~f{7fy!eQwoGd$1? z%Zi5<1ekOxrCA(gO^1cXArgjXsp|?Rs8=K;9;Vy*j6ZJ==fbm&m_#|Sg;ODD6;n90 zAS4DM{2q&ECQ>D?B}n3L%2SJogYO}UwfX9Z^6vA>wB&o!PM}<+9Ns=97jW5;0cOdN zlSePtE4X@Y6bqn?rthvG*E07_{(R0q|NOpvX}YU@m^n@#43`!9Hs@H%DBIa z%D;-sCuk00dJLCSqHd$PJ6wxA>A6aX08QXB%plH*g~I{X63SE~Wncxu@7N?JFMu3C zEpG-0DLgSEz4-sxdmkvdiu1tttLodWJIw%hMlBc#8ES?Bk7T?V0ZvF3hnmsA8!(&G z!g3a8o#TdJjD2`-z3(|^@j6B|O-mUFP8tGiL#hUsZke-Kx6v|Edq==kf8= zic+M6)rC0(O0ofpElUgfc*|7osVEaNPN5ekqgi0)IGxkU0QBN5N|MHdalIZVbM2C~ zgUAlZnGflxDet_H;^Q+@uUUwy;Ms?))aKLiwsE*q)R(6slV)%(yAs+Ofi#$;xg)k5 zNaT3*LVi&O9r7lRah93&0A-tuOyXxvJGiz_b+IP6OlF!?jloeTK2SK)j?^aZvej&Y z7*a|JM1`z!-z@v%GdnQObU=(=GB<$_(*(w!zEwnr%f7CYaQ=os8wGYPE=pS8j|Og=Ob- zBjcJd%&bk_@sc>QnyW!IROn-xf-kKMb42r=(vog)XDkmqO+C_#MrGyiY7>}CO6Yr~ zLwllziCRlq>MZxU692|XP~sW@)L~CsE=PZT&5JHo0;&{n@wld$Xr8)hT=JJt*^7Kw zeNh$J)5lHl(xk{bUEz(P)!S1zWQ;0QFA7NJ{hXh!*Tnj>*Gm6`hpD-oRe^KB6(RJH z+!^%|JC;hPYABF7aK&;6QE$QX>WS5j*N6ft;eTWbw5`R?_rloj#HPpe?%qwKk#Q{; z+AjJRB8clT_mLi9(e8Wokww2{*nsCvMN9I#%c!gDD4zZEkiz&vd41&gKz*-1ay(C; zLei8a$$qa-S#89n(}`VrRdz!g0x>FAfq06$ZeNh-HR8K=Y7a}2AGsl8s{Nie_hok| zV#-5h_~q8`$i?F`n@qJi7gCwlJ_}RL6V)->Oq#(ywBh_nnF#5K*;={ZPYj;phStjb zsSQ&uq%%n_wF*kM1B$4qrJ0O~HUKfV4LMyGbKCL`)@zfl>}8x!-&WtdjmTs7j@;z8 z&E3u3po~?UIsRx_T}k&kq#0$Q*S?lwNjo?=IrLfc##hjJT^leq>R2VBhuMc9E_Nu$ zfWBRTAh%$m4+SgR%hHur{WNp;1`x-4weop*=zmEPXlf0yQE=*Ljd#xsVG<6@5Lvy( zZiw<%r=S3ysgU|ckj7bOo%_>~v<8f6pFN&PD=ZZyF2v{q&m;~sJf1bm02+!EK@B0< z!hRxqHBW!D_Suz3HD8a>Q+n1us#rVKKqUtFo)(C@->FUcmnB(&v)&uW_#h z&^f$Ezw|$rEV3N40?}WZc|pk1b(~%{pN_Mx$IPGpo8RAlW#Px-U3o-o_nUf(+N5i43HhqM$-=|Qm zyh!N9sR(r~RSK=mQV3b1OFZi?TS{D2JW$K+^OqnVa^XGf29jazf&t6@;;{qXQRUrbVh~-^-QYP^Z?h?I89Y>I}H}`HDIk z5@w5d)%ktEe;@x-;+<$L)P-nM(^Fe$B&9Qf*Azc`RZBoA+9pt7rq#>yr#$6Avr^A} z;)Hw=3TvK@N;aczUDPSS&~eMoy&qSRV$WlBZ0i|Zj8h5%Piq1h6p;yA!MhcLGCOIjGZKSm$4WBNydEtpYbpipcB+vRg<>gh2G*!;6S4BI#i1>-P| zg&(-qbdtjAx*3Qy*W#*KlhEO&KS@59$uq%2j0%IwK4eVQQWUYSh$F*Zh^K?0+AW1b zp|M8kF0>e-lP;dI5UD%a@DY#Y_?--rre8Kqb27eDLRXn%?#NjjSz(hrzg{uPW!2Ra z1-$7<;MdknTexD6{1yTbJWfq}FUcSt9lXM3={Be%BoRac1p_7AxK-okm5lPBtg;m1D^w9s@S znwX9QF&LUR%k-+;G8#aKv!Or>T=h_IVZ5id<}i+rBvfy51kf-igG7TYg6UT~)h)&Q z6hYK1v4t2Pt)f>XN$a_|>QJ#GxQO?JZYN$*BiU6{8uF#%Tk^CUgGPAECbn>zGc^92 zJQO!WB3>H%bv-aP9WCZlS=#qLq-pIpb^G^o07tcQVBc#*yv7_wGuNv@=fy@^gW!Ec$9H_IZU`4D$l8e#}XUhlz{+b^-b%jsX`C zrbn}qi%B(rI?B76uKdXO9V|2jS{B+5=sH`_#c~<%<{p$ILTMkmr$<^Nwp$`c5I0nm zib&-N(&T~aBhj@4H<0mUduzN7Y7UXY@-_-+Qcl81rW5cKo{jDdgR+RjpsXIdDhV*s zlC^a|4Egj?G>{Gmav#%tiMS}a%HLxKX{d%gzZ@Kv32c$5C1UAtXwKuoLv+%ASyq+= z&_p@OO>z1X*qQ;&RfHS~(q&CV3x5upt$rET^1-8r!t5B&7KldVfdaEu2;R)IK{!W~ zckJqfio;vwUwk#FiyfMoY`ia`Yt%q3?xl&A2lpq6=lGbR4E=Xm!+?PP#fz5^HU`&n z6A|nj`d&SPXdCNUzx~=GWp%LzT?cLZ8D!RYPZ$rvOJPFBm&&EpCGy026Uag;7o}Tt z6jv-n^pRIJ?~<+a)kF5TlF!M-^J9l7Yne=REc3~&W|+w0%eIL8wANfE<96tr!%I_J zMVw4}#H9lzQSKt!8$xn$QK~?Dq1lEr_v}*IYT|*!izd>6R5XjiA*O_FQ3a48C$Xgr zP^vv1GcbQ;WF}MqampS_?~vC@Nt#1431x#%b{K~~c-x$<=Pon)BwiUK*gCxvqW9Hj zdZg92y+oOo2*Q_hrP}KtL)RjpwF)SfW;~R{&$P*DtS@A#K+v0Grh_O=wu6DitdF6X z8%piG>a0GEQGlfr%SOD}#(Di$T+eHj?31l7EL}i38P7{zky*_1nRAQys$wV0>;J0y zILT@Y^}_d`(@A*p)fVfDWtTqE>{0p%UU`I}A7>9KDCNt0gf(eTjK>*@=a$V;`;Uj- zvWt!f<3dc%qRc&t?}zGB&RN^~kRwNzEUEOxUxt*998FJfazoFH=_1P&3%7qWBHz?d zHd6k}H$Jr;WO1yr@YbC9nW4`vi+jyEK6~`$#U-W_OIJE_yPSYWmtFqi$PqmeqsM1J zG&rj*N3ZzV|8n$GJB}Rv!zKFIwdaao{@9_vf9AaRo;Z<}r#elN;i#v058Fy7b|gj; zW9kqj?nLg0NZP^}4Vf!?BDmt9mCgub`i8!56@2WFXh?z>r7VMPWD9Zif)=F*4SDa| z2)jtY!}C)DFJg;Ti~@sV(NJU=niEcusdJf5bD+a??+}CWZ5+O8|I#@q{$dlD;+mp+ z4YR7p2?(Z2oaGL9apuH`#PwRAqiV7thIV8;fF}IPd0u7kliJIRpnEil*W)M@WN=2s zNF^xNhe+?cP9fs5;efI|gLsOHBBeTKgq$XkCOX%LvQq7gGu&us-$_NiQL_|f%7ztn zF&B1f)S)>AuZCv302jG6#GETg;!BF1y)Ta_QbRN`G-yvvJsS2g^94(MP5~O9f%U{h zuRV|ja?V_Gl5a_MAgrh)vd37TPQaBUAz*oa1!!@>9ir3E&cYLMLISEhuLuCe=~XJn z!o`=t!k-k%AN-aU=dtl6Y(P2r=23COzPG&f+mq%I48~NvPxL-&92Ls5H`+> zTx!S7l#9dRsK>l|Y)1uv&X9NXLN2E|5bMy*CR3KFBeQEHho>=K!bYUnG zW3Cc8I+XOxZ&69R(qRcp^XR0GP#{2kni1oqO=j~e;4+;rZ0^f4GVjw1KfiT>C2&yreex)U{0FG=-v&dC*yPpBgA0X*@eejJ{enQywIjp$=w|$}_8H zr8F6Mo_MLq35NpNG!x?U(f0tbMDXbTzDBT-r6Om3%m-ONtR(@7w0&lF&8z3Q8WE7u z>&qyKsU<;)4l@*IoYj5m;41AeC&Scd;_Rk!A9h!xkG)jTi>Vm&LzN`2z5^LPfZ$1x z?8!({;|1$uia<$7ctveSv#RJoX1!i}wggNM_h{$RErZ%%7v(7D(V#CJx-mHY7?Ex-%AB@5E@g;1E0XQ| zhL@IpKc3@|3Y9esf5Ju)~M{42J#H0Au(rYB2jG8dR?o)FKg$21=ple@w+ zt-LK>0msUETpGs^=sz^Y&0pir9MD0#YC2YW2LgBj znKV2YsM9^>BFsy)&^@`5+N2$t^Jc_nT?sc2&{ovybmR2~?zDcX^E<>(*6JJRF_?86 ziP+*^v0XB5(=7)vg#BcnDOcM!jW zJM+8V@S34$)`ZE4QqFUVOnum*<-yE2LlMFoDV^^ZS=uefe)^bK7u5HVyYL2 z)$~jX%ApeX5Qe)sMZL6q7N=$c=u3c*hdtwSnru7@qsbl*Dw^x@EcHGS^HTp8flp8k zy@uQ3K=e#XfBi)%apWE;S;2!vKayQeya>egnYAzb!hqJo4UCKNrGH}j12m>z9H7ag zS{h~KQHlCqc?5;{J^CrIb+u*N$ZyPb<&rCQeeXc`$ikbTRK!i9jVpHTy`mdeWOjus z4k<<9{3Aze={MtQOMkKE1)Uoqj;DWa*T)ahXzWV%64NK20{!L{yB0qF)RC_o-4#=z znjFXx%!Tt7e)Vq_+Yh{S0Y{l*8`tN1>Bza{{-%*T?nfVIlEv<43wCm6 zukH5qQToz1YU#qR|9bbMPu$#FtTC$B7XZ)x+%8?SI<#xU2XwhcFMa!FM3(AfG0NPl z-=1m-7le2nSg80d7Iu??QLG(IU9S<1%m=h8&-r=Gti4}w?G?@am zvlw29(omxSrctR#@Myq1kot`C(@;b~5En6wphzaa#QI!AQ3XfnBu8RIk)1$GAb52I ze)OtMLy=|R!ZPOzaEy_%$sVJJN@sg4Yms=(vjKIQIEXZk_BFb=Vc$1q8anJ7bYVnH zS=$ros3HNEOB_H|p)`JE3@-@$Cn!j=cNF>asl%zHzz;6Hvq(WnF}}Ef;c+BNQRL_O zEmsNzq2rdvtM(!=Gw>n-E##1pSTND$rBx7fYbuKERkQ#DnVbMMam-C9heOTWPRou? zbeuzqMJtBYP5*##7&_rcD5f)FW}*&W@mIZQU{K(UP>!f&G-XA~4GbX8yX5F8H{*>* zJeNFuka6dj7PW(m(@vg54Z|tPW>8sQ0-f27QWg{@ck^7?n9)RY&3_ONU%*h%ti@0f zQHOf3e=IKqFh>XxnNi&H>-XIq4jYPcBhNsW2H<@rM3e)b> zq&VzG(n;*VufdN3!gcjxJntWw)*!B^^05GKLJJDopSD_@Y^>{xqt;;bJvJgyC%J^~u%!4xSH#Y+U8 z9uGkr(I5%+yvv0)evr9TpSYnLkg64iizOz{W_>TWN?Prp0r^SBy}@?1mL+yRD9ICr zt|w;l79-ZHM!YDXkyw1lU96J<8fz`240x&D=T(HX#(eDNE{)Pp=FNzsPBxHgIB}HQnM?*NA|KP%(4zco+kmuFCJ-6HX6cSf zS~Wal?-A76*pTrWNls@(Tlex)Dvj4??hHTGED$Y6TqrIU1GU6B3~xI-Xk+1kpW)Gt zjM;n7MrGOHB%K`}9!l8Qjwn0*3^SJ5%s#LAHWZuLdJ-O?MrvH>I7p`+Qv`UZ zmHk1>iV7FdRn)|0wN-r)>JDWF5}=?I5E&_d>a=fE50yfkpCdI`O-2xi;i5cp=UjWp zhIB|eqxm%x4ZL&kJ>=BdDy+7J&SCKEbdFhN0x6!hc16?!9&Hi^RXeFohX+O_bv)ga zjStyO%h>-nG97CK@dTM+s8W;Bp<)P4A7b-&^bRkAiYtd0xyT;e!+R-&D#2uYEj69| zd57i#9cF>*lWdv8Z#+x$E;IP428yIcS!^oRwVuSqG(e*5dPv6Ak4{>s3J*T6cM)#BRvk#wpYcf3S~N^fxxO);Ou{h`q1YA^AB2D+$AuK~Xw~sG21#m$h zG$>k#8Y(Xp?^FWMIadQnE(&Ij^pm09E`g}CYeoE+_d~pdt#|q&PLttRDwl0#Ly=`k z5Kz~1{wCQ|E$*a!$Rn<)ANov&K~RHgvl~5=Y=@@>PEsoyW1Q)DN`J`7Oo(mIl*=e_ zr&J-Tk2c~(9klxy>7^001}U^@ZX-nIh#BA2P(e$GcY|$hKKyvhPR@EVlgC|)MJU(% zIa^@N(b%kNur%)g)k;agb$11g1jVd33A*)d#pw&wWvf^E8Ub?UR21_zk%l7A3&^`$ z!gx9*<;38661>!1#iy|>-p<(gQTaH6Ts3O47Ehh}w?Q!)GExexJ5(vjp zmUzBk)E=T#{u@aG$fY2(QF>K2uNee+aLK?=&JB(~nGI&MCy`@Lq&3cG=)Av2 zO2q5QeJW>ufG6*Xdms)g8L;q%dmPfvxulhZk%qrW{o68Ff1OlXgbTiE?o6)sBjft` z-guJKUO2f+rpS<&E)RzF25r{HWxcGENI6YPfwSxn;gu+5kUyIHdURVOZ3Z4&eCbLy zs zZrq;?X6EXj-wj6t_Sw&|IrcT#HkqDE+sS410rTHZmez}*KS`iiO#(=)IF8+0D29tL zR0;ZEYRDLyye`hNQo0nUN|2eD9kKSE)zC;?daLyp{cgip_lp|v1TZ(kXk|VmJYYG5 zW>p)!tDhiBQ0-SakgcRYFvXL9c(0Lao#!!53v9lM*N0HM9K^pu3|_0--Fn&CDT0%o z_jsXaTNZZx&cmTQb!cHSd(VMK|N1%BQ5FSnxPI!Vhd%lukfn!H^5|daL~dWG7m@n$ zszRQByX)Z({l>SxcWB}8?cY0a@KZ;h$Bd?V_DDbVvmfuHF9JD*`gnn7TdZR*Q}MBw z9BDeC5L0f0)B=sZ7XLU!+E@9>kFir6s(jaRhoh{?qF8APc-X#jXa2f#(MrS~|QrLBAMkzAj zpePa($-S1wq&_bJUPS4nzFfZXs~?wdg>x4k-nGDo=UIQbL@N6FX~^N*k6y9;@OdY% zFI1Dmw?BKu_GcCj9q9{R{zQ)US6kLS%UZ%me{cKYPk;IgZ+`o4zh*m2nO8iqiz79M zZ~ycco{q~tEY`gF?eHA=@~6MhkLe{MFHs-gww^wU)fV(|c-O%+Ejf);9G6F=$FSY`C44W?+gs`Syux9jWY416zAg0J<~q;9Lm{{6*Wo$KFIQ7RJ&ENO>8I^q#8(;fntogta4uqwDZ2RlumE!A zf)i$d6&=^9yB@GCvZP*YQJ4Nkd;W!O!!ZP$E+=UK1;&FtG$*W<84M4)vBgNaI>%Gr z?}n@m=hu>bV-m)64sXD?ide^IJFH|49gm6(J(+43o{(i{Ts!>k#v=EN#+)G= z;`edwcjoNeu2D`{u60{7$t@qX7+f0kjqKX+N$r#Cz8>dDTL#J9z2xHTpZ*b|( zGPaO#nr25_c}S#P$O?bpC&KWZEICV~v_2BlFrU|KE(ISQ+K~4UuVHi0htl^dXs5>V zH_;ob%wHO|$(>U=${uD~CmZz|yUW}-r#cwmmmCr#`e;~r@?;GEAr9Dav-Uldq5;dk zI+P;N>n{%NlrD z121dfWevQnftNM#uSf%NT$Mh^_)LYij7r-6Sn>051EYvIiS;)fh8|TfNf$~MV6JrH zU`0c-rl$jDrW6$z=Xxv+uj5?B+3*8j*-5P%UAeKFq4Y_hH+Xq*-X{rlaG8D;N(JNCJijO^pN72Q?WeK-dwK zpmQL>IdtPZp>eTMsLt7*oFy+PcjNGX5-GmOVj!nI9z3cixL+#D0RQ)a@6YjlB3SP2 zHCJ&xxPyHyGv=|Zk2=W1{08_%nAA-W4pgg%29ka58Zl^)p*osyQ2kEkT2t9t8u!Ye z<;Ce_G%)Q|6Ao;guX$j_D6k`p{BaLE&hF0%^nH$}^u1m>GLU99>pVcl>XY&D-6$>j z(GU-RjCt!S7m*AFSImVXo#{QQ!qjojz6H&jQN0Eu&t1@ovoZbP2X4>$#fw89w<)KtPB7I+@DZ^ny84lbt^p%xR);Dc;dI6FkeC6sMN7~lpFxXk;(Y!E59`HF zjZr-s-U%#Ce((YQPMJ_vKkMTq>yuulCvfu(Y350lL!^ z&s7oo6*MUzVy4M^_XZni7_$vS7n($_isGXICPOy} zK7-^ltqRQ#4al#kws>i69gQ_ExJJ;{7BGp`#P-QFv+5DXrSxopuC`@;r_Aj*8?!m? z-w5+Ug-`t@W+coQ(?u=R{?33CkDAKNk@CnX2ATC=JzeoSPMZ*BXNp=TEv@g{TpIp3 zOwD`E8MiInpe;~pnn@GAaqA7`>S|S0RvI$}kCQAtg$s_F@Qa3YlxH>eY7PISOwkrH zcj|2Cab2QwUf40lXG=WaHqk~*%T1PzsZIc0k4a2_yJ$|7HU&jJDJyJlMk9Ia=RlL- zW$yD?rG{#>3AaD0oDs6G_OMm9S&_9vL0T%m85J5*akKjT5`CNK3zXUuTfi!BQt{${ zn396fc{a(TzCo5kkZUH|G`(qvRGW8YGCT|I2oZJ&&fq~okA z@VM)&8lVKR^$T@hqa^#Y3ORuy*;temEsarkmccT81bO7@0pbZ4qgC=O=rA@;1Tp+r zo7o{j6M0jwsf9Xp8^&6IDQ+%ei#9cXHc7p=cChTlI8{MeW@thy>=~p1_kP~d146@$`gVwq z@cGFxz$5m`O1qIGGRnJDDSa^idqGL4SH4eHB;8$5s!uKtb&gxcx0(*l*DNdW&n*k> zNo1g(o+EsKEAh+1@IJ{YRIB4-E-2?O4^>+p#j^NT)^T;^!(wG@gdy5>4Y~U-Zj^!7 zR5Q8zPku!PZ$0af+*4tp>Poh6lAcogIN*%`b_~=!}Om z`HVRzrGIx;Js+gZUYf~G!>=<*+I&*{bYA9%dy@09I$DzgTz1>WPUWGwZ%GgzvhiLi zB1|^tC6t?vJ34cZ;9ahTd5 zvG>T4Pnkkx6pAwCf#;p8g#l|KA6m@C!A9p#vgyy4Wtt6k6>%YYQD5|vbF-c|IvbFZ z+UrJtr?eQz=3I+}Rm29nwW^$%{&?#=@4lP8=j6!3)69@{<*kQQSdg3h_iO9^!UCSY zZG_zc{>$RzmQR|YFV24>_b|V{@Du;}wkx)OYT*xs?SWT3dhpi{eYqD%&i+^*U3Fye zkm}?Ae)GToq2?#v^QKRq9Etik)YHcy^wERc7xi&7dHtDhefP_J|MuC-&)@dGy-(y! z>?r>l`rwL>Tpv#z{NAC(i^t1P_M%#KySN=EeLOhHhQz1oNs%R2>2Nw)FV0cvi#v6S zjKJgL#%*m#`#jol)7jU0P0!~=uV$*%v4FGQ(Zg2R&h(-IH^u~C4;gA7OX+*{5uvf{ z!xqvrHNAXzK#+v94-!j3mje01*0pL_7rCr1`* zhi1po#4a|CPyf(&4m|a(@AjLPUXJ^=Im}LM>QwjPB|IC}N_{!5^<4OuAOGG5w}0__ z-+0f-k>&c3<@$If*X?xuRp0C@;1~pbJh5wUTI&9G^8fU`HXZDvtBrUnyuK7E$AK=B zUfoB5jxWGb9}h#xa7s^eLIu^DKO4AC8lS~?Bo!u9)tfj5tD}l_)KGw=%!!*fp7&k2M%_)7*)4)li^E&b$}MJhNAEhL3h8YdJUqRN$Z|V+{;h zM;uWfdSm@vO3^&#d;w%!)uP#t#!PNu8YM*-+KJ_Ie05Darj0BvEo4%fps%E=kclR5 zgozGFl+rZFV$g~q*+ilYP9i9~4C+J}{0>9Tw{pWI1+17P@#;0H9zOp19=I~qT8Ce? ze1^wb6TlM%=8@M$kyXZc<-6KGK51_*pzLJEKkgrLnYCJt8u-=?$aSiZ8ns9rNdQTl z>OhQ4;i~F9n&%facT+TRk&2N}P_fq^gt!)9)^?Lw#_mZuAgdi5OUm`83n3Zlq+FhW z%(j#Ibz*|dFs(ROC1Wm&TXChtbfVWx82Ex_&gldr4a-o1(>e0V^Y`A1LXc*ld3ueR zpkx?}PKO<2d!whL@>(#}auV(5ZS?f}yaRk+MkY|pZq(1USzo%eD>66DM5zmu2Xa)B zDFz-Sns$gtZ}Q{BtxxX25%^=4@wXFju`^tWlI@iNhV#~m>CpIe(ycR&nZZf?84S&a z0S$dxn#?*h=o^qVY=<9Tb31nbI@DExlE}SQzAl|0?lhUaGj%M(%*#~+G=gaeb?W$d zlFgx$;4VNnmRs6Gz}Yo^haZbuvPHs;7X=h(rD>}V%Klb*y**1R-Z4*IEBj7;RKKI* zO=G_heZrfiX-3h8DYDE}=8Xb%g}qu|JhfpBdI6eKK4@Uytml+Kgim6bpBq%p$qH0OPubY=*Y)CwKU2X<8c;I~7D)V|Ow? z&soR|+d;ylb0XUl-x;sUP?+_+&tm~w_bf5I2#77!iwJkpASw;*pLOLxv5qfI<<*1h zc%__$W|0K~myVEGg-!aF;k!7RGpCAUau`DN^;!qo_iaU40h-eFS3s&C#Blk^gtkej zpgkYSI(>9?kuu4d}NVrRk5gpB@zq=@}P6Y9P|j#)j#G6#3}AE z0B@VLw*V($Tw`&yrguXRw5s|r;2>~0f4>xrt8M8P z4dl+U0hJ{1>y`3YUzDgwKqr|)J8h60wCV^hL#ZNX7YCWXTKLLTGQCZGP6#3Rv5-6| zvX_knCNNuOqMJpuP>kjx~DtXt@6 z*ans45^V??G9l+fDaGcFYQiR&RDM`aX9^yKEiG-^0o@v4qmqQh?-dBI;Y#blxk35B zp_m)jE_x{ayzNQ-9#%3^Z|f%R1BpH?0<8@&y3gTKvRU#xs7axpCGrIQZ0kYlAb3s6 z42X0~oKhC-z!!1Ik_-P)7}1!Qy%DPfJ;wRf;i6s0J>jd5noa+r{05Qqi*hNu|_4^lBkgQIFH7 zlqx`X&xnL1d1twiQwR}I>ryaD{h-_dB^h6*?_@#&XZ^04YXC|@?I0Un2~->|A{DC$ z?VhJBw7D^dlAYf;rMm#&x&RKNSFRaeCQv#=06W0OReG_9*Z}g*A8WiKlG5xt7m=Q! z?-NOHOzYj@;m;Ae&_|$Tt_gUF_d6Vu2XpA3OL7})EC2m#PaosecbcO|7Ir;#iCk_D zE%I!NZ~8vZ>LI66A5P4nXBKW}k>%j`zPp&$V>6e?S9bmFB`z`fofuC2U-5-wxmL;j zoVU|h$Jl1s?Kpi()6q8*uN9~dHSi8IM^bApU0dn<_YkU#7hQ;P?DXDr-(AvpRhgh` z0^EzbCMQGoxa`tLG&5WH%`!>S*^)4srW76UEeCjvAC%5(w$$_zUe&0=24>jS1YExH z*9W^#-+bF8&j)$*=5q%hJw4v$#5CaL(vXFB1)Ac@&5L`+7=f6ud}*Khc0-hS9l zQBL}qgXediRu^aSkAAODUKe{Zedj77iH@z$=RbBFsYi&Z z^c+8UyP_>(gHAX(WvT|Lr8(#2PHe{SJkGSnP9eOcm*E85It=uZH5i@Ryf2ClgVNLk z82k{JZ78ZE6k_7%b-FzQTBSFue+uhzE8@{m_5yqlSqa-LCLGhnx%7c})r7YyNluO^ zE~g~CQs>pyZx?jPcvY{7Z%hhoQ7>&P(O=m6yjvMjLk=LWhj-=7o)&$Nwo0~k)&ZRh zeypDhE$1}&W8LTlL*z-PQC^-On@=nTrsf?PXM$L}xm{cFW|l5$rd?S#<2ASfN@nD< zsQE}NYpg6$M909B(aIB2)aCBgFnKh3{EH?ae@H5~S9!=~HwiQx4s=HIJUfOFAt5t# zAi#sVy>pSDd8KU9R_C->OrnLl?2&MX3px!8L%?Xd7Jryx3OEzzKM$tuZi|EQ? z49a*IrMfO-SB=AIx!=dQ_aA&nn?@sJWH^yvlD2Y=?P*g&&PqZ}O0beihrjW5i~`}^ zY%+eY3C%#IsTt)@($U=#TqQWE$1eGlyFRwY-MLVyMhfA_W$-P^4fN|%lDk*hG-TCh z=~g2qu!@^b?2P%COt)-6859uqq7GE&w|O_fJ65K=3Wyp4R?^KBXDacIY-l1&M$VE4 z=hD{QlnU8hg#|6JJKn*Ho}1n`EZc6tDS0@q#Zz1o<*MM+2_JZT z#rSC)5qsnYo;b>$7aszvEflFa7-MS^H32T-PcKJ1syfGrclE$UnN@@oG(zH8TUja; z9yEbU;fTT_v~$$l%c8iWxSP}5db8F0f~TY2nFP#{3KJyF5e^WEhw*y8F{7RlHV;UZroe_>v55i!pXC79B$kd7G%qLW58 z<}?x~qlpn%jY;QOavPvQGF&rdcmXQ}>6L;#D5(!I&Z&Oz>SytZ3h#5Q8bVu_OA=hN zPjoE?ATx*@z$#jl;|di$i%5xifvA8U0D>4#cAcA?O$PjrnsIY&i1FaP2L`WPO@6Z- z`&0M+L?EC`w4b6td_&hqY)u%U5Lf8(0z zD~HIY#xt{2d5h;?jtxIDdn{$u-2L+}={=Ho6@zKsA{V+i5}{A&_7s!TmzWwVWj1Kt z0H1X7c(}bvaZ6YfU8bMD-}*H(zHK0r6$y4K+$9&X_lYt>Ar~`ECCM7RWGa-A*uUic zASO7m#|huaYuvt6m9jsrZj(1^yhIyKj6H)tt0(c;aVH%3r)X zdX0LSI`1DNiq?IOtg1PzW#LKLrb6iZw#b}EJWDqV8FlR(UMEi;}TVx_o`!Yl4WDn za;9tyij2^O2*TW`loq|7hm7_2+sI!$Dy7+a*Qxi@x9ws-|M$KT_qa!jQYk9W9uc|yljq;? zU-N6%OW*q5lKJGbsHtlLX!i1xEd8@BeTtUmcw7a$ciJVKOz8efingQi{7awG3!-7` zHO4ueoHCGG(Ht&lOGvAQhCE?yN4L0Glncs|w`HHFSa!*SESlO*co9c~fnN7-sbyw1 zQu-|FRX`jGg~g>AO|+u@bs(=wIljuKd7ti`Z9KOWdUmQ(G@px{X8tjC*iU@vZ$BsU z?oU1SorNWBgL;(?zg6ptLR`N+df?y}znOm$y2MA351;X!p67qgk<~Y8J$c_Yo>P!@ z^Dv!2A9?Q4M?fEZ0{S~gat-w(D;>VM;c}Px?!uG*$I(ws_4T1&A{cHLo=e)4e&7{F zVy}R@0(gEQ9{7rmiP{BHZBYp*>cO_`jqEYjL78n}IbqiWHeZPC1hH``cfJ{vG9cEM zLFi@B1Zf!Y`avK-=b822C3Q(|m{*eH7sB4ZF2<43TU)LOx(PN35nU<6X+mAE6G5P< zS0@nICAwRYgbgnero1GROlm=v>|%N&)~lD!w<9x(p&50So+^8%%8ZB_O=3fTQ48v& zTF7*wpxdAi8gzTAd&CS*K~AP6ls+K%i4beF6^URy94ie>AxDT$)hTLbJvm6cOvJt! zG-f{4L&eSTQK_w2rvWcc#X6mYLnL_&(2tqb)%Q?A*j}%PZ}QI zahb+ama}eQAD-iKyMifd29A{nS0rh@BKkZLEr(gUr+MGpF+;&ao%3EC^XPb^Dpd;W zP)_VLBb)Rxs0tNSsD0DN`EfscV6J@}-pL^T8jw~Hp`T8r3bi0s8?4O9aLZf+f70|s zrBdk2I3lajgHM8tgjpnbqN!r=?2`~L4AQr!$ozOXc;o{S^)*8MlzhA6RtgE(NHZYz_J8a?rOCnwXGvGSYjwwVwU+h!a zH$6T}b}HU{M4StZk>l2XFVlxDQE!% zY&2KU2t`^xw?l_Yz&bxoCEsmeIMC@jxpGF7hyGGbQ5{{AP<|!cozUtsCj~rGG9$?*$;2?b$y0V+;)d5tY zXQ4=Q17A6iY@}swU}e_Kj*HwDV@AEV1X`2KrS_d}uhMw(q{oOC!|DEyiqc>rZh%HR zg3qlLGrfy*=A>8WwHV)v;GUlfM2Debtd2>P5Y}XOrh4yIpueON zbtw{3o-E#-NL$W3O)kKqpc%-4{LP>ivz^Kl95i42u(X|owF%N9Op4wEiQH4cr9k-- z{j`cAi4s;5$cSwrNIL0VW!$@1Dsq8R<9X^L7xE1ouZ19iPup5w_S!TkskS-9;+2{+ zf^}$)8R+{&uDXb(8J`G~x(mh$|DI;ZRXbKD{0th)9xgaIboI{39A9mPkbYGfiANfK zZJCY;7denyogHhnG+!2~X33~61A~+Vp9D~!dj%eBCS_leYtY$%9=#=E55ppG1|U*& zS}cfZUFcy^AcT}3k0{ZsVKBO-r=bGA5koHg;r zoLR)nIX@je*M!0Lm6~rNN^O!RKpXl9o;PFaYclfc=;UFRRdUv-sPWz|c^AwL`p?)v zug&a!GAMI;=fS(-EWnSr?83wd?;dpK0}Zp6T3zNky#g|7N2rGYDa=G<6^+3bQidsV z!BgAeeH5jfP9a-T&Ia82oT5!=e6G48!+ZxFj9O8+gZQA`C*$gJrPAz#Grtt$QNz#7 zw=y#|m2;bc?v?RohjKEqBl3{!RQZiPb}c%q3cNvWmbRo^3%pUM$X5g}+C((mnB9{T z=&!}bwSwj%W$Q>>x@X09#2eK|c%|3}HP?f?tD9mU4%P8L2Py6KHw_FaePD5eEQu

@tjg(3h;35 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­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 literal 0 HcmV?d00001 diff --git a/source/src/internal/internal_clock_generator.v b/source/src/internal/internal_clock_generator.v index cb602c1..9f10fab 100644 --- a/source/src/internal/internal_clock_generator.v +++ b/source/src/internal/internal_clock_generator.v @@ -45,7 +45,7 @@ module internal_clock_generator #( if (!rst_n) begin r1_contrl_mode <= 0; r2_en <= 1; - r3_setting_cnt <= (32'd1_000_000 - 32'd1); + r3_setting_cnt <= (SYS_CLOCK_FREQ / 100 - 1); end else begin if (reg_wr_sig) begin case (reg_wr_index) diff --git a/source/src/output/camera_sync_signal_output.v b/source/src/output/camera_sync_signal_output.v index 041fcce..9326f98 100644 --- a/source/src/output/camera_sync_signal_output.v +++ b/source/src/output/camera_sync_signal_output.v @@ -46,6 +46,7 @@ module camera_sync_signal_output #( .reg1 (reg1_pulse_mode_valid_len), .reg2 (reg2_timecode_snapshot0), .reg3 (reg3_timecode_snapshot1), + .reg4 (reg4_sub_frame_cnt), .reg_wr_sig(reg_wr_sig), .reg_index (reg_wr_index) ); diff --git a/source/src/output/ttl_output.v b/source/src/output/ttl_output.v index 8e3d7d0..bdf297b 100644 --- a/source/src/output/ttl_output.v +++ b/source/src/output/ttl_output.v @@ -149,15 +149,23 @@ module ttl_output #( .clk (clk), .rst_n (rst_n), .insignal (signal_in_choose), - .trigger_eage_type (reg6_pllout_trigger_edge_select[0]), + .trigger_eage_type (reg6_pllout_trigger_edge_select), .freq_detect_bias (reg9_freq_detect_bias), .freq_division (reg3_pllout_freq_division_ctrl), .freq_multiplication(reg4_pllout_freq_multiplication_ctrl), .polarity_ctrl (1'd0), .cfg_change (reg_wr_sig), - // .outsignal (signal_in_af_pll), - .output_trigger_sig (signal_in_af_pll_trigger_sig) + .outsignal (signal_in_af_pll) + // .output_trigger_sig (signal_in_af_pll_trigger_sig) ); + + zutils_edge_detecter cs_edge_detecter ( + .clk(clk), + .rst_n(rst_n), + .in_signal(signal_in_af_pll), + .in_signal_rising_edge(signal_in_af_pll_trigger_sig) +); + //!脉冲生成 zutils_pluse_generator _pluse_generator ( .clk (clk), @@ -168,7 +176,7 @@ module ttl_output #( .output_signal(signal_in_af_pll_raw) ); - assign signal_in_af_pll = signal_in_af_pll_raw ^ reg5_pllout_polarity_ctrl[0]; + assign signal_in_af_pll_af_pluse_gen = signal_in_af_pll_raw ^ reg5_pllout_polarity_ctrl[0]; //!100HZ测试信号发生器 // zutils_pwm_generator #( @@ -189,7 +197,7 @@ module ttl_output #( .chooseindex(reg1_signal_process_mode), .signal0 (1'b0), .signal1 (1'b1), - .signal2 (signal_in_af_pll), + .signal2 (signal_in_af_pll_af_pluse_gen), .signal3 (signal_in_af_forward_mode_polarity_ctrl), .signal4 (1'b0), .signal5 (1'b0), @@ -198,14 +206,13 @@ module ttl_output #( .signalout (ttloutput) ); - // - zutils_freq_detector_v2 in_freq_detector ( - .clk (clk), - .rst_n (rst_n), - .freq_detect_bias(reg9_freq_detect_bias), - .pluse_input (signal_in_choose), - .pluse_width_cnt (regE_sig_in_freq_detect) - ); + // zutils_freq_detector_v2 in_freq_detector ( + // .clk (clk), + // .rst_n (rst_n), + // .freq_detect_bias(reg9_freq_detect_bias), + // .pluse_input (signal_in_choose), + // .pluse_width_cnt (regE_sig_in_freq_detect) + // ); zutils_freq_detector_v2 output_freq_detector ( .clk (clk), diff --git a/source/src/sys/sys_clock.v b/source/src/sys/sys_clock.v index 595703a..c8b0ea2 100644 --- a/source/src/sys/sys_clock.v +++ b/source/src/sys/sys_clock.v @@ -46,6 +46,7 @@ module sys_clock #( .reg2 (reg2_freq_division_ctrl), .reg3 (reg3_freq_multiplication_ctrl), .reg4 (reg4_freq_detect_bias), + .reg5 (reg5_trigger_edge_select), .regE (regE_infreq_detect), .regF (regF_outfreq_detect), @@ -68,6 +69,7 @@ module sys_clock #( 2: reg2_freq_division_ctrl <= wr_data; 3: reg3_freq_multiplication_ctrl <= wr_data; 4: reg4_freq_detect_bias <= wr_data; + 5: reg5_trigger_edge_select <= wr_data; default: begin end endcase @@ -87,7 +89,7 @@ module sys_clock #( .clk (clk), .rst_n (rst_n), .insignal (signal_in_choose), - .trigger_eage_type (reg5_trigger_edge_select[0]), + .trigger_eage_type (reg5_trigger_edge_select), .freq_detect_bias (reg4_freq_detect_bias), .freq_division (reg2_freq_division_ctrl), .freq_multiplication(reg3_freq_multiplication_ctrl), diff --git a/source/src/sys_signal_delayer.v b/source/src/sys_signal_delayer.v index b0f9753..fc28794 100644 --- a/source/src/sys_signal_delayer.v +++ b/source/src/sys_signal_delayer.v @@ -43,50 +43,55 @@ module sys_signal_delayer #( integer m; always @(posedge clk or negedge rst_n) begin if (!rst_n) begin - r1_ctrl_reg_index <= 32'hffff_ffff; - r2_delay_cnt_ctrl <= 0; + r1_ctrl_reg_index <= 0; + r2_delay_cnt_ctrl <= delay_ctrl[r1_ctrl_reg_index][31:0]; for (m = 0; m <= SIG_BUS_WIDTH; m = m + 1) begin delay_ctrl[m] <= 0; end - delayer_rst_n_ctrl <= 1; end else begin - if (reg_wr_sig) begin - case (reg_wr_index) - 1: r1_ctrl_reg_index <= wr_data; - 2: begin - if (r1_ctrl_reg_index <= SIG_BUS_WIDTH) begin - r2_delay_cnt_ctrl[r1_ctrl_reg_index] <= wr_data; + + case (reg_wr_sig) + 0: begin + delayer_rst_n_ctrl <= 1; + // r2_delay_cnt_ctrl <= delay_ctrl[r1_ctrl_reg_index][31:0]; + end + 1: begin + delayer_rst_n_ctrl <= 0; + case (reg_wr_index) + 1: begin + if (wr_data <= SIG_BUS_WIDTH) begin + r1_ctrl_reg_index <= wr_data; + r2_delay_cnt_ctrl <= delay_ctrl[wr_data][31:0]; + end end - end - default: begin - end - endcase - delayer_rst_n_ctrl <= 0; - end else begin - delayer_rst_n_ctrl <= 1; - end + 2: begin + delay_ctrl[r1_ctrl_reg_index][31:0] <= wr_data; + r2_delay_cnt_ctrl <= wr_data; + end + endcase + end + endcase end end assign delayer_rst_n = delayer_rst_n_ctrl & rst_n; - // genvar i; - // generate - // for (i = 0; i <= SIG_BUS_WIDTH; i = i + 1) begin - // // zutils_sig_delayer_v2 sig_delayer_inst ( - // // .clk (clk), - // // .rst_n (delayer_rst_n), - // // .delay_cnt(delay_ctrl[i]), - // // .in (sig_in[i]), - // // .out (sig_out[i]) - // // ); - - // assign sig_out[i] = sig_in[i]; - // end - // endgenerate + genvar i; + generate + for (i = 0; i <= SIG_BUS_WIDTH; i = i + 1) begin + zutils_sig_delayer_v2 sig_delayer_inst ( + .clk (clk), + .rst_n (delayer_rst_n), + .delay_cnt(delay_ctrl[i]), + .in (sig_in[i]), + .out (sig_out[i]) + ); + // assign sig_out[i] = sig_in[i]; + end + endgenerate - assign sig_out = sig_in; + // assign sig_out = sig_in; endmodule diff --git a/source/src/top.v b/source/src/top.v index abe3fbd..f126ed1 100644 --- a/source/src/top.v +++ b/source/src/top.v @@ -280,8 +280,8 @@ module Top ( assign sys_sig_delay_in[3] = sync_ttl_in4; // assign sys_sig_delay_in[4] = timecode_headphone_in; // assign sys_sig_delay_in[5] = timecode_bnc_in; // - assign sys_sig_delay_in[6] = genlock_in_hsync; // assign sys_sig_delay_in[7] = genlock_in_vsync; // + assign sys_sig_delay_in[6] = genlock_in_hsync; // assign sys_sig_delay_in[8] = genlock_in_fsync; // assign sys_sig_delay_in[9] = before_delay__sync_ttl_out1; // assign sys_sig_delay_in[10] = before_delay__sync_ttl_out2; // @@ -297,8 +297,8 @@ module Top ( assign af_delay__sync_ttl_in4 = sys_sig_delay_out[3]; assign af_delay__timecode_headphone_in = sys_sig_delay_out[4]; assign af_delay__timecode_bnc_in = sys_sig_delay_out[5]; - assign af_delay__genlock_in_hsync = sys_sig_delay_out[6]; assign af_delay__genlock_in_vsync = sys_sig_delay_out[7]; + assign af_delay__genlock_in_hsync = sys_sig_delay_out[6]; assign af_delay__genlock_in_fsync = sys_sig_delay_out[8]; assign sync_ttl_out1 = sys_sig_delay_out[9]; assign sync_ttl_out2 = sys_sig_delay_out[10]; @@ -312,7 +312,8 @@ module Top ( sys_signal_delayer #( .REG_START_ADD (`REGADDOFF__DELAYER), - .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) + .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), + .SIG_BUS_WIDTH(15) ) sys_signal_delayer_ins ( .clk (sys_clk), .rst_n(sys_rst_n), @@ -328,6 +329,7 @@ module Top ( + internal_sig_generator_en_contrler #( .REG_START_ADD (`REGADDOFF__INTERNAL_SIG_EN_CONTRLER), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) @@ -451,12 +453,9 @@ module Top ( ); - // - - /* genlock_input_module #( .REG_START_ADD (`REGADDOFF__GENLOCK_IN), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) @@ -493,6 +492,24 @@ module Top ( .genlock_freq_signal(signal_internal_genlock_freq) ); + + sys_genlock #( + .REG_START_ADD (`REGADDOFF__SYS_GENLOCK), + .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) + ) sys_genlock0 ( + .clk (sys_clk), + .rst_n(sys_rst_n), + + .addr (RegReaderBus_addr), + .wr_data(RegReaderBus_wr_data), + .wr_en (RegReaderBus_wr_en), + .rd_data(rd_data_module_sys_genlock), + + .internal_genlock_sig(signal_internal_genlock_freq), + .external_genlock_sig(signal_ext_genlock_freq), + + .sys_genlock_tigger_sig(signal_sys_genlock_output) + ); internal_clock_generator #( .REG_START_ADD (`REGADDOFF__INTERNAL_CLOCK), @@ -542,23 +559,6 @@ module Top ( ); - sys_genlock #( - .REG_START_ADD (`REGADDOFF__SYS_GENLOCK), - .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) - ) sys_genlock0 ( - .clk (sys_clk), - .rst_n(sys_rst_n), - - .addr (RegReaderBus_addr), - .wr_data(RegReaderBus_wr_data), - .wr_en (RegReaderBus_wr_en), - .rd_data(rd_data_module_sys_genlock), - - .internal_genlock_sig(signal_internal_genlock_freq), - .external_genlock_sig(signal_ext_genlock_freq), - - .sys_genlock_tigger_sig(signal_sys_genlock_output) - ); sys_clock #( .REG_START_ADD (`REGADDOFF__SYS_CLOCK), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) @@ -576,32 +576,31 @@ module Top ( ); camera_sync_signal_output #( - .REG_START_ADD (`REGADDOFF__CAMERA_SYNC_OUT), - .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) -) camera_sync_signal_output0 ( - .clk (sys_clk), - .rst_n(sys_rst_n), - - .addr (RegReaderBus_addr), - .wr_data(RegReaderBus_wr_data), - .wr_en (RegReaderBus_wr_en), - .rd_data(rd_data_module_camera_sync_out), - - .in_timecode_tigger_sig (sys_timecode_tigger_sig), - .in_timecode_format (sys_timecode_format), - .in_timecode_data (sys_timecode_data), - .in_timecode_serial_data(sys_timecode_serial_data), + .REG_START_ADD (`REGADDOFF__CAMERA_SYNC_OUT), + .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ) + ) camera_sync_signal_output0 ( + .clk (sys_clk), + .rst_n(sys_rst_n), - .frame_sig (signal_sys_clk_output), - .record_en_sig(signal_business_record_en_sig), + .addr (RegReaderBus_addr), + .wr_data(RegReaderBus_wr_data), + .wr_en (RegReaderBus_wr_en), + .rd_data(rd_data_module_camera_sync_out), + .in_timecode_tigger_sig (sys_timecode_tigger_sig), + .in_timecode_format (sys_timecode_format), + .in_timecode_data (sys_timecode_data), + .in_timecode_serial_data(sys_timecode_serial_data), - .stm32if_camera_sync_out (before_delay__stm32if_camera_sync_out), - .stm32if_record_state_change_sig(before_delay__stm32if_start_signal_out), - .stm32if_timecode_tigger_sig (before_delay__stm32if_timecode_sync_out) -); + .frame_sig (signal_sys_clk_output), + .record_en_sig(signal_business_record_en_sig), + .stm32if_camera_sync_out (before_delay__stm32if_camera_sync_out), + .stm32if_record_state_change_sig(before_delay__stm32if_start_signal_out), + .stm32if_timecode_tigger_sig (before_delay__stm32if_timecode_sync_out) + ); + // /* ttl_output #( .REG_START_ADD(`REGADDOFF__TTLOUT1), @@ -621,7 +620,6 @@ module Top ( .ttloutput (before_delay__sync_ttl_out1), .ttloutput_state_led(sync_ttl_out1_state_led) ); - ttl_output #( .REG_START_ADD(`REGADDOFF__TTLOUT2), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), @@ -640,6 +638,9 @@ module Top ( .ttloutput (before_delay__sync_ttl_out2), .ttloutput_state_led(sync_ttl_out2_state_led) ); + +/* + ttl_output #( .REG_START_ADD(`REGADDOFF__TTLOUT3), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), @@ -658,6 +659,7 @@ module Top ( .ttloutput (before_delay__sync_ttl_out3), .ttloutput_state_led(sync_ttl_out3_state_led) ); +*/ ttl_output #( .REG_START_ADD(`REGADDOFF__TTLOUT4), @@ -679,7 +681,6 @@ module Top ( ); - record_sig_generator #( .REG_START_ADD(`REGADDOFF__RECORD_SIG_GENERATOR), .SYS_CLOCK_FREQ(SYS_CLOCK_FREQ), @@ -710,25 +711,24 @@ module Top ( .out_record_en_sig (signal_business_record_en_sig), .out_record_exposure_sig(signal_business_record_exposure_sig) ); - */ - - - - assign debug_signal_output[0] = timecode_bnc_in; - assign debug_signal_output[1] = af_delay__timecode_headphone_in; - assign debug_signal_output[2] = timecode_is_detected; - assign debug_signal_output[3] = timecode_is_detected; - assign debug_signal_output[4] = sync_ttl_in1; - // assign debug_signal_output[5] = af_delay__sync_ttl_in1; - // assign debug_signal_output[6] = af_delay__sync_ttl_in1; - // assign debug_signal_output[7] = af_delay__sync_ttl_in1; - // assign debug_signal_output[8] = af_delay__sync_ttl_in1; - // assign debug_signal_output[9] = af_delay__genlock_in_vsync; - // assign debug_signal_output[10] = af_delay__timecode_headphone_in; - // assign debug_signal_output[11] = af_delay__timecode_bnc_in; - assign debug_signal_output[12] = timecode_out_headphone; - assign debug_signal_output[13] = timecode_out_bnc; - assign debug_signal_output[15] = 0; + + + + assign debug_signal_output[0] = sys_clk; + assign debug_signal_output[1] = af_delay__sync_ttl_in3; + assign debug_signal_output[2] = af_delay__sync_ttl_in2; + assign debug_signal_output[3] = genlock_in_vsync; + assign debug_signal_output[4] = af_delay__genlock_in_vsync; + assign debug_signal_output[5] = timecode_headphone_in | timecode_bnc_in; + assign debug_signal_output[6] = af_delay__timecode_headphone_in | af_delay__timecode_bnc_in; + assign debug_signal_output[7] = sync_ttl_out1; + assign debug_signal_output[8] = sync_ttl_out2; + assign debug_signal_output[9] = sync_ttl_out3; + assign debug_signal_output[10] = sync_ttl_out4; + assign debug_signal_output[11] = sync_ttl_in1; + assign debug_signal_output[12] = sync_ttl_in2; + assign debug_signal_output[13] = sync_ttl_in3; + assign debug_signal_output[15] = sync_ttl_in4; endmodule diff --git a/source/src/zutils/zsimple_pll.v b/source/src/zutils/zsimple_pll.v index bf74a65..329be95 100644 --- a/source/src/zutils/zsimple_pll.v +++ b/source/src/zutils/zsimple_pll.v @@ -3,14 +3,13 @@ module zsimple_pll ( input rst_n, //!asynchronous reset input, low active input insignal, //!输入信号 - input trigger_eage_type, + input wire [31:0] trigger_eage_type, input wire [31:0] freq_detect_bias, //! 频率偏差计数 input wire [31:0] freq_division, input wire [31:0] freq_multiplication, input wire polarity_ctrl, input wire cfg_change, - output wire outsignal, - output reg output_trigger_sig + output wire outsignal ); // @@ -27,7 +26,7 @@ module zsimple_pll ( wire insignal_rising_edge; //! 输入信号上升沿 wire insignal_falling_edge; //! 输入信号下降沿 - reg insignal_trigger_sig; //! 触发信号 + reg insignal_trigger_sig; //! 触发信号 wire module_reset; //! 模块内部复位信号 reg insignal_division; //! 输入信号分频后的信号 @@ -46,16 +45,15 @@ module zsimple_pll ( always @(*) begin case (trigger_eage_type) - 0: insignal_trigger_sig <= insignal_rising_edge; - 1: insignal_trigger_sig <= insignal_rising_edge; - 2: insignal_trigger_sig <= insignal_rising_edge; - default: - insignal_trigger_sig <= insignal_rising_edge; + 0: insignal_trigger_sig <= insignal_rising_edge; + 1: insignal_trigger_sig <= insignal_falling_edge; + 2: insignal_trigger_sig <= insignal_rising_edge | insignal_falling_edge; + default: insignal_trigger_sig <= insignal_rising_edge; endcase end // assign insignal_trigger_sig = trigger_eage_type ? insignal_rising_edge : insignal_falling_edge; - assign module_reset = !rst_n || cfg_change; + assign module_reset = !rst_n || cfg_change; // 分频 reg [31:0] insignal_division_cnt; @@ -101,7 +99,6 @@ module zsimple_pll ( multiplication_state <= 0; gen_pluse_cnt <= 0; insignal_multiplication <= 0; - output_trigger_sig <= 0; end else begin case (multiplication_state) 0: begin @@ -118,7 +115,6 @@ module zsimple_pll ( multiplication_state <= 2; gen_pluse_cnt <= 0; insignal_multiplication <= 1; - output_trigger_sig <= 1; multiplication_cnt <= 0; end end @@ -126,15 +122,12 @@ module zsimple_pll ( if (multiplication_cnt < insignal_multiplication_freq_cnt >> 1) begin multiplication_cnt <= multiplication_cnt + freq_multiplication + 1; insignal_multiplication <= 1; - output_trigger_sig <= 0; end else if ((multiplication_cnt + freq_multiplication + 2) >= insignal_multiplication_freq_cnt) begin gen_pluse_cnt <= gen_pluse_cnt + 1; multiplication_cnt <= 0; insignal_multiplication <= 1; - output_trigger_sig <= 1; gen_pluse_cnt <= gen_pluse_cnt + 1; end else begin - output_trigger_sig <= 0; if (gen_pluse_cnt >= freq_multiplication) begin multiplication_state <= 1; insignal_multiplication <= 0; diff --git a/source/src/zutils/zutils_sig_delayer_v2.v b/source/src/zutils/zutils_sig_delayer_v2.v index 6619e85..04ba89f 100644 --- a/source/src/zutils/zutils_sig_delayer_v2.v +++ b/source/src/zutils/zutils_sig_delayer_v2.v @@ -125,6 +125,7 @@ module zutils_sig_delayer_v2 ( endmodule */ +// /* module zutils_sig_delayer_v2 ( input clk, input rst_n, @@ -139,3 +140,4 @@ module zutils_sig_delayer_v2 ( assign out = in; endmodule +// */