From 3271956e008104d766fb65f58130d6d360d92695 Mon Sep 17 00:00:00 2001 From: Peter Lemmens Date: Thu, 11 Dec 2014 15:19:46 +0100 Subject: [PATCH] FEE_adc32 added to the soda-git --- .../FEE_modules/FEE_SODAfrequencydiv5.vhd | 186 + .../FEE_modules/FEE_adc32_module.vhd | 610 +++ .../FEE_baselinefollower_eventdetector.vhd | 158 + .../FEE_modules/FEE_board_slowcontrol.vhd | 274 ++ .../FEE_modules/FEE_combine_data.vhd | 574 +++ .../FEE_modules/FEE_dual_pulse_waveform.vhd | 782 ++++ .../FEE_modules/FEE_eventdetector.vhd | 145 + .../FEE_modules/FEE_extract_pulse.vhd | 272 ++ .../FEE_modules/FEE_fifo32to8_SODA.vhd | 195 + .../FEE_modules/FEE_fifo8to32_SODA.vhd | 157 + FEE_ADC32board/FEE_modules/FEE_gtxModule.vhd | 390 ++ .../FEE_modules/FEE_gtxWrapper_Virtex6.vhd | 531 +++ .../FEE_modules/FEE_measure_frequency.vhd | 75 + FEE_ADC32board/FEE_modules/FEE_mux2to1.vhd | 345 ++ .../FEE_modules/FEE_mux_readfifo.vhd | 119 + .../FEE_modules/FEE_pileup_check.vhd | 526 +++ .../FEE_modules/FEE_pulse2to1_pulse.vhd | 192 + .../FEE_pulse_and_pileup_waveforms.vhd | 561 +++ .../FEE_modules/FEE_pulsewaveform_buffer.vhd | 302 ++ FEE_ADC32board/FEE_modules/FEE_rxBitLock.vhd | 174 + .../FEE_slowcontrol_packet_receiver.vhd | 309 ++ .../FEE_slowcontrol_receive_from_cpu.vhd | 141 + .../FEE_modules/FEE_sorting_mux.vhd | 398 ++ .../FEE_modules/FEE_sorting_wavemux.vhd | 347 ++ .../FEE_modules/FEE_waveform_to_36bits.vhd | 225 + .../FEE_modules/FEE_wavemux2to1.vhd | 375 ++ .../FEE_modules/FEE_wavemux_readfifo.vhd | 118 + FEE_ADC32board/FEE_modules/Panda_package.vhd | 424 ++ FEE_ADC32board/FEE_modules/blockmem.vhd | 69 + .../FEE_modules/crc8_add_check32.vhd | 140 + .../div_pipe_r4_arch2/cond_add.vhd | 37 + .../div_pipe_r4_arch2/div_r4_pipe.vhd | 149 + .../div_pipe_r4_arch2/implement_32by32.pdf | Bin 0 -> 14079 bytes .../FEE_modules/div_pipe_r4_arch2/mypack.vhd | 10 + .../div_pipe_r4_arch2/nr_r4_cel.vhd | 61 + .../FEE_modules/iirfilter_1order_selectBW.vhd | 90 + .../FEE_modules/posedge_to_pulse.vhd | 72 + FEE_ADC32board/FEE_modules/shift_register.vhd | 88 + .../modules/ADCrefdesign/AdcClock.vhd | 523 +++ .../modules/ADCrefdesign/AdcData.vhd | 775 ++++ .../modules/ADCrefdesign/AdcFrame.vhd | 859 ++++ .../modules/ADCrefdesign/AdcToplevel.vhd | 739 ++++ .../ADCrefdesign/DoubleNibbleDetect.vhd | 293 ++ .../modules/ADCrefdesign/GenPulse.vhd | 132 + .../modules/FEE_ADCinput_module.vhd | 961 +++++ FEE_ADC32board/modules/LMK03806.vhd | 564 +++ .../modules/SystemMonitorModule.vhd | 281 ++ FEE_ADC32board/project/FEE_ADC32board.gise | 33 + FEE_ADC32board/project/FEE_ADC32board.ucf | 1009 +++++ FEE_ADC32board/project/FEE_ADC32board.xise | 669 +++ FEE_ADC32board/project/FEE_ADC32board_top.vhd | 2184 ++++++++++ .../project/ipcore_dir/FEE_clockbuf80MHz.asy | 17 + .../project/ipcore_dir/FEE_clockbuf80MHz.gise | 52 + .../project/ipcore_dir/FEE_clockbuf80MHz.ucf | 58 + .../project/ipcore_dir/FEE_clockbuf80MHz.vhd | 209 + .../project/ipcore_dir/FEE_clockbuf80MHz.vho | 89 + .../project/ipcore_dir/FEE_clockbuf80MHz.xco | 269 ++ .../project/ipcore_dir/FEE_clockbuf80MHz.xise | 75 + .../ipcore_dir/SystemMonitorVirtex.asy | 89 + .../ipcore_dir/SystemMonitorVirtex.gise | 53 + .../ipcore_dir/SystemMonitorVirtex.vhd | 192 + .../ipcore_dir/SystemMonitorVirtex.vho | 112 + .../ipcore_dir/SystemMonitorVirtex.xco | 163 + .../ipcore_dir/SystemMonitorVirtex.xise | 68 + .../project/ipcore_dir/_xmsgs/pn_parser.xmsgs | 15 + .../project/ipcore_dir/async_fifo_16x9.asy | 41 + .../project/ipcore_dir/async_fifo_16x9.gise | 53 + .../project/ipcore_dir/async_fifo_16x9.ngc | 3 + .../project/ipcore_dir/async_fifo_16x9.vhd | 283 ++ .../project/ipcore_dir/async_fifo_16x9.vho | 95 + .../project/ipcore_dir/async_fifo_16x9.xco | 213 + .../project/ipcore_dir/async_fifo_16x9.xise | 74 + .../project/ipcore_dir/async_fifo_512x32.asy | 41 + .../project/ipcore_dir/async_fifo_512x32.gise | 54 + .../project/ipcore_dir/async_fifo_512x32.ngc | 3 + .../project/ipcore_dir/async_fifo_512x32.vhd | 282 ++ .../project/ipcore_dir/async_fifo_512x32.vho | 92 + .../project/ipcore_dir/async_fifo_512x32.xco | 217 + .../project/ipcore_dir/async_fifo_512x32.xise | 72 + .../ipcore_dir/clockmodule40switch.asy | 33 + .../ipcore_dir/clockmodule40switch.gise | 52 + .../ipcore_dir/clockmodule40switch.ucf | 61 + .../ipcore_dir/clockmodule40switch.vhd | 223 + .../ipcore_dir/clockmodule40switch.vho | 100 + .../ipcore_dir/clockmodule40switch.xco | 269 ++ .../ipcore_dir/clockmodule40switch.xise | 75 + .../project/ipcore_dir/clockmodule80M.asy | 17 + .../project/ipcore_dir/clockmodule80M.gise | 52 + .../project/ipcore_dir/clockmodule80M.ucf | 58 + .../project/ipcore_dir/clockmodule80M.vhd | 199 + .../project/ipcore_dir/clockmodule80M.vho | 90 + .../project/ipcore_dir/clockmodule80M.xco | 269 ++ .../project/ipcore_dir/clockmodule80M.xise | 75 + .../project/ipcore_dir/clockmodule80to80M.asy | 33 + .../ipcore_dir/clockmodule80to80M.gise | 52 + .../project/ipcore_dir/clockmodule80to80M.ucf | 59 + .../project/ipcore_dir/clockmodule80to80M.vhd | 233 + .../project/ipcore_dir/clockmodule80to80M.vho | 101 + .../project/ipcore_dir/clockmodule80to80M.xco | 269 ++ .../ipcore_dir/clockmodule80to80M.xise | 75 + FEE_ADC32board/project/ipcore_dir/coregen.cgp | 9 + .../project/ipcore_dir/data_vio.ngc | 3 + .../project/ipcore_dir/double_reset.vhd | 140 + .../ipcore_dir/fifo_generator_v8_3_readme.txt | 197 + .../project/ipcore_dir/frame_check.vhd | 702 +++ .../project/ipcore_dir/frame_gen.vhd | 329 ++ .../project/ipcore_dir/gtxVirtex6FEE80.gise | 51 + .../project/ipcore_dir/gtxVirtex6FEE80.vho | 270 ++ .../project/ipcore_dir/gtxVirtex6FEE80.xco | 411 ++ .../project/ipcore_dir/gtxVirtex6FEE80.xise | 143 + .../doc/ug516_v6_gtxwizard.pdf | Bin 0 -> 3376991 bytes .../example_design/double_reset.vhd | 140 + .../example_design/frame_check.vhd | 702 +++ .../example_design/frame_gen.vhd | 329 ++ .../example_design/gtxVirtex6FEE80_top.sdc | 72 + .../example_design/gtxVirtex6FEE80_top.ucf | 96 + .../example_design/gtxVirtex6FEE80_top.xcf | 74 + .../example_design/gtx_attributes.ucf | 280 ++ .../gtxvirtex6fee80_rx_sync.vhd | 244 ++ .../example_design/gtxvirtex6fee80_top.vhd | 1373 ++++++ .../gtxvirtex6fee80_tx_sync.vhd | 226 + .../example_design/mgt_usrclk_source_mmcm.vhd | 218 + .../gtxVirtex6FEE80/gtxvirtex6fee80.pf | 221 + .../implement/chipscope_project.cpj | 3760 +++++++++++++++++ .../gtxVirtex6FEE80/implement/data_vio.ngc | 3 + .../gtxVirtex6FEE80/implement/icon.ngc | 3 + .../gtxVirtex6FEE80/implement/ila.ngc | 3 + .../gtxVirtex6FEE80/implement/implement.bat | 122 + .../gtxVirtex6FEE80/implement/implement.sh | 123 + .../implement/implement_synplify.bat | 120 + .../implement/implement_synplify.sh | 122 + .../implement/planAhead_ise.bat | 71 + .../implement/planAhead_ise.sh | 71 + .../implement/planAhead_ise.tcl | 127 + .../implement/rx_phase_align_fifo.ngc | 3 + .../gtxVirtex6FEE80/implement/synplify.prj | 101 + .../implement/tx_phase_align_fifo.ngc | 3 + .../gtxVirtex6FEE80/implement/xst.prj | 72 + .../gtxVirtex6FEE80/implement/xst.scr | 99 + .../gtxVirtex6FEE80/simulation/demo_tb.vhd | 266 ++ .../simulation/demo_tb_imp.vhd | 251 ++ .../simulation/functional/simulate_isim.bat | 92 + .../simulation/functional/simulate_isim.sh | 94 + .../simulation/functional/simulate_mti.do | 119 + .../simulation/functional/simulate_ncsim.bat | 98 + .../simulation/functional/simulate_ncsim.sh | 99 + .../simulation/functional/simulate_vcs.sh | 86 + .../simulation/functional/ucli_commands.key | 66 + .../simulation/functional/vcs_session.tcl | 136 + .../simulation/functional/wave_isim.tcl | 120 + .../simulation/functional/wave_mti.do | 132 + .../simulation/functional/wave_ncsim.sv | 120 + .../simulation/netlist/simulate_mti.do | 97 + .../simulation/sim_reset_mgt_model.vhd | 103 + .../v6_gtxwizard_v1_12_readme.txt | 153 + .../ipcore_dir/gtxVirtex6FEE80_top.ucf | 96 + .../project/ipcore_dir/gtx_attributes.ucf | 280 ++ .../project/ipcore_dir/gtxvirtex6fee80.vhd | 377 ++ .../ipcore_dir/gtxvirtex6fee80_gtx.vhd | 639 +++ .../ipcore_dir/gtxvirtex6fee80_rx_sync.vhd | 244 ++ .../ipcore_dir/gtxvirtex6fee80_top.vhd | 1373 ++++++ .../ipcore_dir/gtxvirtex6fee80_tx_sync.vhd | 226 + FEE_ADC32board/project/ipcore_dir/icon.ngc | 3 + FEE_ADC32board/project/ipcore_dir/icon0.asy | 25 + FEE_ADC32board/project/ipcore_dir/icon0.gise | 32 + FEE_ADC32board/project/ipcore_dir/icon0.ngc | 3 + FEE_ADC32board/project/ipcore_dir/icon0.ucf | 9 + FEE_ADC32board/project/ipcore_dir/icon0.vhd | 33 + FEE_ADC32board/project/ipcore_dir/icon0.vho | 44 + FEE_ADC32board/project/ipcore_dir/icon0.xco | 56 + FEE_ADC32board/project/ipcore_dir/icon0.xise | 79 + .../project/ipcore_dir/icon0_readme.txt | 57 + FEE_ADC32board/project/ipcore_dir/ila.ngc | 3 + FEE_ADC32board/project/ipcore_dir/ila128.asy | 17 + FEE_ADC32board/project/ipcore_dir/ila128.gise | 53 + FEE_ADC32board/project/ipcore_dir/ila128.ngc | 3 + FEE_ADC32board/project/ipcore_dir/ila128.vhd | 31 + FEE_ADC32board/project/ipcore_dir/ila128.vho | 40 + FEE_ADC32board/project/ipcore_dir/ila128.xco | 138 + FEE_ADC32board/project/ipcore_dir/ila128.xise | 72 + .../project/ipcore_dir/ila128_readme.txt | 57 + FEE_ADC32board/project/ipcore_dir/ila36.asy | 17 + FEE_ADC32board/project/ipcore_dir/ila36.gise | 53 + FEE_ADC32board/project/ipcore_dir/ila36.ngc | 3 + FEE_ADC32board/project/ipcore_dir/ila36.vhd | 31 + FEE_ADC32board/project/ipcore_dir/ila36.vho | 40 + FEE_ADC32board/project/ipcore_dir/ila36.xco | 138 + FEE_ADC32board/project/ipcore_dir/ila36.xise | 72 + .../project/ipcore_dir/ila36_readme.txt | 57 + .../ipcore_dir/mgt_usrclk_source_mmcm.vhd | 218 + .../project/ipcore_dir/sync_fifo_512x41.asy | 37 + .../project/ipcore_dir/sync_fifo_512x41.gise | 53 + .../project/ipcore_dir/sync_fifo_512x41.ngc | 3 + .../project/ipcore_dir/sync_fifo_512x41.vhd | 280 ++ .../project/ipcore_dir/sync_fifo_512x41.vho | 93 + .../project/ipcore_dir/sync_fifo_512x41.xco | 213 + .../project/ipcore_dir/sync_fifo_512x41.xise | 74 + .../ipcore_dir/sync_fifo_FWFT_512x36.asy | 37 + .../ipcore_dir/sync_fifo_FWFT_512x36.gise | 53 + .../ipcore_dir/sync_fifo_FWFT_512x36.ngc | 3 + .../ipcore_dir/sync_fifo_FWFT_512x36.vhd | 280 ++ .../ipcore_dir/sync_fifo_FWFT_512x36.vho | 93 + .../ipcore_dir/sync_fifo_FWFT_512x36.xco | 213 + .../ipcore_dir/sync_fifo_FWFT_512x36.xise | 74 + ...c_fifo_progfull364_progempty128_512x36.asy | 45 + ..._fifo_progfull364_progempty128_512x36.gise | 53 + ...c_fifo_progfull364_progempty128_512x36.ngc | 3 + ...c_fifo_progfull364_progempty128_512x36.vhd | 286 ++ ...c_fifo_progfull364_progempty128_512x36.vho | 97 + ...c_fifo_progfull364_progempty128_512x36.xco | 213 + ..._fifo_progfull364_progempty128_512x36.xise | 74 + ...c_fifo_progfull504_progempty128_512x36.asy | 45 + ..._fifo_progfull504_progempty128_512x36.gise | 53 + ...c_fifo_progfull504_progempty128_512x36.ngc | 3 + ...c_fifo_progfull504_progempty128_512x36.vhd | 286 ++ ...c_fifo_progfull504_progempty128_512x36.vho | 97 + ...c_fifo_progfull504_progempty128_512x36.xco | 213 + ..._fifo_progfull504_progempty128_512x36.xise | 74 + FEE_ADC32board/project/ipcore_dir/vio36.asy | 13 + FEE_ADC32board/project/ipcore_dir/vio36.gise | 53 + FEE_ADC32board/project/ipcore_dir/vio36.ngc | 3 + FEE_ADC32board/project/ipcore_dir/vio36.vhd | 30 + FEE_ADC32board/project/ipcore_dir/vio36.vho | 38 + FEE_ADC32board/project/ipcore_dir/vio36.xco | 56 + FEE_ADC32board/project/ipcore_dir/vio36.xise | 72 + .../project/ipcore_dir/vio36_readme.txt | 57 + .../iseconfig/FEE_ADC32board.projectmgr | 97 + .../iseconfig/FEE_adc32_module.xreport | 215 + FEE_ADC32board/project/iseconfig/top.xreport | 215 + FEE_ADC32board/project/top.bit | Bin 0 -> 5465079 bytes 230 files changed, 45603 insertions(+) create mode 100644 FEE_ADC32board/FEE_modules/FEE_SODAfrequencydiv5.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_adc32_module.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_baselinefollower_eventdetector.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_board_slowcontrol.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_combine_data.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_dual_pulse_waveform.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_eventdetector.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_extract_pulse.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_fifo32to8_SODA.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_fifo8to32_SODA.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_gtxModule.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_gtxWrapper_Virtex6.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_measure_frequency.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_mux2to1.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_mux_readfifo.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_pileup_check.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_pulse2to1_pulse.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_pulse_and_pileup_waveforms.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_pulsewaveform_buffer.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_rxBitLock.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_slowcontrol_packet_receiver.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_slowcontrol_receive_from_cpu.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_sorting_mux.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_sorting_wavemux.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_waveform_to_36bits.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_wavemux2to1.vhd create mode 100644 FEE_ADC32board/FEE_modules/FEE_wavemux_readfifo.vhd create mode 100644 FEE_ADC32board/FEE_modules/Panda_package.vhd create mode 100644 FEE_ADC32board/FEE_modules/blockmem.vhd create mode 100644 FEE_ADC32board/FEE_modules/crc8_add_check32.vhd create mode 100644 FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/cond_add.vhd create mode 100644 FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/div_r4_pipe.vhd create mode 100644 FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/implement_32by32.pdf create mode 100644 FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/mypack.vhd create mode 100644 FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/nr_r4_cel.vhd create mode 100644 FEE_ADC32board/FEE_modules/iirfilter_1order_selectBW.vhd create mode 100644 FEE_ADC32board/FEE_modules/posedge_to_pulse.vhd create mode 100644 FEE_ADC32board/FEE_modules/shift_register.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/AdcClock.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/AdcData.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/AdcFrame.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/AdcToplevel.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/DoubleNibbleDetect.vhd create mode 100644 FEE_ADC32board/modules/ADCrefdesign/GenPulse.vhd create mode 100644 FEE_ADC32board/modules/FEE_ADCinput_module.vhd create mode 100644 FEE_ADC32board/modules/LMK03806.vhd create mode 100644 FEE_ADC32board/modules/SystemMonitorModule.vhd create mode 100644 FEE_ADC32board/project/FEE_ADC32board.gise create mode 100644 FEE_ADC32board/project/FEE_ADC32board.ucf create mode 100644 FEE_ADC32board/project/FEE_ADC32board.xise create mode 100644 FEE_ADC32board/project/FEE_ADC32board_top.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/_xmsgs/pn_parser.xmsgs create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80M.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/coregen.cgp create mode 100644 FEE_ADC32board/project/ipcore_dir/data_vio.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/double_reset.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/fifo_generator_v8_3_readme.txt create mode 100644 FEE_ADC32board/project/ipcore_dir/frame_check.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/frame_gen.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/doc/ug516_v6_gtxwizard.pdf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/double_reset.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/frame_check.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/frame_gen.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxVirtex6FEE80_top.sdc create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxVirtex6FEE80_top.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxVirtex6FEE80_top.xcf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtx_attributes.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxvirtex6fee80_rx_sync.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxvirtex6fee80_top.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/gtxvirtex6fee80_tx_sync.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/example_design/mgt_usrclk_source_mmcm.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/gtxvirtex6fee80.pf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/chipscope_project.cpj create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/data_vio.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/icon.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/ila.ngc create mode 100755 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/implement.bat create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/implement.sh create mode 100755 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/implement_synplify.bat create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/implement_synplify.sh create mode 100755 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/planAhead_ise.bat create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/planAhead_ise.sh create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/planAhead_ise.tcl create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/rx_phase_align_fifo.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/synplify.prj create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/tx_phase_align_fifo.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/xst.prj create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/implement/xst.scr create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/demo_tb.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/demo_tb_imp.vhd create mode 100755 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_isim.bat create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_isim.sh create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_mti.do create mode 100755 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_ncsim.bat create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_ncsim.sh create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/simulate_vcs.sh create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/ucli_commands.key create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/vcs_session.tcl create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/wave_isim.tcl create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/wave_mti.do create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/functional/wave_ncsim.sv create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/netlist/simulate_mti.do create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/simulation/sim_reset_mgt_model.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/v6_gtxwizard_v1_12_readme.txt create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80_top.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtx_attributes.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxvirtex6fee80.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxvirtex6fee80_gtx.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxvirtex6fee80_rx_sync.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxvirtex6fee80_top.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/gtxvirtex6fee80_tx_sync.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/icon.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.ucf create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/icon0_readme.txt create mode 100644 FEE_ADC32board/project/ipcore_dir/ila.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/ila128_readme.txt create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/ila36_readme.txt create mode 100644 FEE_ADC32board/project/ipcore_dir/mgt_usrclk_source_mmcm.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_512x41.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_FWFT_512x36.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull364_progempty128_512x36.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/sync_fifo_progfull504_progempty128_512x36.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.asy create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.gise create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.ngc create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.vhd create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.vho create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.xco create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36.xise create mode 100644 FEE_ADC32board/project/ipcore_dir/vio36_readme.txt create mode 100644 FEE_ADC32board/project/iseconfig/FEE_ADC32board.projectmgr create mode 100644 FEE_ADC32board/project/iseconfig/FEE_adc32_module.xreport create mode 100644 FEE_ADC32board/project/iseconfig/top.xreport create mode 100644 FEE_ADC32board/project/top.bit diff --git a/FEE_ADC32board/FEE_modules/FEE_SODAfrequencydiv5.vhd b/FEE_ADC32board/FEE_modules/FEE_SODAfrequencydiv5.vhd new file mode 100644 index 0000000..3eaa682 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_SODAfrequencydiv5.vhd @@ -0,0 +1,186 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 18-11-2014 +-- Module Name: FEE_SODAfrequencydiv5 +-- Description: Converts 200MHz from GTX to 40 MHz SODA +-- Modifications: +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +library UNISIM; +use UNISIM.VComponents.all; + +---------------------------------------------------------------------------------- +-- FEE_SODAfrequencydiv5 +-- Measures the number of pulses in one second +-- +-- Library +-- +-- Generics: +-- +-- Inputs: +-- clock : recovered clock +-- data : data from GTX +-- kchar : k-character signal from GTX +-- +-- Outputs: +-- clockdiv5 : input clock divided by 5 and synchronous to SODA +-- error : error in incoming data or phase +-- +-- Components: +-- +---------------------------------------------------------------------------------- + +entity FEE_SODAfrequencydiv5 is + port ( + clock : in std_logic; + data : in std_logic_vector(7 downto 0); + kchar : in std_logic; + clockdiv5 : out std_logic; + error : out std_logic + ); +end FEE_SODAfrequencydiv5; + +architecture Behavioral of FEE_SODAfrequencydiv5 is +constant KCHARSODA : std_logic_vector(7 downto 0) := x"DC"; + +signal clockdiv5_S : std_logic; +signal div5count0_S : std_logic; +signal clock5div2_S : std_logic := '0'; +signal prev_clock5div2_S : std_logic := '0'; +signal clockdiv5_reset_S : std_logic; +signal SODA_kchar_S : std_logic; +signal disable_SODAcheck_S : std_logic := '0'; +signal disable_clock5check_S : std_logic := '0'; +signal SODA40_signal_S : std_logic; +signal div5count_S : std_logic_vector(2 downto 0) := (others => '0'); +signal SODA_count_S : std_logic_vector(3 downto 0) := (others => '0'); +signal SODAerror_S : std_logic; +signal clockdiv5error_S : std_logic; +signal clockbiterror_S : std_logic; + +begin + +error <= '1' when (SODAerror_S='1') or (clockdiv5error_S='1') or (clockbiterror_S='1') else '0'; +clockdiv5 <= clockdiv5_S; + +rxrecclk_bufrdiv5_i : BUFR + generic map ( BUFR_DIVIDE => "5" ) + port map ( + CE => '1', + CLR => clockdiv5_reset_S, + I => clock, + O => clockdiv5_S); + +process_checkSODA: process(clock) +variable disable_count_V : std_logic_vector(1 downto 0) := (others => '0'); +begin + if (rising_edge(clock)) then + div5count0_S <= '0'; + clockbiterror_S <= '0'; + if div5count_S/="100" then + if (disable_SODAcheck_S='0') and (SODA40_signal_S='1') then -- wrong phase + div5count_S <= "000"; + disable_SODAcheck_S <= '1'; + disable_count_V := (others => '0'); + clockbiterror_S <= '1'; + else + div5count_S <= div5count_S+1; + end if; + else + div5count_S <= "000"; + div5count0_S <= '1'; + if disable_count_V(disable_count_V'left)='0' then + disable_count_V := disable_count_V+1; + else + disable_SODAcheck_S <= '0'; + end if; + end if; + prev_clock5div2_S <= clock5div2_S; + end if; +end process; + + + +process_checkdiv5: process(clock) +variable disable_count_V : std_logic_vector(3 downto 0) := (others => '0'); +begin + if (rising_edge(clock)) then + clockdiv5_reset_S <= '0'; + clockdiv5error_S <= '0'; + if (disable_SODAcheck_S='0') and (disable_clock5check_S='0') then + if (clock5div2_S/=prev_clock5div2_S) and div5count0_S='0' then -- div5 clock wrong phase : reset + clockdiv5_reset_S <= '1'; + disable_clock5check_S <= '1'; + disable_count_V := (others => '0'); + clockdiv5error_S <= '1'; + end if; + else + if disable_count_V(disable_count_V'left)='0' then + disable_count_V := disable_count_V+1; + else + disable_clock5check_S <= '0'; + end if; + end if; + end if; +end process; + +process_SODAchar: process(clock) +variable count_V : std_logic_vector(2 downto 0) := (others => '0'); +variable count_rotate_V : std_logic_vector(2 downto 0) := (others => '0'); +begin + if (rising_edge(clock)) then + if (kchar='1') and (data=KCHARSODA) then + SODA_kchar_S <= '1'; + else + SODA_kchar_S <= '0'; + end if; + end if; +end process; + +process_SODAstart: process(clock) +variable count_V : std_logic_vector(2 downto 0) := (others => '0'); +variable count_rotate_V : std_logic_vector(2 downto 0) := (others => '0'); +begin + if (rising_edge(clock)) then + SODA40_signal_S <= '0'; + SODAerror_S <= '0'; + if (SODA_count_S="0000") and (SODA_kchar_S='1') then + SODA40_signal_S <= '1'; + SODA_count_S <= SODA_count_S+1; + elsif SODA_count_S(0)='1' then -- SODA data + if SODA_kchar_S='1' then -- error + SODA_count_S <= "0000"; + SODAerror_S <= '1'; + else + SODA_count_S <= SODA_count_S+1; + end if; + elsif (SODA_count_S(2 downto 1)/="00") then -- SODA k-char + if SODA_kchar_S='0' then -- error + SODA_count_S <= "0000"; + SODAerror_S <= '1'; + else + SODA_count_S <= SODA_count_S+1; + end if; + elsif (SODA_count_S(3)='1') then -- end SODA packet + SODA_count_S <= "0000"; + if SODA_kchar_S='1' then -- error + SODAerror_S <= '1'; + end if; + end if; + end if; +end process; + +process_clock5div2: process(clockdiv5_S) +begin + if (rising_edge(clockdiv5_S)) then + clock5div2_S <= not clock5div2_S; + end if; +end process; + + +end Behavioral; diff --git a/FEE_ADC32board/FEE_modules/FEE_adc32_module.vhd b/FEE_ADC32board/FEE_modules/FEE_adc32_module.vhd new file mode 100644 index 0000000..cdb51cb --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_adc32_module.vhd @@ -0,0 +1,610 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 15-02-2012 +-- Module Name: FEE_adc32_module +-- Description: Module with Front End Electronics +-- Modifications: +-- 15-09-2014 New datafromat for fibers, removed ZPU +-- 16-09-2014 name changed from FEE_V2_adc32_module to FEE_adc32_module +-- 22-09-2014 single clock +-- 23-09-2014 system monitor module moved to top-level +-- 01-10-2014 request_init added: request initialize FEE +-- 02-10-2014 onesecondpulse, errorbyte +-- 10-10-2014 Integral as measurement for the energy instead of maximum +-- 16-10-2014 inpipe signals +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +USE work.panda_package.all; +library UNISIM; +use UNISIM.VComponents.all; + +---------------------------------------------------------------------------------- +-- FEE_adc32_module +-- Module for Front End Electronics: fiber connection, adc waveform reading & multiplexers & feature extraction. +-- ADC data is analysed or put in waveforms if regarded as pileup. +-- +-- The data is sent to the GTP/GTX transceiver in packets +-- Slow control processes slow-control packets on the fiber to/from the multiplexer board. +-- The clock from the GTP/GTX receiver is used to synchronise the SODA-clock. This should be used for the ADC's if that is possible with the hardware. +-- Special SODA package can start/stop data transmitting and reset the timepstamp. +-- The from the fiber also SODA packets. +-- +-- The addresses that are used: +-- board_register A: write/read +-- bit0: reset all +-- bit2: clear errors +-- bit3: enable waveforms +-- bit 17..16 = ADC index from FPGA System monitor: 0=temp, 1=VCCint, 2=VCCaux, 3=spare, change activates read +-- bit 18 = reset/initializes FPGA System monitor +-- board_register B: read +-- bit1 : Data Taken enabled (enable and disabled is done with SODA packets) +-- bit 5..4 = ADC index from FPGA System monitor: 0=temp, 1=VCCint, 2=VCCaux, 3=spare +-- bit 15..6 = ADC value from FPGA System monitor +-- bit23..16 : error occurred bits: in case of error a bit is set. Clearing is done with ADDRESS_FEE_CONTROL +-- bit16 : error : NotInTable +-- bit17 : error : receive data error (slowcontrol) +-- bit18 : error : slowcontrol buffer overrun +-- bit19 : error : not used +-- bit20 : error : transmit data error, multiplexer error +-- bit21 : error : receive data buffer overrun +-- bit22 : error : adc data buffer overrun +-- bit23 : error : data taken disabled +-- board_register C: automatically sent +-- data not important; this slowcontrol command indicates buffer full +-- board_register D: read +-- bit 31..0 = Number of pulses in 1 second on selected input +-- +-- Each ADC has its own set of registers. See module FEE_pulse_and_pileup_waveforms for addresses. +-- +-- +-- +-- Library +-- work.panda_package : for type declarations and constants +-- +-- Generics: +-- NROFADCS : number of the adc's, probably 16 +-- ADCBITS : number of ADC-bits +-- BASELINE_BWBITS : number of bits for the baseline IIR filter bandwidth +-- WAVEFORMBUFFERSIZE : number of bits for the buffer memory address: power of this constant will give the size +-- ADCCLOCKFREQUENCY : Frequency of the ADCclock in Hz +-- CF_DELAYBITS : number of bits for the constant fraction delay +-- CF_FRACTIONBIT : number of bits for the calculated fraction of the precise timestamp +-- IDIVMAXBITS : number of bits for maximum to integral ratio check +-- INTEGRALRATIOBITS : number of bits for integral to energy ratio (bits to shift to the right) +-- +-- Inputs: +-- clock : clock for everything +-- reset : reset all +-- enable_data : enable data, controlled by SODA +-- ADCdata : parallel sampling adc data +-- rxNotInTable : error in received fiber data, used for status +-- superburst_start : Signal to indicate start of new superburst, received (back) from pin +-- superburst_received : superburstnumber +-- startupready : startup procedure is finished: ready to send data +-- request_init : send a request to the DC to initialize all registers +-- packet_in_data : 32 bits data input from fiber module +-- packet_in_present : data available from fiber module +-- packet_out_fifofull : connected fifo for packet data is full +-- errorbyte_in : errors occurred for slow control reply +-- smaart_in : serial input from external TMP104 sensor +-- sysmon_data : data from the FPGA system monitor module +-- +-- Outputs: +-- packet_in_read : read signal to fiber module to read next data +-- packet_out_data : packet data to fiber module +-- packet_out_first : first 32-bit data word of a packet +-- packet_out_last : last 32-bit data word of a packet +-- packet_out_write : write signal for packet data +-- errorbyte_out : errors occurred: adjust with other FE instances for comparison +-- smaart_out : serial output to external TMP104 sensor +-- sysmon_reset : reset signal to the FPGA system monitor module +-- sysmon_address : selection address for the FPGA system monitor module +-- sysmon_read : read signal to the FPGA system monitor module +-- +-- Components: +-- FEE_board_slowcontrol : slowcontrol unit to translate fiber packets to slowcontrol commands +-- FEE_slowcontrol_packet_receiver : Read and interprets data (=slowcontrol commands) from fiber from Multiplexer board +-- FEE_pulse_and_pileup_waveforms : measure waveforms for pulses and pileup and multiplex to one stream +-- FEE_combine_data : combine slow-control, pileup waveforms and feature extraction data to one stream to GTP/GTX +-- FEE_measure_frequency : measure frequency of hits +-- TMP104module : module to access external temperature sensor TMP104 +-- +---------------------------------------------------------------------------------- + +entity FEE_adc32_module is + generic ( + NROFADCS : natural := 32; + ADCBITS : natural := 14; + BASELINE_BWBITS : natural := 10; + WAVEFORMBUFFERSIZE : natural := 10; + ADCCLOCKFREQUENCY : natural := 80000000; + CF_DELAYBITS : natural := 4; + CF_FRACTIONBIT : natural := 11; + IDIVMAXBITS : natural := 6; + INTEGRALRATIOBITS : natural := 3 + ); + port ( + clock : in std_logic; + reset : in std_logic; + enable_data : in std_logic; + ADCdata : in array_adc_type; + superburst_start : in std_logic; + superburst_received : in std_logic_vector(30 downto 0); + onesecondpulse : in std_logic; + rxNotInTable : in std_logic; + startupready : in std_logic; + request_init : in std_logic; + packet_in_data : in std_logic_vector (31 downto 0); + packet_in_present : in std_logic; + packet_in_read : out std_logic; + packet_out_data : out std_logic_vector(31 downto 0); + packet_out_first : out std_logic; + packet_out_last : out std_logic; + packet_out_write : out std_logic; + packet_out_fifofull : in std_logic; + errorbyte_out : out std_logic_vector(7 downto 0); + errorbyte_in : in std_logic_vector(7 downto 0); + smaart_in : in std_logic; + smaart_out : out std_logic; + sysmon_data : in std_logic_vector(15 downto 0); + sysmon_reset : out std_logic; + sysmon_address : out std_logic_vector(6 downto 0); + sysmon_read : out std_logic; + testindex : in integer range 0 to NROFADCS/2-1; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end FEE_adc32_module; + +architecture Behavioral of FEE_adc32_module is + + +component FEE_board_slowcontrol is + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + overflow_in : in std_logic; + request_init : in std_logic; + byte_data : in std_logic_vector(7 downto 0); + byte_write : in std_logic; + byte_request : in std_logic; + slowcontrol_read : in std_logic; + slowcontrol_notpresent : out std_logic; + slowcontrol_data : out std_logic_vector (31 downto 0); + slowcontrol_address : out std_logic_vector (7 downto 0); + slowcontrol_reply : out std_logic; + board_status_A : in std_logic_vector(31 downto 0); + board_status_B : in std_logic_vector(31 downto 0); + board_status_C : in std_logic_vector(31 downto 0); + board_status_D : in std_logic_vector(31 downto 0); + board_control_A : out std_logic_vector(31 downto 0); + board_control_B : out std_logic_vector(31 downto 0); + board_control_C : out std_logic_vector(31 downto 0); + board_control_D : out std_logic_vector(31 downto 0); + overflow_out : out std_logic + ); +end component; + +component FEE_slowcontrol_packet_receiver is + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + packet_data_in : in std_logic_vector (31 downto 0); + packet_data_present : in std_logic; + packet_data_read : out std_logic; + byte_data : out std_logic_vector(7 downto 0); + byte_write : out std_logic; + byte_request : out std_logic; + data_error : out std_logic; + overflow : out std_logic); +end component; + +component FEE_pulse_and_pileup_waveforms is + generic ( + NROFADCS : natural := NROFADCS; + ADCBITS : natural := ADCBITS; + BWBITS : natural := BASELINE_BWBITS; + WAVEFORMBUFFERSIZE : natural := WAVEFORMBUFFERSIZE; + IDIVMAXBITS : natural := IDIVMAXBITS; + INTEGRALRATIOBITS : natural := INTEGRALRATIOBITS; + CF_DELAYBITS : natural := CF_DELAYBITS + ); + Port ( + clock : in std_logic; + reset : in std_logic; + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADCdata : in array_adc_type; + enable_data : in std_logic; + slowcontrol_byte_data : in std_logic_vector (7 downto 0); + slowcontrol_byte_write : in std_logic; + slowcontrol_byte_request: in std_logic; + pulsedata_out : out std_logic_vector(35 downto 0); + pulsedata_read : in std_logic; + pulsedata_available : out std_logic; + pulsedata_inpipe : out std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pileupdata_read : in std_logic; + pileupdata_available : out std_logic; + pileupdata_inpipe : out std_logic; + pulsedetect : out std_logic_vector(0 to NROFADCS-1); + overflow : out std_logic; + testindex : in integer range 0 to NROFADCS/2-1; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_combine_data is + port ( + clock : in std_logic; + reset : in std_logic; + -- signals to/from data fifo : + pulse_data : in std_logic_vector(35 downto 0); + pulse_notpresent : in std_logic; -- empty signal from fifo + pulse_inpipe : in std_logic; + pulse_read : out std_logic; -- read from FWFT fifo + -- signals to/from slowcontrol fifo + slowcontrol_data : in std_logic_vector(31 downto 0); + slowcontrol_address : in std_logic_vector(7 downto 0); + slowcontrol_reply : in std_logic; + slowcontrol_notpresent : in std_logic; -- empty signal from fifo + slowcontrol_read : out std_logic; -- read from normal fifo + -- signals to/from waveform fifo + wave_data : in std_logic_vector(35 downto 0); + wave_notpresent : in std_logic; -- empty signal from fifo + wave_inpipe : in std_logic; + wave_read : out std_logic; -- read from FWFT fifo + -- signals to/from fiber module + packet_data_out : out std_logic_vector(31 downto 0); + packet_firstword : out std_logic; + packet_lastword : out std_logic; + packet_datawrite : out std_logic; + packet_fifofull : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_measure_frequency is + generic ( + CLOCKFREQUENCY : natural := ADCCLOCKFREQUENCY + ); + port ( + clock : in std_logic; + pulse : in std_logic; + onesecondpulse : in std_logic; + frequency : out std_logic_vector(31 downto 0) + ); +end component; + + +component TMP104module is + generic ( + TMP104CLOCKDIVIDER : natural := 2500; + TMP104INTERVAL : natural := 50 + ); + port ( + clock : in std_logic; + reset : in std_logic; + smaart_in : in std_logic; + smaart_out : out std_logic; + temperature : out std_logic_vector (7 downto 0) + ); +end component; + +constant init_frequency_in_kHz : integer := 30; +constant init_freqnr : integer := init_frequency_in_kHz * 83322; + +signal error_occurred_S : std_logic_vector (7 downto 0) := (others => '0'); +signal enable_data_S : std_logic := '0'; +signal startupready_S : std_logic := '0'; + +signal rxAsyncDataRead_S : std_logic := '0'; +signal rxAsyncData_S : std_logic_vector (31 downto 0) := (others => '0'); + +signal packet_in_read_S : std_logic; + +signal superburstnumber_s : std_logic_vector(30 downto 0); + +signal SODA_cmd_word_S : std_logic_vector(30 downto 0) := (others => '0'); +signal SODA_cmd_valid_S : std_logic := '0'; + +signal slowcontrol_error1_S : std_logic := '0'; + +signal clear_errors_S : std_logic := '0'; + +signal pulsedata_out_S : std_logic_vector(35 downto 0); +signal pulsedata_read_S : std_logic; +signal pulsedata_available_S : std_logic; +signal pulsedata_inpipe_S : std_logic; +signal pileupdata_out_S : std_logic_vector(35 downto 0); +signal pileupdata_read_S : std_logic; +signal pileupdata_available_S : std_logic; +signal pulse_notpresent_S : std_logic; +signal pileupdata_inpipe_s : std_logic; +signal overflow_S : std_logic; + +signal slowcontrol_data_S : std_logic_vector(31 downto 0); +signal slowcontrol_address_S : std_logic_vector(7 downto 0); +signal slowcontrol_reply_S : std_logic; +signal slowcontrol_notpresent_S : std_logic; +signal slowcontrol_read_S : std_logic; +signal receive_overflow_S : std_logic; + +signal slowcontrol_byte_data_S : std_logic_vector(7 downto 0); +signal slowcontrol_byte_write_S : std_logic; +signal slowcontrol_byte_request_S : std_logic; +signal slowcontrol_overflow_S : std_logic; + +signal board_status_A_S : std_logic_vector(31 downto 0) := (others => '0'); +signal board_status_B_S : std_logic_vector(31 downto 0) := (others => '0'); +signal board_status_C_S : std_logic_vector(31 downto 0) := (others => '0'); +signal board_status_D_S : std_logic_vector(31 downto 0) := (others => '0'); +signal board_control_A_S : std_logic_vector(31 downto 0); +signal board_control_B_S : std_logic_vector(31 downto 0); +signal board_control_C_S : std_logic_vector(31 downto 0); +signal board_control_D_S : std_logic_vector(31 downto 0); + + +signal timestampcounter_s : std_logic_vector(15 downto 0) := (others => '0'); +signal start_of_superburst_S : std_logic := '0'; + +signal MUX_error_S : std_logic := '0'; + +signal enable_waveform_S : std_logic := '0'; +signal wave_notpresent_S : std_logic := '0'; +signal wave_read_S : std_logic := '0'; + +signal pulsedetect_S : std_logic_vector(0 to NROFADCS-1); +signal pulsedetectmux_S : std_logic := '0'; +signal pulsefrequency_S : std_logic_vector (31 downto 0); + +signal sysmon_address_S : std_logic_vector(6 downto 0); +signal sysmon_address_saved_S : std_logic_vector(6 downto 0); +signal temperature_S : std_logic_vector (7 downto 0) := (others => '0'); +signal testword0_S : std_logic_vector(35 downto 0); +signal testword1_S : std_logic_vector(35 downto 0); + +constant DEBUG : std_logic := '0'; +begin + + +timestampcounter: process(clock) +begin + if (rising_edge(clock)) then + if superburst_start='1' then + timestampcounter_S <= (others => '0'); + superburstnumber_S <= superburst_received; + else + timestampcounter_S <= timestampcounter_S+1; + end if; + end if; +end process; + + +gendebug2: if DEBUG='0' generate + + +FEE_slowcontrol_packet_receiver1: FEE_slowcontrol_packet_receiver port map( + clock => clock, + reset => reset, + enable => startupready, + packet_data_in => packet_in_data, + packet_data_present => packet_in_present, + packet_data_read => packet_in_read_S, + byte_data => slowcontrol_byte_data_S, + byte_write => slowcontrol_byte_write_S, + byte_request => slowcontrol_byte_request_S, + data_error => slowcontrol_error1_S, + overflow => receive_overflow_S); +packet_in_read <= packet_in_read_S; + +FEE_board_slowcontrol1: FEE_board_slowcontrol port map( + clock => clock, + reset => reset, + enable => startupready, + overflow_in => receive_overflow_S, + request_init => request_init, + byte_data => slowcontrol_byte_data_S, + byte_write => slowcontrol_byte_write_S, + byte_request => slowcontrol_byte_request_S, + slowcontrol_read => slowcontrol_read_S, + slowcontrol_notpresent => slowcontrol_notpresent_S, + slowcontrol_data => slowcontrol_data_S, + slowcontrol_address => slowcontrol_address_S, + slowcontrol_reply => slowcontrol_reply_S, + board_status_A => board_status_A_S, + board_status_B => board_status_B_S, + board_status_C => board_status_C_S, + board_status_D => board_status_D_S, + board_control_A => board_control_A_S, + board_control_B => board_control_B_S, + board_control_C => board_control_C_S, + board_control_D => board_control_D_S, + overflow_out => slowcontrol_overflow_S); + + + +slowcontrolhandling: process(clock) +variable clear_timeout_V : integer range 0 to 15 := 15; +begin + if (rising_edge(clock)) then + if (clear_errors_S='1') or (reset='1') then + error_occurred_S <= (others => '0'); + else + if rxNotInTable='1' then + error_occurred_S(0) <= '1'; + end if; + if slowcontrol_error1_S='1' then + error_occurred_S(1) <= '1'; + end if; + if (slowcontrol_overflow_S='1') then + error_occurred_S(2) <= '1'; + end if; +-- if cf_error_S='1' then +-- error_occurred_S(3) <= '1'; +-- end if; + if MUX_error_S='1' then + error_occurred_S(4) <= '1'; + end if; +-- if (rxAsyncDataOverflow_S='1') then +-- error_occurred_S(5) <= '1'; +-- end if; + if overflow_S='1' then + error_occurred_S(6) <= '1'; + end if; + error_occurred_S(7) <= not enable_data; + end if; + end if; +end process; + + + + +clear_errors_S <= board_control_A_S(2); +enable_waveform_S <= board_control_A_S(3); +pulsedetectmux_S <= pulsedetect_S(conv_integer(unsigned(board_control_A_S(20 downto 16)))); +sysmon_reset <= '1' when (reset='1') or (board_control_A_S(21)='1') else '0'; +sysmon_address_S(1 downto 0) <= board_control_A_S(23 downto 22); +sysmon_address_S(6 downto 2) <= (others => '0'); + +checksysmonchange: process(clock) +begin + if (rising_edge(clock)) then + if sysmon_address_S(1 downto 0)/=sysmon_address_saved_S(1 downto 0) then + sysmon_read <= '1'; + else + sysmon_read <= '0'; + end if; + sysmon_address_saved_S(1 downto 0) <= sysmon_address_S(1 downto 0); + end if; +end process; +sysmon_address <= sysmon_address_S; + + +board_status_A_S <= board_control_A_S; + +board_status_B_S(0) <= '0'; +board_status_B_S(1) <= enable_data; +board_status_B_S(3 downto 2) <= (others => '0'); +board_status_B_S(5 downto 4) <= sysmon_address_saved_S(1 downto 0); +board_status_B_S(15 downto 6) <= sysmon_data(15 downto 6); +board_status_B_S(23 downto 16) <= errorbyte_in; +board_status_B_S(31 downto 24) <= temperature_S; +errorbyte_out <= error_occurred_S; + + +board_status_D_S(31 downto 0) <= pulsefrequency_S; + + +FEE_pulse_and_pileup_waveforms1: FEE_pulse_and_pileup_waveforms port map( + clock => clock, + reset => reset, + superburstnumber => superburstnumber_S, + timestampcounter => timestampcounter_S, + ADCdata => ADCdata, + enable_data => enable_data, + slowcontrol_byte_data => slowcontrol_byte_data_S, + slowcontrol_byte_write => slowcontrol_byte_write_S, + slowcontrol_byte_request => slowcontrol_byte_request_S, + pulsedata_out => pulsedata_out_S, + pulsedata_read => pulsedata_read_S, + pulsedata_available => pulsedata_available_S, + pulsedata_inpipe => pulsedata_inpipe_S, + pileupdata_out => pileupdata_out_S, + pileupdata_read => pileupdata_read_S, + pileupdata_available => pileupdata_available_S, + pileupdata_inpipe => pileupdata_inpipe_S, + pulsedetect => pulsedetect_S, + overflow => overflow_S, + testindex => testindex, + testword0 => testword0, + testword1 => testword1, + testword2 => testword2 + ); + +pulse_notpresent_S <= not pulsedata_available_S; +FEE_combine_data1: FEE_combine_data port map( + clock => clock, + reset => reset, + -- signals to/from data fifo : + pulse_data => pulsedata_out_S, + pulse_notpresent => pulse_notpresent_S, + pulse_inpipe => pulsedata_inpipe_S, + pulse_read => pulsedata_read_S, + -- signals to/from slowcontrol fifo + slowcontrol_data => slowcontrol_data_S, + slowcontrol_address => slowcontrol_address_S, + slowcontrol_reply => slowcontrol_reply_S, + slowcontrol_notpresent => slowcontrol_notpresent_S, + slowcontrol_read => slowcontrol_read_S, + -- signals to/from waveform fifo + wave_data => pileupdata_out_S, + wave_notpresent => wave_notpresent_S, + wave_inpipe => pileupdata_inpipe_S, + wave_read => wave_read_S, + -- signals to/from fiber module + packet_data_out => packet_out_data, + packet_firstword => packet_out_first, + packet_lastword => packet_out_last, + packet_datawrite => packet_out_write, + packet_fifofull => packet_out_fifofull, + error => MUX_error_S, + testword0 => open); + +wave_notpresent_S <= '1' when (pileupdata_available_S='0') or (enable_waveform_S='0') else '0'; +pileupdata_read_S <= '1' when (enable_waveform_S='0') and (pileupdata_available_S='1') else wave_read_S; + +--gtpClk_I : IBUFDS port map( +-- O => gtpClk_S, +-- I => gtpClkP0, +-- IB => gtpClkN0); + +--GTX_refclock: IBUFDS_GTXE1 port map( +-- O => gtpClk_S, +-- ODIV2 => open, +-- CEB => '0', +-- I => MGTREFCLK_P, +-- IB => MGTREFCLK_N); +end generate; --debug + +gendebug3: if DEBUG='0' generate +FEE_measure_frequency1: FEE_measure_frequency port map( + clock => clock, + pulse => pulsedetectmux_S, + onesecondpulse => onesecondpulse, + frequency => pulsefrequency_S); +end generate; -- debug + +--TMP104module1: TMP104module port map( +-- clock => clock, +-- reset => reset, +-- smaart_in => smaart_in, +-- smaart_out => smaart_out, +-- temperature => temperature_S); +--testword0(34 downto 0) <= testword0_S(34 downto 0); +--testword0(35) <= enable_waveform_S; + +--testword1(15 downto 0) <= packet_in_data(31 downto 16); +--testword1(16) <= packet_in_present; +--testword1(17) <= packet_in_read_S; +--testword1(18) <= slowcontrol_byte_write_S; +--testword1(19) <= slowcontrol_byte_request_S; +--testword1(27 downto 20) <= slowcontrol_byte_data_S; +--testword1(28) <= slowcontrol_error1_S; +--testword1(29) <= receive_overflow_S; +--testword1(34 downto 30) <= testword1_S(4 downto 0); +--testword1(35) <= '1' when testword1_S(23 downto 0)=x"000000" else '0'; + + +end Behavioral; diff --git a/FEE_ADC32board/FEE_modules/FEE_baselinefollower_eventdetector.vhd b/FEE_ADC32board/FEE_modules/FEE_baselinefollower_eventdetector.vhd new file mode 100644 index 0000000..e350749 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_baselinefollower_eventdetector.vhd @@ -0,0 +1,158 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 27-01-2012 +-- Module Name: FEE_baselinefollower_eventdetector +-- Description: Baseline reconstruction, pulse detection +-- Modifications: +-- 16-09-2014 name changed from baselinefollower_eventdetector to FEE_baselinefollower_eventdetector +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + +---------------------------------------------------------------------------------- +-- FEE_baselinefollower_eventdetector +-- Baseline reconstruction, pulse detection +-- +-- generics +-- ADCBITS : number of ADC bits +-- BWBITS : number of bits for the IIR filter bandwidth +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- enable : enable detection of pulses +-- ADCdata : ADC sampling data +-- threshold : threshold above baseline for start of pulse +-- IIRfilterBW : factor for first order IIR filter; formula BW[Hz]=2^IIRfilterBW/(PI*(2^BWBITS)/samplefrequency) +-- maxabovebaseline : 2^maximum number of samples a pulse can last to prevent deadlock threshold/baseline +-- +-- outputs +-- baseline : resulting corrected baseline +-- ADC_delayed : ADC data delayed with 1 clock +-- ADC_minus_baseline : ADC values delayed minus baseline +-- baseline_inhibit : signal to indicate a pulse is valid and baseline filtering/stdev is inhibit +-- pulse_active : the ADC-signal exceeds the trigger-level +-- pulse_rising : the pulse has not yet reached its maximum +-- max_data : maximum value of waveform +-- +-- components +-- IIRfilter_1order : IIR filter for the baseline +-- FEE_eventdetector : detection of pulse +-- +---------------------------------------------------------------------------------- + + + +entity FEE_baselinefollower_eventdetector is + generic ( + ADCBITS : natural := 16; + BWBITS : natural := 10 + ); + port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + ADCdata : in std_logic_vector((ADCBITS-1) downto 0); + threshold : in std_logic_vector((ADCBITS-1) downto 0); + IIRfilterBW : in std_logic_vector(2 downto 0); + maxabovebaseline : in std_logic_vector(3 downto 0); + baseline : out std_logic_vector((ADCBITS-1) downto 0); + ADC_delayed : out std_logic_vector(ADCBITS-1 downto 0); + ADC_minus_baseline : out std_logic_vector(ADCBITS downto 0); + baseline_inhibit : out std_logic; + pulse_active : out std_logic; + pulse_rising : out std_logic; + max_data : out std_logic_vector(ADCBITS-1 downto 0) + ); +end FEE_baselinefollower_eventdetector; + +architecture Behavioral of FEE_baselinefollower_eventdetector is + +component iirfilter_1order_selectBW is + generic ( + ADCBITS : natural := ADCBITS; + BWBITS : natural := BWBITS + ); + port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector ((ADCBITS-1) downto 0); + BWidx : in std_logic_vector (2 downto 0); + inhibit : in std_logic; + data_out : out std_logic_vector ((ADCBITS-1) downto 0)); +end component; + +component FEE_eventdetector is + generic ( + ADCBITS : natural := ADCBITS + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector (ADCBITS downto 0); + threshold : in std_logic_vector ((ADCBITS-1) downto 0); + maxabovebaseline : in std_logic_vector (3 downto 0); + baseline_freeze : out std_logic; + pulse_active : out std_logic; + pulse_rising : out std_logic; + max_data : out std_logic_vector(ADCBITS-1 downto 0) + ); +end component; + +signal ADC_delayed_S : std_logic_vector((ADCBITS-1) downto 0) := (others => '0'); +signal baseline_S : std_logic_vector((ADCBITS-1) downto 0) := (others => '0'); +signal ADC_minusbaseline_S : std_logic_vector(ADCBITS downto 0) := (others => '0'); +signal baseline_inhibit_S : std_logic := '0'; +signal pulse_active_S : std_logic := '0'; +signal enable_S : std_logic := '0'; + + + +begin + + + +baselinefilter: iirfilter_1order_selectBW port map( + clock => clock, + reset => reset, + data_in => ADC_delayed_S, + BWidx => IIRfilterBW(2 downto 0), + inhibit => baseline_inhibit_S, + data_out => baseline_S); + +ADC_minusbaseline_S <= conv_std_logic_vector(conv_integer(signed('0' & ADCdata)) - conv_integer(signed('0' & baseline_S)),(ADCBITS+1)); + +FEE_eventdetector1: FEE_eventdetector port map( + clock => clock, + reset => reset, + data_in => ADC_minusbaseline_S, + threshold => threshold, + maxabovebaseline => maxabovebaseline, + baseline_freeze => baseline_inhibit_S, + pulse_active => pulse_active_S, + pulse_rising => pulse_rising, + max_data => max_data); +pulse_active <= pulse_active_S when enable_S='1' else '0'; + + +process(clock) +begin + if rising_edge(clock) then + ADC_delayed_S <= ADCdata; + if pulse_active_S='0' then + enable_S <= enable; + end if; + end if; +end process; + +baseline <= baseline_S; +baseline_inhibit <= baseline_inhibit_S; +ADC_delayed <= ADC_delayed_S; +ADC_minus_baseline <= ADC_minusbaseline_S; + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_board_slowcontrol.vhd b/FEE_ADC32board/FEE_modules/FEE_board_slowcontrol.vhd new file mode 100644 index 0000000..2059f59 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_board_slowcontrol.vhd @@ -0,0 +1,274 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 15-09-2014 +-- Module Name: FEE_board_slowcontrol +-- Description: Handles FEE board slowcontrol +-- 22-09-2014 single clock +-- 01-10-2014 request_init added: request initialize FEE +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_board_slowcontrol +-- Handles slow control for the FEE board control and status registers. +-- +-- The slow control commands are receives byte-wise: first 8-bits address, then 4 bytes data, MSB first. +-- There are four control registers. +-- +-- The status registers are requested with a request signal and the same 8-bits address, but no data bytes. +-- There are also four status registers. +-- These registers are buffered in a fifo. +-- +-- The slow control output to be send to the Data Concentrator consist of a 8-bits address, a 32 bits data word and a reply bit. +-- +-- Library +-- work.panda_package : for type declarations and constants +-- +-- Generics: +-- +-- Inputs: +-- clock : clock input +-- reset : reset +-- enable : enable module +-- overflow_in : overflow from the fiber packet receiver; this will issue an error slow command to be send to the DC +-- request_init : send a request to the DC to initialize all registers +-- byte_data : 8-bits slowcontrol data: +-- Byte0 : 8-bits address, lowest 2 bits selects register A,B,C or D +-- Byte1,2,3,4 : 32-bits data, MSB first +-- byte_write : write signal for byte-data +-- byte_request : request signal for reading data +-- slowcontrol_read : read signal for the slowcontrol output fifo +-- board_status_A : status register A +-- board_status_B : status register B +-- board_status_C : status register C +-- board_status_D : status register D +-- +-- Outputs: +-- slowcontrol_notpresent : empty signal +-- slowcontrol_data : slowcontrol 32-bits data +-- slowcontrol_address : slowcontrol 8-bits address +-- slowcontrol_reply : slowcontrol reply bit +-- board_control_A : control register A +-- board_control_B : control register B +-- board_control_C : control register C +-- board_control_D : control register D +-- overflow_out : buffer overflow form slowcontrol fifo or fiber packet buffer +-- +-- Components: +-- sync_fifo_512x41 : fifo for the slowcontrol commands +-- +---------------------------------------------------------------------------------- + +entity FEE_board_slowcontrol is + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + overflow_in : in std_logic; + request_init : in std_logic; + byte_data : in std_logic_vector(7 downto 0); + byte_write : in std_logic; + byte_request : in std_logic; + slowcontrol_read : in std_logic; + slowcontrol_notpresent : out std_logic; + slowcontrol_data : out std_logic_vector (31 downto 0); + slowcontrol_address : out std_logic_vector (7 downto 0); + slowcontrol_reply : out std_logic; + board_status_A : in std_logic_vector(31 downto 0); + board_status_B : in std_logic_vector(31 downto 0); + board_status_C : in std_logic_vector(31 downto 0); + board_status_D : in std_logic_vector(31 downto 0); + board_control_A : out std_logic_vector(31 downto 0); + board_control_B : out std_logic_vector(31 downto 0); + board_control_C : out std_logic_vector(31 downto 0); + board_control_D : out std_logic_vector(31 downto 0); + overflow_out : out std_logic + ); +end FEE_board_slowcontrol; + +architecture Behavioral of FEE_board_slowcontrol is + +component sync_fifo_512x41 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(40 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(40 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + +signal enable_S : std_logic; + +signal slowpacketvalid_S : std_logic := '0'; +signal slowcontrol_data_S : std_logic_vector (31 downto 0); +signal slowcontrol_address_S : std_logic_vector (7 downto 0); +signal slowcontrol_reply_S : std_logic := '0'; +signal slowcontrol_write_S : std_logic; +signal slowcontrol_fifofull_S : std_logic; + +signal board_control_A_S : std_logic_vector (31 downto 0) := x"00000000"; +signal board_control_B_S : std_logic_vector (31 downto 0) := x"00000000"; +signal board_control_C_S : std_logic_vector (31 downto 0) := x"00000000"; +signal board_control_D_S : std_logic_vector (31 downto 0) := x"00000000"; + + +signal slowcontrol_read_S : std_logic := '0'; +signal slowcontrol_read_after1clk_S : std_logic := '0'; +signal slowcontrol_fifoempty_S : std_logic := '0'; + +signal register_buf_S : std_logic_vector (31 downto 0); +signal byte_idx_S : integer range 0 to 4 := 0; +signal overflow1_S : std_logic := '0'; +signal overflow2_S : std_logic := '0'; +signal overflow_in_S : std_logic := '0'; +signal selected_S : std_logic := '0'; +signal selected_reg_s : std_logic_vector (1 downto 0); +signal request_init1_S : std_logic := '0'; +signal request_init_S : std_logic := '0'; + +signal fifo_in_S : std_logic_vector (40 downto 0); +signal fifo_out_S : std_logic_vector (40 downto 0); + +begin + +board_control_A <= board_control_A_S; +board_control_B <= board_control_B_S; +board_control_C <= board_control_C_S; +board_control_D <= board_control_D_S; +overflow_out <= '1' when (overflow1_S='1') or (overflow2_S='1') else '0'; + +process(clock) +begin + if rising_edge(clock) then + enable_S <= enable; + end if; +end process; + +read_bytewise_process: process(clock) +begin + if (rising_edge(clock)) then + slowcontrol_write_S <= '0'; + if (reset='1') or (enable_S='0') then + byte_idx_S <= 0; + selected_S <= '0'; + overflow1_S <= '0'; + overflow2_S <= '0'; + request_init1_S <= '0'; + else + if (overflow_in='1') and (overflow_in_S='0') then + overflow1_S <= '1'; + end if; + if (request_init='1') and (request_init_S='0') then + request_init1_S <= '1'; + end if; + if byte_idx_S=0 then + if (byte_write='1') then + if (byte_data(7 downto 2)=ADDRESS_FEE_CONTROL(7 downto 2)) then + selected_S <= '1'; + selected_reg_S <= byte_data(1 downto 0); + else + selected_S <= '0'; + end if; + byte_idx_S <= 1; + elsif byte_request='1' then + if (byte_data(7 downto 2)=ADDRESS_FEE_CONTROL(7 downto 2)) then + case byte_data(1 downto 0) is + when "00" => slowcontrol_data_S <= board_status_A; + when "01" => slowcontrol_data_S <= board_status_B; + when "10" => slowcontrol_data_S <= board_status_C; + when "11" => slowcontrol_data_S <= board_status_D; + when others => + end case; + slowcontrol_address_S <= byte_data; + slowcontrol_reply_S <= '1'; + slowcontrol_write_S <= '1'; + if slowcontrol_fifofull_S='1' then + overflow2_S <= '1'; + end if; + end if; + selected_S <= '0'; + byte_idx_S <= 0; + elsif request_init1_S='1' then + selected_S <= '0'; + if (slowcontrol_fifofull_S='0') then -- send request init FEE command + request_init1_S <= '0'; + slowcontrol_data_S <= (others => '0'); + slowcontrol_address_S <= ADDRESS_FEE_REQUESTALLREGISTERS; + slowcontrol_reply_S <= '1'; + slowcontrol_write_S <= '1'; + end if; + else + selected_S <= '0'; + if (overflow1_S='1') or (overflow2_S='1') then + if (slowcontrol_fifofull_S='0') then -- send error slowcontrol command + overflow1_S <= '0'; + overflow2_S <= '0'; + slowcontrol_data_S <= (others => '0'); + slowcontrol_address_S <= ADDRESS_FEE_SLOWCONTROLERROR; + slowcontrol_reply_S <= '1'; -- ?? + slowcontrol_write_S <= '1'; + end if; + end if; + end if; + elsif byte_request='1' then -- unexpected : synchronize + byte_idx_S <= 0; + else + if selected_S='1' then + case byte_idx_S is + when 1 => + register_buf_S(31 downto 24) <= byte_data; + when 2 => + register_buf_S(23 downto 16) <= byte_data; + when 3 => + register_buf_S(15 downto 8) <= byte_data; + when 4 => + case selected_reg_S is + when "00" => board_control_A_S <= register_buf_S(31 downto 8) & byte_data; + when "01" => board_control_B_S <= register_buf_S(31 downto 8) & byte_data; + when "10" => board_control_C_S <= register_buf_S(31 downto 8) & byte_data; + when "11" => board_control_D_S <= register_buf_S(31 downto 8) & byte_data; + when others => + end case; + when others => + end case; + end if; + if byte_idx_S<4 then + byte_idx_S <= byte_idx_S+1; + else + byte_idx_S <= 0; + end if; + end if; + end if; + overflow_in_S <= overflow_in; + request_init_S <= request_init; + end if; +end process; + +fifo_in_S <= slowcontrol_reply_S & slowcontrol_address_S & slowcontrol_data_S; +fifo1: sync_fifo_512x41 port map( + rst => reset, + clk => clock, + din => fifo_in_S, + wr_en => slowcontrol_write_S, + rd_en => slowcontrol_read, + dout => fifo_out_S, + full => slowcontrol_fifofull_S, + empty => slowcontrol_notpresent); + +slowcontrol_data <= fifo_out_S(31 downto 0); +slowcontrol_address <= fifo_out_S(39 downto 32); +slowcontrol_reply <= fifo_out_S(40); + + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_combine_data.vhd b/FEE_ADC32board/FEE_modules/FEE_combine_data.vhd new file mode 100644 index 0000000..d186789 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_combine_data.vhd @@ -0,0 +1,574 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 28-02-2012 +-- Module Name: FEE_combine_data +-- Description: Write Front End Data, waveforms and Slow-control commands to fiber to Multiplexer +-- Modifications: +-- 09-09-2014 New data formats without hamming code +-- 10-10-2014 Integral as measurement for the energy instead of maximum +-- 16-10-2014 Inpipe signals, better sorting between waveforms and single pulse packets +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_combine_data +-- Module in the Front End Electronics that builds packets from Pulse data, waveforms and +-- Slow-control data to send to the fiber module. +-- +-- The pulse data consists of three successive 36-bits words with bits 35..34 the index: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- +-- The Slow-control commands consists of address and data plus a bit to indicate reply. +-- If an error occurs then a slowcontrol packet with address ADDRESS_FEE_SLOWCONTROLERROR is sent +-- +-- The waveform data consists of 36-bits data with variable length : +-- bits(35..32)="0000" : bits(31..16)=superburstnumber, bits(31..0)=timestamp inside superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- +-- +-- The resulting data packets : 4 32-bit words, with CRC8 in last word +-- 0xDA ADCnumber(7..0) superburstnumber(15..0) +-- 0000 energy(15..0) +-- CF_before(15..0) CF_after(15..0) +-- timestamp(15..0) statusbyte(7..0) CRC8(7..0) +-- +-- The slow control packets : 2 32-bit words, with CRC8 in last word +-- 0x5C address(7..0) replybit 0000000 data(31..24) +-- data(23..0) CRC8(7..0) +-- +-- The waveform packets : 32-bit words, with CRC8 in last word +-- 0xAF ADCnumber(7..0) superburstnumber(15..0) +-- timestamp(15..0) 0x00 statusbyte(7..0) +-- 0 adc0(14..0) 0 adc1(14..0) : 2 adc-samples 15 bits signed +-- 0 adc2(14..0) 0 adc3(14..0) : next 2 adc-samples 15 bits signed +-- ......... +-- 1 adcn(14..0) 1 00 CRC8(7..0) : last 32-bit word: last adc-sample 15 bits signed +-- or +-- 0 0000 1 00 CRC8(7..0) : last 32-bit word: no sample-- +-- +-- Library +-- work.panda_package : for type declarations and constants +-- +-- Generics: +-- +-- Inputs: +-- clock : clock input +-- reset : synchronous reset +-- pulse_data : data with results from Feature Extraction +-- pulse_notpresent : pulse data not available (empty signal from connected fifo) +-- pulse_inpipe : more single pulse data on its way +-- slowcontrol_data : slow-control command : +-- first address-word with bit31=reply, bit30..28=101 and bit23..0=address then data-word +-- slowcontrol_notpresent : slow-control not available (empty signal from fifo) +-- wave_data : data with pileup waveforms from pileup multiplexer +-- wave_notpresent : pileup waveform not available (empty signal from fifo) +-- wave_inpipe : more wave data on its way +-- packet_fifofull : connected fifo for packet data is full +-- +-- Outputs: +-- pulse_read : read signal for pulse data +-- slowcontrol_read : read signal for slow-control data +-- wave_read : read signal for pileup waveform data +-- packet_data_out : packet data to fiber module +-- packet_firstword : first 32-bit data word of a packet +-- packet_lastword : last 32-bit data word of a packet +-- packet_datawrite : write signal for packet data +-- error : error on incomming data (no sequential index) +-- +-- Components: +-- crc8_add_check32 : add and checks a CRC8 code to a stream of 32 bits data words +-- the check is not used in this module +-- +---------------------------------------------------------------------------------- + +entity FEE_combine_data is + port ( + clock : in std_logic; + reset : in std_logic; + -- signals to/from data fifo : + pulse_data : in std_logic_vector(35 downto 0); + pulse_notpresent : in std_logic; -- empty signal from fifo + pulse_inpipe : in std_logic; + pulse_read : out std_logic; -- read from FWFT fifo + -- signals to/from slowcontrol fifo + slowcontrol_data : in std_logic_vector(31 downto 0); + slowcontrol_address : in std_logic_vector(7 downto 0); + slowcontrol_reply : in std_logic; + slowcontrol_notpresent : in std_logic; -- empty signal from fifo + slowcontrol_read : out std_logic; -- read from normal fifo + -- signals to/from waveform fifo + wave_data : in std_logic_vector(35 downto 0); + wave_notpresent : in std_logic; -- empty signal from fifo + wave_inpipe : in std_logic; + wave_read : out std_logic; -- read from FWFT fifo + -- signals to/from fiber module + packet_data_out : out std_logic_vector(31 downto 0); + packet_firstword : out std_logic; + packet_lastword : out std_logic; + packet_datawrite : out std_logic; + packet_fifofull : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0)); +end FEE_combine_data; + +architecture Behavioral of FEE_combine_data is + +component crc8_add_check32 is + port( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(31 DOWNTO 0); + data_in_valid : in std_logic; + data_in_last : in std_logic; + data_out : out std_logic_vector(31 DOWNTO 0); + data_out_valid : out std_logic; + data_out_last : out std_logic; + crc_error : out std_logic + ); +end component; + +constant INPIPE_DELAY : integer := 255; + +type tx_state_type is (init,idle,data0,data1,data2,wave0,wave1,wave2,slow0); +signal tx_state_S : tx_state_type := init; + +signal error_S : std_logic := '0'; +signal pulse_read0_S : std_logic := '0'; +signal pulse_read_S : std_logic := '0'; + +signal crc8_data_in_S : std_logic_vector (31 downto 0); +signal crc8_reset_S : std_logic := '0'; +signal crc8_clear_S : std_logic := '0'; +signal crc8_data_in_valid_S : std_logic := '0'; +signal crc8_data_in_last_S : std_logic := '0'; +signal crc8_writeword_S : std_logic := '0'; +signal crc8_data_out_valid_S : std_logic := '0'; +signal prev_crc8_data_out_valid_S : std_logic := '0'; +signal crc8_data_out_last_S : std_logic := '0'; +signal prev_crc8_data_out_last_S : std_logic := '0'; + +signal crc8_lastword_S : std_logic_vector (31 downto 0); +signal crc8_lastwrite_S : std_logic := '0'; +signal slowcontrol_read_S : std_logic := '0'; + +signal packet_datawrite_S : std_logic; +signal packet_lastword_S : std_logic; +signal packet_firstword_S : std_logic := '1'; + + +--signal delay_inpipe_pulse_S : std_logic := '0'; +--signal delay_inpipe_wave_S : std_logic := '0'; + +signal wave_read0_S : std_logic := '0'; +signal wave_read_S : std_logic := '0'; +signal superburst_S : std_logic_vector (15 downto 0); +signal timestamp_S : std_logic_vector (15 downto 0); +signal statusbyte_S : std_logic_vector (7 downto 0); +--signal channel_S : std_logic_vector (7 downto 0); +signal energy_S : std_logic_vector (15 downto 0); +signal CF_before_S : std_logic_vector (15 downto 0); +signal CF_after_S : std_logic_vector (15 downto 0); + + +signal waveisolder_S : std_logic := '0'; + +begin + +error <= error_S; + +crc8_data_in_valid_S <= '1' when (crc8_writeword_S='1') and (packet_fifofull='0') else '0'; +crc8_reset_S <= '1' when (crc8_clear_S='1') or (reset='1') else '0'; +crc8check: crc8_add_check32 port map( + clock => clock, + reset => crc8_reset_S, + data_in => crc8_data_in_S, + data_in_valid => crc8_data_in_valid_S, + data_in_last => crc8_data_in_last_S, + data_out => packet_data_out, + data_out_valid => crc8_data_out_valid_S, + data_out_last => crc8_data_out_last_S, + crc_error => open); -- only generate, no check + +packet_datawrite <= packet_datawrite_S; +packet_datawrite_S <= '1' when ((crc8_data_out_valid_S='1') and (packet_fifofull='0')) or + ((prev_crc8_data_out_valid_S='1') and (packet_fifofull='0')) else '0'; +packet_lastword <= packet_lastword_S; +packet_lastword_S <= '1' when (crc8_data_out_last_S='1') or (prev_crc8_data_out_last_S='1') else '0'; +packet_firstword <= '1' when (packet_firstword_S='1') and (packet_datawrite_S='1') else '0'; + +process(clock) -- process to determine firstword +begin + if rising_edge(clock) then + if reset='1' then + packet_firstword_S <= '1'; + else + if (packet_datawrite_S='1') and (packet_lastword_S='1') then + packet_firstword_S <= '1'; + elsif packet_datawrite_S='1' then + packet_firstword_S <= '0'; + end if; + end if; + end if; +end process; + + +process(clock) -- process to freeze output of crc8 in case of packet_fifofull +begin + if rising_edge(clock) then + if reset='1' then + prev_crc8_data_out_valid_S <= '0'; + prev_crc8_data_out_last_S <= '0'; + else + if ((crc8_data_out_valid_S='1') and (packet_fifofull='1')) then + prev_crc8_data_out_valid_S <= '1'; + prev_crc8_data_out_last_S <= crc8_data_out_last_S; + elsif ((crc8_data_out_valid_S='1') and (packet_fifofull='0')) then + prev_crc8_data_out_valid_S <= '0'; + prev_crc8_data_out_last_S <= '0'; + elsif ((crc8_data_out_valid_S='0') and (packet_fifofull='0')) then + prev_crc8_data_out_last_S <= '0'; + prev_crc8_data_out_valid_S <= '0'; + elsif ((crc8_data_out_valid_S='0') and (packet_fifofull='1')) then + prev_crc8_data_out_valid_S <= prev_crc8_data_out_valid_S; + prev_crc8_data_out_last_S <= prev_crc8_data_out_last_S; + end if; + end if; + end if; +end process; + +wave_read <= wave_read_S; +pulse_read <= pulse_read_S; +slowcontrol_read <= slowcontrol_read_S; + +--process(clock) +--variable inpipe_counter_V : integer range 0 to INPIPE_DELAY := 0; +--begin +-- if rising_edge(clock) then +-- if reset='1' then +-- inpipe_counter_V := 0; +-- delay_inpipe_pulse_S <= '0'; +-- else +-- if (pulse_read_S='1') or -- and (dfifo_prog_empty_S(index)='1')) or +-- (wave_read_S='1') -- and (dfifo_prog_empty_S(index_other)='1')) +-- then +-- inpipe_counter_V := INPIPE_DELAY; +-- delay_inpipe_pulse_S <= '1'; +-- else +-- if inpipe_counter_V/=0 then +-- inpipe_counter_V := inpipe_counter_V-1; +-- delay_inpipe_pulse_S <= '1'; +-- else +-- delay_inpipe_pulse_S <= '0'; +-- end if; +-- end if; +-- end if; +-- end if; +--end process; +-- +--process(clock) +--variable inpipe_counter_V : integer range 0 to INPIPE_DELAY := 0; +--begin +-- if rising_edge(clock) then +-- if reset='1' then +-- inpipe_counter_V := 0; +-- delay_inpipe_wave_S <= '0'; +-- else +-- if (wave_read_S='1') or -- and (dfifo_prog_empty_S(index)='1')) or +-- (pulse_read_S='1') -- and (dfifo_prog_empty_S(index_other)='1')) +-- then +-- inpipe_counter_V := INPIPE_DELAY; +-- delay_inpipe_wave_S <= '1'; +-- else +-- if inpipe_counter_V/=0 then +-- inpipe_counter_V := inpipe_counter_V-1; +-- delay_inpipe_wave_S <= '1'; +-- else +-- delay_inpipe_wave_S <= '0'; +-- end if; +-- end if; +-- end if; +-- end if; +--end process; + +waveisolder_S <= '1' when ((wave_data(31 downto 16) + crc8_data_in_last_S <= '0'; + timeoutcounter_V := 0; + crc8_clear_S <= '1'; -- clear crc + error_S <= '0'; + crc8_lastwrite_S <= '0'; + tx_state_S <= idle; + when idle => + timeoutcounter_V := 0; + crc8_clear_S <= '0'; + if crc8_lastwrite_S='1' then + crc8_lastwrite_S <= '0'; + crc8_data_in_S <= crc8_lastword_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '1'; + else + crc8_data_in_last_S <= '0'; + end if; + + if pulse_read_S='1' then + if pulse_data(35 downto 34)="00" then + error_S <= '0'; +-- channel_S(0) <= pulse_data(33); + if pulse_data(32)='1' then + statusbyte_S <= STATBYTE_FEEPULSESKIPPED; + else + statusbyte_S <= x"00"; + end if; + superburst_S <= pulse_data(31 downto 16); + timestamp_S <= pulse_data(15 downto 0); + tx_state_S <= data0; + else + error_S <= '1'; + end if; + elsif slowcontrol_read_S='1' then + error_S <= '0'; + tx_state_S <= slow0; + elsif wave_read_S='1' then + if wave_data(35 downto 32)="0000" then + superburst_S <= wave_data(31 downto 16); + timestamp_S <= wave_data(15 downto 0); + error_S <= '0'; + tx_state_S <= wave0; + else + error_S <= '1'; + end if; + else + end if; + when data0 => + if pulse_read_S='1' then + timeoutcounter_V := 0; + if pulse_data(35 downto 34)="01" then +-- channel_S(7 downto 0) <= pulse_data(23 downto 16); + energy_S <= pulse_data(15 downto 0); + crc8_data_in_S <= x"DA" & pulse_data(23 downto 16) & superburst_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + tx_state_S <= data1; + else + error_S <= '1'; + tx_state_S <= init; + end if; + else + if timeoutcounter_V/=15 then + timeoutcounter_V := timeoutcounter_V+1; + else + error_S <= '1'; + tx_state_S <= init; + end if; + end if; + when data1 => + if pulse_read_S='1' then + timeoutcounter_V := 0; + if pulse_data(35 downto 34)="10" then + CF_before_S <= pulse_data(31 downto 16); + CF_after_S <= pulse_data(15 downto 0); + crc8_data_in_S <= x"0000" & energy_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + tx_state_S <= data2; + else + error_S <= '1'; + tx_state_S <= init; + end if; + else + if timeoutcounter_V/=15 then + timeoutcounter_V := timeoutcounter_V+1; + else + error_S <= '1'; + tx_state_S <= init; + end if; + end if; + when data2 => + crc8_data_in_S <= CF_before_S & CF_after_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + crc8_lastword_S <= timestamp_S & statusbyte_S & x"00"; + crc8_lastwrite_S <= '1'; + tx_state_S <= idle; + + when wave0 => + if wave_read_S='1' then + timeoutcounter_V := 0; + if wave_data(35 downto 32)="0001" then + statusbyte_S <= wave_data(31 downto 24); +-- channel_S <= wave_data(7 downto 0); + else + error_S <= '1'; + tx_state_S <= init; + end if; + crc8_data_in_S <= x"AF" & wave_data(7 downto 0) & superburst_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + tx_state_S <= wave1; + else + if timeoutcounter_V/=15 then + timeoutcounter_V := timeoutcounter_V+1; + else + error_S <= '1'; + tx_state_S <= init; + end if; + end if; + when wave1 => + crc8_data_in_S <= timestamp_S & x"00" & statusbyte_S; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + tx_state_S <= wave2; + when wave2 => + if wave_read_S='1' then + timeoutcounter_V := 0; + if wave_data(35 downto 32)="0010" then -- 2 samples + crc8_data_in_S <= '0' & wave_data(30 downto 16) & '0' & wave_data(14 downto 0); + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + tx_state_S <= wave2; + elsif wave_data(35 downto 32)="0100" then -- last sample + crc8_data_in_S <= '1' & wave_data(30 downto 16) & "1000" & x"000"; + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '1'; + crc8_lastwrite_S <= '0'; + tx_state_S <= idle; + elsif wave_data(35 downto 32)="0101" then -- last 2 samples, one lastword with crc needed + crc8_data_in_S <= '0' & wave_data(30 downto 16) & '0' & wave_data(14 downto 0); + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + crc8_lastword_S <= x"0000" & x"80" & x"00"; + crc8_lastwrite_S <= '1'; + tx_state_S <= idle; + else + error_S <= '1'; + tx_state_S <= init; + end if; + else + if timeoutcounter_V/=15 then + timeoutcounter_V := timeoutcounter_V+1; + else + error_S <= '1'; + tx_state_S <= init; + end if; + end if; + + when slow0 => + crc8_data_in_S <= x"5c" & slowcontrol_address & slowcontrol_reply & "0000000" & slowcontrol_data(31 downto 24); + crc8_writeword_S <= '1'; + crc8_data_in_last_S <= '0'; + crc8_lastword_S <= slowcontrol_data(23 downto 0) & x"00"; + crc8_lastwrite_S <= '1'; + tx_state_S <= idle; + + when others => + error_S <= '1'; + tx_state_S <= init; + end case; + end if; + end if; + end if; +end process datahandling; + + + + +testword0(3 downto 0) <= pulse_data(35 downto 32); +testword0(4) <= pulse_notpresent; +testword0(5) <= pulse_inpipe; +testword0(6) <= pulse_read_S; +testword0(7) <= pulse_read0_S; + +testword0(11 downto 8) <= wave_data(35 downto 32); +testword0(12) <= wave_notpresent; +testword0(13) <= wave_inpipe; +testword0(14) <= wave_read_S; +testword0(15) <= wave_read0_S; + +testword0(19 downto 16) <= + x"0" when tx_state_S=init else + x"1" when tx_state_S=idle else + x"2" when tx_state_S=data0 else + x"3" when tx_state_S=data1 else + x"4" when tx_state_S=data2 else + x"5" when tx_state_S=wave0 else + x"6" when tx_state_S=wave1 else + x"7" when tx_state_S=wave2 else + x"8" when tx_state_S=slow0 else + x"f"; + +testword0(20) <= waveisolder_S; +testword0(21) <= crc8_reset_S; +testword0(22) <= crc8_clear_S; +testword0(23) <= crc8_data_in_valid_S; +testword0(24) <= crc8_data_in_last_S; +testword0(25) <= crc8_writeword_S; +testword0(26) <= crc8_data_out_valid_S; +testword0(27) <= crc8_data_out_last_S; +testword0(28) <= '0'; +testword0(29) <= crc8_lastwrite_S; +testword0(30) <= slowcontrol_notpresent; +testword0(31) <= slowcontrol_read_S; +testword0(32) <= packet_datawrite_S; +testword0(33) <= packet_lastword_S; +testword0(34) <= packet_firstword_S; + + +testword0(35) <= error_S; + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_dual_pulse_waveform.vhd b/FEE_ADC32board/FEE_modules/FEE_dual_pulse_waveform.vhd new file mode 100644 index 0000000..eb2e45b --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_dual_pulse_waveform.vhd @@ -0,0 +1,782 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 30-01-2012 +-- Module Name: FEE_dual_pulse_waveform +-- Description: Module to detect pulses and outputs them as waveforms with single pulse or pile-up, dual gain inputs +-- Modifications: +-- 08-09-2014 Added: Constant Fraction values before and after zero-crossing +-- 16-09-2014 name changed from dual_pulse_waveform to FEE_dual_pulse_waveform +-- 22-09-2014 single clock +-- 24-09-2014 enable_highgain and enable_lowgain inputs added +-- 10-10-2014 Integral as measurement for the energy instead of maximum +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_dual_pulse_waveform +-- Module to detect pulses and outputs them as waveforms with single pulse or pile-up +-- Two ADC inputs, one for the high gain and one for the low gain are corrected for baseline fluctuations. +-- If a pulse or pileup is detected at the low-gain input, the high-gain input is ignored. +-- Pulses are detected: check if the ADC signal is above the adjustable tresshold. +-- The samples are stored in buffer memory as waveform. +-- The actual superburst-number and a timestamp within the superburst is added. +-- Waveforms longer than an adjustable duration are treated as pileup waveforms, +-- waveforms shorter than this, but longer as an adjustable minimum duration are tested for Integral/Maximum ratio: +-- The waveform is discarded if the maximum multiplied with IdivMAX_discard value is larger than the integral. +-- The waveform is regarded as pileup if the maximum multiplied with IdivMAX_pileup value is smaller than the integral. +-- From the single pulse waveforms the Constant Fraction values before and after the zero-crossing are put in the +-- resulting packet, as well as two successive samples containing the maximum of the pulse. +-- +-- +-- generics +-- ADCBITS : number of ADC-bits +-- BWBITS : number of bits for the IIR filter bandwidth +-- WAVEFORMBUFFERSIZE : number of bits for the buffer memory address: power of this constant will give the size +-- IDIVMAXBITS : number of bits for maximum to integral ratio check +-- INTEGRALRATIOBITS : number of bits for integral to energy ratio (bits to shift to the right) +-- CF_DELAYBITS : number of bits for the Constant Fraction delay +-- +-- inputs +-- clock : clock +-- reset : synchrounous reset +-- enable : enable pulse detection +-- superburstnumber : actual superburstnumber +-- timestampcounter : timestampcounter within superburst +-- ADCdata_highgain : ADC signal from the high-gain input +-- ADCdata_lowgain : ADC signal from the low-gain input +-- threshold_highgain : threshold above baseline for start of pulse (high gain) +-- threshold_lowgain : threshold above baseline for start of pulse (low gain) +-- enable_highgain : enable high gain input +-- enable_lowgain : enable low gain input +-- IIRfilterBW : factor for first order IIR filter; formula BW[Hz]=2^IIRfilterBW/(PI*(2^BWBITS)/samplefrequency) +-- maxabovebaseline : 2^maximum number of samples a pulse can last to prevent deadlock threshold/baseline +-- minpulselength : number of samples below which the pulse is ignored +-- pileuplength : number of samples above which the pulse is treated as pileup +-- maxwavelength : maximum number of samples that can be saved in one waveform +-- IdivMAX_discard : when this value multiplied with the maximum is larger than the integral then the waveform is discarded +-- IdivMAX_pileup : when this value multiplied with the maximum is smaller than the integral then the waveform is regarded as pileup +-- fullsize_wave_highgain : take waveforms with maximum size for highgain input +-- fullsize_wave_lowgain : take waveforms with maximum size for lowgain input +-- pulsedata_allowed : writing of pulse 36-bits data result allowed +-- pulsedata_almostfull : input fifo multiplexer is too full for complete maximum-length waveform +-- pileupdata_allowed : writing of pileup 36-bits data result allowed +-- pileupdata_almostfull : input fifo multiplexer is too full for complete maximum-length waveform +-- +-- outputs +-- ADC_minus_baseline_highgain : baseline compensated signal from high gain input, signed +-- ADC_minus_baseline_lowgain : baseline compensated signal from low gain input, signed +-- pulsedata_write : write 36-bits pulse data result +-- pulsedata_out : 36-bits pulse data result: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- pileupdata_write : write 36-bits pileup data result +-- pileupdata_out : 36-bits pileup data result: +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identification) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- pulsedetect : indicates if a pulse (regular or pileup) is detected on the high or low-gain input +-- overflow : pulse or pileup waveform is lost +-- +-- Components: +-- FEE_baselinefollower_eventdetector : baseline follower with detection of pulse +-- FEE_pileup_check : check length of pulse and Maximum/Integral ratio to determine if pileup occurred +-- FEE_extract_pulse : perform maximum check and constant fraction +-- FEE_pulsewaveform_buffer : buffer for waveform data, timestamps arre added +-- FEE_waveform_to_36bits : convert waveform data to 36-bits wide data stream +-- FEE_wavemux2to1 : select next waveform, based on timestamp +-- FEE_pulse2to1_pulse : combine hits from high and low gain ADC inputs to one data packet stream +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_dual_pulse_waveform is + generic ( + ADCBITS : natural := 14; + BWBITS : natural := 10; + WAVEFORMBUFFERSIZE : natural := 11; + IDIVMAXBITS : natural := 6; + INTEGRALRATIOBITS : natural := 3; + CF_DELAYBITS : natural := 8 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + adcnumber : in std_logic_vector(7 downto 0); + cf_delay : in std_logic_vector(CF_DELAYBITS-1 downto 0); + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADCdata_highgain : in std_logic_vector((ADCBITS-1) downto 0); + ADCdata_lowgain : in std_logic_vector((ADCBITS-1) downto 0); + threshold_highgain : in std_logic_vector((ADCBITS-1) downto 0); + threshold_lowgain : in std_logic_vector((ADCBITS-1) downto 0); + enable_highgain : in std_logic; + enable_lowgain : in std_logic; + IIRfilterBW : in std_logic_vector(2 downto 0); + maxabovebaseline : in std_logic_vector(3 downto 0); + minpulselength : in std_logic_vector(7 downto 0); + pileuplength : in std_logic_vector(7 downto 0); + maxwavelength : in std_logic_vector(7 downto 0); + IdivMAX_discard : in std_logic_vector(IDIVMAXBITS-1 downto 0); + IdivMAX_pileup : in std_logic_vector(IDIVMAXBITS-1 downto 0); + fullsize_wave_highgain : in std_logic; + fullsize_wave_lowgain : in std_logic; + ADC_minus_baseline_highgain : out std_logic_vector(ADCBITS downto 0); + ADC_minus_baseline_lowgain : out std_logic_vector(ADCBITS downto 0); + pulsedata_allowed : in std_logic; + pulsedata_almostfull : in std_logic; + pulsedata_write : out std_logic; + pulsedata_out : out std_logic_vector(35 downto 0); + pileupdata_allowed : in std_logic; + pileupdata_almostfull : in std_logic; + pileupdata_write : out std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pulsedetect : out std_logic; + overflow : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end FEE_dual_pulse_waveform; + +architecture Behavioral of FEE_dual_pulse_waveform is + +component FEE_baselinefollower_eventdetector is + generic ( + ADCBITS : natural := ADCBITS; + BWBITS : natural := BWBITS + ); + port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + ADCdata : in std_logic_vector((ADCBITS-1) downto 0); + threshold : in std_logic_vector((ADCBITS-1) downto 0); + IIRfilterBW : in std_logic_vector(2 downto 0); + maxabovebaseline : in std_logic_vector(3 downto 0); + baseline : out std_logic_vector((ADCBITS-1) downto 0); + ADC_delayed : out std_logic_vector(ADCBITS-1 downto 0); + ADC_minus_baseline : out std_logic_vector(ADCBITS downto 0); + baseline_inhibit : out std_logic; + pulse_active : out std_logic; + pulse_rising : out std_logic; + max_data : out std_logic_vector(ADCBITS-1 downto 0) + ); +end component; + +component FEE_pileup_check is + generic ( + ADCBITS : natural := ADCBITS; + IDIVMAXBITS : natural := IDIVMAXBITS; + INTEGRALRATIOBITS : natural := INTEGRALRATIOBITS + ); + Port ( + clock : in std_logic; + reset : in std_logic; + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADC_highgain : in std_logic_vector(ADCBITS downto 0); -- signed + enable_highgain : in std_logic; + max_data_highgain : in std_logic_vector(ADCBITS-1 downto 0); -- unsigned + pulse_active_highgain : in std_logic; + pulse_rising_highgain : in std_logic; + clipping_highgain : in std_logic; + ADC_lowgain : in std_logic_vector(ADCBITS downto 0); -- signed + enable_lowgain : in std_logic; + max_data_lowgain : in std_logic_vector(ADCBITS-1 downto 0); -- unsigned + pulse_active_lowgain : in std_logic; + pulse_rising_lowgain : in std_logic; + minpulselength : in std_logic_vector(7 downto 0); + pileuplength : in std_logic_vector(7 downto 0); + maxwavelength : in std_logic_vector(7 downto 0); + IdivMAX_discard : in std_logic_vector(IDIVMAXBITS-1 downto 0); + IdivMAX_pileup : in std_logic_vector(IDIVMAXBITS-1 downto 0); + fullsize_wave_highgain : in std_logic; + fullsize_wave_lowgain : in std_logic; + pulse_valid_highgain : out std_logic; + singlepulse_highgain : out std_logic; + pileuppulse_highgain : out std_logic; + clearpulse_highgain : out std_logic; + integral_highgain : out std_logic_vector(15 downto 0); + pulse_valid_lowgain : out std_logic; + singlepulse_lowgain : out std_logic; + pileuppulse_lowgain : out std_logic; + clearpulse_lowgain : out std_logic; + integral_lowgain : out std_logic_vector(15 downto 0); + superburst : out std_logic_vector(15 downto 0); + timestamp : out std_logic_vector(15 downto 0); + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + + +component FEE_extract_pulse is + generic ( + ADCBITS : natural := ADCBITS; + WAVEFORMBUFFERSIZE : natural := WAVEFORMBUFFERSIZE; + CF_DELAYBITS : natural := CF_DELAYBITS + ); + Port ( + clock : in std_logic; + reset : in std_logic; + cf_delay : in std_logic_vector(CF_DELAYBITS-1 downto 0); + pulse_valid : in std_logic; + pulse_rising : in std_logic; + pulse_detected : in std_logic; + pileup_detected : in std_logic; + clear_waveform : in std_logic; + data_in : in std_logic_vector(ADCBITS downto 0); -- signed data + integral : in std_logic_vector(15 downto 0); + superburstnumber : in std_logic_vector(30 downto 0); + timestamp : in std_logic_vector(15 downto 0); + pulse_write : out std_logic; + pulse_superburst : out std_logic_vector(15 downto 0); + pulse_timestamp : out std_logic_vector(15 downto 0); + pulse_skipped : out std_logic; + pulse_energy : out std_logic_vector(15 downto 0); + pulse_CF1 : out std_logic_vector(15 downto 0); + pulse_CF2 : out std_logic_vector(15 downto 0) + ); +end component; + + +component FEE_pulsewaveform_buffer is + generic ( + ADCBITS : natural := ADCBITS; + WAVEFORMBUFFERSIZE : natural := WAVEFORMBUFFERSIZE + ); + Port ( + clock : in std_logic; + reset : in std_logic; + pulse_valid : in std_logic; + pulse_rising : in std_logic; + pulse_detected : in std_logic; + pileup_detected : in std_logic; + clear_waveform : in std_logic; + data_in : in std_logic_vector(ADCBITS downto 0); -- signed data + superburst : in std_logic_vector(15 downto 0); + timestamp : in std_logic_vector(15 downto 0); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + overflow : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_waveform_to_36bits is + Port ( + clock : in std_logic; + reset : in std_logic; + adcnumber : in std_logic_vector(7 downto 0); + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + overflow_in : in std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pileupdata_write : out std_logic; + pileupdata_allowed : in std_logic; + pileupdata_almostfull : in std_logic; + error : out std_logic; + overflow_out : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_wavemux2to1 is + generic( + TIMEOUTBITS : natural := 16 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data1_in : in std_logic_vector(35 downto 0); + data1_in_write : in std_logic; + data1_in_available : in std_logic; + data1_in_allowed : out std_logic; + data2_in : in std_logic_vector(35 downto 0); + data2_in_write : in std_logic; + data2_in_available : in std_logic; + data2_in_allowed : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_available : out std_logic; + data_out_allowed : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_pulse2to1_pulse is + Port ( + clock : in std_logic; + reset : in std_logic; + channel : in std_logic_vector(7 downto 0); + pulse1_write : in std_logic; + pulse1_superburst : in std_logic_vector(15 downto 0); + pulse1_timestamp : in std_logic_vector(15 downto 0); + pulse1_skipped : in std_logic; + pulse1_energy : in std_logic_vector(15 downto 0); + pulse1_CF1 : in std_logic_vector(15 downto 0); + pulse1_CF2 : in std_logic_vector(15 downto 0); + pulse2_write : in std_logic; + pulse2_superburst : in std_logic_vector(15 downto 0); + pulse2_timestamp : in std_logic_vector(15 downto 0); + pulse2_skipped : in std_logic; + pulse2_energy : in std_logic_vector(15 downto 0); + pulse2_CF1 : in std_logic_vector(15 downto 0); + pulse2_CF2 : in std_logic_vector(15 downto 0); + pulse_skipped : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_almostfull : in std_logic; + data_out_allowed : in std_logic + ); +end component; + + + +signal pulsedetect_S : std_logic := '0'; + +signal pulse_active_highgain_S : std_logic := '0'; +signal pulse_rising_highgain0_S : std_logic := '0'; +signal pulse_rising_highgain_S : std_logic := '0'; +signal pulse_active_lowgain_S : std_logic := '0'; +signal pulse_rising_lowgain0_S : std_logic := '0'; +signal pulse_rising_lowgain_S : std_logic := '0'; +signal ADC_minus_baseline_highgain0_S : std_logic_vector(ADCBITS downto 0); +signal ADC_minus_baseline_lowgain0_S : std_logic_vector(ADCBITS downto 0); +signal ADC_minus_baseline_highgain_S : std_logic_vector(ADCBITS downto 0); +signal ADC_minus_baseline_lowgain_S : std_logic_vector(ADCBITS downto 0); + +signal pulse_valid_highgain0_S : std_logic := '0'; +signal pulse_valid_highgain_S : std_logic := '0'; +signal singlepulse_highgain_S : std_logic := '0'; +signal pileuppulse_highgain_S : std_logic := '0'; +signal clearpulse_highgain_S : std_logic := '0'; +signal integral_highgain_S : std_logic_vector(15 downto 0); +signal max_data_highgain_S : std_logic_vector(ADCBITS-1 downto 0); +signal clipping_highgain_S : std_logic := '0'; + +signal baseline_highgain_S : std_logic_vector(ADCBITS-1 downto 0); +signal baseline_inhibit_highgain_S : std_logic := '0'; +signal baseline_lowgain_S : std_logic_vector(ADCBITS-1 downto 0); +signal baseline_inhibit_lowgain_S : std_logic := '0'; + +signal pulse_valid_lowgain0_S : std_logic := '0'; +signal pulse_valid_lowgain_S : std_logic := '0'; +signal singlepulse_lowgain_S : std_logic := '0'; +signal pileuppulse_lowgain_S : std_logic := '0'; +signal clearpulse_lowgain_S : std_logic := '0'; +signal integral_lowgain_S : std_logic_vector(15 downto 0); +signal max_data_lowgain_S : std_logic_vector(ADCBITS-1 downto 0); +signal superburst_S : std_logic_vector(15 downto 0); +signal timestamp_S : std_logic_vector(15 downto 0); + +signal adcnumber_highgain_S : std_logic_vector(7 downto 0); +signal data_out_highgain_S : std_logic_vector(35 downto 0); +signal data_out_available_highgain_S : std_logic := '0'; +signal data_out_read_highgain_S : std_logic := '0'; +signal overflow_highgain_S : std_logic := '0'; +signal overflow_hg_S : std_logic := '0'; +signal pileupdata1_out_S : std_logic_vector(35 downto 0); +signal pileupdata1_write_S : std_logic := '0'; +signal pileupdata1_allowed_S : std_logic := '0'; + +signal pulse_write_highgain_S : std_logic; +signal pulse_superburst_highgain_S : std_logic_vector(15 downto 0); +signal pulse_timestamp_highgain_S : std_logic_vector(15 downto 0); +signal pulse_skipped_highgain_S : std_logic; +signal pulse_energy_highgain_S : std_logic_vector(15 downto 0); +signal pulse_CF1_highgain_S : std_logic_vector(15 downto 0); +signal pulse_CF2_highgain_S : std_logic_vector(15 downto 0); + +signal pulse_write_lowgain_S : std_logic; +signal pulse_superburst_lowgain_S : std_logic_vector(15 downto 0); +signal pulse_timestamp_lowgain_S : std_logic_vector(15 downto 0); +signal pulse_skipped_lowgain_S : std_logic; +signal pulse_energy_lowgain_S : std_logic_vector(15 downto 0); +signal pulse_CF1_lowgain_S : std_logic_vector(15 downto 0); +signal pulse_CF2_lowgain_S : std_logic_vector(15 downto 0); + + + +signal adcnumber_lowgain_S : std_logic_vector(7 downto 0); +signal data_out_lowgain_S : std_logic_vector(35 downto 0); +signal data_out_available_lowgain_S : std_logic := '0'; +signal data_out_read_lowgain_S : std_logic := '0'; +signal overflow_lowgain_S : std_logic := '0'; +signal overflow_lg_S : std_logic := '0'; +signal pileupdata2_out_S : std_logic_vector(35 downto 0); +signal pileupdata2_write_S : std_logic := '0'; +signal pileupdata2_allowed_S : std_logic := '0'; + +signal pulsedata_out_S : std_logic_vector(35 downto 0); +signal pulsedata_write_S : std_logic := '0'; +signal pileupdata_out_S : std_logic_vector(35 downto 0); +signal pileupdata_write_S : std_logic := '0'; + +signal error_pulse_S : std_logic := '0'; +signal error_pileup_S : std_logic := '0'; +signal error_to36_1_S : std_logic := '0'; +signal error_to36_2_S : std_logic := '0'; + +signal testword0_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword1_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword2_S : std_logic_vector(35 downto 0) := (others => '0'); + +begin + +pulsedetect <= pulsedetect_S; +pulsedetect_S <= '1' when (singlepulse_highgain_S='1') or (pileuppulse_highgain_S='1') + or (singlepulse_lowgain_S='1') or (pileuppulse_lowgain_S='1') else '0'; + +FEE_baselinefollower_eventdetector_highgain: FEE_baselinefollower_eventdetector port map( + clock => clock, + reset => reset, + enable => enable, + ADCdata => ADCdata_highgain, + threshold => threshold_highgain, + IIRfilterBW => IIRfilterBW, + maxabovebaseline => maxabovebaseline, + baseline => baseline_highgain_S, + ADC_delayed => open, + ADC_minus_baseline => ADC_minus_baseline_highgain0_S, + baseline_inhibit => baseline_inhibit_highgain_S, + pulse_active => pulse_active_highgain_S, + pulse_rising => pulse_rising_highgain0_S, + max_data => max_data_highgain_S); +ADC_minus_baseline_highgain <= ADC_minus_baseline_highgain_S; + +FEE_baselinefollower_eventdetector_lowgain: FEE_baselinefollower_eventdetector port map( + clock => clock, + reset => reset, + enable => enable, + ADCdata => ADCdata_lowgain, + threshold => threshold_lowgain, + IIRfilterBW => IIRfilterBW, + maxabovebaseline => maxabovebaseline, + baseline => baseline_lowgain_S, + ADC_delayed => open, + ADC_minus_baseline => ADC_minus_baseline_lowgain0_S, + baseline_inhibit => baseline_inhibit_lowgain_S, + pulse_active => pulse_active_lowgain_S, + pulse_rising => pulse_rising_lowgain0_S, + max_data => max_data_lowgain_S); +ADC_minus_baseline_lowgain <= ADC_minus_baseline_lowgain_S; + +FEE_pileup_check1: FEE_pileup_check port map( + clock => clock, + reset => reset, + superburstnumber => superburstnumber, + timestampcounter => timestampcounter, + ADC_highgain => ADC_minus_baseline_highgain0_S, + enable_highgain => enable_highgain, + max_data_highgain => max_data_highgain_S, + pulse_active_highgain => pulse_active_highgain_S, + pulse_rising_highgain => pulse_rising_highgain0_S, + clipping_highgain => clipping_highgain_S, + ADC_lowgain => ADC_minus_baseline_lowgain0_S, + enable_lowgain => enable_lowgain, + max_data_lowgain => max_data_lowgain_S, + pulse_active_lowgain => pulse_active_lowgain_S, + pulse_rising_lowgain => pulse_rising_lowgain0_S, + minpulselength => minpulselength, + pileuplength => pileuplength, + maxwavelength => maxwavelength, + IdivMAX_discard => IdivMAX_discard, + IdivMAX_pileup => IdivMAX_pileup, + fullsize_wave_highgain => fullsize_wave_highgain, + fullsize_wave_lowgain => fullsize_wave_lowgain, + pulse_valid_highgain => pulse_valid_highgain0_S, + singlepulse_highgain => singlepulse_highgain_S, + pileuppulse_highgain => pileuppulse_highgain_S, + clearpulse_highgain => clearpulse_highgain_S, + integral_highgain => integral_highgain_S, + pulse_valid_lowgain => pulse_valid_lowgain0_S, + singlepulse_lowgain => singlepulse_lowgain_S, + pileuppulse_lowgain => pileuppulse_lowgain_S, + clearpulse_lowgain => clearpulse_lowgain_S, + integral_lowgain => integral_lowgain_S, + superburst => superburst_S, + timestamp => timestamp_S, + testword0 => open); + + +process(clock) +begin + if (rising_edge(clock)) then + if enable_highgain='1' then + pulse_valid_highgain_S <= pulse_valid_highgain0_S; + pulse_rising_highgain_S <= pulse_rising_highgain0_S; + else + pulse_valid_highgain_S <= '0'; + pulse_rising_highgain_S <= '0'; + end if; + ADC_minus_baseline_highgain_S <= ADC_minus_baseline_highgain0_S; + if enable_lowgain='1' then + pulse_valid_lowgain_S <= pulse_valid_lowgain0_S; + pulse_rising_lowgain_S <= pulse_rising_lowgain0_S; + else + pulse_valid_lowgain_S <= '0'; + pulse_rising_lowgain_S <= '0'; + end if; + ADC_minus_baseline_lowgain_S <= ADC_minus_baseline_lowgain0_S; + if pulse_active_highgain_S='1' then + if ADCdata_highgain((ADCBITS-1) downto (ADCBITS-4)) = "1111" then + clipping_highgain_S <= '1'; + end if; + else + clipping_highgain_S <= '0'; + end if; + end if; +end process; + +FEE_extract_pulse1: FEE_extract_pulse port map( + clock => clock, + reset => reset, + cf_delay => cf_delay, + pulse_valid => pulse_valid_highgain_S, + pulse_rising => pulse_rising_highgain_S, + pulse_detected => singlepulse_highgain_S, + pileup_detected => pileuppulse_highgain_S, + clear_waveform => clearpulse_highgain_S, + data_in => ADC_minus_baseline_highgain_S, + integral => integral_highgain_S, + superburstnumber => superburstnumber, + timestamp => timestampcounter, + pulse_write => pulse_write_highgain_S, + pulse_superburst => pulse_superburst_highgain_S, + pulse_timestamp => pulse_timestamp_highgain_S, + pulse_skipped => pulse_skipped_highgain_S, + pulse_energy => pulse_energy_highgain_S, + pulse_CF1 => pulse_CF1_highgain_S, + pulse_CF2 => pulse_CF2_highgain_S); + +FEE_extract_pulse2: FEE_extract_pulse port map( + clock => clock, + reset => reset, + cf_delay => cf_delay, + pulse_valid => pulse_valid_lowgain_S, + pulse_rising => pulse_rising_lowgain_S, + pulse_detected => singlepulse_lowgain_S, + pileup_detected => pileuppulse_lowgain_S, + clear_waveform => clearpulse_lowgain_S, + data_in => ADC_minus_baseline_lowgain_S, + integral => integral_lowgain_S, + superburstnumber => superburstnumber, + timestamp => timestampcounter, + pulse_write => pulse_write_lowgain_S, + pulse_superburst => pulse_superburst_lowgain_S, + pulse_timestamp => pulse_timestamp_lowgain_S, + pulse_skipped => pulse_skipped_lowgain_S, + pulse_energy => pulse_energy_lowgain_S, + pulse_CF1 => pulse_CF1_lowgain_S, + pulse_CF2 => pulse_CF2_lowgain_S); + +FEE_pulsewaveform_buffer1: FEE_pulsewaveform_buffer port map( + clock => clock, + reset => reset, + pulse_valid => pulse_valid_highgain_S, + pulse_rising => pulse_rising_highgain_S, + pulse_detected => singlepulse_highgain_S, + pileup_detected => pileuppulse_highgain_S, + clear_waveform => clearpulse_highgain_S, + data_in => ADC_minus_baseline_highgain_S, + superburst => superburst_S, + timestamp => timestamp_S, + data_out => data_out_highgain_S, + data_out_read => data_out_read_highgain_S, + data_out_available => data_out_available_highgain_S, + overflow => overflow_highgain_S, + testword0 => testword1); + +FEE_pulsewaveform_buffer2: FEE_pulsewaveform_buffer port map( + clock => clock, + reset => reset, + pulse_valid => pulse_valid_lowgain_S, + pulse_rising => pulse_rising_lowgain_S, + pulse_detected => singlepulse_lowgain_S, + pileup_detected => pileuppulse_lowgain_S, + clear_waveform => clearpulse_lowgain_S, + data_in => ADC_minus_baseline_lowgain_S, + superburst => superburst_S, + timestamp => timestamp_S, + data_out => data_out_lowgain_S, + data_out_read => data_out_read_lowgain_S, + data_out_available => data_out_available_lowgain_S, + overflow => overflow_lowgain_S, + testword0 => open); + +FEE_pulse2to1_pulse1: FEE_pulse2to1_pulse port map( + clock => clock, + reset => reset, + channel => adcnumber, + pulse1_write => pulse_write_highgain_S, + pulse1_superburst => pulse_superburst_highgain_S, + pulse1_timestamp => pulse_timestamp_highgain_S, + pulse1_skipped => pulse_skipped_highgain_S, + pulse1_energy => pulse_energy_highgain_S, + pulse1_CF1 => pulse_CF1_highgain_S, + pulse1_CF2 => pulse_CF2_highgain_S, + pulse2_write => pulse_write_lowgain_S, + pulse2_superburst => pulse_superburst_lowgain_S, + pulse2_timestamp => pulse_timestamp_lowgain_S, + pulse2_skipped => pulse_skipped_lowgain_S, + pulse2_energy => pulse_energy_lowgain_S, + pulse2_CF1 => pulse_CF1_lowgain_S, + pulse2_CF2 => pulse_CF2_lowgain_S, + pulse_skipped => open, + data_out => pulsedata_out_S, + data_out_write => pulsedata_write_S, + data_out_almostfull => pulsedata_almostfull, + data_out_allowed => pulsedata_allowed); +pulsedata_out <= pulsedata_out_S; +pulsedata_write <= pulsedata_write_S; + + + +adcnumber_highgain_S <= adcnumber AND x"fe"; +FEE_waveform_to_36bits1: FEE_waveform_to_36bits port map( + clock => clock, + reset => reset, + adcnumber => adcnumber_highgain_S, + data_in => data_out_highgain_S, + data_in_available => data_out_available_highgain_S, + data_in_read => data_out_read_highgain_S, + overflow_in => overflow_highgain_S, + pileupdata_out => pileupdata1_out_S, + pileupdata_write => pileupdata1_write_S, + pileupdata_allowed => pileupdata1_allowed_S, + pileupdata_almostfull => pileupdata_almostfull, + overflow_out => overflow_hg_S, + error => error_to36_1_S, + testword0 => open); + +adcnumber_lowgain_S <= adcnumber OR x"01"; +FEE_waveform_to_36bits2: FEE_waveform_to_36bits port map( + clock => clock, + reset => reset, + adcnumber => adcnumber_lowgain_S, + data_in => data_out_lowgain_S, + data_in_available => data_out_available_lowgain_S, + data_in_read => data_out_read_lowgain_S, + overflow_in => overflow_lowgain_S, + pileupdata_out => pileupdata2_out_S, + pileupdata_write => pileupdata2_write_S, + pileupdata_allowed => pileupdata2_allowed_S, + pileupdata_almostfull => pileupdata_almostfull, + overflow_out => overflow_lg_S, + error => error_to36_2_S, + testword0 => open); +overflow <= '1' when (overflow_highgain_S='1') or (overflow_lowgain_S='1') or (overflow_hg_S='1') or (overflow_lg_S='1') else '0'; + +FEE_wavemux2to1_pileup: FEE_wavemux2to1 port map( + clock => clock, + reset => reset, + data1_in => pileupdata1_out_S, + data1_in_write => pileupdata1_write_S, + data1_in_available => data_out_available_highgain_S, -- '0', + data1_in_allowed => pileupdata1_allowed_S, + data2_in => pileupdata2_out_S, + data2_in_write => pileupdata2_write_S, + data2_in_available => data_out_available_lowgain_S, -- '0', + data2_in_allowed => pileupdata2_allowed_S, + data_out => pileupdata_out_S, + data_out_write => pileupdata_write_S, + data_out_available => open, + data_out_allowed => pileupdata_allowed, + error => error_pileup_S, + testword0 => testword2); +pileupdata_out <= pileupdata_out_S; +pileupdata_write <= pileupdata_write_S; + +----------------------------------------------------------------- +-- tests: + +process(clock) +variable prev_data_V : std_logic_vector(3 downto 0); +begin + if rising_edge(clock) then + testword0_S(35) <= '0'; + if pileupdata_write_S='1' then + case pileupdata_out_S(35 downto 32) is + when "0000" => + if (prev_data_V/="0100") and (prev_data_V/="0101") then + testword0_S(35) <= '1'; + end if; + when "0001" => + if (prev_data_V/="0000") then + testword0_S(35) <= '1'; + end if; + when "0010" => + if (prev_data_V/="0001") and (prev_data_V/="0010") then + testword0_S(35) <= '1'; + end if; + when "0100" => + if (prev_data_V/="0010") then + testword0_S(35) <= '1'; + end if; + when "0101" => + if (prev_data_V/="0010") then + testword0_S(35) <= '1'; + end if; + when others => + testword0_S(35) <= '1'; + end case; + prev_data_V := pileupdata_out_S(35 downto 32); + end if; + end if; +end process; + + +testword0 <= testword0_S; + + + +testword0_S(3 downto 0) <= data_out_highgain_S(35 downto 32); +testword0_S(4) <= data_out_read_highgain_S; +testword0_S(5) <= data_out_available_highgain_S; +--testword0_S(6) <= overflow_highgain_S; +testword0_S(9 downto 6) <= data_out_lowgain_S(35 downto 32); +testword0_S(10) <= data_out_read_lowgain_S; +testword0_S(11) <= data_out_available_lowgain_S; +--testword0_S(13) <= overflow_lowgain_S; + +testword0_S(15 downto 12) <= pileupdata1_out_S(35 downto 32); +testword0_S(16) <= pileupdata1_write_S; +testword0_S(17) <= pileupdata1_allowed_S; +testword0_S(18) <= pileupdata_almostfull; +--testword0_S(21) <= overflow_hg_S; +testword0_S(19) <= error_to36_1_S; + +testword0_S(23 downto 20) <= pileupdata2_out_S(35 downto 32); +testword0_S(24) <= pileupdata2_write_S; +testword0_S(25) <= pileupdata2_allowed_S; +testword0_S(26) <= pileupdata_almostfull; +--testword0_S(30) <= overflow_lg_S; +testword0_S(27) <= error_to36_2_S; +testword0_S(28) <= error_pileup_S; + +testword0_S(32 downto 29) <= pileupdata_out_S(35 downto 32); +testword0_S(33) <= pileupdata_write_S; +testword0_S(34) <= pileupdata_allowed; + + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_eventdetector.vhd b/FEE_ADC32board/FEE_modules/FEE_eventdetector.vhd new file mode 100644 index 0000000..6a0d996 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_eventdetector.vhd @@ -0,0 +1,145 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 27-01-2012 +-- Module Name: FEE_eventdetector +-- Description: Detect pulses by comparing ADC-signal with threshold +-- Modifications: +-- 16-09-2014: name changed from eventdetector to FEE_eventdetector +-- 10-10-2014: threshold for end of pulse is half the normal threshold +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + +------------------------------------------------------------------------------------------------------ +-- FEE_eventdetector +-- Detect pulses by comparing ADC-signal with threshold +-- Generates inhibit for baseline IIR filter +-- +-- +-- generics +-- ADCBITS : number of ADC bits +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data_in : signed ADC sampling data : minus baseline +-- threshold : threshold above baseline +-- maxabovebaseline : 2^ maximum number of samples a pulse can last to prevent deadlock threshold/baseline +-- +-- outputs +-- baseline_freeze : detected signal pulse is busy : inhibit baseline IIR filter +-- pulse_active : the ADC-signal exceeds the trigger-level +-- pulse_rising : the pulse has not yet reached its maximum +-- max_data : maximum value of waveform +-- +-- +------------------------------------------------------------------------------------------------------ + + +entity FEE_eventdetector is + generic ( + ADCBITS : natural := 14 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector (ADCBITS downto 0); + threshold : in std_logic_vector ((ADCBITS-1) downto 0); + maxabovebaseline : in std_logic_vector (3 downto 0); + baseline_freeze : out std_logic; + pulse_active : out std_logic; + pulse_rising : out std_logic; + max_data : out std_logic_vector(ADCBITS-1 downto 0) + ); +end FEE_eventdetector; + +architecture Behavioral of FEE_eventdetector is + +signal abovetriggerlevel_S : std_logic; +signal freeze_extend_S : std_logic; +signal pulsetoolong_S : std_logic; +signal data_below_max_S : std_logic; +signal counter_S : std_logic_vector(2**4-1 downto 0); +signal max_data_S : std_logic_vector(ADCBITS downto 0); +signal half_threshold_S : std_logic; + +begin + +max_data <= max_data_S(ADCBITS-1 downto 0); -- unsigned, should be always positive +pulse_active <= abovetriggerlevel_S; + +baseline_freeze <= '1' when ((abovetriggerlevel_S='1') or (freeze_extend_S='1')) and (pulsetoolong_S='0') else '0'; +abovetriggerlevel_S <= '1' + when ((conv_integer(signed(data_in))>conv_integer(signed('0' & threshold))) and (half_threshold_S='0')) or + ((conv_integer(signed(data_in))>conv_integer(signed("00" & threshold(ADCBITS-1 downto 1)))) and (half_threshold_S='1')) + else '0'; + +process(clock) +variable counter_V : std_logic_vector(3 downto 0); +--variable below_zero_V : std_logic; +begin + if rising_edge(clock) then + if reset='1' then + freeze_extend_S <= '0'; + else + if abovetriggerlevel_S='1' then + freeze_extend_S <= '1'; + counter_V := (others => '0'); + -- below_zero_V := '0'; + elsif counter_V(counter_V'left)='0' then + -- if (conv_integer(signed(data_in))>0) and (below_zero_V='0') then + -- counter_V := (others => '0'); + -- else + -- below_zero_V := '1'; + counter_V := counter_V+1; + -- end if; + freeze_extend_S <= '1'; + else + freeze_extend_S <= '0'; + end if; + end if; + end if; +end process; + +pulsetoolong_S <= counter_S(conv_integer(unsigned(maxabovebaseline))); +data_below_max_S <= '1' when conv_integer(signed(data_in))<=conv_integer(signed(max_data_S)) else '0'; +pulse_rising <= '1' + when (data_below_max_S='0') + and (abovetriggerlevel_S='1') + and (pulsetoolong_S='0') + else '0'; + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + counter_S <= (others => '0'); + max_data_S <= data_in; + half_threshold_S <= '0'; + else + if abovetriggerlevel_S='0' then + counter_S <= (others => '0'); + max_data_S <= data_in; + half_threshold_S <= '0'; + elsif pulsetoolong_S='0' then + if (half_threshold_S='0') and (counter_S(2)='1') then + half_threshold_S <= '1'; + end if; + counter_S <= counter_S+1; + if data_below_max_S='0' then + max_data_S <= data_in; + end if; + else + end if; + end if; + end if; +end process; + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_extract_pulse.vhd b/FEE_ADC32board/FEE_modules/FEE_extract_pulse.vhd new file mode 100644 index 0000000..09f1ac0 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_extract_pulse.vhd @@ -0,0 +1,272 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 02-09-2014 +-- Module Name: FEE_extract_pulse +-- Description: Extract pulse components from ADC data: time, maximum(2*), Constant Fraction signals +-- Modifications: +-- 10-10-2014 Integral as measurement for the energy instead of maximum +-- 27-10-2014 Constant Fraction with negative or equal instead of negative +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_extract_pulse +-- Extract pulse components from ADC data: time, maximum(2*), Constant Fraction signals +-- +-- The integral of the pulse is passed on as the energy of the pulse. +--- +-- The Constant Fraction signal for precise time measurement is done with the formula: +-- CF_signal = -ADCvalue + 4*ADCvalue'delayed +-- This results in a signal that has a zero-crossing near the rising edge of the pulse. +-- The CF_signal before and after the zero-crossing are passed on to calculate the precise timestamp. +-- +-- +-- generics +-- ADCBITS : Number of bits from the ADC's. The input data is signed and has ADCBITS+1 bits. +-- WAVEFORMBUFFERSIZE : number of bits for the buffer memory address: power of this constant will give the size +-- CF_DELAYBITS : number of bits for the Constant Fraction delay +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- cf_delay : delay (number of ADC samples) for the constant fraction +-- pulse_valid : input data is valid pulse data +-- pulse_rising : the pulse has not yet reached its maximum +-- pulse_detected : previous samples are regarded as valid pulse data +-- pileup_detected : previous samples are regarded as pileup waveform data +-- clear_waveform : previous samples do not give valid data, clear this data +-- data_in : input data: adc values minus baseline: signed data +-- integral : scaled integral of the waveform +-- superburstnumber : actual superburstnumber from SODA +-- timestamp : actual 16-bits time inside the superburst +-- +-- outputs +-- pulse_write : write signal for the output signals +-- pulse_superburst : superburstnumber at the time of the constant fraction signal before the zero crossing +-- pulse_timestamp : 16-bits timestamp (inside the superburst) of the constant fraction signal before the zero crossing +-- pulse_skipped : signal to indicate that the previous constant fraction was not successful and that the pulse was discarded +-- pulse_energy : energy of the pulse, calculated from integeral +-- pulse_CF1 : CF_signal value of the value before the zero-crossing (absolute value) +-- pulse_CF2 : CF_signal value of the value after the zero-crossing +-- +-- +-- components +-- shift_register : shift register for the constant fraction delay +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_extract_pulse is + generic ( + ADCBITS : natural := 14; + WAVEFORMBUFFERSIZE : natural := 10; + CF_DELAYBITS : natural := 8 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + cf_delay : in std_logic_vector(CF_DELAYBITS-1 downto 0); + pulse_valid : in std_logic; + pulse_rising : in std_logic; + pulse_detected : in std_logic; + pileup_detected : in std_logic; + clear_waveform : in std_logic; + data_in : in std_logic_vector(ADCBITS downto 0); -- signed data + integral : in std_logic_vector(15 downto 0); + superburstnumber : in std_logic_vector(30 downto 0); + timestamp : in std_logic_vector(15 downto 0); + pulse_write : out std_logic; + pulse_superburst : out std_logic_vector(15 downto 0); + pulse_timestamp : out std_logic_vector(15 downto 0); + pulse_skipped : out std_logic; + pulse_energy : out std_logic_vector(15 downto 0); + pulse_CF1 : out std_logic_vector(15 downto 0); + pulse_CF2 : out std_logic_vector(15 downto 0) + ); +end FEE_extract_pulse; + +architecture Behavioral of FEE_extract_pulse is + +component shift_register is + generic ( + width : natural := ADCBITS+1; -- signed signal + depthbits : natural := CF_DELAYBITS + ); + port ( + clock : in std_logic; + reset : in std_logic; + hold : in std_logic; + data_in : in std_logic_vector((width-1) downto 0); + depth : in std_logic_vector((depthbits-1) downto 0); + data_out : out std_logic_vector((width-1) downto 0)); +end component; + + +constant zeros : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := (others => '0'); + +signal pulse_write_S : std_logic; +signal pulse_superburst_S : std_logic_vector(15 downto 0); +signal pulse_timestamp_S : std_logic_vector(15 downto 0); +signal pulse_max_S : std_logic_vector(ADCBITS downto 0); +signal pulse_CF1_S : std_logic_vector(15 downto 0); +signal pulse_CF2_S : std_logic_vector(15 downto 0); + +signal prev_setmax_S : std_logic; -- maximum set in previous clock cycle +signal prev_pulse_valid_S : std_logic; -- valid signal in previous clock cycle +signal after_max_counter_S : std_logic_vector(CF_DELAYBITS downto 0) := (others => '0'); + +signal pulse_skipped_S : std_logic := '0'; +signal CF_available_S : std_logic := '0'; + +signal data_delayed_S : std_logic_vector(ADCBITS downto 0) := (others => '0'); +signal data_delayedx4_S : std_logic_vector(ADCBITS+2 downto 0) := (others => '0'); +signal cf_signal_S : std_logic_vector(ADCBITS+3 downto 0) := (others => '0'); +signal prev_cf_signal_S : std_logic_vector(ADCBITS+3 downto 0) := (others => '0'); +signal cf_negorzero_S : std_logic; +signal prev_cf_negorzero_S : std_logic; +signal enable_CF_S : std_logic; + +begin + +pulse_write <= pulse_write_S; +pulse_superburst <= pulse_superburst_S; +pulse_timestamp <= pulse_timestamp_S; +pulse_skipped <= pulse_skipped_S; +pulse_energy <= integral; +pulse_CF1 <= pulse_CF1_S; +pulse_CF2 <= pulse_CF2_S; + +pulse_write_S <= pulse_detected when CF_available_S='1' else '0'; + +check_skipped: process(clock) +variable holdcounter_V : integer range 0 to 3 := 3; -- keep value at the output for 4 clock cycles +begin + if rising_edge(clock) then + if (pulse_detected='1') and (CF_available_S='0') then + pulse_skipped_S <= '1'; + elsif pulse_detected='1' then + holdcounter_V := 0; + elsif holdcounter_V<3 then + holdcounter_V := holdcounter_V+1; + if holdcounter_V=2 then + pulse_skipped_S <= '0'; + end if; + end if; + end if; +end process; + + +get_maxima: process(clock) +begin + if rising_edge(clock) then + prev_setmax_S <= '0'; + if (pulse_valid='0') then + pulse_max_S <= data_in; + else + if conv_integer(signed(data_in))>=conv_integer(signed(pulse_max_S)) then + pulse_max_S <= data_in; + prev_setmax_S <= '1'; + end if; + end if; + prev_pulse_valid_S <= pulse_valid; + end if; +end process; + +after_max: process(clock) +begin + if rising_edge(clock) then + if reset='1' then + enable_CF_S <= '0'; + else + if (pulse_valid='0') then + enable_CF_S <= '0'; + else + if prev_pulse_valid_S='0' then + enable_CF_S <= '1'; + else + if prev_setmax_S='1' then + after_max_counter_S <= (others => '0'); + else + if after_max_counter_S(CF_DELAYBITS-1 downto 0) = cf_delay then + enable_CF_S <= '0'; + end if; + if after_max_counter_S(CF_DELAYBITS)='0' then + after_max_counter_S <= after_max_counter_S+1; + end if; + end if; + end if; + end if; + end if; + end if; +end process; + +shiftregister1: shift_register + generic map( + width => ADCBITS+1, -- signed signal + depthbits => CF_DELAYBITS + ) + port map( + clock => clock, + reset => reset, + hold => '0', + data_in => data_in, + depth => cf_delay, + data_out => data_delayed_S); + + +data_delayedx4_S <= data_delayed_S & "00"; +cf_signal_S <= conv_std_logic_vector(conv_integer(signed(data_delayedx4_S))-conv_integer(signed(data_in)),ADCBITS+4); + +cf_negorzero_S <= '1' when (conv_integer(signed(cf_signal_S))<=0) else '0'; + +count_samples: process(clock) +variable pulse_CF1_V : integer range -2**(ADCBITS+3) to 2**(ADCBITS+3)-1; +variable pulse_CF2_V : integer range -2**(ADCBITS+3) to 2**(ADCBITS+3)-1; +begin + if (rising_edge(clock)) then + if reset='1' then + CF_available_S <= '0'; + else + if (pulse_valid='0') and (pulse_detected='0') then + CF_available_S <= '0'; + else + if prev_cf_negorzero_S='1' then + if cf_negorzero_S='0' then + if enable_CF_S='1' then + pulse_CF1_V := -conv_integer(signed(prev_cf_signal_S)); + if pulse_CF1_V>65535 then + pulse_CF1_S <= x"ffff"; + else + pulse_CF1_S <= conv_std_logic_vector(pulse_CF1_V,16); + end if; + pulse_CF2_V := conv_integer(signed(cf_signal_S)); + if pulse_CF2_V>65535 then + pulse_CF2_S <= x"ffff"; + else + pulse_CF2_S <= conv_std_logic_vector(pulse_CF2_V,16); + end if; + pulse_superburst_S <= superburstnumber(15 downto 0); + pulse_timestamp_S <= timestamp; + CF_available_S <= '1'; + end if; + else + end if; + end if; + end if; + end if; + prev_cf_negorzero_S <= cf_negorzero_S; + prev_cf_signal_S <= cf_signal_S; + end if; +end process; + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_fifo32to8_SODA.vhd b/FEE_ADC32board/FEE_modules/FEE_fifo32to8_SODA.vhd new file mode 100644 index 0000000..ea4cbb8 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_fifo32to8_SODA.vhd @@ -0,0 +1,195 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 19-11-2014 +-- Module Name: FEE_fifo32to8_SODA +-- Description: FIFO with 32 bits to 8 bits conversion and SODA +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +library work; +use work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_fifo32to8_SODA +-- FIFO with 32 bits to 8 bits conversion and additional K-character +-- Data is written in asynchronous 32-bits fifo +-- After reading the data is splitted in bytes. +-- If no data is available an Idle is put on the output (BC and the K-character signal). +-- SODA signals (DLM) are passed on directly (highest priority). +-- +-- Library +-- work.gtpBufLayer : for GTP/GTX/serdes constants +-- +-- Generics: +-- +-- Inputs: +-- write_clock : clock for the 32-bits input data +-- read_clock : clock for the 16-bits output data +-- reset : reset +-- data_in : 32-bits input data +-- data_write : write signal for 32-bits input data +-- TX_DLM : transmit SODA character +-- TX_DLM_WORD : SODA character to be transmitted +-- +-- Outputs: +-- data_out : 16-bits output data +-- char_is_k : corresponding byte in 16-bits output data is K-character +-- +-- Components: +-- async_fifo_512x32 : 32-bits asynchronous fifo +-- +---------------------------------------------------------------------------------- + + +entity FEE_fifo32to8_SODA is + port ( + write_clock : in std_logic; + read_clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(31 downto 0); + data_write : in std_logic; + full : out std_logic; + TX_DLM : in std_logic; + TX_DLM_WORD : in std_logic_vector(7 downto 0); + data_out : out std_logic_vector(7 downto 0); + char_is_k : out std_logic + ); +end FEE_fifo32to8_SODA; + +architecture Behavioral of FEE_fifo32to8_SODA is + +component async_fifo_512x32 + port ( + rst : in std_logic; + wr_clk : in std_logic; + rd_clk : in std_logic; + din : in std_logic_vector(31 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(31 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + +signal fifo_read_S : std_logic; +signal fifo_dataout_S : std_logic_vector(31 downto 0); +signal fifo_databuf_S : std_logic_vector(31 downto 0); +signal data_out_S : std_logic_vector(7 downto 0); +signal char_is_k_S : std_logic; +signal fifo_empty_S : std_logic; +signal prev_fifo_empty_S : std_logic; + +signal fifo_buffilled_S : std_logic := '0'; +signal fifo_read_after1clk_S : std_logic := '0'; +signal TX_DLM_S : std_logic; +signal TX_DLM_WORD_S : std_logic_vector(7 downto 0); +signal bytecounter_S : integer range 0 to 3 := 0; +signal write_data_S : std_logic; +signal lastbytefilled_S : std_logic; +signal lastbyte_S : std_logic_vector(7 downto 0); + + +begin + +process (read_clock) +begin + if rising_edge(read_clock) then + data_out <= data_out_S; + char_is_k <= char_is_k_S; + end if; +end process; + + +fifo: async_fifo_512x32 port map( + rst => reset, + wr_clk => write_clock, + rd_clk => read_clock, + din => data_in, + wr_en => data_write, + rd_en => fifo_read_S, + dout => fifo_dataout_S, + full => full, + empty => fifo_empty_S); + +fifo_read_S <= '1' when (fifo_empty_S='0') and (TX_DLM='0') and (fifo_read_after1clk_S='0') and (lastbytefilled_S='0') + and (((bytecounter_S=0) and (fifo_buffilled_S='0')) or ((bytecounter_S=3) and (fifo_buffilled_S='0'))) + else '0'; + +data_out_S <= + KCHARSODA when TX_DLM='1' else + TX_DLM_WORD_S when (TX_DLM_S='1') else + KCHAR285 when (write_data_S='0') else + lastbyte_S when (lastbytefilled_S='1') else + fifo_dataout_S(31 downto 24) when (fifo_read_after1clk_S='1') else + fifo_databuf_S((3-bytecounter_S)*8+7 downto (3-bytecounter_S)*8); + +char_is_k_S <= + '1' when TX_DLM='1' else + '0' when (TX_DLM_S='1') else + '1' when (write_data_S='0') else + '0' when fifo_read_after1clk_S='1' else + '0'; + +write_data_S <= '1' when ((TX_DLM='0') and (TX_DLM_S='0')) and + ((fifo_read_after1clk_S='1') or (bytecounter_S/=0) or (fifo_buffilled_S='1') or (lastbytefilled_S='1')) else '0'; + +tx_process : process (read_clock) +begin + if rising_edge(read_clock) then + if reset='1' then + fifo_read_after1clk_S <= '0'; + TX_DLM_S <= '0'; + lastbytefilled_S <= '0'; + bytecounter_S <= 0; + else + TX_DLM_S <= TX_DLM; + if TX_DLM='1' then + TX_DLM_WORD_S <= TX_DLM_WORD; + end if; + fifo_read_after1clk_S <= fifo_read_S; + prev_fifo_empty_S <= fifo_empty_S; + if not ((TX_DLM='1') or (TX_DLM_S='1') or (write_data_S='0')) then + lastbytefilled_S <= '0'; + end if; + if (fifo_read_after1clk_S='1') then + if (TX_DLM='1') and (fifo_buffilled_S='0') and (bytecounter_S=3) then + lastbytefilled_S <= '1'; + lastbyte_S <= fifo_databuf_S(7 downto 0); + end if; + fifo_databuf_S <= fifo_dataout_S; + fifo_buffilled_S <= '1'; + end if; + if (TX_DLM='1') or (TX_DLM_S='1') then + elsif lastbytefilled_S='1' then + bytecounter_S <= 0; + else + case bytecounter_S is + when 0 => + if (fifo_buffilled_S='1') or (fifo_read_after1clk_S='1') then + fifo_buffilled_S <= '1'; + bytecounter_S <= 1; + end if; + when 1 => + fifo_buffilled_S <= '1'; + bytecounter_S <= 2; + when 2 => + fifo_buffilled_S <= '0'; + bytecounter_S <= 3; + when 3 => + fifo_buffilled_S <= '0'; + bytecounter_S <= 0; + when others => + fifo_buffilled_S <= '0'; + bytecounter_S <= 0; + end case; + end if; + end if; + end if; +end process; + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_fifo8to32_SODA.vhd b/FEE_ADC32board/FEE_modules/FEE_fifo8to32_SODA.vhd new file mode 100644 index 0000000..859843a --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_fifo8to32_SODA.vhd @@ -0,0 +1,157 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 19-11-2014 +-- Module Name: FEE_fifo8to32_SODA +-- Description: FIFO with 8 bits to 32 bits conversion and SODA +-- Modifications: +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.NUMERIC_STD.ALL; +library work; +use work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_fifo8to32_SODA +-- FIFO with 8 bits to 32 bits conversion and SODA +-- Byte data is converted to 32-bits, alignment is done with check on first word after idles +-- The resulting 32-bits word is written in an asynchronous 32-bits fifo. +-- SODA signals (DLM) are passed on directly (highest priority). +-- +-- Library +-- work.gtpBufLayer : for GTP/GTX/serdes constants +-- +-- Generics: +-- +-- Inputs: +-- write_clock : clock for the 32-bits input data +-- read_clock : clock for the 16-bits output data +-- reset : reset +-- data_in : 8-bits input data +-- char_is_k : corresponding byte in 16-bits data input is K-character +-- data_read : read signal for 32-bits output data +-- +-- Outputs: +-- RX_DLM : SODA character received +-- RX_DLM_WORD : SODA character +-- data_out : 32-bits output data (asynchrounous) +-- data_available : 32-bits output data available (fifo not empty) +-- overflow : fifo overflow : data has been thrown away +-- error : error in input data +-- +-- Components: +-- async_fifo_512x32 : 32-bits asynchronous fifo +-- +---------------------------------------------------------------------------------- + + +entity FEE_fifo8to32_SODA is + port ( + write_clock : in std_logic; + read_clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(7 downto 0); + char_is_k : in std_logic; + RX_DLM : out std_logic; + RX_DLM_WORD : out std_logic_vector(7 downto 0); + data_out : out std_logic_vector(31 downto 0); + data_read : in std_logic; + data_available : out std_logic; + overflow : out std_logic; + error : out std_logic + ); +end FEE_fifo8to32_SODA; + +architecture Behavioral of FEE_fifo8to32_SODA is + +component async_fifo_512x32 + port ( + rst : in std_logic; + wr_clk : in std_logic; + rd_clk : in std_logic; + din : in std_logic_vector(31 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(31 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + +signal fifo_write_S : std_logic; +signal fifo_datain_S : std_logic_vector(31 downto 0); +signal fifo_full_S : std_logic; +signal fifo_empty_S : std_logic; +signal error_S : std_logic := '0'; +signal RX_DLM0_S : std_logic := '0'; +signal RX_DLM_S : std_logic := '0'; +signal RX_DLM_WORD_S : std_logic_vector(7 downto 0) := (others => '0'); +signal bytecounter_S : integer range 0 to 3 := 0; + +begin + +error <= error_S; +RX_DLM_WORD <= RX_DLM_WORD_S; +RX_DLM <= RX_DLM_S; + +fifo: async_fifo_512x32 port map( + rst => reset, + wr_clk => write_clock, + rd_clk => read_clock, + din => fifo_datain_S, + wr_en => fifo_write_S, + rd_en => data_read, + dout => data_out, + full => fifo_full_S, + empty => fifo_empty_S); +data_available <= '1' when fifo_empty_S='0' else '0'; + +overflow <= '1' when (fifo_write_S='1') and (fifo_full_S='1') else '0'; + +rx_process : process(write_clock) +variable idlecounter_V : integer range 0 to 4; +begin + if rising_edge(write_clock) then + RX_DLM_S <= '0'; + error_S <= '0'; + fifo_write_S <= '0'; + if reset='1' then + RX_DLM0_S <= '0'; + bytecounter_S <= 0; + idlecounter_V := 0; + else + if (char_is_k='1') and (data_in=KCHARSODA) then + RX_DLM0_S <= '1'; + error_S <= RX_DLM0_S; -- not 2 DLM after each other + elsif RX_DLM0_S='1' then + RX_DLM0_S <= '0'; + RX_DLM_S <= '1'; + RX_DLM_WORD_S <= data_in; + elsif (char_is_k='1') then -- idle: ignore a few + if idlecounter_V<4 then + idlecounter_V := idlecounter_V+1; + else + bytecounter_S <= 0; + end if; + error_S <= RX_DLM0_S; -- not an idle after DLM + else -- data + idlecounter_V := 0; + fifo_datain_S(31 downto 24) <= fifo_datain_S(23 downto 16); + fifo_datain_S(23 downto 16) <= fifo_datain_S(15 downto 8); + fifo_datain_S(15 downto 8) <= fifo_datain_S(7 downto 0); + fifo_datain_S(7 downto 0) <= data_in; + if bytecounter_S=3 then + bytecounter_S <= 0; + fifo_write_S <= '1'; + else + bytecounter_S <= bytecounter_S+1; + end if; + end if; + end if; + end if; +end process; + + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_gtxModule.vhd b/FEE_ADC32board/FEE_modules/FEE_gtxModule.vhd new file mode 100644 index 0000000..705e1a9 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_gtxModule.vhd @@ -0,0 +1,390 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 26-08-2013 +-- Module Name: FEE_gtxModule +-- Description: GTP/GTX/serdes tranceiver for PANDA Front End Electronics with clock synchronization +-- Modifications: +-- 19-11-2014 Name changed from gtpBufLayerFee to FEE_gtxModule +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.NUMERIC_STD.ALL; + +Library UNISIM; +use UNISIM.vcomponents.all; +library work; +use work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_gtxModule +-- GTP/GTX tranceiver for PANDA Front End Electronics and Multiplexer with clock synchronization: +-- +-- Receiver generates synchronous clock on incomming serial data (SODA) and detects synchronous +-- data packages (SODA-commands) with fixed delay. +-- Receives also asynchronous data from fibre and outputs it as 32 bits. +-- SODA packages use the DLM i/o. Data is send along with K27.7 character (0xFB) +-- Idle's consists of K28.1 & K28.5 characters (0x3c,0xBC) +-- All other valid (non K) characters is treated as data and combined to 32-bits +-- +-- Transmitter sends data (asynchronous to SODA). The data is organised as 32-bits words. +-- If no data is available then idle's are sent (0x3CBC) +-- +-- Only one channel of the dual GTP or GTX is used. +-- +-- Library +-- work.gtpBufLayer : for GTP/GTX constants +-- +-- Generics: +-- +-- Inputs: +-- gtpClk : Reference clock for GTP/GTX, frequency must match expected SODA frequency (finally probably 155.52 MHz) +-- asyncclk : clock for asynchronous resetting of GTP/GTX +-- reset : reset GTP/GTX +-- disable_GTX_reset : disable reset of GTX (during clock switching) +-- TX_DLM : transmit SODA character +-- TX_DLM_WORD : SODA character to be transmitted +-- rxAsyncClk : Clock for the asynchronous (32-bits) data (used for slow-control in FEE) +-- txAsyncData : asynchronous 32-bits data to be transmitted +-- txAsyncDataWrite : write signal for asynchronous 32-bits data to be transmitted +-- txAsyncLastData : Last asynchronous 32-bits word of the data packet to be transmitted, used for separating packets on the fiber +-- txAsyncClk : clock for the asynchronous 32-bits data to be transmitted +-- rxAsyncDataRead : read signal for the asynchronous data fifo +-- gtpRxP0,gtpRxN0 : differential GTP/GTX inputs +-- +-- Outputs: +-- RX_DLM : SODA character received +-- RX_DLM_WORD : SODA character +-- txAsyncFifoFull : fifo for 32-bits transmit data is full +-- txLocked : Transmitter PLL locked +-- rxAsyncData : asynchronous 32 bits data from the receiver fifo +-- rxNotInTable : invalid character or other receiver error +-- rxAsyncDataOverflow : overflow bit of the receiver asynchronous data fifo +-- rxAsyncDataPresent : Indicates if asynchronous data is available in the receiver fifo +-- rxSodaClk : Reconstructed clock, synchronous with original SODA clock but different frequency (200MHz) +-- rxSodaClk40 : Reconstructed SODA clock : 40MHz +-- rxLocked : Receiver locked +-- gtpTxP0,gtpTxN0 : differential transmit outputs of the GTP/GTX (not used at the moment) +-- +-- Components: +-- FEE_gtxWrapper_Virtex6 : module with the GTP/GTX interface +-- FEE_SODAfrequencydiv5 : make divide by 5 clock from recovered clock +-- FEE_fifo32to8_SODA : fifo for data to be transmitted, converts data from 32-bits to 16-bits +-- FEE_fifo8to32_SODA : fifo for received asynchronous data, converts data from 16-bits to 32-bits +-- sync_to_different_phase : synchronize to clock with same frequency but different phase +-- +---------------------------------------------------------------------------------- + +entity FEE_gtxModule is + Port ( + gtpClk : in std_logic; + asyncclk : in std_logic; + reset : in std_logic; + disable_GTX_reset : in std_logic; + + TX_DLM : in std_logic; + TX_DLM_WORD : in std_logic_vector(7 downto 0); + RX_DLM : out std_logic; + RX_DLM_WORD : out std_logic_vector(7 downto 0); + + txAsyncClk : in std_logic; + txAsyncData : in std_logic_vector(31 downto 0); + txAsyncDataWrite : in std_logic; + txAsyncLastData : in std_logic; + txAsyncFifoFull : out std_logic; + txUsrClk : out std_logic; + txLocked : out std_logic; + + rxAsyncClk : in std_logic; + rxAsyncData : out std_logic_vector(31 downto 0); + rxAsyncDataRead : in std_logic; + rxNotInTable : out std_logic; + rxAsyncDataOverflow : out std_logic; + rxAsyncDataPresent : out std_logic; + rxSodaClk : out std_logic; + rxSodaClk40 : out std_logic; + rxLocked : out std_logic; + + gtpTxP0 : out std_logic; + gtpTxN0 : out std_logic; + gtpRxP0 : in std_logic; + gtpRxN0 : in std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_gtxModule; + + +architecture Behavioral of FEE_gtxModule is + +component FEE_gtxWrapper_Virtex6 is + port ( + gtpClk : in std_logic; + asyncclk : in std_logic; + gtpReset : in std_logic; + disable_GTX_reset : in std_logic; + + txData : in std_logic_vector (7 downto 0); + txCharIsK : in std_logic; + txP : out std_logic; + txN : out std_logic; + txUsrClk : out std_logic; + txLocked : out std_logic; + + rxData : out std_logic_vector (7 downto 0); + rxCharIsK : out std_logic; + rxNotInTable : out std_logic; + rxP : in std_logic; + rxN : in std_logic; + rxUsrClk : out std_logic; + rxLocked : out std_logic; + + resetDone : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_SODAfrequencydiv5 is + port ( + clock : in std_logic; + data : in std_logic_vector(7 downto 0); + kchar : in std_logic; + clockdiv5 : out std_logic; + error : out std_logic + ); +end component; + +component FEE_fifo32to8_SODA is + port ( + write_clock : in std_logic; + read_clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(31 downto 0); + data_write : in std_logic; + full : out std_logic; + TX_DLM : in std_logic; + TX_DLM_WORD : in std_logic_vector(7 downto 0); + data_out : out std_logic_vector(7 downto 0); + char_is_k : out std_logic + ); +end component; + +component FEE_fifo8to32_SODA is + port ( + write_clock : in std_logic; + read_clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(7 downto 0); + char_is_k : in std_logic; + RX_DLM : out std_logic; + RX_DLM_WORD : out std_logic_vector(7 downto 0); + data_out : out std_logic_vector(31 downto 0); + data_read : in std_logic; + data_available : out std_logic; + overflow : out std_logic; + error : out std_logic + ); +end component; + +component sync_to_different_phase is + generic ( + WIDTH : natural := 18 + ); + port ( + clock1 : in std_logic; + clock2 : in std_logic; + data_in : in std_logic_vector(WIDTH-1 downto 0); + data_out : out std_logic_vector(WIDTH-1 downto 0) + ); +end component; + +component async_fifo_16x9 + port ( + rst : in std_logic; + wr_clk : in std_logic; + rd_clk : in std_logic; + din : in std_logic_vector(8 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(8 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + +component asyncfifo is + generic ( + DATA_WIDTH : natural := 9; + ADDR_WIDTH : natural := 2 + ); + port ( + reset : in std_logic; + read_clock : in std_logic; + read_request : in std_logic; + data_in : in std_logic_vector(DATA_WIDTH-1 downto 0); + write_clock : in std_logic; + write_request : in std_logic; + data_out : out std_logic_vector(DATA_WIDTH-1 downto 0); + empty : out std_logic; + full : out std_logic; + valid : out std_logic + ); +end component; + +signal rxSodaClk40_S : std_logic := '0'; +signal rxNotInTable_S : std_logic := '0'; +signal rxLocked_S : std_logic := '0'; +signal txLocked_S : std_logic := '0'; +signal txreset_S : std_logic := '0'; +signal txCharIsK_S : std_logic := '0'; +signal txUsrClk_S : std_logic; +signal txData_S : std_logic_vector(7 downto 0); +signal rxCharIsK_S : std_logic; + +signal rxUsrClk_S : std_logic; +signal rxData_S : std_logic_vector(7 downto 0); +signal rxerror_s : std_logic; + +signal TX_DLM_S : std_logic; +signal TX_DLM_WORD_S : std_logic_vector(7 downto 0); + +signal fifo_dout_S : std_logic_vector(8 downto 0) := (others => '0'); +signal fifosync_write_S : std_logic :='0'; +signal fifosync_read_S : std_logic :='0'; +signal fifosync_empty_S : std_logic :='0'; +signal fifosync_full_S : std_logic :='0'; +signal fifosync_valid_S : std_logic :='0'; +attribute keep : string; +attribute keep of txUsrClk_S : signal is "TRUE"; + + + +signal testword0_S : std_logic_vector (35 downto 0):= (others => '0'); + +begin + +txUsrClk <= txUsrClk_S; +rxSodaClk <= rxUsrClk_S; +rxSodaClk40 <= rxSodaClk40_S; + +FEE_gtxWrapper_Virtex6_1 : FEE_gtxWrapper_Virtex6 + port map ( + gtpClk => gtpClk, + asyncclk => asyncclk, + gtpReset => reset, + disable_GTX_reset => disable_GTX_reset, + txData => txData_S, + txCharIsK => txCharIsK_S, + txP => gtpTxP0, + txN => gtpTxN0, + txUsrClk => txUsrClk_S, + txLocked => txLocked_S, + rxData => rxData_S, + rxCharIsK => rxCharIsK_S, + rxNotInTable => rxNotInTable_S, + rxP => gtpRxP0, + rxN => gtpRxN0, + rxUsrClk => rxUsrClk_S, + rxLocked => rxLocked_S, + resetDone => open, + testword0 => testword0 + ); + +FEE_SODAfrequencydiv51: FEE_SODAfrequencydiv5 port map( + clock => rxUsrClk_S, + data => rxData_S, + kchar => rxCharIsK_S, + clockdiv5 => rxSodaClk40_S, + error => open + ); + +-- synchronise SODA signals to txUsrClk_S. same frequency, differe4nt phase ----------------- +txreset_S <= '1' when (txLocked_S='0') or (reset='1') else '0'; +fifosync: async_fifo_16x9 port map( + rst => txreset_S, + wr_clk => rxUsrClk_S, + rd_clk => txUsrClk_S, + din(7 downto 0) => TX_DLM_WORD, + din(8) => TX_DLM, + wr_en => fifosync_write_S, + rd_en => fifosync_read_S, + dout => fifo_dout_S, + full => fifosync_full_S, + empty => fifosync_empty_S); +--fifosync: asyncfifo +-- generic map( +-- DATA_WIDTH => 9, +-- ADDR_WIDTH => 2 +-- ) +-- port map( +-- reset => txreset_S, +-- read_clock => txUsrClk_S, +-- read_request => fifosync_read_S, +-- data_in(7 downto 0) => TX_DLM_WORD, +-- data_in(8) => TX_DLM, +-- write_clock => rxUsrClk_S, +-- write_request => fifosync_write_S, +-- data_out => fifo_dout_S, +-- empty => fifosync_empty_S, +-- full => fifosync_full_S, +-- valid => fifosync_valid_S); +fifosync_read_S <= '1' when fifosync_empty_S='0' else '0'; +fifosync_write_S <= '1' when fifosync_full_S='0' else '0'; + +TX_DLM_WORD_S <= fifo_dout_S(7 downto 0); +TX_DLM_S <= fifo_dout_S(8);-- when fifosync_valid_S='1' else '0'; + +FEE_fifo32to8_SODA1: FEE_fifo32to8_SODA port map( + write_clock => txAsyncClk, + read_clock => txUsrClk_S, + reset => reset, + data_in => txAsyncData, + data_write => txAsyncDataWrite, + full => txAsyncFifoFull, + TX_DLM => TX_DLM_S, + TX_DLM_WORD => TX_DLM_WORD_S, + data_out => txData_S, + char_is_k => txCharIsK_S + ); + + + + +FEE_fifo8to32_SODA1: FEE_fifo8to32_SODA port map( + write_clock => rxUsrClk_S, + read_clock => rxAsyncClk, + reset => reset, + data_in => rxData_S, + char_is_k => rxCharIsK_S, + RX_DLM => RX_DLM, + RX_DLM_WORD => RX_DLM_WORD, + data_out => rxAsyncData, + data_read => rxAsyncDataRead, + data_available => rxAsyncDataPresent, + overflow => rxAsyncDataOverflow, + error => rxerror_S); + +txLocked <= txLocked_S; -- 1 => OK +rxLocked <= rxLocked_S; -- 1 => OK +rxNotInTable <= rxNotInTable_S or rxerror_S; -- '1' => error + +--sync_to_different_phase1: sync_to_different_phase port map( +-- clock1 => rxUsrClk_S, +-- clock2 => txUsrClk_S, +-- data_in(15 downto 0) => txData_rxclk_S, +-- data_in(17 downto 16) => txCharisK_rxclk_S, +-- data_out(15 downto 0) => txData_S, +-- data_out(17 downto 16) => txCharIsK_S); + + +--testword0 <= testword0_S; + + +--testword0(15 downto 0) <= rxData_S; +--testword0(17 downto 16) <= rxCharIsK_S; +--testword0(33 downto 18) <= txData_rxclk_S; +--testword0(34) <= '1' when txCharisK_rxclk_S="11" else '0'; + + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_gtxWrapper_Virtex6.vhd b/FEE_ADC32board/FEE_modules/FEE_gtxWrapper_Virtex6.vhd new file mode 100644 index 0000000..a9883ef --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_gtxWrapper_Virtex6.vhd @@ -0,0 +1,531 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Michel Hevinga / Peter Schakel +-- Create Date: 2010 +-- Module Name: FEE_gtxWrapper_Virtex6 +-- Description: GTP/GTX tranceiver for PANDA Front End Electronics on Virtex6 with clock synchronization +-- Modifications: +-- 19-11-2014 Name changed from gtxWrapperVirtex6Fee to FEE_gtxWrapper_Virtex6 +---------------------------------------------------------------------------------- +library IEEE; +use IEEE.std_logic_1164.ALL; +library work; +use work.panda_package.all; +library UNISIM; +use UNISIM.VComponents.all; + +---------------------------------------------------------------------------------- +-- FEE_gtxWrapper_Virtex6 +-- GTP/GTX tranceiver for PANDA Front End Electronics and Multiplexer with clock synchronization on a Virtex5. +-- +-- Receiver makes recovered synchronous clock on incomming serial data (SODA). +-- Data is 16-bits, synchronous to recovered clock. +-- Transmitter sends 16-bits data. +-- +-- Only one channel of the dual GTP or GTX is used. +-- +-- Library +-- work.gtpBufLayer : for GTP/GTX constants +-- +-- Generics: +-- +-- Inputs: +-- gtpClk : Reference clock for GTP/GTX, frequency must match expected SODA frequency +-- asyncclk : clock for synchronous resetting +-- gtpReset : reset GTP/GTX +-- disable_GTX_reset : disable ressetting temporarely +-- txData : 16-bits input data to transmit +-- txCharIsK : data to transmit are K-characters +-- rxP,rxN : differential transmit inputs from the GTP/GTX +-- +-- Outputs: +-- txP,txN : differential transmit outputs of the GTP/GTX +-- txUsrClk : clock for transmit data +-- txLocked : transmitter locked +-- rxData : 16-bits received data +-- rxCharIsK : received 16-bits data (2 bytes) are K-characters +-- rxNotInTable : receiver data not valid +-- rxUsrClk : Recovered synchronous clock +-- rxLocked : receiver locked to incomming data +-- resetDone : resetting ready +-- +-- Components: +-- GTXVIRTEX5FEE : Xilinx module for GTP or GTX, generated with the IP core generator with a few adjustments +-- FEE_rxBitLock : Module for checking and resetting the GTP/GTX to lock the receiver clock at the right phase +-- Clock_62M5_doubler : Clock doubler with PLL +-- +---------------------------------------------------------------------------------- + +entity FEE_gtxWrapper_Virtex6 is + port ( + gtpClk : in std_logic; + asyncclk : in std_logic; + gtpReset : in std_logic; + disable_GTX_reset : in std_logic; + + txData : in std_logic_vector (7 downto 0); + txCharIsK : in std_logic; + txP : out std_logic; + txN : out std_logic; + txUsrClk : out std_logic; + txLocked : out std_logic; + + rxData : out std_logic_vector (7 downto 0); + rxCharIsK : out std_logic; + rxNotInTable : out std_logic; + rxP : in std_logic; + rxN : in std_logic; + rxUsrClk : out std_logic; + rxLocked : out std_logic; + + resetDone : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_gtxWrapper_Virtex6; + +architecture Behavioral of FEE_gtxWrapper_Virtex6 is + +component gtxVirtex6FEE80 is +generic +( + -- Simulation attributes + WRAPPER_SIM_GTXRESET_SPEEDUP : integer := 0 -- Set to 1 to speed up sim reset +); +port +( + + --_________________________________________________________________________ + --_________________________________________________________________________ + --GTX0 (X0Y12) + + GTX0_DOUBLE_RESET_CLK_IN : in std_logic; + ----------------------- Receive Ports - 8b10b Decoder ---------------------- + GTX0_RXCHARISK_OUT : out std_logic; + GTX0_RXDISPERR_OUT : out std_logic; + GTX0_RXNOTINTABLE_OUT : out std_logic; + --------------- Receive Ports - Comma Detection and Alignment -------------- + GTX0_RXENMCOMMAALIGN_IN : in std_logic; + GTX0_RXENPCOMMAALIGN_IN : in std_logic; + ------------------- Receive Ports - RX Data Path interface ----------------- + GTX0_RXDATA_OUT : out std_logic_vector(7 downto 0); + GTX0_RXRECCLK_OUT : out std_logic; + GTX0_RXRESET_IN : in std_logic; + GTX0_RXUSRCLK2_IN : in std_logic; + ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------ + GTX0_RXCDRRESET_IN : in std_logic; + GTX0_RXN_IN : in std_logic; + GTX0_RXP_IN : in std_logic; + -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports ------- + GTX0_RXDLYALIGNDISABLE_IN : in std_logic; + GTX0_RXDLYALIGNMONENB_IN : in std_logic; + GTX0_RXDLYALIGNMONITOR_OUT : out std_logic_vector(7 downto 0); + GTX0_RXDLYALIGNOVERRIDE_IN : in std_logic; + GTX0_RXDLYALIGNRESET_IN : in std_logic; + GTX0_RXENPMAPHASEALIGN_IN : in std_logic; + GTX0_RXPMASETPHASE_IN : in std_logic; + GTX0_RXSTATUS_OUT : out std_logic_vector(2 downto 0); + --------------- Receive Ports - RX Loss-of-sync State Machine -------------- + GTX0_RXLOSSOFSYNC_OUT : out std_logic_vector(1 downto 0); + ------------------------ Receive Ports - RX PLL Ports ---------------------- + GTX0_GTXRXRESET_IN : in std_logic; + GTX0_MGTREFCLKRX_IN : in std_logic; + GTX0_PLLRXRESET_IN : in std_logic; + GTX0_RXPLLLKDET_OUT : out std_logic; + GTX0_RXRESETDONE_OUT : out std_logic; + -------------- Receive Ports - RX Pipe Control for PCI Express ------------- + GTX0_PHYSTATUS_OUT : out std_logic; + ---------------- Transmit Ports - 8b10b Encoder Control Ports -------------- + GTX0_TXCHARISK_IN : in std_logic; + ------------------ Transmit Ports - TX Data Path interface ----------------- + GTX0_TXDATA_IN : in std_logic_vector(7 downto 0); + GTX0_TXOUTCLK_OUT : out std_logic; + GTX0_TXRESET_IN : in std_logic; + GTX0_TXUSRCLK2_IN : in std_logic; + ---------------- Transmit Ports - TX Driver and OOB signaling -------------- + GTX0_TXN_OUT : out std_logic; + GTX0_TXP_OUT : out std_logic; + -------- Transmit Ports - TX Elastic Buffer and Phase Alignment Ports ------ + GTX0_TXDLYALIGNDISABLE_IN : in std_logic; + GTX0_TXDLYALIGNMONENB_IN : in std_logic; + GTX0_TXDLYALIGNMONITOR_OUT : out std_logic_vector(7 downto 0); + GTX0_TXDLYALIGNRESET_IN : in std_logic; + GTX0_TXENPMAPHASEALIGN_IN : in std_logic; + GTX0_TXPMASETPHASE_IN : in std_logic; + ----------------------- Transmit Ports - TX PLL Ports ---------------------- + GTX0_GTXTXRESET_IN : in std_logic; + GTX0_TXRESETDONE_OUT : out std_logic + + +); + + +end component; + + +component FEE_rxBitLock is + Port ( clk : in std_logic; + reset : in std_logic; + resetDone : in std_logic; + lossOfSync : in std_logic; + rxPllLocked : in std_logic; + rxReset : out std_logic; + fsmStatus : out std_logic_vector (1 downto 0)); +end component; + +component gtxVirtex6FEE80_tx_sync +generic +( + -- Simulation attributes + SIM_TXPMASETPHASE_SPEEDUP : integer := 0 -- Set to 1 to speed up sim reset +); +port +( + TXENPMAPHASEALIGN : out std_logic; + TXPMASETPHASE : out std_logic; + TXDLYALIGNDISABLE : out std_logic; + TXDLYALIGNRESET : out std_logic; + SYNC_DONE : out std_logic; + USER_CLK : in std_logic; + RESET : in std_logic +); +end component; + +component MGT_USRCLK_SOURCE_MMCM +generic +( + MULT : real := 2.0; + DIVIDE : integer := 2; + CLK_PERIOD : real := 6.4; + OUT0_DIVIDE : real := 2.0; + OUT1_DIVIDE : integer := 2; + OUT2_DIVIDE : integer := 2; + OUT3_DIVIDE : integer := 2 +); +port +( + CLKFBOUT : out std_logic; + CLK0_OUT : out std_logic; + CLK1_OUT : out std_logic; + CLK2_OUT : out std_logic; + CLK3_OUT : out std_logic; + CLK_IN : in std_logic; + MMCM_LOCKED_OUT : out std_logic; + MMCM_RESET_IN : in std_logic +); +end component; + +signal rxCharIsK_S : std_logic; +signal rxData_S : std_logic_vector(7 downto 0); +signal rxReset_S : std_logic :='0'; +signal rxRecClk_S : std_logic :='0'; +signal rxRecClk_buf_S : std_logic :='0'; +signal rxRecClk_double_S : std_logic :='0'; + +signal rxLocked_S : std_logic; +signal txLocked_S : std_logic; +signal txReset_S : std_logic; +signal txResetdone_S : std_logic; + +signal rxLossOfSync_S : std_logic_vector(1 downto 0); +signal rxLossOfSync1_S : std_logic; +signal rxNotInTable_S : std_logic; +signal rxDispError_S : std_logic; + +signal rxResetBitLock_S : std_logic :='0'; +signal pllLkDet_S : std_logic :='0'; +signal resetDone_S : std_logic :='0'; +signal txOutClk_S : std_logic :='0'; + +--signal txUsrClk0_S : std_logic :='0'; +signal txUsrClk_buf_S : std_logic :='0'; + +signal fsmStatus_S : std_logic_vector(1 downto 0); +signal gtx0_double_reset_clk_i : std_logic; + +signal gtx0_rxstatus_i : std_logic_vector(2 downto 0); + +signal rxPLLwrapper_reset_S : std_logic :='0'; +signal rxResetBitLock_pulse_S : std_logic :='0'; +signal sync_rxResetBitLock_S : std_logic :='0'; +signal prev_rxResetBitLock_S : std_logic :='0'; +signal disable_GTX_reset_S : std_logic :='0'; + + -------- Transmit Ports - TX Elastic Buffer and Phase Alignment Ports ------ + signal gtx0_txdlyaligndisable_i : std_logic; + signal gtx0_txdlyalignmonenb_i : std_logic; + signal gtx0_txdlyalignmonitor_i : std_logic_vector(7 downto 0); + signal gtx0_txdlyalignreset_i : std_logic; + signal gtx0_txenpmaphasealign_i : std_logic; + signal gtx0_txpmasetphase_i : std_logic; + signal gtx0_txresetdone_r : std_logic; + signal gtx0_txresetdone_r2 : std_logic; + signal gtx0_reset_txsync_c : std_logic; + signal gtx0_tx_sync_done_i : std_logic; + signal txoutclk_mmcm0_reset_i : std_logic; + signal txoutclk_mmcm0_locked_i : std_logic; + + +signal testword0_S : std_logic_vector(35 downto 0); + +begin + rxUsrClk <= rxRecClk_buf_S; + rxData <= rxData_S; + txUsrClk <= txUsrClk_buf_S; + resetDone <= resetDone_S; + rxLocked <= rxLocked_S; + txLocked <= txLocked_S; + rxCharIsK <= rxCharIsK_S; + +--rxRecClk0_BUFG: BUFG port map ( +-- I => rxRecClk_S, +-- O => rxRecClk_buf_S); + +rxrecclk_bufr1_i : BUFR + generic map ( BUFR_DIVIDE => "BYPASS" ) + port map ( + CE => '1', + CLR => '0', + I => rxRecClk_S, + O => rxRecClk_buf_S); + +-----------------------Dedicated GTX Reference Clock Inputs --------------- +-- The dedicated reference clock inputs you selected in the GUI are implemented using +-- IBUFDS_GTXE1 instances. +-- +-- In the UCF file for this example design, you will see that each of +-- these IBUFDS_GTXE1 instances has been LOCed to a particular set of pins. By LOCing to these +-- locations, we tell the tools to use the dedicated input buffers to the GTX reference +-- clock network, rather than general purpose IOs. To select other pins, consult the +-- Implementation chapter of UG___, or rerun the wizard. +-- +-- This network is the highest performace (lowest jitter) option for providing clocks +-- to the GTX transceivers. +q3_clk0_refclk_bufg_i : BUFG port map ( + I => gtpClk, + O => gtx0_double_reset_clk_i); + + + +gtx_i : gtxVirtex6FEE80 port map( + GTX0_DOUBLE_RESET_CLK_IN => gtx0_double_reset_clk_i, + ----------------------- Receive Ports - 8b10b Decoder ---------------------- + GTX0_RXCHARISK_OUT => rxCharIsK_S, + GTX0_RXDISPERR_OUT => rxDispError_S, + GTX0_RXNOTINTABLE_OUT => rxNotInTable_S, + --------------- Receive Ports - Comma Detection and Alignment -------------- + GTX0_RXENMCOMMAALIGN_IN => '0', -- disable byte boundery alignment + GTX0_RXENPCOMMAALIGN_IN => '0', -- disable byte boundery alignment + ------------------- Receive Ports - RX Data Path interface ----------------- + GTX0_RXDATA_OUT => rxData_S, + GTX0_RXRECCLK_OUT => rxRecClk_S, + GTX0_RXRESET_IN => rxReset_S, + GTX0_RXUSRCLK2_IN => rxRecClk_buf_S, + ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------ + GTX0_RXCDRRESET_IN => rxReset_S, +--? GTX0_RXELECIDLE_OUT => open, + GTX0_RXN_IN => rxN, + GTX0_RXP_IN => rxP, + -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports ------- + GTX0_RXDLYALIGNDISABLE_IN => '0', --- ?????????????????? + GTX0_RXDLYALIGNMONENB_IN => '0', --- ?????????????????? + GTX0_RXDLYALIGNMONITOR_OUT => open, --- ?????????????????? + GTX0_RXDLYALIGNOVERRIDE_IN => '1', --- ?????????????????? + GTX0_RXDLYALIGNRESET_IN => '0', --- ?????????????????? + GTX0_RXENPMAPHASEALIGN_IN => '0', + GTX0_RXPMASETPHASE_IN => '0', + GTX0_RXSTATUS_OUT => gtx0_rxstatus_i, + --------------- Receive Ports - RX Loss-of-sync State Machine -------------- + GTX0_RXLOSSOFSYNC_OUT => rxLossOfSync_S, + ------------------------ Receive Ports - RX PLL Ports ---------------------- + GTX0_GTXRXRESET_IN => gtpReset, + GTX0_MGTREFCLKRX_IN => gtpClk, + GTX0_PLLRXRESET_IN => '0', -- gtpReset, --- ?????????????????????? + GTX0_RXPLLLKDET_OUT => pllLkDet_S, + GTX0_RXRESETDONE_OUT => resetDone_S, + -------------- Receive Ports - RX Pipe Control for PCI Express ------------- + GTX0_PHYSTATUS_OUT => open, --? + ---------------- Transmit Ports - 8b10b Encoder Control Ports -------------- + GTX0_TXCHARISK_IN => txCharIsK, + ------------------ Transmit Ports - TX Data Path interface ----------------- + GTX0_TXDATA_IN => txData, + GTX0_TXOUTCLK_OUT => txOutClk_S, + GTX0_TXRESET_IN => txReset_S, + GTX0_TXUSRCLK2_IN => txUsrClk_buf_S, + ---------------- Transmit Ports - TX Driver and OOB signaling -------------- + GTX0_TXN_OUT => txN, + GTX0_TXP_OUT => txP, + -------- Transmit Ports - TX Elastic Buffer and Phase Alignment Ports ------ + GTX0_TXDLYALIGNDISABLE_IN => gtx0_txdlyaligndisable_i, + GTX0_TXDLYALIGNMONENB_IN => gtx0_txdlyalignmonenb_i, + GTX0_TXDLYALIGNMONITOR_OUT => gtx0_txdlyalignmonitor_i, + GTX0_TXDLYALIGNRESET_IN => gtx0_txdlyalignreset_i, + GTX0_TXENPMAPHASEALIGN_IN => gtx0_txenpmaphasealign_i, + GTX0_TXPMASETPHASE_IN => gtx0_txpmasetphase_i, + ----------------------- Transmit Ports - TX PLL Ports ---------------------- + GTX0_GTXTXRESET_IN => gtpReset, --- ?????????????????????? + GTX0_TXRESETDONE_OUT => txResetdone_S + ); + + +rxLossOfSync1_S <= '0' when (rxNotInTable_S='0') or (disable_GTX_reset_S='1') else '1'; +FEE_rxBitLock1 : FEE_rxBitLock port map ( + clk => rxRecClk_buf_S, + reset => gtpReset, + resetDone => resetDone_S, + lossOfSync => rxLossOfSync1_S, + rxPllLocked => PllLkDet_S, + rxReset => rxResetBitLock_S, + fsmStatus => fsmStatus_S + ); + +---- rxReset_S <= gtpReset; +rxReset_S <= '1' when ((rxPLLwrapper_reset_S='1') or (gtpReset='1')) and (disable_GTX_reset_S='0') else '0'; +rxLocked_S <= '1' when (fsmStatus_S = "10") else '0'; +rxNotInTable <= rxNotInTable_S; +-- peter: gepulste reset (op refclk) voor zowel GTP als PLL +-- lengte van de reset-pulse varieert om te voorkomen dat de reset synchroon is met de GTP +----rxPLLwrapper_reset_S <= '1' when (notPllLkDet_S='1') or (rxResetBitLock_pulse_S='1') else '0'; +rxPLLwrapper_reset_S <= '1' when (rxResetBitLock_pulse_S='1') else '0'; + + +--ADCclkbuf : BUFG port map ( +-- O => txUsrClk_buf_S, +-- I => txOutClk_S); +txLocked_S <= '1' when (txResetdone_S='1') and (gtx0_tx_sync_done_i='1') else '0'; + +rxRecClk_double_S <= '0'; + +process(rxRecClk_buf_S) +begin + if rising_edge(rxRecClk_buf_S) then + disable_GTX_reset_S <= disable_GTX_reset; + end if; +end process; + + +process(asyncclk) +variable resetcounter_V : integer range 0 to 63 := 0; +variable lastresetcounter_V : integer range 0 to 63 := 10; +begin + if rising_edge(asyncclk) then + if (sync_rxResetBitLock_S='1') and (prev_rxResetBitLock_S='0') then + rxResetBitLock_pulse_S <= '1'; + resetcounter_V := 0; + if lastresetcounter_V<63 then + lastresetcounter_V := lastresetcounter_V+1; + else + lastresetcounter_V := 10; + end if; + elsif resetcounter_V 0 + ) + port map + ( + TXENPMAPHASEALIGN => gtx0_txenpmaphasealign_i, + TXPMASETPHASE => gtx0_txpmasetphase_i, + TXDLYALIGNDISABLE => gtx0_txdlyaligndisable_i, + TXDLYALIGNRESET => gtx0_txdlyalignreset_i, + SYNC_DONE => gtx0_tx_sync_done_i, + USER_CLK => txUsrClk_buf_S, + RESET => gtx0_reset_txsync_c + ); + -- The clock resources in this section were added based on userclk source selections on + -- the Latency, Buffering, and Clocking page of the GUI. A few notes about user clocks: + -- * The userclk and userclk2 for each GTX datapath (TX and RX) must be phase aligned to + -- avoid data errors in the fabric interface whenever the datapath is wider than 10 bits + -- * To minimize clock resources, you can share clocks between GTXs. GTXs using the same frequency + -- or multiples of the same frequency can be accomadated using MMCMs. Use caution when + -- using RXRECCLK as a clock source, however - these clocks can typically only be shared if all + -- the channels using the clock are receiving data from TX channels that share a reference clock + -- source with each other. + + txoutclk_mmcm0_reset_i <= not pllLkDet_S; + txoutclk_mmcm0_i : MGT_USRCLK_SOURCE_MMCM + generic map + ( + MULT => 15.0, + DIVIDE => 1, + CLK_PERIOD => 12.5, + OUT0_DIVIDE => 6.0, + OUT1_DIVIDE => 1, + OUT2_DIVIDE => 1, + OUT3_DIVIDE => 1 + ) + port map + ( + CLKFBOUT => open, + CLK0_OUT => txUsrClk_buf_S, + CLK1_OUT => open, + CLK2_OUT => open, + CLK3_OUT => open, + CLK_IN => txOutClk_S, + MMCM_LOCKED_OUT => txoutclk_mmcm0_locked_i, + MMCM_RESET_IN => txoutclk_mmcm0_reset_i + ); + process( txUsrClk_buf_S,txResetdone_S) + begin + if(txResetdone_S = '0') then + gtx0_txresetdone_r <= '0'; + gtx0_txresetdone_r2 <= '0'; + elsif(txUsrClk_buf_S'event and txUsrClk_buf_S = '1') then + gtx0_txresetdone_r <= txResetdone_S; + gtx0_txresetdone_r2 <= gtx0_txresetdone_r; + end if; + end process; + txReset_S <= not txoutclk_mmcm0_locked_i; + + +testword0(7 downto 0) <= rxData_S; +testword0(8) <= rxCharIsK_S; +testword0(10 downto 9) <= fsmStatus_S; +testword0(12 downto 11) <= rxLossOfSync_S; +testword0(13) <= rxNotInTable_S; + +testword0(14) <= rxReset_S; +testword0(15) <= resetDone_S; +testword0(16) <= rxPLLwrapper_reset_S; + +testword0(17) <= disable_GTX_reset_S; +testword0(18) <= rxResetBitLock_S; +testword0(19) <= rxResetBitLock_pulse_S; +--testword0(20) <= rxLocked_S; +-- +--testword0(21) <= gtpReset; +--testword0(22) <= PllLkDet_S; +--testword0(23) <= rxDispError_S; +--testword0(24) <= rxLossOfSync1_S; +--testword0(27 downto 25) <= gtx0_rxstatus_i; +--testword0(28) <= sync_rxResetBitLock_S; +testword0(29) <= prev_rxResetBitLock_S; +testword0(30) <= txLocked_S; +testword0(31) <= txResetdone_S; + +testword0(27 downto 20) <= txData; +testword0(28) <= txCharIsK; + + +end Behavioral; diff --git a/FEE_ADC32board/FEE_modules/FEE_measure_frequency.vhd b/FEE_ADC32board/FEE_modules/FEE_measure_frequency.vhd new file mode 100644 index 0000000..c024f53 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_measure_frequency.vhd @@ -0,0 +1,75 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 16-09-2014 +-- Module Name: FEE_measure_frequency +-- Description: Measures the frequency of pulses +-- Modifications: +-- 02-10-2014 onesecondpulse outside module +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_measure_frequency +-- Measures the number of pulses in one second +-- +-- Library +-- work.panda_package : for type declarations and constants +-- +-- Generics: +-- CLOCKFREQUENCY : frequency of the clock +-- +-- Inputs: +-- clock : clock +-- pulse : pulse to count +-- +-- Outputs: +-- frequency : number of pulses measured in one second +-- +-- Components: +-- +---------------------------------------------------------------------------------- + +entity FEE_measure_frequency is + generic ( + CLOCKFREQUENCY : natural := 80000000 + ); + port ( + clock : in std_logic; + pulse : in std_logic; + onesecondpulse : in std_logic; + frequency : out std_logic_vector(31 downto 0) + ); +end FEE_measure_frequency; + +architecture Behavioral of FEE_measure_frequency is + +signal counter_S : std_logic_vector(31 downto 0) := (others => '0'); + +begin + +process(clock) +begin + if (rising_edge(clock)) then + if onesecondpulse='1' then + frequency <= counter_S; + if pulse='1' then + counter_S <= x"00000001"; + else + counter_S <= x"00000000"; + end if; + else + if pulse='1' then + counter_S <= counter_S+1; + end if; + end if; + end if; +end process; + + +end Behavioral; diff --git a/FEE_ADC32board/FEE_modules/FEE_mux2to1.vhd b/FEE_ADC32board/FEE_modules/FEE_mux2to1.vhd new file mode 100644 index 0000000..5b7c216 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_mux2to1.vhd @@ -0,0 +1,345 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 05-03-2012 +-- Module Name: FEE_mux2to1 +-- Description: compare timestamp of 36bits data pass on first +-- Modifications: +-- 16-10-2014: 3*36bits words; bits 35 and 34 as indenticication +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_mux2to1 +-- Compare timestamp of 36bits data and pass on first +-- If data from only one is available then this is passed on directly +-- The 36-bits data contains packets with 3 words: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- +-- +-- generics +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data1_in : data from first 36-bits input, 3 words: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data1_in_write : write signal for data1_in +-- data1_in_available : more data available: wait with timestamp check until the timestamp is read +-- data2_in : data from second 36-bits input, 3 words: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data2_in_write : write signal for data2_in +-- data2_in_available : more data available: wait with timestamp check until the timestamp is read +-- data_out_allowed : writing of resulting data allowed +-- +-- outputs +-- data1_in_allowed : signal to allow data input 1 +-- data2_in_allowed : signal to allow data input 2 +-- data_out : 36-bits data with valid pulse waveform, 3 words: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data_out_write : write signal for 36-bits output data +-- data_out_available : data available: in this module or at the input +-- error : error in data bits 35..32 +-- +-- components +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_mux2to1 is + Port ( + clock : in std_logic; + reset : in std_logic; + data1_in : in std_logic_vector(35 downto 0); + data1_in_write : in std_logic; + data1_in_available : in std_logic; + data1_in_allowed : out std_logic; + data2_in : in std_logic_vector(35 downto 0); + data2_in_write : in std_logic; + data2_in_available : in std_logic; + data2_in_allowed : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_available : out std_logic; + data_out_allowed : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_mux2to1; + + +architecture Behavioral of FEE_mux2to1 is + +constant TIMEOUTBITS : integer := 6; +signal timeout_counter_S : std_logic_vector(TIMEOUTBITS-1 downto 0) := (others => '0'); + +signal error_S : std_logic := '0'; +signal read_pulse1_S : std_logic := '0'; +signal read_pulse2_S : std_logic := '0'; +signal data1_in_allowed_S : std_logic := '0'; +signal data2_in_allowed_S : std_logic := '0'; +signal data1_in_write_S : std_logic := '0'; +signal data2_in_write_S : std_logic := '0'; +signal data_out_trywrite_S : std_logic := '0'; +signal data_out_write_S : std_logic := '0'; +signal data_out_available_S : std_logic := '0'; +signal data_out_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data1_timestamp_valid_S : std_logic := '0'; +signal data2_timestamp_valid_S : std_logic := '0'; + +begin + +error <= error_S; + +data_out_available <= data_out_available_S; +data_out_available_S <= '1' when (data1_in_available='1') or (data2_in_available='1') + or (data_out_trywrite_S='1') + or (data1_timestamp_valid_S='1') or (data2_timestamp_valid_S='1') + else '0'; + +data_out <= data_out_S; +data_out_write <= data_out_write_S; +data_out_write_S <= '1' when (data_out_trywrite_S='1') and (data_out_allowed='1') else '0'; + +data1_in_allowed <= data1_in_allowed_S; +data1_in_allowed_S <= '1' when (data_out_allowed='1') + and ((read_pulse1_S='1') + or ((read_pulse1_S='0') and (read_pulse2_S='0') and (data1_timestamp_valid_S='0'))) + else '0'; + +data2_in_allowed <= data2_in_allowed_S; +data2_in_allowed_S <= '1' when (data_out_allowed='1') + and ((read_pulse2_S='1') + or ((read_pulse1_S='0') and (read_pulse2_S='0') and (data2_timestamp_valid_S='0'))) + else '0'; + +--data2_in_allowed_S <= '1' when (data_out_allowed='1') +-- and ((read_pulse2_S='1') +-- or (((read_pulse1_S='0') and (data1_timestamp_valid_S='0')) +-- and ((read_pulse2_S='0') and (data2_timestamp_valid_S='0')))) +-- else '0'; + +data1_in_write_S <= '1' when (data1_in_write='1') and (data1_in_allowed_S='1') else '0'; +data2_in_write_S <= '1' when (data2_in_write='1') and (data2_in_allowed_S='1') else '0'; + +readprocess: process(clock) +variable data1_timestamp_V : std_logic_vector(31 downto 0) := (others => '0'); +variable data2_timestamp_V : std_logic_vector(31 downto 0) := (others => '0'); +variable data1_timestamp_valid_V : std_logic; +variable data2_timestamp_valid_V : std_logic; +variable data1_lowchannel_V : std_logic; +variable data2_lowchannel_V : std_logic; +variable data1_pulseskipped_V : std_logic; +variable data2_pulseskipped_V : std_logic; + +begin + if rising_edge(clock) then + if reset='1' then + data_out_trywrite_S <= '0'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data1_timestamp_valid_S <= '0'; + data2_timestamp_valid_S <= '0'; + timeout_counter_S <= (others => '0'); + else + if (data_out_trywrite_S='1') and (data_out_write_S='0') then -- unsuccesful write + data_out_trywrite_S <= '1'; -- try again + timeout_counter_S <= (others => '0'); + else + if read_pulse1_S='1' then + data1_timestamp_valid_V := '0'; + if data1_in_write_S='1' then + timeout_counter_S <= (others => '0'); + if (data1_in(35 downto 34)="01") then -- next data + error_S <= '0'; + data_out_S <= data1_in; + data_out_trywrite_S <= '1'; + elsif (data1_in(35 downto 34)="10") then -- last data + error_S <= '0'; + data_out_S <= data1_in; + read_pulse1_S <= '0'; + data_out_trywrite_S <= '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data_out_trywrite_S <= '0'; + end if; + else + data_out_trywrite_S <= '0'; + if timeout_counter_S(TIMEOUTBITS-1)='1' then + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + else + if data_out_allowed='1' then + timeout_counter_S <= timeout_counter_S+1; + end if; + error_S <= '0'; + end if; + end if; + elsif read_pulse2_S='1' then + data2_timestamp_valid_V := '0'; + if data2_in_write_S='1' then + timeout_counter_S <= (others => '0'); + if (data2_in(35 downto 34)="01") then -- next data + error_S <= '0'; + data_out_S <= data2_in; + data_out_trywrite_S <= '1'; + elsif (data2_in(35 downto 34)="10") then -- last data + error_S <= '0'; + data_out_S <= data2_in; + read_pulse2_S <= '0'; + data_out_trywrite_S <= '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data_out_trywrite_S <= '0'; + end if; + else + data_out_trywrite_S <= '0'; + if timeout_counter_S(TIMEOUTBITS-1)='1' then + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + else + if data_out_allowed='1' then + timeout_counter_S <= timeout_counter_S+1; + end if; + error_S <= '0'; + end if; + end if; + else + timeout_counter_S <= (others => '0'); + if data1_in_write_S='1' then + if (data1_in(35 downto 34)="00") then + data1_timestamp_V := data1_in(31 downto 0); + data1_lowchannel_V := data1_in(33); + data1_pulseskipped_V := data1_in(32); + data1_timestamp_valid_V := '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + end if; + end if; + if data2_in_write_S='1' then + if (data2_in(35 downto 34)="00") then + data2_timestamp_V := data2_in(31 downto 0); + data2_lowchannel_V := data1_in(33); + data2_pulseskipped_V := data1_in(32); + data2_timestamp_valid_V := '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + end if; + end if; + if data1_timestamp_valid_V='1' then + if data2_timestamp_valid_V='1' then + if (data1_timestamp_V(31 downto 0) '0'); + +testword0(0) <= data1_in_write; +testword0(1) <= data1_in_available; +testword0(2) <= data1_in_allowed_S; +testword0(3) <= read_pulse1_S; +testword0(4) <= data1_in_write_S; +testword0(5) <= data1_timestamp_valid_S; +testword0(9 downto 6) <= data1_in(35 downto 32); + +testword0(10) <= data2_in_write; +testword0(11) <= data2_in_available; +testword0(12) <= data2_in_allowed_S; +testword0(13) <= read_pulse2_S; +testword0(14) <= data2_in_write_S; +testword0(15) <= data2_timestamp_valid_S; +testword0(19 downto 16) <= data2_in(35 downto 32); + + +testword0(20) <= data_out_trywrite_S; +testword0(21) <= data_out_write_S; +testword0(22) <= data_out_available_S; +testword0(23) <= data_out_allowed; +testword0(27 downto 24) <= data_out_S(35 downto 32); +testword0(28) <= error_S; + + + +testword0(35 downto 29) <= (others => '0'); + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_mux_readfifo.vhd b/FEE_ADC32board/FEE_modules/FEE_mux_readfifo.vhd new file mode 100644 index 0000000..df92b80 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_mux_readfifo.vhd @@ -0,0 +1,119 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 05-03-2012 +-- Module Name: FEE_mux_readfifo +-- Description: Read 36-bits data from fifo and write to next module +-- Modifications: +-- 16-10-2014 new name for output : data_out_inpipe +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- MUX_mux_readfifo +-- Read 36-bits data from fifo and write to next module. +-- +-- Library: +-- work.panda_package: constants and types +-- +-- Generics: +-- +-- Inputs: +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data_in : 36-bits input data from fifo +-- data_in_available : input fifo not empty +-- data_out_allowed : allowed to write output data data +-- +-- Outputs: +-- data_in_read : read signal to input fifo +-- data_out : 36-bits output data +-- data_out_write : write signal for output data +-- data_out_inpipe : data available, in this module or in input fifo +-- +-- Components: +-- +-- +-- +---------------------------------------------------------------------------------- + +entity FEE_mux_readfifo is + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_inpipe : out std_logic; + data_out_allowed : in std_logic); +end FEE_mux_readfifo; + + +architecture Behavioral of FEE_mux_readfifo is + +signal data_in_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data_out_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data_out_write_S : std_logic := '0'; +signal data_in_saved_S : std_logic := '0'; +signal data_in_read_S : std_logic := '0'; +signal data_in_read_after1clk_S : std_logic := '0'; +signal data_out_trywrite_S : std_logic := '0'; + + +begin + +data_out_inpipe <= '1' when (data_in_available='1') or (data_out_trywrite_S='1') or + (data_in_saved_S='1') else '0'; + +data_in_read <= data_in_read_S; +data_in_read_S <= '1' when (data_out_allowed='1') and (data_in_available='1') and (data_in_saved_S='0') else '0'; + +data_out_write <= data_out_write_S; +data_out_write_S <= '1' when (data_out_trywrite_S='1') and (data_out_allowed='1') else '0'; + +data_out <= data_out_S; + +process(clock) +begin + if (rising_edge(clock)) then + if reset='1' then + data_in_read_after1clk_S <= '0'; + data_out_trywrite_S <= '0'; + data_in_saved_S <= '0'; + else + if (data_out_write_S='0') and (data_out_trywrite_S='1') then -- unsuccesfull try again + data_out_trywrite_S <= '1'; + if data_in_read_after1clk_S='1' then + data_in_S <= data_in; + data_in_saved_S <= '1'; + end if; + elsif data_in_saved_S='1' then -- write saved data + data_out_S <= data_in_S; + data_out_trywrite_S <= '1'; + if data_in_read_after1clk_S='1' then -- save next data + data_in_S <= data_in; + data_in_saved_S <= '1'; + else + data_in_saved_S <= '0'; + end if; + elsif data_in_read_after1clk_S='1' then -- next read + data_out_S <= data_in; + data_out_trywrite_S <= '1'; + else + data_out_trywrite_S <= '0'; + end if; + data_in_read_after1clk_S <= data_in_read_S; + end if; + end if; +end process; + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_pileup_check.vhd b/FEE_ADC32board/FEE_modules/FEE_pileup_check.vhd new file mode 100644 index 0000000..6c3876f --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_pileup_check.vhd @@ -0,0 +1,526 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 16-03-2012 +-- Module Name: FEE_pileup_check +-- Description: Checks and compares two pulselength's +-- Modifications: +-- 02-09-2014 timestamp output indicates now the time of pulse or pileup valid signal +-- 16-09-2014 name changed from pileup_check to FEE_pileup_check +-- 24-09-2014 enable_highgain and enable_lowgain inputs added +-- 10-10-2014 Integral output added, as measurement for the energy instead of maximum +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_pileup_check +-- Determines if pulses should be regarded as pileup, as single pulse, or rejected. +-- If the pulse-time is below an adjustable number of samples then the pulse is rejected. +-- If the pulse-time is longer than an adjustable number of samples then the pulse is regarded as pileup. +-- The other pulses are tested for Integral/Maximum ratio: +-- Pulse is valid until the signal dropps below Triggerlevel_endofpulse +-- The pulse is discarded if the maximum multiplied with IdivMAX_discard value is larger than the integral. +-- The pulse is regarded as pileup if the maximum multiplied with IdivMAX_pileup value is smaller than the integral. +-- At the end of the pulse 1-clockcycle signals are generated for : valid pulse, pileup or cleanup +-- +-- +-- +-- generics +-- ADCBITS : number of ADC-bits +-- IDIVMAXBITS : number of bits for maximum to integral ratio check +-- INTEGRALRATIOBITS : number of bits for integral to energy ratio (bits to shift to the right) +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- superburstnumber : actual superburstnumber +-- timestampcounter : timestampcounter within superburst +-- ADC_highgain : signed ADC value, corrected for baseline +-- enable_highgain : enable high gain input +-- max_data_highgain : maximum of the waveform, calculated by the eventdetector (unsigned) +-- pulse_active_highgain : high gain pulse active (signal above threshold) +-- pulse_rising_highgain : high gain pulse has not yet reached maximum +-- ADC_lowgain : signed ADC value, corrected for baseline +-- enable_lowgain : enable low gain input +-- max_data_lowgain : maximum of the waveform, calculated by the eventdetector (unsigned) +-- pulse_active_lowgain : low gain pulse active (signal above threshold) +-- pulse_rising_lowgain : low gain pulse has not yet reached maximum +-- minpulselength : number of samples below which the pulse is ignored +-- pileuplength : number of samples above which the pulse is treated as pileup +-- maxwavelength : maximum number of samples that can be saved in one waveform +-- IdivMAX_discard : when this value multiplied with the maximum is larger than the integral then the waveform is discarded +-- IdivMAX_pileup : when this value multiplied with the maximum is smaller than the integral then the waveform is regarded as pileup +-- fullsize_wave_highgain : take waveforms with maximum size for highgain input +-- fullsize_wave_lowgain : take waveforms with maximum size for lowgain input +-- +-- outputs +-- pulse_valid_highgain : high gain pulse data valid, and pulse not too long +-- singlepulse_highgain : high gain pulse detected +-- pileuppulse_highgain : high gain pileup signal detected +-- clearpulse_highgain : high gain pulse too short: clear saved samples +-- integral_highgain : high gain scaled integral output as value for the energy +-- pulse_valid_lowgain : low gain pulse data valid, and pulse not too long +-- singlepulse_lowgain : low gain pulse detected +-- pileuppulse_lowgain : low gain pileup signal detected +-- clearpulse_lowgain : low gain pulse too short: clear saved samples +-- integral_lowgain : low gain scaled integral output as value for the energy +-- superburst : superburst of the detected pulse or pileup signal (start of valid) +-- timestamp : timestamp within the superburst of the detected pulse or pileup signal (start of valid) +-- +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_pileup_check is + generic ( + ADCBITS : natural := 14; + IDIVMAXBITS : natural := 5; + INTEGRALRATIOBITS : natural := 3 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADC_highgain : in std_logic_vector(ADCBITS downto 0); -- signed + enable_highgain : in std_logic; + max_data_highgain : in std_logic_vector(ADCBITS-1 downto 0); -- unsigned + pulse_active_highgain : in std_logic; + pulse_rising_highgain : in std_logic; + clipping_highgain : in std_logic; + ADC_lowgain : in std_logic_vector(ADCBITS downto 0); -- signed + enable_lowgain : in std_logic; + max_data_lowgain : in std_logic_vector(ADCBITS-1 downto 0); -- unsigned + pulse_active_lowgain : in std_logic; + pulse_rising_lowgain : in std_logic; + minpulselength : in std_logic_vector(7 downto 0); + pileuplength : in std_logic_vector(7 downto 0); + maxwavelength : in std_logic_vector(7 downto 0); + IdivMAX_discard : in std_logic_vector(IDIVMAXBITS-1 downto 0); + IdivMAX_pileup : in std_logic_vector(IDIVMAXBITS-1 downto 0); + fullsize_wave_highgain : in std_logic; + fullsize_wave_lowgain : in std_logic; + pulse_valid_highgain : out std_logic; + singlepulse_highgain : out std_logic; + pileuppulse_highgain : out std_logic; + clearpulse_highgain : out std_logic; + integral_highgain : out std_logic_vector(15 downto 0); + pulse_valid_lowgain : out std_logic; + singlepulse_lowgain : out std_logic; + pileuppulse_lowgain : out std_logic; + clearpulse_lowgain : out std_logic; + integral_lowgain : out std_logic_vector(15 downto 0); + superburst : out std_logic_vector(15 downto 0); + timestamp : out std_logic_vector(15 downto 0); + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_pileup_check; + +architecture Behavioral of FEE_pileup_check is + +constant ZEROS : std_logic_vector(31 downto 0) := (others => '0'); +signal pulse_highgain_tooshort_S : std_logic := '0'; +signal pulse_highgain_toolong_S : std_logic := '0'; +signal pulse_highgain_pileup_S : std_logic := '0'; +signal prev_pulse_highgain_toolong_S : std_logic := '0'; +signal prev_pulseactive_highgain_S : std_logic := '0'; +signal singlepulse_highgain_S : std_logic := '0'; +signal pileuppulse_highgain_S : std_logic := '0'; +signal clearpulse_highgain_S : std_logic := '0'; +signal pulse_active_highgain_prev1_S : std_logic := '0'; +signal pulse_active_highgain_prev2_S : std_logic := '0'; +signal counter_highgain_S : std_logic_vector(7 downto 0); + +signal singlepulse_lowgain_occured_S : std_logic := '0'; +signal pileuppulse_lowgain_occured_S : std_logic := '0'; +signal pulse_lowgain_tooshort_S : std_logic := '0'; +signal pulse_lowgain_toolong_S : std_logic := '0'; +signal pulse_lowgain_pileup_S : std_logic := '0'; +signal prev_pulse_lowgain_toolong_S : std_logic := '0'; +signal prev_pulseactive_lowgain_S : std_logic := '0'; +signal singlepulse_lowgain_S : std_logic := '0'; +signal pileuppulse_lowgain_S : std_logic := '0'; +signal clearpulse_lowgain_S : std_logic := '0'; +signal pulse_active_lowgain_prev1_S : std_logic := '0'; +signal pulse_active_lowgain_prev2_S : std_logic := '0'; + +signal clipping_highgain_S : std_logic := '0'; +signal counter_lowgain_S : std_logic_vector(7 downto 0) := (others => '0'); + +signal superburst_highgain_S : std_logic_vector(15 downto 0) := (others => '0'); +signal timestamp_highgain_S : std_logic_vector(15 downto 0) := (others => '0'); +signal superburst_lowgain_S : std_logic_vector(15 downto 0) := (others => '0'); +signal timestamp_lowgain_S : std_logic_vector(15 downto 0) := (others => '0'); + + +signal integral_highgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal maxXconstant1_highgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal maxXconstant2_highgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal integral_highgain_stdl_S : std_logic_vector(ADCBITS+9 downto 0); +signal pulse_highgain_toonarrow_s : std_logic := '0'; +signal pulse_highgain_toowide_S : std_logic := '0'; + + +signal integral_lowgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal maxXconstant1_lowgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal maxXconstant2_lowgain_S : integer range -2**(ADCBITS+9) to 2**(ADCBITS+9)-1; +signal integral_lowgain_stdl_S : std_logic_vector(ADCBITS+9 downto 0); +signal pulse_lowgain_toonarrow_s : std_logic := '0'; +signal pulse_lowgain_toowide_S : std_logic := '0'; + +signal fullsize_wave_highgain_S : std_logic := '0'; +signal fullsize_wave_lowgain_S : std_logic := '0'; + +signal pulse_active_highgain_S : std_logic := '0'; +signal prev_pulseactive_highgainS_S : std_logic := '0'; +signal pulse_busy_highgain_S : std_logic := '0'; +signal pulse_active_lowgain_S : std_logic := '0'; +signal prev_pulse_active_lowgains_s : std_logic := '0'; +signal pulse_busy_lowgain_S : std_logic := '0'; + +--integer range 0 to 2**(ADCBITS+IDIVMAXBITS-1)-1; +begin + +integral_highgain_stdl_S <= conv_std_logic_vector(integral_highgain_S,ADCBITS+10); +integral_highgain <= + x"0000" when (integral_highgain_stdl_S(ADCBITS+9)='1') else -- negative + x"ffff" when (integral_highgain_stdl_S(ADCBITS+8 downto INTEGRALRATIOBITS+15)/=ZEROS(ADCBITS+8 downto INTEGRALRATIOBITS+15)) -- clip + else integral_highgain_stdl_S(INTEGRALRATIOBITS+15 downto INTEGRALRATIOBITS); + +integral_lowgain_stdl_S <= conv_std_logic_vector(integral_lowgain_S,ADCBITS+10); +integral_lowgain <= + x"0000" when (integral_lowgain_stdl_S(ADCBITS+9)='1') else -- negative + x"ffff" when (integral_lowgain_stdl_S(ADCBITS+8 downto INTEGRALRATIOBITS+15)/=ZEROS(ADCBITS+8 downto INTEGRALRATIOBITS+15)) -- clip + else integral_lowgain_stdl_S(INTEGRALRATIOBITS+15 downto INTEGRALRATIOBITS); + + +process(clock) +begin + if (rising_edge(clock)) then + if (enable_highgain='1') then + fullsize_wave_highgain_S <= fullsize_wave_highgain; + else + fullsize_wave_highgain_S <= '0'; + end if; + if (enable_lowgain='1') then + fullsize_wave_lowgain_S <= fullsize_wave_lowgain; + else + fullsize_wave_lowgain_S <= '0'; + end if; + end if; +end process; + +clipping_highgain_S <= clipping_highgain; + +process(clock) +begin + if rising_edge(clock) then + if (reset='1') then + integral_highgain_S <= conv_integer(signed(ADC_highgain)); + else + if ((pulse_active_highgain='0') and (pulse_active_highgain_prev1_S='0')) or + ((pulse_active_highgain='1') and (pulse_active_highgain_prev1_S='0') and (pulse_active_highgain_prev2_S='1'))then + integral_highgain_S <= conv_integer(signed(ADC_highgain)); + else + integral_highgain_S <= integral_highgain_S+conv_integer(signed(ADC_highgain)); + end if; + end if; + pulse_active_highgain_prev2_S <= pulse_active_highgain_prev1_S; + pulse_active_highgain_prev1_S <= pulse_active_highgain; + end if; +end process; + +process(clock) +begin + if rising_edge(clock) then + maxXconstant1_highgain_S <= conv_integer(unsigned(max_data_highgain)) * conv_integer(unsigned(IdivMAX_discard)); + maxXconstant2_highgain_S <= conv_integer(unsigned(max_data_highgain)) * conv_integer(unsigned(IdivMAX_pileup)); + end if; +end process; +pulse_highgain_toonarrow_S <= '1' when maxXconstant1_highgain_S>integral_highgain_S else '0'; +pulse_highgain_toowide_S <= '1' when maxXconstant2_highgain_Sintegral_lowgain_S else '0'; +pulse_lowgain_toowide_S <= '1' when maxXconstant2_lowgain_S '0'); + pulse_highgain_toolong_S <= '0'; + pulse_highgain_pileup_S <= '0'; + pulse_busy_highgain_S <= '0'; + else + if (pulse_active_highgain_S='1') or (pulse_active_highgain='1') then + pulse_busy_highgain_S <= enable_highgain; + if counter_highgain_S '0'); + pulse_highgain_pileup_S <= '0'; + end if; + end if; + prev_pulse_highgain_toolong_S <= pulse_highgain_toolong_S; + prev_pulseactive_highgain_S <= pulse_active_highgain; + prev_pulseactive_highgainS_S <= pulse_active_highgain_S; + end if; +end process; + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + singlepulse_lowgain_occured_S <= '0'; + pileuppulse_lowgain_occured_S <= '0'; + else + if (pulse_active_highgain='0') then + singlepulse_lowgain_occured_S <= '0'; -- clear indicator for low-gain pulse happened + elsif singlepulse_lowgain_S='1' then + singlepulse_lowgain_occured_S <= enable_lowgain; + end if; + if (pulse_active_highgain='0') then + pileuppulse_lowgain_occured_S <= '0'; -- clear indicator for low-gain pileup-pulse happened + elsif pileuppulse_lowgain_S='1' then + pileuppulse_lowgain_occured_S <= enable_lowgain; + end if; + end if; + end if; +end process; + +pulse_lowgain_tooshort_S <= '1' when (counter_lowgain_S '0'); + pulse_lowgain_toolong_S <= '0'; + pulse_lowgain_pileup_S <= '0'; + pulse_busy_lowgain_S <= '0'; + else + if (pulse_active_lowgain_S='1') or (pulse_active_lowgain='1') then + pulse_busy_lowgain_S <= enable_lowgain; + if counter_lowgain_S '0'); + pulse_lowgain_pileup_S <= '0'; + end if; + end if; + prev_pulse_lowgain_toolong_S <= pulse_lowgain_toolong_S; + prev_pulseactive_lowgain_S <= pulse_active_lowgain; + prev_pulse_active_lowgainS_S <= pulse_active_lowgain_S; + end if; +end process; + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + superburst <= (others => '0'); + timestamp <= (others => '0'); + else + if (singlepulse_lowgain_S='1') or (pileuppulse_lowgain_S='1') then + superburst <= superburst_lowgain_S; + timestamp <= timestamp_lowgain_S; + elsif (singlepulse_highgain_S='1') or (pileuppulse_highgain_S='1') then + superburst <= superburst_highgain_S; + timestamp <= timestamp_highgain_S; + end if; + end if; + end if; +end process; + +--testword0(0) <= pulse_active_highgain; +--testword0(1) <= pulse_rising_highgain; +-- +--testword0(2) <= pulse_active_highgain_S; -- pulse_highgain_tooshort_S; +--testword0(3) <= pulse_highgain_toolong_S; +--testword0(4) <= prev_pulse_highgain_toolong_S; +--testword0(5) <= prev_pulseactive_highgain_S; +--testword0(6) <= singlepulse_highgain_S; +--testword0(7) <= pileuppulse_highgain_S; +--testword0(8) <= pulse_busy_highgain_S; -- pulse_highgain_toonarrow_s; +--testword0(9) <= pulse_highgain_toowide_S; +-- +--testword0(15 downto 10) <= counter_highgain_S(5 downto 0); +--testword0(16) <= pulse_active_lowgain; +--testword0(17) <= pulse_rising_lowgain; +--testword0(18) <= pulse_active_lowgain_S; -- pulse_lowgain_tooshort_S; +--testword0(19) <= pulse_lowgain_toolong_S; +--testword0(20) <= prev_pulse_lowgain_toolong_S; +--testword0(21) <= prev_pulseactive_lowgain_S; +--testword0(22) <= singlepulse_lowgain_S; +--testword0(23) <= pileuppulse_lowgain_S; +--testword0(24) <= pulse_busy_lowgain_S; -- pulse_lowgain_toonarrow_s; +--testword0(25) <= pulse_lowgain_toowide_S; +-- +--testword0(31 downto 26) <= counter_lowgain_S(5 downto 0); +-- +--testword0(32) <= singlepulse_lowgain_occured_S; +--testword0(33) <= pileuppulse_lowgain_occured_S; +--testword0(34) <= clearpulse_highgain_S; +--testword0(35) <= clearpulse_lowgain_S; + + +testword0(22) <= pulse_active_highgain; +testword0(23) <= pulse_active_highgain_S; -- pulse_highgain_tooshort_S; +testword0(24) <= singlepulse_highgain_S; +testword0(25) <= pileuppulse_highgain_S; +testword0(26) <= pulse_busy_highgain_S; -- pulse_highgain_toonarrow_s; +testword0(27) <= pulse_active_lowgain; +testword0(28) <= pulse_active_lowgain_S; -- pulse_lowgain_tooshort_S; +testword0(29) <= singlepulse_lowgain_S; +testword0(30) <= pileuppulse_lowgain_S; +testword0(31) <= pulse_busy_lowgain_S; -- pulse_lowgain_toonarrow_s; +testword0(32) <= singlepulse_lowgain_occured_S; +testword0(33) <= pileuppulse_lowgain_occured_S; +testword0(34) <= clearpulse_highgain_S; +testword0(35) <= clearpulse_lowgain_S; + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_pulse2to1_pulse.vhd b/FEE_ADC32board/FEE_modules/FEE_pulse2to1_pulse.vhd new file mode 100644 index 0000000..b38a36a --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_pulse2to1_pulse.vhd @@ -0,0 +1,192 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 03-09-2014 +-- Module Name: FEE_pulse2to1_pulse +-- Description: Get hit-members from high and low gain input and put in a 36-bits wide stream +-- Modifications: +-- 10-10-2014 Integral as measurement for the energy instead of maximum +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_pulse2to1_pulse +-- Get hit-members from high and low gain input and put in a 36-bits wide stream. +-- The members are: +-- superburstnumber, timestamp, +-- CF_signal before and after zero-crossing, +-- two samples at the maximum of the pulse, +-- status that indicates if a previous pulse was skipped +-- +-- The output data consist of packets with three 36-bits each containing the members of one hit: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- +-- +-- generics +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- channel : adc index +-- pulse1_write : write signal for the input signal from first input +-- pulse1_superburst : superburstnumber at the time of the constant fraction signal before the zero crossing +-- pulse1_timestamp : 16-bits timestamp (inside the superburst) of the constant fraction signal before the zero crossing +-- pulse1_skipped : signal to indicate that the previous constant fraction was not successful and that the pulse was discarded +-- pulse1_energy : energy of the pulse : scaled integral +-- pulse1_CF1 : CF_signal value of the value before the zero-crossing (absolute value) +-- pulse1_CF2 : CF_signal value of the value after the zero-crossing (absolute value) +-- pulse2_write : write signal for the input signal from second input +-- pulse2_superburst : superburstnumber at the time of the constant fraction signal before the zero crossing +-- pulse2_timestamp : 16-bits timestamp (inside the superburst) of the constant fraction signal before the zero crossing +-- pulse2_skipped : signal to indicate that the previous constant fraction was not successful and that the pulse was discarded +-- pulse2_energy : energy of the pulse : scaled integral +-- pulse2_CF1 : CF_signal value of the value before the zero-crossing (absolute value) +-- pulse2_CF2 : CF_signal value of the value after the zero-crossing (absolute value) +-- data_out_almostfull : target fifo is almost full : discard data-packet and report skipped pulse at next hit-result packet +-- data_out_allowed : writing of resulting data allowed +-- +-- outputs +-- pulse_skipped : indicates that a hit is skipped (buffer overrun or faulty constant fraction) +-- data2_in_allowed : signal to allow data input 2 +-- data_out : 36-bits data with valid pulse waveform: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data_out_write : write signal for 36-bits output data +-- +-- components +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_pulse2to1_pulse is + Port ( + clock : in std_logic; + reset : in std_logic; + channel : in std_logic_vector(7 downto 0); + pulse1_write : in std_logic; + pulse1_superburst : in std_logic_vector(15 downto 0); + pulse1_timestamp : in std_logic_vector(15 downto 0); + pulse1_skipped : in std_logic; + pulse1_energy : in std_logic_vector(15 downto 0); + pulse1_CF1 : in std_logic_vector(15 downto 0); + pulse1_CF2 : in std_logic_vector(15 downto 0); + pulse2_write : in std_logic; + pulse2_superburst : in std_logic_vector(15 downto 0); + pulse2_timestamp : in std_logic_vector(15 downto 0); + pulse2_skipped : in std_logic; + pulse2_energy : in std_logic_vector(15 downto 0); + pulse2_CF1 : in std_logic_vector(15 downto 0); + pulse2_CF2 : in std_logic_vector(15 downto 0); + pulse_skipped : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_almostfull : in std_logic; + data_out_allowed : in std_logic + ); +end FEE_pulse2to1_pulse; + + +architecture Behavioral of FEE_pulse2to1_pulse is +constant zeros : std_logic_vector(35 downto 0) := (others => '0'); +signal select2_S : std_logic; +signal select2b_S : std_logic := '0'; +signal writeindex_S : integer range 0 to 2 := 0; +signal pulse1_skipped_S : std_logic := '0'; +signal pulse2_skipped_S : std_logic := '0'; +signal pulse1_skipbit_S : std_logic; +signal pulse2_skipbit_S : std_logic; + +begin + +pulse_skipped <= '1' when (pulse1_skipped_S='1') or (pulse2_skipped_S='1') else '0'; + +select2_S <= + '0' when ((writeindex_S=0) and (pulse1_write='1')) else + '1' when ((writeindex_S=0) and (pulse2_write='1')) else + select2b_S; +data_out <= + "00" & '0' & pulse1_skipbit_S & pulse1_superburst & pulse1_timestamp when (select2_S='0') and (writeindex_S=0) else + "00" & '1' & pulse2_skipbit_S & pulse2_superburst & pulse2_timestamp when (select2_S='1') and (writeindex_S=0) else + "01" & "00" & x"00" & channel(7 downto 1) & '0' & pulse1_energy when (select2_S='0') and (writeindex_S=1) else + "01" & "00" & x"00" & channel(7 downto 1) & '1' & pulse2_energy when (select2_S='1') and (writeindex_S=1) else + "10" & "00" & pulse1_CF1 & pulse1_CF2 when (select2_S='0') and (writeindex_S=2) else + "10" & "00" & pulse2_CF1 & pulse2_CF2; -- when (select2_S='1') and (writeindex_S=2) else +pulse1_skipbit_S <= '1' when (pulse1_skipped_S='1') or (pulse1_skipped='1') else '0'; +pulse2_skipbit_S <= '1' when (pulse2_skipped_S='1') or (pulse2_skipped='1') else '0'; + +data_out_write <= '1' when + ((writeindex_S=0) and (data_out_almostfull='0') and (data_out_allowed='1') and ((pulse1_write='1') or (pulse2_write='1'))) or + ((writeindex_S=1) or (writeindex_S=2)) + else '0'; + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + select2b_S <= '0'; + writeindex_S <= 0; + else + if (writeindex_S=0) then + if (data_out_almostfull='0') and (data_out_allowed='1') then + if pulse1_write='1' then + select2b_S <= '0'; + writeindex_S <= 1; + elsif pulse2_write='1' then + select2b_S <= '1'; + writeindex_S <= 1; + end if; + end if; + elsif writeindex_S=1 then + writeindex_S <= 2; + else + writeindex_S <= 0; + end if; + end if; + end if; +end process; + + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + pulse1_skipped_S <= '0'; + else + if (pulse1_write='1') and + ((data_out_almostfull='1') or (data_out_allowed='0') or (writeindex_S/=0)) then + pulse1_skipped_S <= '1'; + elsif writeindex_S=2 then + pulse1_skipped_S <= '0'; + end if; + end if; + end if; +end process; + +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + pulse2_skipped_S <= '0'; + else + if (pulse2_write='1') and + ((data_out_almostfull='1') or (data_out_allowed='0') or (writeindex_S/=0)) then + pulse2_skipped_S <= '1'; + elsif writeindex_S=2 then + pulse2_skipped_S <= '0'; + end if; + end if; + end if; +end process; + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_pulse_and_pileup_waveforms.vhd b/FEE_ADC32board/FEE_modules/FEE_pulse_and_pileup_waveforms.vhd new file mode 100644 index 0000000..5cc71af --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_pulse_and_pileup_waveforms.vhd @@ -0,0 +1,561 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 03-02-2012 +-- Module Name: FEE_pulse_and_pileup_waveforms +-- Description: Multiple adc inputs with output stream for pulse-waveforms and pileup-waveforms, dual gain version +-- Modifications: +-- 08-09-2014 Part of Constant Fraction calculation moved to input module (before mux) +-- 22-09-2014 single clock +-- 23-09-2014 sort pileup waveforms +-- 10-10-2014 Integral as measurement for the energy instead of maximum +-- 16-10-2014 inpipe signals +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; +library work; +USE work.panda_package.all; +use std.textio.all; +use IEEE.std_logic_textio.all; -- I/O for logic types + +------------------------------------------------------------------------------------------------------ +-- FEE_pulse_and_pileup_waveforms +-- Multiple adc inputs with output stream for pulse-waveforms and pileup-waveforms. +-- on each input pulses are detected and the waveform is put in a buffer. +-- A timestamp is added, based on maximum signal in waveform. +-- From each high-gain and low-gain input pair only one waveform at the same time is choosen and passed on. +-- The waveform are distinguish for single pulse and pileup waveforms. +-- The single pulse waveforms are sorted, based on timestamp, and multiplexed to one stream. +-- The pileup waveforms multiplexed to one stream (unsorted). +-- The parameters are organised in registers A,B,C,D : +-- board_register A: write +-- register_A(7..0) = threshold High +-- register_A(15..8) = threshold Low +-- register_A(16) = disable High +-- register_A(17) = disable Low +-- register_A(23..18) = I/Max discard +-- register_A(29..24) = I/Max pileup +-- board_register B: write +-- register_B(7..0) = minimum pulselength +-- register_B(15..8) = pileup length +-- register_B(23..16) = maximum wavelength +-- register_B(24) = fullsize High +-- register_B(25) = fullsize Low +-- register_B(29..26) = CF delay +-- +-- +-- generics +-- NROFADCS : number of adc-inputs (two adc-inputs are a combined high-gain and low-gain pair) +-- ADCBITS : number of ADC-bits +-- BWBITS : number of bits for the baseline IIR filter bandwidth +-- WAVEFORMBUFFERSIZE : number of bits for the buffer memory address: power of this constant will give the size +-- IDIVMAXBITS : number of bits for maximum to integral ratio check +-- INTEGRALRATIOBITS : number of bits for integral to energy ratio (bits to shift to the right) +-- CF_DELAYBITS : number of bits for the Constant Fraction delay +-- +-- inputs +-- clock : clock +-- reset : synchrounous reset +-- superburstnumber : actual superburstnumber +-- timestampcounter : timestampcounter within superburst +-- ADCdata : array with ADC data for each input +-- enable_data : enable adc data +-- slowcontrol_byte_data : data from slowcontrol containing commands/settings (sent byte-wise) +-- slowcontrol_byte_write : write signal for the slowcontrol commands +-- slowcontrol_byte_request : indicates that the slowcontrol command is a request for data (status reading) +-- pulsedata_read : read signal for data with resulting single pulse waveforms +-- pileupdata_read : read signal for data with resulting pileup waveforms +-- +-- outputs +-- pulsedata_out : 36 bits output data with resulting single pulse waveforms: +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- pulsedata_available : output single pulse data is available +-- pulsedata_inpipe : more single pulse data on its way +-- pileupdata_out : 36-bits output data with resulting pileup waveforms: +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..16) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- pileupdata_available : output pileup data is available +-- pileupdata_inpipe : more pileup data on its way +-- pulsedetect : pulse detected for each of the ADC channels +-- overflow : overflow in data from one of the channels: data is lost +-- +-- components +-- FEE_dual_pulse_waveform : module to extract waveform containing pulse from high_gain/low_gain pair +-- FEE_sorting_mux : multiplexer for pulse data, sort based on timestamp +-- FEE_sorting_wavemux : sorted multiplexer for waveform data +-- FEE_slowcontrol_receive_from_cpu : receive slowcontrol commands, byte-wise +-- +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_pulse_and_pileup_waveforms is + generic ( + NROFADCS : natural := 16; + ADCBITS : natural := 14; + BWBITS : natural := 10; + WAVEFORMBUFFERSIZE : natural := 11; + IDIVMAXBITS : natural := 6; + INTEGRALRATIOBITS : natural := 3; + CF_DELAYBITS : natural := 8 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADCdata : in array_adc_type; + enable_data : in std_logic; + slowcontrol_byte_data : in std_logic_vector (7 downto 0); + slowcontrol_byte_write : in std_logic; + slowcontrol_byte_request: in std_logic; + pulsedata_out : out std_logic_vector(35 downto 0); + pulsedata_read : in std_logic; + pulsedata_available : out std_logic; + pulsedata_inpipe : out std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pileupdata_read : in std_logic; + pileupdata_available : out std_logic; + pileupdata_inpipe : out std_logic; + pulsedetect : out std_logic_vector(0 to NROFADCS-1); + overflow : out std_logic; + testindex : in integer range 0 to NROFADCS/2-1; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end FEE_pulse_and_pileup_waveforms; + +architecture Behavioral of FEE_pulse_and_pileup_waveforms is + +component FEE_dual_pulse_waveform is + generic ( + ADCBITS : natural := ADCBITS; + BWBITS : natural := BWBITS; + WAVEFORMBUFFERSIZE : natural := WAVEFORMBUFFERSIZE; + IDIVMAXBITS : natural := IDIVMAXBITS; + INTEGRALRATIOBITS : natural := INTEGRALRATIOBITS; + CF_DELAYBITS : natural := CF_DELAYBITS + ); + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + adcnumber : in std_logic_vector(7 downto 0); + cf_delay : in std_logic_vector(CF_DELAYBITS-1 downto 0); + superburstnumber : in std_logic_vector(30 downto 0); + timestampcounter : in std_logic_vector(15 downto 0); + ADCdata_highgain : in std_logic_vector((ADCBITS-1) downto 0); + ADCdata_lowgain : in std_logic_vector((ADCBITS-1) downto 0); + threshold_highgain : in std_logic_vector((ADCBITS-1) downto 0); + threshold_lowgain : in std_logic_vector((ADCBITS-1) downto 0); + enable_highgain : in std_logic; + enable_lowgain : in std_logic; + IIRfilterBW : in std_logic_vector(2 downto 0); + maxabovebaseline : in std_logic_vector(3 downto 0); + minpulselength : in std_logic_vector(7 downto 0); + pileuplength : in std_logic_vector(7 downto 0); + maxwavelength : in std_logic_vector(7 downto 0); + IdivMAX_discard : in std_logic_vector(IDIVMAXBITS-1 downto 0); + IdivMAX_pileup : in std_logic_vector(IDIVMAXBITS-1 downto 0); + fullsize_wave_highgain : in std_logic; + fullsize_wave_lowgain : in std_logic; + ADC_minus_baseline_highgain : out std_logic_vector(ADCBITS downto 0); + ADC_minus_baseline_lowgain : out std_logic_vector(ADCBITS downto 0); + pulsedata_allowed : in std_logic; + pulsedata_almostfull : in std_logic; + pulsedata_write : out std_logic; + pulsedata_out : out std_logic_vector(35 downto 0); + pileupdata_allowed : in std_logic; + pileupdata_almostfull : in std_logic; + pileupdata_write : out std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pulsedetect : out std_logic; + overflow : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_sorting_mux is + generic( + NROFMUXINPUTS : natural := NROFADCS/2 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in array_halfadc36bits_type; + data_in_write : in std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_allowed : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_almostfull : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + data_out_inpipe : out std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0) + ); +end component; + + +component FEE_sorting_wavemux is + generic( + NROFMUXINPUTS : natural := NROFADCS/2 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in array_halfadc36bits_type; + data_in_write : in std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_allowed : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_almostfull : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + data_out_inpipe : out std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_slowcontrol_receive_from_cpu is + port ( + clock : in std_logic; + reset : in std_logic; + address : in std_logic_vector(7 downto 0); + byte_data : in std_logic_vector(7 downto 0); + byte_write : in std_logic; + byte_request : in std_logic; + register_A : out std_logic_vector (31 downto 0); + register_B : out std_logic_vector (31 downto 0) + ); +end component; + +constant zeros : std_logic_vector(0 to NROFADCS/2-1) := (others => '0'); +signal ADCdata_S : array_adc_type; +signal enable_high_S : std_logic_vector(0 to NROFADCS/2-1); +signal enable_low_S : std_logic_vector(0 to NROFADCS/2-1); +signal adcnumber_S : array_halfadc8bits_type; +signal pulsedata_allowed_S : std_logic_vector(0 to NROFADCS/2-1); +signal pulsedata_write_S : std_logic_vector(0 to NROFADCS/2-1); +signal pulsedata_almostfull_S : std_logic_vector(0 to NROFADCS/2-1); +signal pulsedata_out_S : array_halfadc36bits_type; +signal pulsedata_inpipe_S : std_logic; +signal pileupdata_allowed_S : std_logic_vector(0 to NROFADCS/2-1); +signal pileupdata_write_S : std_logic_vector(0 to NROFADCS/2-1); +signal pileupdata_almostfull_S : std_logic_vector(0 to NROFADCS/2-1); +signal pileupdata_out_S : array_halfadc36bits_type; +signal overflow_S : std_logic_vector(0 to NROFADCS/2-1); +signal pulsedata_available_S : std_logic; +signal pileupdata_available_S : std_logic; +signal pileupdata_inpipe_S : std_logic; + +signal pulsedetect_S : std_logic_vector(0 to NROFADCS-1); +signal pileupdata_output_S : std_logic_vector(35 downto 0); + +signal register_A_S : array_halfadc32bits_type := (others => (others => '0')); +signal register_B_S : array_halfadc32bits_type := (others => (others => '0')); + +signal dataerrors_S : std_logic_vector(0 to NROFADCS/2-1); + +signal testword0_S : array_halfadc36bits_type; +signal testword1_S : array_halfadc36bits_type; +signal testword2_S : array_halfadc36bits_type; + + +begin + + + waves : for index in 0 to NROFADCS/2-1 generate + + FEE_slowcontrol_receive_from_cpu_all: FEE_slowcontrol_receive_from_cpu port map( + clock => clock, + reset => reset, + address => conv_std_logic_vector(index*2,8), + byte_data => slowcontrol_byte_data, + byte_write => slowcontrol_byte_write, + byte_request => slowcontrol_byte_request, + register_A => register_A_S(index), + register_B => register_B_S(index)); + + adcnumber_S(index) <= conv_std_logic_vector(index*2,8); + process(clock) + begin + if (rising_edge(clock)) then + enable_high_S(index) <= not register_A_S(index)(16); + enable_low_S(index) <= not register_A_S(index)(17); + end if; + end process; + ADCdata_S(index*2) <= ADCdata(index*2);-- when enable_high_S(index)='1' else (others => '0'); + ADCdata_S(index*2+1) <= ADCdata(index*2+1);-- when enable_low_S(index)='1' else (others => '0'); + + FEE_dual_pulse_waveform1: FEE_dual_pulse_waveform port map( + clock => clock, + reset => reset, + enable => enable_data, + adcnumber => adcnumber_S(index), + cf_delay => register_B_S(index)(29 downto 26), + superburstnumber => superburstnumber, + timestampcounter => timestampcounter, + ADCdata_highgain => ADCdata_S(index*2), + ADCdata_lowgain => ADCdata_S(index*2+1), + threshold_highgain(7 downto 0) => register_A_S(index)(7 downto 0), + threshold_highgain((ADCBITS-1) downto 8) => (others => '0'), + threshold_lowgain(7 downto 0) => register_A_S(index)(15 downto 8), + threshold_lowgain((ADCBITS-1) downto 8) => (others => '0'), + enable_highgain => enable_high_S(index), + enable_lowgain => enable_low_S(index), + IIRfilterBW => (others => '0'), + maxabovebaseline => "1010", + minpulselength => register_B_S(index)(7 downto 0), + pileuplength => register_B_S(index)(15 downto 8), + maxwavelength => register_B_S(index)(23 downto 16), + IdivMAX_discard => register_A_S(index)(IDIVMAXBITS+17 downto 18), + IdivMAX_pileup => register_A_S(index)(IDIVMAXBITS+23 downto 24), + fullsize_wave_highgain => register_B_S(index)(24), + fullsize_wave_lowgain => register_B_S(index)(25), + ADC_minus_baseline_highgain => open, -- testword0_S(idx)(14 downto 0), + ADC_minus_baseline_lowgain => open, -- testword0_S(idx)(30 downto 16), + pulsedata_allowed => pulsedata_allowed_S(index), + pulsedata_almostfull => pulsedata_almostfull_S(index), + pulsedata_write => pulsedata_write_S(index), + pulsedata_out => pulsedata_out_S(index), + pileupdata_allowed => pileupdata_allowed_S(index), + pileupdata_almostfull => pileupdata_almostfull_S(index), + pileupdata_write => pileupdata_write_S(index), + pileupdata_out => pileupdata_out_S(index), + pulsedetect => pulsedetect_S(index), + overflow => overflow_S(index), + testword0 => testword0_S(index), + testword1 => testword1_S(index), + testword2 => testword2_S(index)); + +process(clock) +type array_halfadc4bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(3 downto 0); +variable prev_data_V : array_halfadc4bits_type; +begin + if rising_edge(clock) then + dataerrors_S(index) <= '0'; + if pileupdata_write_S(index)='1' then + case pileupdata_out_S(index)(35 downto 32) is + when "0000" => + if (prev_data_V(index)/="0100") and (prev_data_V(index)/="0101") then + dataerrors_S(index) <= '1'; + end if; + when "0001" => + if (prev_data_V(index)/="0000") then + dataerrors_S(index) <= '1'; + end if; + when "0010" => + if (prev_data_V(index)/="0001") and (prev_data_V(index)/="0010") then + dataerrors_S(index) <= '1'; + end if; + when "0100" => + if (prev_data_V(index)/="0010") then + dataerrors_S(index) <= '1'; + end if; + when "0101" => + if (prev_data_V(index)/="0010") then + dataerrors_S(index) <= '1'; + end if; + when others => + dataerrors_S(index) <= '1'; + end case; + prev_data_V(index) := pileupdata_out_S(index)(35 downto 32); + end if; + end if; +end process; + + end generate; +overflow <= '1' when overflow_S(0 to NROFADCS/2-1)/=zeros(0 to NROFADCS/2-1) else '0'; +pulsedetect_S(NROFADCS/2 to NROFADCS-1) <= (others => '0'); +pulsedetect <= pulsedetect_S; + +FEE_sorting_mux1: FEE_sorting_mux port map( + clock => clock, + reset => reset, + data_in => pulsedata_out_S, + data_in_write => pulsedata_write_S, + data_in_allowed => pulsedata_allowed_S, + data_in_almostfull => pulsedata_almostfull_S, + data_out => pulsedata_out, + data_out_read => pulsedata_read, + data_out_available => pulsedata_available_S, + data_out_inpipe => pulsedata_inpipe_S, + error => open, + testword0 => open, + testword1 => open); +pulsedata_available <= pulsedata_available_S; +pulsedata_inpipe <= pulsedata_inpipe_S; + +-- FEE_sorting_wavemux_pileup: FEE_sorting_wavemux port map( +FEE_sorting_wavemux1: FEE_sorting_wavemux port map( + clock => clock, + reset => reset, + data_in => pileupdata_out_S, + data_in_write => pileupdata_write_S, + data_in_allowed => pileupdata_allowed_S, + data_in_almostfull => pileupdata_almostfull_S, + data_out => pileupdata_output_S, + data_out_read => pileupdata_read, + data_out_available => pileupdata_available_S, + data_out_inpipe => pileupdata_inpipe_S, + error => open, + testword0 => open, + testword1 => open); +pileupdata_available <= pileupdata_available_S; +pileupdata_out <= pileupdata_output_S; +pileupdata_inpipe <= pileupdata_inpipe_S; + + + +--process(clock) +--type array_16_type is array(0 to NROFADCS/2-1) of std_logic_vector(15 downto 0); +--type array_8_type is array(0 to NROFADCS/2-1) of std_logic_vector(7 downto 0); +--variable l1 : line; +--variable l2 : line; +--variable c : std_logic_vector(63 downto 0) := x"0000000000000000"; +--variable pulse_time_V : array_16_type; +--variable pulse_sb_V : array_16_type; +--variable pulse_energy_V : array_16_type; +--variable pulse_chan_V : array_8_type; +--variable wave_time_V : array_16_type; +--variable wave_sb_V : array_16_type; +--variable wave_chan_V : array_8_type; +--file file0: text; +--file file1: text; +--begin +-- if rising_edge(clock) then +-- if c=x"0000000000000000" then +-- file_open(file0,"D:\data\Panda\pulses.txt",WRITE_MODE); +-- file_open(file1,"D:\data\Panda\waves.txt",WRITE_MODE); +-- end if; +-- c := c+1; +-- for i in 0 to NROFADCS/2-1 loop +-- if pulsedata_write_S(i)='1' then +-- if pulsedata_out_S(i)(35 downto 34)="00" then +-- pulse_sb_V(i) := pulsedata_out_S(i)(31 downto 16); +-- pulse_time_V(i) := pulsedata_out_S(i)(15 downto 0); +-- elsif pulsedata_out_S(i)(35 downto 34)="01" then +-- pulse_chan_V(i) := pulsedata_out_S(i)(23 downto 16); +-- pulse_energy_V(i) := pulsedata_out_S(i)(15 downto 0); +-- hwrite(l1,c,right,16); +-- write(l1," "); +-- hwrite(l1,pulse_sb_V(i),right,4); +-- write(l1," "); +-- hwrite(l1,pulse_time_V(i),right,4); +-- write(l1," "); +-- hwrite(l1,pulse_chan_V(i),right,2); +-- write(l1," "); +-- hwrite(l1,pulse_energy_V(i),right,4); +-- writeline(file0,l1); +-- end if; +-- end if; +-- if pileupdata_write_S(i)='1' then +-- if pileupdata_out_S(i)(35 downto 32) ="0000" then +-- wave_sb_V(i) := pileupdata_out_S(i)(31 downto 16); +-- wave_time_V(i) := pileupdata_out_S(i)(15 downto 0); +-- elsif pileupdata_out_S(i)(35 downto 32) ="0001" then +-- wave_chan_V(i) := pileupdata_out_S(i)(7 downto 0); +-- hwrite(l2,c,right,16); +-- write(l2," "); +-- hwrite(l2,wave_sb_V(i),right,4); +-- write(l2," "); +-- hwrite(l2,wave_time_V(i),right,4); +-- write(l2," "); +-- hwrite(l2,wave_chan_V(i),right,2); +-- writeline(file1,l2); +-- end if; +-- end if; +-- end loop; +-- end if; +--end process; + + + +testword0(33 downto 0) <= testword0_S(testindex)(33 downto 0); +testword0(35) <= testword0_S(testindex)(35); +testword0(34) <= '1' when + (testword0_S(0)(35)='1') or + (testword0_S(1)(35)='1') or + (testword0_S(2)(35)='1') or + (testword0_S(3)(35)='1') or + (testword0_S(4)(35)='1') or + (testword0_S(5)(35)='1') or + (testword0_S(6)(35)='1') or + (testword0_S(7)(35)='1') or + (testword0_S(8)(35)='1') or + (testword0_S(9)(35)='1') or + (testword0_S(10)(35)='1') or + (testword0_S(11)(35)='1') or + (testword0_S(12)(35)='1') or + (testword0_S(13)(35)='1') or + (testword0_S(14)(35)='1') or + (testword0_S(15)(35)='1') else '0'; + + + + +testword1(15 downto 0) <= testword1_S(0)(15 downto 0); +testword1(31 downto 16) <= dataerrors_S; +testword1(32) <= '1' when dataerrors_S/=x"0000"; +testword1(35) <= testword0_S(testindex)(28); +testword1(34) <= '1' when + (testword0_S(0)(35)='1') or + (testword0_S(1)(35)='1') or + (testword0_S(2)(35)='1') or + (testword0_S(3)(35)='1') or + (testword0_S(4)(35)='1') or + (testword0_S(5)(35)='1') or + (testword0_S(6)(35)='1') or + (testword0_S(7)(35)='1') or + (testword0_S(8)(35)='1') or + (testword0_S(9)(35)='1') or + (testword0_S(10)(35)='1') or + (testword0_S(11)(35)='1') or + (testword0_S(12)(35)='1') or + (testword0_S(13)(35)='1') or + (testword0_S(14)(35)='1') or + (testword0_S(15)(35)='1') else '0'; + +testword2(33 downto 0) <= testword2_S(testindex)(33 downto 0); +testword2(35) <= testword0_S(testindex)(35); +testword2(34) <= testword0_S(testindex)(28); +--testword2(34) <= '1' when +-- (testword0_S(0)(35)='1') or +-- (testword0_S(1)(35)='1') or +-- (testword0_S(2)(35)='1') or +-- (testword0_S(3)(35)='1') or +-- (testword0_S(4)(35)='1') or +-- (testword0_S(5)(35)='1') or +-- (testword0_S(6)(35)='1') or +-- (testword0_S(7)(35)='1') or +-- (testword0_S(8)(35)='1') or +-- (testword0_S(9)(35)='1') or +-- (testword0_S(10)(35)='1') or +-- (testword0_S(11)(35)='1') or +-- (testword0_S(12)(35)='1') or +-- (testword0_S(13)(35)='1') or +-- (testword0_S(14)(35)='1') or +-- (testword0_S(15)(35)='1') else '0'; + + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_pulsewaveform_buffer.vhd b/FEE_ADC32board/FEE_modules/FEE_pulsewaveform_buffer.vhd new file mode 100644 index 0000000..e4d51f9 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_pulsewaveform_buffer.vhd @@ -0,0 +1,302 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 31-01-2012 +-- Module Name: FEE_pulsewaveform_buffer +-- Description: Buffers pulse waveforms +-- Modifications: +-- 08-09-2014 Removed waveform output in case of pulse detection +-- 16-09-2014 name changed from pulsewaveform_buffer to FEE_pulsewaveform_buffer +-- 10-10-2014 separated input for superburst +-- 23-10-2014 space enough signal more accurate +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_pulsewaveform_buffer +-- Buffers adc waveforms. +-- Memory is configured as ring buffer: samples are written into this buffer when a pulse is being detected. +-- Also, a timestamp is written into the memory. +-- Data can be read when at least one waveform is written. +-- +-- +-- generics +-- ADCBITS : Number of bits from the ADC's. The input data is signed and has ADCBITS+1 bits. +-- WAVEFORMBUFFERSIZE : number of bits for the buffer memory address: power of this constant will give the size +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- pulse_valid : input data is valid pulse data +-- pulse_rising : the pulse has not yet reached its maximum +-- pulse_detected : previous samples are regarded as valid pulse data +-- pileup_detected : previous samples are regarded as pileup waveform data +-- clear_waveform : previous samples do not give valid data, clear this data +-- data_in : input data: adc values minus baseline: signed data +-- superburst : superburst at the starting of the waveform +-- timestamp : timestamp (within the superburst) at the starting of the waveform +-- data_out_read : read data from the buffer memory +-- +-- outputs +-- data_out : data from the buffer memory +-- bits(35..32)="1000" : bits(31..0)=timestamp for pileup waveform (combination superburst and clockcounter) +-- bits(35..32)="0010" : bits(31..16)=data sample, bits(15..0)=next data sample +-- bits(35..32)="0100" : bits(31..16)=last data sample, bits(15..0)=0000 +-- bits(35..32)="0101" : bits(31..16)=last but one pulse data sample, bits(15..0)=last data sample +-- bits(35..32)="1111" : error, bits(31..0)=don't care +-- data_out_available : data available from the buffer memory +-- overflow : buffer overrun +-- +-- +-- components +-- blockmem : buffer memory, dual ported ram +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_pulsewaveform_buffer is + generic ( + ADCBITS : natural := 14; + WAVEFORMBUFFERSIZE : natural := 10 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + pulse_valid : in std_logic; + pulse_rising : in std_logic; + pulse_detected : in std_logic; + pileup_detected : in std_logic; + clear_waveform : in std_logic; + data_in : in std_logic_vector(ADCBITS downto 0); -- signed data + superburst : in std_logic_vector(15 downto 0); + timestamp : in std_logic_vector(15 downto 0); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + overflow : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_pulsewaveform_buffer; + +architecture Behavioral of FEE_pulsewaveform_buffer is + +component blockmem is + generic ( + ADDRESS_BITS : natural := WAVEFORMBUFFERSIZE; + DATA_BITS : natural := 36 + ); + port ( + clock : in std_logic; + write_enable : in std_logic; + write_address : in std_logic_vector(ADDRESS_BITS-1 downto 0); + data_in : in std_logic_vector(DATA_BITS-1 downto 0); + read_address : in std_logic_vector(ADDRESS_BITS-1 downto 0); + data_out : out std_logic_vector(DATA_BITS-1 downto 0) + ); +end component; +constant zeros : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := (others => '0'); +signal data_in_S : std_logic_vector(15 downto 0) := (others => '0'); +signal sample0_S : std_logic_vector(15 downto 0) := (others => '0'); +signal write_address_S : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := zeros(WAVEFORMBUFFERSIZE-1 downto 2) & "10"; +-- signal write_address_S : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := "00000010"; +signal write_enable_S : std_logic := '0'; +signal write_data_S : std_logic_vector(35 downto 0) := (others => '0'); + +signal wavestart_address_S : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := (others => '0'); +signal nextstart_address_S : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := (others => '0'); + +signal read_address_S : std_logic_vector(WAVEFORMBUFFERSIZE-1 downto 0) := (others => '0'); +signal read_data_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data_out_available_S : std_logic := '0'; +signal pileup_detected_S : std_logic := '0'; +signal pulse_rising_S : std_logic := '0'; +signal prev_pulse_valid_S : std_logic := '0'; + +signal lastsample_even_S : std_logic := '0'; +signal space_enough_S : std_logic := '0'; + + +type writemode_type is (ACQUIRE_EVEN,ACQUIRE_ODD,TIMESTAMP0,SKIPPULSE); +signal writemode_S : writemode_type := ACQUIRE_EVEN; + + +begin + +overflow <= '1' when writemode_S=SKIPPULSE else '0'; + +space_enough_S <= '1' when + (((conv_integer(unsigned(nextstart_address_S)))<(conv_integer(unsigned(read_address_S)))) + and ((conv_integer(unsigned(nextstart_address_S))+130)<(conv_integer(unsigned(read_address_S))))) or + (((conv_integer(unsigned(nextstart_address_S)))>(conv_integer(unsigned(read_address_S)))) + and ((conv_integer(unsigned(nextstart_address_S))+130)<(conv_integer(unsigned(read_address_S))+2**WAVEFORMBUFFERSIZE))) or + ((conv_integer(unsigned(nextstart_address_S)))=(conv_integer(unsigned(read_address_S)))) + else '0'; + +process(clock) +begin + if rising_edge(clock) then + data_in_S(ADCBITS downto 0) <= data_in; + -- data_in_S(15 downto ADCBITS+1) <= (others => '0'); + data_in_S(15) <= data_in_S(14); + pulse_rising_S <= pulse_rising; + end if; +end process; + +blockmem1: blockmem port map( + clock => clock, + write_enable => write_enable_S, + write_address => write_address_S, + data_in => write_data_S, + read_address => read_address_S, + data_out => read_data_S); +data_out <= read_data_S; + +write_data_S <= + "1000" & superburst & timestamp when ((writemode_S=TIMESTAMP0) and (pileup_detected_S='1')) else + "0100" & data_in_S & x"0000" when ((pileup_detected='1') and (writemode_S=ACQUIRE_EVEN)) else + "0101" & sample0_S & data_in_S when ((pileup_detected='1') and (writemode_S=ACQUIRE_ODD)) else + "0010" & sample0_S & data_in_S when ((pulse_valid='1') and (writemode_S=ACQUIRE_ODD)) else + (others => '1'); + + +write_enable_S <= '1' + when ((pulse_valid='1') and (writemode_S=ACQUIRE_ODD)) + or ((writemode_S=ACQUIRE_EVEN) and (pileup_detected='1')) + or ((writemode_S=ACQUIRE_ODD) and (pileup_detected='1')) + or (writemode_S=TIMESTAMP0) + else '0'; + +writeprocess: process(clock) +begin + if rising_edge(clock) then + if reset='1' then + write_address_S <= conv_std_logic_vector(2,WAVEFORMBUFFERSIZE); + wavestart_address_S <= (others => '0'); + nextstart_address_S <= (others => '0'); + pileup_detected_S <= '0'; + lastsample_even_S <= '0'; + writemode_S <= ACQUIRE_EVEN; + else + prev_pulse_valid_S <= pulse_valid; + case writemode_S is + when ACQUIRE_EVEN => + if (pileup_detected='1') then + pileup_detected_S <= '1'; + write_address_S <= wavestart_address_S; -- for timestamp + nextstart_address_S <= write_address_S+1; + lastsample_even_S <= '1'; + writemode_S <= TIMESTAMP0; + elsif (clear_waveform='1') or (pulse_detected='1') then + write_address_S <= wavestart_address_S+1; + pileup_detected_S <= '0'; + else + if pulse_valid='1' then + if (space_enough_S='1') or (prev_pulse_valid_S='1') then + sample0_S <= data_in_S; + writemode_S <= ACQUIRE_ODD; + else + writemode_S <= SKIPPULSE; + end if; + else + write_address_S <= wavestart_address_S+1; -- restart + end if; + pileup_detected_S <= '0'; + end if; + when ACQUIRE_ODD => + if (pileup_detected='1') then + pileup_detected_S <= '1'; + write_address_S <= wavestart_address_S; -- for timestamp + nextstart_address_S <= write_address_S+1; + lastsample_even_S <= '0'; + writemode_S <= TIMESTAMP0; + elsif (clear_waveform='1') or (pulse_detected='1') then + write_address_S <= wavestart_address_S+1; + pileup_detected_S <= '0'; + else + if pulse_valid='1' then + writemode_S <= ACQUIRE_EVEN; + write_address_S <= write_address_S+1; + else + write_address_S <= wavestart_address_S+1; -- restart + writemode_S <= ACQUIRE_EVEN; + end if; + pileup_detected_S <= '0'; + end if; + when TIMESTAMP0 => + write_address_S <= nextstart_address_S+1; + wavestart_address_S <= nextstart_address_S; + if pulse_valid='1' then + if space_enough_S='1' then + sample0_S <= data_in_S; + writemode_S <= ACQUIRE_ODD; + else + writemode_S <= SKIPPULSE; + end if; + else + writemode_S <= ACQUIRE_EVEN; + end if; + when SKIPPULSE => + if pulse_valid='0' then + writemode_S <= ACQUIRE_EVEN; + end if; + when others => + writemode_S <= ACQUIRE_EVEN; + end case; + end if; + end if; +end process; + +data_out_available_S <= '1' + when wavestart_address_S/=read_address_S + else '0'; +data_out_available <= data_out_available_S; + +readprocess: process(clock) +begin + if rising_edge(clock) then + if reset='1' then + read_address_S <= (others => '0'); + else + if (data_out_read='1') and (data_out_available_S='1') then + read_address_S <= read_address_S+1; + end if; + end if; + end if; +end process; + + + +testword0(1 downto 0) <= + "00" when (writemode_S=ACQUIRE_EVEN) else + "01" when (writemode_S=ACQUIRE_ODD) else + "10" when (writemode_S=TIMESTAMP0) else + "11" when (writemode_S=SKIPPULSE) else + "11"; + +testword0(2) <= space_enough_S; +testword0(3) <= pulse_valid; +testword0(4) <= pulse_detected; +testword0(5) <= pileup_detected; +testword0(6) <= clear_waveform; +testword0(7) <= write_enable_S; +testword0(15 downto 8) <= write_address_S(7 downto 0); +testword0(19 downto 16) <= write_data_S(35 downto 32); + + +testword0(27 downto 20) <= read_address_S(7 downto 0); +testword0(31 downto 28) <= read_data_S(35 downto 32); +testword0(32) <= data_out_read; +testword0(33) <= data_out_available_S; +testword0(34) <= '0'; + + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_rxBitLock.vhd b/FEE_ADC32board/FEE_modules/FEE_rxBitLock.vhd new file mode 100644 index 0000000..42e1f59 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_rxBitLock.vhd @@ -0,0 +1,174 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Michel Hevinga / Peter Schakel +-- Create Date: 2010 +-- Module Name: FEE_rxBitLock +-- Description: Module to lock receiving clock of GTP/GTX at the right phase +-- Modifications: +-- 18-11-2014 8 bits data instead of 16 bits +-- 19-11-2014 name changed from rxBitLock to FEE_rxBitLock +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +--use IEEE.NUMERIC_STD.ALL; +--library UNISIM; +--use UNISIM.VComponents.all; + +---------------------------------------------------------------------------------- +-- FEE_rxBitLock +-- Module to lock receiving clock of GTP/GTX at the right phase. +-- First is checked if the resetDone input is high, (resetting is done) +-- then if lossOfSync is low ('0'), (GTP/GTX loss of sync signal) +-- If all these checks are allright the fmstatus will show that the GTP/GTX is locked on th incomming data. +-- If one of these checks are not reached within a certain time (TIME_OUT_SYNC_MAX constant) +-- the rxReset output is activated and checking is started again. +-- Also, the lossOfSync is always checked during operation. +-- +-- Library +-- +-- Generics: +-- +-- Inputs: +-- clk : recovered clock from the GTP/GTX +-- reset : reset +-- resetDone : Reset is done, ready to check lock & synchronisation +-- lossOfSync : Loss of Sync: "00" means synchronised +-- rxPllLocked : Receiver PLL locked, not used at the moment +-- +-- Outputs: +-- rxReset : Reset GTP/GTX to try another lock +-- fsmStatus : Status of the state machine: +-- 00 : WAIT_RESET_DONE : waiting until ResetDone +-- 01 : WAIT_TIME_OUT_SYNC : waiting for word aligned +-- 10 : CHECK_LOSS_SYNC : running state : keep on checking for Loss of sync and bytes swapped +-- 11 : RX_RESET : resetting for a new lock attempt +-- +-- Components: +-- +---------------------------------------------------------------------------------- +entity FEE_rxBitLock is + port ( + clk : in std_logic; + reset : in std_logic; + resetDone : in std_logic; + lossOfSync : in std_logic; + rxPllLocked : in std_logic; + rxReset : out std_logic; + fsmStatus : out std_logic_vector (1 downto 0)); +end FEE_rxBitLock; + +architecture Behavioral of FEE_rxBitLock is + +constant TIME_OUT_SYNC_MAX : integer range 0 to 500 := 500; + +signal rxReset_S : std_logic :='0'; +signal fsmStatus_S : std_logic_vector (1 downto 0) :="00"; +signal timeOutSynFlag_S : std_logic :='0'; +signal timeOutSyncCounter_I : integer range 0 to TIME_OUT_SYNC_MAX :=0; + +signal resettimeFlag_S : std_logic :='0'; -- counter & flag for reset extender +signal resettimeCounter_I : integer range 0 to 15 :=0; -- counter & flag for reset extender + + +type state_T is (WAIT_RESET_DONE, WAIT_TIME_OUT_SYNC, CHECK_LOSS_SYNC, RX_RESET); +signal currentState_S,nextState_S : state_T := WAIT_RESET_DONE; + +begin + +rxReset <= rxReset_S; +fsmStatus <= fsmStatus_S; + +fsmClk: process(clk, reset) +begin + if (reset = '1')then + currentState_S <= RX_RESET; + else + if rising_edge(clk) then + currentState_S <= nextState_S; + end if; + end if; +end process; + +fsmInput: process (currentState_S,resetDone, timeOutSynFlag_S, + lossOfSync, rxPllLocked, timeOutSynFlag_S, resettimeFlag_S) +begin + case currentState_S is + when WAIT_RESET_DONE => if(resetDone = '1') then + nextState_S <= WAIT_TIME_OUT_SYNC; + else + nextState_S <= WAIT_RESET_DONE; + end if; + when WAIT_TIME_OUT_SYNC => if (timeOutSynFlag_S = '1') then + nextState_S <= RX_RESET; + else + if (lossOfSync = '0') then + nextState_S <= CHECK_LOSS_SYNC; + else + nextState_S <= WAIT_TIME_OUT_SYNC; + end if; + end if; + when CHECK_LOSS_SYNC => if (lossOfSync /= '0') then + nextState_S <= RX_RESET; + else + nextState_S <= CHECK_LOSS_SYNC; + end if; + when RX_RESET => if (resettimeFlag_S = '1') then -- reset long to prevent that resetDone signal is missed + nextState_S <= WAIT_RESET_DONE; + else + nextState_S <= RX_RESET; + end if; + when others => nextState_S <= RX_RESET; + end case; +end process; + +fsmOutput: process (clk) +begin +if rising_edge(clk) then + case currentState_S is + when WAIT_RESET_DONE => fsmStatus_S <= "00"; + rxReset_S <= '0'; + timeOutSyncCounter_I <= 0; + timeOutSynFlag_S <= '0'; + resettimeFlag_S <= '0'; + resettimeCounter_I <= 0; + when WAIT_TIME_OUT_SYNC => fsmStatus_S <= "01"; + rxReset_S <= '0'; + resettimeFlag_S <= '0'; + resettimeCounter_I <= 0; + if (timeOutSyncCounter_I < TIME_OUT_SYNC_MAX) then + timeOutSyncCounter_I <= timeOutSyncCounter_I+1; + timeOutSynFlag_S <= '0'; + else + timeOutSyncCounter_I <= 0; + timeOutSynFlag_S <= '1'; + end if; + when CHECK_LOSS_SYNC => fsmStatus_S <= "10"; + rxReset_S <= '0'; + timeOutSyncCounter_I <= 0; + timeOutSynFlag_S <= '0'; + resettimeFlag_S <= '0'; + resettimeCounter_I <= 0; + + when RX_RESET => fsmStatus_S <= "11"; + rxReset_S <= '1'; + timeOutSyncCounter_I <= 0; + timeOutSynFlag_S <= '0'; + if resettimeCounter_I<8 then -- peter : reset langer gemaakt om te voorkomen dat resetDone signaal wordt gemist + resettimeCounter_I <= resettimeCounter_I+1; + resettimeFlag_S <= '0'; + else + resettimeCounter_I <= 0; + resettimeFlag_S <= '1'; + end if; + + when others => + end case; +end if; +end process; + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_slowcontrol_packet_receiver.vhd b/FEE_ADC32board/FEE_modules/FEE_slowcontrol_packet_receiver.vhd new file mode 100644 index 0000000..3584b1f --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_slowcontrol_packet_receiver.vhd @@ -0,0 +1,309 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 09-03-2011 +-- Module Name: FEE_slowcontrol_packet_receiver +-- Description: Read and interprets data (=slowcontrol commands) from fiber from Multiplexer board to Front End Electronics +-- Modifications: +-- 12-09-2014 New dataformat, name changed to FEE_slowcontrol_packet_receiver +-- 22-09-2014 single clock +-- 10-10-2014 bug with high rate of slow-control commands solved +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; + +---------------------------------------------------------------------------------- +-- FEE_slowcontrol_packet_receiver +-- Gets packet data from the fiber receive module and analyses them. +-- +-- The slow control packets : 2 32-bit words, with CRC8 in last word +-- 0x5C address(7..0) replybit 0000000 data(31..24) +-- data(23..0) CRC8(7..0) +-- +-- The slow-control commands are written as byte-wise: +-- Byte0 : bit7..4=index of the channel bit3..2=index of register +-- Byte1,2,3,4 : 32-bits data, MSB first +-- +-- Library +-- +-- Generics: +-- +-- Inputs: +-- clock : clock +-- reset : reset +-- enable : enable receiving +-- packet_data_in : 32 bits data input from fiber module +-- packet_data_present : data available from fiber module +-- slowcontrol_fifofull : connected fifo is full +-- clear_hamming_corrections : clear the counter for the hamming-code corrections +-- +-- Outputs: +-- packet_data_read : read signal to fiber module to read next data +-- byte_data : 8-bits slowcontrol data: +-- Byte0 : bit7..4=index of the channel bit3..2=index of register +-- Byte1,2,3,4 : 32-bits data, MSB first +-- byte_write : write signal for byte-data, only selected channel (with index in first byte equals channel) should read +-- byte_request : request signal for reading data +-- data_error : error in packet-data : CRC-error, hamming-code error, error in data bits +-- overflow : buffer overflow: slowcontrol data loss +-- +-- Components: +-- crc8_add_check32 : add and checks a CRC8 code to a stream of 32 bits data words (only check here) +-- sync_fifo_512x41 : fifo for slowcontrol commands +-- +---------------------------------------------------------------------------------- + +entity FEE_slowcontrol_packet_receiver is + Port ( + clock : in std_logic; + reset : in std_logic; + enable : in std_logic; + packet_data_in : in std_logic_vector (31 downto 0); + packet_data_present : in std_logic; + packet_data_read : out std_logic; + byte_data : out std_logic_vector(7 downto 0); + byte_write : out std_logic; + byte_request : out std_logic; + data_error : out std_logic; + overflow : out std_logic); +end FEE_slowcontrol_packet_receiver; + +architecture Behavioral of FEE_slowcontrol_packet_receiver is + +component crc8_add_check32 is + PORT( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(31 DOWNTO 0); + data_in_valid : in std_logic; + data_in_last : in std_logic; + data_out : out std_logic_vector(31 DOWNTO 0); + data_out_valid : out std_logic; + data_out_last : out std_logic; + crc_error : out std_logic + ); +end component; + +component sync_fifo_512x41 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(40 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(40 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + + +type rec_state_type is (init,expect_first,slow1); +signal rec_state_S : rec_state_type := init; + +signal error_S : std_logic; +signal enable_S : std_logic; + +signal packet_data_read_S : std_logic; +signal packet_data_valid_S : std_logic; + +signal crc8_data_in_S : std_logic_vector (31 downto 0); +signal crc8_data_in_valid_S : std_logic := '0'; +signal crc8_data_in_last_S : std_logic := '0'; +signal crc8_data_out_S : std_logic_vector (31 downto 0); +signal crc8_data_out_valid_S : std_logic := '0'; +signal crc8_data_out_last_S : std_logic := '0'; +signal crc8_error_S : std_logic := '0'; +signal crc8_slowerror_S : std_logic := '0'; +signal crc8_reset_S : std_logic := '0'; +signal crc8_clear_S : std_logic := '0'; + +signal slowpacketvalid_S : std_logic := '0'; +signal slowcontrol_data_S : std_logic_vector (31 downto 0); +signal slowcontrol_address_S : std_logic_vector (7 downto 0); +signal slowcontrol_request_S : std_logic := '0'; +signal slowcontrol_write_S : std_logic := '0'; + +signal slowcontrol_read_S : std_logic := '0'; +signal slowcontrol_read_after1clk_S : std_logic := '0'; +signal slowcontrol_fifoempty_S : std_logic := '0'; + +signal byte_index_S : integer range 0 to 4 := 0; + +signal slowcontrol_dataout_S : std_logic_vector (31 downto 0); +signal sfifo_in_S : std_logic_vector (40 downto 0); +signal sfifo_out_S : std_logic_vector (40 downto 0); +signal sfifo_full_S : std_logic := '0'; + +begin + +data_error <= '1' when (crc8_slowerror_S='1') or (error_S='1') else '0'; +overflow <= '1' when ((slowcontrol_write_S='1') and (sfifo_full_S='1')) else '0'; + +packet_data_read <= packet_data_read_S; +packet_data_read_S <= '1' when + (packet_data_present='1') and (reset='0') and (enable_S='1') and (rec_state_S/=init) else '0'; + +process(clock) +begin + if rising_edge(clock) then + enable_S <= enable; + end if; +end process; + +crc8_data_in_S <= packet_data_in; +crc8_data_in_valid_S <= '1' when (packet_data_valid_S='1') or (rec_state_S=init) else '0'; +crc8_data_in_last_S <= '1' when (rec_state_S=slow1) or (rec_state_S=init) else '0'; +crc8_reset_S <= '1' when (crc8_clear_S='1') or (reset='1') else '0'; +crc8check: crc8_add_check32 port map( + clock => clock, + reset => crc8_reset_S, + data_in => crc8_data_in_S, + data_in_valid => crc8_data_in_valid_S, + data_in_last => crc8_data_in_last_S, + data_out => crc8_data_out_S, + data_out_valid => crc8_data_out_valid_S, + data_out_last => crc8_data_out_last_S, + crc_error => crc8_error_S); + +inputdatahandling: process(clock) +variable timeoutcounter_V : integer range 0 to 15 := 0; +begin + + if rising_edge(clock) then + crc8_clear_S <= '0'; + if reset='1' then + error_S <= '0'; + crc8_clear_S <= '1'; + timeoutcounter_V := 0; + rec_state_S <= init; + else + case rec_state_S is + when init => + timeoutcounter_V := 0; + rec_state_S <= expect_first; + when expect_first => + timeoutcounter_V := 0; + if enable_S='0' then + rec_state_S <= expect_first; + else + if packet_data_valid_S='1' then + if packet_data_in(31 downto 24)=x"5C" then -- slowcontrol + slowcontrol_address_S <= packet_data_in(23 downto 16); + slowcontrol_request_S <= packet_data_in(15); + slowcontrol_data_S(31 downto 24) <= packet_data_in(7 downto 0); + error_S <= '0'; + rec_state_S <= slow1; + else -- error + error_S <= enable_S; + crc8_clear_S <= '1'; + end if; + end if; + end if; + when slow1 => + if packet_data_valid_S='1' then + timeoutcounter_V := 0; + slowcontrol_data_S(23 downto 0) <= packet_data_in(31 downto 8); + rec_state_S <= expect_first; + else + if timeoutcounter_V=15 then + error_S <= enable_S; + rec_state_S <= expect_first; + else + timeoutcounter_V := timeoutcounter_V+1; + rec_state_S <= slow1; + end if; + end if; + end case; + end if; + packet_data_valid_S <= packet_data_read_S; + end if; + +end process inputdatahandling; + +slowcontrolpackethandling: process(clock) +begin + if rising_edge(clock) then + if reset='1' then + slowcontrol_write_S <= '0'; + slowpacketvalid_S <= '0'; + crc8_slowerror_S <= '0'; + else + if slowpacketvalid_S='0' then + slowcontrol_write_S <= '0'; + crc8_slowerror_S <= '0'; + if (rec_state_S=slow1) and (packet_data_valid_S='1') and (enable_S='1') then + slowpacketvalid_S <= '1'; + end if; + else + slowpacketvalid_S <= '0'; + if (crc8_data_out_valid_S='1') and (crc8_data_out_last_S='1') and (crc8_error_S='0') then -- everything ok + slowcontrol_write_S <= enable_S; + crc8_slowerror_S <= '0'; + else + slowcontrol_write_S <= '0'; + crc8_slowerror_S <= enable_S; + end if; + end if; + end if; + end if; +end process slowcontrolpackethandling; + +sfifo_in_S(31 downto 0) <= slowcontrol_data_S; +sfifo_in_S(39 downto 32) <= slowcontrol_address_S; +sfifo_in_S(40) <= slowcontrol_request_S; + +sfifo: sync_fifo_512x41 port map( + rst => reset, + clk => clock, + din => sfifo_in_S, + wr_en => slowcontrol_write_S, + rd_en => slowcontrol_read_S, + dout => sfifo_out_S, + full => sfifo_full_S, + empty => slowcontrol_fifoempty_S); + +slowcontrol_read_S <= '1' when (slowcontrol_fifoempty_S='0') and ((byte_index_S=0) or (byte_index_S=4)) and (slowcontrol_read_after1clk_S='0') else '0'; + +byteoutputprocess: process(clock) +begin + if rising_edge(clock) then + byte_request <= '0'; + byte_write <= '0'; + if slowcontrol_read_after1clk_S='1' then + byte_data <= sfifo_out_S(39 downto 32); -- address + slowcontrol_dataout_S <= sfifo_out_S(31 downto 0); -- data + if sfifo_out_S(40)='1' then -- read request + byte_request <= '1'; + byte_index_S <= 0; + else + byte_write <= '1'; + byte_index_S <= 1; + end if; + elsif byte_index_S=1 then + byte_data <= slowcontrol_dataout_S(31 downto 24); + byte_write <= '1'; + byte_index_S <= byte_index_S+1; + elsif byte_index_S=2 then + byte_data <= slowcontrol_dataout_S(23 downto 16); + byte_write <= '1'; + byte_index_S <= byte_index_S+1; + elsif byte_index_S=3 then + byte_data <= slowcontrol_dataout_S(15 downto 8); + byte_write <= '1'; + byte_index_S <= byte_index_S+1; + elsif byte_index_S=4 then + byte_data <= slowcontrol_dataout_S(7 downto 0); + byte_write <= '1'; + byte_index_S <= 0; + else + byte_index_S <= 0; + end if; + slowcontrol_read_after1clk_S <= slowcontrol_read_S; + end if; +end process; + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_slowcontrol_receive_from_cpu.vhd b/FEE_ADC32board/FEE_modules/FEE_slowcontrol_receive_from_cpu.vhd new file mode 100644 index 0000000..9fb82b4 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_slowcontrol_receive_from_cpu.vhd @@ -0,0 +1,141 @@ +--------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 21-03-2011 +-- Module Name: FEE_slowcontrol_receive_from_cpu +-- Description: Module to receive slowcontrol data from soft-core cpu +-- Modifications: +-- 12-09-2014 Reduce nrof Registers to 2, replaced channel by address +-- 22-09-2014 single clock +-- 08-10-2014 error signal removed +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; + +---------------------------------------------------------------------------------- +-- FEE_slowcontrol_receive_from_cpu +-- Module to receive byte-wise data from soft-core cpu and translates it into parallel register data. +-- The byte-wise input data is sent to all connected modules as packets of 5 bytes. +-- Byte0 : adc index and register index +-- Byte1,2,3,4 : 32-bits data, MSB first +-- +-- Library: +-- +-- Generics: +-- +-- Inputs: +-- clock : clock input and output +-- reset : synchronous reset +-- address : base-address of channel +-- byte_data : 8-bits slowcontrol data: +-- Byte0 : bit7..4=index of the channel bit3..2=index of register +-- Byte1,2,3,4 : 32-bits data, MSB first +-- byte_write : write signal for byte-data, only selected channel (with index in first byte equals channel) should read +-- byte_request : request signal for reading data, here only used for check and synchronization +-- +-- Outputs: +-- register_A : 32-bits output register A +-- register_B : 32-bits output register B +-- +-- Components: +-- +---------------------------------------------------------------------------------- + +entity FEE_slowcontrol_receive_from_cpu is + port ( + clock : in std_logic; + reset : in std_logic; + address : in std_logic_vector(7 downto 0); + byte_data : in std_logic_vector(7 downto 0); + byte_write : in std_logic; + byte_request : in std_logic; + register_A : out std_logic_vector (31 downto 0); + register_B : out std_logic_vector (31 downto 0) + ); +end FEE_slowcontrol_receive_from_cpu; + +architecture Behavioral of FEE_slowcontrol_receive_from_cpu is + + +signal byte_idx_S : integer range 0 to 4 := 0; +signal selected_S : std_logic := '0'; +signal register_buf_S : std_logic_vector(31 downto 8); +signal selected_reg_S : std_logic_vector(0 downto 0); + +signal register_A_S : std_logic_vector (31 downto 0) := x"12183264"; -- default FEE +signal register_B_S : std_logic_vector (31 downto 0) := x"0C643208"; -- default FEE + +-- register_A(7..0) = threshold High +-- register_A(15..8) = threshold Low +-- register_A(16) = disable High +-- register_A(17) = disable Low +-- register_A(23..18) = I/Max discard +-- register_A(29..24) = I/Max pileup +-- register_B(7..0) = minimum pulselength +-- register_B(15..8) = pileup length +-- register_B(23..16) = maximum wavelength +-- register_B(24) = fullsize High +-- register_B(25) = fullsize Low +-- register_B(29..26) = CF delay + + +begin + +register_A <= register_A_S; +register_B <= register_B_S; + + +rd_process: process(clock) +begin + if (rising_edge(clock)) then + if reset='1' then + byte_idx_S <= 0; + selected_S <= '0'; + else + if byte_idx_S=0 then + if (byte_write='1') then + if (byte_data(7 downto 1)=address(7 downto 1)) then + selected_S <= '1'; + selected_reg_S <= byte_data(0 downto 0); + else + selected_S <= '0'; + end if; + byte_idx_S <= 1; + else + selected_S <= '0'; + end if; + elsif byte_request='1' then -- unexpected : synchronize + selected_S <= '0'; + byte_idx_S <= 0; + else + if selected_S='1' then + case byte_idx_S is + when 1 => + register_buf_S(31 downto 24) <= byte_data; + when 2 => + register_buf_S(23 downto 16) <= byte_data; + when 3 => + register_buf_S(15 downto 8) <= byte_data; + when 4 => + case selected_reg_S is + when "0" => register_A_S <= register_buf_S(31 downto 8) & byte_data; + when "1" => register_B_S <= register_buf_S(31 downto 8) & byte_data; + when others => + end case; + when others => + end case; + end if; + if byte_idx_S<4 then + byte_idx_S <= byte_idx_S+1; + else + byte_idx_S <= 0; + end if; + end if; + end if; + end if; +end process; + +end Behavioral; diff --git a/FEE_ADC32board/FEE_modules/FEE_sorting_mux.vhd b/FEE_ADC32board/FEE_modules/FEE_sorting_mux.vhd new file mode 100644 index 0000000..047a47e --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_sorting_mux.vhd @@ -0,0 +1,398 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 05-03-2012 +-- Module Name: FEE_sorting_mux +-- Description: Multiplexer for FEE data, sorting on timestamp +-- 11-09-2014: Output FIFO now with First Word Fall Through +-- 22-09-2014: single clock +-- 11-10-2014: adc-channel number 8 bits +-- 16-10-2014: inpipe check +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_sorting_mux +-- Multiplexes multiple input pulse data stream with waveform data to one stream. +-- Both consists of packets of 36-bits words: 32 bits data and 4 bits for index/check +-- The data is sorted based on the 32-bits timestamp. +-- This sorting is done by comparing the time of 2 waveforms; the first in time is passed on. +-- Multiple of these comparators are placed in a tree structure. The last segment provides the sorted data. +-- +-- Library: +-- work.panda_package: constants and types +-- +-- Generics: +-- NROFMUXINPUTS : number of input-channels +-- +-- Inputs: +-- inputclock : clock for input data (write side incomming fifo) +-- MUXclock : clock for multiplexer part, between the fifos +-- outputclock : clock for output data (read side outgoing fifo) +-- reset : reset, must be long enough for all clocks +-- data_in : array of input data streams, structure of each (three 36-bits words): +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data_in_write : write signal for data_in (write into fifo) +-- data_out_read : read signal for outgoing data (read from fifo) +-- +-- Outputs: +-- data_in_allowed : write to input data allowed (not full) +-- data_in_almostfull : input fifo is too full for maximum length waveform +-- data_out : output data (three 36-bits words): +-- bits(35..34)="00" : bit(33)=low_gain channel, bit(32)=pulse skipped, bits(31..16)=superburst, bits(15..0)=timestamp +-- bits(35..34)="01" : bits(23..16)=channels(7 downto 0), bits(15..0)=energy +-- bits(35..34)="10" : bits(31..16)=CF sample before zero crossing, bits(15..0)=CF sample after zero crossing +-- data_out_available : data_out available (output fifo not empty) +-- data_out_inpipe : more data on its way +-- error : data error, index in data words incorrect +-- +-- Components: +-- FEE_mux_readfifo : read data from fifo and writes to next level +-- FEE_mux2to1 : compares the data and passes the first in time on +-- sync_fifo_progfull504_progempty128_512x36 : synchronous fifo with programmable full and empty +-- sync_fifo_FWFT_512x36 : synchronous fifo with First Word Fall Through +-- +-- +-- +---------------------------------------------------------------------------------- + +entity FEE_sorting_mux is + generic( + NROFMUXINPUTS : natural := 8 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in array_halfadc36bits_type; + data_in_write : in std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_allowed : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_almostfull : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + data_out_inpipe : out std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0) + ); +end FEE_sorting_mux; + + +architecture Behavioral of FEE_sorting_mux is + +component FEE_mux2to1 is + Port ( + clock : in std_logic; + reset : in std_logic; + data1_in : in std_logic_vector(35 downto 0); + data1_in_write : in std_logic; + data1_in_available : in std_logic; + data1_in_allowed : out std_logic; + data2_in : in std_logic_vector(35 downto 0); + data2_in_write : in std_logic; + data2_in_available : in std_logic; + data2_in_allowed : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_available : out std_logic; + data_out_allowed : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_mux_readfifo is + port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_inpipe : out std_logic; + data_out_allowed : in std_logic); +end component; + +component sync_fifo_progfull504_progempty128_512x36 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(35 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(35 downto 0); + full : out std_logic; + empty : out std_logic; + prog_full : out std_logic; + prog_empty : out std_logic); +end component; + +component sync_fifo_FWFT_512x36 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(35 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(35 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + + +type twologarray_type is array(0 to 63) of natural; +constant twologarray : twologarray_type := +(0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5); + +constant mux2to1_gen_max : integer := twologarray(NROFMUXINPUTS); -- -1; +constant INPIPE_DELAY : integer := 63; +constant zeros : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +constant ones : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '1'); + +--type mux2to1_gen_type is array(0 to mux2to1_gen_max-1) of integer; +--constant mux2to1_gen : mux2to1_gen_type := (8,4,2,1); + +type data_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic_vector(35 downto 0); +type singlebit_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic; + +signal error_S : std_logic := '0'; + +signal data_S : data_type; +signal data_out_inpipe_S : singlebit_type := (others => (others => '0')); +signal data_write_S : singlebit_type := (others => (others => '0')); +signal data_allowed_S : singlebit_type := (others => (others => '0')); +signal error_array_S : singlebit_type := (others => (others => '0')); + +signal reset_MUXclock_S : std_logic := '0'; + +-- signals for fifo from adc-fe to adc-mux +signal dfifo_wr_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_rd_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_out_S : array_halfadc36bits_type := (others => (others => '0')); +signal dfifo_full_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_empty_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal data_in_available_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_prog_empty_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); + +signal delay_inpipe_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal read36_inpipe_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); + + +-- signals for fifo from adc-mux to packet-composer +signal tfifo_in_S : std_logic_vector (35 downto 0); +signal tfifo_rd_S : std_logic := '0'; +signal tfifo_full_S : std_logic := '0'; +signal tfifo_empty_S : std_logic := '0'; + +type testword_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic_vector (35 downto 0); +signal testword0_S : testword_type; + +begin + + +data_out_inpipe <= '1' + when dfifo_empty_S/=ones(0 to NROFMUXINPUTS-1) or (tfifo_empty_S='0') or (data_out_inpipe_S(mux2to1_gen_max,0)='1') + else '0'; + + +MUX_mux_inputs: for index in 0 to NROFMUXINPUTS-1 generate + +process(clock) +type inpipe_counter_type is array(0 to NROFMUXINPUTS-1) of integer range 0 to INPIPE_DELAY; +variable inpipe_counter_V : inpipe_counter_type := (others => 0); +variable index_other : integer range 0 to NROFMUXINPUTS-1; +begin + if rising_edge(clock) then + if reset='1' then + inpipe_counter_V(index) := 0; + delay_inpipe_S(index) <= '0'; + else + index_other := conv_integer(unsigned((conv_std_logic_vector(index,8) xor x"01"))); + if ((dfifo_wr_S(index)='1') and (dfifo_prog_empty_S(index)='1')) or + ((dfifo_wr_S(index_other)='1') and (dfifo_prog_empty_S(index_other)='1')) + then + inpipe_counter_V(index) := INPIPE_DELAY; + delay_inpipe_S(index) <= '1'; + else + if inpipe_counter_V(index)/=0 then + inpipe_counter_V(index) := inpipe_counter_V(index)-1; + delay_inpipe_S(index) <= '1'; + else + delay_inpipe_S(index) <= '0'; + end if; + end if; + end if; + end if; +end process; + +dfifo: sync_fifo_progfull504_progempty128_512x36 port map( + rst => reset, + clk => clock, + din => data_in(index), + wr_en => dfifo_wr_S(index), + rd_en => dfifo_rd_S(index), + dout => dfifo_out_S(index), + full => dfifo_full_S(index), + empty => dfifo_empty_S(index), + prog_full => data_in_almostfull(index), + prog_empty => dfifo_prog_empty_S(index)); + +dfifo_wr_S(index) <= '1' when (dfifo_full_S(index)='0') and (data_in_write(index)='1') else '0'; +data_in_allowed(index) <= NOT dfifo_full_S(index); + +data_in_available_S(index) <= '1' when dfifo_empty_S(index)='0' else '0'; + +FEE_mux_readfifo1: FEE_mux_readfifo port map( + clock => clock, + reset => reset, + data_in => dfifo_out_S(index), + data_in_available => data_in_available_S(index), + data_in_read => dfifo_rd_S(index), + data_out => data_S(0,index), + data_out_write => data_write_S(0,index), + data_out_inpipe => read36_inpipe_S(index), + data_out_allowed => data_allowed_S(0,index)); + +process(data_out_inpipe_S(0,index),read36_inpipe_S(index),delay_inpipe_S(index),dfifo_wr_S(index)) -- ,dfifo_prog_empty_S) +--variable index_other : integer range 0 to NROFMUXINPUTS-1; +begin +-- index_other := conv_integer(unsigned((conv_std_logic_vector(index,16) xor x"0001"))); +-- if (read36_inpipe_S(index)='1') or ((dfifo_prog_empty_S(index_other)='1') and (delay_inpipe_S(index)='1')) or +-- (dfifo_wr_occuredrecently_S(index)='1') or -- was there a write recently (time: one datapacket plus a few slowcontrols ? + if (read36_inpipe_S(index)='1') or (delay_inpipe_S(index)='1') or + (dfifo_wr_S(index)='1') then + data_out_inpipe_S(0,index) <= '1'; + else + data_out_inpipe_S(0,index) <= '0'; + end if; +end process; + +end generate; + + +MUX_multiplex2to1_all: for i1 in 0 to mux2to1_gen_max-1 generate + + MUX_multiplex2to1_i: for i2 in 0 to (2**(mux2to1_gen_max-i1-1))-1 generate + + FEE_mux2to1_1: FEE_mux2to1 port map( + clock => clock, + reset => reset, + data1_in => data_S(i1,i2*2), + data1_in_write => data_write_S(i1,i2*2), + data1_in_available => data_out_inpipe_S(i1,i2*2), + data1_in_allowed => data_allowed_S(i1,i2*2), + data2_in => data_S(i1,i2*2+1), + data2_in_write => data_write_S(i1,i2*2+1), + data2_in_available => data_out_inpipe_S(i1,i2*2+1), + data2_in_allowed => data_allowed_S(i1,i2*2+1), + data_out => data_S(i1+1,i2), + data_out_write => data_write_S(i1+1,i2), + data_out_available => data_out_inpipe_S(i1+1,i2), + data_out_allowed => data_allowed_S(i1+1,i2), + error => error_array_S(i1,i2), + testword0 => testword0_S(i1,i2)); + + end generate; +end generate; + +process(clock) +begin + if (rising_edge(clock)) then + error_S <= '0'; + for i1 in 0 to mux2to1_gen_max-1 loop + for i2 in 0 to (2**(mux2to1_gen_max-i1-1))-1 loop + if error_array_S(i1,i2)='1' then + error_S <= '1'; + end if; + end loop; + end loop; + end if; +end process; +error <= error_S; + +data_allowed_S(mux2to1_gen_max,0) <= '1' when (tfifo_full_S='0') else '0'; +tfifo_in_S <= data_S(mux2to1_gen_max,0); +tfifo: sync_fifo_FWFT_512x36 port map( + rst => reset, + clk => clock, + din => tfifo_in_S, + wr_en => data_write_S(mux2to1_gen_max,0), + rd_en => tfifo_rd_S, + dout => data_out, + full => tfifo_full_S, + empty => tfifo_empty_S); + + +tfifo_rd_S <= '1' when (data_out_read='1') and (tfifo_empty_S='0') else '0'; +data_out_available <= '1' when tfifo_empty_S='0' else '0'; + + + + +--testword0(33 downto 0) <= data_in(0)(33 downto 0); +--testword0(34) <= time_error_S; +--testword0(35) <= idx_error_S; +testword1(33 downto 0) <= data_in(1)(33 downto 0); +testword1(34) <= '0'; +testword1(35) <= '0'; + + + + +gentest: for i in 0 to 7 generate +testword0(i) <= dfifo_full_S(i); +end generate; + +testword0(8) <= dfifo_rd_S(7); +testword0(9) <= data_in_available_S(7); + +testword0(10) <= data_write_S(0,7); +testword0(11) <= data_out_inpipe_S(0,7); +testword0(12) <= data_allowed_S(0,7); + +testword0(13) <= data_write_S(1,3); +testword0(14) <= data_out_inpipe_S(1,3); +testword0(15) <= data_allowed_S(1,3); + +testword0(16) <= data_write_S(2,1); +testword0(17) <= data_out_inpipe_S(2,1); +testword0(18) <= data_allowed_S(2,1); + +testword0(19) <= data_write_S(3,0); +testword0(20) <= data_out_inpipe_S(3,0); +testword0(21) <= data_allowed_S(3,0); + + +testword0(22) <= data_write_S(0,0); +testword0(23) <= data_out_inpipe_S(0,0); +testword0(24) <= data_allowed_S(0,0); + +testword0(25) <= data_write_S(1,0); +testword0(26) <= data_out_inpipe_S(1,0); +testword0(27) <= data_allowed_S(1,0); + +testword0(28) <= data_write_S(2,0); +testword0(29) <= data_out_inpipe_S(2,0); +testword0(30) <= data_allowed_S(2,0); + + +testword0(31) <= data_write_S(mux2to1_gen_max,0); +testword0(32) <= tfifo_full_S; +testword0(33) <= tfifo_rd_S; +testword0(34) <= error_S; +testword0(35) <= '0'; +-- +-- +-- +--testword1 <= testword0_S(2,0); + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_sorting_wavemux.vhd b/FEE_ADC32board/FEE_modules/FEE_sorting_wavemux.vhd new file mode 100644 index 0000000..6fa1ff9 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_sorting_wavemux.vhd @@ -0,0 +1,347 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 03-02-2012 +-- Module Name: FEE_sorting_wavemux +-- Description: Multiplexer for FEE data, sorting on timestamp +-- Modifications: +-- 23-09-2014 single clock, remove fullness fifo, +-- 16-10-2014 inpipe signals +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_sorting_wavemux +-- Multiplexes multiple input pulse data stream with waveform data to one stream. +-- Both consists of packets of 36-bits words: 32 bits data and 4 bits for index/check +-- The data is sorted based on the 32-bits timestamp. +-- This sorting is done by comparing the time of 2 waveforms; the first in time is passed on. +-- Multiple of these comparators are placed in a tree structure. The last segment provides the sorted data. +-- +-- Library: +-- work.panda_package: constants and types +-- +-- Generics: +-- NROFMUXINPUTS : number of input-channels +-- +-- Inputs: +-- clock : clock +-- reset : reset, must be long enough for all clocks +-- data_in : array of input data streams, structure of each: +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- data_in_write : write signal for data_in (write into fifo) +-- data_out_read : read signal for outgoing data (read from fifo) +-- +-- Outputs: +-- data_in_allowed : write to input data allowed (not full) +-- data_in_almostfull : input fifo is too full for maximum length waveform +-- data_out : output data +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identification) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- data_out_available : data_out available (output fifo not empty) +-- data_out_inpipe : more data on its way +-- error : data error, index in data words incorrect +-- +-- Components: +-- FEE_wavemux_readfifo : read data from fifo and writes to next level +-- FEE_wavemux2to1 : compares the data and passes the first in time on +-- sync_fifo_progfull364_progempty128_512x36 : synchronous fifo with programmable full and empty +-- sync_fifo_FWFT_512x36 : synchronous fifo with First Word Fall Through +-- +-- +-- +---------------------------------------------------------------------------------- + +entity FEE_sorting_wavemux is + generic( + NROFMUXINPUTS : natural := 16 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in array_halfadc36bits_type; + data_in_write : in std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_allowed : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_in_almostfull : out std_logic_vector(0 to NROFMUXINPUTS-1); + data_out : out std_logic_vector(35 downto 0); + data_out_read : in std_logic; + data_out_available : out std_logic; + data_out_inpipe : out std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0) +); +end FEE_sorting_wavemux; + + +architecture Behavioral of FEE_sorting_wavemux is + +component FEE_wavemux2to1 is + generic( + TIMEOUTBITS : natural := 6 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data1_in : in std_logic_vector(35 downto 0); + data1_in_write : in std_logic; + data1_in_available : in std_logic; + data1_in_allowed : out std_logic; + data2_in : in std_logic_vector(35 downto 0); + data2_in_write : in std_logic; + data2_in_available : in std_logic; + data2_in_allowed : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_available : out std_logic; + data_out_allowed : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_wavemux_readfifo is + port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_inpipe : out std_logic; + data_out_allowed : in std_logic); +end component; + +component sync_fifo_progfull364_progempty128_512x36 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(35 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(35 downto 0); + full : out std_logic; + empty : out std_logic; + prog_full : out std_logic; + prog_empty : out std_logic); +end component; + +component sync_fifo_FWFT_512x36 + port ( + rst : in std_logic; + clk : in std_logic; + din : in std_logic_vector(35 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + dout : out std_logic_vector(35 downto 0); + full : out std_logic; + empty : out std_logic); +end component; + +type twologarray_type is array(0 to 63) of natural; +constant twologarray : twologarray_type := +(0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5); + +constant mux2to1_gen_max : integer := twologarray(NROFMUXINPUTS); -- -1; +constant INPIPE_DELAY : integer := 63; +constant zeros : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +constant ones : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '1'); + +--type mux2to1_gen_type is array(0 to mux2to1_gen_max-1) of integer; +--constant mux2to1_gen : mux2to1_gen_type := (8,4,2,1); + +type data_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic_vector(35 downto 0); +type singlebit_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic; + +signal error_S : std_logic := '0'; + +signal data_S : data_type; +signal data_out_inpipe_S : singlebit_type := (others => (others => '0')); +signal data_write_S : singlebit_type := (others => (others => '0')); +signal data_allowed_S : singlebit_type := (others => (others => '0')); +signal error_array_S : singlebit_type := (others => (others => '0')); + +-- signals for fifo from adc-fe to adc-mux +signal dfifo_wr_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_rd_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_out_S : array_halfadc36bits_type := (others => (others => '0')); +signal dfifo_full_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_empty_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal data_in_available_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal dfifo_prog_empty_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); + +signal delay_inpipe_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); +signal read36_inpipe_S : std_logic_vector(0 to NROFMUXINPUTS-1) := (others => '0'); + +-- signals for fifo from adc-mux to packet-composer +signal tfifo_in_S : std_logic_vector (35 downto 0); +signal tfifo_rd_S : std_logic := '0'; +signal tfifo_full_S : std_logic := '0'; +signal tfifo_empty_S : std_logic := '0'; + +type testword_type is array(0 to mux2to1_gen_max,0 to NROFMUXINPUTS-1) of std_logic_vector (35 downto 0); +signal testword0_S : testword_type; + +begin + +data_out_inpipe <= '1' + when (dfifo_empty_S/=ones(0 to NROFMUXINPUTS-1)) or (tfifo_empty_S='0') or (data_out_inpipe_S(mux2to1_gen_max,0)='1') + else '0'; + +FEE_mux_inputs: for index in 0 to NROFMUXINPUTS-1 generate + +process(clock) +type inpipe_counter_type is array(0 to NROFMUXINPUTS-1) of integer range 0 to INPIPE_DELAY; +variable inpipe_counter_V : inpipe_counter_type := (others => 0); +variable index_other : integer range 0 to NROFMUXINPUTS-1; +begin + if rising_edge(clock) then + if reset='1' then + inpipe_counter_V(index) := 0; + delay_inpipe_S(index) <= '0'; + else + index_other := conv_integer(unsigned((conv_std_logic_vector(index,8) xor x"01"))); + if ((dfifo_wr_S(index)='1') and (dfifo_prog_empty_S(index)='1')) or + ((dfifo_wr_S(index_other)='1') and (dfifo_prog_empty_S(index_other)='1')) + then + inpipe_counter_V(index) := INPIPE_DELAY; + delay_inpipe_S(index) <= '1'; + else + if inpipe_counter_V(index)/=0 then + inpipe_counter_V(index) := inpipe_counter_V(index)-1; + delay_inpipe_S(index) <= '1'; + else + delay_inpipe_S(index) <= '0'; + end if; + end if; + end if; + end if; +end process; + + +dfifo: sync_fifo_progfull364_progempty128_512x36 port map( + rst => reset, + clk => clock, + din => data_in(index), + wr_en => dfifo_wr_S(index), + rd_en => dfifo_rd_S(index), + dout => dfifo_out_S(index), + full => dfifo_full_S(index), + empty => dfifo_empty_S(index), + prog_full => data_in_almostfull(index), + prog_empty => dfifo_prog_empty_S(index)); + + dfifo_wr_S(index) <= '1' when (dfifo_full_S(index)='0') and (data_in_write(index)='1') else '0'; +data_in_allowed(index) <= NOT dfifo_full_S(index); + +data_in_available_S(index) <= '1' when dfifo_empty_S(index)='0' else '0'; + +FEE_wavemux_readfifo1: FEE_wavemux_readfifo port map( + clock => clock, + reset => reset, + data_in => dfifo_out_S(index), + data_in_available => data_in_available_S(index), + data_in_read => dfifo_rd_S(index), + data_out => data_S(0,index), + data_out_write => data_write_S(0,index), + data_out_inpipe => read36_inpipe_S(index), + data_out_allowed => data_allowed_S(0,index)); + +process(data_out_inpipe_S(0,index),read36_inpipe_S(index),delay_inpipe_S(index),dfifo_wr_S(index)) -- ,dfifo_prog_empty_S) +--variable index_other : integer range 0 to NROFMUXINPUTS-1; +begin +-- index_other := conv_integer(unsigned((conv_std_logic_vector(index,16) xor x"0001"))); +-- if (read36_inpipe_S(index)='1') or ((dfifo_prog_empty_S(index_other)='1') and (delay_inpipe_S(index)='1')) or +-- (dfifo_wr_occuredrecently_S(index)='1') or -- was there a write recently (time: one datapacket plus a few slowcontrols ? + if (read36_inpipe_S(index)='1') or (delay_inpipe_S(index)='1') or + (dfifo_wr_S(index)='1') then + data_out_inpipe_S(0,index) <= '1'; + else + data_out_inpipe_S(0,index) <= '0'; + end if; +end process; + +end generate; + + +FEE_multiplex2to1_all: for i1 in 0 to mux2to1_gen_max-1 generate + + FEE_multiplex2to1_i: for i2 in 0 to (2**(mux2to1_gen_max-i1-1))-1 generate + + FEE_wavemux2to1_1: FEE_wavemux2to1 port map( + clock => clock, + reset => reset, + data1_in => data_S(i1,i2*2), + data1_in_write => data_write_S(i1,i2*2), + data1_in_available => data_out_inpipe_S(i1,i2*2), + data1_in_allowed => data_allowed_S(i1,i2*2), + data2_in => data_S(i1,i2*2+1), + data2_in_write => data_write_S(i1,i2*2+1), + data2_in_available => data_out_inpipe_S(i1,i2*2+1), + data2_in_allowed => data_allowed_S(i1,i2*2+1), + data_out => data_S(i1+1,i2), + data_out_write => data_write_S(i1+1,i2), + data_out_available => data_out_inpipe_S(i1+1,i2), + data_out_allowed => data_allowed_S(i1+1,i2), + error => error_array_S(i1,i2), + testword0 => testword0_S(i1,i2)); + + end generate; +end generate; + +process(clock) +begin + if (rising_edge(clock)) then + error_S <= '0'; + for i1 in 0 to mux2to1_gen_max-1 loop + for i2 in 0 to (2**(mux2to1_gen_max-i1-1))-1 loop + if error_array_S(i1,i2)='1' then + error_S <= '1'; + end if; + end loop; + end loop; + end if; +end process; +error <= error_S; + +data_allowed_S(mux2to1_gen_max,0) <= '1' when (tfifo_full_S='0') else '0'; +tfifo_in_S <= data_S(mux2to1_gen_max,0); +tfifo: sync_fifo_FWFT_512x36 port map( + rst => reset, + clk => clock, + din => tfifo_in_S, + wr_en => data_write_S(mux2to1_gen_max,0), + rd_en => tfifo_rd_S, + dout => data_out, + full => tfifo_full_S, + empty => tfifo_empty_S); + +tfifo_rd_S <= '1' when (data_out_read='1') and (tfifo_empty_S='0') else '0'; +data_out_available <= '1' when tfifo_empty_S='0' else '0'; + + +testword0 <= (others => '0'); +testword1 <= (others => '0'); + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/FEE_waveform_to_36bits.vhd b/FEE_ADC32board/FEE_modules/FEE_waveform_to_36bits.vhd new file mode 100644 index 0000000..1c77815 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_waveform_to_36bits.vhd @@ -0,0 +1,225 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 01-02-2012 +-- Module Name: FEE_waveform_to_36bits +-- Description: put waveform data in 36-bits wide data stream +-- Modifications: +-- 14-08-2014: bug in read signal, output 'overflow_out' added +-- 16-09-2014: name changed from waveform_to_36bits to FEE_waveform_to_36bits +-- 11-10-2014: adc-channel number 8 bits +-- 23-10-2014: finish actual waveform in case of almost full signal +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; +use work.panda_package.all; + + +------------------------------------------------------------------------------------------------------ +-- FEE_waveform_to_36bits +-- Put waveform data in 36-bits wide data stream +-- Input waveform data is 36 bits wide, starting with timestamp and with the four highest bits for begin/time/end identification. +-- Output data is 36 bits wide with the four highest bits for identification +-- +-- +-- generics +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- adcnumber : 8 bits indification of the adc channel +-- data_in : data from adc waveform buffer: +-- bits(35..32)="1000" : bits(31..0)=timestamp for pileup waveform +-- bits(35..32)="0010" : bits(31..16)=data sample, bits(15..0)=next data sample +-- bits(35..32)="0100" : bits(31..16)=last data sample, bits(15..0)=0000 +-- bits(35..32)="0101" : bits(31..16)=last but one pulse data sample, bits(15..0)=last data sample +-- bits(35..32)="1111" : error, bits(31..0)=don't care +-- overflow_in : buffer overflow in adc waveform buffer, set bit in statusbyte +-- pileupdata_allowed : writing of pile-up data allowed +-- pileupdata_almostfull : input fifo multiplexer is too full for complete maximum-length waveform +-- +-- outputs +-- data_in_read : read signal to adc waveform buffer +-- pileupdata_out : 36-bits data with pile-up waveform: +-- bits(35..32)="0000" : bits(31..0)=timestamp of maximum value in waveform +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- pileupdata_write : write signal for pile-up data output +-- overflow_out : buffer overflow: data skipped +-- error : error in incoming data +-- +-- components +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_waveform_to_36bits is + Port ( + clock : in std_logic; + reset : in std_logic; + adcnumber : in std_logic_vector(7 downto 0); + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + overflow_in : in std_logic; + pileupdata_out : out std_logic_vector(35 downto 0); + pileupdata_write : out std_logic; + pileupdata_allowed : in std_logic; + pileupdata_almostfull : in std_logic; + overflow_out : out std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_waveform_to_36bits; + +architecture Behavioral of FEE_waveform_to_36bits is + +signal data_in_read_S : std_logic := '0'; +signal data_in_read_after1clk_S : std_logic := '0'; +signal pileupdata_write_S : std_logic := '0'; +signal pileupdata_trywrite_S : std_logic := '0'; + +signal lastdata_S : std_logic := '0'; +signal lastdata0_S : std_logic := '0'; +signal lastdata1_S : std_logic := '0'; + +signal writingadcnumber_S : std_logic := '0'; +signal writeadcnumber_S : std_logic := '0'; +signal overflow_occurred_S : std_logic := '0'; +signal clear_overflow_occurred_S : std_logic := '0'; +signal overflow_in_S : std_logic := '0'; +signal error1_S : std_logic := '0'; +signal pileupdata_out_S : std_logic_vector(35 downto 0) := (others => '0'); + +begin + +overflow_out <= overflow_occurred_S; +error <= error1_S; +data_in_read <= data_in_read_S; +data_in_read_S <= '1' + when (data_in_available='1') and (writingadcnumber_S='0') and (pileupdata_allowed='1') and + ((pileupdata_almostfull='0') or (lastdata_S='0'))--and (prevent_reading_S='0') + else '0'; + +lastdata0_S <= '1' when (data_in_read_after1clk_S='1') and (data_in(35 downto 32)="010") else '0'; +lastdata_S <= '1' when (lastdata0_S='1') or (lastdata1_S='1') else '0'; +process(clock) +begin + if rising_edge(clock) then + if reset='1' then + lastdata1_S <= '0'; + else + if data_in_read_after1clk_S='1' then + lastdata1_S <= lastdata0_S; + end if; + end if; + end if; +end process; + +writingadcnumber_S <= '1' when + (writeadcnumber_S='1') + or ((data_in_read_after1clk_S='1') and (data_in(34 downto 32)="000")) + else '0'; + +pileupdata_out <= pileupdata_out_S; + +pileupdata_write <= pileupdata_write_S; +pileupdata_write_S <= '1' when (pileupdata_trywrite_S='1') and (pileupdata_allowed='1') else '0'; + +readprocess: process(clock) +variable statusbyte_V : std_logic_vector(7 downto 0) := (others => '0'); +begin + if rising_edge(clock) then + error1_S <= '0'; + clear_overflow_occurred_S <= '0'; + if reset='1' then + pileupdata_trywrite_S <= '0'; + writeadcnumber_S <= '0'; + statusbyte_V := (others => '0'); + overflow_occurred_S <= '0'; + data_in_read_after1clk_S <= '0'; + overflow_in_S <= overflow_in; + else + if ((overflow_in='1') and (overflow_in_S='0')) or (error1_S='1') then + overflow_occurred_S <= '1'; + elsif clear_overflow_occurred_S='1' then + overflow_occurred_S <= '0'; + end if; + overflow_in_S <= overflow_in; + data_in_read_after1clk_S <= data_in_read_S; + if data_in_read_after1clk_S='1' then + case data_in(35 downto 32) is + when "1000" => + pileupdata_out_S <= "0000" & data_in(31 downto 0); + pileupdata_trywrite_S <= '1'; + writeadcnumber_S <= '1'; + when "0010" => -- samples + writeadcnumber_S <= '0'; + pileupdata_out_S <= data_in; + pileupdata_trywrite_S <= '1'; + when "0100" => -- last sample + writeadcnumber_S <= '0'; + pileupdata_out_S <= data_in; + pileupdata_trywrite_S <= '1'; + when "0101" => -- last samples + writeadcnumber_S <= '0'; + pileupdata_out_S <= data_in; + pileupdata_trywrite_S <= '1'; + when others => + error1_S <= '1'; + pileupdata_trywrite_S <= '0'; + end case; + else -- not data_in_read_after1clk_S + if (writeadcnumber_S='1') and (pileupdata_trywrite_S='1') and (pileupdata_allowed='1') then + if overflow_occurred_S='1' then + statusbyte_V := STATBYTE_FEEPULSESKIPPED; + clear_overflow_occurred_S <= '1'; + else + statusbyte_V := (others => '0'); + end if; + pileupdata_out_S <= "0001" & statusbyte_V & x"0000" & adcnumber; + pileupdata_trywrite_S <= '1'; + writeadcnumber_S <= '0'; + elsif (pileupdata_trywrite_S='1') and (pileupdata_allowed='0') then -- keep trying + pileupdata_trywrite_S <= '1'; + elsif (writeadcnumber_S='1') then + writeadcnumber_S <= '0'; + else + pileupdata_trywrite_S <= '0'; + end if; + end if; + end if; + end if; +end process; + + +testword0(3 downto 0) <= data_in(35 downto 32); +testword0(4) <= data_in_read_S; +testword0(5) <= data_in_available; +testword0(6) <= data_in_read_after1clk_S; +testword0(7) <= data_in_read_S; +testword0(11 downto 8) <= pileupdata_out_S(35 downto 32); +testword0(12) <= pileupdata_write_S; +testword0(13) <= pileupdata_trywrite_S; +testword0(14) <= writingadcnumber_S; +testword0(15) <= writeadcnumber_S; +testword0(16) <= overflow_occurred_S; +testword0(17) <= clear_overflow_occurred_S; +testword0(18) <= overflow_in_S; +testword0(19) <= error1_S; +testword0(20) <= pileupdata_allowed; +testword0(21) <= pileupdata_almostfull; +testword0(22) <= writeadcnumber_S; + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_wavemux2to1.vhd b/FEE_ADC32board/FEE_modules/FEE_wavemux2to1.vhd new file mode 100644 index 0000000..c1cc47d --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_wavemux2to1.vhd @@ -0,0 +1,375 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 03-02-2012 +-- Module Name: FEE_wavemux2to1 +-- Description: compare timestamp of 36bits data pass on first +-- Modifications: +-- 11-10-2014: adc-channel number 8 bits +-- 23-10-2014: proper end of packet in case of timeout +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- FEE_wavemux2to1 +-- Compare timestamp of 36bits data and pass on first +-- Timestamp is a combination of the superburst and a clockcounter +-- If data from only one is available then this is passed on directly +-- The 36-bits data contains waveforms in packets, starting with timestamp, ending with last sample: +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- +-- +-- generics +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data1_in : data from first 36-bits input +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- data1_in_write : write signal for data1_in +-- data1_in_available : more data available: wait with timestamp check until the timestamp is read +-- data2_in : data from second 36-bits input +-- bits(35..32)="0000" : bits(31..16)=superburst, bits(15..0)=timestamp within superburst +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- data2_in_write : write signal for data2_in +-- data2_in_available : more data available: wait with timestamp check until the timestamp is read +-- data_out_allowed : writing of resulting data allowed +-- +-- outputs +-- data1_in_allowed : signal to allow data input 1 +-- data2_in_allowed : signal to allow data input 2 +-- data_out : 36-bits data with valid pulse waveform: +-- bits(35..32)="0000" : bits(31..0)=timestamp of maximum value in waveform +-- bits(35..32)="0001" : +-- bits(31..24) = statusbyte (bit6=overflow) +-- bits(23..8) = 0 +-- bits(7..0) = adcnumber (channel identifaction) +-- bits(35..32)="0010" : bits(31..16)=adc sample, bits(15..0)=next adc sample +-- bits(35..32)="0100" : bits(31..16)=last adc sample, bits(15..0)=0 +-- bits(35..32)="0101" : bits(31..16)=last but one adc sample, bits(15..0)=last adc sample +-- data_out_write : write signal for 36-bits output data +-- data_out_available : data available: in this module or at the input +-- error : error in data bits 35..32 +-- +-- components +-- +------------------------------------------------------------------------------------------------------ + + + +entity FEE_wavemux2to1 is + generic( + TIMEOUTBITS : natural := 6 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data1_in : in std_logic_vector(35 downto 0); + data1_in_write : in std_logic; + data1_in_available : in std_logic; + data1_in_allowed : out std_logic; + data2_in : in std_logic_vector(35 downto 0); + data2_in_write : in std_logic; + data2_in_available : in std_logic; + data2_in_allowed : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_available : out std_logic; + data_out_allowed : in std_logic; + error : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end FEE_wavemux2to1; + + +architecture Behavioral of FEE_wavemux2to1 is + +signal timeout_counter_S : std_logic_vector(TIMEOUTBITS-1 downto 0) := (others => '0'); + +signal error_S : std_logic := '0'; +signal read_pulse1_S : std_logic := '0'; +signal read_pulse2_S : std_logic := '0'; +signal data1_in_allowed_S : std_logic := '0'; +signal data2_in_allowed_S : std_logic := '0'; +signal data1_in_write_S : std_logic := '0'; +signal data2_in_write_S : std_logic := '0'; +signal data_out_trywrite_S : std_logic := '0'; +signal data_out_write_S : std_logic := '0'; +signal data_out_available_S : std_logic := '0'; +signal data_out_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data1_timestamp_valid_S : std_logic := '0'; +signal data2_timestamp_valid_S : std_logic := '0'; + +begin + +error <= error_S; + +data_out_available <= data_out_available_S; +data_out_available_S <= '1' when (data1_in_available='1') or (data2_in_available='1') + or (data_out_trywrite_S='1') + or (data1_timestamp_valid_S='1') or (data2_timestamp_valid_S='1') + else '0'; + +data_out <= data_out_S; +data_out_write <= data_out_write_S; +data_out_write_S <= '1' when (data_out_trywrite_S='1') and (data_out_allowed='1') else '0'; + +data1_in_allowed <= data1_in_allowed_S; +data1_in_allowed_S <= '1' when (data_out_allowed='1') + and ((read_pulse1_S='1') + or ((read_pulse1_S='0') and (read_pulse2_S='0') and (data1_timestamp_valid_S='0'))) + else '0'; + +data2_in_allowed <= data2_in_allowed_S; +data2_in_allowed_S <= '1' when (data_out_allowed='1') + and ((read_pulse2_S='1') + or ((read_pulse1_S='0') and (read_pulse2_S='0') and (data2_timestamp_valid_S='0'))) + else '0'; + +--data2_in_allowed_S <= '1' when (data_out_allowed='1') +-- and ((read_pulse2_S='1') +-- or (((read_pulse1_S='0') and (data1_timestamp_valid_S='0')) +-- and ((read_pulse2_S='0') and (data2_timestamp_valid_S='0')))) +-- else '0'; + +data1_in_write_S <= '1' when (data1_in_write='1') and (data1_in_allowed_S='1') else '0'; +data2_in_write_S <= '1' when (data2_in_write='1') and (data2_in_allowed_S='1') else '0'; + +readprocess: process(clock) +variable data1_timestamp_V : std_logic_vector(31 downto 0) := (others => '0'); +variable data2_timestamp_V : std_logic_vector(31 downto 0) := (others => '0'); +variable data1_timestamp_valid_V : std_logic := '0'; +variable data2_timestamp_valid_V : std_logic := '0'; +begin + if rising_edge(clock) then + if reset='1' then + data_out_trywrite_S <= '0'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data1_timestamp_valid_S <= '0'; + data2_timestamp_valid_S <= '0'; + timeout_counter_S <= (others => '0'); + else + if (data_out_trywrite_S='1') and (data_out_write_S='0') then -- unsuccesful write + data_out_trywrite_S <= '1'; -- try again + timeout_counter_S <= (others => '0'); + else + if read_pulse1_S='1' then + data1_timestamp_valid_V := '0'; + if data1_in_write_S='1' then + timeout_counter_S <= (others => '0'); + if (data1_in(35 downto 32)="0001") or (data1_in(35 downto 32)="0010") then -- next data + error_S <= '0'; + data_out_S <= data1_in; + data_out_trywrite_S <= '1'; + elsif (data1_in(35 downto 33)="010") then -- last data + error_S <= '0'; + data_out_S <= data1_in; + read_pulse1_S <= '0'; + data_out_trywrite_S <= '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data_out_trywrite_S <= '0'; + end if; + else + data_out_trywrite_S <= '0'; + if timeout_counter_S(TIMEOUTBITS-1)='1' then + data_out_S <= "0100" & x"00000000"; -- force last data + data_out_trywrite_S <= '1'; + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + timeout_counter_S <= (others => '0'); + else + if data_out_allowed='1' then + if data_out_write_S='1' then + timeout_counter_S <= (others => '0'); + else + timeout_counter_S <= timeout_counter_S+1; + end if; + end if; + error_S <= '0'; + end if; + end if; + elsif read_pulse2_S='1' then + data2_timestamp_valid_V := '0'; + if data2_in_write_S='1' then + timeout_counter_S <= (others => '0'); + if (data2_in(35 downto 32)="0001") or (data2_in(35 downto 32)="0010") then -- next data + error_S <= '0'; + data_out_S <= data2_in; + data_out_trywrite_S <= '1'; + elsif (data2_in(35 downto 33)="010") then -- last data + error_S <= '0'; + data_out_S <= data2_in; + read_pulse2_S <= '0'; + data_out_trywrite_S <= '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + data_out_trywrite_S <= '0'; + end if; + else + data_out_trywrite_S <= '0'; + if timeout_counter_S(TIMEOUTBITS-1)='1' then + data_out_S <= "0100" & x"00000000"; -- force last data + data_out_trywrite_S <= '1'; + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + timeout_counter_S <= (others => '0'); + else + if data_out_allowed='1' then + if data_out_write_S='1' then + timeout_counter_S <= (others => '0'); + else + timeout_counter_S <= timeout_counter_S+1; + end if; + end if; + error_S <= '0'; + end if; + end if; + else + timeout_counter_S <= (others => '0'); + if data1_in_write_S='1' then + if (data1_in(35 downto 32)="0000") then + data1_timestamp_V := data1_in(31 downto 0); + data1_timestamp_valid_V := '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + end if; + end if; + if data2_in_write_S='1' then + if (data2_in(35 downto 32)="0000") then + data2_timestamp_V := data2_in(31 downto 0); + data2_timestamp_valid_V := '1'; + else -- error + error_S <= '1'; + read_pulse1_S <= '0'; + read_pulse2_S <= '0'; + data1_timestamp_valid_V := '0'; + data2_timestamp_valid_V := '0'; + end if; + end if; + if data1_timestamp_valid_V='1' then + if data2_timestamp_valid_V='1' then + if (data1_timestamp_V(31 downto 0) '0'); + +testword0(0) <= data1_in_write; +testword0(1) <= data1_in_available; +testword0(2) <= data1_in_allowed_S; +testword0(3) <= read_pulse1_S; +testword0(4) <= data1_in_write_S; +testword0(5) <= data1_timestamp_valid_S; +testword0(9 downto 6) <= data1_in(35 downto 32); + +testword0(10) <= data2_in_write; +testword0(11) <= data2_in_available; +testword0(12) <= data2_in_allowed_S; +testword0(13) <= read_pulse2_S; +testword0(14) <= data2_in_write_S; +testword0(15) <= data2_timestamp_valid_S; +testword0(19 downto 16) <= data2_in(35 downto 32); + + +testword0(20) <= data_out_trywrite_S; +testword0(21) <= data_out_write_S; +testword0(22) <= data_out_available_S; +testword0(23) <= data_out_allowed; +testword0(27 downto 24) <= data_out_S(35 downto 32); +testword0(28) <= error_S; + + + +testword0(33 downto 29) <= timeout_counter_S(TIMEOUTBITS-1 downto TIMEOUTBITS-5); +testword0(35 downto 34) <= (others => '0'); + + +end Behavioral; + + diff --git a/FEE_ADC32board/FEE_modules/FEE_wavemux_readfifo.vhd b/FEE_ADC32board/FEE_modules/FEE_wavemux_readfifo.vhd new file mode 100644 index 0000000..7066dff --- /dev/null +++ b/FEE_ADC32board/FEE_modules/FEE_wavemux_readfifo.vhd @@ -0,0 +1,118 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 03-02-2012 +-- Module Name: FEE_wavemux_readfifo +-- Description: Read 36-bits data from fifo and write to next module +-- Modifications: +-- 16-10-2014: inpipe signal +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; +USE work.panda_package.all; + +---------------------------------------------------------------------------------- +-- FEE_wavemux_readfifo +-- Read 36-bits data from fifo and write to next module. +-- +-- Library: +-- work.panda_package: constants and types +-- +-- Generics: +-- +-- Inputs: +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data_in : 36-bits input data from fifo +-- data_in_available : input fifo not empty +-- data_out_allowed : allowed to write output data data +-- +-- Outputs: +-- data_in_read : read signal to input fifo +-- data_out : 36-bits output data +-- data_out_write : write signal for output data +-- data_out_inpipe : data available, in this module or in input fifo +-- +-- Components: +-- +-- +-- +---------------------------------------------------------------------------------- + +entity FEE_wavemux_readfifo is + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(35 downto 0); + data_in_available : in std_logic; + data_in_read : out std_logic; + data_out : out std_logic_vector(35 downto 0); + data_out_write : out std_logic; + data_out_inpipe : out std_logic; + data_out_allowed : in std_logic); +end FEE_wavemux_readfifo; + + +architecture Behavioral of FEE_wavemux_readfifo is + +signal data_in_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data_out_S : std_logic_vector(35 downto 0) := (others => '0'); +signal data_out_write_S : std_logic := '0'; +signal data_in_saved_S : std_logic := '0'; +signal data_in_read_S : std_logic := '0'; +signal data_in_read_after1clk_S : std_logic := '0'; +signal data_out_trywrite_S : std_logic := '0'; + + +begin + +data_out_inpipe <= '1' when (data_in_available='1') or (data_out_trywrite_S='1') or (data_in_saved_S='1') else '0'; + +data_in_read <= data_in_read_S; +data_in_read_S <= '1' when (data_out_allowed='1') and (data_in_available='1') and (data_in_saved_S='0') else '0'; + +data_out_write <= data_out_write_S; +data_out_write_S <= '1' when (data_out_trywrite_S='1') and (data_out_allowed='1') else '0'; + +data_out <= data_out_S; + +process(clock) +begin + if (rising_edge(clock)) then + if reset='1' then + data_in_read_after1clk_S <= '0'; + data_out_trywrite_S <= '0'; + data_in_saved_S <= '0'; + else + if (data_out_write_S='0') and (data_out_trywrite_S='1') then -- unsuccesfull try again + data_out_trywrite_S <= '1'; + if data_in_read_after1clk_S='1' then + data_in_S <= data_in; + data_in_saved_S <= '1'; + end if; + elsif data_in_saved_S='1' then -- write saved data + data_out_S <= data_in_S; + data_out_trywrite_S <= '1'; + if data_in_read_after1clk_S='1' then -- save next data + data_in_S <= data_in; + data_in_saved_S <= '1'; + else + data_in_saved_S <= '0'; + end if; + elsif data_in_read_after1clk_S='1' then -- next read + data_out_S <= data_in; + data_out_trywrite_S <= '1'; + else + data_out_trywrite_S <= '0'; + end if; + data_in_read_after1clk_S <= data_in_read_S; + end if; + end if; +end process; + + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/Panda_package.vhd b/FEE_ADC32board/FEE_modules/Panda_package.vhd new file mode 100644 index 0000000..0de958a --- /dev/null +++ b/FEE_ADC32board/FEE_modules/Panda_package.vhd @@ -0,0 +1,424 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 04-03-2011 +-- Module Name: panda_package +-- Description: Package with constants and function for Panda +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.std_logic_ARITH.ALL; +use IEEE.std_logic_UNSIGNED.ALL; + +package panda_package is + + constant NROFADCS : natural := 32; + constant NROFFIBERS : natural := 4; + constant ADCINDEXSHIFT : natural := 1; + constant NROFMUXREGS : natural := 14; + constant ADCBITS : natural := 14; + constant ADCCLOCKFREQUENCY : natural := 80000000; -- 80000000; -- 62500000; + constant FEESLOWCONTROLADRESSES : natural := 2*NROFADCS/(ADCINDEXSHIFT+1)+4; + constant FEESLOWCONTROLBOARDADDRESS : natural := 2*NROFADCS/(ADCINDEXSHIFT+1); + +-- statusbyte in data stream : + constant STATBYTE_DCPULSESKIPPED : std_logic_vector(7 downto 0) := "00000100"; + constant STATBYTE_DCWAVESKIPPED : std_logic_vector(7 downto 0) := "00000100"; + constant STATBYTE_DCCOMBINEDHITS : std_logic_vector(7 downto 0) := "00000001"; + constant STATBYTE_DCCOMBINEDDISCARDED : std_logic_vector(7 downto 0) := "00000010"; + constant STATBYTE_DCSUPERBURSTMISSED : std_logic_vector(7 downto 0) := "00001100"; + + constant STATBYTE_FEEPULSESKIPPED : std_logic_vector(7 downto 0) := "01000000"; + constant STATBYTE_FEECFNOZEROCROSS : std_logic_vector(7 downto 0) := "00100000"; + constant STATBYTE_FEECFERROR : std_logic_vector(7 downto 0) := "00010000"; + +-- fiber constants +constant KCHAR280 : std_logic_vector(7 downto 0) := "00011100"; -- 1C +constant KCHAR281 : std_logic_vector(7 downto 0) := "00111100"; -- 3C +constant KCHAR285 : std_logic_vector(7 downto 0) := "10111100"; -- BC +-- constant KCHAR277 : std_logic_vector(7 downto 0) := "11111011"; -- FB +constant KCHAR286 : std_logic_vector(7 downto 0) := x"DC"; + +constant KCHARIDLE : std_logic_vector(15 downto 0) := KCHAR281 & KCHAR285; -- 3CBC peter: bytes different for word sync +constant KCHARSODASTART : std_logic_vector(15 downto 0) := KCHAR280 & KCHAR280; -- 1C1C +constant KCHARSODASTOP : std_logic_vector(15 downto 0) := KCHAR281 & KCHAR281; -- 3C3C +constant KCHARSODA : std_logic_vector(7 downto 0) := KCHAR286; -- DC + +-- addresses slowcontrol commands for Multiplexer board + constant ADDRESS_MUX_FIBERMODULE_STATUS : std_logic_vector(23 downto 0) := x"800000"; +-- request : request status +-- command: clear error bits, pulse skipped counter +-- Reply, or in case of error: Status of the fibermodule: +-- bit0 : error in slowcontrol to cpu occured +-- bit1 : error if slowcontrol transmit data +-- bit2 : error if fiber receive data +-- bit3 : received character not in table: fiber error +-- bit4 : pulse data skipped due to full multiplexer fifo +-- bit5 : receiver locked +-- bit15..8 : number of pulse data packets skipped due to full buffers +-- bit31..16 : number of successful hamming code corrections + constant ADDRESS_MUX_MAXCFLUTS : std_logic_vector(23 downto 0) := x"800001"; +-- bit15..0 : data for the CF or MAX Look Up Table +-- bit25..16 :offset for maximum correction LUT +-- bit26 : write signal for maximum LUT +-- bit27 : loading maximum correction LUT +-- bit28 : enable maximum correction +-- bit29 : write signal for Constant Fraction LUT +-- bit30 : loading CF correction LUT +-- bit31 : enable CF correction + constant ADDRESS_MUX_MULTIPLEXER_STATUS : std_logic_vector(23 downto 0) := x"800002"; +-- status/fullness of the multiplexer: +-- bit 15..0 : number of words in input fifo of the multiplexer +-- bit 15..0 : number of words in output fifo of the multiplexer, only for fiber index 0 + constant ADDRESS_MUX_SODA_CONTROL : std_logic_vector(23 downto 0) := x"800003"; +-- settings for the SODA : +-- bit0 : enable SODA packets +-- bit1 : reset timestamp counters +-- bit2 : Enable data taking +-- bit3 : Disable data taking +-- bit4 : Enable Aurora interface to Computer Node + constant ADDRESS_MUX_HISTOGRAM : std_logic_vector(23 downto 0) := x"800004"; +-- settings for the histogram : +-- bit0 : clear the histogram +-- bit1 : start reading of the histogram +-- bit10..8 : Binning of the histogram channels, scaling x-axis : +-- 000 = no scaling +-- 001 = div 2 +-- 010 = div 4 +-- 011 = div 8 +-- 100 = div 16 +-- 101 = div 32 +-- 110 = div 64 +-- 111 = div 128 +-- bit31..16 : Selected unique adc-number + constant ADDRESS_MUX_TIMESTAMP_ERRORS : std_logic_vector(23 downto 0) := x"800005"; +-- number of errors: +-- bit 9..0 : number of timestamp mismatches +-- bit 19..10 : number of skipped pulses +-- bit 29..20 : number of data errors + constant ADDRESS_MUX_TIMESHIFT : std_logic_vector(23 downto 0) := x"800006"; +-- number of clockcycles (incl. constant fraction) to compensate for delay SODA to FEE +-- bit 10..0 : compensation time, fractional part; number of bits for constant fraction, see CF_FRACTIONBIT +-- bit 30..16 : compensation time, integer part +-- bit 31 : load LUT mode, after set to 1 starts with ADC0 on each write, and so on + constant ADDRESS_MUX_EXTRACTWAVE : std_logic_vector(23 downto 0) := x"800007"; +-- start extracting waveform of 1 pileup pulse: +-- bit 15..0 : selected adcnumber +-- bit 16 : select 1 adc, otherwise take first data arriving +-- bit 17 : select 1 low/high combination instead of 1 adc channel + constant ADDRESS_MUX_EXTRACTDATA : std_logic_vector(23 downto 0) := x"800008"; +-- start extracting data of 1 pulse: +-- bit 15..0 : selected adcnumber +-- bit 16 : select 1 adc, otherwise take first data arriving +-- bit 17 : select 1 low/high combination instead of 1 adc channel + constant ADDRESS_MUX_SYSMON : std_logic_vector(23 downto 0) := x"80000c"; +-- write to FPGA system monitor +-- bit 31 : slect read/write, write='0', read='1' +-- bit 30 : reset/reconfigure FPGA system monitor +-- bit 22..16 : 7-bits address of FPGA system monitor +-- bit 15..0 : 16-bits data for FPGA system monitor +-- read from FPGA system monitor, effective address is the last address at data bits 30..16 that was written +-- bit 30..16 : 7-bits effective address of FPGA system monitor +-- bit 15..0 : data from FPGA system monitor + constant ADDRESS_MUX_CROSSSWITCH : std_logic_vector(23 downto 0) := x"80000d"; +-- write to cross switch configuration +-- bit 7..0 : selected multiplexer input +-- bit 15..8 : ADC-channel to switch to selected multiplexer input (fibernr*NROFADCS+adcnumber or fibernr*NROFADCS/2+adcnumber/2 if high/low gain ADCs are used) +-- bit 16 : select if selected multiplexer input will be combined with neighbour (only for even inputs) +-- bit 31 : write to configuration register (extra check) + constant ADDRESS_MUX_ENERGYCORRECTION : std_logic_vector(23 downto 0) := x"80000e"; +-- energy correction Look Up Table +-- bit 15..0 : gain correction (multiplying factor shifted by number of scalingsbits) +-- bit 30..16 : offset for energy +-- bit 31 : loading LUT mode, after set to 1 starts with ADC0 on each write, and so on + +-- addresses slowcontrol commands for Multiplexer + constant ADDRESS_BOARDNUMBER : std_logic_vector(23 downto 0) := x"002000"; +-- bit11..0 = sets the unique boardnumber +-- bit31 = initialize all FEE registers that have been set + +-- addresses slowcontrol commands for Front End Electronics board + constant ADDRESS_FEE_CONTROL : std_logic_vector(7 downto 0) := conv_std_logic_vector(FEESLOWCONTROLBOARDADDRESS,8); +-- bit0: reset all +-- bit2: clear errors +-- bit3: enable waveforms +-- bit 17..16 = ADC index from FPGA System monitor: 0=temp, 1=VCCint, 2=VCCaux, 3=spare, change activates read +-- bit 18 = reset/initializes FPGA System monitor + constant ADDRESS_FEE_STATUS : std_logic_vector(7 downto 0) := conv_std_logic_vector(FEESLOWCONTROLBOARDADDRESS+1,8); +-- bit1 : Data Taken enabled (enable and disabled is done with SODA packets) +-- bit 5..4 = ADC index from FPGA System monitor: 0=temp, 1=VCCint, 2=VCCaux, 3=spare +-- bit 15..6 = ADC value from FPGA System monitor +-- bit23..16 : error occurred bits: in case of error a bit is set. Clearing is done with ADDRESS_FEE_CONTROL +-- bit16 : error : NotInTable +-- bit17 : error : receive data error (slowcontrol) +-- bit18 : error : slowcontrol buffer overrun +-- bit19 : error : not used +-- bit20 : error : transmit data error, multipleser error +-- bit21 : error : receive data buffer overrun +-- bit22 : error : adc data buffer overrun +-- bit23 : error : receive fiber not locked + constant ADDRESS_FEE_SLOWCONTROLERROR : std_logic_vector(7 downto 0) := conv_std_logic_vector(FEESLOWCONTROLBOARDADDRESS+2,8); +-- data not important; this slowcontrol command indicates buffer full + constant ADDRESS_FEE_MEASURE_FREQUENCY : std_logic_vector(7 downto 0) := conv_std_logic_vector(FEESLOWCONTROLBOARDADDRESS+3,8); +-- bit31..0 : number of hits in one second + constant ADDRESS_FEE_REQUESTALLREGISTERS : std_logic_vector(7 downto 0) := conv_std_logic_vector(FEESLOWCONTROLBOARDADDRESS+4,8); + + type array_muxregister_type is array(0 to NROFMUXREGS-1) of std_logic_vector(31 downto 0); + + type array_adc_type is array(0 to NROFADCS-1) of std_logic_vector(ADCBITS-1 downto 0); + type array_adc64bits_type is array(0 to NROFADCS-1) of std_logic_vector(63 downto 0); + type array_adc48bits_type is array(0 to NROFADCS-1) of std_logic_vector(47 downto 0); + type array_adc36bits_type is array(0 to NROFADCS-1) of std_logic_vector(35 downto 0); + type array_adc32bits_type is array(0 to NROFADCS-1) of std_logic_vector(31 downto 0); + type array_adc24bits_type is array(0 to NROFADCS-1) of std_logic_vector(23 downto 0); + type array_adc16bits_type is array(0 to NROFADCS-1) of std_logic_vector(15 downto 0); + type array_adc9bits_type is array(0 to NROFADCS-1) of std_logic_vector(8 downto 0); + type array_adc8bits_type is array(0 to NROFADCS-1) of std_logic_vector(7 downto 0); + type array_adc4bits_type is array(0 to NROFADCS-1) of std_logic_vector(3 downto 0); + + type array_halfadc36bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(35 downto 0); + type array_halfadc32bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(31 downto 0); + type array_halfadc16bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(15 downto 0); + type array_halfadc9bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(8 downto 0); + type array_halfadc8bits_type is array(0 to NROFADCS/2-1) of std_logic_vector(7 downto 0); + + type array_fiber64bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(63 downto 0); + type array_fiber48bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(47 downto 0); + type array_fiber36bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(35 downto 0); + type array_fiber32bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(31 downto 0); + type array_fiber31bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(30 downto 0); + type array_fiber24bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(23 downto 0); + type array_fiber16bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(15 downto 0); + type array_fiber12bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(11 downto 0); + type array_fiber10bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(9 downto 0); + type array_fiber9bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(8 downto 0); + type array_fiber8bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(7 downto 0); + type array_fiber4bits_type is array(0 to NROFFIBERS-1) of std_logic_vector(3 downto 0); + + type array_DCadc36bits_type is array(0 to NROFADCS/(ADCINDEXSHIFT+1)-1) of std_logic_vector(35 downto 0); + type array_fiberXadc36bits_type is array(0 to NROFFIBERS*(NROFADCS/(ADCINDEXSHIFT+1))-1) of std_logic_vector(35 downto 0); + type array_fiberXadc16bits_type is array(0 to NROFFIBERS*(NROFADCS/(ADCINDEXSHIFT+1))-1) of std_logic_vector(15 downto 0); + type twologarray_type is array(0 to 128) of natural; + constant twologarray : twologarray_type := +(0,0,1,1,2,2,2,2,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, +6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7); + type array_fiberXadcCrossSwitch_type is array(0 to NROFFIBERS*NROFADCS/(ADCINDEXSHIFT+1)-1) of std_logic_vector(twologarray(NROFFIBERS*NROFADCS/(ADCINDEXSHIFT+1))-1 downto 0); + +---------------------------------------------------------------------------------- +-- add_hamming_code_26_32 +-- Fills in Hamming code bits on positions 0,1,3,7,15,31 of a 32-bits word. +-- The Hamming code is calculated with additional parity to be able to detect +-- an error in 2 bits. +-- +-- Inputs: +-- data_in : 32 bits data input, with 26 bits real data, the others will be filled with Hamming code +-- +-- Return: +-- 32 bits data output, 26 bits original data and bits 0,1,3,7,15,31 filled with Hamming code +-- +---------------------------------------------------------------------------------- + function add_hamming_code_26_32 (data_in : in std_logic_vector) return std_logic_vector; + + +---------------------------------------------------------------------------------- +-- calc_next_channel +-- Calculates the next index in a std_logic_vector that has value '0'; +-- Used to determine the next ADC-channel to select in a multiplexer. +-- If all values are '1' then the same index is returned. +-- +-- Inputs: +-- adcreading : starting index in the std_logic_vector +-- dfifo_empty : std_logic_vector to select the next index with value '0' +-- +-- Return: +-- Next index in std_logic_vector with '0' +-- +---------------------------------------------------------------------------------- + function calc_next_channel(adcreading : integer; dfifo_empty : std_logic_vector) return integer; + + +---------------------------------------------------------------------------------- +-- calc_next_channel +-- Calculates the next index in a std_logic_vector that has value '1'; +-- Used to determine the next ADC-channel to select in a multiplexer. +-- If all values are '0' then the same index is returned. +-- +-- Inputs: +-- adcreading : starting index in the std_logic_vector +-- data_available : std_logic_vector to select the next index with value '1' +-- +-- Return: +-- Next index in std_logic_vector with '1' +-- +---------------------------------------------------------------------------------- + function calc_next_channel_set(adcreading : integer; data_available : std_logic_vector) return integer; + + +---------------------------------------------------------------------------------- +-- std_logic_vector_valid +-- Checks if all bits in std_logic_vector are valid (0 or 1) to suppress conv_integer warnings during simulation +-- +-- Inputs: +-- data : std_logic_vector to check +-- +-- Return: +-- true if the std_logic_vector data is valid (only '0' and '1') +-- +---------------------------------------------------------------------------------- + function std_logic_vector_valid(data : in std_logic_vector) return boolean; + + +end panda_package; + + +package body panda_package is + +function calc_next_channel(adcreading : integer; dfifo_empty : std_logic_vector) return integer is +variable i : integer range 0 to dfifo_empty'high+1; +variable c : integer range 0 to dfifo_empty'high; +begin + i := 0; + if adcreading=dfifo_empty'high then + c := 0; + else + c := adcreading+1; + end if; + while (i/=dfifo_empty'high+1) and (dfifo_empty(c)='1') loop + i := i+1; + if (c (others => '0')); + +begin + + process (clock) + begin + if (clock'event and clock = '1') then + if (write_enable = '1') then + mem_S(conv_integer(write_address)) <= data_in; + end if; + data_out <= mem_S(conv_integer(read_address)); + end if; + end process; + + +end architecture behavioral; \ No newline at end of file diff --git a/FEE_ADC32board/FEE_modules/crc8_add_check32.vhd b/FEE_ADC32board/FEE_modules/crc8_add_check32.vhd new file mode 100644 index 0000000..9784525 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/crc8_add_check32.vhd @@ -0,0 +1,140 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 22-02-2011 +-- Module Name: crc8_add_check32 +-- Description: Add and checks a CRC8 code to a stream of 32 bits data words +---------------------------------------------------------------------------------- + +LIBRARY IEEE ; +USE ieee.std_logic_1164.all ; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; + +---------------------------------------------------------------------------------- +-- crc8_add_check32 +-- Checks and adds a CRC8 code to a stream of 32 bits data words. +-- This module can be used to add a CRC8 code and/or checks the CRC8 code. +-- +-- The last byte (that is LSB of the 32-bits word) filled with the CRC8 code, +-- overwriting the original data, and this original data is compared with the +-- CRC8 code. If they are not the same the crc_error output bit is high. +-- The CRC8 is calculated on all 32-bits data words, with the LSB of the last word +-- set to "00000000"; +-- The CRC8 code is calculated with initialize code "00000000". +-- An explanation can be found at www.ElectronicDesignworks.com +-- +-- Library: +-- +-- Generics: +-- +-- Inputs: +-- clock : one clock is used +-- reset : synchronous reset +-- data_in : 32 bits data input, LSB last byte is CRC8 or becomes CRC8 +-- data_in_valid : data_in word is valid +-- data_in_last : last data in the 32-bits stream; contains or will contain CRC8 +-- +-- Outputs: +-- data_out : 32 bits data output, LSB last byte is CRC8 +-- data_out_valid : data_in word is valid +-- data_out_last : last data in the 32-bits stream; contains CRC8 +-- crc_error : CRC8 code in original data_in was wrong, +-- can be ignored if the module is used to add a CRC8 +-- +---------------------------------------------------------------------------------- +entity crc8_add_check32 is + port( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector(31 DOWNTO 0); + data_in_valid : in std_logic; + data_in_last : in std_logic; + data_out : out std_logic_vector(31 DOWNTO 0); + data_out_valid : out std_logic; + data_out_last : out std_logic; + crc_error : out std_logic + ); +end crc8_add_check32; + +architecture behaviour OF crc8_add_check32 IS + constant CRC_INIT : std_logic_vector(7 DOWNTO 0) := "00000000"; + signal crc_S : std_logic_vector(7 DOWNTO 0) := "00000000"; + signal crc_aftr1clk_S : std_logic_vector(7 DOWNTO 0) := "00000000"; + signal crc_feedback_S : std_logic_vector(7 DOWNTO 0) := "00000000"; + signal start_on_next_S : std_logic := '0'; + signal din_S : std_logic_vector(31 DOWNTO 0); + +begin + +crc_feedback_S <= CRC_INIT when ((start_on_next_S='1') and (data_in_valid='1')) else crc_aftr1clk_S; + +din_S(31 downto 8) <= data_in(31 downto 8); +din_S(7 downto 0) <= data_in(7 downto 0) when data_in_last='0' else (others => '0'); +crc_S(0) <= din_S(0) XOR din_S(1) XOR din_S(9) XOR din_S(18) XOR din_S(27) XOR + crc_feedback_S(3) XOR din_S(10) XOR din_S(19) XOR din_S(28) XOR crc_feedback_S(4); +crc_S(1) <= din_S(0) XOR din_S(2) XOR din_S(11) XOR din_S(20) XOR din_S(29) XOR crc_feedback_S(5) + XOR din_S(9) XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); +crc_S(2) <= din_S(0) XOR din_S(3) XOR din_S(12) XOR din_S(21) XOR din_S(30) XOR crc_feedback_S(6) + XOR din_S(9) XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); +crc_S(3) <= din_S(0) XOR din_S(4) XOR din_S(13) XOR din_S(22) XOR din_S(31) XOR crc_feedback_S(7) + XOR din_S(9) XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); +crc_S(4) <= din_S(0) XOR din_S(5) XOR din_S(14) XOR din_S(23) XOR din_S(9) XOR din_S(18) XOR din_S(27) + XOR crc_feedback_S(3); +crc_S(5) <= din_S(0) XOR din_S(6) XOR din_S(15) XOR din_S(24) XOR crc_feedback_S(0) XOR din_S(9) + XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); +crc_S(6) <= din_S(0) XOR din_S(7) XOR din_S(16) XOR din_S(25) XOR crc_feedback_S(1) XOR din_S(9) + XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); +crc_S(7) <= din_S(0) XOR din_S(8) XOR din_S(17) XOR din_S(26) XOR crc_feedback_S(2) XOR din_S(9) + XOR din_S(18) XOR din_S(27) XOR crc_feedback_S(3); + +crc_process : process(clock, reset) +begin + if (rising_edge(clock)) then + if (reset = '1') then + crc_error <= '0'; + start_on_next_S <= '1'; + data_out_valid <= '0'; + data_out_last <= '0'; + crc_aftr1clk_S <= "00000000" ; + else + if (data_in_valid = '1') then + crc_aftr1clk_S <= crc_S; + data_out_valid <= '1'; + if (data_in_last = '1') then + start_on_next_S <= '1'; + data_out_last <= '1'; + data_out(31 downto 8) <= data_in(31 downto 8); + data_out(7 downto 0) <= crc_S; + if crc_S/=data_in(7 downto 0) then + crc_error <= '1'; + else + crc_error <= '0'; + end if; + else + data_out(31 downto 0) <= data_in(31 downto 0); + start_on_next_S <= '0'; + crc_error <= '0'; + data_out_last <= '0'; + end if; + else + crc_error <= '0'; + data_out_valid <= '0'; + data_out_last <= '0'; + end if; + end if; + end if; +end process crc_process; + + +end behaviour; + + + + + + + + + + diff --git a/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/cond_add.vhd b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/cond_add.vhd new file mode 100644 index 0000000..9b33ef6 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/cond_add.vhd @@ -0,0 +1,37 @@ +---------------------------------------- +-- Conditional adder +-- op_a + op_b or only op_a depending on sel +-- +---------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +entity cond_adder is + generic ( + XBITS : natural := 32; + YBITS : natural := 32 + ); + port ( + op_a: in STD_LOGIC_VECTOR (YBITS-1 downto 0); + op_b: in STD_LOGIC_VECTOR (YBITS-1 downto 0); + sel: in STD_LOGIC; + outp: out STD_LOGIC_VECTOR (YBITS-1 downto 0) + ); +end cond_adder; + +architecture simple_arch of cond_adder is + +begin + anAdder: process (sel,op_a,op_b) + begin + if sel = '1' then + outp <= op_a + op_b; + else + outp <= op_a; + end if; + end process; +end simple_arch; + diff --git a/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/div_r4_pipe.vhd b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/div_r4_pipe.vhd new file mode 100644 index 0000000..629e4ac --- /dev/null +++ b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/div_r4_pipe.vhd @@ -0,0 +1,149 @@ +----------------------------------------------------------------------- +---- Pipelined radix 4 Divisor based on Arch2 (half arch) +---- A, and B naturals (non negative integers) with XBITS and YBITS width +---- there is no restriction XBITS >= YBITS. +---- Return quotient Q of XBITS and remainder R of NBITS +---- GRAIN defines the amount of bits computed at each cycle. +---- +---- The circuit captures operands at each cycle +---- The algorithm needs XBITS/GRAIN/DEPTH + 1 cylcles to calculate the quotient +---- and remainder (Latency). Its posible to obtain the result one cycle before. +---- GRAIN = 2 for that radix 4 divider +---- DEPTH (logic depth) every how many basic cell we register. +---- DEPTH = 1 maximun pipeline +---------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; + +entity div_r4_pipe is + generic ( + XBITS : natural := 32; + YBITS : natural := 32; + GRAIN : natural := 2; + DEPTH : natural := 8 + ); + port ( + A: in STD_LOGIC_VECTOR (XBITS-1 downto 0); + B: in STD_LOGIC_VECTOR (YBITS-1 downto 0); + clk: in STD_LOGIC; + Q: out STD_LOGIC_VECTOR (XBITS-1 downto 0); + R: out STD_LOGIC_VECTOR (YBITS-1 downto 0) + ); +end div_r4_pipe; + +architecture simple_arch of div_r4_pipe is + + component cond_adder is + generic ( + XBITS : natural := XBITS; + YBITS : natural := YBITS + ); + port ( + op_a: in STD_LOGIC_VECTOR (YBITS-1 downto 0); + op_b: in STD_LOGIC_VECTOR (YBITS-1 downto 0); + sel: in STD_LOGIC; + outp: out STD_LOGIC_VECTOR (YBITS-1 downto 0) + ); + end component; + + component nr_r4_half_cell is + generic ( + XBITS : natural := XBITS; + YBITS : natural := YBITS + ); + port ( + op_r: in STD_LOGIC_VECTOR (YBITS downto 0); + op_y: in STD_LOGIC_VECTOR (YBITS downto 0); + op_3y: in STD_LOGIC_VECTOR (YBITS+1 downto 0); + x_1: in STD_LOGIC; + x_0: in STD_LOGIC; + n_qneg: out STD_LOGIC_VECTOR (1 downto 0); + new_r: out STD_LOGIC_VECTOR (YBITS downto 0) + ); + end component; + + + type connectionmatrix is array (0 to GRAIN) of STD_LOGIC_VECTOR (YBITS downto 0); + Signal iR, reg_Y_rem: STD_LOGIC_VECTOR (YBITS-1 downto 0); + Signal iQ: STD_LOGIC_VECTOR (XBITS-1 downto 0); + + type matrix_rem is array (0 to XBITS/GRAIN-1) of STD_LOGIC_VECTOR (YBITS downto 0); + signal rem_in, rem_out: matrix_rem := (others => (others => '0')); + type matrix_Y is array (0 to XBITS/GRAIN-1) of STD_LOGIC_VECTOR (YBITS downto 0); + signal reg_Y: matrix_Y := (others => (others => '0')); + type matrix_3Y is array (0 to XBITS/GRAIN-1) of STD_LOGIC_VECTOR (YBITS+1 downto 0); + signal reg_3Y: matrix_3Y := (others => (others => '0')); + type matrix_X is array (0 to XBITS/GRAIN-1) of STD_LOGIC_VECTOR (XBITS-1 downto 0); + signal reg_X: matrix_X := (others => (others => '0')); + type matrix_Q is array (0 to XBITS/GRAIN-1) of STD_LOGIC_VECTOR (XBITS-1 downto 0); + signal reg_Q: matrix_Q := (others => (others => '0')); + +signal rem_no_adj: STD_LOGIC_VECTOR (YBITS downto 0); + +--attribute keep_hierarchy: string; +--attribute keep_hierarchy of low_level_arch: architecture is "yes"; +--attribute IOB: string; +--attribute IOB of low_level_arch: architecture is "FALSE"; + +begin + + FF_0: process (clk) + begin + if CLK'event and CLK='1' then --CLK rising edge + reg_Y(0) <= ('0' & B); + reg_3Y(0) <= ('0' & B) + ('0' & B & '0'); + reg_X(0) <= A; + --Q <= not reg_Q(XBITS/GRAIN-1); --ito obtain the result a cycle before + Q <= iQ; iQ <= not reg_Q(XBITS/GRAIN-1); + rem_no_adj <= rem_out(XBITS/GRAIN-1); + reg_Y_rem <= reg_Y(XBITS/GRAIN-1)(YBITS-1 downto 0); + R <= iR; + end if; + end process; + + + rem_in(0) <= (others => '0'); + + g1: for i in 0 to XBITS/GRAIN -1 generate + cell: nr_r4_half_cell port map( op_r => rem_in(i), + op_y => reg_Y(i), op_3y => reg_3Y(i), + x_1 => reg_X(i)(XBITS-1-i*2), x_0 => reg_X(i)(XBITS-2-i*2), + n_qneg => reg_Q(i)(XBITS-1-i*2 downto XBITS-2-i*2), new_r => rem_out(i) ); + end generate; + + g2: for i in 0 to XBITS/GRAIN-2 generate + g2c: if (i+1) mod DEPTH /= 0 generate + rem_in(i+1) <= rem_out(i); + reg_Y(i+1) <= reg_Y(i); reg_3Y(i+1) <= reg_3Y(i); + reg_X(i+1) <= reg_X(i); + reg_Q(i+1)(XBITS-1 downto XBITS-2-i*2) <= reg_Q(i)(XBITS-1 downto XBITS-2-i*2); + end generate; + g2FF: if (i+1) mod DEPTH = 0 generate + FFs: process(clk) + begin + if CLK'event and CLK='1' then --CLK rising edge + rem_in(i+1) <= rem_out(i); + reg_Y(i+1) <= reg_Y(i); reg_3Y(i+1) <= reg_3Y(i); + reg_X(i+1) <= reg_X(i); + reg_Q(i+1)(XBITS-1 downto XBITS-2-i*2) <= reg_Q(i)(XBITS-1 downto XBITS-2-i*2); + end if; + end process; + end generate; + end generate; + + +-- use this code to obtain the remainder a cycle before +-- final_rem_Adjust: cond_adder port map (op_a => rem_out(XBITS/GRAIN-1)(YBITS-1 downto 0), +-- op_b => reg_Y(XBITS/GRAIN-1)(YBITS-1 downto 0), +-- sel => rem_out(XBITS/GRAIN-1)(YBITS), outp => iR); + + + final_rem_Adjust: cond_adder port map (op_a => rem_no_adj(YBITS-1 downto 0), + op_b => reg_Y_rem(YBITS-1 downto 0), + sel => rem_no_adj(YBITS), outp => iR); + + +end simple_arch; diff --git a/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/implement_32by32.pdf b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/implement_32by32.pdf new file mode 100644 index 0000000000000000000000000000000000000000..9c418f28a1bd25b95cef2bffbbf85a5d684ce69a GIT binary patch literal 14079 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 literal 0 HcmV?d00001 diff --git a/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/mypack.vhd b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/mypack.vhd new file mode 100644 index 0000000..8d69abd --- /dev/null +++ b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/mypack.vhd @@ -0,0 +1,10 @@ +------------------------------------- +-- Defines the dataPath width +-- +------------------------------------- +package mypackage is + constant XBITS :INTEGER := 32; + constant YBITS :INTEGER := 32; + constant GRAIN :INTEGER := 2; --Allways in 2!!!! + constant DEPTH :INTEGER := 1; --Every how much steps register +end mypackage; diff --git a/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/nr_r4_cel.vhd b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/nr_r4_cel.vhd new file mode 100644 index 0000000..f2fdf98 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/div_pipe_r4_arch2/nr_r4_cel.vhd @@ -0,0 +1,61 @@ +-------------------------------------------------------- +-- +-- Basic cell radix 4 arch 2. divider +-------------------------------------------------------- +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.std_logic_arith.all; +use IEEE.std_logic_unsigned.all; +use work.mypackage.all; + +entity nr_r4_half_cell is + generic ( + XBITS : natural := 32; + YBITS : natural := 32 + ); + --generic(pos_x: integer:= 0; pos_y: integer := 0; agroup: string:= "cell_r4"); + port ( + op_r: in STD_LOGIC_VECTOR (YBITS downto 0); + op_y: in STD_LOGIC_VECTOR (YBITS downto 0); + op_3y: in STD_LOGIC_VECTOR (YBITS+1 downto 0); + x_1: in STD_LOGIC; + x_0: in STD_LOGIC; + n_qneg: out STD_LOGIC_VECTOR (1 downto 0); + new_r: out STD_LOGIC_VECTOR (YBITS downto 0) + ); +end nr_r4_half_cell; + +architecture half of nr_r4_half_cell is + signal op_4r: STD_LOGIC_VECTOR (YBITS+1 downto 0); + signal a2_pm_b, a4_pm_b, a4_pm_3b: STD_LOGIC_VECTOR (YBITS+1 downto 0); + signal sr: STD_LOGIC; +begin + sr <= op_r(YBITS); + op_4r <= op_r(YBITS-1 downto 0) & x_1 & x_0; + + a2_pm_b <= (op_r & x_1) + (op_y) when sr = '1' else (sr & op_y) + not (op_r & x_1); + a4_pm_3b <= (op_4r + op_3y) when sr = '1' else (op_4r) - (op_3y); + a4_pm_b <= (op_4r + op_y) when sr = '1' else (op_4r) - (sr & op_y); + + mux_outps: process (a2_pm_b, a4_pm_b, a4_pm_3b) + begin + if a2_pm_b(YBITS)= '1' then + new_r <= a4_pm_3b(YBITS downto 0); + n_qneg(0) <= a4_pm_3b(YBITS); + else + new_r <= a4_pm_b(YBITS downto 0); + n_qneg(0) <= a4_pm_b(YBITS); + end if; + end process; + + mux_nqb: process (sr,a2_pm_b, a4_pm_b, a4_pm_3b) + begin + if sr = '1' then --11 + n_qneg(1) <= a2_pm_b(YBITS); + else + n_qneg(1) <= not a2_pm_b(YBITS); + end if; + + end process; + +end half; diff --git a/FEE_ADC32board/FEE_modules/iirfilter_1order_selectBW.vhd b/FEE_ADC32board/FEE_modules/iirfilter_1order_selectBW.vhd new file mode 100644 index 0000000..1ebc47c --- /dev/null +++ b/FEE_ADC32board/FEE_modules/iirfilter_1order_selectBW.vhd @@ -0,0 +1,90 @@ +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 20-04-2008 +-- Module Name: iirfilter_1order_selectBW +-- Description: First order Infinite respons filter +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + + +------------------------------------------------------------------------------------------------------ +-- iirfilter_1order_selectBW +-- First order Infinite Impulse Response filter with inhibit +-- Description can be found at http://www.beis.de/Elektronik/Filter/AnaDigFilt/AnaDigFilt.html +-- +-- generics +-- ADCBITS : number of ADC bits +-- BWBITS : number of bits for the IIR filter bandwidth +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- data_in : ADC sampling data +-- BWidx : factor for BW; formula BW[Hz]=2^IIRfilterBW/(PI*(2^BWBITS)/samplefrequency) +-- inhibit : freezes filter +-- +-- outputs +-- data_out : filtered output, rounded. Same number of bits as input +-- +------------------------------------------------------------------------------------------------------ + + +entity iirfilter_1order_selectBW is + generic ( + ADCBITS : natural := 16; + BWBITS : natural := 10 + ); + Port ( + clock : in std_logic; + reset : in std_logic; + data_in : in std_logic_vector ((ADCBITS-1) downto 0); + BWidx : in std_logic_vector (2 downto 0); + inhibit : in std_logic; + data_out : out std_logic_vector ((ADCBITS-1) downto 0)); +end iirfilter_1order_selectBW; + +architecture Behavioral of iirfilter_1order_selectBW is +signal data_x_BW : std_logic_vector((ADCBITS+BWBITS-1) downto 0) := (others => '0'); +signal data_out_unscaled_delayed : std_logic_vector((ADCBITS+BWBITS-1) downto 0) := (others => '0'); +signal data_out_multiplied : std_logic_vector((ADCBITS+BWBITS-1) downto 0) := (others => '0'); +signal BWidx_i : integer range 0 to 7 := 0; + +begin + +process(clock) +variable data_out_unscaled : std_logic_vector((ADCBITS+BWBITS-1) downto 0) := (others => '0'); +begin + if rising_edge(clock) then + if reset='1' then + data_out_unscaled_delayed((ADCBITS+BWBITS-1) downto BWBITS) <= data_in; + data_out_unscaled_delayed((BWBITS-1) downto 0) <= (others => '0'); + data_out_multiplied(BWidx_i-1 downto 0) <= (others => '0'); + data_out_multiplied(ADCBITS+BWidx_i-1 downto BWidx_i) <= data_in; + data_x_BW <= (others => '0'); + data_x_BW(ADCBITS+BWidx_i-1 downto BWidx_i) <= data_in; + data_out <= data_in; + else + if inhibit='0' then + data_out_unscaled := data_x_BW + data_out_unscaled_delayed-data_out_multiplied; + + data_out_multiplied <= (others => '0'); + data_out_multiplied(ADCBITS+BWidx_i-1 downto BWidx_i) <= data_out_unscaled((ADCBITS+BWBITS-1) downto BWBITS); + + data_x_BW <= (others => '0'); + data_x_BW(ADCBITS+BWidx_i-1 downto BWidx_i) <= data_in; + + data_out_unscaled_delayed <= data_out_unscaled; + data_out <= data_out_unscaled((ADCBITS+BWBITS-1) downto BWBITS); + end if; + end if; + end if; +end process; + +BWidx_i <= conv_integer(unsigned(BWidx)); + +end Behavioral; + diff --git a/FEE_ADC32board/FEE_modules/posedge_to_pulse.vhd b/FEE_ADC32board/FEE_modules/posedge_to_pulse.vhd new file mode 100644 index 0000000..ee1437f --- /dev/null +++ b/FEE_ADC32board/FEE_modules/posedge_to_pulse.vhd @@ -0,0 +1,72 @@ +----------------------------------------------------------------------------------- +-- posedge_to_pulse +-- Makes pulse with duration 1 clock-cycle from positive edge +-- +-- inputs +-- clock_in : clock input for input signal +-- clock_out : clock input to synchronize to +-- en_clk : clock enable +-- signal_in : rising edge of this signal will result in pulse +-- +-- output +-- pulse : pulse output : one clock cycle '1' +-- +----------------------------------------------------------------------------------- + +library IEEE; +use IEEE.STD_LOGIC_1164.all; +use IEEE.STD_LOGIC_ARITH.all; +use IEEE.STD_LOGIC_UNSIGNED.all; + +entity posedge_to_pulse is + port ( + clock_in : in std_logic; + clock_out : in std_logic; + en_clk : in std_logic; + signal_in : in std_logic; + pulse : out std_logic + ); +end posedge_to_pulse; + +architecture behavioral of posedge_to_pulse is + + signal resetff : std_logic := '0'; + signal last_signal_in : std_logic := '0'; + signal qff : std_logic := '0'; + signal qff1 : std_logic := '0'; + signal qff2 : std_logic := '0'; + signal qff3 : std_logic := '0'; +begin + +process (clock_in) +begin + if rising_edge(clock_in) then + if resetff='1' then + qff <= '0'; + elsif (en_clk='1') and ((signal_in='1') and (qff='0') and (last_signal_in='0')) then + qff <= '1'; + else + qff <= qff; + end if; + last_signal_in <= signal_in; + end if; +end process; +resetff <= qff2; + +process (clock_out) +begin + if rising_edge(clock_out) then + if qff3='0' and qff2='1' then + pulse <= '1'; + else + pulse <= '0'; + end if; + qff3 <= qff2; + qff2 <= qff1; + qff1 <= qff; + end if; +end process; + + +end behavioral; + diff --git a/FEE_ADC32board/FEE_modules/shift_register.vhd b/FEE_ADC32board/FEE_modules/shift_register.vhd new file mode 100644 index 0000000..8b99229 --- /dev/null +++ b/FEE_ADC32board/FEE_modules/shift_register.vhd @@ -0,0 +1,88 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 22-02-2009 +-- Module Name: shift_register +-- Description: Shifts data for an adjustable number of clock cycles +---------------------------------------------------------------------------------- + +LIBRARY ieee; +USE ieee.std_logic_1164.all; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +------------------------------------------------------------------------------------------------------ +-- shift_register +-- Shifts data for an adjustable number of clock cycles +-- +-- generics +-- width : number of bits for the data to shift +-- depthbits : number of bits for the number of clock cycles to shift +-- +-- inputs +-- clock : ADC sampling clock +-- reset : synchrounous reset +-- hold : hold all values +-- data_in : data to shift +-- depth : number of clock cycles to shift for +-- +-- outputs +-- data_out : shifted data +-- +------------------------------------------------------------------------------------------------------ + +LIBRARY ieee; +USE ieee.std_logic_1164.all; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +entity shift_register is + generic ( + width : natural := 16; + depthbits : natural := 9 + ); + port ( + clock : in std_logic; + reset : in std_logic; + hold : in std_logic; + data_in : in std_logic_vector((width-1) downto 0); + depth : in std_logic_vector((depthbits-1) downto 0); + data_out : out std_logic_vector((width-1) downto 0)); +end shift_register; + +architecture behavior of shift_register is + +type arrtype is array((2**depthbits-1) downto 0) of std_logic_vector((width-1) downto 0); +signal mem : arrtype; -- := (others => (others => '0')); +signal outptr : std_logic_vector((depthbits-1) downto 0) := (others => '0'); +signal mem_out : std_logic_vector((width-1) downto 0) := (others => '0'); +signal lastreset : std_logic := '0'; + +attribute syn_ramstyle : string; +attribute syn_ramstyle of mem : signal is "block_ram"; + +begin + +data_out <= mem_out; +process (clock) +begin + if rising_edge(clock) then + if hold='0' then + mem(conv_integer(unsigned(outptr + depth))) <= data_in; + if reset = '1' then + mem_out <= (others => '0'); + if lastreset='0' then + outptr <= (others => '0'); + else + outptr <= outptr+1; + end if; + else + mem_out <= mem(conv_integer(unsigned(outptr))); + outptr <= outptr+1; + end if; + lastreset <= reset; + end if; + end if; +end process; + +end behavior; diff --git a/FEE_ADC32board/modules/ADCrefdesign/AdcClock.vhd b/FEE_ADC32board/modules/ADCrefdesign/AdcClock.vhd new file mode 100644 index 0000000..1a22311 --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/AdcClock.vhd @@ -0,0 +1,523 @@ +----------------------------------------------------------------------------------------------- +-- © Copyright 2007 - 2009, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +----------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version: +-- \ \ Filename: AdcClock.vhd +-- / / Date Last Modified: 16 Jun 09 +-- /___/ /\ Date Created: 08/06/06 +-- \ \ / \ +-- \___\/\___\ +-- +-- Device: Virtex-6 +-- Author: Marc Defossez +-- Entity Name: AdcClock +-- Purpose: High-speed local clock control for an interface between a FPGA and a +-- Texas Instruments ADC. +-- Tools: ISE - XST +-- Limitations: none +-- +-- Revision History: +-- Rev. +-- +----------------------------------------------------------------------------------------------- +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +----------------------------------------------------------------------------------------------- +-- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; + use IEEE.std_logic_arith.all; +library UNISIM; + use UNISIM.VCOMPONENTS.all; +----------------------------------------------------------------------------------------------- +-- Entity pin description +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +entity AdcClock is + generic ( + C_BufioLoc : string := "BUFIODQS_X0Y12"; + C_BufrLoc : string := "BUFR_X0Y6"; + C_AdcBits : integer := 16; + C_StatTaps : integer := 16 + ); + port ( + BitClk : in std_logic; + BitClkRst : in std_logic; + BitClkEna : in std_logic; + BitClkReSync : in std_logic; + BitClkDivReset : in std_logic; + BitClk_MonClkOut : out std_logic; -- CLK output + BitClk_MonClkIn : in std_logic; -- ISERDES.CLK input + BitClk_RefClkOut : out std_logic; -- CLKDIV & logic output + BitClk_RefClkIn : in std_logic; -- CLKDIV & logic input + BitClkAlignWarn : out std_logic; + BitClkInvrtd : out std_logic; + BitClkDone : out std_logic + ); +end AdcClock; +----------------------------------------------------------------------------------------------- +-- Arcitecture section +----------------------------------------------------------------------------------------------- +architecture AdcClock_struct of AdcClock is +----------------------------------------------------------------------------------------------- +-- Component Instantiation +----------------------------------------------------------------------------------------------- +-- Components are instantiated by means / through the use of library references. +----------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +----------------------------------------------------------------------------------------------- +-- Constants +constant Low : std_logic := '0'; +constant LowNibble : std_logic_vector(4 downto 0) := "00000"; +constant High : std_logic := '1'; +-- Signals +signal IntBitClkRst : std_logic; +---------- ISRDS signals ------------------ +signal IntClkCtrlDlyCe : std_logic; +signal IntClkCtrlDlyInc : std_logic; +signal IntClkCtrlDlyRst : std_logic; + +signal IntBitClk_Ddly : std_logic; +signal IntBitClk : std_logic; +signal IntClkCtrlIsrdsMtoS1 : std_logic; +signal IntClkCtrlIsrdsMtoS2 : std_logic; +signal IntClkCtrlOut : std_logic_vector(7 downto 0); +---------- Controller signals ------------- +signal IntCal : std_logic; +signal IntVal : std_logic; +signal IntCalVal : std_logic_vector (1 downto 0); +signal IntProceedCnt : std_logic_vector (2 downto 0); +signal IntproceedCntTc : std_logic; +signal IntproceedCntTc_d : std_logic; +signal IntProceed : std_logic; +signal IntProceedDone : std_logic; + +type StateType is (Idle, A, B, C, D, E, F, G, G1, H, K, K1, K2, IdlyIncDec, Done); +signal State : StateType; +signal ReturnState : StateType; + +signal PassedSubState : std_logic; +signal IntNumIncDecIdly : std_logic_vector (3 downto 0); +signal IntAction : std_logic_vector (1 downto 0); +signal IntClkCtrlDone : std_logic; +signal IntClkCtrlAlgnWrn : std_logic; +signal IntClkCtrlInvrtd : std_logic; +signal IntTurnAroundBit : std_logic; +signal IntCalValReg : std_logic_vector (1 downto 0); +signal IntTimeOutCnt : std_logic_vector (3 downto 0); +signal IntStepCnt : std_logic_vector (3 downto 0); +-- Attributes +attribute LOC : string; + attribute LOC of AdcClock_I_Bufio : label is C_BufioLoc; +-- The BUFR is generated through a generate statement and therefore the LOC attribute +-- must be place into the generate statement. +-- See the BUFR generation down in the source code. +----------------------------------------------------------------------------------------------- +signal reset_clockdiv_S : std_logic; + + +begin +----------------------------------------------------------------------------------------------- +-- Bit clock capture ISERDES Master-Slave combination +----------------------------------------------------------------------------------------------- +-- +AdcClock_I_Iodly : IODELAYE1 + generic map ( + SIGNAL_PATTERN => "CLOCK", + REFCLK_FREQUENCY => 200.0, + HIGH_PERFORMANCE_MODE => TRUE, + DELAY_SRC => "I", + CINVCTRL_SEL => FALSE, + IDELAY_TYPE => "VARIABLE", + IDELAY_VALUE => C_StatTaps, + ODELAY_TYPE => "FIXED", + ODELAY_VALUE => 0 + ) + port map ( + DATAIN => Low, -- in input from FPGA fabric + IDATAIN => BitClk, -- in input from IOB + ODATAIN => Low, -- in input from I/O SERDES + CLKIN => Low, -- in input from BUFIO. BUFG, or BUFR + CE => IntClkCtrlDlyCe, -- in + INC => IntClkCtrlDlyInc, -- in + C => BitClk_RefClkIn, -- in + RST => IntClkCtrlDlyRst, -- in + T => Low, -- in + DATAOUT => IntBitClk_Ddly, -- out Delayed data + CINVCTRL => Low, -- in + CNTVALUEIN => LowNibble, -- in [4:0] + CNTVALUEOUT => open -- out [4:0] + ); +IntClkCtrlDlyRst <= BitClkRst; +-- +AdcClock_I_Isrds_Master : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING",-- + IOBDELAY => "IBUF", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => 8, -- + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => BitClk, -- in Clock from clock input IBUFDS + DDLY => IntBitClk_Ddly, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => Low, -- in !!!!! + CE1 => BitClkEna, -- in + CE2 => Low, -- in + RST => IntBitClkRst, -- in + CLK => BitClk_MonClkIn, -- in Clock from BUFIO.O = BitClk + CLKB => Low, -- in + CLKDIV => BitClk_RefClkIn, -- in Clock from BUFR.O = BitClkDiv + OCLK => Low, -- in + SHIFTOUT1 => IntClkCtrlIsrdsMtoS1,-- out + SHIFTOUT2 => IntClkCtrlIsrdsMtoS2,-- out + O => IntBitClk, -- out Clock to BUFIO.I + Q1 => IntClkCtrlOut(0), -- out + Q2 => IntClkCtrlOut(1), -- out + Q3 => IntClkCtrlOut(2), -- out + Q4 => IntClkCtrlOut(3), -- out + Q5 => IntClkCtrlOut(4), -- out + Q6 => IntClkCtrlOut(5), -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +-- +AdcClock_I_Isrds_Slave : ISERDESE1 + generic map ( + SERDES_MODE => "SLAVE", -- + INTERFACE_TYPE => "NETWORKING",-- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => 8, -- + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => Low, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => Low, -- in !!!!! + CE1 => BitClkEna, -- in + CE2 => Low, -- in + RST => IntBitClkRst, -- in + CLK => BitClk_MonClkIn, -- in + CLKB => Low, -- in + CLKDIV => BitClk_RefClkIn, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => open, -- out + Q2 => open, -- out + Q3 => IntClkCtrlOut(6), -- out + Q4 => IntClkCtrlOut(7), -- out + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => IntClkCtrlIsrdsMtoS1,-- in + SHIFTIN2 => IntClkCtrlIsrdsMtoS2 -- in + ); +-- Input from ISERDES.O -- Output and CLK for all ISERDES +AdcClock_I_Bufio : BUFIO + port map (I => IntBitClk, O => BitClk_MonClkOut); +-- +Gen_Bufr_Div_3 : if (C_AdcBits = 12) generate + attribute LOC of AdcClock_I_Bufr : label is C_BufrLoc; +begin + AdcClock_I_Bufr : BUFR + generic map (BUFR_DIVIDE => "3", SIM_DEVICE => "VIRTEX6") -- 12-bit = DIV by 3 +-- ISERDES.CLK, from BUFIO.O -- ISERDES.CLKDIV, word clock for all ISERDES. + port map (I => IntBitClk, O => BitClk_RefClkOut, + CE => High, CLR => BitClkDivReset); +end generate; +-- +Gen_Bufr_Div_4 : if (C_AdcBits /= 12) generate + attribute LOC of AdcClock_I_Bufr : label is C_BufrLoc; +begin + AdcClock_I_Bufr : BUFR + generic map (BUFR_DIVIDE => "4", SIM_DEVICE => "VIRTEX6") -- 14- and 16-bit = DIV by 4 +-- ISERDES.CLK, from BUFIO.O -- ISERDES.CLKDIV, word clock for all ISERDES. + port map (I => IntBitClk, O => BitClk_RefClkOut, + CE => High, CLR => BitClkDivReset); +end generate; + + +----------------------------------------------------------------------------------------------- +-- Bit clock re-synchronizer +----------------------------------------------------------------------------------------------- +IntBitClkRst <= BitClkRst or BitClkReSync; +----------------------------------------------------------------------------------------------- +-- Bit clock controller for clock alignment input. +----------------------------------------------------------------------------------------------- +-- This input section makes sure 64 bits are captured before action is taken to pass to +-- the statemachine for evaluation. +-- 8 samples of the Bit Clock are taken by the ISERDES and then transferred to the parallel +-- FPGA world. The Proceed counter needs 8 reference clock rising edges before terminal count. +-- The Proceed counter terminal count then loads the 2 control bits (made from sampled clock) +-- into an intermediate register (IntCalVal). +-- +-- IntCal = '1' when all outputs of the ISERDES are '1 else it's '0'. +-- IntVal = '1' when all outputs are '0' or '1'. +-- +IntCal <= IntClkCtrlOut(7) and IntClkCtrlOut(6) and IntClkCtrlOut(5) and + IntClkCtrlOut(4) and IntClkCtrlOut(3) and IntClkCtrlOut(2) and + IntClkCtrlOut(1) and IntClkCtrlOut(0); +IntVal <= '1' when (IntClkCtrlOut = "11111111" or IntClkCtrlOut = "00000000") else '0'; +-- +AdcClock_Proceed_PROCESS : process (BitClkEna, IntBitClkRst, BitClk_RefClkIn, IntProceedDone, IntClkCtrlDone) +begin + if (IntBitClkRst = '1') then + IntProceedCnt <= (others => '0'); + IntProceedCntTc_d <= '0'; + IntCalVal <= (others => '0'); + IntProceed <= '0'; + elsif (BitClk_RefClkIn'event and BitClk_RefClkIn = '1') then + if (BitClkEna = '1' and IntClkCtrlDone = '0') then + IntProceedCnt <= IntProceedCnt + 1; + IntProceedCntTc_d <= IntProceedCntTc; + if (IntProceedCntTc_d = '1') then + IntCalVal <= IntCal & IntVal; + end if; + if (IntProceedCntTc_d = '1') then + IntProceed <= '1'; + elsif (IntProceedDone = '1') then + IntProceed <= '0'; + end if; + end if; + end if; +end process; +IntProceedCntTc <= '1' when (IntProceedCnt = "110") else '0'; +----------------------------------------------------------------------------------------------- +-- Bit clock controller for clock alignment state machine. +----------------------------------------------------------------------------------------------- +BitClkAlignWarn <= IntClkCtrlAlgnWrn; +BitClkInvrtd <= IntClkCtrlInvrtd; +BitClkDone <= IntClkCtrlDone; + +AdcClock_State_PROCESS : process (BitClk_RefClkIn, IntBitClkRst, BitClkEna, IntProceed, IntCalVal) +subtype ActCalVal is std_logic_vector (4 downto 0); +begin + if (IntBitClkRst = '1') then + State <= Idle; + ReturnState <= Idle; + PassedSubState <= '0'; + -- + IntNumIncDecIdly <= "0000"; -- Max. 16 + IntAction <= "00"; + IntClkCtrlDlyInc <= '1'; + IntClkCtrlDlyCe <= '0'; + IntClkCtrlDone <= '0'; + IntClkCtrlAlgnWrn <= '0'; + IntClkCtrlInvrtd <= '0'; + IntTurnAroundBit <= '0'; + IntProceedDone <= '0'; + IntClkCtrlDone <= '0'; + IntCalValReg <= (others => '0'); -- 2-bit + IntTimeOutCnt <= (others => '0'); -- 4-bit + IntStepCnt <= (others => '0'); -- 4-bit (16) + elsif (BitClk_RefClkIn'event and BitClk_RefClkIn = '1') then + if (BitClkEna = '1' and IntClkCtrlDone = '0') then + case State is + when Idle => + IntProceedDone <= '0'; + PassedSubState <= '0'; + case ActCalVal'(IntAction(1 downto 0) & IntCalVal (1 downto 0) & IntProceed) is + when "00001" => State <= A; + when "01001" => State <= B; + when "10001" => State <= B; + when "11001" => State <= B; + when "01111" => State <= C; + when "01101" => State <= D; + when "01011" => State <= D; + when "00011" => State <= E; + when "00101" => State <= E; + when "00111" => State <= E; + when "10011" => State <= F; + when "11011" => State <= F; + when "10101" => State <= F; + when "11101" => State <= F; + when "10111" => State <= F; + when "11111" => State <= F; + when others => State <= Idle; + end case; + when A => -- First time and sampling in jitter or cross area. + IntAction <= "01"; -- Set the action bits and go to next step. + State <= B; + when B => -- Input is samples in jitter or clock cross area. + if (PassedSubState = '1') then + PassedSubState <= '0'; -- Clear the pass through the substate bit. + IntProceedDone <= '1'; -- Reset the proceed bit. + State <= Idle; -- Return for a new sample of the input. + elsif (IntTimeOutCnt = "1111") then -- When arriving here something is wrong. + IntTimeOutCnt <= "0000"; -- Reset the counter. + IntAction <= "00"; -- reset the action bits. + IntClkCtrlAlgnWrn <= '1'; -- Raise a FLAG. + IntProceedDone <= '1'; -- Reset the proceed bit. + State <= Idle; -- Retry, return for new sample of input. + else + IntTimeOutCnt <= IntTimeOutCnt + 1; + IntNumIncDecIdly <= "0010"; -- Number increments or decrements to do. + ReturnState <= State; -- This state is the state to return too. + IntProceedDone <= '1'; -- Reset the proceed bit. + IntClkCtrlDlyInc <= '1'; -- Set for increment. + State <= IdlyIncDec; -- Jump to Increment/decrement sub-state. + end if; + when C => -- After first sample, jitter or cross, is now high. + IntNumIncDecIdly <= "0010"; -- Number increments or decrements to do. + ReturnState <= Done; -- This state is the state to return too. + IntClkCtrlDlyInc <= '0'; -- Set for decrement. + State <= IdlyIncDec; + when D => -- Same as C but with indication of 180-deg shift. + IntClkCtrlInvrtd <= '1'; + State <= C; + when E => -- First saple with valid data. + IntCalValReg <= IntCalVal; -- Register the sampled value + IntAction <= "10"; + IntProceedDone <= '1'; -- Reset the proceed bit. + IntNumIncDecIdly <= "0001"; -- Number increments or decrements to do. + ReturnState <= Idle; -- When increment is done return sampling. + IntClkCtrlDlyInc <= '1'; -- Set for increment + State <= IdlyIncDec; -- Jump to Increment/decrement sub-state. + when F => -- Next samples with valid data. + if (IntCalVal /= IntCalValReg) then + State <= G; -- The new CalVal value is different from the first. + else + if (IntStepCnt = "1111") then -- Step counter at the end, 15 + if (IntTurnAroundBit = '0') then + State <= H; -- No edge found and first time here. + elsif (IntCalValReg = "11") then + State <= K; -- A turnaround already happend. + else -- No edge is found (large 1/2 period). + State <= K1; -- Move the clock edge to near the correct + end if; -- edge. + else + IntStepCnt <= IntStepCnt + 1; + IntNumIncDecIdly <= "0001"; -- Number increments or decrements to do. + IntProceedDone <= '1'; -- Reset the proceed bit. + ReturnState <= Idle; -- When increment is done return sampling. + IntClkCtrlDlyInc <= '1'; -- Set for increment + State <= IdlyIncDec; -- Jump to Increment/decrement sub-state. + end if; + end if; + when G => + if (IntCalValReg /= "01") then + IntClkCtrlInvrtd <= '1'; + State <= G1; + else + State <= G1; + end if; + when G1 => + if (IntTimeOutCnt = "00") then + State <= Done; + else + IntNumIncDecIdly <= "0010"; -- Number increments or decrements to do. + ReturnState <= Done; -- After decrement it's finished. + IntClkCtrlDlyInc <= '0'; -- Set for decrement + State <= IdlyIncDec; -- Jump to the Increment/decrement sub-state. + end if; + when H => + IntTurnAroundBit <= '1'; -- Indicate that the Idelay jumps to 0. + IntStepCnt <= IntStepCnt + 1; -- Set all registers to zero. + IntAction <= "00"; -- Take one step, let the counter flow over + IntCalValReg <= "00"; -- The idelay turn over to 0. + IntTimeOutCnt <= "0000"; -- Start sampling from scratch. + IntNumIncDecIdly <= "0001"; -- Number increments or decrements to do. + IntProceedDone <= '1'; -- Reset the proceed bit. + ReturnState <= Idle; -- After increment go sampling for new. + IntClkCtrlDlyInc <= '1'; -- Set for increment. + State <= IdlyIncDec; -- Jump to the Increment/decrement sub-state. + when K => + IntNumIncDecIdly <= "1111"; -- Number increments or decrements to do. + ReturnState <= K2; -- After increment it is done. + IntClkCtrlDlyInc <= '1'; -- Set for increment. + State <= IdlyIncDec; -- Jump to the Increment/decrement sub-state. + when K1 => + IntNumIncDecIdly <= "1110"; -- Number increments or decrements to do. + ReturnState <= K2; -- After increment it is done. + IntClkCtrlDlyInc <= '1'; -- Set for increment. + State <= IdlyIncDec; -- Jump to the Increment/decrement sub-state. + when K2 => + IntNumIncDecIdly <= "0001"; -- Number increments or decrements to do. + ReturnState <= Done; -- After increment it is done. + IntClkCtrlDlyInc <= '1'; -- Set for increment. + State <= IdlyIncDec; -- Jump to the Increment/decrement sub-state. + -- + when IdlyIncDec => -- Increment or decrement by enable. + if (IntNumIncDecIdly /= "0000") then -- Check number of tap jumps + IntNumIncDecIdly <= IntNumIncDecIdly - 1; -- If not 0 jump and decrement. + IntClkCtrlDlyCe <= '1'; -- Do the jump. enable it. + else + IntClkCtrlDlyCe <= '0'; -- when it is enabled, disbale it + PassedSubState <= '1'; -- Set a check bit "I've been here and passed". + State <= ReturnState; -- Return to origin. + end if; + when Done => -- Alignment done. + IntClkCtrlDone <= '1'; -- Alignment is done. + end case; + end if; + end if; +end process; +-- +------------------------------------------------------------------------------------------------ +end AdcClock_struct; \ No newline at end of file diff --git a/FEE_ADC32board/modules/ADCrefdesign/AdcData.vhd b/FEE_ADC32board/modules/ADCrefdesign/AdcData.vhd new file mode 100644 index 0000000..79072ed --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/AdcData.vhd @@ -0,0 +1,775 @@ +----------------------------------------------------------------------------------------------- +-- © Copyright 2007 - 2011, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +----------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version: +-- \ \ Filename: AdcData.vhd +-- / / Date Last Modified: 15 Feb 2011 +-- /___/ /\ Date Created: 18 Dec 2007 +-- \ \ / \ +-- \___\/\___\ +-- +-- Device: Virtex-6 +-- Author: Marc Defossez +-- Entity Name: AdcData +-- Purpose: 2-channel ADC data receiver interface. +-- The output of this module is alwasy fprmatted in 32-bit. +-- When the interface is for a 12-bit ADC then the output is formatted as: +-- 32 ---------- 16 , 15 ----------- 0 +-- 0000 & (12-bit) , 0000 & (12-bit) +-- When the interface is for 14-bit or 16-bit the the ouput is formatted as: +-- 32 ---------- 16 , 15 ----------- 0 +-- ( 16-bit ) , ( 16-bit ) +-- In 1-wire mode the 32-bit output shows two channels +-- In 2-wire mode the 32-bit output shows two words of the same channel. +-- +-- Tools: ISE_11.2.xx +-- Limitations: none +-- +-- Revision History: +-- Rev 21 Jun 09 +-- Adaption to Virtex-6 +-- Rev 20 Oct 09 +-- Removal of the input buffers. +-- FPGA is placed in a different hierarchical level for easyness of portability. +-- Rev 28 Oct 09 +-- Removal of two mode options. +-- C_AdcBytOrBitMode and C_AdcMsbOrLsbFst are now coded as default BYTE MODE and MSB FIRST +-- This can still be changed by making the generics again available at higher HDL levels. +-- Rev 09 Dec 2010 +-- Made sure the output of the interface is always FFs with enable. +-- Therefore instantiated the FFs in staid of using plain VHDL descriptions. +-- Rev 15 Feb 2011 +-- Review of implementation of the AdcData hierarchical level. +-- +----------------------------------------------------------------------------------------------- +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +----------------------------------------------------------------------------------------------- +-- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; +library UNISIM; + use UNISIM.VCOMPONENTS.all; +----------------------------------------------------------------------------------------------- +-- Entity pin description +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +entity AdcData is + generic ( + C_AdcBits : integer := 16; -- Can be 12, 14 or 16 + C_AdcBytOrBitMode : integer := 0; -- 1 = BIT mode, 0 = BYTE mode, + C_AdcMsbOrLsbFst : integer := 0; -- 0 = MSB first, 1 = LSB first + C_AdcWireInt : integer := 1 -- 1 = 1-wire, 2 = 2-wire. + ); + port ( + DatD0_n : in std_logic; + DatD0_p : in std_logic; + DatD1_n : in std_logic; + DatD1_p : in std_logic; + DatClk : in std_logic; + DatClkDiv : in std_logic; + DatRst : in std_logic; + DatEna : in std_logic; + DatDone : in std_logic; + DatBitSlip_p : in std_logic; + DatBitSlip_n : in std_logic; + DatSwapMux : in std_logic; + DatMsbRegEna : in std_logic; + DatLsbRegEna : in std_logic; + DatReSync : in std_logic; + DatOut : out std_logic_vector(31 downto 0) + ); +end AdcData; +----------------------------------------------------------------------------------------------- +-- Arcitecture section +----------------------------------------------------------------------------------------------- +architecture AdcData_struct of AdcData is +----------------------------------------------------------------------------------------------- +-- Component Instantiation +----------------------------------------------------------------------------------------------- +-- Components are instantiated through library naming. +----------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +----------------------------------------------------------------------------------------------- +-- Functions +-- In two wire mode a 12 bit ADC has 2 channels of 6 bits. The AdcBits stay at 12. +-- In two wire mode a 14 bit ADC has 2 channels of 8 bits. The AdcBits is set at 16. +-- In two wire mode a 16 bit ADC has 2 channels of 8 bits. The AdcBits stay at 16. +function DatBits (Bits : integer) return integer is +variable Temp : integer; +begin + if (Bits = 12) then + Temp := 12; + elsif (Bits = 14) then + Temp := 16; + elsif (Bits = 16) then + Temp := 16; + end if; +return Temp; +end function DatBits; +-- Constants +constant IntIsrdsDataWidth : integer := DatBits(C_AdcBits)/4; +constant Low : std_logic := '0'; +constant High : std_logic := '1'; +-- Signals +signal IntDatClk : std_logic; +signal IntDatClk_n : std_logic; +-- +-- ADC resolution = 12-bit: IntDatSrds0Out(5 downto 0) and IntDatSrds1Out(5 downto 0) +-- ADC resolution = 14-bit or 16-bit: IntDatSrds0Out(7 downto 0) and IntDatSrds1Out(7 downto 0) +signal IntDatSrds0Out : std_logic_vector(7 downto 0); +signal IntDatSrds1Out : std_logic_vector(7 downto 0); +signal IntDatSrds0 : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDatSrds1 : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat0 : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat1 : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat0Mux : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat1Mux : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat0Swp : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDat1Swp : std_logic_vector((DatBits(C_AdcBits)/2)-1 downto 0); +signal IntDatSwpBus : std_logic_vector(31 downto 0); +signal IntDatDone : std_logic; +signal IntDatEna : std_logic; +-- Attributes +----------------------------------------------------------------------------------------------- +begin +-- +-- DatRst en DatEna are synchronised to DatClkDiv on a higher hierarchical level. +-- the higher level is "AdcToplevel". +AdcData_Done_PROCESS : process (DatClkDiv, DatRst) +begin + if (DatRst = High) then + IntDatDone <= Low; + elsif (DatClkDiv'event and DatClkDiv = '1') then + IntDatDone <= DatDone; + end if; +end process; +-- "IntDatDone" enables the ISERDES. +-- "IntDatEna" is the enable for the logic behind the ISERDES. +-- +IntDatEna <= High when (IntDatDone = High and DatEna = High) else Low; +----------------------------------------------------------------------------------------------- +IntDatClk <= DatClk; -- CLOCK FOR P-side ISERDES +IntDatClk_n <= not DatClk; -- CLOCK FOR N_side ISERDES +----------------------------------------------------------------------------------------------- +-- ISERDES for channel ZERO +----------------------------------------------------------------------------------------------- +AdcData_I_Isrds_D0_p : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- <-- Number of bits + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => DatD0_p, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => DatBitSlip_p,-- in + CE1 => IntDatDone, -- in + CE2 => Low, -- in + RST => DatRst, -- in + CLK => IntDatClk, -- in + CLKB => Low, -- in + CLKDIV => DatClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => IntDatSrds0Out(6), -- out (0) + Q2 => IntDatSrds0Out(4), -- out (2) + Q3 => IntDatSrds0Out(2), -- out (4) + Q4 => IntDatSrds0Out(0), -- out (6) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +AdcData_I_Isrds_D0_n : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- <-- Number of bits + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => DatD0_n, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => DatBitSlip_n,-- in + CE1 => IntDatDone, -- in + CE2 => Low, -- in + RST => DatRst, -- in + CLK => IntDatClk_n, -- in + CLKB => Low, -- in + CLKDIV => DatClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => IntDatSrds0Out(7), -- out (1) + Q2 => IntDatSrds0Out(5), -- out (3) + Q3 => IntDatSrds0Out(3), -- out (5) + Q4 => IntDatSrds0Out(1), -- out (7) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +----------------------------------------------------------------------------------------------- +-- ISERDES for channel ONE +----------------------------------------------------------------------------------------------- +AdcData_I_Isrds_D1_p : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- <-- Number of bits + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => DatD1_p, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => DatBitSlip_p,-- in + CE1 => IntDatDone, -- in + CE2 => Low, -- in + RST => DatRst, -- in + CLK => IntDatClk, -- in + CLKB => Low, -- in + CLKDIV => DatClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => IntDatSrds1Out(6), -- out (0) + Q2 => IntDatSrds1Out(4), -- out (2) + Q3 => IntDatSrds1Out(2), -- out (4) + Q4 => IntDatSrds1Out(0), -- out (6) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +AdcData_I_Isrds_D1_n : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- <-- Number of bits + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => DatD1_n, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => DatBitSlip_n,-- in + CE1 => IntDatDone, -- in + CE2 => Low, -- in + RST => DatRst, -- in + CLK => IntDatClk_n, -- in + CLKB => Low, -- in + CLKDIV => DatClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => IntDatSrds1Out(7), -- out (1) + Q2 => IntDatSrds1Out(5), -- out (3) + Q3 => IntDatSrds1Out(3), -- out (5) + Q4 => IntDatSrds1Out(1), -- out (7) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +----------------------------------------------------------------------------------------------- +Gen_1_DatBus : if (DatBits(C_AdcBits)/2) = 6 generate +begin + IntDatSrds0 <= not IntDatSrds0Out(5) & IntDatSrds0Out(4) & + not IntDatSrds0Out(3) & IntDatSrds0Out(2) & + not IntDatSrds0Out(1) & IntDatSrds0Out(0); + IntDatSrds1 <= not IntDatSrds1Out(5) & IntDatSrds1Out(4) & + not IntDatSrds1Out(3) & IntDatSrds1Out(2) & + not IntDatSrds1Out(1) & IntDatSrds1Out(0); +end generate; +Gen_2_DatBus : if (DatBits(C_AdcBits)/2) = 8 generate +begin + IntDatSrds0 <= not IntDatSrds0Out(7) & IntDatSrds0Out(6) & + not IntDatSrds0Out(5) & IntDatSrds0Out(4) & + not IntDatSrds0Out(3) & IntDatSrds0Out(2) & + not IntDatSrds0Out(1) & IntDatSrds0Out(0); + IntDatSrds1 <= not IntDatSrds1Out(7) & IntDatSrds1Out(6) & + not IntDatSrds1Out(5) & IntDatSrds1Out(4) & + not IntDatSrds1Out(3) & IntDatSrds1Out(2) & + not IntDatSrds1Out(1) & IntDatSrds1Out(0); +end generate; +----------------------------------------------------------------------------------------------- +-- DATA REGISTER +----------------------------------------------------------------------------------------------- +Gen_1_DatReg : for n in (DatBits(C_AdcBits)/2)-1 downto 0 generate + AdcData_I_Fdce_Reg0 : FDCE + generic map (INIT => '0') -- bit + port map (D => IntDatSrds0(n), C => DatClkDiv, CE => IntDatEna, CLR => DatReSync, + Q => IntDat0(n)); + AdcData_I_Fdce_Reg1 : FDCE + generic map (INIT => '0') -- bit + port map (D => IntDatSrds1(n), C => DatClkDiv, CE => IntDatEna, CLR => DatReSync, + Q => IntDat1(n)); +end generate Gen_1_DatReg; +----------------------------------------------------------------------------------------------- +-- BIT SWAP MULTIPLEXER and REGISTER +-- Swap the bits in correct order when the pattern detected is bit swapped. +----------------------------------------------------------------------------------------------- +Gen_2_DatMux : for n in (DatBits(C_AdcBits)/4)-1 downto 0 generate +begin + IntDat0Mux((n*2)+1) <= IntDat0(n*2) when (DatSwapMux = '1') else IntDat0((n*2)+1); + IntDat0Mux(n*2) <= IntDat0((n*2)+1) when (DatSwapMux = '1') else IntDat0(n*2); + IntDat1Mux((n*2)+1) <= IntDat1(n*2) when (DatSwapMux = '1') else IntDat1((n*2)+1); + IntDat1Mux(n*2) <= IntDat1((n*2)+1) when (DatSwapMux = '1') else IntDat1(n*2); +end generate Gen_2_DatMux; +Gen_3_DatReg : for n in (DatBits(C_AdcBits)/2)-1 downto 0 generate + AdcData_I_Fdce_Reg2 : FDCE + generic map (INIT => '0') -- bit + port map (D => IntDat0Mux(n), C => DatClkDiv, CE => IntDatEna, CLR => DatReSync, + Q => IntDat0Swp(n)); + AdcData_I_Fdce_Reg3 : FDCE + generic map (INIT => '0') -- bit + port map (D => IntDat1Mux(n), C => DatClkDiv, CE => IntDatEna, CLR => DatReSync, + Q => IntDat1Swp(n)); +end generate Gen_3_DatReg; +----------------------------------------------------------------------------------------------- +-- 1-WIRE, 12x SERIALIZATION for 12-bit ADCs +-- The data from one ADC will show up in the output of one interface channel. It is so that the +-- 32-bit output of the interface shows both channels. Bits 31:16 show the upper channel and +-- bits 15:0 show the lower channel. +----------------------------------------------------------------------------------------------- +Gen_1w_12b : if (C_AdcBits = 12 and C_AdcWireInt = 1) generate + -- 1-wire mode is only coded for BIT wise operation. + Gen_1_Msb : if C_AdcMsbOrLsbFst = 0 generate +-- -- MSB first. +-- -- Output : 31 16 15 0 +-- -- : "0000" & MSB(5:0) & LSB(5:0) "0000" & MSB(5:0) & LSB(5:0) + IntDatSwpBus <= "0000" & IntDat1Swp(5 downto 0) & IntDat1Swp(5 downto 0) & + "0000" & IntDat0Swp(5 downto 0) & IntDat0Swp(5 downto 0); + Gen_1_H : for n in 6 to 15 generate + I_Fdce_HH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_HL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + Gen_1_L : for n in 0 to 5 generate + I_Fdce_LH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_LL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_L; + end generate; + Gen_1_Lsb : if C_AdcMsbOrLsbFst = 1 generate + -- LSB first. + -- Output : 31 22 & 21 16 & 15 6 & 5 0 + -- : "0000" & LSB(0:5) & MSB(0:5) "0000" & LSB(0:5) & MSB(0:5) + IntDatSwpBus <= "0000" & IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & -- 31-| + IntDat1Swp(3) & IntDat1Swp(4) & IntDat1Swp(5) & -- |-22 + IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & -- 21-| + IntDat1Swp(3) & IntDat1Swp(4) & IntDat1Swp(5) & -- |-16 + "0000" & IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & -- 15-| + IntDat0Swp(3) & IntDat0Swp(4) & IntDat0Swp(5) & -- |-6 + IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & -- 5-| + IntDat0Swp(3) & IntDat0Swp(4) & IntDat0Swp(5); -- |-0 + Gen_1_H : for n in 6 to 15 generate + I_Fdce_HH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_HL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + Gen_1_L : for n in 0 to 5 generate + I_Fdce_LH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_LL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_L; + end generate; +end generate; +----------------------------------------------------------------------------------------------- +-- 2-WIRE, 12x SERIALIZATION for 12-bit ADCs +-- Only one of these options can be chosen at a time. +-- 2-wire, Msb-Bit or Msb-Byte +-- 2-wire, Lsb-Bit or Lsb-Byte +----------------------------------------------------------------------------------------------- +Gen_2w_12b : if (C_AdcBits = 12 and C_AdcWireInt = 2) generate + Gen_1_Msb : if C_AdcMsbOrLsbFst = 0 generate + -- Bit mode, MSB First + -- Bit : 5 4 3 2 1 0 + -- Channel 0 : D10, D8, D6, D4, D2, D0 + -- Channel 1 : D11, D9, D7, D5, D3, D1 + -- Output : 0 0 0 0, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0 + -- : 0 0 0 0, 1_5, 0_5, 1_4, 0_4, 1_3, 0_3, 1_2, 0_2, 1_1, 0_1, 1_0, 0_0 + Gen_1_Bit : if C_AdcBytOrBitMode = 1 generate -- Bit mode + IntDatSwpBus <= "0000" + & IntDat1Swp(5) & IntDat0Swp(5) & IntDat1Swp(4) & IntDat0Swp(4) + & IntDat1Swp(3) & IntDat0Swp(3) & IntDat1Swp(2) & IntDat0Swp(2) + & IntDat1Swp(1) & IntDat0Swp(1) & IntDat1Swp(0) & IntDat0Swp(0) + & "0000" + & IntDat1Swp(5) & IntDat0Swp(5) & IntDat1Swp(4) & IntDat0Swp(4) + & IntDat1Swp(3) & IntDat0Swp(3) & IntDat1Swp(2) & IntDat0Swp(2) + & IntDat1Swp(1) & IntDat0Swp(1) & IntDat1Swp(0) & IntDat0Swp(0); + Gen_1_HL : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; + -- Byte mode, MSB First + -- Bit : 5 4 3 2 1 0 + -- Channel 0 : D5, D4, D3, D2, D1, D0 + -- Channel 1 : D11, D10, D9, D8, D7, D6 + -- Output : 0 0 0 0, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0 + -- : 0 0 0 0, 1_5, 1_4, 1_3, 1_2, 1_1, 1_0, 0_5, 0_4, 0_3, 0_2, 0_1, 0_0 + Gen_1_Byt : if C_AdcBytOrBitMode = 0 generate -- Byte Mode + IntDatSwpBus <= "0000" + & IntDat1Swp(5) & IntDat1Swp(4) & IntDat1Swp(3) & IntDat1Swp(2) + & IntDat1Swp(1) & IntDat1Swp(0) & IntDat0Swp(5) & IntDat0Swp(4) + & IntDat0Swp(3) & IntDat0Swp(2) & IntDat0Swp(1) & IntDat0Swp(0) + & "0000" + & IntDat1Swp(5) & IntDat1Swp(4) & IntDat1Swp(3) & IntDat1Swp(2) + & IntDat1Swp(1) & IntDat1Swp(0) & IntDat0Swp(5) & IntDat0Swp(4) + & IntDat0Swp(3) & IntDat0Swp(2) & IntDat0Swp(1) & IntDat0Swp(0); + Gen_1_HL : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; + end generate; +-- + Gen_1_Lsb : if C_AdcMsbOrLsbFst = 1 generate + -- Bit mode, LSB First + -- Bit : 5 4 3 2 1 0 + -- Channel 0 : D0, D2, D4, D6, D8, D10 + -- Channel 1 : D1, D3, D5, D7, D9, D11 + -- Output : 0 0 0 0, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0 + -- : 0 0 0 0, 1_0, 0_0, 1_1, 0_1, 1_2, 0_2, 1_3, 0_3, 1_4, 0_4, 1_5, 0_5 + Gen_1_Bit : if C_AdcBytOrBitMode = 1 generate -- Bit mode + IntDatSwpBus <= "0000" + & IntDat1Swp(0) & IntDat0Swp(0) & IntDat1Swp(1) & IntDat0Swp(1) + & IntDat1Swp(2) & IntDat0Swp(2) & IntDat1Swp(3) & IntDat0Swp(3) + & IntDat1Swp(4) & IntDat0Swp(4) & IntDat1Swp(5) & IntDat0Swp(5) + & "0000" + & IntDat1Swp(0) & IntDat0Swp(0) & IntDat1Swp(1) & IntDat0Swp(1) + & IntDat1Swp(2) & IntDat0Swp(2) & IntDat1Swp(3) & IntDat0Swp(3) + & IntDat1Swp(4) & IntDat0Swp(4) & IntDat1Swp(5) & IntDat0Swp(5); + Gen_1_HL : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; + -- Byte Mode, LSB First + -- Bit : 5 4 3 2 1 0 + -- Channel 0 : D0, D1, D2, D3, D4, D5 + -- Channel 1 : D6, D7, D8, D9, D10, D11 + -- Output : 0 0 0 0, D11, D10, D9, D8, D7, D6, D5, D4, D3, D2, D1, D0 + -- : 0 0 0 0, 1_0, 1_1, 1_2, 1_3, 1_4, 1_5, 0_0, 0_1, 0_2, 0_3, 0_4, 0_5 + Gen_1_Byt : if C_AdcBytOrBitMode = 0 generate -- Byte Mode + IntDatSwpBus <= "0000" + & IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) + & IntDat1Swp(4) & IntDat1Swp(5) & IntDat0Swp(0) & IntDat0Swp(1) + & IntDat0Swp(2) & IntDat0Swp(3) & IntDat0Swp(4) & IntDat0Swp(5) + & "0000" + & IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) + & IntDat1Swp(4) & IntDat1Swp(5) & IntDat0Swp(0) & IntDat0Swp(1) + & IntDat0Swp(2) & IntDat0Swp(3) & IntDat0Swp(4) & IntDat0Swp(5); + Gen_1_HL : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; + end generate; +end generate; +----------------------------------------------------------------------------------------------- +-- 1-WIRE, 16x SERIALIZATION for 14-bit and 16-bit ADCs +-- The data from one ADC will show up in the output of one interface channel. It is so that the +-- 32-bit output of the interface shows both channels. Bits 31:16 show the upper channel (CH_1) +-- and bits 15:0 show the lower (CH_0) channel. +----------------------------------------------------------------------------------------------- +Gen_1w_1416b : if (C_AdcBits /= 12 and C_AdcWireInt = 1) generate + -- 1-wire is only coded for BIT wise operation + Gen_1_Msb : if C_AdcMsbOrLsbFst = 0 generate + IntDatSwpBus <= IntDat1Swp(7 downto 0) & IntDat1Swp(7 downto 0) & + IntDat0Swp(7 downto 0) & IntDat0Swp(7 downto 0); + Gen_1_HL : for n in 0 to 7 generate + I_Fdce_HH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+24), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+24)); + I_Fdce_HL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+8), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+8)); + I_Fdce_LH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_LL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; + Gen_1_Lsb : if C_AdcMsbOrLsbFst = 1 generate + IntDatSwpBus <= IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) & + IntDat1Swp(4) & IntDat1Swp(5) & IntDat1Swp(6) & IntDat1Swp(7) & + IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) & + IntDat1Swp(4) & IntDat1Swp(5) & IntDat1Swp(6) & IntDat1Swp(7) & + IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & IntDat0Swp(3) & + IntDat0Swp(4) & IntDat0Swp(5) & IntDat0Swp(6) & IntDat0Swp(7) & + IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & IntDat0Swp(3) & + IntDat0Swp(4) & IntDat0Swp(5) & IntDat0Swp(6) & IntDat0Swp(7); + Gen_1_HL : for n in 0 to 7 generate + I_Fdce_HH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+24), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+24)); + I_Fdce_HL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+8), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+8)); + I_Fdce_LH : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_LL : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_HL; + end generate; +end generate; +----------------------------------------------------------------------------------------------- +-- 2-WIRE, 16x SERIALIZATION for 14-bit and 16-bit ADCs +-- Only one of these options can be chosen at a time. +-- 2-wire, Msb-Bit or Msb-Byte +-- 2-wire, Lsb-Bit or Lsb-Byte +----------------------------------------------------------------------------------------------- +Gen_1416Bit : if (C_AdcBits /= 12 and C_AdcWireInt = 2) generate +-- Shift in order is assumed MSB first. + Gen_2_Msb : if C_AdcMsbOrLsbFst = 0 generate + -- Bit mode, MSB First, 14-bits (16-bits) + -- Bit : 7, 6, 5, 4, 3, 2, 1, 0 + -- Channel 0 : 0/(D14), D12, D10, D8, D6, D4, D2, D0 + -- Channel 1 : 0/(D15), D13, D11, D9, D7, D5, D3, D1 + Gen1_Bit : if C_AdcBytOrBitMode = 1 generate -- Bit mode + IntDatSwpBus <= IntDat1Swp(5) & IntDat0Swp(5) & IntDat1Swp(4) & IntDat0Swp(4) + & IntDat1Swp(7) & IntDat0Swp(7) & IntDat1Swp(6) & IntDat0Swp(6) + & IntDat1Swp(1) & IntDat0Swp(1) & IntDat1Swp(0) & IntDat0Swp(0) + & IntDat1Swp(3) & IntDat0Swp(3) & IntDat1Swp(2) & IntDat0Swp(2) + & IntDat1Swp(5) & IntDat0Swp(5) & IntDat1Swp(4) & IntDat0Swp(4) + & IntDat1Swp(7) & IntDat0Swp(7) & IntDat1Swp(6) & IntDat0Swp(6) + & IntDat1Swp(1) & IntDat0Swp(1) & IntDat1Swp(0) & IntDat0Swp(0) + & IntDat1Swp(3) & IntDat0Swp(3) & IntDat1Swp(2) & IntDat0Swp(2); + Gen_1_H : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + end generate; + -- Byte Mode, MSB First, 14-bits (16-bits) + -- Data Bit : 7, 6, 5, 4, 3, 2, 1, 0, + -- Channel 0 : D7, D6, D5, D4, D3, D2, D1, D0, + -- Channel 1 : 0/(D15), 0/(D14), D13, D12, D11, D10, D9, D8 + Gen1_Byt : if C_AdcBytOrBitMode = 0 generate -- Byte Mode (not tested) + IntDatSwpBus <= IntDat1Swp(5) & IntDat1Swp(4) & IntDat1Swp(7) & IntDat1Swp(6) + & IntDat1Swp(1) & IntDat1Swp(0) & IntDat1Swp(3) & IntDat1Swp(2) + & IntDat0Swp(5) & IntDat0Swp(4) & IntDat0Swp(7) & IntDat0Swp(6) + & IntDat0Swp(1) & IntDat0Swp(0) & IntDat0Swp(3) & IntDat0Swp(2) + & IntDat1Swp(5) & IntDat1Swp(4) & IntDat1Swp(7) & IntDat1Swp(6) + & IntDat1Swp(1) & IntDat1Swp(0) & IntDat1Swp(3) & IntDat1Swp(2) + & IntDat0Swp(5) & IntDat0Swp(4) & IntDat0Swp(7) & IntDat0Swp(6) + & IntDat0Swp(1) & IntDat0Swp(0) & IntDat0Swp(3) & IntDat0Swp(2); + Gen_1_H : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + end generate; + end generate; +-- Shift in order is assumed LSB first + Gen_2_Lsb : if C_AdcMsbOrLsbFst = 1 generate + -- Bit mode, LSB First, 14-bits (16-bit) + -- Data Bit ; 7, 6, 5, 4, 3, 2, 1, 0 + -- Channel 0 : D0, D2, D4, D6, D8, D10, D12, 0/(D14) + -- Channel 1 : D1, D3, D5, D7, D9, D11, D13, 0/(D15) + Gen_2_Bit : if C_AdcBytOrBitMode = 1 generate -- Bit mode + IntDatSwpBus <= IntDat0Swp(2) & IntDat1Swp(2) & IntDat0Swp(3) & IntDat1Swp(3) + & IntDat0Swp(0) & IntDat1Swp(0) & IntDat0Swp(1) & IntDat1Swp(1) + & IntDat0Swp(6) & IntDat1Swp(6) & IntDat0Swp(7) & IntDat1Swp(7) + & IntDat0Swp(4) & IntDat1Swp(4) & IntDat0Swp(5) & IntDat1Swp(5) + & IntDat0Swp(2) & IntDat1Swp(2) & IntDat0Swp(3) & IntDat1Swp(3) + & IntDat0Swp(0) & IntDat1Swp(0) & IntDat0Swp(1) & IntDat1Swp(1) + & IntDat0Swp(6) & IntDat1Swp(6) & IntDat0Swp(7) & IntDat1Swp(7) + & IntDat0Swp(4) & IntDat1Swp(4) & IntDat0Swp(5) & IntDat1Swp(5); + Gen_1_H : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + end generate; + -- Byte Mode, LSB First, 14-bits (16-bit) + -- Data Bit : 7, 6, 5, 4, 3, 2, 1, 0 + -- Channel 0 : D0, D1, D2, D3, D4, D5, D6, D7 + -- Channel 1 : D8, D9, D10, D11, D12, D13, 0/(D14), 0/(D15) + Gen_2_Byt : if C_AdcBytOrBitMode = 0 generate -- Byte Mode (not tested) + IntDatSwpBus <= IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) + & IntDat1Swp(4) & IntDat1Swp(5) & IntDat1Swp(6) & IntDat1Swp(7) + & IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & IntDat0Swp(3) + & IntDat0Swp(4) & IntDat0Swp(5) & IntDat0Swp(6) & IntDat0Swp(6) + & IntDat1Swp(0) & IntDat1Swp(1) & IntDat1Swp(2) & IntDat1Swp(3) + & IntDat1Swp(4) & IntDat1Swp(5) & IntDat1Swp(6) & IntDat1Swp(7) + & IntDat0Swp(0) & IntDat0Swp(1) & IntDat0Swp(2) & IntDat0Swp(3) + & IntDat0Swp(4) & IntDat0Swp(5) & IntDat0Swp(6) & IntDat0Swp(6); + Gen_1_H : for n in 0 to 15 generate + I_Fdce_H : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n+16), CE => DatMsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n+16)); + I_Fdce_L : FDCE + generic map (INIT => '0') + port map (D => IntDatSwpBus(n), CE => DatLsbRegEna, C => DatClkDiv, + CLR => DatReSync, Q => DatOut(n)); + end generate Gen_1_H; + end generate; + end generate; +end generate; +-- +----------------------------------------------------------------------------------------------- +end AdcData_struct; \ No newline at end of file diff --git a/FEE_ADC32board/modules/ADCrefdesign/AdcFrame.vhd b/FEE_ADC32board/modules/ADCrefdesign/AdcFrame.vhd new file mode 100644 index 0000000..0c5a3ff --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/AdcFrame.vhd @@ -0,0 +1,859 @@ +----------------------------------------------------------------------------------------------- +-- © Copyright 2007 - 2011, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +----------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version: +-- \ \ Filename: AdcFrame.vhd +-- / / Date Last Modified: 29 Mar 11 +-- /___/ /\ Date Created: 05 Oct 07 +-- \ \ / \ +-- \___\/\___\ +-- +-- Device: Virtex-6 +-- Author: Marc Defossez +-- Entity Name: AdcFrame +-- Purpose: This file is part of an FPGA interface for a Texas Instruments ADC. +-- Tools: ISE_13.1 +-- Limitations: none +-- +-- Revision History: +-- Rev. 28 Oct 2009 +-- Corrected the circuit to check for "Bouble Nibble" at the output of the ISEDRES. +-- Made the reaction of this circuit immediate (asynchrounous). +-- Then synchronousity steps in after registering the signals. +-- Rev. 16 feb 2011 +-- Replace HDL synthesized FFs by instantiated FFs for frame data path. +-- Check implementation results is ISE_12.4 with PlanAhead through a AdcFrame_Toplevel. +-- Rev 07 Mar 2011 +-- Modified the calculation of some "generate" parameters to be able to work in 1-wire +-- and 2-wire mode. generate parameters to create sets of FFs. +-- Rev 09 Mar 2011 +-- Problem solved with 1-wire interface not finding correct frame pattern. +-- In the past 1-wire and 2-wire was selected with 0 and 1 while for recent interfaces +-- this is changed to 1 and 2 (To reflect in the selection the interface type). +-- The function calculating the frame pattern for use with the comparator still used +-- the old selection style. Result was that 2-wire functioned normally and 1-wire +-- returned a all zero compare pattern. +-- Finalized the integration and documentation of the "DoubleNibbleDetect". +----------------------------------------------------------------------------------------------- +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +----------------------------------------------------------------------------------------------- +-- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; + use IEEE.std_logic_textio.all; + use std.textio.all; +library UNISIM; + use UNISIM.VCOMPONENTS.all; +library AdcFrame_lib; + use AdcFrame_lib.all; +--library AdcMem; +-- use AdcMem.all; + +----------------------------------------------------------------------------------------------- +-- Entity pin description +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +entity AdcFrame is + generic ( + C_AdcBits : integer; + C_AdcWireInt : integer; + C_FrmPattern : string + ); + port ( + FrmClk_n : in std_logic; -- input n from IBUFDS_DIFF_OUT + FrmClk_p : in std_logic; -- input p from IBUFDS_DIFF_OUT + FrmClkRst : in std_logic; + FrmClkEna : in std_logic; + FrmClk : in std_logic; + FrmClkDiv : in std_logic; + FrmClkDone : in std_logic; -- Input from clock syncronisation. + FrmClkReSync : in std_logic; + FrmClkBitSlip_p : out std_logic; + FrmClkBitSlip_n : out std_logic; + FrmClkSwapMux : out std_logic; + FrmClkMsbRegEna : out std_logic; + FrmClkLsbRegEna : out std_logic; + FrmClkReSyncOut : out std_logic; + FrmClkDat : out std_logic_vector(15 downto 0); + FrmClkSyncWarn : out std_logic; + Frame_out : out std_logic; + testOK : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end AdcFrame; +----------------------------------------------------------------------------------------------- +-- Architecture section +----------------------------------------------------------------------------------------------- +architecture AdcFrame_struct of AdcFrame is +----------------------------------------------------------------------------------------------- +-- Component Instantiation +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +----------------------------------------------------------------------------------------------- +-- Functions +-- A std_logic_vector is converted to a string. + function stdlvec_to_str(inp: std_logic_vector) return string is + variable temp: string(inp'left+1 downto 1) := (others => 'X'); + begin + for i in inp'reverse_range loop + if (inp(i) = '1') then + temp(i+1) := '1'; + elsif (inp(i) = '0') then + temp(i+1) := '0'; + end if; + end loop; + return temp; + end function stdlvec_to_str; +-- +-- A string is converted to a std_logic_vector. + function str_to_stdlvec(Inp: string) return std_logic_vector is + variable Temp : std_logic_vector(Inp'range) := (others => 'X'); + begin + for i in Inp'range loop + if (Inp(i) = '1') then + Temp(i) := '1'; + elsif (Inp(i) = '0') then + Temp(i) := '0'; + end if; + end loop; + return Temp; + end function str_to_stdlvec; +-- +-- In two wire mode a 12 bit ADC has 2 channels of 6 bits. The AdcBits stay at 12. +-- In two wire mode a 14 bit ADC has 2 channels of 8 bits. The AdcBits is set at 16. +-- In two wire mode a 16 bit ADC has 2 channels of 8 bits. The AdcBits stay at 16. + function FrmBits (Bits : integer) return integer is + variable Temp : integer; + begin + if (Bits = 12) then + Temp := 12; + elsif (Bits = 14) then + Temp := 16; + elsif (Bits = 16) then + Temp := 16; + end if; + return Temp; + end function FrmBits; +-- +-- Word symmetry check +-- A word (16-bit) is checked for bit pair symmetry +-- Example: In one byte there are 16 possible symmetry positions. +-- 00000000, 00000011, 00001100, 00001111, +-- 00110000, 00110011, 00111100, 00111111, +-- 11000000, 11000011, 11001100, 11001111, +-- 11110000, 11110011, 11111100, 11111111, +-- Bit_7=Bit_6, Bit_5=Bit_4, Bit_3=Bit_2, and Bit_1=Bit_0 + function SymChck (Inp: std_logic_vector) return std_logic is + variable Temp : std_logic_vector ((Inp'left-1)/2 downto 0) := (others => '0'); + variable Sym : std_logic := '0'; + begin + for n in (Inp'left-1)/2 downto 0 loop + Temp(n) := Inp((n*2)+1) xor Inp(n*2); + Sym := Temp(n) or Sym; + end loop; + assert false + report CR & " Pattern XORed/ORed = " & stdlvec_to_str(Temp) & CR + severity note; + return Sym; + end function SymChck; +-- +-- When a symmetric byte, bit pattern is found, make the requested pattern rotate +-- by one bit to become a non-symmetric pattern. + function BitShft(Inp: std_logic_vector; Wire: integer) return std_logic_vector is + variable Temp : std_logic_vector (Inp'range):= (others => '0'); + begin +-- Bit shift all bits. +-- Example: 16-bit frame word = 11111111_00000000 or 00000000_11110000 +-- After shifting the word returned looks as: 11111110_00000001 and 00000000_01111000 + if (SymChck(Inp) = '0') then + if (Wire = 1 ) then -- 1-wire, shift 15-bits + for n in Inp'left downto 0 loop + if (n /= 0) then + Temp(n) := Inp(n-1); + elsif (n = 0) then + Temp(Temp'right) := Inp(Inp'left); + end if; + end loop; + else -- (Wire = 2) -- 2-wire, shift 8-bits + for n in (Inp'left-8) downto 0 loop + if (n /= 0) then + Temp(n) := Inp(n-1); + elsif (n = 0) then + Temp(Temp'right) := Inp(Inp'left-8); + end if; + end loop; + end if; + elsif (SymChck(Inp) = '1') then + -- Don't do anything, return the word as it came in. + Temp := Inp; + end if; + -- + assert false + report CR & + " Pattern Shifted = " & stdlvec_to_str(Temp) & CR & + " Comparator Value A = " & stdlvec_to_str(Temp(15 downto 8)) & CR & + " Comparator Value B = " & stdlvec_to_str(Temp(7 downto 0)) & CR + severity note; + return Temp; + end function BitShft; +-- +-- Bit swap operation: +-- Bit n of the output string gets bit n-1 of the input. ex: out(7) <= In(6). +-- Bit n-1 of the output string gets bit n of the input. ex: out(6) <= In(7). +-- Bit n-2 of the output string gets bit n-3 of the input. ex: out(5) <= In(4). +-- Bit n-3 of the output string gets bit n-2 of the input. ex: out(4) <= In(5). +-- and etcetera.... +-- This: Bit_7, Bit_6, Bit_5, Bit_4, Bit_3, Bit_2, Bit_1, Bit_0. +-- Results in: Bit_6, Bit_7, Bit-$, Bit_5, Bit_2, Bit_3, Bit_0, Bit_1. + function BitSwap(Inp: std_logic_vector) return std_logic_vector is + variable Temp : std_logic_vector (Inp'range); + begin + for n in (Inp'left-1)/2 downto 0 loop + Temp((n*2)+1) := Inp(n*2); + Temp(n*2) := Inp((n*2)+1); + end loop; + assert false + report CR & + " Pattern Bit Swapped = " & stdlvec_to_str(Temp) & CR & + " Comparator Value C = " & stdlvec_to_str(Temp(15 downto 8)) & CR & + " Comparator Value D = " & stdlvec_to_str(Temp(7 downto 0)) & CR + severity note; + return Temp; + end function BitSwap; +-- + function TermOrNot (Term : integer) return boolean is + begin + if (Term = 0) then + return FALSE; + else + return TRUE; + end if; + end TermOrNot; + +component DoubleNibbleDetect is + port ( + Clock : in std_logic; + RstIn : in std_logic; + Final : out std_logic; + DataIn : in std_logic_vector(3 downto 0); + DataOut : out std_logic_vector(3 downto 0) + ); +end component; + +component GenPulse is + port ( + Clk : in std_logic; + Ena : in std_logic; + SigIn : in std_logic; + SigOut : out std_logic + ); +end component; + +-- +-- Constants +-- Transform the pattern STRING into a std_logic_vector. +constant IntPattern : + std_logic_vector(FrmBits(C_AdcBits)-1 downto 0) := str_to_stdlvec(C_FrmPattern); +-- Shift the pattern for one bit. +constant IntPatternBitShifted : + std_logic_vector(FrmBits(C_AdcBits)-1 downto 0) := BitShft(IntPattern, C_AdcWireInt); +-- Bit swap the by one bit shifted pattern. +constant IntPatternBitSwapped : + std_logic_vector(FrmBits(C_AdcBits)-1 downto 0) := BitSwap(IntPatternBitShifted); +-- Define the bytes for pattern comparison. +constant IntPatternA : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0) := + IntPatternBitShifted(FrmBits(C_AdcBits)-1 downto FrmBits(C_AdcBits)/2); +constant IntPatternB : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0) := + IntPatternBitShifted((FrmBits(C_AdcBits)/2)-1 downto 0); +constant IntPatternC : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0) := + IntPatternBitSwapped(FrmBits(C_AdcBits)-1 downto FrmBits(C_AdcBits)/2); +constant IntPatternD : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0) := + IntPatternBitSwapped((FrmBits(C_AdcBits)/2)-1 downto 0); +-- Calculate the data width for a ISERDES. +constant IntIsrdsDataWidth : integer := FrmBits(C_AdcBits)/4; +constant Low : std_logic := '0'; +constant High : std_logic := '1'; +attribute keep : string; +-- Signals +signal IntFrmClk : std_logic; +signal IntFrmClk_n : std_logic; +signal IntFrmSrdsOut : std_logic_vector (7 downto 0); +-- +signal IntFrmSrdsDatEvn : std_logic_vector((FrmBits(C_AdcBits)/4)-1 downto 0); +signal IntFrmSrdsDatOdd : std_logic_vector((FrmBits(C_AdcBits)/4)-1 downto 0); +signal IntFrmSrdsDatEvn_d : std_logic_vector((FrmBits(C_AdcBits)/4)-1 downto 0); +signal IntFrmSrdsDatOdd_d : std_logic_vector((FrmBits(C_AdcBits)/4)-1 downto 0); +signal IntFrmSrdsDat : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0); +signal IntFrmDat : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0); +signal IntFrmDatMux : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0); +signal IntFrmDatSwp : std_logic_vector((FrmBits(C_AdcBits)/2)-1 downto 0); +signal IntFrmDatSwpBus : std_logic_vector(15 downto 0); +signal IntFrmClkDat : std_logic_vector(15 downto 0); +-- +signal IntFrmDbleNibFnlEvn : std_logic; +signal IntFrmDbleNibFnlEvn_d : std_logic; +signal IntFrmDbleNibFnlOdd : std_logic; +signal IntFrmDbleNibFnlOdd_d : std_logic; +signal IntFrmDbleNibFnl : std_logic; +-- +signal IntFrmEna : std_logic; +signal IntFrmCmp : std_logic_vector(3 downto 0); +signal IntFrmEquGte : std_logic; +signal IntFrmEqu_d : std_logic; +signal IntFrmSwapMux_d : std_logic; +signal IntFrmSwapMux_d_Ena : std_logic; +signal IntFrmLsbMsb_d : std_logic; +signal IntFrmLsbMsb_d_Ena : std_logic; +signal IntFrmMsbAllZero_d : std_logic; +signal IntFrmMsbAllZero_d_Ena : std_logic; +-- +signal IntFrmRegEna_d : std_logic; +signal IntFrmMsbRegEna_d : std_logic; +signal IntFrmLsbRegEna_d : std_logic; +-- +signal IntFrmEvntCnt : std_logic_vector (3 downto 0); -- count event counter +signal IntFrmEvntCntTc : std_logic; +signal IntFrmEvntCntTc_d : std_logic; +signal IntFrmSlipCnt : std_logic_vector (3 downto 0); -- count to 8 +signal IntFrmSlipCntTc : std_logic; +signal IntFrmSlipCntTc_d : std_logic; +signal IntFrmSlipCntTc_d1 : std_logic; +signal IntFrmSlipCntTc_d2Ena : std_logic; +signal IntFrmSlipCntTc_d2 : std_logic; +signal IntFrmWarnCnt : std_logic_vector (2 downto 0); +signal IntFrmWarnCntTc : std_logic; +signal IntFrmWarnCntTc_d : std_logic; +signal IntFrmClkReSync : std_logic; +signal IntFrmReSyncOut : std_logic; +-- +signal IntFrmBitSlip : std_logic_vector (5 downto 0); +signal IntFrmEquSet_d : std_Logic; + +signal Frame_out_S : std_Logic; +-- Attributes +attribute keep of Frame_out_S : signal is "TRUE"; +----------------------------------------------------------------------------------------------- +begin +----------------------------------------------------------------------------------------------- +-- ISERDES FOR FRAME CAPTURE +----------------------------------------------------------------------------------------------- +IntFrmClk <= FrmClk; +IntFrmClk_n <= not FrmClk; +-- +AdcFrame_I_Isrds_p : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- <-- Number of bits + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => FrmClk_p, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => IntFrmBitSlip(0),-- in + CE1 => IntFrmEna, -- in + CE2 => Low, -- in + RST => FrmClkRst, -- in + CLK => IntFrmClk, -- in + CLKB => Low, -- in + CLKDIV => FrmClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => Frame_out_S, -- out + Q1 => IntFrmSrdsOut(6), -- out (0) + Q2 => IntFrmSrdsOut(4), -- out (2) + Q3 => IntFrmSrdsOut(2), -- out (4) + Q4 => IntFrmSrdsOut(0), -- out (6) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +Frame_out <= Frame_out_S; + +AdcFrame_I_Isrds_n : ISERDESE1 + generic map ( + SERDES_MODE => "MASTER", -- + INTERFACE_TYPE => "NETWORKING", -- + IOBDELAY => "NONE", -- + DATA_RATE => "SDR", -- + DATA_WIDTH => IntIsrdsDataWidth, -- 12-bit = 3 and 14/16 b its = 4 + DYN_CLKDIV_INV_EN => FALSE, -- + DYN_CLK_INV_EN => FALSE, -- + NUM_CE => 1, -- + OFB_USED => FALSE -- + ) + port map ( + D => FrmClk_n, -- in + DDLY => Low, -- in + DYNCLKDIVSEL => Low, -- in + DYNCLKSEL => Low, -- in + OFB => Low, -- in + BITSLIP => IntFrmBitSlip(1),-- in + CE1 => IntFrmEna, -- in + CE2 => Low, -- in + RST => FrmClkRst, -- in + CLK => IntFrmClk_n, -- in + CLKB => Low, -- in + CLKDIV => FrmClkDiv, -- in + OCLK => Low, -- in + SHIFTOUT1 => open, -- out + SHIFTOUT2 => open, -- out + O => open, -- out + Q1 => IntFrmSrdsOut(7), -- out (1) + Q2 => IntFrmSrdsOut(5), -- out (3) + Q3 => IntFrmSrdsOut(3), -- out (5) + Q4 => IntFrmSrdsOut(1), -- out (7) + Q5 => open, -- out + Q6 => open, -- out + SHIFTIN1 => Low, -- in + SHIFTIN2 => Low -- in + ); +----------------------------------------------------------------------------------------------- +-- INVERT THE NEEDED BITS. +----------------------------------------------------------------------------------------------- +Gen_1_FrmBus : if (FrmBits(C_AdcBits)/2) = 6 generate + IntFrmSrdsDatEvn <= IntFrmSrdsOut(4) & IntFrmSrdsOut(2) & IntFrmSrdsOut(0); + IntFrmSrdsDatOdd <= not IntFrmSrdsOut(5) & not IntFrmSrdsOut(3) & not IntFrmSrdsOut(1); +end generate Gen_1_FrmBus; +Gen_2_FrmBus : if (FrmBits(C_AdcBits)/2) = 8 generate + IntFrmSrdsDatEvn <= IntFrmSrdsOut(6) & IntFrmSrdsOut(4) & + IntFrmSrdsOut(2) & IntFrmSrdsOut(0); + IntFrmSrdsDatOdd <= not IntFrmSrdsOut(7) & not IntFrmSrdsOut(5) & + not IntFrmSrdsOut(3) & not IntFrmSrdsOut(1); +end generate Gen_2_FrmBus; +----------------------------------------------------------------------------------------------- +-- Double Nibble Detection. +-- When the ADC is used in 1-wire mode the frame pattern is 12 or 16 bits long. +-- It is captured in two ISERDES. One running at rising CLK and the orther runnsing at falling +-- CLK. For some reason, afetr a bitslip a ISERDES can output twice the same nibble of data. +-- This phenomenon is called ""Double nibble" and as written before happens after a +-- Bitslip request. +-- The output of each ISERDES is first checked for these double nibbles and if needed the +-- ISERDES output is corrected. After that the data is passed into the franme pattern +-- Recognition part of the design. +----------------------------------------------------------------------------------------------- +Gen_1_DbleNibChk : if (C_AdcWireInt = 1) generate + AdcFrame_I_DblNbblDtct_Evn : DoubleNibbleDetect + port map ( + Clock => FrmClkDiv, -- in + RstIn => FrmClkRst, -- in + Final => IntFrmDbleNibFnlEvn, -- out + DataIn => IntFrmSrdsDatEvn, -- in [3:0] + DataOut => IntFrmSrdsDatEvn_d -- out [3:0] + ); +-- + AdcFrame_I_DblNbblDtct_Odd : DoubleNibbleDetect + port map ( + Clock => FrmClkDiv, -- in + RstIn => FrmClkRst, -- in + Final => IntFrmDbleNibFnlOdd, -- out + DataIn => IntFrmSrdsDatOdd, -- in [3:0] + DataOut => IntFrmSrdsDatOdd_d -- out [3:0] + ); +-- + AdcFrame_DblNibFnl_PROCESS : process (FrmClkDiv) + begin + if (FrmClkRst = '1' ) then + IntFrmDbleNibFnlOdd_d <= '0'; + IntFrmDbleNibFnlEvn_d <= '0'; + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + if (IntFrmDbleNibFnlOdd = '1') then + IntFrmDbleNibFnlOdd_d <= '1'; + else --(IntFrmDbleNibFnlOdd = '0') + IntFrmDbleNibFnlOdd_d <= '0'; + end if; + if (IntFrmDbleNibFnlEvn = '1') then + IntFrmDbleNibFnlEvn_d <= '1'; + else --(IntFrmDbleNibFnlOdd = '0') + IntFrmDbleNibFnlEvn_d <= '0'; + end if; + end if; + end process AdcFrame_DblNibFnl_PROCESS; +-- + IntFrmDbleNibFnl <= IntFrmDbleNibFnlOdd_d and IntFrmDbleNibFnlEvn_d; +end generate Gen_1_DbleNibChk; +-- +Gen_2_DbleNibChk : if (C_AdcWireInt = 2) generate + IntFrmSrdsDatEvn_d <= IntFrmSrdsDatEvn; + IntFrmSrdsDatOdd_d <= IntFrmSrdsDatOdd; + IntFrmDbleNibFnl <= Low; +end generate Gen_2_DbleNibChk; +----------------------------------------------------------------------------------------------- +-- DATA REGISTER +----------------------------------------------------------------------------------------------- +Gen_1_DatBus : for n in (FrmBits(C_AdcBits)/4) downto 1 generate + IntFrmSrdsDat((n*2)-1) <= IntFrmSrdsDatOdd_d(n-1); + IntFrmSrdsDat((n*2)-2) <= IntFrmSrdsDatEvn_d(n-1); +end generate Gen_1_DatBus; +-- +Gen_1_DatReg : for n in (FrmBits(C_AdcBits)/2)-1 downto 0 generate + AdcFrame_I_Fdce_Reg1 : FDCE + generic map (INIT => '0') -- bit + port map(D => IntFrmSrdsDat(n), CE => IntFrmEna, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmDat(n)); +end generate Gen_1_DatReg; +----------------------------------------------------------------------------------------------- +-- BIT SWAP MULTIPLEXER and REGISTER +-- Swap the bits in correct order when the pattern detected is bit swapped. +----------------------------------------------------------------------------------------------- +Gen_2_DatMux : for n in (FrmBits(C_AdcBits)/4)-1 downto 0 generate +begin + IntFrmDatMux((n*2)+1) <= IntFrmDat(n*2) when (IntFrmSwapMux_d = '1') else IntFrmDat((n*2)+1); + IntFrmDatMux(n*2) <= IntFrmDat((n*2)+1) when (IntFrmSwapMux_d = '1') else IntFrmDat(n*2); +end generate Gen_2_DatMux; +Gen_3_DatReg : for n in (FrmBits(C_AdcBits)/2)-1 downto 0 generate + AdcFrame_I_Fdce_Reg2 : FDCE + generic map (INIT => '0') -- bit + port map (D => IntFrmDatMux(n), C => FrmClkDiv, CE => IntFrmEna, CLR => IntFrmReSyncOut, + Q => IntFrmDatSwp(n)); +end generate Gen_3_DatReg; +----------------------------------------------------------------------------------------------- +-- FRAME OUTPUT REGISTERS +----------------------------------------------------------------------------------------------- +Gen_4_OutReg12 : if C_AdcBits = 12 generate + IntFrmDatSwpBus <= "0000" & + IntFrmDatSwp(5) & IntFrmDatSwp(4) & + IntFrmDatSwp(3) & IntFrmDatSwp(2) & + IntFrmDatSwp(1) & IntFrmDatSwp(0) & + IntFrmDatSwp(5) & IntFrmDatSwp(4) & + IntFrmDatSwp(3) & IntFrmDatSwp(2) & + IntFrmDatSwp(1) & IntFrmDatSwp(0); + Gen_4_H : for n in 6 to 15 generate + AdcFrame_I_Fdce_FrmClkDatMsb : FDCE + generic map (INIT => '0') + port map (D => IntFrmDatSwpBus(n), CE => IntFrmMsbRegEna_d, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmClkDat(n)); + end generate Gen_4_H; + Gen_4_L : for n in 0 to 5 generate + AdcFrame_I_Fdce_FrmClkDatLsb : FDCE + generic map (INIT => '0') + port map (D => IntFrmDatSwpBus(n), CE => IntFrmLsbRegEna_d, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmClkDat(n)); + end generate Gen_4_L; +end generate Gen_4_OutReg12; +-- +Gen_5_OutReg12n : if C_AdcBits /= 12 generate + IntFrmDatSwpBus <= IntFrmDatSwp(7) & IntFrmDatSwp(6) & + IntFrmDatSwp(5) & IntFrmDatSwp(4) & + IntFrmDatSwp(3) & IntFrmDatSwp(2) & + IntFrmDatSwp(1) & IntFrmDatSwp(0) & + IntFrmDatSwp(7) & IntFrmDatSwp(6) & + IntFrmDatSwp(5) & IntFrmDatSwp(4) & + IntFrmDatSwp(3) & IntFrmDatSwp(2) & + IntFrmDatSwp(1) & IntFrmDatSwp(0); + Gen_5_H : for n in 8 to 15 generate + AdcFrame_I_Fdce_FrmClkDatMsb : FDCE + generic map (INIT => '0') + port map (D => IntFrmDatSwpBus(n), CE => IntFrmMsbRegEna_d, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmClkDat(n)); + end generate Gen_5_H; + Gen_5_L : for n in 0 to 7 generate + AdcFrame_I_Fdce_FrmClkDatLsb : FDCE + generic map (INIT => '0') + port map (D => IntFrmDatSwpBus(n), CE => IntFrmLsbRegEna_d, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmClkDat(n)); + end generate Gen_5_L; +end generate Gen_5_OutReg12n; +-- +FrmClkDat <= IntFrmClkDat; +----------------------------------------------------------------------------------------------- +-- FRAME PATTERN COMPARATOR +----------------------------------------------------------------------------------------------- +IntFrmCmp(2 downto 0) <= "101" when (IntFrmSrdsDat = IntPatternA) else -- Equ, , Msb + "100" when (IntFrmSrdsDat = IntPatternB) else -- Equ, , Lsb + "111" when (IntFrmSrdsDat = IntPatternC) else -- Equ, swpd, Msb + "110" when (IntFrmSrdsDat = IntPatternD) else -- Equ, Swpd, Lsb + "000"; +IntFrmCmp(3) <= High when (C_AdcWireInt = 2) else Low; -- Msb = all zero +-- +-- When "Equ" goes high, one of the four patterns has been found. +-- The other two signals will reflect (Msb or Lsb, bitswapped or not) what pattern has been +-- found. WHen "Equ" thus goes high, store the status of all signals and make sure it can't +-- be changed. +-- +IntFrmEquGte <= (IntFrmCmp(2) or IntFrmEqu_d) and IntFrmEna; +-- +AdcFrame_I_Fdce_FrmMsbAllZero_d : FDCE + generic map (INIT => '0') + port map (D => IntFrmCmp(3), CE => IntFrmMsbAllZero_d_Ena, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmMsbAllZero_d); +AdcFrame_I_Fdce_FrmEqu_d : FDCE + generic map (INIT => '0') + port map (D => IntFrmEquGte, CE => High, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmEqu_d); +AdcFrame_I_Fdce_FrmSwapMux_d : FDCE + generic map (INIT => '0') + port map (D => IntFrmCmp(1), CE => IntFrmSwapMux_d_Ena, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmSwapMux_d); +AdcFrame_I_Fdce_FrmLsbMsb_d : FDCE + generic map (INIT => '0') + port map (D => IntFrmCmp(0), CE => IntFrmLsbMsb_d_Ena, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmLsbMsb_d); +-- +IntFrmMsbAllZero_d_Ena <= IntFrmCmp(2) and not IntFrmEqu_d; +IntFrmSwapMux_d_Ena <= IntFrmCmp(2)and not IntFrmEqu_d; +IntFrmLsbMsb_d_Ena <= IntFrmCmp(2) and not IntFrmEqu_d; +FrmClkSwapMux <= IntFrmSwapMux_d; +----------------------------------------------------------------------------------------------- +-- OUTPUT REGISTER ENABLER +----------------------------------------------------------------------------------------------- +AdcFrame_EnaSel_PROCESS : process (FrmClkDiv, IntFrmMsbAllZero_d, IntFrmEqu_d) +subtype IntFrmRegEnaCase is std_logic_vector(4 downto 0); +begin + if (IntFrmMsbAllZero_d = High) then + IntFrmRegEna_d <= Low; + IntFrmMsbRegEna_d <= High; + IntFrmLsbRegEna_d <= High; + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + case IntFrmRegEnaCase'(IntFrmLsbMsb_d, IntFrmEqu_d, IntFrmRegEna_d, + IntFrmMsbRegEna_d, IntFrmLsbRegEna_d) is + when "00001" => IntFrmRegEna_d <= '0'; + IntFrmMsbRegEna_d <= '0'; -- A + IntFrmLsbRegEna_d <= '1'; -- + when "01001" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '0'; -- B + IntFrmLsbRegEna_d <= '1'; -- + when "01101" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '1'; -- C + IntFrmLsbRegEna_d <= '0'; -- + when "01110" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '0'; -- D, goto C + IntFrmLsbRegEna_d <= '1'; -- + -- + when "11001" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '1'; -- E + IntFrmLsbRegEna_d <= '0'; -- + when "11110" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '0'; -- F + IntFrmLsbRegEna_d <= '1'; -- + when "11101" => IntFrmRegEna_d <= '1'; + IntFrmMsbRegEna_d <= '1'; -- G, goto F + IntFrmLsbRegEna_d <= '0'; -- + -- + when others => IntFrmRegEna_d <= '0'; + IntFrmMsbRegEna_d <= '0'; + IntFrmLsbRegEna_d <= '1'; + end case; + end if; +end process; +FrmClkMsbRegEna <= IntFrmMsbRegEna_d; +FrmClkLsbRegEna <= IntFrmLsbRegEna_d; +----------------------------------------------------------------------------------------------- +-- SAMPLE EVENT COUNTER +-- Take a frame sample every 16 ClkDiv cycles. +----------------------------------------------------------------------------------------------- +AdcFrame_EvntCnt_PROCESS : process (FrmClkDiv, IntFrmReSyncOut) +begin + if (IntFrmReSyncOut = High) then + IntFrmEvntCnt <= (others => '0'); + IntFrmEvntCntTc_d <= Low; + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + if (IntFrmEquSet_d = Low and IntFrmEna = High) then + IntFrmEvntCnt <= IntFrmEvntCnt + "01"; + IntFrmEvntCntTc_d <= IntFrmEvntCntTc; + end if; + end if; +end process; +IntFrmEvntCntTc <= High when (IntFrmEvntCnt = "1110") else Low; +--IntFrmEvntCntTc <= High when (IntFrmEvntCnt = ((2**IntFrmEvntCnt'length)-2)) else Low; +----------------------------------------------------------------------------------------------- +-- BITSLIP EVENT COUNTER +-- Bitslip 8 times for a 8-bit ISERDES and 6 times for a 6-bit ISERDES. +----------------------------------------------------------------------------------------------- +AdcFrame_SlipCnt_PROCESS : process (FrmClkDiv, IntFrmReSyncOut) +begin + if (IntFrmReSyncOut = High) then + IntFrmSlipCnt <= (others => '0'); + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + if (IntFrmEvntCntTc_d = High) then + IntFrmSlipCnt <= IntFrmSlipCnt + "01"; + end if; + if (IntFrmEvntCntTc_d = High and IntFrmSlipCntTc = High) then + IntFrmSlipCntTc_d <= High; + else + IntFrmSlipCntTc_d <= Low; + end if; + end if; +end process; +--Terminal count points. +AdcFrame_SlipCntTc_12 : if (FrmBits(C_AdcBits) = 12) generate + IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "1011") else Low; -- 11 or X'B' +end generate; +AdcFrame_SlipCntTc_1_16 : if (FrmBits(C_AdcBits) = 16) generate + IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "1111") else Low; -- 15 or X'F' +end generate; +--AdcFrame_SlipCntTc_1_12 : if (C_AdcWireInt = 1 and FrmBits(C_AdcBits) = 12) generate +-- IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "1011") else Low; -- 11 or X'B' +--end generate; +--AdcFrame_SlipCntTc_2_12 : if (C_AdcWireInt = 2 and FrmBits(C_AdcBits) = 12) generate +-- IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "0101") else Low; -- 5 +--end generate; +--AdcFrame_SlipCntTc_1_16 : if (C_AdcWireInt = 1 and FrmBits(C_AdcBits) = 16) generate +-- IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "1111") else Low; -- 15 or X'F' +--end generate; +--AdcFrame_SlipCntTc_2_16 : if (C_AdcWireInt = 2 and FrmBits(C_AdcBits) = 16) generate +-- IntFrmSlipCntTc <= High when (IntFrmSlipCnt = "0111") else Low; -- 7 +--end generate; +AdcFrame_I_Fdce_SlipCntTc_1 : FDCE + generic map (INIT => '0') + port map (D => High, CE => IntFrmSlipCntTc_d, C => FrmClkDiv, + CLR => IntFrmSlipCntTc_d2, Q => IntFrmSlipCntTc_d1); +IntFrmSlipCntTc_d2Ena <= IntFrmSlipCntTc_d and IntFrmSlipCntTc_d1; +AdcFrame_I_Fdce_SlipCntTc_2 : FDCE + generic map (INIT => '0') + port map (D => IntFrmSlipCntTc_d2Ena, CE => High, C => FrmClkDiv, + CLR => IntFrmReSyncOut, Q => IntFrmSlipCntTc_d2); +----------------------------------------------------------------------------------------------- +-- WARNING EVENT COUNTER +-- When this counter issues terminal count, sunchronisation was impossible for 8 times. +----------------------------------------------------------------------------------------------- +AdcFrame_WarnCnt_PROCESS : process (FrmClkDiv, FrmClkRst) +begin + if (FrmClkRst = High) then + IntFrmWarnCnt <= (others => '0'); + IntFrmWarnCntTc_d <= Low; + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + if (IntFrmSlipCntTc_d = High) then + IntFrmWarnCnt <= IntFrmWarnCnt + "01"; + IntFrmWarnCntTc_d <= IntFrmWarnCntTc; + end if; + end if; +end process; +IntFrmWarnCntTc <= High when (IntFrmWarnCnt = "110") else Low; +FrmClkSyncWarn <= IntFrmWarnCntTc_d; +----------------------------------------------------------------------------------------------- +-- Enable, RESYNC or INTERNAL RESET +-- This is the reset logic for the whole design. +-- Whenever one of these signals (IntFrmSlipCntTc_d2, IntFrmDbleNibFnl, FrmClkReSync, FrmClkRst) +-- is high the circuit is pulled int reset (call it a re-sync operation). +-- +-- The only components not influenced by this are the ISERDES and the Sync Warning Counter. +-- they only act on the extrenal "FrmClkRst" input. +-- +-- A circuit enable "IntFrmEna" is generated when the inputs "FrmClkDone" and "FrmClkEna" are +-- high and when the "IntFrmReSync" reset is released. +----------------------------------------------------------------------------------------------- +AdcFrame_I_GenPulse_1 : GenPulse + port map ( + Clk => FrmClkDiv, -- in + Ena => High, -- in + SigIn => FrmClkReSync, -- in + SigOut => IntFrmClkReSync -- out + ); +IntFrmReSyncOut <= IntFrmSlipCntTc_d2 or IntFrmDbleNibFnl or IntFrmClkReSync or FrmClkRst; +FrmClkReSyncOut <= IntFrmReSyncOut; +-- +AdcFrame_I_Fdce_Done : FDCE + generic map (INIT => '0') -- bit + port map(D => FrmClkDone, CE => FrmClkEna, C => FrmClkDiv, CLR => IntFrmReSyncOut, + Q => IntFrmEna); +----------------------------------------------------------------------------------------------- +-- BITSLIP STATE MACHINE. +----------------------------------------------------------------------------------------------- +AdcFrame_Bitslip_PROCESS : process (IntFrmReSyncOut, FrmClkDiv) +subtype IntFrmBitSlipCase is std_logic_vector(5 downto 0); +begin + if (IntFrmReSyncOut = High) then + IntFrmBitSlip <= (others => '0'); + elsif (FrmClkDiv'event and FrmClkDiv = '1') then + if (IntFrmEna = High and IntFrmEquSet_d = Low) then + case IntFrmBitSlipCase'(IntFrmEqu_d, IntFrmEvntCntTc_d, IntFrmBitSlip(5), + IntFrmBitSlip(4), IntFrmBitSlip(3), IntFrmBitSlip(2)) is + when "000000" => IntFrmBitSlip <= "000000"; -- B + when "010000" => IntFrmBitSlip <= "000101"; -- C Slip_p + when "000001" => IntFrmBitSlip <= "000100"; -- D + when "010001" => IntFrmBitSlip <= "001010"; -- E Slip_n + when "000010" => IntFrmBitSlip <= "001000"; -- F + when "010010" => IntFrmBitSlip <= "000101"; -- G Slip_p and goto D + -- + when "100000" => IntFrmBitSlip <= "000000"; -- H + when "110000" => IntFrmBitSlip <= "100101"; -- K Slip_p + when "101001" => IntFrmBitSlip <= "110000"; -- L EquSet + when "101100" => IntFrmBitSlip <= "110000"; -- M Halt + -- + when "100001" => IntFrmBitSlip <= "000100"; -- N + when "110001" => IntFrmBitSlip <= "101010"; -- P Slip_n + when "101010" => IntFrmBitSlip <= "110000"; -- R EquSet goto M + -- + when "100010" => IntFrmBitSlip <= "001000"; -- S + when "110010" => IntFrmBitSlip <= "100101"; -- T Slip_p goto L + -- + when others => IntFrmBitSlip <= "110000"; + end case; + end if; + end if; +end process; +FrmClkBitSlip_p <= IntFrmBitSlip(0); +FrmClkBitSlip_n <= IntFrmBitSlip(1); +IntFrmEquSet_d <= IntFrmBitSlip(4); + + +testword0(7 downto 0) <= IntFrmSrdsOut; +testOK <= '1' when IntFrmSrdsOut=x"A5" else '0'; + +-- +----------------------------------------------------------------------------------------------- +end AdcFrame_struct; diff --git a/FEE_ADC32board/modules/ADCrefdesign/AdcToplevel.vhd b/FEE_ADC32board/modules/ADCrefdesign/AdcToplevel.vhd new file mode 100644 index 0000000..77959dd --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/AdcToplevel.vhd @@ -0,0 +1,739 @@ +---------------------------------------------------------------------------------------------- +-- Copyright 2010, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +----------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx Inc. +-- \ \ \/ Version: +-- \ \ +-- / / Filename: AdcToplevel.vhd +-- /___/ /\ Date Created: Nov 07 +-- \ \ / \ Date Last Modified: 7 Mar 2011 +-- \___\/\___\ +-- +-- Device: Virtex-6 +-- Author: defossez +-- Entity Name: AdcToplevel +-- Purpose: Top level for an interface between a Virtex-6 FPGA and ADS6245 +-- Tools: ISE_13.1 +-- Limitations: none +-- +-- Revision History: +-- Rev. 20 Oct 09 +-- Made the ADC interface more generic, with speate FPGA IO file and etcetera. +-- Rev. 27 Dec 10 +-- Retrived the file after accidental delete. +-- Rev. 7 Mar 11 +-- - Adjustment of the range, in the entity declaration, of "AdcMemFlags" when +-- used for 1 and 2 wire interface. +-- - Brought the generic C_FrmPattern to the top level entity declaration. Now it is +-- possible to provide the frame pattern to search for when the AdcToplevel component +-- is instantiated. +-- - Added extensive comments for teh top level entity generics and ports. +----------------------------------------------------------------------------------------------- +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +----------------------------------------------------------------------------------------------- +-- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; + use IEEE.std_logic_textio.all; + use std.textio.all; +library UNISIM; + use UNISIM.VCOMPONENTS.all; +----------------------------------------------------------------------------------------------- +-- Entity pin description +----------------------------------------------------------------------------------------------- +-- GENERICS +-- C_AdcChnls -- ADC Channels available in a package. +-- C_AdcBits -- Value can be 12, 14, or 16 (14 is means 14-bit burried in 16-bit) +-- C_AdcWireInt -- 0 = 1-wire, 1 = 2-wire +-- C_FrmPattern -- Pattern to lock the frame to. +-- +-- A 14 or 16 bit ADC in 2-wire mode has a 8-bit frame pattern. The C_FrmPattern parameter +-- must be set to: C_FrmPattern ==> "0000000011110000". +-- A 14 or 16 bit ADC in 1-wire mode has a 16-bit frame pattern. The C_FrmPattern parameter +-- must be set to: C_FrmPattern ==> "1111111100000000". +-- The same applies for a 12-bit ADC device. +-- C_FrmPattern : string := "111111000000"; -- 1-wire, 12 bit. +-- C_FrmPattern : string := "000000111000"; -- 2-wire, 12 bit. +-- +-- C_StatTaps -- Number of taps the IDELAY starts from (Middle of the Tap chain). +-- C_IdelayCtrlLoc -- Hard location of the IDELAYCTRL component. +-- PORTS +-- DATA_n -- I -- ADC data input signals from the ADC device. +-- DATA_p -- I -- +-- DCLK_n, DCLK_p -- I -- High speed clock from the ADC device. +-- FCLK_n, FCLK_p -- I -- Word or frame clock from the ADC device. +-- SysRefClk -- I -- Reference clock for IDELAYCTRL (200 MHz). +-- AdcIntrfcRst -- I -- Reset for the interface from the application. +-- AdcIntrfcEna -- I -- Enable signal for the interface from the application. +-- AdcReSync -- I -- Signal to restart the resync process. +-- AdcFrmSyncWrn -- O -- Warning from the sync logic, alignment is not possible +-- AdcBitClkAlgnWrn -- O -- Status signal. BitClock adjusted. +-- AdcBitClkInvrtd -- O -- Bit clock state, rising or falling +-- AdcBitClkDone -- O -- Bit clock alignment done +-- AdcIdlyCtrlRdy -- O -- IDELAYCTRL ready + +----------------------------------------------------------------------------------------------- +entity AdcToplevel is + generic ( + C_AdcChnls : integer := 4; -- Number of ADC in a package + C_AdcWireInt : integer := 2; -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc : string := "BUFIODQS_X0Y12"; + C_BufrLoc : string := "BUFR_X0Y6"; + C_AdcBits : integer := 16; + C_StatTaps : integer := 16; + C_AdcUseIdlyCtrl : integer := 1; -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc : string := "IDELAYCTRL_X0Y3"; + C_FrmPattern : string := "0000000011110000" -- Read above text! + ); + port ( + DCLK_p : in std_logic; + DCLK_n : in std_logic; -- Not used. + FCLK_p : in std_logic; + FCLK_n : in std_logic; + DATA_p : in std_logic_vector((C_AdcChnls*C_AdcWireInt)-1 downto 0); + DATA_n : in std_logic_vector((C_AdcChnls*C_AdcWireInt)-1 downto 0); + -- application connections + SysRefClk : in std_logic; -- 200 MHz for IODELAYCTRL from application + AdcIntrfcRst : in std_logic; + AdcIntrfcEna : in std_logic; + AdcReSync : in std_logic; + AdcFrmSyncWrn : out std_logic; + AdcBitClkAlgnWrn : out std_logic; + AdcBitClkInvrtd : out std_logic; + AdcBitClkDone : out std_logic; + AdcIdlyCtrlRdy : out std_logic; + + AdcClkDiv : out std_logic; + AdcDataClk : in std_logic; + AdcDataClkNot : in std_logic; + AdcDataOut : out std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0); + ADCs_ready : out std_logic; + testOK : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end AdcToplevel; +----------------------------------------------------------------------------------------------- +-- Arcitecture section +----------------------------------------------------------------------------------------------- +architecture AdcToplevel_struct of AdcToplevel is +----------------------------------------------------------------------------------------------- +-- Component Instantiation +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +----------------------------------------------------------------------------------------------- +-- Functions +function int_to_chr(int: integer) return character is + variable temp : character; +begin + case int is + when 0 => temp := '0'; + when 1 => temp := '1'; + when 2 => temp := '2'; + when 3 => temp := '3'; + when 4 => temp := '4'; + when 5 => temp := '5'; + when 6 => temp := '6'; + when 7 => temp := '7'; + when 8 => temp := '8'; + when 9 => temp := '9'; + when 10 => temp := 'A'; + when 11 => temp := 'B'; + when 12 => temp := 'C'; + when 13 => temp := 'D'; + when 14 => temp := 'E'; + when 15 => temp := 'F'; + when 16 => temp := 'G'; + when 17 => temp := 'H'; + when 18 => temp := 'I'; + when 19 => temp := 'J'; + when 20 => temp := 'K'; + when 21 => temp := 'L'; + when 22 => temp := 'M'; + when 23 => temp := 'N'; + when 24 => temp := 'O'; + when 25 => temp := 'P'; + when 26 => temp := 'Q'; + when 27 => temp := 'R'; + when 28 => temp := 'S'; + when 29 => temp := 'T'; + when 30 => temp := 'U'; + when 31 => temp := 'V'; + when 32 => temp := 'W'; + when 33 => temp := 'X'; + when 34 => temp := 'Y'; + when 35 => temp := 'Z'; + when others => temp := '?'; + end case; +return temp; +end function int_to_chr; +-- +function int_to_str(int: integer; base: integer) return string is + variable temp: string(1 to 10); + variable num: integer; + variable abs_int: integer; + variable len: integer := 1; + variable power: integer := 1; +begin + abs_int := abs(int); -- Negative numbers + num := abs_int; + + while num >= base loop -- Determine how many + len := len + 1; -- characters required + num := num / base; -- to represent the + end loop ; -- number. + + for i in len downto 1 loop -- Convert the number to + temp(i) := int_to_chr(abs_int/power mod base); -- a string starting + power := power * base; -- with the right hand + end loop ; -- side. + + -- return result and add sign if required + if int < 0 then + return '-'& temp(1 to len); + else + return temp(1 to len); + end if; +end function int_to_str; +-- In two wire mode a 12 bit ADC has 2 channels of 6 bits. The AdcBits stay at 12. +-- In two wire mode a 14 bit ADC has 2 channels of 8 bits. The AdcBits is set at 16. +-- In two wire mode a 16 bit ADC has 2 channels of 8 bits. The AdcBits stay at 16. +function AdcBits (Bits : integer) return integer is +variable Temp : integer; +begin + if (Bits = 12) then + Temp := 12; + elsif (Bits = 14) then + Temp := 16; + elsif (Bits = 16) then + Temp := 16; + end if; +return Temp; +end function AdcBits; + +component AdcClock is + generic ( + C_BufioLoc : string := C_BufioLoc; + C_BufrLoc : string := C_BufrLoc; + C_AdcBits : integer := C_AdcBits; + C_StatTaps : integer := C_StatTaps + ); + port ( + BitClk : in std_logic; + BitClkRst : in std_logic; + BitClkEna : in std_logic; + BitClkReSync : in std_logic; + BitClkDivReset : in std_logic; + BitClk_MonClkOut : out std_logic; -- CLK output + BitClk_MonClkIn : in std_logic; -- ISERDES.CLK input + BitClk_RefClkOut : out std_logic; -- CLKDIV & logic output + BitClk_RefClkIn : in std_logic; -- CLKDIV & logic input + BitClkAlignWarn : out std_logic; + BitClkInvrtd : out std_logic; + BitClkDone : out std_logic + ); +end component; + +component AdcFrame is + generic ( + C_AdcBits : integer; + C_AdcWireInt : integer; + C_FrmPattern : string + ); + port ( + FrmClk_n : in std_logic; -- input n from IBUFDS_DIFF_OUT + FrmClk_p : in std_logic; -- input p from IBUFDS_DIFF_OUT + FrmClkRst : in std_logic; + FrmClkEna : in std_logic; + FrmClk : in std_logic; + FrmClkDiv : in std_logic; + FrmClkDone : in std_logic; -- Input from clock syncronisation. + FrmClkReSync : in std_logic; + FrmClkBitSlip_p : out std_logic; + FrmClkBitSlip_n : out std_logic; + FrmClkSwapMux : out std_logic; + FrmClkMsbRegEna : out std_logic; + FrmClkLsbRegEna : out std_logic; + FrmClkReSyncOut : out std_logic; + FrmClkDat : out std_logic_vector(15 downto 0); + FrmClkSyncWarn : out std_logic; + Frame_out : out std_logic; + testOK : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component AdcData is + generic ( + C_AdcBits : integer := C_AdcBits; -- Can be 12, 14 or 16 + C_AdcBytOrBitMode : integer := 1; -- 1 = BIT mode, 0 = BYTE mode, + C_AdcMsbOrLsbFst : integer := 0; -- 0 = MSB first, 1 = LSB first + C_AdcWireInt : integer := C_AdcWireInt -- 1 = 1-wire, 2 = 2-wire. + ); + port ( + DatD0_n : in std_logic; + DatD0_p : in std_logic; + DatD1_n : in std_logic; + DatD1_p : in std_logic; + DatClk : in std_logic; + DatClkDiv : in std_logic; + DatRst : in std_logic; + DatEna : in std_logic; + DatDone : in std_logic; + DatBitSlip_p : in std_logic; + DatBitSlip_n : in std_logic; + DatSwapMux : in std_logic; + DatMsbRegEna : in std_logic; + DatLsbRegEna : in std_logic; + DatReSync : in std_logic; + DatOut : out std_logic_vector(31 downto 0) + ); +end component; + +attribute keep : string; + +-- Constants +constant Low : std_logic := '0'; +constant High : std_logic := '1'; +-- Signals +signal IntIdlyCtrlRdy : std_logic := '0'; +signal IntRst0 : std_logic := '0'; +signal IntRst : std_logic := '0'; +signal IntEna_d : std_logic := '0'; +signal IntEna : std_logic := '0'; +-- +signal IntBitClkDone : std_logic := '0'; +signal IntClk : std_logic := '0'; +signal IntClkDiv : std_logic := '0'; +attribute keep of IntClkDiv : signal is "TRUE"; +signal IntClkBitSlip_p : std_logic := '0'; +signal IntClkBitSlip_n : std_logic := '0'; +signal IntClkSwapMux : std_logic := '0'; +signal IntClkMsbRegEna : std_logic := '0'; +signal IntClkLsbRegEna : std_logic := '0'; +signal IntFrmClkReSyncOut : std_logic := '0'; +signal IntDataOut : std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0) := (others => '0'); +signal IntDataOut_S : std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0) := (others => '0'); +-- Attributes +attribute LOC : string; +----------------------------------------------------------------------------------------------- +-- +signal AdcBitClkAlgnWrn_S : std_logic := '0'; +signal AdcBitClkInvrtd_S : std_logic := '0'; +signal adcfrmsyncwrn_S : std_logic := '0'; +signal AdcIdlyCtrlRdy_S : std_logic := '0'; +signal testOK_S : std_logic := '0'; +signal testword0_S : std_logic_vector(35 downto 0) := (others => '0'); +signal AdcReSync_S : std_logic := '0'; +signal slipoccurred_S : std_logic := '0'; +signal slipsoccurred_S : std_logic := '0'; +signal slipcounter_S : integer range 0 to 255 := 0; +signal IntBitClkDone_S : std_logic := '0'; +signal ClockResync_S : std_logic := '0'; +signal ClockResync0_S : std_logic := '0'; + +signal IntEna_S : std_logic := '0'; +signal IntRst_S : std_logic := '0'; +signal frame_S : std_logic := '0'; +signal reset_clockdiv_S : std_logic := '0'; + +signal AdcData_negedge : std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0); +signal AdcDataOut_S : std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0); + + +-- Attributes +attribute keep of reset_clockdiv_S : signal is "TRUE"; + +begin + +AdcClkDiv <= IntClkDiv; +--AdcDataOut <= IntDataOut; + +--process(IntClkDiv) +--begin +-- if falling_edge(IntClkDiv) then +-- AdcData_negedge <= IntDataOut; +-- end if; +--end process; + +process(IntClkDiv) +begin + if rising_edge(IntClkDiv) then + IntDataOut_S <= IntDataOut; + end if; +end process; + +process(AdcDataClkNot) +begin + if rising_edge(AdcDataClkNot) then + AdcData_negedge <= IntDataOut_S; + end if; +end process; + +process(AdcDataClk) +begin + if rising_edge(AdcDataClk) then + AdcDataOut <= AdcDataOut_S; + AdcDataOut_S <= AdcData_negedge; + end if; +end process; + + +----------------------------------------------------------------------------------------------- +-- IDELAYCTRL +-- An IDELAYCTRL component must be used per IO-bank. Normally a ADC port fits a whole +-- IO-Bank. The number of IDELAYCTRL components should thus fit with the number of ADC port. +-- In case of this test design, two ADC ports fit into one IO-Bank, thus only one IDLEAYCTRL +-- component is needed. +-- Don not forget to hook the outputs of the IDELAYCTRL components correctly to the reset and +-- enable for each ADC block. +-- Don not forget to LOC the IDELAYCTRL components down. +----------------------------------------------------------------------------------------------- +Gen_0 : if C_AdcUseIdlyCtrl = 0 generate + AdcIdlyCtrlRdy_S <= High; +end generate Gen_0; +Gen_1 : if C_AdcUseIdlyCtrl = 1 generate +attribute LOC of AdcToplevel_I_IdlyCtrl_0 : label is C_AdcIdlyCtrlLoc; +begin + AdcToplevel_I_IdlyCtrl_0 : IDELAYCTRL + port map (REFCLK => SysRefClk, RST => reset_clockdiv_S , RDY => AdcIdlyCtrlRdy_S);--peter AdcIntrfcRst +end generate Gen_1; +AdcIdlyCtrlRdy <= AdcIdlyCtrlRdy_S; +-- IntRst and IntEna are the reset and enable signals to be used in the interafce. +-- they are generated from the incomming system enable and reset. + +AdcToplevel_I_Fdpe_Rst : FDPE + generic map (INIT => '1') + port map (C => IntClkDiv, CE => High, PRE => reset_clockdiv_S, D => Low, Q => IntRst);--peter AdcIntrfcRst + + + +AdcToplevel_I_Fdce_Ena_0 : FDCE + generic map (INIT => '0') + port map (C => IntClkDiv, CE => AdcIntrfcEna, CLR => IntRst, D => High, Q => IntEna_d); +AdcToplevel_I_Fdce_Ena_1 : FDCE + generic map (INIT => '0') + port map (C => IntClkDiv, CE => High, CLR => IntRst, D => IntEna_d, Q => IntEna); +----------------------------------------------------------------------------------------------- +-- C_AdcChnls = c +-- C_AdcWireInt = w +-- C_AdcBits = b +----------------------------------------------------------------------------------------------- +-- BIT CLOCK +-- IntClk and IntClkDiv are the clock to be used in the interface. +----------------------------------------------------------------------------------------------- +-- There is no IBUFGDS used on this level of the design. +-- The IBUFGDS can be found in the AdcIo level. +-- That is this the reason why the DCLK_n is not used here. +-- At the AdcIo level the DCLK_n output is connected to GND. +AdcToplevel_I_AdcClock : AdcClock -- entity AdcClock.AdcClock +generic map ( + C_BufioLoc => C_BufioLoc, -- string + C_BufrLoc => C_BufrLoc, -- string + C_AdcBits => C_AdcBits, -- integer + C_StatTaps => C_StatTaps -- integer + ) +port map ( + BitClk => DCLK_p, -- in + BitClkRst => IntRst, -- in + BitClkEna => '1', -- IntEna_S, -- in + BitClkReSync => ClockResync_S, -- AdcReSync_S, -- in + BitClkDivReset => reset_clockdiv_S, + BitClk_MonClkOut => IntClk, -- out -->--|---->---- + BitClk_MonClkIn => IntClk, -- in --<--| + BitClk_RefClkOut => IntClkDiv, -- out -->----|-->---- + BitClk_RefClkIn => IntClkDiv, -- in --<----| + BitClkAlignWarn => AdcBitClkAlgnWrn_S,-- out + BitClkInvrtd => AdcBitClkInvrtd_S, -- out + BitClkDone => IntBitClkDone -- out Enables the AdcFrame block. +); +AdcBitClkDone <= IntBitClkDone; -- IntBitClkDone_S; +AdcBitClkInvrtd <= AdcBitClkInvrtd_S; +AdcBitClkAlgnWrn <= AdcBitClkAlgnWrn_S; +----------------------------------------------------------------------------------------------- +-- WORD / FRAME CLOCK +----------------------------------------------------------------------------------------------- +AdcToplevel_I_AdcFrame : AdcFrame -- entity AdcFrame_Lib.AdcFrame +generic map ( + C_AdcBits => C_AdcBits, -- integer; + C_AdcWireInt => C_AdcWireInt, -- integer; + C_FrmPattern => C_FrmPattern -- string -- 1 or 2-wire, 12 or 16(14)-bit +) +port map ( + FrmClk_n => FCLK_n, -- in input n from IBUFDS_DIFF_OUT + FrmClk_p => FCLK_p, -- in input p from IBUFDS_DIFF_OUT + FrmClkRst => IntRst_S, -- in + FrmClkEna => IntEna_S, -- in + FrmClk => IntClk, -- in + FrmClkDiv => IntClkDiv, -- in + FrmClkDone => IntBitClkDone, -- IntBitClkDone_S, -- in From AdcClock done. + FrmClkReSync => AdcReSync_S, -- in + FrmClkBitSlip_p => IntClkBitSlip_p, -- out + FrmClkBitSlip_n => IntClkBitSlip_n, -- out + FrmClkSwapMux => IntClkSwapMux, -- out + FrmClkMsbRegEna => IntClkMsbRegEna, -- out + FrmClkLsbRegEna => IntClkLsbRegEna, -- out + FrmClkReSyncOut => IntFrmClkReSyncOut, -- out + FrmClkDat => open, -- out + FrmClkSyncWarn => AdcFrmSyncWrn_S, -- out + Frame_out => frame_S, + testOK => testOK_S, + testword0 => testword0_S +); +adcfrmsyncwrn <= adcfrmsyncwrn_S; +testOK <= testOK_S; +----------------------------------------------------------------------------------------------- +-- DATA INPUTS +-- Default the interface is set in BYTE and MSB first mode. +-- This is coded in the AdcData level and can be mnodified if wanted. +-- Enable the generics and all selection possibilities are available. +----------------------------------------------------------------------------------------------- +Gen_2 : for cw in ((C_AdcChnls/2)*C_AdcWireInt)-1 downto 0 generate +-- assert false +-- report int_to_str((32*((cw+1)+(p*C_AdcChnls))),10) +-- severity note; + AdcToplevel_I_AdcData : AdcData -- entity AdcData.AdcData + generic map ( + C_AdcBits => C_AdcBits, -- Can be 12, 14 or 16 + C_AdcWireInt => C_AdcWireInt -- 1 = 1-wire, 2 = 2-wire. + ) + port map ( + DatD0_n => DATA_n(cw*2), -- in + DatD0_p => DATA_p(cw*2), -- in + DatD1_n => DATA_n((cw*2)+1), -- in + DatD1_p => DATA_p((cw*2)+1), -- in + DatClk => IntClk, -- in + DatClkDiv => IntClkDiv, -- in + DatRst => IntRst_S, -- in + DatEna => IntEna_S, -- in + DatDone => IntBitClkDone, -- IntBitClkDone_S, -- in + DatBitSlip_p => IntClkBitSlip_p, -- in + DatBitSlip_n => IntClkBitSlip_n, -- in + DatSwapMux => IntClkSwapMux, -- in + DatMsbRegEna => IntClkMsbRegEna, -- in + DatLsbRegEna => IntClkLsbRegEna, -- in + DatReSync => IntFrmClkReSyncOut, -- in + DatOut => IntDataOut((32*(cw+1))-1 downto (32*(cw+1))-32) + ); + + +--AdcDataOut((32*(cw+1))-1 downto (32*(cw+1))-(32/C_AdcWireInt)) <= IntDataOut((32*(cw+1))-1 downto (32*(cw+1))-(32/C_AdcWireInt)); + + + +end generate Gen_2; + + +process(IntClkDiv) +begin + if (rising_edge(IntClkDiv)) then + AdcReSync_S <= AdcReSync; + end if; +end process; + +-- reset_clockdiv_S <= '1' when (frame_S='0') and (reset_clockdiv0_S='1') else '0'; +reset_clockdiv : FDPE + generic map (INIT => '1') + port map (C => frame_S, CE => High, PRE => AdcIntrfcRst, D => Low, Q => reset_clockdiv_S); + +--process(SysRefClk) +--begin +-- if (rising_edge(SysRefClk)) then +-- if (AdcIntrfcRst='1') then -- or (ClockResync0_S='1') then +-- reset_clockdiv0_S <= '1'; +-- elsif frame_S='1' then +-- reset_clockdiv0_S <= '0'; +-- end if; +-- end if; +--end process; + +--process(IntClkDiv,reset_clockdiv0_S) +--variable counter_V : integer range 0 to 3 := 0; +--begin +-- if reset_clockdiv0_S='1' then +-- ClockResync_S <= '0'; +-- counter_V := 0; +-- elsif (rising_edge(IntClkDiv)) then +-- if counter_V<3 then +-- counter_V := counter_V+1; +-- ClockResync_S <= '1'; +-- else +-- ClockResync_S <= '0'; +-- end if; +-- end if; +--end process; +ClockResync_S <= ClockResync0_S; +process(IntClkDiv,AdcIntrfcRst) -- reset_clockdiv_S) +begin +-- if reset_clockdiv_S='1' then + if AdcIntrfcRst='1' then + slipoccurred_S <= '0'; + slipsoccurred_S <= '0'; + slipcounter_S <= 0; + ClockResync0_S <= '0'; + IntBitClkDone_S <= '0'; + IntEna_S <= '0'; + IntRst_S <= '0'; + ADCs_ready <= '0'; + elsif (rising_edge(IntClkDiv)) then + if (IntBitClkDone='0') or (ClockResync_S='1') then + slipcounter_S <= 0; + slipoccurred_S <= '0'; + slipsoccurred_S <= '0'; + ClockResync0_S <= '0'; + IntBitClkDone_S <= '0'; + IntEna_S <= '0'; + IntRst_S <= '0'; + ADCs_ready <= '0'; + elsif slipcounter_S<2 then + slipcounter_S <= slipcounter_S+1; + ClockResync0_S <= '0'; + slipoccurred_S <= '0'; + slipsoccurred_S <= '0'; + IntBitClkDone_S <= '0'; + IntEna_S <= '0'; + IntRst_S <= '0'; + elsif slipcounter_S<31 then + slipcounter_S <= slipcounter_S+1; + ClockResync0_S <= '0'; + slipoccurred_S <= '0'; + slipsoccurred_S <= '0'; + IntBitClkDone_S <= '0'; + IntEna_S <= '0'; + IntRst_S <= '0'; + elsif slipcounter_S<33 then + slipcounter_S <= slipcounter_S+1; + IntRst_S <= '1'; + elsif slipcounter_S<63 then + slipcounter_S <= slipcounter_S+1; + IntRst_S <= '0'; + elsif slipcounter_S<95 then + slipcounter_S <= slipcounter_S+1; + IntEna_S <= '1'; + elsif slipcounter_S<111 then + slipcounter_S <= slipcounter_S+1; + IntBitClkDone_S <= '1'; + elsif slipcounter_S<254 then + slipcounter_S <= slipcounter_S+1; + IntBitClkDone_S <= '1'; + if (IntClkBitSlip_p='1') then + if slipoccurred_S='1' then + slipsoccurred_S <= '1'; + end if; + slipoccurred_S <= '1'; + end if; + if (IntClkBitSlip_n='1') then + slipsoccurred_S <= '1'; + slipoccurred_S <= '1'; + end if; + elsif slipcounter_S<255 then + slipcounter_S <= slipcounter_S+1; +-- if (slipsoccurred_S='1') or (testOK_S='0') or (IntClkSwapMux='1') or (AdcBitClkInvrtd_S='0') or (AdcBitClkAlgnWrn_S='1') then + if (slipsoccurred_S='1') or (IntClkSwapMux='1') or (AdcBitClkAlgnWrn_S='1') then +-- if (testOK_S='0') or (IntClkSwapMux='1') or (AdcBitClkAlgnWrn_S='1') then + ClockResync0_S <= '1'; + else + ADCs_ready <= '1'; + end if; + else + ClockResync0_S <= '0'; + end if; + end if; +end process; + + + + +----------------------------------------------------------------------------------------------- +-- + +--1000 +testword0(0) <= IntRst; +testword0(1) <= AdcReSync_S; +testword0(2) <= AdcBitClkAlgnWrn_S; +testword0(3) <= AdcBitClkInvrtd_S; + +--0001 +testword0(4) <= IntBitClkDone; +testword0(5) <= IntClkBitSlip_p; +testword0(6) <= IntClkBitSlip_n; +testword0(7) <= IntClkSwapMux; + +--0011 +testword0(8) <= IntRst_S; -- IntClkMsbRegEna; +testword0(9) <= IntEna_S; -- IntClkLsbRegEna; +testword0(10) <= IntFrmClkReSyncOut; +testword0(11) <= AdcFrmSyncWrn_S; + +--1000 +testword0(12) <= AdcIntrfcRst; +testword0(13) <= testOK_S; +testword0(14) <= Frame_S; +testword0(15) <= AdcIdlyCtrlRdy_S; + +testword0(16) <= AdcReSync_S; +testword0(17) <= slipoccurred_S; +testword0(18) <= slipsoccurred_S; +testword0(19) <= IntBitClkDone_S; +testword0(20) <= ClockResync_S; +testword0(21) <= ClockResync0_S; +testword0(22) <= reset_clockdiv_S; +testword0(23) <= reset_clockdiv_S; + + +-- testword0(23 downto 16) <= testword0_S(7 downto 0); + +testword0(35 downto 24) <= (others => '0'); + +end AdcToplevel_struct; \ No newline at end of file diff --git a/FEE_ADC32board/modules/ADCrefdesign/DoubleNibbleDetect.vhd b/FEE_ADC32board/modules/ADCrefdesign/DoubleNibbleDetect.vhd new file mode 100644 index 0000000..0152478 --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/DoubleNibbleDetect.vhd @@ -0,0 +1,293 @@ +--------------------------------------------------------------------------------------------- +-- © Copyright 2011, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +--------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx Inc. +-- \ \ \/ Version: +-- \ \ Filename: DoubleNibbleDetect.vhd +-- / / Date Created: 16 March, 2011 +-- /___/ /\ Date Last Modified: 16 March, 2011 +-- \ \ / \ +-- \___\/\___\ +-- +-- Device: Virtex-6 +-- Author: defossez +-- Entity Name: DoubleNibbleDetect +-- Purpose: Create a on-off signal that already reacts at the combinatorial input. +-- Tools: ISE_13.1 +-- Limitations: none +-- +-- Revision History: +-- Rev. +-- +------------------------------------------------------------------------------ +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +--------------------------------------------------------------------------------------------- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; +library UNISIM; + use UNISIM.vcomponents.all; +--------------------------------------------------------------------------------------------- +-- Entity pin description +--------------------------------------------------------------------------------------------- +-- Clock : Clock for the design. +-- RstIn : Reset input. Resets the necessary logic at startup. +-- Final : This circuit checks a nibble (4-bit) for appearing twice, when for rotations or +-- slips are made, teh fifth ossurence resets the circuit. this is signalled ouside +-- so that a upper layer of design can take action. +-- DataIn : Nibble input. +-- DataOut : Corrected nibble output. +--------------------------------------------------------------------------------------------- +entity DoubleNibbleDetect is + port ( + Clock : in std_logic; + RstIn : in std_logic; + Final : out std_logic; + DataIn : in std_logic_vector(3 downto 0); + DataOut : out std_logic_vector(3 downto 0) + ); +end DoubleNibbleDetect; +--------------------------------------------------------------------------------------------- +-- Architecture section +--------------------------------------------------------------------------------------------- +architecture DoubleNibbleDetect_struct of DoubleNibbleDetect is +--------------------------------------------------------------------------------------------- +-- Component Instantiation +--------------------------------------------------------------------------------------------- +--------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +--------------------------------------------------------------------------------------------- +-- Functions +-- Constants +constant Low : std_logic := '0'; +constant High : std_logic := '1'; +-- Signals +signal IntRegOutIn : std_logic_vector(3 downto 0); +signal IntAddr : std_logic_vector(4 downto 0); +signal IntSrlOut : std_logic_vector(3 downto 0); +-- +signal IntRegOutIn_s : std_logic_vector(3 downto 0); +signal IntAddr_s : std_logic_vector(4 downto 0); +signal IntSrlOut_s : std_logic_vector(3 downto 0); +signal DataOut_s : std_logic_vector(3 downto 0); +-- +signal IntEqu : std_logic; +signal IntEqu_d : std_logic; +signal IntPulse : std_logic; +signal IntSlipCnt : std_logic_vector(3 downto 0); +signal IntSlipCnt_d : std_logic_vector(3 downto 0); +signal IntSlipCntRst : std_logic; +signal IntEquCnt : std_logic_vector(3 downto 0); +signal IntEquCnt_d : std_logic_vector(3 downto 0); +-- +signal IntRstSet : std_logic; +signal IntRstIn : std_logic; +signal IntRstFf_d : std_logic_vector(7 downto 0) := X"00"; +signal IntRstIn_d : std_logic; +-- +signal IntAddrSet : std_logic_vector(3 downto 0); +-- Attributes +attribute IOB : string; +attribute HBLKNM : string; +--------------------------------------------------------------------------------------------- +begin +--------------------------------------------------------------------------------------------- +-- Delay the start of the ciruit after reset. +--------------------------------------------------------------------------------------------- +IntRstIn <= RstIn or IntRstSet; +-- +Gen_Rst : for n in 0 to 7 generate + Reg_Lsb : if n = 0 generate + DbleNibl_I_Fdse : FDSE -- Synchronous set + generic map (INIT => '0') + port map (D => Low, CE => High, C => Clock, S => IntRstSet, Q => IntRstFf_d(n)); + end generate Reg_Lsb; + Reg_MidL : if n > 0 and n <= 5 generate + DbleNibl_I_Fdse : FDSE -- Synchronous set + generic map (INIT => '0') + port map (D => IntRstFf_d(n-1), CE => High, C => Clock, S => IntRstSet, + Q => IntRstFf_d(n)); + end generate Reg_MidL; + Reg_MidH : if n = 6 generate + DbleNibl_I_Fdse : FDSE -- Synchronous set + generic map (INIT => '0') + port map (D => IntRstFf_d(n-1), CE => High, C => Clock, S => IntRstIn, + Q => IntRstFf_d(n)); + end generate Reg_MidH; + Reg_Msb : if n = 7 generate + DbleNibl_I_Fdse : FDSE -- Synchronous set + generic map (INIT => '0') + port map (D => IntRstFf_d(n-1), CE => High, C => Clock, S => IntRstIn, + Q => IntRstFf_d(n)); + -- + IntRstIn_d <= IntRstFf_d(n); + end generate Reg_Msb; +end generate Gen_Rst; +--------------------------------------------------------------------------------------------- +-- Data path registers +--------------------------------------------------------------------------------------------- +Gen_Reg : for n in 3 downto 0 generate + In_I_Fdce : FDCE + generic map (INIT => '0') + port map (D => DataIn(n), CE => High, C => Clock, CLR => IntRstIn_d, + Q => IntRegOutIn_s(n)); +IntRegOutIn(n) <= IntRegOutIn_s(n); -- after 100 ps; + DbleNibl_I_Srlc32e : SRLC32E + generic map (INIT => X"00000000") + port map (D => IntRegOutIn(n), A => IntAddr, CE => High, CLK => Clock, Q31 => open, + Q => IntSrlOut_s(n)); +IntSrlOut(n) <= IntSrlOut_s(n); -- after 100 ps; + Out_I_Fdce : FDCE + generic map (INIT => '0') + port map (D => IntSrlOut(n), CE => High, C => Clock, CLR => IntRstIn_d, + Q => DataOut_s(n)); +DataOut(n) <= DataOut_s(n); -- after 100 ps; +end generate Gen_Reg; +--------------------------------------------------------------------------------------------- +-- Compare present and past for equality. +--------------------------------------------------------------------------------------------- +IntEqu <= '1' when (DataIn = IntRegOutIn) else '0'; +----------------------------------------------------------------------------------------------- +-- Generate the SRL addresses +--------------------------------------------------------------------------------------------- +IntAddr(3 downto 0) <= "0100" when (IntEquCnt_d = "0000" and IntSlipCnt_d = "0000") else + "0011" when (IntEquCnt_d = "0001" and IntSlipCnt_d = "0111") else + "0010" when (IntEquCnt_d = "0011" and IntSlipCnt_d = "0110") else + "0001" when (IntEquCnt_d = "0010" and IntSlipCnt_d = "0010") else + "0000" when (IntEquCnt_d = "0110" and IntSlipCnt_d = "0011") else + "0100" when (IntEquCnt_d = "0111" and IntSlipCnt_d = "0001"); +IntAddr(4) <= Low; +--IntRstSet <= '1' when (IntEquCnt_d = "0111" and IntSlipCnt_d = "0001") else '0'; +IntRstSet <= '1' when (IntEquCnt_d = "0110" and IntSlipCnt_d = "0000" and IntPulse = '1') + else '0'; +Final <= IntRstSet; +--------------------------------------------------------------------------------------------- +-- Equal/Double nibble detect counters +--------------------------------------------------------------------------------------------- +IntPulse <= IntEqu or IntEqu_d; +-- +DbleNibl_I_Fdce : FDCE -- Asynchronous reset + generic map (INIT => '0') + port map (D => High, CE => IntEqu, C => Clock, CLR => IntSlipCntRst, Q => IntEqu_d); +-- When a double nibble is detected shift the pulse over four taps and reset the shifter +-- at the fifth tap. +--------------------------------------------------------------------------------------------- +-- Slip Counter +-- When equality is detected, this counter counts till a preset number and then resets. +--------------------------------------------------------------------------------------------- +IntSlipCntRst <= '1' when (IntRstIn_d = '1' or IntSlipCnt_d = "0101") else '0'; +-- +Gen_SlipCnt : for n in 3 downto 0 generate + attribute HBLKNM of Cnt_I_Fdre : label is "SlipCnt"; + attribute IOB of Cnt_I_Fdre : label is "FALSE"; + begin + Cnt_I_Fdre : FDRE -- Synchronous reset + generic map (INIT => '0') + port map (D => IntSlipCnt(n), CE => IntPulse, C => Clock, R => IntSlipCntRst, + Q => IntSlipCnt_d(n)); +end generate Gen_SlipCnt; +-- These ar the "SlipCnt" states, orginized in Gray mode +DbleNibl_SlipCnt_PROCESS : process (IntSlipCnt_d) +begin + case IntSlipCnt_d(3 downto 0) is + when "0000" => IntSlipCnt <= "0001"; -- after 100 ps; + when "0001" => IntSlipCnt <= "0011"; -- after 100 ps; + when "0011" => IntSlipCnt <= "0010"; -- after 100 ps; + when "0010" => IntSlipCnt <= "0110"; -- after 100 ps; + when "0110" => IntSlipCnt <= "0111"; -- after 100 ps; + when "0111" => IntSlipCnt <= "0101"; -- after 100 ps; + when "0101" => IntSlipCnt <= "0000"; -- after 100 ps; + when others => IntSlipCnt <= "0000"; -- after 100 ps; + end case; +end process; +--------------------------------------------------------------------------------------------- +-- Equ Counter +-- Count how many times a double nibble is detected. +-- becuase a nibble of data is taken, it can only be four times. +-- When equality is detected for the fift time the system is reset. +--------------------------------------------------------------------------------------------- +Gen_EquCnt : for n in 3 downto 0 generate + attribute HBLKNM of Equ_I_Fdre : label is "EquCnt"; + attribute IOB of Equ_I_Fdre : label is "FALSE"; + begin + Equ_I_Fdre : FDRE -- Synchronous reset + generic map (INIT => '0') + port map (D => IntEquCnt(n), CE => IntEqu, C => Clock, R => IntRstIn_d, + Q => IntEquCnt_d(n)); +end generate Gen_EquCnt; +-- +DbleNibl_EquCnt_PROCESS : process (IntEquCnt_d) +begin + case IntEquCnt_d(3 downto 0) is + when "0000" => IntEquCnt <= "0001"; -- after 100 ps; + when "0001" => IntEquCnt <= "0011"; -- after 100 ps; + when "0011" => IntEquCnt <= "0010"; -- after 100 ps; + when "0010" => IntEquCnt <= "0110"; -- after 100 ps; + when "0110" => IntEquCnt <= "0111"; -- after 100 ps; + when "0111" => IntEquCnt <= "0101"; -- after 100 ps; + when "0101" => IntEquCnt <= "0100"; -- after 100 ps; + when "0100" => IntEquCnt <= "1100"; -- after 100 ps; + when "1100" => IntEquCnt <= "1101"; -- after 100 ps; + when "1101" => IntEquCnt <= "1111"; -- after 100 ps; + when "1111" => IntEquCnt <= "1110"; -- after 100 ps; + when "1110" => IntEquCnt <= "1010"; -- after 100 ps; + when "1010" => IntEquCnt <= "1011"; -- after 100 ps; + when "1011" => IntEquCnt <= "1001"; -- after 100 ps; + when "1001" => IntEquCnt <= "1000"; -- after 100 ps; + when "1000" => IntEquCnt <= "0000"; -- after 100 ps; + when others => IntEquCnt <= "0000"; -- after 100 ps; + end case; +end process; +-- +--------------------------------------------------------------------------------------------- +end DoubleNibbleDetect_struct; diff --git a/FEE_ADC32board/modules/ADCrefdesign/GenPulse.vhd b/FEE_ADC32board/modules/ADCrefdesign/GenPulse.vhd new file mode 100644 index 0000000..dd77e92 --- /dev/null +++ b/FEE_ADC32board/modules/ADCrefdesign/GenPulse.vhd @@ -0,0 +1,132 @@ +----------------------------------------------------------------------------------------------- +-- © Copyright 2008 - 2009, Xilinx, Inc. All rights reserved. +-- This file contains confidential and proprietary information of Xilinx, Inc. and is +-- protected under U.S. and international copyright and other intellectual property laws. +----------------------------------------------------------------------------------------------- +-- +-- Disclaimer: +-- This disclaimer is not a license and does not grant any rights to the materials +-- distributed herewith. Except as otherwise provided in a valid license issued to you +-- by Xilinx, and to the maximum extent permitted by applicable law: (1) THESE MATERIALS +-- ARE MADE AVAILABLE "AS IS" AND WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL +-- WARRANTIES AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING BUT NOT LIMITED +-- TO WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR +-- PURPOSE; and (2) Xilinx shall not be liable (whether in contract or tort, including +-- negligence, or under any other theory of liability) for any loss or damage of any +-- kind or nature related to, arising under or in connection with these materials, +-- including for any direct, or any indirect, special, incidental, or consequential +-- loss or damage (including loss of data, profits, goodwill, or any type of loss or +-- damage suffered as a result of any action brought by a third party) even if such +-- damage or loss was reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail-safe, or for use in any +-- application requiring fail-safe performance, such as life-support or safety devices +-- or systems, Class III medical devices, nuclear facilities, applications related to +-- the deployment of airbags, or any other applications that could lead to death, +-- personal injury, or severe property or environmental damage (individually and +-- collectively, "Critical Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical Applications, subject only to +-- applicable laws and regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS PART OF THIS FILE AT ALL TIMES. +-- +-- Contact: e-mail hotline@xilinx.com phone + 1 800 255 7778 +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version: +-- \ \ Filename: GenPulse.vhd +-- / / Date Last Modified: +-- /___/ /\ Date Created: 08 Mar 08 +-- \ \ / \ +-- \___\/\___\ +-- +-- Device: +-- Author: Marc Defossez +-- Entity Name: GenPulse +-- Purpose: Generate a clock cycle wide pulse from a wide high input +-- Tools: ISE_10.1 +-- Limitations: none +-- +-- Revision History: +-- Rev. +-- +----------------------------------------------------------------------------------------------- +-- Naming Conventions: +-- active low signals: "*_n" +-- clock signals: "clk", "clk_div#", "clk_#x" +-- reset signals: "rst", "rst_n" +-- generics: "C_*" +-- user defined types: "*_TYPE" +-- state machine next state: "*_ns" +-- state machine current state: "*_cs" +-- combinatorial signals: "*_com" +-- pipelined or register delay signals: "*_d#" +-- counter signals: "*cnt*" +-- clock enable signals: "*_ce" +-- internal version of output port: "*_i" +-- device pins: "*_pin" +-- ports: "- Names begin with Uppercase" +-- processes: "*_PROCESS" +-- component instantiations: "I_<#|FUNC>" +----------------------------------------------------------------------------------------------- +-- +library IEEE; + use IEEE.std_logic_1164.all; + use IEEE.std_logic_UNSIGNED.all; +library UNISIM; + use UNISIM.VCOMPONENTS.all; +----------------------------------------------------------------------------------------------- +-- Entity pin description +----------------------------------------------------------------------------------------------- +-- +----------------------------------------------------------------------------------------------- +entity GenPulse is + port ( + Clk : in std_logic; + Ena : in std_logic; + SigIn : in std_logic; + SigOut : out std_logic + ); +end GenPulse; + +----------------------------------------------------------------------------------------------- +-- Arcitecture section +----------------------------------------------------------------------------------------------- +architecture GenPulse_struct of GenPulse is +----------------------------------------------------------------------------------------------- +-- Component Instantiation +----------------------------------------------------------------------------------------------- +----------------------------------------------------------------------------------------------- +-- Constants, Signals and Attributes Declarations +----------------------------------------------------------------------------------------------- +-- Functions +-- Constants +-- constant Low : std_logic := '0'; +-- constant High : std_logic := '1'; +-- Signals +signal IntSigOut : std_logic; +signal IntSigIn_n : std_logic; +signal IntSigClr : std_logic; +-- Attributes +----------------------------------------------------------------------------------------------- +-- +begin +-- +GenPulse_I_Fdce_1 : FDCE + generic map (INIT => '0') + port map (D => SigIn, C => Clk, CLR => IntSigClr, CE => Ena, Q => IntSigOut); +-- +IntSigIn_n <= not SigIn; +-- +GenPulse_I_Fdce_2 : FDCE + generic map (INIT => '0') + port map (D => IntSigOut, C => Clk, CLR => IntSigIn_n, CE => IntSigOut, Q => IntSigClr); +-- +SigOut <= IntSigOut; +-- +----------------------------------------------------------------------------------------------- +end GenPulse_struct; +-- \ No newline at end of file diff --git a/FEE_ADC32board/modules/FEE_ADCinput_module.vhd b/FEE_ADC32board/modules/FEE_ADCinput_module.vhd new file mode 100644 index 0000000..05c8721 --- /dev/null +++ b/FEE_ADC32board/modules/FEE_ADCinput_module.vhd @@ -0,0 +1,961 @@ +--------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 23-9-2014 +-- Module Name: FEE_ADCinput_module +-- Description: Module to convert serial data from ADCs (LTM9009-14) to parallel +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all ; +USE ieee.std_logic_arith.all ; +USE work.panda_package.all; +library UNISIM; +use UNISIM.VComponents.all; + +---------------------------------------------------------------------------------- +-- FEE_ADCinput_module +-- Module to convert serial data from ADCs (LTM9009-14) to parallel +-- Based on Xilinx serial ADC reference design +-- +-- +-- Library: +-- +-- Generics: +-- +-- Inputs: +-- clock200MHz : 200MHz clock input for IODELAYCTRL +-- reset : reset ADCs +-- ADCs_enable : enable signal for ADCs +-- AD*_P : serial data links from ADCs, LVDS positive +-- AD*_N : serial data links from ADCs, LVDS negative +-- DCO*_P : data clock from ADCs, LVDS positive +-- DCO*_N : data clock from ADCs, LVDS negative +-- FRA*_P : frame start signals from ADCs, LVDS positive +-- FRA*_N : frame start signals from ADCs, LVDS negative +-- +-- Outputs: +-- ADC_clk : clock for parallel ADC data +-- adcdata : parallel ADC data +-- +-- Components: +-- AdcToplevel : top-level module from Xilinx serial ADC reference design +-- +---------------------------------------------------------------------------------- + +entity FEE_ADCinput_module is + port ( + clock200MHz : in std_logic; + reset : in std_logic; + ADCs_enable : in std_logic; +----ADC1--------------------------------------------- + AD11A_P : in std_logic; + AD11A_N : in std_logic; + AD11B_P : in std_logic; + AD11B_N : in std_logic; + AD12A_P : in std_logic; + AD12A_N : in std_logic; + AD12B_P : in std_logic; + AD12B_N : in std_logic; + AD13A_P : in std_logic; + AD13A_N : in std_logic; + AD13B_P : in std_logic; + AD13B_N : in std_logic; + AD14A_P : in std_logic; + AD14A_N : in std_logic; + AD14B_P : in std_logic; + AD14B_N : in std_logic; + AD15A_P : in std_logic; + AD15A_N : in std_logic; + AD15B_P : in std_logic; + AD15B_N : in std_logic; + AD16A_P : in std_logic; + AD16A_N : in std_logic; + AD16B_P : in std_logic; + AD16B_N : in std_logic; + AD17A_P : in std_logic; + AD17A_N : in std_logic; + AD17B_P : in std_logic; + AD17B_N : in std_logic; + AD18A_P : in std_logic; + AD18A_N : in std_logic; + AD18B_P : in std_logic; + AD18B_N : in std_logic; + + DCOA1_P : in std_logic; + DCOA1_N : in std_logic; + DCOB1_P : in std_logic; + DCOB1_N : in std_logic; + + FRA1_P : in std_logic; + FRA1_N : in std_logic; + FRB1_P : in std_logic; + FRB1_N : in std_logic; + +----ADC2--------------------------------------------- + AD21A_P : in std_logic; + AD21A_N : in std_logic; + AD21B_P : in std_logic; + AD21B_N : in std_logic; + AD22A_P : in std_logic; + AD22A_N : in std_logic; + AD22B_P : in std_logic; + AD22B_N : in std_logic; + AD23A_P : in std_logic; + AD23A_N : in std_logic; + AD23B_P : in std_logic; + AD23B_N : in std_logic; + AD24A_P : in std_logic; + AD24A_N : in std_logic; + AD24B_P : in std_logic; + AD24B_N : in std_logic; + AD25A_P : in std_logic; + AD25A_N : in std_logic; + AD25B_P : in std_logic; + AD25B_N : in std_logic; + AD26A_P : in std_logic; + AD26A_N : in std_logic; + AD26B_P : in std_logic; + AD26B_N : in std_logic; + AD27A_P : in std_logic; + AD27A_N : in std_logic; + AD27B_P : in std_logic; + AD27B_N : in std_logic; + AD28A_P : in std_logic; + AD28A_N : in std_logic; + AD28B_P : in std_logic; + AD28B_N : in std_logic; + + DCOA2_P : in std_logic; + DCOA2_N : in std_logic; + DCOB2_P : in std_logic; + DCOB2_N : in std_logic; + + FRA2_P : in std_logic; + FRA2_N : in std_logic; + FRB2_P : in std_logic; + FRB2_N : in std_logic; + +----ADC3--------------------------------------------- + AD31A_P : in std_logic; + AD31A_N : in std_logic; + AD31B_P : in std_logic; + AD31B_N : in std_logic; + AD32A_P : in std_logic; + AD32A_N : in std_logic; + AD32B_P : in std_logic; + AD32B_N : in std_logic; + AD33A_P : in std_logic; + AD33A_N : in std_logic; + AD33B_P : in std_logic; + AD33B_N : in std_logic; + AD34A_P : in std_logic; + AD34A_N : in std_logic; + AD34B_P : in std_logic; + AD34B_N : in std_logic; + AD35A_P : in std_logic; + AD35A_N : in std_logic; + AD35B_P : in std_logic; + AD35B_N : in std_logic; + AD36A_P : in std_logic; + AD36A_N : in std_logic; + AD36B_P : in std_logic; + AD36B_N : in std_logic; + AD37A_P : in std_logic; + AD37A_N : in std_logic; + AD37B_P : in std_logic; + AD37B_N : in std_logic; + AD38A_P : in std_logic; + AD38A_N : in std_logic; + AD38B_P : in std_logic; + AD38B_N : in std_logic; + + DCOA3_P : in std_logic; + DCOA3_N : in std_logic; + DCOB3_P : in std_logic; + DCOB3_N : in std_logic; + + FRA3_P : in std_logic; + FRA3_N : in std_logic; + FRB3_P : in std_logic; + FRB3_N : in std_logic; + +----ADC4--------------------------------------------- + AD41A_P : in std_logic; + AD41A_N : in std_logic; + AD41B_P : in std_logic; + AD41B_N : in std_logic; + AD42A_P : in std_logic; + AD42A_N : in std_logic; + AD42B_P : in std_logic; + AD42B_N : in std_logic; + AD43A_P : in std_logic; + AD43A_N : in std_logic; + AD43B_P : in std_logic; + AD43B_N : in std_logic; + AD44A_P : in std_logic; + AD44A_N : in std_logic; + AD44B_P : in std_logic; + AD44B_N : in std_logic; + AD45A_P : in std_logic; + AD45A_N : in std_logic; + AD45B_P : in std_logic; + AD45B_N : in std_logic; + AD46A_P : in std_logic; + AD46A_N : in std_logic; + AD46B_P : in std_logic; + AD46B_N : in std_logic; + AD47A_P : in std_logic; + AD47A_N : in std_logic; + AD47B_P : in std_logic; + AD47B_N : in std_logic; + AD48A_P : in std_logic; + AD48A_N : in std_logic; + AD48B_P : in std_logic; + AD48B_N : in std_logic; + + DCOA4_P : in std_logic; + DCOA4_N : in std_logic; + DCOB4_P : in std_logic; + DCOB4_N : in std_logic; + + FRA4_P : in std_logic; + FRA4_N : in std_logic; + FRB4_P : in std_logic; + FRB4_N : in std_logic; + ADC_clk : out std_logic; + ADCs_ready : out std_logic; + adcdata : out array_adc_type + ); +end FEE_ADCinput_module; + +architecture Behavioral of FEE_ADCinput_module is + + + +component AdcToplevel is + generic ( + C_AdcChnls : integer := 4; -- Number of ADC in a package + C_AdcWireInt : integer := 2; -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc : string := "BUFIODQS_X1Y15"; + C_BufrLoc : string := "BUFR_X0Y6"; + C_AdcBits : integer := 16; + C_StatTaps : integer := 16; + C_AdcUseIdlyCtrl : integer := 1; -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc : string := "IDELAYCTRL_X0Y3"; + C_FrmPattern : string := "0000000000001111" -- "0000000011110000" -- Read above text! + ); + port ( + DCLK_p : in std_logic; + DCLK_n : in std_logic; -- Not used. + FCLK_p : in std_logic; + FCLK_n : in std_logic; + DATA_p : in std_logic_vector((C_AdcChnls*C_AdcWireInt)-1 downto 0); + DATA_n : in std_logic_vector((C_AdcChnls*C_AdcWireInt)-1 downto 0); + -- application connections + SysRefClk : in std_logic; -- 200 MHz for IODELAYCTRL from application + AdcIntrfcRst : in std_logic; + AdcIntrfcEna : in std_logic; + AdcReSync : in std_logic; + AdcFrmSyncWrn : out std_logic; + AdcBitClkAlgnWrn : out std_logic; + AdcBitClkInvrtd : out std_logic; + AdcBitClkDone : out std_logic; + AdcIdlyCtrlRdy : out std_logic; + + AdcClkDiv : out std_logic; + AdcDataClk : in std_logic; + AdcDataClkNot : in std_logic; + AdcDataOut : out std_logic_vector((32*((C_AdcChnls/2)*C_AdcWireInt))-1 downto 0); + ADCs_ready : out std_logic; + testOK : out std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_clockbuf80MHz + port( + CLK_IN1 : in std_logic; + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic + ); +end component; + +function TermOrNot (Term : integer) return boolean is +begin + if (Term = 0) then + return FALSE; + else + return TRUE; + end if; +end TermOrNot; + +constant C_OnChipLvdsTerm : integer := 1; + +--type adcdata_type is array(0 to 31) of std_logic_vector(13 downto 0); +type AdcDataOut_type is array(0 to 3) of std_logic_vector((32*((4/2)*2))-1 downto 0); +type adcdataserial_type is array(0 to 3) of std_logic_vector(7 downto 0); + +signal adcdata1458_P : adcdataserial_type; +signal adcdata1458_N : adcdataserial_type; +signal adcdata2367_P : adcdataserial_type; +signal adcdata2367_N : adcdataserial_type; + +signal DCOA1_P_S : std_logic; +signal DCOA1_N_S : std_logic; +signal DCOA2_P_S : std_logic; +signal DCOA2_N_S : std_logic; +signal DCOA3_P_S : std_logic; +signal DCOA3_N_S : std_logic; +signal DCOA4_P_S : std_logic; +signal DCOA4_N_S : std_logic; + +signal DCOB1_P_S : std_logic; +signal DCOB1_N_S : std_logic; +signal DCOB2_P_S : std_logic; +signal DCOB2_N_S : std_logic; +signal DCOB3_P_S : std_logic; +signal DCOB3_N_S : std_logic; +signal DCOB4_P_S : std_logic; +signal DCOB4_N_S : std_logic; + +signal FRA1_P_S : std_logic; +signal FRA1_N_S : std_logic; +signal FRA2_P_S : std_logic; +signal FRA2_N_S : std_logic; +signal FRA3_P_S : std_logic; +signal FRA3_N_S : std_logic; +signal FRA4_P_S : std_logic; +signal FRA4_N_S : std_logic; + +signal FRB1_P_S : std_logic; +signal FRB1_N_S : std_logic; +signal FRB2_P_S : std_logic; +signal FRB2_N_S : std_logic; +signal FRB3_P_S : std_logic; +signal FRB3_N_S : std_logic; +signal FRB4_P_S : std_logic; +signal FRB4_N_S : std_logic; + +signal AdcFrmSyncWrnA_S : std_logic_vector(0 to 3); +signal AdcBitClkAlgnWrnA_S : std_logic_vector(0 to 3); +signal AdcBitClkDoneA_S : std_logic_vector(0 to 3); +signal AdcIdlyCtrlRdyA_S : std_logic_vector(0 to 3); +signal AdcBitClkInvrtdA_S : std_logic_vector(0 to 3); +signal adcclockA_S : std_logic_vector(0 to 3); +signal AdcDataOutA_S : AdcDataOut_type; + +signal AdcFrmSyncWrnB_S : std_logic_vector(0 to 3); +signal AdcBitClkAlgnWrnB_S : std_logic_vector(0 to 3); +signal AdcBitClkDoneB_S : std_logic_vector(0 to 3); +signal AdcIdlyCtrlRdyB_S : std_logic_vector(0 to 3); +signal AdcBitClkInvrtdB_S : std_logic_vector(0 to 3); +signal adcclockB_S : std_logic_vector(0 to 3); +signal AdcDataOutB_S : AdcDataOut_type; + +signal ADCs_ready_S : std_logic_vector(0 to 7); + +signal adcdata0_S : array_adc_type; +signal adcdata1_S : array_adc_type; + +signal ADC_clk_S : std_logic; +signal ADC_clknot_S : std_logic; + +attribute keep : string; +attribute keep of ADC_clk_S : signal is "TRUE"; +attribute keep of ADC_clknot_S: signal is "TRUE"; + +begin + +ADC_clk <= ADC_clk_S; +ADCs_ready <= '1' when (ADCs_ready_S=x"ff") and (reset='0') else '0'; + + +-- ADC inputs ---------------------------------------------------------------------- +---- B and A swopped !!! +adcdata1458_0B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD11B_P, IB => AD11B_N, O => adcdata1458_P(0)(0), OB => adcdata1458_N(0)(0)); +adcdata1458_0A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD11A_P, IB => AD11A_N, O => adcdata1458_P(0)(1), OB => adcdata1458_N(0)(1)); +adcdata1458_0B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD14B_P, IB => AD14B_N, O => adcdata1458_P(0)(2), OB => adcdata1458_N(0)(2)); +adcdata1458_0A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD14A_P, IB => AD14A_N, O => adcdata1458_P(0)(3), OB => adcdata1458_N(0)(3)); +adcdata1458_0B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD15B_P, IB => AD15B_N, O => adcdata1458_P(0)(4), OB => adcdata1458_N(0)(4)); +adcdata1458_0A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD15A_P, IB => AD15A_N, O => adcdata1458_P(0)(5), OB => adcdata1458_N(0)(5)); +adcdata1458_0B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD18B_P, IB => AD18B_N, O => adcdata1458_P(0)(6), OB => adcdata1458_N(0)(6)); +adcdata1458_0A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD18A_P, IB => AD18A_N, O => adcdata1458_P(0)(7), OB => adcdata1458_N(0)(7)); + +adcdata2367_0B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD12B_P, IB => AD12B_N, O => adcdata2367_P(0)(0), OB => adcdata2367_N(0)(0)); +adcdata2367_0A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD12A_P, IB => AD12A_N, O => adcdata2367_P(0)(1), OB => adcdata2367_N(0)(1)); +adcdata2367_0B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD13B_P, IB => AD13B_N, O => adcdata2367_P(0)(2), OB => adcdata2367_N(0)(2)); +adcdata2367_0A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD13A_P, IB => AD13A_N, O => adcdata2367_P(0)(3), OB => adcdata2367_N(0)(3)); +adcdata2367_0B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD16B_P, IB => AD16B_N, O => adcdata2367_P(0)(4), OB => adcdata2367_N(0)(4)); +adcdata2367_0A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD16A_P, IB => AD16A_N, O => adcdata2367_P(0)(5), OB => adcdata2367_N(0)(5)); +adcdata2367_0B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD17B_P, IB => AD17B_N, O => adcdata2367_P(0)(6), OB => adcdata2367_N(0)(6)); +adcdata2367_0A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD17A_P, IB => AD17A_N, O => adcdata2367_P(0)(7), OB => adcdata2367_N(0)(7)); + +adcdata1458_1B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD21B_P, IB => AD21B_N, O => adcdata1458_P(1)(0), OB => adcdata1458_N(1)(0)); +adcdata1458_1A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD21A_P, IB => AD21A_N, O => adcdata1458_P(1)(1), OB => adcdata1458_N(1)(1)); +adcdata1458_1B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD24B_P, IB => AD24B_N, O => adcdata1458_P(1)(2), OB => adcdata1458_N(1)(2)); +adcdata1458_1A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD24A_P, IB => AD24A_N, O => adcdata1458_P(1)(3), OB => adcdata1458_N(1)(3)); +adcdata1458_1B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD25B_P, IB => AD25B_N, O => adcdata1458_P(1)(4), OB => adcdata1458_N(1)(4)); +adcdata1458_1A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD25A_P, IB => AD25A_N, O => adcdata1458_P(1)(5), OB => adcdata1458_N(1)(5)); +adcdata1458_1B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD28B_P, IB => AD28B_N, O => adcdata1458_P(1)(6), OB => adcdata1458_N(1)(6)); +adcdata1458_1A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD28A_P, IB => AD28A_N, O => adcdata1458_P(1)(7), OB => adcdata1458_N(1)(7)); + +adcdata2367_1B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD22B_P, IB => AD22B_N, O => adcdata2367_P(1)(0), OB => adcdata2367_N(1)(0)); +adcdata2367_1A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD22A_P, IB => AD22A_N, O => adcdata2367_P(1)(1), OB => adcdata2367_N(1)(1)); +adcdata2367_1B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD23B_P, IB => AD23B_N, O => adcdata2367_P(1)(2), OB => adcdata2367_N(1)(2)); +adcdata2367_1A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD23A_P, IB => AD23A_N, O => adcdata2367_P(1)(3), OB => adcdata2367_N(1)(3)); +adcdata2367_1B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD26B_P, IB => AD26B_N, O => adcdata2367_P(1)(4), OB => adcdata2367_N(1)(4)); +adcdata2367_1A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD26A_P, IB => AD26A_N, O => adcdata2367_P(1)(5), OB => adcdata2367_N(1)(5)); +adcdata2367_1B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD27B_P, IB => AD27B_N, O => adcdata2367_P(1)(6), OB => adcdata2367_N(1)(6)); +adcdata2367_1A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD27A_P, IB => AD27A_N, O => adcdata2367_P(1)(7), OB => adcdata2367_N(1)(7)); + +adcdata1458_2B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD31B_P, IB => AD31B_N, O => adcdata1458_P(2)(0), OB => adcdata1458_N(2)(0)); +adcdata1458_2A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD31A_P, IB => AD31A_N, O => adcdata1458_P(2)(1), OB => adcdata1458_N(2)(1)); +adcdata1458_2B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD34B_P, IB => AD34B_N, O => adcdata1458_P(2)(2), OB => adcdata1458_N(2)(2)); +adcdata1458_2A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD34A_P, IB => AD34A_N, O => adcdata1458_P(2)(3), OB => adcdata1458_N(2)(3)); +adcdata1458_2B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD35B_P, IB => AD35B_N, O => adcdata1458_P(2)(4), OB => adcdata1458_N(2)(4)); +adcdata1458_2A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD35A_P, IB => AD35A_N, O => adcdata1458_P(2)(5), OB => adcdata1458_N(2)(5)); +adcdata1458_2B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD38B_P, IB => AD38B_N, O => adcdata1458_P(2)(6), OB => adcdata1458_N(2)(6)); +adcdata1458_2A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD38A_P, IB => AD38A_N, O => adcdata1458_P(2)(7), OB => adcdata1458_N(2)(7)); + +adcdata2367_2B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD32B_P, IB => AD32B_N, O => adcdata2367_P(2)(0), OB => adcdata2367_N(2)(0)); +adcdata2367_2A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD32A_P, IB => AD32A_N, O => adcdata2367_P(2)(1), OB => adcdata2367_N(2)(1)); +adcdata2367_2B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD33B_P, IB => AD33B_N, O => adcdata2367_P(2)(2), OB => adcdata2367_N(2)(2)); +adcdata2367_2A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD33A_P, IB => AD33A_N, O => adcdata2367_P(2)(3), OB => adcdata2367_N(2)(3)); +adcdata2367_2B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD36B_P, IB => AD36B_N, O => adcdata2367_P(2)(4), OB => adcdata2367_N(2)(4)); +adcdata2367_2A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD36A_P, IB => AD36A_N, O => adcdata2367_P(2)(5), OB => adcdata2367_N(2)(5)); +adcdata2367_2B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD37B_P, IB => AD37B_N, O => adcdata2367_P(2)(6), OB => adcdata2367_N(2)(6)); +adcdata2367_2A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD37A_P, IB => AD37A_N, O => adcdata2367_P(2)(7), OB => adcdata2367_N(2)(7)); + +adcdata1458_3B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD41B_P, IB => AD41B_N, O => adcdata1458_P(3)(0), OB => adcdata1458_N(3)(0)); +adcdata1458_3A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD41A_P, IB => AD41A_N, O => adcdata1458_P(3)(1), OB => adcdata1458_N(3)(1)); +adcdata1458_3B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD44B_P, IB => AD44B_N, O => adcdata1458_P(3)(2), OB => adcdata1458_N(3)(2)); +adcdata1458_3A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD44A_P, IB => AD44A_N, O => adcdata1458_P(3)(3), OB => adcdata1458_N(3)(3)); +adcdata1458_3B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD45B_P, IB => AD45B_N, O => adcdata1458_P(3)(4), OB => adcdata1458_N(3)(4)); +adcdata1458_3A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD45A_P, IB => AD45A_N, O => adcdata1458_P(3)(5), OB => adcdata1458_N(3)(5)); +adcdata1458_3B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD48B_P, IB => AD48B_N, O => adcdata1458_P(3)(6), OB => adcdata1458_N(3)(6)); +adcdata1458_3A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD48A_P, IB => AD48A_N, O => adcdata1458_P(3)(7), OB => adcdata1458_N(3)(7)); + +adcdata2367_3B0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD42B_P, IB => AD42B_N, O => adcdata2367_P(3)(0), OB => adcdata2367_N(3)(0)); +adcdata2367_3A0 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD42A_P, IB => AD42A_N, O => adcdata2367_P(3)(1), OB => adcdata2367_N(3)(1)); +adcdata2367_3B1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD43B_P, IB => AD43B_N, O => adcdata2367_P(3)(2), OB => adcdata2367_N(3)(2)); +adcdata2367_3A1 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD43A_P, IB => AD43A_N, O => adcdata2367_P(3)(3), OB => adcdata2367_N(3)(3)); +adcdata2367_3B2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD46B_P, IB => AD46B_N, O => adcdata2367_P(3)(4), OB => adcdata2367_N(3)(4)); +adcdata2367_3A2 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD46A_P, IB => AD46A_N, O => adcdata2367_P(3)(5), OB => adcdata2367_N(3)(5)); +adcdata2367_3B3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD47B_P, IB => AD47B_N, O => adcdata2367_P(3)(6), OB => adcdata2367_N(3)(6)); +adcdata2367_3A3 : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => AD47A_P, IB => AD47A_N, O => adcdata2367_P(3)(7), OB => adcdata2367_N(3)(7)); + +DCOA1_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOA1_P, IB => DCOA1_N, O => DCOA1_P_S); +DCOA1_N_S <= '0'; +DCOA2_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOA2_P, IB => DCOA2_N, O => DCOA2_P_S); +DCOA2_N_S <= '0'; +DCOA3_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOA3_P, IB => DCOA3_N, O => DCOA3_P_S); +DCOA3_N_S <= '0'; +DCOA4_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOA4_P, IB => DCOA4_N, O => DCOA4_P_S); +DCOA4_N_S <= '0'; + +DCOB1_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOB1_P, IB => DCOB1_N, O => DCOB1_P_S); +DCOB1_N_S <= '0'; +DCOB2_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOB2_P, IB => DCOB2_N, O => DCOB2_P_S); +DCOB2_N_S <= '0'; +DCOB3_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOB3_P, IB => DCOB3_N, O => DCOB3_P_S); +DCOB3_N_S <= '0'; +DCOB4_buf : IBUFGDS + generic map (DIFF_TERM => TermOrNot(C_OnChipLvdsTerm), IOSTANDARD => "LVDS_25") + port map (I => DCOB4_P, IB => DCOB4_N, O => DCOB4_P_S); +DCOB4_N_S <= '0'; + +FRA1_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRA1_P, IB => FRA1_N, O => FRA1_P_S, OB => FRA1_N_S); +FRA2_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRA2_P, IB => FRA2_N, O => FRA2_P_S, OB => FRA2_N_S); +FRA3_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRA3_P, IB => FRA3_N, O => FRA3_P_S, OB => FRA3_N_S); +FRA4_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRA4_P, IB => FRA4_N, O => FRA4_P_S, OB => FRA4_N_S); + + +FRB1_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRB1_P, IB => FRB1_N, O => FRB1_P_S, OB => FRB1_N_S); +FRB2_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRB2_P, IB => FRB2_N, O => FRB2_P_S, OB => FRB2_N_S); +FRB3_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRB3_P, IB => FRB3_N, O => FRB3_P_S, OB => FRB3_N_S); +FRB4_buf : IBUFDS_DIFF_OUT + generic map (IOSTANDARD => "LVDS_25", DIFF_TERM => TermOrNot(C_OnChipLvdsTerm)) + port map (I => FRB4_P, IB => FRB4_N, O => FRB4_P_S, OB => FRB4_N_S); + + + AdcToplevel1458_1: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X1Y14", + C_BufrLoc => "BUFR_X1Y7", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 1, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X1Y3" --IDELAYCTRL_X2Y3 + ) + port map( + DCLK_p => DCOA1_P_S, + DCLK_n => DCOA1_N_S, + FCLK_p => FRA1_P_S, + FCLK_n => FRA1_N_S, + DATA_p => adcdata1458_P(0), + DATA_n => adcdata1458_n(0), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnA_S(0), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnA_S(0), + AdcBitClkInvrtd => AdcBitClkInvrtdA_S(0), + AdcBitClkDone => AdcBitClkDoneA_S(0), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyA_S(0), + AdcClkDiv => adcclockA_S(0), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutA_S(0), + ADCs_ready => ADCs_ready_S(0), + testOK => open, + testword0 => open); + + AdcToplevel2356_1: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X1Y13", + C_BufrLoc => "BUFR_X1Y6", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 0, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X1Y3" + ) + port map( + DCLK_p => DCOB1_P_S, + DCLK_n => DCOB1_N_S, + FCLK_p => FRB1_P_S, + FCLK_n => FRB1_N_S, + DATA_p => adcdata2367_P(0), + DATA_n => adcdata2367_N(0), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnB_S(0), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnB_S(0), + AdcBitClkInvrtd => AdcBitClkInvrtdB_S(0), + AdcBitClkDone => AdcBitClkDoneB_S(0), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyB_S(0), + AdcClkDiv => adcclockB_S(0), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutB_S(0), + ADCs_ready => ADCs_ready_S(1), + testOK => open, + testword0 => open); + + + AdcToplevel1458_2: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X0Y13", + C_BufrLoc => "BUFR_X0Y6", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 1, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X0Y3" --IDELAYCTRL_X2Y3 + ) + port map( + DCLK_p => DCOA2_P_S, + DCLK_n => DCOA2_N_S, + FCLK_p => FRA2_P_S, + FCLK_n => FRA2_N_S, + DATA_p => adcdata1458_P(1), + DATA_n => adcdata1458_n(1), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnA_S(1), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnA_S(1), + AdcBitClkInvrtd => AdcBitClkInvrtdA_S(1), + AdcBitClkDone => AdcBitClkDoneA_S(1), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyA_S(1), + AdcClkDiv => adcclockA_S(1), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutA_S(1), + ADCs_ready => ADCs_ready_S(2), + testOK => open, + testword0 => open); + + AdcToplevel2356_2: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X0Y14", + C_BufrLoc => "BUFR_X0Y7", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 0, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X0Y3" + ) + port map( + DCLK_p => DCOB2_P_S, + DCLK_n => DCOB2_N_S, + FCLK_p => FRB2_P_S, + FCLK_n => FRB2_N_S, + DATA_p => adcdata2367_P(1), + DATA_n => adcdata2367_N(1), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnB_S(1), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnB_S(1), + AdcBitClkInvrtd => AdcBitClkInvrtdB_S(1), + AdcBitClkDone => AdcBitClkDoneB_S(1), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyB_S(1), + AdcClkDiv => adcclockB_S(1), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutB_S(1), + ADCs_ready => ADCs_ready_S(3), + testOK => open, + testword0 => open); + + + AdcToplevel1458_3: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X0Y10", + C_BufrLoc => "BUFR_X0Y5", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 1, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X0Y2" --IDELAYCTRL_X2Y3 + ) + port map( + DCLK_p => DCOA3_P_S, + DCLK_n => DCOA3_N_S, + FCLK_p => FRA3_P_S, + FCLK_n => FRA3_N_S, + DATA_p => adcdata1458_P(2), + DATA_n => adcdata1458_n(2), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnA_S(2), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnA_S(2), + AdcBitClkInvrtd => AdcBitClkInvrtdA_S(2), + AdcBitClkDone => AdcBitClkDoneA_S(2), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyA_S(2), + AdcClkDiv => adcclockA_S(2), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutA_S(2), + ADCs_ready => ADCs_ready_S(4), + testOK => open, + testword0 => open); + + AdcToplevel2356_3: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X0Y9", + C_BufrLoc => "BUFR_X0Y4", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 0, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X0Y2" + ) + port map( + DCLK_p => DCOB3_P_S, + DCLK_n => DCOB3_N_S, + FCLK_p => FRB3_P_S, + FCLK_n => FRB3_N_S, + DATA_p => adcdata2367_P(2), + DATA_n => adcdata2367_N(2), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnB_S(2), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnB_S(2), + AdcBitClkInvrtd => AdcBitClkInvrtdB_S(2), + AdcBitClkDone => AdcBitClkDoneB_S(2), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyB_S(2), + AdcClkDiv => adcclockB_S(2), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutB_S(2), + ADCs_ready => ADCs_ready_S(5), + testOK => open, + testword0 => open); + + + AdcToplevel1458_4: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X2Y9", + C_BufrLoc => "BUFR_X2Y4", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 1, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X2Y2" --IDELAYCTRL_X2Y3 + ) + port map( + DCLK_p => DCOA4_P_S, + DCLK_n => DCOA4_N_S, + FCLK_p => FRA4_P_S, + FCLK_n => FRA4_N_S, + DATA_p => adcdata1458_P(3), + DATA_n => adcdata1458_n(3), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnA_S(3), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnA_S(3), + AdcBitClkInvrtd => AdcBitClkInvrtdA_S(3), + AdcBitClkDone => AdcBitClkDoneA_S(3), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyA_S(3), + AdcClkDiv => adcclockA_S(3), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutA_S(3), + ADCs_ready => ADCs_ready_S(6), + testOK => open, + testword0 => open); + + AdcToplevel2356_4: AdcToplevel + generic map( + C_AdcChnls => 4, + C_AdcWireInt =>2, -- 2 = 2-wire, 1 = 1-wire interface + C_BufioLoc => "BUFIODQS_X2Y10", + C_BufrLoc => "BUFR_X2Y5", + C_AdcBits => 16, +-- C_StatTaps => 16, + C_AdcUseIdlyCtrl => 0, -- 0 = No, 1 = Yes + C_AdcIdlyCtrlLoc => "IDELAYCTRL_X2Y2" + ) + port map( + DCLK_p => DCOB4_P_S, + DCLK_n => DCOB4_N_S, + FCLK_p => FRB4_P_S, + FCLK_n => FRB4_N_S, + DATA_p => adcdata2367_P(3), + DATA_n => adcdata2367_N(3), + -- application connections + SysRefClk => clock200MHz, + AdcIntrfcRst => reset, + AdcIntrfcEna => ADCs_enable, + AdcReSync => '0', + AdcFrmSyncWrn => AdcFrmSyncWrnB_S(3), + AdcBitClkAlgnWrn => AdcBitClkAlgnWrnB_S(3), + AdcBitClkInvrtd => AdcBitClkInvrtdB_S(3), + AdcBitClkDone => AdcBitClkDoneB_S(3), + AdcIdlyCtrlRdy => AdcIdlyCtrlRdyB_S(3), + AdcClkDiv => adcclockB_S(3), + adcdataclk => ADC_clk_S, + adcdataclknot => ADC_clknot_S, + AdcDataOut => AdcDataOutB_S(3), + ADCs_ready => ADCs_ready_S(7), + testOK => open, + testword0 => open); + +--ADCclkbuf : BUFG port map ( +-- O => ADC_clk_S, +-- I => adcclockB_S(0)); + +FEE_clockbuf80MHz1: FEE_clockbuf80MHz port map( + CLK_IN1 => adcclockA_S(0), + CLK_OUT1 => ADC_clk_S, + CLK_OUT2 => ADC_clknot_S); + +gen_adcpar1: for chipnr in 0 to 3 generate + +adcdata0_S((3-chipnr)*8+1) <= AdcDataOutA_S(chipnr)(0*32+7 downto 0*32+0) & AdcDataOutA_S(chipnr)(0*32+15 downto 0*32+10); +adcdata0_S((3-chipnr)*8+2) <= not (AdcDataOutA_S(chipnr)(1*32+7 downto 1*32+0) & AdcDataOutA_S(chipnr)(1*32+15 downto 1*32+10)); +adcdata0_S((3-chipnr)*8+5) <= AdcDataOutA_S(chipnr)(2*32+7 downto 2*32+0) & AdcDataOutA_S(chipnr)(2*32+15 downto 2*32+10); +adcdata0_S((3-chipnr)*8+6) <= not (AdcDataOutA_S(chipnr)(3*32+7 downto 3*32+0) & AdcDataOutA_S(chipnr)(3*32+15 downto 3*32+10)); + +adcdata0_S((3-chipnr)*8+0) <= not (AdcDataOutB_S(chipnr)(0*32+7 downto 0*32+0) & AdcDataOutB_S(chipnr)(0*32+15 downto 0*32+10)); +adcdata0_S((3-chipnr)*8+3) <= AdcDataOutB_S(chipnr)(1*32+7 downto 1*32+0) & AdcDataOutB_S(chipnr)(1*32+15 downto 1*32+10); +adcdata0_S((3-chipnr)*8+4) <= not (AdcDataOutB_S(chipnr)(2*32+7 downto 2*32+0) & AdcDataOutB_S(chipnr)(2*32+15 downto 2*32+10)); +adcdata0_S((3-chipnr)*8+7) <= AdcDataOutB_S(chipnr)(3*32+7 downto 3*32+0) & AdcDataOutB_S(chipnr)(3*32+15 downto 3*32+10); + +end generate; + +process(ADC_clk_S) -- synchronise to 1 clock +begin + if (rising_edge(ADC_clk_S)) then + adcdata1_S <= adcdata0_S; + adcdata <= adcdata1_S; + end if; +end process; + +end Behavioral; diff --git a/FEE_ADC32board/modules/LMK03806.vhd b/FEE_ADC32board/modules/LMK03806.vhd new file mode 100644 index 0000000..5314b04 --- /dev/null +++ b/FEE_ADC32board/modules/LMK03806.vhd @@ -0,0 +1,564 @@ +----------------------------------------------------------- +-- LMK03033 CONTROL UNIT -- +-- -- +-- uWIRE configuration Loader -- +----------------------------------------------------------- +-- Device: xc5vlx50t-3ff665 -- +-- ISE 11.4 -- +-- created 15 Nov 2011 by Walter Puccio -- +-- Uppsala University, IRFU -- +-- Modified 23 Jan 2011 by P. Marciniewski -- +-- Uppsala University, Dept of Physics and Astronomy -- +----------------------------------------------------------- + + +-- LMK03806: +-- refclock/R = VCO/(P*N) +-- CLKout = VCO/Divide +-- +-- refclock : reference input clock +-- R = R-divider (register 28) +-- VCO = Voltage Controlled Oscillator = 2370..2600 MHz +-- P = Prescaler : 2..8 +-- N = N-divider +-- CLKout = Clock outputs (CLKout0..11) +-- Divide = outputclock divider +-- +-- 80MHz -> 80 MHz : +-- R=1, VCO=2560, P=2, N=16, divide=32 +-- +-- 40MHz -> 80 MHz : +-- R=1, VCO=2560, P=2, N=32, divide=32 +-- 40MHz -> 80 MHz : +-- R=1, VCO=2560, P=4, N=16, divide=32 + +library IEEE; +use IEEE.STD_LOGIC_1164.ALL; +use IEEE.STD_LOGIC_ARITH.ALL; +use IEEE.STD_LOGIC_UNSIGNED.ALL; + +library UNISIM; +use UNISIM.VComponents.all; +--use work.util_pack.ALL; + +entity LMK03806 is + generic( + CLK_DIV : integer := 6; -- slow down transfer + ADCCLOCKFREQUENCY : natural := 62500000 + ); + PORT( + clock : in std_logic; --Master clock + CLKu : out std_logic; --Clk to LMK + DATAu : out std_logic; --Data to LMK + LEu : out std_logic; --Data Latch to LMK + RDn : in std_logic; --Read back + SYNC : out std_logic; --Sync CLK outputs LMK + boot_PLL : in std_logic; --Start booting when set high + reset_GTX : out std_logic; --delayed reset for GTX + reset_ADCs : out std_logic; --delayed reset for ADCs + booting : out std_logic; --busy signal + testwordin : in std_logic_vector(15 downto 0) + ); +end LMK03806; + + +---------------------------------------------------------------- + +architecture Behavioral of LMK03806 is +constant NROFREGS : integer := 23+1+6; +type RomType is array (0 to NROFREGS-1) of std_logic_vector(31 downto 0); +type RomType32 is array (0 to 31) of std_logic_vector(31 downto 0); +-- parameters based on 'Clock design tool' from National Semiconductor +CONSTANT TAB80M : RomType := +-- 80MHz reference to 80MHz + ( + x"00020000", -- R0 (Reset=1) + x"00020000", -- R0 (Reset=1) + X"00000400", --R0 (Reset=0, Div=32 OUT0,1 80MHz) + X"00000400", --R0 (Reset=0, Div=32 OUT0,1 80MHz) + X"00000401", --R1 (Div=40 OUT2,3 80MHz) + X"00000401", --R1 (Div=40 OUT2,3 80MHz) + X"00000402", --R2 (Div=20 OUT4,5 80MHz, GTX0) 00000282 + X"00000402", --R2 (Div=20 OUT4,5 80MHz, GTX0) 00000282 + X"00000403", --R3 (Div=20 OUT6,7 80MHz, GTX1) 00000283 + X"00000403", --R3 (Div=20 OUT6,7 80MHz, GTX1) 00000283 + X"00000404", --R4 (Div=40 OUT8,9 80MHz) + X"00000404", --R4 (Div=40 OUT8,9 80MHz) + X"00000405", --R5 (Div=40 OUT10,11 80MHz) + X"00000405", --R5 (Div=40 OUT10,11 80MHz) + x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) + x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) 11110007 + x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) + x"55555549", -- R9 (fixed pattern) + x"1000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) + x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) + x"130C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) + x"7B03800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) + x"0300000E", -- R14 (GPout1=weak pulldown) + x"C1550410", -- R16 (fixed pattern) + x"DD000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) 00000018 + x"83A8001A", -- R26 (reffrequ=normal chargepump=100uA PLL_DLD_CNT=8192 ???????????) + x"0010001C", -- R28 (R_divider=1 + x"0080041D", -- R29 (OSCin=63MHz..127MHz N_CALdivider=32 + x"0200041E", -- R30 (N_prescaler=2 N_divider=32) + x"0002001F" -- R31 (ReadbackReg=0 Regs:unlocked) 001F001F + ); + + +CONSTANT TAB80M_orig : RomType := +-- 80MHz reference to 80MHz + ( + x"00020000", -- R0 (Reset=1) + x"00020000", -- R0 (Reset=1) + X"00000400", --R0 (Reset=0, Div=32 OUT0,1 80MHz) + X"00000400", --R0 (Reset=0, Div=32 OUT0,1 80MHz) + X"00000401", --R1 (Div=40 OUT2,3 80MHz) + X"00000401", --R1 (Div=40 OUT2,3 80MHz) + X"00000402", --R2 (Div=20 OUT4,5 80MHz, GTX0) 00000282 + X"00000402", --R2 (Div=20 OUT4,5 80MHz, GTX0) 00000282 + X"00000403", --R3 (Div=20 OUT6,7 80MHz, GTX1) 00000283 + X"00000403", --R3 (Div=20 OUT6,7 80MHz, GTX1) 00000283 + X"00000404", --R4 (Div=40 OUT8,9 80MHz) + X"00000404", --R4 (Div=40 OUT8,9 80MHz) + X"00000405", --R5 (Div=40 OUT10,11 80MHz) + X"00000405", --R5 (Div=40 OUT10,11 80MHz) + x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) + x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) 11110007 + x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) + x"55555549", -- R9 (fixed pattern) + x"1000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) + x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) + x"130C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) + x"7B03800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) + x"0300000E", -- R14 (GPout1=weak pulldown) + x"C1550410", -- R16 (fixed pattern) + x"DD000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) 00000018 + x"83A8001A", -- R26 (reffrequ=normal chargepump=100uA PLL_DLD_CNT=8192 ???????????) + x"0010001C", -- R28 (R_divider=1 ????????? :2 + x"0180021D", -- R29 (OSCin=63MHz..127MHz N_CALdivider=16 + x"0200021E", -- R30 (N_prescaler=2 N_divider=16) + x"0002001F" -- R31 (ReadbackReg=0 Regs:unlocked) 001F001F + ); + +--CONSTANT TAB62M5 : RomType := +---- 62.5MHz reference to 62.5MHz +-- ( +-- x"00020000", -- R0 (Reset=1) +-- x"00020000", -- R0 (Reset=1) +-- X"00000500", --R0 (Reset=0, Div=40 OUT0,1 62.5MHz) +-- X"00000500", --R0 (Reset=0, Div=40 OUT0,1 62.5MHz) +-- X"00000501", --R1 (Div=40 OUT2,3 62.5MHz) +-- X"00000501", --R1 (Div=40 OUT2,3 62.5MHz) +-- X"00000502", --R2 (Div=20 OUT4,5 125MHz, GTX0) 00000282 +-- X"00000502", --R2 (Div=20 OUT4,5 125MHz, GTX0) 00000282 +-- X"00000503", --R3 (Div=20 OUT6,7 125MHz, GTX1) 00000283 +-- X"00000503", --R3 (Div=20 OUT6,7 125MHz, GTX1) 00000283 +-- X"00000504", --R4 (Div=40 OUT8,9 62.5MHz) +-- X"00000504", --R4 (Div=40 OUT8,9 62.5MHz) +-- X"00000505", --R5 (Div=40 OUT10,11 62.5MHz) +-- X"00000505", --R5 (Div=40 OUT10,11 62.5MHz) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) 11110007 +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +-- x"1000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) +-- x"130C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) +-- x"7B03800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) +-- x"0300000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"DD000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) 00000018 +-- x"83A8001A", -- R26 (reffrequ=normal chargepump=100uA PLL_DLD_CNT=8192 ???????????) +-- x"0010001C", -- R28 (R_divider=1 ????????? :2 +-- x"0080029D", -- R29 (OSCin=0..63MHz N_CALdivider=20 +-- x"0200029E", -- R30 (N_prescaler=2 N_divider=20) +-- x"0002001F" -- R31 (ReadbackReg=0 Regs:unlocked) 001F001F +-- ); + +-- ( +-- X"000204c0", --R0 (Reset=1, Div=38 OUT0,1) +-- X"000004c0", --R0 (Reset=0, Div=38 OUT0,1 62.5MHz) +-- X"000004c1", --R1 (Div=38 OUT2,3 62.5MHz) +-- X"00000262", --R2 (Div=19 OUT4,5 125MHz, GTX0) +-- X"00000163", --R3 (Div=19 OUT6,7 125MHz, GTX1) +-- X"000004c4", --R4 (Div=38 OUT8,9 62.5MHz) +-- X"000004c5", --R5 (Div=38 OUT10,11 62.5MHz) +-- X"11110006", --R6 (OUT3,2,1,0 : LVDS) +-- X"11110007", --R7 (OUT7,6,5,4 : LVDS) +-- X"11110008", --R8 (OUT11,10,9,8 : LVDS) +-- X"55555549", --R9 (fixed) +-- X"1002400a", --R10 (OSCout0=700mV OSCout1=off OSCout=disabled OSC0,1=bypass_divider OSCoutDIV=2) +-- X"3400000b", --R11 (SYNC=enabled, active=high, externalXTAL=disabled) +-- X"138c006c", --R12 (LD_MUX=PLL_DLD, LD_TYPE=output, Force sync) +-- X"7b03800d", --R13 (READ_BACK=pushpull, GPout0=weak pulldown) +-- X"0300000e", --R14 (GPout1=weak pulldown) +-- X"c1550410", --R16 (fixed) +-- X"00000018", --R24 (LoopFilter: C4=10pF, C3=10pF, R4=200Ohm, R3=200Ohm) +-- X"8fa8001a", --R26 (reffrequ=normal, chargepump=3.2mA, PLL_DLD_CNT=8192 ???????????) +-- X"0010001c", --R28 (R_divider=1, +-- X"0080027d", --R29 (OSCin=0..63MHz, N_CALdivider=19 ?????????????) +-- X"0100027e", --R30 (N_prescaler=2, N_divider=19) +-- X"0000001f" --R31 (ReadbackReg=0, Regs:unlocked) +-- ); + +-- ( +-- x"80020140", -- R0 (Reset=1 Div=10 OUT0..1 -> PWD) +-- x"00000400", -- R0 (Div=32 OUT0..1 -> 77.76 MHz ADC) +-- x"00000401", -- R1 (Div=32 OUT2..3 -> 77.76 MHz ADC) +-- x"00000202", -- R2 (Div=16 OUT4..5 -> 155.52 MHz GTX0) +-- x"00000203", -- R3 (Div=16 OUT6..7 -> 155.52 MHz GTX1) +-- x"00000404", -- R4 (Div=32 OUT8..9 -> 77.76 MHz ADC) +-- x"00000405", -- R5 (Div=32 OUT10 11 -> 77.76 MHz ADC) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +-- x"9102400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"343f100B", -- R11 (SYNC=enabled active=low, pulldownR externalXTAL=disabled) -- peter, was 3401100B +-- x"138C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) -- peter, was 130C006C +-- x"3B03800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) -- peter, was 3B03826D +-- x"0300000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"00000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) +-- x"8FA8001A", -- R26 (reffrequ=normal chargepump=3.2mA PLL_DLD_CNT=8192 ???????????) +-- x"0010001C", -- R28 (R_divider=2 -- peter, was 0010001C +-- x"0180021D", -- R29 (OSCin=127..255Hz N_CALdivider=16 ?????????????) -- peter, was 0280011D +-- x"0200021E", -- R30 (N_prescaler=2 N_divider=16) -- peter, was 0200011E +-- x"001F001F" -- R31 (ReadbackReg=31 Regs:unlocked) +-- ); + +-- ( -- Pawel +-- x"80020140", -- R0 (Reset=1 Div=10 OUT0..1 -> PWD) +-- x"00000400", -- R0 (Div=32 OUT0..1 -> 77.76 MHz ADC) +-- x"00000401", -- R1 (Div=32 OUT2..3 -> 77.76 MHz ADC) +-- x"00000202", -- R2 (Div=16 OUT4..5 -> 155.52 MHz GTX0) +-- x"00000203", -- R3 (Div=16 OUT6..7 -> 155.52 MHz GTX1) +-- x"00000404", -- R4 (Div=32 OUT8..9 -> 77.76 MHz ADC) +-- x"00000405", -- R5 (Div=32 OUT10 11 -> 77.76 MHz ADC) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +-- x"9102400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"3401100B", -- R11 (SYNC=enabled active=high externalXTAL=disabled) +-- x"130C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) +-- x"3B03826D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) +-- x"0300000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"00000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) +-- x"8FA8001A", -- R26 (reffrequ=normal chargepump=3.2mA PLL_DLD_CNT=8192 ???????????) +-- x"0010001C", -- R28 (R_divider=1 +-- x"0080021D", -- R29 (OSCin=0..63MHz N_CALdivider=19 ?????????????) +-- x"0200021E", -- R30 (N_prescaler=2 N_divider=19) +-- x"001F001F" -- R31 (ReadbackReg=0 Regs:unlocked) +-- ); + +-- ( -- Pawel +-- x"80020140", -- R0 (Reset=1 Div=10 OUT0..1 -> PWD) +-- x"00000500", -- R0 (Div=32 OUT0..1 -> 77.76 MHz ADC) +-- x"00000501", -- R1 (Div=32 OUT2..3 -> 77.76 MHz ADC) +-- x"00000282", -- R2 (Div=16 OUT4..5 -> 155.52 MHz GTX0) +-- x"00000283", -- R3 (Div=16 OUT6..7 -> 155.52 MHz GTX1) +-- x"00000504", -- R4 (Div=32 OUT8..9 -> 77.76 MHz ADC) +-- x"00000505", -- R5 (Div=32 OUT10 11 -> 77.76 MHz ADC) +-- x"00000500", -- R0 (Div=32 OUT0..1 -> 77.76 MHz ADC) +-- x"00000501", -- R1 (Div=32 OUT2..3 -> 77.76 MHz ADC) +-- x"00000282", -- R2 (Div=16 OUT4..5 -> 155.52 MHz GTX0) +-- x"00000283", -- R3 (Div=16 OUT6..7 -> 155.52 MHz GTX1) +-- x"00000504", -- R4 (Div=32 OUT8..9 -> 77.76 MHz ADC) +-- x"00000505", -- R5 (Div=32 OUT10 11 -> 77.76 MHz ADC) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +-- x"9000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) +-- x"130C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) +-- x"7B02800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) +-- x"0200000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"00000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) +-- x"8FA8001A", -- R26 (reffrequ=normal chargepump=3.2mA PLL_DLD_CNT=8192 ???????????) +-- x"0020001C", -- R28 (R_divider=2 +-- x"0180051D", -- R29 (OSCin=0..63MHz N_CALdivider=40 ?????????????) +-- x"0200051E", -- R30 (N_prescaler=2 N_divider=40) +-- x"001F001F" -- R31 (ReadbackReg=0 Regs:unlocked) +-- ); + + +-- ( +-- x"00020000", -- R0 (Reset=1) +-- x"00020000", -- R0 (Reset=1) +-- X"000004c0", --R0 (Reset=0, Div=38 OUT0,1 62.5MHz) +-- X"000004c0", --R0 (Reset=0, Div=38 OUT0,1 62.5MHz) +-- X"000004c1", --R1 (Div=38 OUT2,3 62.5MHz) +-- X"000004c1", --R1 (Div=38 OUT2,3 62.5MHz) +-- X"00000262", --R2 (Div=19 OUT4,5 125MHz, GTX0) +-- X"000004c2", --R2 (Div=19 OUT4,5 125MHz, GTX0) 00000262 +-- X"00000263", --R3 (Div=19 OUT6,7 125MHz, GTX1) +-- X"00000263", --R3 (Div=19 OUT6,7 125MHz, GTX1) +-- X"000004c4", --R4 (Div=38 OUT8,9 62.5MHz) +-- X"000004c4", --R4 (Div=38 OUT8,9 62.5MHz) +-- X"000004c5", --R5 (Div=38 OUT10,11 62.5MHz) +-- X"000004c5", --R5 (Div=38 OUT10,11 62.5MHz) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +-- x"9002400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +------ x"9000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) +-- x"138C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) +-- x"3B03826D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) 130C006C +------ x"7B02800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) +-- x"0300000E", -- R14 (GPout1=weak pulldown) +------ x"0200000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"00000018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) +-- x"8FA8001A", -- R26 (reffrequ=normal chargepump=3.2mA PLL_DLD_CNT=8192 ???????????) +-- x"0010001C", -- R28 (R_divider=1 ????????? :2 +-- x"0080027D", -- R29 (OSCin=0..63MHz N_CALdivider=19 ?????????????) +-- x"0200027E", -- R30 (N_prescaler=2 N_divider=19) +-- x"0002001F" -- R31 (ReadbackReg=0 Regs:unlocked) 001F001F +-- ); + + +-- ( +-- x"00020000", -- R0 (Reset=1) +-- x"00020000", -- R0 (Reset=1) +-- X"000004c0", --R0 (Reset=0, Div=38 OUT0,1 62.5MHz) +-- X"000004c0", --R0 (Reset=0, Div=38 OUT0,1 62.5MHz) +-- X"000004c1", --R1 (Div=38 OUT2,3 62.5MHz) +-- X"000004c1", --R1 (Div=38 OUT2,3 62.5MHz) +-- X"00000262", --R2 (Div=19 OUT4,5 125MHz, GTX0) 00000262 +-- X"00000262", --R2 (Div=19 OUT4,5 125MHz, GTX0) 00000262 +-- X"00000263", --R3 (Div=19 OUT6,7 125MHz, GTX1) 00000263 +-- X"00000263", --R3 (Div=19 OUT6,7 125MHz, GTX1) 00000263 +-- X"000004c4", --R4 (Div=38 OUT8,9 62.5MHz) +-- X"000004c4", --R4 (Div=38 OUT8,9 62.5MHz) +-- X"000004c5", --R5 (Div=38 OUT10,11 62.5MHz) +-- X"000004c5", --R5 (Div=38 OUT10,11 62.5MHz) +-- x"11110006", -- R6 (OUT 3,2,1,0 : LVDS) +-- x"11110007", -- R7 (OUT 7,6,5,4 : LVDS) 11110007 +-- x"11110008", -- R8 (OUT 11,10,9,8 : LVDS) +-- x"55555549", -- R9 (fixed pattern) +------ x"9002400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"9000400A", -- R10 (OSCout1=LVPECL-1600mV OSCout0=LVDS OSCout1..0=disabled OSC0..1=bypass_divider OSCoutDIV=2) +-- x"3401100B", -- R11 (SYNC=enabled active=low externalXTAL=disabled) +-- x"138C006C", -- R12 (LD_MUX=PLL_DLD LD_TYPE=output Force sync) +------ x"3B03826D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) 130C006C +-- x"7B02800D", -- R13 (READ_BACK=pushpull GPout0=weak pulldown) +------ x"0300000E", -- R14 (GPout1=weak pulldown) +-- x"0200000E", -- R14 (GPout1=weak pulldown) +-- x"C1550410", -- R16 (fixed pattern) +-- x"77110018", -- R24 (LoopFilter: C4=10pF C3=10pF R4=200Ohm R3=200Ohm) 00000018 +-- x"8FA8001A", -- R26 (reffrequ=normal chargepump=3.2mA PLL_DLD_CNT=8192 ???????????) +-- x"0020001C", -- R28 (R_divider=1 ????????? :2 +-- x"0180027D", -- R29 (OSCin=0..63MHz N_CALdivider=19 ?????????????) 0080027D +-- x"0200027E", -- R30 (N_prescaler=2 N_divider=19) +-- x"0002001F" -- R31 (ReadbackReg=0 Regs:unlocked) 001F001F +-- ); + + + + + + + +signal tab : RomType; +signal SHIFT_REG : std_logic_vector(31 downto 0); +signal PLLbootstate : std_logic_vector(3 downto 0); +signal bit_cnt : std_logic_vector(6 downto 0); +signal cnt_dly : std_logic_vector(3 downto 0); +signal ptr : std_logic_vector(4 downto 0); + +signal boot_dly_cnt : std_logic_vector(31 downto 0) := (others => '0'); +signal pll_res : std_logic; + +signal pll_boot : std_logic; +signal pll_clk : std_logic; +signal pll_data : std_logic; +signal pll_le : std_logic; +signal pll_sync : std_logic; +signal pll_reset_GTX : std_logic; +signal pll_reset_ADCs : std_logic; + +signal reset_counter_V1 : std_logic_vector(15 downto 0); +signal reset_counter_V2 : std_logic_vector(7 downto 0); + +-------------------------------------------------------------------- +BEGIN + +tab <= TAB80M;-- when ADCCLOCKFREQUENCY=80000000 else TAB62M5; + +--****************************************************************** +-- RESET SEQUENCER +--****************************************************************** + +process(clock) +begin + if rising_edge(clock) then + if PLLbootstate /= x"0" then + reset_counter_V1 <= (others => '0'); + pll_reset_ADCs <= '1'; + pll_reset_GTX <= '1'; + booting <= '1'; + else + booting <= '0'; + if reset_counter_V1 < x"ffff" then + reset_counter_V1 <= reset_counter_V1 + 1; + else + pll_reset_ADCs <= '0'; + pll_reset_GTX <= '0'; + end if; + end if; + end if; +end process; + + +process(clock) +begin + if rising_edge(clock) then + if reset_counter_V2 < x"ff" then + reset_counter_V2 <= reset_counter_V2 + 1; + pll_res <= '1'; + else + pll_res <= '0'; + end if; + end if; +end process; + + +--****************************************************************** +-- PLL BOOT STATEMACHINE +--****************************************************************** + +process(clock, pll_res) +begin + if pll_res = '1' then + PLLbootstate <= (others => '0'); + pll_sync <= '1'; + --GOE <= '0'; + pll_clk <= '0'; + pll_le <= '0'; + ptr <= (others => '0'); + + elsif rising_edge(clock) then + + pll_boot <= BOOT_PLL; + + case PLLbootstate is + when x"0" => --IDLE here until BOOT_DLY goes High + pll_sync <= '1'; + --GOE <= '0'; + pll_clk <= '0'; + pll_le <= '0'; + ptr <= (others => '0'); + if pll_boot = '1' then PLLbootstate <= x"1"; + end if; + +--*******Start + when x"1" => --Set up for TX + pll_le <= '0'; + pll_clk <= '0'; +if ptr=24 then +SHIFT_REG(15 downto 0) <= x"0018"; +SHIFT_REG(31 downto 16) <= testwordin; +else + SHIFT_REG <= tab(conv_integer(ptr)); +end if; + bit_cnt <= (others => '0'); + cnt_dly <= (others => '0'); + PLLbootstate <= x"2"; + + when x"2" => --CLK low + pll_clk <= '0'; + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + PLLbootstate <= x"3"; + else cnt_dly <= cnt_dly + 1; + end if; + + when x"3" => --CLK high + pll_clk <= '1'; + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + bit_cnt <= bit_cnt + 1; + PLLbootstate <= x"4"; + else cnt_dly <= cnt_dly + 1; + end if; + + when x"4" => --Loop through all bits and regs + pll_clk <= '0'; + cnt_dly <= (others => '0'); + SHIFT_REG <= SHIFT_REG(30 downto 0) & '0'; + if bit_cnt > 31 then --32 bits + pll_le <= '1'; + if conv_integer(ptr) < NROFREGS-1 then --nr of regs + ptr <= ptr + 1; + PLLbootstate <= x"5"; + else +----peter pll_sync <= '0'; + PLLbootstate <= x"6"; + end if; + else PLLbootstate <= x"2"; + end if; + + when x"5" => --Latch Delay + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + PLLbootstate <= x"1"; + else cnt_dly <= cnt_dly + 1; + end if; + + when x"6" => --pll_sync Delay + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + PLLbootstate <= x"7"; + else cnt_dly <= cnt_dly + 1; + end if; + + when x"7" => --SYNC + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + PLLbootstate <= x"8"; + pll_sync <= '0'; + else cnt_dly <= cnt_dly + 1; + end if; + pll_le <= '0'; + + when x"8" => --SYNC + if cnt_dly > CLK_DIV then + cnt_dly <= (others => '0'); + PLLbootstate <= x"9"; + else cnt_dly <= cnt_dly + 1; + end if; + pll_le <= '0'; + + when x"9" => --IDLE here until BOOT_PLL goes low + pll_sync <= '1'; + pll_le <= '0'; + if pll_boot = '0' then PLLbootstate <= x"0"; + end if; + + when others => -- make sure other states wont lock up. + PLLbootstate <= (others => '0'); + end case; + end if; +end process; + +--Shift out bits, MSB first +pll_data <= SHIFT_REG(31); + + +CLKu <= pll_clk; +DATAu <= pll_data; +LEu <= pll_le; +SYNC <= pll_sync; +reset_GTX <= pll_reset_GTX; +reset_ADCs <= pll_reset_ADCs; + + +END Behavioral; + + diff --git a/FEE_ADC32board/modules/SystemMonitorModule.vhd b/FEE_ADC32board/modules/SystemMonitorModule.vhd new file mode 100644 index 0000000..a045402 --- /dev/null +++ b/FEE_ADC32board/modules/SystemMonitorModule.vhd @@ -0,0 +1,281 @@ +---------------------------------------------------------------------------------- +-- Company: KVI/RUG/Groningen University +-- Engineer: Peter Schakel +-- Create Date: 10-10-2012 +-- Module Name: SystemMonitorModule +-- Description: Reads FPGA system parameters +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; + +---------------------------------------------------------------------------------- +-- SystemMonitorModule +-- Reads FPGA system parameters: temperature and voltages +-- The Xilinx System Monitor measures several FPGA physical operating parameters. +-- For further information see Xilinx documentation +-- The settings and parameters are accessable with a 16-bits data bus and 7 bits address bus. +-- This module initializes the System Monitor so that the main parameters are continuously measured. +-- This behaviour can bechanged because all settings are accessable. +-- +-- +-- The main settings addresses and their initialize value are: +-- 0x40 : 1000 -- average 16 +-- 0x41 : 2000 -- enable sequence & alarms, no calibration +-- 0x42 : 1400 -- clock division = 20 : 50MHz/2.5MHz +-- 0x48 : 3700 -- select temp,VCCint,VCCaux,VrefP,VrefN +-- 0x49 : 0000 -- not Vaux +-- 0x4a : 3700 -- enable averaging +-- 0x4b : 0000 -- disable averaging Vau +-- 0x4c : 0000 -- unipolar inputs +-- 0x4d : 0000 -- unipolar inputs +-- 0x4e : 0000 -- default Acquisition Time +-- 0x4f : 0000 -- default Acquisition Time +-- +-- +-- The system parameters are measured with an 10 bits ADC: +-- +-- For die Temperature (address 0) : +-- Temperature(degreeC) = (ADCcode * 503.975)/1024 - 273.15 +-- +-- For VCCint (1V, address=1), VCCaux (2.5V, address=2), VrefP(2.5V, address=4) : +-- Supply Voltage (Volts) = (ADCcode / 1024) x 3V +-- +-- For VrefN(0.0V, address=5) : +-- Voltage (Volts) = ADCcode(2-complement) * 977uV +-- +-- +-- +-- Library: +-- +-- Generics: +-- +-- Inputs: +-- clock : clock for the system monitor (must not exceed 100MHz) +-- reset : reset +-- address : six bit address +-- data_write : write signal for data to be set +-- data_in : 16 bits data to be written +-- data_read : read signal for reading data, data becomes available 3 clock cycles after this read signal!! +-- +-- Outputs: +-- data_out : data from the System Monitor, data becomes available 3 clock cycles after this read signal!! +-- alarms : +-- bit0 = user settable temperature +-- bit1 = alarm on VCCint voltage +-- bit2 = alarm on VCCaux voltage +-- bit3 = alarm on over temperature +-- bit7..4 = "0000" not yet used +-- +-- Components: +-- SystemMonitorVirtex : IP core generator module for Virtex +-- +---------------------------------------------------------------------------------- + +entity SystemMonitorModule is + Port ( + clock : in std_logic; + reset : in std_logic; + address : in std_logic_vector(6 downto 0); + data_write : in std_logic; + data_in : in std_logic_vector(15 downto 0); + data_read : in std_logic; + data_out : out std_logic_vector(15 downto 0); + alarms : out std_logic_vector(7 downto 0); + testword0 : out std_logic_vector(35 downto 0)); +end SystemMonitorModule; + + +architecture Behavioral of SystemMonitorModule is + +component SystemMonitorVirtex + port ( + DADDR_IN : in STD_LOGIC_VECTOR (6 downto 0); -- Address bus for the dynamic reconfiguration port + DCLK_IN : in STD_LOGIC; -- Clock input for the dynamic reconfiguration port + DEN_IN : in STD_LOGIC; -- Enable Signal for the dynamic reconfiguration port + DI_IN : in STD_LOGIC_VECTOR (15 downto 0); -- Input data bus for the dynamic reconfiguration port + DWE_IN : in STD_LOGIC; -- Write Enable for the dynamic reconfiguration port + RESET_IN : in STD_LOGIC; -- Reset signal for the System Monitor control logic + BUSY_OUT : out STD_LOGIC; -- ADC Busy signal + CHANNEL_OUT : out STD_LOGIC_VECTOR (4 downto 0); -- Channel Selection Outputs + DO_OUT : out STD_LOGIC_VECTOR (15 downto 0); -- Output data bus for dynamic reconfiguration port + DRDY_OUT : out STD_LOGIC; -- Data ready signal for the dynamic reconfiguration port + EOC_OUT : out STD_LOGIC; -- End of Conversion Signal + EOS_OUT : out STD_LOGIC; -- End of Sequence Signal + JTAGBUSY_OUT : out STD_LOGIC; -- JTAG DRP transaction is in progress signal + JTAGLOCKED_OUT : out STD_LOGIC; -- DRP port lock request has been made by JTAG + JTAGMODIFIED_OUT : out STD_LOGIC; -- Indicates JTAG Write to the DRP has occurred + OT_OUT : out STD_LOGIC; -- Over-Temperature alarm output + VCCAUX_ALARM_OUT : out STD_LOGIC; -- VCCAUX-sensor alarm output + VCCINT_ALARM_OUT : out STD_LOGIC; -- VCCINT-sensor alarm output + USER_TEMP_ALARM_OUT : out STD_LOGIC; -- Temperature-sensor alarm output + VP_IN : in STD_LOGIC; -- Dedicated Analog Input Pair + VN_IN : in STD_LOGIC +); +end component; +constant NROFREGISTERS : natural :=11; +type registerarray_type is array (0 to NROFREGISTERS-1) + of std_logic_vector (23 downto 0); + +constant REGISTERARRAY : registerarray_type := ( +x"401000", -- average 16 +x"412000", -- enable sequence & alarms, no calibration +x"421400", -- clock division = 20 : 50MHz/2.5MHz +x"483700", -- select temp,VCCint,VCCaux,VrefP,VrefN +x"490000", -- not Vaux +x"4a3700", -- enable averaging +x"4b0000", -- disable averaging Vau +x"4c0000", -- unipolar inputs +x"4d0000", -- unipolar inputs +x"4e0000", -- default Acquisition Time +x"4f0000"); -- default Acquisition Time + + + + + + + + +--0x40 : 1000 -- average 16 +--0x41 : 2000 -- enable sequence & alarms, no calibration +--0x42 : 1400 -- clock division = 20 : 50MHz/2.5MHz +--0x48 : 3700 -- select temp,VCCint,VCCaux,VrefP,VrefN +--0x49 : 0000 -- not Vaux +--0x4a : 3700 -- enable averaging +--0x4b : 0000 -- disable averaging Vau +--0x4c : 0000 -- unipolar inputs +--0x4d : 0000 -- unipolar inputs +--0x4e : 0000 -- default Acquisition Time +--0x4f : 0000 -- default Acquisition Time + + +signal registerindex_S : integer range 0 to NROFREGISTERS; +signal accesscounter_S : integer range 0 to 7; +signal delaycounter_S : std_logic_vector(11 downto 0); +signal sysmon_active_S : std_logic := '0'; + +signal DR_address_S : std_logic_vector(6 downto 0); +signal DR_address_init_S : std_logic_vector(6 downto 0); +signal DR_enable_S : std_logic := '0'; +signal DR_data_in_S : std_logic_vector(15 downto 0); +signal DR_data_init_S : std_logic_vector(15 downto 0); + +signal DR_write_S : std_logic := '0'; +signal DR_write_init_S : std_logic := '0'; +signal ADC_busy_S : std_logic := '0'; + +signal channel_S : std_logic_vector(4 downto 0); +signal DR_data_out_S : std_logic_vector(15 downto 0); +signal DR_ready_S : std_logic := '0'; +signal EndofConversion_S : std_logic := '0'; +signal EndofSequence_S : std_logic := '0'; + +signal OverTemperatur_alarm_S : std_logic := '0'; +signal VCCaux_alarm_S : std_logic := '0'; +signal VCCint_alarm_S : std_logic := '0'; +signal USERtemp_alarm_S : std_logic := '0'; + + + +begin + + +SystemMonitorVirtex1: SystemMonitorVirtex port map ( + DADDR_IN => DR_address_S, + DCLK_IN => clock, + DEN_IN => DR_enable_S, + DI_IN => DR_data_in_S, + DWE_IN => DR_write_S, + RESET_IN => reset, + BUSY_OUT => ADC_busy_S, + CHANNEL_OUT => channel_S, + DO_OUT => DR_data_out_S, + DRDY_OUT => DR_ready_S, + EOC_OUT => EndofConversion_S, + EOS_OUT => EndofSequence_S, + JTAGBUSY_OUT => open, + JTAGLOCKED_OUT => open, + JTAGMODIFIED_OUT => open, + OT_OUT => OverTemperatur_alarm_S, + VCCAUX_ALARM_OUT => VCCaux_alarm_S, + VCCINT_ALARM_OUT => VCCint_alarm_S, + USER_TEMP_ALARM_OUT => USERtemp_alarm_S, + VP_IN => '0', + VN_IN => '0' + ); + +alarms(3 downto 0) <= OverTemperatur_alarm_S & VCCaux_alarm_S & VCCint_alarm_S & USERtemp_alarm_S; +alarms(7 downto 4) <= (others => '0'); + +DR_address_S <= DR_address_init_S when sysmon_active_S='0' else address; +DR_enable_S <= '1' when ((data_read='1') and (sysmon_active_S='1')) or (DR_write_S='1') else '0'; +data_out <= DR_data_out_S; + +DR_write_S <= '1' when ((data_write='1') and (sysmon_active_S='1')) or (DR_write_init_S='1') else '0'; +DR_data_in_S <= data_in when (sysmon_active_S='1') else DR_data_init_S; + +process(clock) +begin + if (rising_edge(clock)) then + if (reset = '1') and (sysmon_active_S='1') then + DR_write_init_S <= '0'; + sysmon_active_S <= '0'; + registerindex_S <= 0; + accesscounter_S <= 0; + delaycounter_S <= (others => '0'); + else + if sysmon_active_S='0' then + if delaycounter_S(delaycounter_S'left)='0' then + delaycounter_S <= delaycounter_S+1; + DR_write_init_S <= '0'; + registerindex_S <= 0; + accesscounter_S <= 0; + DR_address_init_S <= (others => '0'); + else + if accesscounter_S<7 then + if accesscounter_S=0 then + DR_address_init_S <= REGISTERARRAY(registerindex_S)(22 downto 16); + DR_data_init_S <= REGISTERARRAY(registerindex_S)(15 downto 0); + DR_write_init_S <= '1'; + else + DR_write_init_S <= '0'; + end if; + accesscounter_S <= accesscounter_S+1; + else + accesscounter_S <= 0; + DR_write_init_S <= '0'; + if registerindex_S '0'); + DR_data_init_S <= (others => '0'); + registerindex_S <= 0; + sysmon_active_S <= '1'; + end if; + end if; + end if; + else + accesscounter_S <= 0; + DR_write_init_S <= '0'; + end if; + end if; + end if; +end process; + +testword0(15 downto 0) <= DR_data_out_S; +testword0(22 downto 16) <= DR_address_S; +testword0(23) <= sysmon_active_S; +testword0(24) <= '0'; +testword0(25) <= DR_enable_S; +testword0(26) <= ADC_busy_S; +testword0(27) <= DR_ready_S; +testword0(28) <= EndofConversion_S; +testword0(29) <= EndofSequence_S; +testword0(30) <= '1' when OverTemperatur_alarm_S='1' or VCCaux_alarm_S='1' or VCCint_alarm_S='1' or USERtemp_alarm_S='1' else '0'; +testword0(35 downto 31) <= channel_S; + +end Behavioral; + diff --git a/FEE_ADC32board/project/FEE_ADC32board.gise b/FEE_ADC32board/project/FEE_ADC32board.gise new file mode 100644 index 0000000..d8991cb --- /dev/null +++ b/FEE_ADC32board/project/FEE_ADC32board.gise @@ -0,0 +1,33 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/FEE_ADC32board.ucf b/FEE_ADC32board/project/FEE_ADC32board.ucf new file mode 100644 index 0000000..c20f4de --- /dev/null +++ b/FEE_ADC32board/project/FEE_ADC32board.ucf @@ -0,0 +1,1009 @@ +NET "AD11A_N" DIFF_TERM = "TRUE"; +NET "AD11A_N" IOSTANDARD = LVDS_25; +NET "AD11A_N" LOC = C17; +NET "AD11A_P" DIFF_TERM = "TRUE"; +NET "AD11A_P" IOSTANDARD = LVDS_25; +NET "AD11A_P" LOC = C16; +NET "AD11B_N" DIFF_TERM = "TRUE"; +NET "AD11B_N" IOSTANDARD = LVDS_25; +NET "AD11B_N" LOC = A18; +NET "AD11B_P" DIFF_TERM = "TRUE"; +NET "AD11B_P" IOSTANDARD = LVDS_25; +NET "AD11B_P" LOC = A17; +NET "AD12A_N" DIFF_TERM = "TRUE"; +NET "AD12A_N" IOSTANDARD = LVDS_25; +NET "AD12A_N" LOC = D18; +NET "AD12A_P" DIFF_TERM = "TRUE"; +NET "AD12A_P" IOSTANDARD = LVDS_25; +NET "AD12A_P" LOC = D17; +NET "AD12B_N" DIFF_TERM = "TRUE"; +NET "AD12B_N" IOSTANDARD = LVDS_25; +NET "AD12B_N" LOC = C18; +NET "AD12B_P" DIFF_TERM = "TRUE"; +NET "AD12B_P" IOSTANDARD = LVDS_25; +NET "AD12B_P" LOC = B18; +NET "AD13A_N" DIFF_TERM = "TRUE"; +NET "AD13A_N" IOSTANDARD = LVDS_25; +NET "AD13A_N" LOC = F17; +NET "AD13A_P" DIFF_TERM = "TRUE"; +NET "AD13A_P" IOSTANDARD = LVDS_25; +NET "AD13A_P" LOC = E17; +NET "AD13B_N" DIFF_TERM = "TRUE"; +NET "AD13B_N" IOSTANDARD = LVDS_25; +NET "AD13B_N" LOC = H15; +NET "AD13B_P" DIFF_TERM = "TRUE"; +NET "AD13B_P" IOSTANDARD = LVDS_25; +NET "AD13B_P" LOC = G15; +NET "AD14A_N" DIFF_TERM = "TRUE"; +NET "AD14A_N" IOSTANDARD = LVDS_25; +NET "AD14A_N" LOC = H16; +NET "AD14A_P" DIFF_TERM = "TRUE"; +NET "AD14A_P" IOSTANDARD = LVDS_25; +NET "AD14A_P" LOC = G16; +NET "AD14B_N" DIFF_TERM = "TRUE"; +NET "AD14B_N" IOSTANDARD = LVDS_25; +NET "AD14B_N" LOC = B16; +NET "AD14B_P" DIFF_TERM = "TRUE"; +NET "AD14B_P" IOSTANDARD = LVDS_25; +NET "AD14B_P" LOC = A16; +NET "AD15A_N" DIFF_TERM = "TRUE"; +NET "AD15A_N" IOSTANDARD = LVDS_25; +NET "AD15A_N" LOC = F14; +NET "AD15A_P" DIFF_TERM = "TRUE"; +NET "AD15A_P" IOSTANDARD = LVDS_25; +NET "AD15A_P" LOC = G14; +NET "AD15B_N" DIFF_TERM = "TRUE"; +NET "AD15B_N" IOSTANDARD = LVDS_25; +NET "AD15B_N" LOC = B14; +NET "AD15B_P" DIFF_TERM = "TRUE"; +NET "AD15B_P" IOSTANDARD = LVDS_25; +NET "AD15B_P" LOC = A14; +NET "AD16A_N" DIFF_TERM = "TRUE"; +NET "AD16A_N" IOSTANDARD = LVDS_25; +NET "AD16A_N" LOC = E14; +NET "AD16A_P" DIFF_TERM = "TRUE"; +NET "AD16A_P" IOSTANDARD = LVDS_25; +NET "AD16A_P" LOC = D14; +NET "AD16B_N" DIFF_TERM = "TRUE"; +NET "AD16B_N" IOSTANDARD = LVDS_25; +NET "AD16B_N" LOC = G13; +NET "AD16B_P" DIFF_TERM = "TRUE"; +NET "AD16B_P" IOSTANDARD = LVDS_25; +NET "AD16B_P" LOC = F13; +NET "AD17A_N" DIFF_TERM = "TRUE"; +NET "AD17A_N" IOSTANDARD = LVDS_25; +NET "AD17A_N" LOC = D13; +NET "AD17A_P" DIFF_TERM = "TRUE"; +NET "AD17A_P" IOSTANDARD = LVDS_25; +NET "AD17A_P" LOC = C13; +NET "AD17B_N" DIFF_TERM = "TRUE"; +NET "AD17B_N" IOSTANDARD = LVDS_25; +NET "AD17B_N" LOC = E12; +NET "AD17B_P" DIFF_TERM = "TRUE"; +NET "AD17B_P" IOSTANDARD = LVDS_25; +NET "AD17B_P" LOC = F12; +NET "AD18A_N" DIFF_TERM = "TRUE"; +NET "AD18A_N" IOSTANDARD = LVDS_25; +NET "AD18A_N" LOC = B13; +NET "AD18A_P" DIFF_TERM = "TRUE"; +NET "AD18A_P" IOSTANDARD = LVDS_25; +NET "AD18A_P" LOC = A13; +NET "AD18B_N" DIFF_TERM = "TRUE"; +NET "AD18B_N" IOSTANDARD = LVDS_25; +NET "AD18B_N" LOC = H13; +NET "AD18B_P" DIFF_TERM = "TRUE"; +NET "AD18B_P" IOSTANDARD = LVDS_25; +NET "AD18B_P" LOC = H12; + +NET "AD21A_N" DIFF_TERM = "TRUE"; +NET "AD21A_N" IOSTANDARD = LVDS_25; +NET "AD21A_N" LOC = H22; +NET "AD21A_P" DIFF_TERM = "TRUE"; +NET "AD21A_P" IOSTANDARD = LVDS_25; +NET "AD21A_P" LOC = J22; +NET "AD21B_N" DIFF_TERM = "TRUE"; +NET "AD21B_N" IOSTANDARD = LVDS_25; +NET "AD21B_N" LOC = K22; +NET "AD21B_P" DIFF_TERM = "TRUE"; +NET "AD21B_P" IOSTANDARD = LVDS_25; +NET "AD21B_P" LOC = K21; +NET "AD22A_N" DIFF_TERM = "TRUE"; +NET "AD22A_N" IOSTANDARD = LVDS_25; +NET "AD22A_N" LOC = L17; +NET "AD22A_P" DIFF_TERM = "TRUE"; +NET "AD22A_P" IOSTANDARD = LVDS_25; +NET "AD22A_P" LOC = K17; +NET "AD22B_N" DIFF_TERM = "TRUE"; +NET "AD22B_N" IOSTANDARD = LVDS_25; +NET "AD22B_N" LOC = L19; +NET "AD22B_P" DIFF_TERM = "TRUE"; +NET "AD22B_P" IOSTANDARD = LVDS_25; +NET "AD22B_P" LOC = L18; +NET "AD23A_N" DIFF_TERM = "TRUE"; +NET "AD23A_N" IOSTANDARD = LVDS_25; +NET "AD23A_N" LOC = K20; +NET "AD23A_P" DIFF_TERM = "TRUE"; +NET "AD23A_P" IOSTANDARD = LVDS_25; +NET "AD23A_P" LOC = J20; +NET "AD23B_N" DIFF_TERM = "TRUE"; +NET "AD23B_N" IOSTANDARD = LVDS_25; +NET "AD23B_N" LOC = J17; +NET "AD23B_P" DIFF_TERM = "TRUE"; +NET "AD23B_P" IOSTANDARD = LVDS_25; +NET "AD23B_P" LOC = J18; +NET "AD24A_N" DIFF_TERM = "TRUE"; +NET "AD24A_N" IOSTANDARD = LVDS_25; +NET "AD24A_N" LOC = J19; +NET "AD24A_P" DIFF_TERM = "TRUE"; +NET "AD24A_P" IOSTANDARD = LVDS_25; +NET "AD24A_P" LOC = K19; +NET "AD24B_N" DIFF_TERM = "TRUE"; +NET "AD24B_N" IOSTANDARD = LVDS_25; +NET "AD24B_N" LOC = H21; +NET "AD24B_P" DIFF_TERM = "TRUE"; +NET "AD24B_P" IOSTANDARD = LVDS_25; +NET "AD24B_P" LOC = G21; +NET "AD25A_N" DIFF_TERM = "TRUE"; +NET "AD25A_N" IOSTANDARD = LVDS_25; +NET "AD25A_N" LOC = H18; +NET "AD25A_P" DIFF_TERM = "TRUE"; +NET "AD25A_P" IOSTANDARD = LVDS_25; +NET "AD25A_P" LOC = H17; +NET "AD25B_N" DIFF_TERM = "TRUE"; +NET "AD25B_N" IOSTANDARD = LVDS_25; +NET "AD25B_N" LOC = F19; +NET "AD25B_P" DIFF_TERM = "TRUE"; +NET "AD25B_P" IOSTANDARD = LVDS_25; +NET "AD25B_P" LOC = G19; +NET "AD26A_N" DIFF_TERM = "TRUE"; +NET "AD26A_N" IOSTANDARD = LVDS_25; +NET "AD26A_N" LOC = E22; +NET "AD26A_P" DIFF_TERM = "TRUE"; +NET "AD26A_P" IOSTANDARD = LVDS_25; +NET "AD26A_P" LOC = E21; +NET "AD26B_N" DIFF_TERM = "TRUE"; +NET "AD26B_N" IOSTANDARD = LVDS_25; +NET "AD26B_N" LOC = D19; +NET "AD26B_P" DIFF_TERM = "TRUE"; +NET "AD26B_P" IOSTANDARD = LVDS_25; +NET "AD26B_P" LOC = E19; +NET "AD27A_N" DIFF_TERM = "TRUE"; +NET "AD27A_N" IOSTANDARD = LVDS_25; +NET "AD27A_N" LOC = C20; +NET "AD27A_P" DIFF_TERM = "TRUE"; +NET "AD27A_P" IOSTANDARD = LVDS_25; +NET "AD27A_P" LOC = B20; +NET "AD27B_N" DIFF_TERM = "TRUE"; +NET "AD27B_N" IOSTANDARD = LVDS_25; +NET "AD27B_N" LOC = B21; +NET "AD27B_P" DIFF_TERM = "TRUE"; +NET "AD27B_P" IOSTANDARD = LVDS_25; +NET "AD27B_P" LOC = A21; +NET "AD28A_N" DIFF_TERM = "TRUE"; +NET "AD28A_N" IOSTANDARD = LVDS_25; +NET "AD28A_N" LOC = F18; +NET "AD28A_P" DIFF_TERM = "TRUE"; +NET "AD28A_P" IOSTANDARD = LVDS_25; +NET "AD28A_P" LOC = G18; +NET "AD28B_N" DIFF_TERM = "TRUE"; +NET "AD28B_N" IOSTANDARD = LVDS_25; +NET "AD28B_N" LOC = C21; +NET "AD28B_P" DIFF_TERM = "TRUE"; +NET "AD28B_P" IOSTANDARD = LVDS_25; +NET "AD28B_P" LOC = B22; + +NET "AD31A_N" DIFF_TERM = "TRUE"; +NET "AD31A_N" IOSTANDARD = LVDS_25; +NET "AD31A_N" LOC = T21; +NET "AD31A_P" DIFF_TERM = "TRUE"; +NET "AD31A_P" IOSTANDARD = LVDS_25; +NET "AD31A_P" LOC = U21; +NET "AD31B_N" DIFF_TERM = "TRUE"; +NET "AD31B_N" IOSTANDARD = LVDS_25; +NET "AD31B_N" LOC = Y21; +NET "AD31B_P" DIFF_TERM = "TRUE"; +NET "AD31B_P" IOSTANDARD = LVDS_25; +NET "AD31B_P" LOC = AA21; +NET "AD32A_N" DIFF_TERM = "TRUE"; +NET "AD32A_N" IOSTANDARD = LVDS_25; +NET "AD32A_N" LOC = AB21; +NET "AD32A_P" DIFF_TERM = "TRUE"; +NET "AD32A_P" IOSTANDARD = LVDS_25; +NET "AD32A_P" LOC = AB20; +NET "AD32B_N" DIFF_TERM = "TRUE"; +NET "AD32B_N" IOSTANDARD = LVDS_25; +NET "AD32B_N" LOC = U20; +NET "AD32B_P" DIFF_TERM = "TRUE"; +NET "AD32B_P" IOSTANDARD = LVDS_25; +NET "AD32B_P" LOC = U19; +NET "AD33A_N" DIFF_TERM = "TRUE"; +NET "AD33A_N" IOSTANDARD = LVDS_25; +NET "AD33A_N" LOC = W20; +NET "AD33A_P" DIFF_TERM = "TRUE"; +NET "AD33A_P" IOSTANDARD = LVDS_25; +NET "AD33A_P" LOC = Y20; +NET "AD33B_N" DIFF_TERM = "TRUE"; +NET "AD33B_N" IOSTANDARD = LVDS_25; +NET "AD33B_N" LOC = V21; +NET "AD33B_P" DIFF_TERM = "TRUE"; +NET "AD33B_P" IOSTANDARD = LVDS_25; +NET "AD33B_P" LOC = V20; +NET "AD34A_N" DIFF_TERM = "TRUE"; +NET "AD34A_N" IOSTANDARD = LVDS_25; +NET "AD34A_N" LOC = AA22; +NET "AD34A_P" DIFF_TERM = "TRUE"; +NET "AD34A_P" IOSTANDARD = LVDS_25; +NET "AD34A_P" LOC = Y22; +NET "AD34B_N" DIFF_TERM = "TRUE"; +NET "AD34B_N" IOSTANDARD = LVDS_25; +NET "AD34B_N" LOC = T19; +NET "AD34B_P" DIFF_TERM = "TRUE"; +NET "AD34B_P" IOSTANDARD = LVDS_25; +NET "AD34B_P" LOC = T18; +NET "AD35A_N" DIFF_TERM = "TRUE"; +NET "AD35A_N" IOSTANDARD = LVDS_25; +NET "AD35A_N" LOC = R20; +NET "AD35A_P" DIFF_TERM = "TRUE"; +NET "AD35A_P" IOSTANDARD = LVDS_25; +NET "AD35A_P" LOC = R19; +NET "AD35B_N" DIFF_TERM = "TRUE"; +NET "AD35B_N" IOSTANDARD = LVDS_25; +NET "AD35B_N" LOC = P17; +NET "AD35B_P" DIFF_TERM = "TRUE"; +NET "AD35B_P" IOSTANDARD = LVDS_25; +NET "AD35B_P" LOC = N17; +NET "AD36A_N" DIFF_TERM = "TRUE"; +NET "AD36A_N" IOSTANDARD = LVDS_25; +NET "AD36A_N" LOC = R22; +NET "AD36A_P" DIFF_TERM = "TRUE"; +NET "AD36A_P" IOSTANDARD = LVDS_25; +NET "AD36A_P" LOC = P22; +NET "AD36B_N" DIFF_TERM = "TRUE"; +NET "AD36B_N" IOSTANDARD = LVDS_25; +NET "AD36B_N" LOC = N21; +NET "AD36B_P" DIFF_TERM = "TRUE"; +NET "AD36B_P" IOSTANDARD = LVDS_25; +NET "AD36B_P" LOC = N22; +NET "AD37A_N" DIFF_TERM = "TRUE"; +NET "AD37A_N" IOSTANDARD = LVDS_25; +NET "AD37A_N" LOC = M19; +NET "AD37A_P" DIFF_TERM = "TRUE"; +NET "AD37A_P" IOSTANDARD = LVDS_25; +NET "AD37A_P" LOC = M20; +NET "AD37B_N" DIFF_TERM = "TRUE"; +NET "AD37B_N" IOSTANDARD = LVDS_25; +NET "AD37B_N" LOC = L21; +NET "AD37B_P" DIFF_TERM = "TRUE"; +NET "AD37B_P" IOSTANDARD = LVDS_25; +NET "AD37B_P" LOC = L22; +NET "AD38A_N" DIFF_TERM = "TRUE"; +NET "AD38A_N" IOSTANDARD = LVDS_25; +NET "AD38A_N" LOC = N18; +NET "AD38A_P" DIFF_TERM = "TRUE"; +NET "AD38A_P" IOSTANDARD = LVDS_25; +NET "AD38A_P" LOC = M18; +NET "AD38B_N" DIFF_TERM = "TRUE"; +NET "AD38B_N" IOSTANDARD = LVDS_25; +NET "AD38B_N" LOC = N20; +NET "AD38B_P" DIFF_TERM = "TRUE"; +NET "AD38B_P" IOSTANDARD = LVDS_25; +NET "AD38B_P" LOC = M21; + +NET "AD41A_N" DIFF_TERM = "TRUE"; +NET "AD41A_N" IOSTANDARD = LVDS_25; +NET "AD41A_N" LOC = U8; +NET "AD41A_P" DIFF_TERM = "TRUE"; +NET "AD41A_P" IOSTANDARD = LVDS_25; +NET "AD41A_P" LOC = V8; +NET "AD41B_N" DIFF_TERM = "TRUE"; +NET "AD41B_N" IOSTANDARD = LVDS_25; +NET "AD41B_N" LOC = Y7; +NET "AD41B_P" DIFF_TERM = "TRUE"; +NET "AD41B_P" IOSTANDARD = LVDS_25; +NET "AD41B_P" LOC = Y6; +NET "AD42A_N" DIFF_TERM = "TRUE"; +NET "AD42A_N" IOSTANDARD = LVDS_25; +NET "AD42A_N" LOC = T7; +NET "AD42A_P" DIFF_TERM = "TRUE"; +NET "AD42A_P" IOSTANDARD = LVDS_25; +NET "AD42A_P" LOC = T6; +NET "AD42B_N" DIFF_TERM = "TRUE"; +NET "AD42B_N" IOSTANDARD = LVDS_25; +NET "AD42B_N" LOC = AA6; +NET "AD42B_P" DIFF_TERM = "TRUE"; +NET "AD42B_P" IOSTANDARD = LVDS_25; +NET "AD42B_P" LOC = AB6; +NET "AD43A_N" DIFF_TERM = "TRUE"; +NET "AD43A_N" IOSTANDARD = LVDS_25; +NET "AD43A_N" LOC = W7; +NET "AD43A_P" DIFF_TERM = "TRUE"; +NET "AD43A_P" IOSTANDARD = LVDS_25; +NET "AD43A_P" LOC = V7; +NET "AD43B_N" DIFF_TERM = "TRUE"; +NET "AD43B_N" IOSTANDARD = LVDS_25; +NET "AD43B_N" LOC = AB8; +NET "AD43B_P" DIFF_TERM = "TRUE"; +NET "AD43B_P" IOSTANDARD = LVDS_25; +NET "AD43B_P" LOC = AB9; +NET "AD44A_N" DIFF_TERM = "TRUE"; +NET "AD44A_N" IOSTANDARD = LVDS_25; +NET "AD44A_N" LOC = V6; +NET "AD44A_P" DIFF_TERM = "TRUE"; +NET "AD44A_P" IOSTANDARD = LVDS_25; +NET "AD44A_P" LOC = U6; +NET "AD44B_N" DIFF_TERM = "TRUE"; +NET "AD44B_N" IOSTANDARD = LVDS_25; +NET "AD44B_N" LOC = W8; +NET "AD44B_P" DIFF_TERM = "TRUE"; +NET "AD44B_P" IOSTANDARD = LVDS_25; +NET "AD44B_P" LOC = W9; +NET "AD45A_N" DIFF_TERM = "TRUE"; +NET "AD45A_N" IOSTANDARD = LVDS_25; +NET "AD45A_N" LOC = T8; +NET "AD45A_P" DIFF_TERM = "TRUE"; +NET "AD45A_P" IOSTANDARD = LVDS_25; +NET "AD45A_P" LOC = R9; +NET "AD45B_N" DIFF_TERM = "TRUE"; +NET "AD45B_N" IOSTANDARD = LVDS_25; +NET "AD45B_N" LOC = Y11; +NET "AD45B_P" DIFF_TERM = "TRUE"; +NET "AD45B_P" IOSTANDARD = LVDS_25; +NET "AD45B_P" LOC = AA11; +NET "AD46A_N" DIFF_TERM = "TRUE"; +NET "AD46A_N" IOSTANDARD = LVDS_25; +NET "AD46A_N" LOC = Y10; +NET "AD46A_P" DIFF_TERM = "TRUE"; +NET "AD46A_P" IOSTANDARD = LVDS_25; +NET "AD46A_P" LOC = W10; +NET "AD46B_N" DIFF_TERM = "TRUE"; +NET "AD46B_N" IOSTANDARD = LVDS_25; +NET "AD46B_N" LOC = V11; +NET "AD46B_P" DIFF_TERM = "TRUE"; +NET "AD46B_P" IOSTANDARD = LVDS_25; +NET "AD46B_P" LOC = U11; +NET "AD47A_N" DIFF_TERM = "TRUE"; +NET "AD47A_N" IOSTANDARD = LVDS_25; +NET "AD47A_N" LOC = T11; +NET "AD47A_P" DIFF_TERM = "TRUE"; +NET "AD47A_P" IOSTANDARD = LVDS_25; +NET "AD47A_P" LOC = T12; +NET "AD47B_N" DIFF_TERM = "TRUE"; +NET "AD47B_N" IOSTANDARD = LVDS_25; +NET "AD47B_N" LOC = W12; +NET "AD47B_P" DIFF_TERM = "TRUE"; +NET "AD47B_P" IOSTANDARD = LVDS_25; +NET "AD47B_P" LOC = V12; +NET "AD48A_N" DIFF_TERM = "TRUE"; +NET "AD48A_N" IOSTANDARD = LVDS_25; +NET "AD48A_N" LOC = U10; +NET "AD48A_P" DIFF_TERM = "TRUE"; +NET "AD48A_P" IOSTANDARD = LVDS_25; +NET "AD48A_P" LOC = T9; +NET "AD48B_N" DIFF_TERM = "TRUE"; +NET "AD48B_N" IOSTANDARD = LVDS_25; +NET "AD48B_N" LOC = AA12; +NET "AD48B_P" DIFF_TERM = "TRUE"; +NET "AD48B_P" IOSTANDARD = LVDS_25; +NET "AD48B_P" LOC = Y12; + +NET "DATAu" LOC = B10; +NET "CLKu" LOC = A11; +NET "RDu" LOC = C10; +NET "LEu" LOC = A12; +NET "SYNC" LOC = G11; + +NET "S_CTRL" LOC = W14; +NET "T_CTRL" LOC = Y14; +NET "GEO" LOC = AB13; + +# +NET "SCK" LOC = W17; +NET "SDI" LOC = W18; +NET "CSA[1]" LOC = AA17; +NET "CSA[2]" LOC = AB18; +NET "CSA[3]" LOC = V18; +NET "CSA[4]" LOC = T16; +NET "CSB[1]" LOC = Y17; +NET "CSB[2]" LOC = AA18; +NET "CSB[3]" LOC = V17; +NET "CSB[4]" LOC = R16; + +NET "SDOA[1]" LOC = Y16; +NET "SDOA[2]" LOC = AA19; +NET "SDOA[3]" LOC = V13; +NET "SDOA[4]" LOC = T17; +NET "SDOB[1]" LOC = AA16; +NET "SDOB[2]" LOC = AB19; +NET "SDOB[3]" LOC = W13; +NET "SDOB[4]" LOC = U18; + +# +#NET "D<0>" LOC = "V15"; +#NET "D<1>" LOC = "U15"; +#NET "D<2>" LOC = "R15"; +#NET "D<3>" LOC = "R14"; +#NET "D<4>" LOC = "Y19"; +#NET "D<5>" LOC = "W19"; +#NET "D<6>" LOC = "U16"; +#NET "D<7>" LOC = "V16"; +NET "DCOA1_N" DIFF_TERM = "TRUE"; +NET "DCOA1_N" IOSTANDARD = LVDS_25; +NET "DCOA1_N" LOC = F16; +NET "DCOA1_P" DIFF_TERM = "TRUE"; +NET "DCOA1_P" IOSTANDARD = LVDS_25; +NET "DCOA1_P" LOC = E16; +NET "DCOA2_N" DIFF_TERM = "TRUE"; +NET "DCOA2_N" IOSTANDARD = LVDS_25; +NET "DCOA2_N" LOC = D22; +NET "DCOA2_P" DIFF_TERM = "TRUE"; +NET "DCOA2_P" IOSTANDARD = LVDS_25; +NET "DCOA2_P" LOC = C22; +NET "DCOA3_N" DIFF_TERM = "TRUE"; +NET "DCOA3_N" IOSTANDARD = LVDS_25; +NET "DCOA3_N" LOC = P20; +NET "DCOA3_P" DIFF_TERM = "TRUE"; +NET "DCOA3_P" IOSTANDARD = LVDS_25; +NET "DCOA3_P" LOC = P19; +NET "DCOA4_N" DIFF_TERM = "TRUE"; +NET "DCOA4_N" IOSTANDARD = LVDS_25; +NET "DCOA4_N" LOC = Y9; +NET "DCOA4_P" DIFF_TERM = "TRUE"; +NET "DCOA4_P" IOSTANDARD = LVDS_25; +NET "DCOA4_P" LOC = AA9; +NET "DCOB1_N" DIFF_TERM = "TRUE"; +NET "DCOB1_N" IOSTANDARD = LVDS_25; +NET "DCOB1_N" LOC = B19; +NET "DCOB1_P" DIFF_TERM = "TRUE"; +NET "DCOB1_P" IOSTANDARD = LVDS_25; +NET "DCOB1_P" LOC = A19; +NET "DCOB2_N" DIFF_TERM = "TRUE"; +NET "DCOB2_N" IOSTANDARD = LVDS_25; +NET "DCOB2_N" LOC = E20; +NET "DCOB2_P" DIFF_TERM = "TRUE"; +NET "DCOB2_P" IOSTANDARD = LVDS_25; +NET "DCOB2_P" LOC = D20; +NET "DCOB3_N" DIFF_TERM = "TRUE"; +NET "DCOB3_N" IOSTANDARD = LVDS_25; +NET "DCOB3_N" LOC = V22; +NET "DCOB3_P" DIFF_TERM = "TRUE"; +NET "DCOB3_P" IOSTANDARD = LVDS_25; +NET "DCOB3_P" LOC = W22; +NET "DCOB4_N" DIFF_TERM = "TRUE"; +NET "DCOB4_N" IOSTANDARD = LVDS_25; +NET "DCOB4_N" LOC = AA8; +NET "DCOB4_P" DIFF_TERM = "TRUE"; +NET "DCOB4_P" IOSTANDARD = LVDS_25; +NET "DCOB4_P" LOC = AA7; + +NET "FRA1_N" DIFF_TERM = "TRUE"; +NET "FRA1_N" IOSTANDARD = LVDS_25; +NET "FRA1_N" LOC = C15; +NET "FRA1_P" DIFF_TERM = "TRUE"; +NET "FRA1_P" IOSTANDARD = LVDS_25; +NET "FRA1_P" LOC = B15; +NET "FRA2_N" DIFF_TERM = "TRUE"; +NET "FRA2_N" IOSTANDARD = LVDS_25; +NET "FRA2_N" LOC = G20; +NET "FRA2_P" DIFF_TERM = "TRUE"; +NET "FRA2_P" IOSTANDARD = LVDS_25; +NET "FRA2_P" LOC = H20; +NET "FRA3_N" DIFF_TERM = "TRUE"; +NET "FRA3_N" IOSTANDARD = LVDS_25; +NET "FRA3_N" LOC = R17; +NET "FRA3_P" DIFF_TERM = "TRUE"; +NET "FRA3_P" IOSTANDARD = LVDS_25; +NET "FRA3_P" LOC = P18; +NET "FRA4_N" DIFF_TERM = "TRUE"; +NET "FRA4_N" IOSTANDARD = LVDS_25; +NET "FRA4_N" LOC = U9; +NET "FRA4_P" DIFF_TERM = "TRUE"; +NET "FRA4_P" IOSTANDARD = LVDS_25; +NET "FRA4_P" LOC = V10; +NET "FRB1_N" DIFF_TERM = "TRUE"; +NET "FRB1_N" IOSTANDARD = LVDS_25; +NET "FRB1_N" LOC = E15; +NET "FRB1_P" DIFF_TERM = "TRUE"; +NET "FRB1_P" IOSTANDARD = LVDS_25; +NET "FRB1_P" LOC = D15; +NET "FRB2_N" DIFF_TERM = "TRUE"; +NET "FRB2_N" IOSTANDARD = LVDS_25; +NET "FRB2_N" LOC = F22; +NET "FRB2_P" DIFF_TERM = "TRUE"; +NET "FRB2_P" IOSTANDARD = LVDS_25; +NET "FRB2_P" LOC = F21; +NET "FRB3_N" DIFF_TERM = "TRUE"; +NET "FRB3_N" IOSTANDARD = LVDS_25; +NET "FRB3_N" LOC = T22; +NET "FRB3_P" DIFF_TERM = "TRUE"; +NET "FRB3_P" IOSTANDARD = LVDS_25; +NET "FRB3_P" LOC = R21; +NET "FRB4_N" DIFF_TERM = "TRUE"; +NET "FRB4_N" IOSTANDARD = LVDS_25; +NET "FRB4_N" LOC = AB10; +NET "FRB4_P" DIFF_TERM = "TRUE"; +NET "FRB4_P" IOSTANDARD = LVDS_25; +NET "FRB4_P" LOC = AB11; + +NET "GCLK_N" DIFF_TERM = "TRUE"; +NET "GCLK_N" IOSTANDARD = LVDS_25; +NET "GCLK_N" LOC = U13; +NET "GCLK_P" DIFF_TERM = "TRUE"; +NET "GCLK_P" IOSTANDARD = LVDS_25; +NET "GCLK_P" LOC = T13; + + +NET "INTCOM0_N" LOC = "A6"; +NET "INTCOM0_P" LOC = "A7"; +NET "INTCOM1_N" LOC = "B6"; +NET "INTCOM1_P" LOC = "C6"; +NET "INTCOM2_N" LOC = "H10"; +NET "INTCOM2_P" LOC = "G10"; +NET "INTCOM3_N" LOC = "D9"; +NET "INTCOM3_P" LOC = "E9"; +NET "INTCOM4_N" LOC = "G9"; +NET "INTCOM4_P" LOC = "F9"; +NET "INTCOM5_N" LOC = "E6"; +NET "INTCOM5_P" LOC = "E7"; +NET "INTCOM6_N" LOC = "F11"; +NET "INTCOM6_P" LOC = "E11"; +NET "INTCOM7_N" LOC = "F7"; +NET "INTCOM7_P" LOC = "F8"; + +NET "INTCOMC1_N" LOC = "C7"; +#NET "INTCOMC1_N" DIFF_TERM = "TRUE"; +#NET "INTCOMC1_N" IOSTANDARD = BLVDS_25; +NET "INTCOMC1_P" LOC = "C8"; +#NET "INTCOMC1_P" DIFF_TERM = "TRUE"; +#NET "INTCOMC1_P" IOSTANDARD = BLVDS_25; +NET "INTCOMC2_N" LOC = "D7"; +#NET "INTCOMC2_N" DIFF_TERM = "TRUE"; +#NET "INTCOMC2_N" IOSTANDARD = BLVDS_25; +NET "INTCOMC2_P" LOC = "D8"; +#NET "INTCOMC2_P" DIFF_TERM = "TRUE"; +#NET "INTCOMC2_P" IOSTANDARD = BLVDS_25; + + +NET "TCK_F" LOC = "AA14"; +NET "TDI_F" LOC = "AB16"; +NET "TDO_F" LOC = "AB15"; +NET "TMS_F" LOC = "AB14"; + + + +# +#NET "SM0_N" LOC = "B11"; +#NET "SM0_P" LOC = "C11"; +NET "SM1_N" LOC = "B9"; +NET "SM1_P" LOC = "A9"; +#NET "SM2_N" LOC = "E10"; +#NET "SM2_P" LOC = "D10"; +NET "SM3_N" LOC = "B8"; +NET "SM3_P" LOC = "A8"; +# +# +#NET "TEMP_IN" LOC = "U14"; +#NET "TEMP_OUT" LOC = "T14"; +# +#NET "RX_N" LOC = "T2"; +#NET "RX_P" LOC = "T1"; +#NET "TX_N" LOC = "V2"; +#NET "TX_P" LOC = "V1"; +NET "MOD_DEF[0]" LOC = G8; +NET "MOD_DEF[1]" LOC = H8; +NET "MOD_DEF[2]" LOC = D12; +NET "TX_DIS" LOC = H11; +NET "LOS" LOC = C12; + +NET "MGTREFCLK_N" LOC = L3; +NET "MGTREFCLK_P" LOC = L4; +NET "RCV_CLK_N" LOC = Y15; +NET "RCV_CLK_P" LOC = W15; +NET "ST_CLK_N" LOC = G6; +NET "ST_CLK_P" LOC = F6; +NET "RX_N" LOC = G4; +NET "RX_P" LOC = G3; +NET "TX_N" LOC = K2; +NET "TX_P" LOC = K1; + +#NET "PROGRAM_B" LOC = F5; + +# +#NET "XRX0_N" LOC = "E4"; +#NET "XRX0_P" LOC = "E3"; +#NET "XRX1_N" LOC = "C4"; +#NET "XRX1_P" LOC = "C3"; +#NET "XTX0_N" LOC = "H2"; +#NET "XTX0_P" LOC = "H1"; +#NET "XTX1_N" LOC = "F2"; +#NET "XTX1_P" LOC = "F1"; +#Created by Constraints Editor (xc6vlx130t-ff484-3) - 2012/07/23 +#NET "DCOA1_P" TNM_NET = DCOA1_P; +#TIMESPEC TS_DCOA1_P = PERIOD "DCOA1_P" 3.125 ns HIGH 50%; +#NET "DCOA2_P" TNM_NET = DCOA2_P; +#TIMESPEC TS_DCOA2_P = PERIOD "DCOA2_P" 3.125 ns HIGH 50%; +#NET "DCOA3_P" TNM_NET = DCOA3_P; +#TIMESPEC TS_DCOA3_P = PERIOD "DCOA3_P" 3.125 ns HIGH 50%; +#NET "DCOA4_P" TNM_NET = DCOA4_P; +#TIMESPEC TS_DCOA4_P = PERIOD "DCOA4_P" 3.125 HIGH 50%; +#NET "DCOB1_P" TNM_NET = DCOB1_P; +#TIMESPEC TS_DCOB1_P = PERIOD "DCOB1_P" 3.125 ns HIGH 50%; +#NET "DCOB2_P" TNM_NET = DCOB2_P; +#TIMESPEC TS_DCOB2_P = PERIOD "DCOB2_P" 3.125 ns HIGH 50%; +#NET "DCOB3_P" TNM_NET = DCOB3_P; +#TIMESPEC TS_DCOB3_P = PERIOD "DCOB3_P" 3.125 ns HIGH 50%; +#NET "DCOB4_P" TNM_NET = DCOB4_P; +#TIMESPEC TS_DCOB4_P = PERIOD "DCOB4_P" 3.125 ns HIGH 50%; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClk" MAXSKEW = 100 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClk" MAXSKEW = 100 ps; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClk" MAXDELAY = 500 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClk" MAXDELAY = 500 ps; + +#390 +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" MAXDELAY = 750 ps; + +# half of real frequency because of synchronisation with falling edge +#NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv"; +#TIMESPEC TS_AdcToplevel1458_1_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" 12.5 ns HIGH 50 %; +#NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv"; +#TIMESPEC TS_AdcToplevel2356_1_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" 12.5 ns HIGH 50 %; +# +#NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv"; +#TIMESPEC TS_AdcToplevel1458_2_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" 12.5 ns HIGH 50 %; +#NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv"; +#TIMESPEC TS_AdcToplevel2356_2_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" 12.5 ns HIGH 50 %; +# +#NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv"; +#TIMESPEC TS_AdcToplevel1458_3_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" 12.5 ns HIGH 50 %; +#NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv"; +#TIMESPEC TS_AdcToplevel2356_3_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" 12.5 ns HIGH 50 %; +# +#NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv"; +#TIMESPEC TS_AdcToplevel1458_4_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" 12.5 ns HIGH 50 %; +#NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv"; +#TIMESPEC TS_AdcToplevel2356_4_IntClkDiv = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" 12.5 ns HIGH 50 %; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClk"; +TIMESPEC TS_AdcToplevel1458_1_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClk" 3 ns HIGH 50 %; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClk"; +TIMESPEC TS_AdcToplevel2356_1_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClk" 3 ns HIGH 50 %; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClk"; +TIMESPEC TS_AdcToplevel1458_2_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClk" 3 ns HIGH 50 %; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClk"; +TIMESPEC TS_AdcToplevel2356_2_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClk" 3 ns HIGH 50 %; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClk"; +TIMESPEC TS_AdcToplevel1458_3_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClk" 3 ns HIGH 50 %; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClk"; +TIMESPEC TS_AdcToplevel2356_3_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClk" 3 ns HIGH 50 %; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClk"; +TIMESPEC TS_AdcToplevel1458_4_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClk" 3 ns HIGH 50 %; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClk" TNM_NET = "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClk"; +TIMESPEC TS_AdcToplevel2356_4_IntClk = PERIOD "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClk" 3 ns HIGH 50 %; + + +#NET "ADC_clk_S" TNM_NET = "ADC_clk_S"; +#TIMESPEC TS_ADC_clk_S = PERIOD "ADC_clk_S" 12.5 ns HIGH 50 %; +#NET "ADC_clk_S" MAXDELAY = 1.6 ns; +#NET "ADC_clk_S" MAXSKEW = 1.6 ns; +#NET "FEE_ADCinput_module1/ADC_clknot_S" TNM_NET = "FEE_ADCinput_module1/ADC_clknot_S"; +#TIMESPEC TS_clknot_S = PERIOD "FEE_ADCinput_module1/ADC_clknot_S" 12.5 ns HIGH 50 %; +#NET "FEE_ADCinput_module1/ADC_clknot_S" MAXDELAY = 1.6 ns; +#NET "FEE_ADCinput_module1/ADC_clknot_S" MAXSKEW = 1.6 ns; +# +#TIMESPEC TS_AdcToplevel1458_A_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_B_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_C_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_D_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_A_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_B_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_C_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_D_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" TO "ADC_clk_S" 4.5 ns; +# +#TIMESPEC TS_AdcToplevel1458_A_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_B_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_C_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel1458_D_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_A_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_B_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_C_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; +#TIMESPEC TS_AdcToplevel2356_D_IntClkDiv = FROM "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" TO "FEE_ADCinput_module1/ADC_clknot_S" 4.5 ns; + +NET "ADC_clk_S" TNM_NET = "ADC_clk_S_clk"; +TIMESPEC TS_ADC_clk_S_clk = PERIOD "ADC_clk_S_clk" 12.5 ns HIGH 50 %; +NET "ADC_clk_S" TNM_NET = "ADC_clk_S_net"; +NET "FEE_ADCinput_module1/ADC_clknot_S" TNM_NET = "ADC_clknot_S_clk"; +TIMESPEC TS_ADC_clknot_S_clk = PERIOD "ADC_clknot_S_clk" 12.5 ns HIGH 50 %; +NET "FEE_ADCinput_module1/ADC_clknot_S" TNM_NET = "ADC_clknot_S_net"; + +NET "ADC_clk_S" MAXDELAY = 1.6 ns; +NET "ADC_clk_S" MAXSKEW = 1 ns; +NET "FEE_ADCinput_module1/ADC_clknot_S" MAXDELAY = 1.4 ns; +NET "FEE_ADCinput_module1/ADC_clknot_S" MAXSKEW = 1 ns; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" TNM_NET = "IntClkDiv1458_1_per"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" TNM_NET = "IntClkDiv1458_2_per"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" TNM_NET = "IntClkDiv1458_3_per"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" TNM_NET = "IntClkDiv1458_4_per"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" TNM_NET = "IntClkDiv2356_1_per"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" TNM_NET = "IntClkDiv2356_2_per"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" TNM_NET = "IntClkDiv2356_3_per"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" TNM_NET = "IntClkDiv2356_4_per"; + +TIMESPEC TS_AdcToplevel1458_1_IntClkDiv_per = PERIOD "IntClkDiv1458_1_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel1458_2_IntClkDiv_per = PERIOD "IntClkDiv1458_2_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel1458_3_IntClkDiv_per = PERIOD "IntClkDiv1458_3_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel1458_4_IntClkDiv_per = PERIOD "IntClkDiv1458_4_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel2356_1_IntClkDiv_per = PERIOD "IntClkDiv2356_1_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel2356_2_IntClkDiv_per = PERIOD "IntClkDiv2356_2_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel2356_3_IntClkDiv_per = PERIOD "IntClkDiv2356_3_per" 12.5 ns HIGH 50 %; +TIMESPEC TS_AdcToplevel2356_4_IntClkDiv_per = PERIOD "IntClkDiv2356_4_per" 12.5 ns HIGH 50 %; + + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/IntClkDiv" TNM_NET = "IntClkDiv1458_1_net"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/IntClkDiv" TNM_NET = "IntClkDiv1458_2_net"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/IntClkDiv" TNM_NET = "IntClkDiv1458_3_net"; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/IntClkDiv" TNM_NET = "IntClkDiv1458_4_net"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/IntClkDiv" TNM_NET = "IntClkDiv2356_1_net"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/IntClkDiv" TNM_NET = "IntClkDiv2356_2_net"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/IntClkDiv" TNM_NET = "IntClkDiv2356_3_net"; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/IntClkDiv" TNM_NET = "IntClkDiv2356_4_net"; + +TIMESPEC TS_AdcToplevel1458_1_IntClkDiv_net = FROM "IntClkDiv1458_1_net" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel1458_2_IntClkDiv_net = FROM "IntClkDiv1458_2_net" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel1458_3_IntClkDiv_net = FROM "IntClkDiv1458_3_per" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel1458_4_IntClkDiv_net = FROM "IntClkDiv1458_4_per" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel2356_1_IntClkDiv_net = FROM "IntClkDiv2356_1_per" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel2356_2_IntClkDiv_net = FROM "IntClkDiv2356_2_per" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel2356_3_IntClkDiv_net = FROM "IntClkDiv2356_3_per" TO "ADC_clknot_S_net" 4 ns; +TIMESPEC TS_AdcToplevel2356_4_IntClkDiv_net = FROM "IntClkDiv2356_4_per" TO "ADC_clknot_S_net" 4 ns; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/AdcToplevel_I_AdcFrame/Frame_out_S" MAXSKEW = 300 ps; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/AdcToplevel_I_AdcFrame/Frame_out_S" MAXDELAY = 870 ps; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/reset_clockdiv_S" MAXSKEW = 250 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/reset_clockdiv_S" MAXSKEW = 250 ps; + +NET "FEE_ADCinput_module1/AdcTopleveL1458_1/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_2/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_3/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL1458_4/reset_clockdiv_S" MAXDELAY = 750 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_1/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_2/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_3/reset_clockdiv_S" MAXDELAY = 850 ps; +NET "FEE_ADCinput_module1/AdcTopleveL2356_4/reset_clockdiv_S" MAXDELAY = 850 ps; + + +NET "FEE_ADCinput_module1/FRA1_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA1_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA2_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA2_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA3_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA3_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA4_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRA4_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB1_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB1_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB2_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB2_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB3_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB3_N_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB4_P_S" MAXDELAY = 20 ps; +NET "FEE_ADCinput_module1/FRB4_N_S" MAXDELAY = 20 ps; + +NET "ST_CLK_P" TNM_NET = "ST_CLK_P"; +TIMESPEC TS_ST_CLK_P = PERIOD "ST_CLK_P" 6.43 ns HIGH 50 %; +NET "ST_CLK_N" TNM_NET = "ST_CLK_N"; +TIMESPEC TS_ST_CLK_N = PERIOD "ST_CLK_N" 6.43 ns HIGH 50 %; + +INST "*AdcClock/AdcClock_I_Isrds_*" TNM = FFS "AdcClk_Isrds"; +INST "*AdcFrame/AdcFrame_I_Isrds_*" TNM = FFS "AdcFrm_Isrds"; +INST "*AdcData/AdcData_I_Isrds_*" TNM = FFS "AdcDat_Isrds"; +INST "*AdcClock/*" TNM = FFS "AdcClk_Ffs"; +INST "*AdcFrame/*" TNM = FFS "AdcFrm_Ffs"; +INST "*AdcData/*" TNM = FFS "AdcDat_Ffs"; +TIMESPEC TS_ClkIsrds_ClkFfs = FROM "AdcClk_Isrds" TO "AdcClk_Ffs" 2.4 ns; +TIMESPEC TS_FrmIsrds_FrmFfs = FROM "AdcFrm_Isrds" TO "AdcFrm_Ffs" 2.4 ns; +TIMESPEC TS_DatIsrds_DatFfs = FROM "AdcDat_Isrds" TO "AdcDat_Ffs" 2.4 ns; + +NET "clock_ADCref_S" TNM_NET = "clock_ADCref_S_clk"; +TIMESPEC TS_clock_ADCref_S_clk = PERIOD "clock_ADCref_S_clk" 12.5 ns HIGH 50 %; +NET "clock_ADCref_S" TNM_NET = "clock_ADCref_S_net"; + +NET "ST_CLK_S" TNM_NET = "ST_CLK_S_clk"; +TIMESPEC TS_ST_CLK_S_clk = PERIOD "ST_CLK_S_clk" 6.43 ns HIGH 50 %; +NET "ST_CLK_S" TNM_NET = "ST_CLK_S_net"; + +NET "GCLK_S" TNM_NET = "GCLK_S_clk"; +TIMESPEC TS_GCLK_S_clk = PERIOD "GCLK_S_clk" 12.5 ns HIGH 50 %; +NET "GCLK_S" TNM_NET = "GCLK_S_net"; + +#NET "rxSodaClk_S" TNM_NET = "rxSodaClk_S"; +#TIMESPEC TS_rxSodaClk_S_clk = PERIOD "rxSodaClk_S_clk" 6.25 ns HIGH 50 %; +#NET "rxSodaClk_S" TNM_NET = "rxSodaClk_S_net"; + +NET "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk_S" TNM_NET = "rxSodaClk_S"; +TIMESPEC TS_rxSodaClk_S_clk = PERIOD "rxSodaClk_S_clk" 6.25 ns HIGH 50 %; +NET "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk_S" TNM_NET = "rxSodaClk_S_net"; + + +TIMESPEC TS_ADC_to_ADC = FROM "clock_ADCref_S_net" TO "clock_ADCref_S_net" 12.5 ns; +TIMESPEC TS_ST_to_ST = FROM "ST_CLK_S_net" TO "ST_CLK_S_net" 6.43 ns; +TIMESPEC TS_G_to_G = FROM "GCLK_S_net" TO "GCLK_S_net" 12.5 ns; +TIMESPEC TS_SODA_to_SODA = FROM "rxSodaClk_S_net" TO "rxSodaClk_S_net" 6.25 ns; + + +TIMESPEC TS_ADC_to_ST = FROM "clock_ADCref_S_net" TO "ST_CLK_S_net" TIG; +TIMESPEC TS_ST_to_ADC = FROM "ST_CLK_S_net" TO "clock_ADCref_S_net" TIG; +TIMESPEC TS_G_to_ST = FROM "GCLK_S_net" TO "ST_CLK_S_net" TIG; +TIMESPEC TS_SODA_to_ST = FROM "rxSodaClk_S_net" TO "ST_CLK_S_net" TIG; +TIMESPEC TS_SODA_to_G = FROM "rxSodaClk_S_net" TO "GCLK_S_net" TIG; +TIMESPEC TS_SODA_to_ADC = FROM "rxSodaClk_S_net" TO "clock_ADCref_S_net" TIG; + +#NET "ST_CLK_S" TNM_NET = "ST_CLK_S"; +#NET "GCLK_S" TNM_NET = "GCLK_S"; +#NET "clock_ADCref_S" TNM_NET = "clock_ADCref_S"; +##NET "clock125Mhz_S" TNM_NET = "clock125MHz_S"; +#NET "clock200Mhz_S" TNM_NET = "clock200MHz_S"; +##NET "clock100Mhz_S" TNM_NET = "clock100MHz_S"; +# +##TIMESPEC TS_125M_to_ref = FROM "clock125MHz_S" TO "clock_ADCref_S" TIG; +##TIMESPEC TS_ref_to_125M = FROM "clock_ADCref_S" TO "clock125MHz_S" TIG; +#TIMESPEC TS_GCLK_to_ref = FROM "GCLK_S" TO "clock_ADCref_S" TIG; +#TIMESPEC TS_ref_to_GCLK = FROM "clock_ADCref_S" TO "GCLK_S" TIG; +##TIMESPEC TS_GCLK_to_125M = FROM "GCLK_S" TO "clock125MHz_S" TIG; +##TIMESPEC TS_125M_to_GCLK = FROM "clock125MHz_S" TO "GCLK_S" TIG; +# +# +##TIMESPEC TS_62M5_to_100M = FROM "clock62M5Hz_S" TO "clock100MHz_S" TIG; +##TIMESPEC TS_100M_to_62M5 = FROM "clock100MHz_S" TO "clock62M5Hz_S" TIG; +##TIMESPEC TS_125M_to_100M = FROM "clock125MHz_S" TO "clock100MHz_S" TIG; +##TIMESPEC TS_100M_to_125M = FROM "clock100MHz_S" TO "clock125MHz_S" TIG; +# +#TIMESPEC TS_ref_to_200M = FROM "clock62M5Hz_S" TO "clock200MHz_S" TIG; +#TIMESPEC TS_200M_to_ref = FROM "clock200MHz_S" TO "clock62M5Hz_S" TIG; +#TIMESPEC TS_GCLK_to_200M = FROM "GCLK_S" TO "clock200MHz_S" TIG; +#TIMESPEC TS_200M_to_GCLK = FROM "clock200MHz_S" TO "GCLK_S" TIG; +##TIMESPEC TS_125M_to_200M = FROM "clock125MHz_S" TO "clock200MHz_S" TIG; +##TIMESPEC TS_200M_to_125M = FROM "clock200MHz_S" TO "clock125MHz_S" TIG; +# +#TIMESPEC TS_ref_to_ST_CLK = FROM "clock_ADCref_S" TO "ST_CLK_S" TIG; +#TIMESPEC TS_ST_CLK_to_ref = FROM "ST_CLK_S" TO "clock_ADCref_S" TIG; +#TIMESPEC TS_GCLK_to_ST_CLK = FROM "GCLK_S" TO "ST_CLK_S" TIG; +#TIMESPEC TS_ST_CLK_to_GCLK = FROM "ST_CLK_S" TO "GCLK_S" TIG; +##TIMESPEC TS_125M_to_ST_CLK = FROM "clock125MHz_S" TO "ST_CLK_S" TIG; +##TIMESPEC TS_ST_CLK_to_125M = FROM "ST_CLK_S" TO "clock125MHz_S" TIG; +#TIMESPEC TS_200M_to_ST_CLK = FROM "clock200MHz_S" TO "ST_CLK_S" TIG; +#TIMESPEC TS_ST_CLK_to_200M = FROM "ST_CLK_S" TO "clock200MHz_S" TIG; +# +#NET "ST_CLK_S_BUFG" TNM_NET = "ST_CLK_S_BUFG"; +#TIMESPEC TS_ref_to_ST_CLK_BUFG = FROM "clock_ADCref_S" TO "ST_CLK_S_BUFG" TIG; +#TIMESPEC TS_ST_CLK_BUFG_to_ref = FROM "ST_CLK_S_BUFG" TO "clock_ADCref_S" TIG; +#TIMESPEC TS_GCLK_to_ST_CLK_BUFG = FROM "GCLK_S" TO "ST_CLK_S_BUFG" TIG; +#TIMESPEC TS_ST_CLK_BUFG_to_GCLK = FROM "ST_CLK_S_BUFG" TO "GCLK_S" TIG; +##TIMESPEC TS_125M_to_ST_CLK_BUFG = FROM "clock125MHz_S" TO "ST_CLK_S_BUFG" TIG; +##TIMESPEC TS_ST_CLK_BUFG_to_125M = FROM "ST_CLK_S_BUFG" TO "clock125MHz_S" TIG; +#TIMESPEC TS_200M_to_ST_CLK_BUFG = FROM "clock200MHz_S" TO "ST_CLK_S_BUFG" TIG; +#TIMESPEC TS_ST_CLK_BUFG_to_200M = FROM "ST_CLK_S_BUFG" TO "clock200MHz_S" TIG; + +#TIMESPEC TS_62M5_to_txUsrClk2 = FROM "clock62M5Hz_S" TO "FEE_gtxModule1/txUsrClk2_S" 20 ns; +#TIMESPEC TS_txUsrClk2_to_62M5 = FROM "FEE_gtxModule1/txUsrClk2_S" TO "clock62M5Hz_S" 20 ns; + +NET "GCLK_P" TNM_NET = "GCLK_P"; +TIMESPEC TS_GCLK_P = PERIOD "GCLK_P" 12.5 ns HIGH 50 %; +NET "GCLK_N" TNM_NET = "GCLK_N"; +TIMESPEC TS_GCLK_N = PERIOD "GCLK_N" 12.5 ns HIGH 50 %; + +NET "MGTREFCLK_P" TNM_NET = "MGTREFCLK_P"; +TIMESPEC TS_MGTREFCLK_P = PERIOD "MGTREFCLK_P" 12.5 ns HIGH 50 %; +NET "MGTREFCLK_N" TNM_NET = "MGTREFCLK_N"; +TIMESPEC TS_MGTREFCLK_N = PERIOD "MGTREFCLK_N" 12.5 ns HIGH 50 %; + +NET "FEE_gtxModule1/txUsrClk_S" TNM_NET = "FEE_gtxModule1/txUsrClk_S"; +TIMESPEC TS_FEE_gtxModule1_txUsrClk_S = PERIOD "FEE_gtxModule1/txUsrClk_S" 5 ns HIGH 50 %; +NET "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk_S" TNM_NET = "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk_S"; +TIMESPEC TS_FEE_gtxModule1_FEE_gtxWrapper_Virtex6_1_rxRecClk_S = PERIOD "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk_S" 5 ns HIGH 50 %; +NET "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/txOutClk_S" TNM_NET = FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/txOutClk_S; +TIMESPEC TS_FEE_gtxModule1_FEE_gtxWrapper_Virtex6_1_txOutClk_S = PERIOD "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/txOutClk_S" 12.5 ns HIGH 50%; +#INST FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/gtx_i/gtx0_gtxVirtex6FEE_i/gtxe1_i LOC=GTXE1_X0Y12; +#INST FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/gtx_i LOC=GTXE1_X0Y12; + +#TIMESPEC TS_RXCLK_to_TXCLK = FROM "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk0_S" TO "FEE_gtxModule1/txUsrClk2_S" 3 ns; +#TIMESPEC TS_TXCLK_to_RXCLK = FROM "FEE_gtxModule1/txUsrClk2_S" TO "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk0_S" 3 ns; +#TIMESPEC TS_RXCLK_to_TXCLK0 = FROM "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk0_S" TO "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/txOutClk0_S" 3 ns; +#TIMESPEC TS_TXCLK0_to_RXCLK = FROM "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/txOutClk0_S" TO "FEE_gtxModule1/FEE_gtxWrapper_Virtex6_1/rxRecClk0_S" 3 ns; + + +NET "GEO" IOSTANDARD = LVCMOS25; +#NET "GEO" DRIVE = 12; +NET "GEO" SLEW = SLOW; +NET "GEO" PULLUP; +net "GEO" TIG; +#NET "S_CTRL" TIG; +#NET "T_CTRL_S" TIG; + +#INST "FEE_ADCinput_module1/AdcTopleveL1458_1/*" AREA_GROUP=pblock_adc_A1; +#AREA_GROUP "pblock_adc_A1" RANGE=SLICE_X30Y140:SLICE_X35Y159; +# +#INST "FEE_ADCinput_module1/AdcTopleveL2356_1/*" AREA_GROUP=pblock_adc_B1; +#AREA_GROUP "pblock_adc_B1" RANGE=SLICE_X30Y120:SLICE_X35Y139; +# +#INST "FEE_ADCinput_module1/AdcTopleveL1458_2/*" AREA_GROUP=pblock_adc_A2; +#AREA_GROUP "pblock_adc_A2" RANGE=SLICE_X0Y120:SLICE_X5Y139; +# +#INST "FEE_ADCinput_module1/AdcTopleveL2356_2/*" AREA_GROUP=pblock_adc_B2; +#AREA_GROUP "pblock_adc_B2" RANGE=SLICE_X0Y140:SLICE_X5Y159; +# +#INST "FEE_ADCinput_module1/AdcTopleveL1458_3/*" AREA_GROUP=pblock_adc_A3; +#AREA_GROUP "pblock_adc_A3" RANGE=SLICE_X0Y100:SLICE_X5Y119; +# +#INST "FEE_ADCinput_module1/AdcTopleveL2356_3/*" AREA_GROUP=pblock_adc_B3; +#AREA_GROUP "pblock_adc_B3" RANGE=SLICE_X0Y80:SLICE_X5Y99; +# +#INST "FEE_ADCinput_module1/AdcTopleveL1458_4/*" AREA_GROUP=pblock_adc_A4; +#AREA_GROUP "pblock_adc_A4" RANGE=SLICE_X64Y100:SLICE_X69Y119; +# +#INST "FEE_ADCinput_module1/AdcTopleveL2356_4/*" AREA_GROUP=pblock_adc_B4; +#AREA_GROUP "pblock_adc_B4" RANGE=SLICE_X64Y80:SLICE_X69Y99; + + +INST "FEE_ADCinput_module1/AdcTopleveL1458_1/*" AREA_GROUP=pblock_adc_1; +INST "FEE_ADCinput_module1/AdcTopleveL2356_1/*" AREA_GROUP=pblock_adc_1; +AREA_GROUP "pblock_adc_1" RANGE=SLICE_X30Y120:SLICE_X35Y159; + +INST "FEE_ADCinput_module1/AdcTopleveL1458_2/*" AREA_GROUP=pblock_adc_2; +INST "FEE_ADCinput_module1/AdcTopleveL2356_2/*" AREA_GROUP=pblock_adc_2; +AREA_GROUP "pblock_adc_2" RANGE=SLICE_X0Y120:SLICE_X5Y159; + +INST "FEE_ADCinput_module1/AdcTopleveL1458_3/*" AREA_GROUP=pblock_adc_3; +INST "FEE_ADCinput_module1/AdcTopleveL2356_3/*" AREA_GROUP=pblock_adc_3; +AREA_GROUP "pblock_adc_3" RANGE=SLICE_X0Y80:SLICE_X5Y119; + +INST "FEE_ADCinput_module1/AdcTopleveL1458_4/*" AREA_GROUP=pblock_adc_4; +INST "FEE_ADCinput_module1/AdcTopleveL2356_4/*" AREA_GROUP=pblock_adc_4; +AREA_GROUP "pblock_adc_4" RANGE=SLICE_X64Y80:SLICE_X69Y119; + + diff --git a/FEE_ADC32board/project/FEE_ADC32board.xise b/FEE_ADC32board/project/FEE_ADC32board.xise new file mode 100644 index 0000000..dbe2747 --- /dev/null +++ b/FEE_ADC32board/project/FEE_ADC32board.xise @@ -0,0 +1,669 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/FEE_ADC32board_top.vhd b/FEE_ADC32board/project/FEE_ADC32board_top.vhd new file mode 100644 index 0000000..b4e936e --- /dev/null +++ b/FEE_ADC32board/project/FEE_ADC32board_top.vhd @@ -0,0 +1,2184 @@ + +library IEEE; +use IEEE.std_logic_1164.ALL; +USE ieee.std_logic_unsigned.all; +USE ieee.std_logic_arith.all; +library UNISIM; +use UNISIM.VComponents.all; +library work; +use work.panda_package.all; +--use work.panda_pkg.all; + +entity top is + Port ( + GEO : in std_logic; -- 0:this is FPGA1, 1:this is FPGA2 + GCLK_P : in std_logic; -- clock equal to GTX refclock (62.5MHz or 80MHz) + GCLK_N : in std_logic; + + ST_CLK_P : in std_logic; -- 155.52MHz + ST_CLK_N : in std_logic; + + +----ADC1--------------------------------------------- + AD11A_P : in std_logic; + AD11A_N : in std_logic; + AD11B_P : in std_logic; + AD11B_N : in std_logic; + AD12A_P : in std_logic; + AD12A_N : in std_logic; + AD12B_P : in std_logic; + AD12B_N : in std_logic; + AD13A_P : in std_logic; + AD13A_N : in std_logic; + AD13B_P : in std_logic; + AD13B_N : in std_logic; + AD14A_P : in std_logic; + AD14A_N : in std_logic; + AD14B_P : in std_logic; + AD14B_N : in std_logic; + AD15A_P : in std_logic; + AD15A_N : in std_logic; + AD15B_P : in std_logic; + AD15B_N : in std_logic; + AD16A_P : in std_logic; + AD16A_N : in std_logic; + AD16B_P : in std_logic; + AD16B_N : in std_logic; + AD17A_P : in std_logic; + AD17A_N : in std_logic; + AD17B_P : in std_logic; + AD17B_N : in std_logic; + AD18A_P : in std_logic; + AD18A_N : in std_logic; + AD18B_P : in std_logic; + AD18B_N : in std_logic; + + DCOA1_P : in std_logic; + DCOA1_N : in std_logic; + DCOB1_P : in std_logic; + DCOB1_N : in std_logic; + + FRA1_P : in std_logic; + FRA1_N : in std_logic; + FRB1_P : in std_logic; + FRB1_N : in std_logic; + +----ADC2--------------------------------------------- + AD21A_P : in std_logic; + AD21A_N : in std_logic; + AD21B_P : in std_logic; + AD21B_N : in std_logic; + AD22A_P : in std_logic; + AD22A_N : in std_logic; + AD22B_P : in std_logic; + AD22B_N : in std_logic; + AD23A_P : in std_logic; + AD23A_N : in std_logic; + AD23B_P : in std_logic; + AD23B_N : in std_logic; + AD24A_P : in std_logic; + AD24A_N : in std_logic; + AD24B_P : in std_logic; + AD24B_N : in std_logic; + AD25A_P : in std_logic; + AD25A_N : in std_logic; + AD25B_P : in std_logic; + AD25B_N : in std_logic; + AD26A_P : in std_logic; + AD26A_N : in std_logic; + AD26B_P : in std_logic; + AD26B_N : in std_logic; + AD27A_P : in std_logic; + AD27A_N : in std_logic; + AD27B_P : in std_logic; + AD27B_N : in std_logic; + AD28A_P : in std_logic; + AD28A_N : in std_logic; + AD28B_P : in std_logic; + AD28B_N : in std_logic; + + DCOA2_P : in std_logic; + DCOA2_N : in std_logic; + DCOB2_P : in std_logic; + DCOB2_N : in std_logic; + + FRA2_P : in std_logic; + FRA2_N : in std_logic; + FRB2_P : in std_logic; + FRB2_N : in std_logic; + +----ADC3--------------------------------------------- + AD31A_P : in std_logic; + AD31A_N : in std_logic; + AD31B_P : in std_logic; + AD31B_N : in std_logic; + AD32A_P : in std_logic; + AD32A_N : in std_logic; + AD32B_P : in std_logic; + AD32B_N : in std_logic; + AD33A_P : in std_logic; + AD33A_N : in std_logic; + AD33B_P : in std_logic; + AD33B_N : in std_logic; + AD34A_P : in std_logic; + AD34A_N : in std_logic; + AD34B_P : in std_logic; + AD34B_N : in std_logic; + AD35A_P : in std_logic; + AD35A_N : in std_logic; + AD35B_P : in std_logic; + AD35B_N : in std_logic; + AD36A_P : in std_logic; + AD36A_N : in std_logic; + AD36B_P : in std_logic; + AD36B_N : in std_logic; + AD37A_P : in std_logic; + AD37A_N : in std_logic; + AD37B_P : in std_logic; + AD37B_N : in std_logic; + AD38A_P : in std_logic; + AD38A_N : in std_logic; + AD38B_P : in std_logic; + AD38B_N : in std_logic; + + DCOA3_P : in std_logic; + DCOA3_N : in std_logic; + DCOB3_P : in std_logic; + DCOB3_N : in std_logic; + + FRA3_P : in std_logic; + FRA3_N : in std_logic; + FRB3_P : in std_logic; + FRB3_N : in std_logic; + +----ADC4--------------------------------------------- + AD41A_P : in std_logic; + AD41A_N : in std_logic; + AD41B_P : in std_logic; + AD41B_N : in std_logic; + AD42A_P : in std_logic; + AD42A_N : in std_logic; + AD42B_P : in std_logic; + AD42B_N : in std_logic; + AD43A_P : in std_logic; + AD43A_N : in std_logic; + AD43B_P : in std_logic; + AD43B_N : in std_logic; + AD44A_P : in std_logic; + AD44A_N : in std_logic; + AD44B_P : in std_logic; + AD44B_N : in std_logic; + AD45A_P : in std_logic; + AD45A_N : in std_logic; + AD45B_P : in std_logic; + AD45B_N : in std_logic; + AD46A_P : in std_logic; + AD46A_N : in std_logic; + AD46B_P : in std_logic; + AD46B_N : in std_logic; + AD47A_P : in std_logic; + AD47A_N : in std_logic; + AD47B_P : in std_logic; + AD47B_N : in std_logic; + AD48A_P : in std_logic; + AD48A_N : in std_logic; + AD48B_P : in std_logic; + AD48B_N : in std_logic; + + DCOA4_P : in std_logic; + DCOA4_N : in std_logic; + DCOB4_P : in std_logic; + DCOB4_N : in std_logic; + + FRA4_P : in std_logic; + FRA4_N : in std_logic; + FRB4_P : in std_logic; + FRB4_N : in std_logic; + +----ADCconfiguration--------------------------------------------- + SCK : out std_logic; + SDI : out std_logic; + CSA : out std_logic_vector(1 to 4); + CSB : out std_logic_vector(1 to 4); + SDOA : inout std_logic_vector(1 to 4); + SDOB : inout std_logic_vector(1 to 4); + +----GTX--------------------------------------------- + MOD_DEF : in std_logic_vector(2 downto 0); + LOS : in std_logic; + TX_DIS : out std_logic; + MGTREFCLK_P : in std_logic; + MGTREFCLK_N : in std_logic; + + RX_P : in std_logic; + RX_N : in std_logic; + TX_P : out std_logic; + TX_N : out std_logic; + +----PLL--------------------------------------------- + + S_CTRL : in std_logic; -- 1 : FPGA1 controls PLL&JTAG, 0 : FPGA2 controls PLL&JTAG + T_CTRL : out std_logic; -- T_CTRL from FPGA1<>FPGA2 : FPGA1 controls PLL&JTAG + + RDu : in std_logic; + CLKu : out std_logic; + DATAu : out std_logic; + LEu : out std_logic; + SYNC : out std_logic; + RCV_CLK_P : out std_logic; -- ref clock for PLL LMK03806 + RCV_CLK_N : out std_logic; + +----TMP104--------------------------------------------- +-- TEMP_IN : out std_logic; +-- TEMP_OUT : in std_logic; + +----test--------------------------------------------- + SM1_P : out std_logic; + SM1_N : out std_logic; + SM3_P : in std_logic; + SM3_N : in std_logic; + + INTCOMC1_P : inout std_logic; + INTCOMC1_N : inout std_logic; + INTCOMC2_P : inout std_logic; + INTCOMC2_N : inout std_logic; + + INTCOM0_P : inout std_logic; + INTCOM0_N : inout std_logic; + INTCOM1_P : inout std_logic; + INTCOM1_N : inout std_logic; + INTCOM2_P : inout std_logic; + INTCOM2_N : inout std_logic; + INTCOM3_P : inout std_logic; + INTCOM3_N : inout std_logic; + INTCOM4_P : inout std_logic; + INTCOM4_N : inout std_logic; + INTCOM5_P : inout std_logic; + INTCOM5_N : inout std_logic; + INTCOM6_P : inout std_logic; + INTCOM6_N : inout std_logic; + INTCOM7_P : inout std_logic; + INTCOM7_N : inout std_logic; + + TCK_F : in std_logic; + TDI_F : in std_logic; + TDO_F : in std_logic; + TMS_F : in std_logic +-- PROGRAM_B : inout std_logic + + +-- D : in std_logic_VECTOR (7 downto 0) + ); +end top; + + + +architecture Behavioral of top is + +component clockmodule80M +port ( + CLK_IN1 : in std_logic; + CLK_OUT1 : out std_logic; + LOCKED : out std_logic + ); +end component; + +component clock155to200MHz +port( + CLK_IN1 : in std_logic; + CLK_IN2 : in std_logic; + CLK_IN_SEL : in std_logic; + CLK_OUT1 : out std_logic; + RESET : in std_logic; + LOCKED : out std_logic + ); +end component; + +component clockmodule80to80M +port( + CLK_IN1 : in std_logic; + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + CLK_OUT3 : out std_logic; + CLK_OUT4 : out std_logic; + RESET : in std_logic; + LOCKED : out std_logic + ); +end component; + +component clockmodule40to80 +port( + CLK_IN1 : in std_logic; + CLK_OUT1 : out std_logic; + LOCKED : out std_logic + ); +end component; + +component clockmodule40switch +port( + CLK_IN1 : in std_logic; + CLK_IN2 : in std_logic; + CLK_IN_SEL : in std_logic; + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + RESET : in std_logic; + LOCKED : out std_logic + ); +end component; + +component LMK03806 is + generic( + CLK_DIV : integer := 6; -- slow down transfer + ADCCLOCKFREQUENCY : natural := ADCCLOCKFREQUENCY + ); + PORT( + clock : in std_logic; --Master clock + CLKu : out std_logic; --Clk to LMK + DATAu : out std_logic; --Data to LMK + LEu : out std_logic; --Data Latch to LMK + RDn : in std_logic; --Read back + SYNC : out std_logic; --Sync CLK outputs LMK + boot_PLL : in std_logic; --Start booting when set high + reset_GTX : out std_logic; --delayed reset for GTX + reset_ADCs : out std_logic; --delayed reset for ADCs + booting : out std_logic; --busy signal + testwordin : in std_logic_vector(15 downto 0) + ); +end component; + +component FEE_ADCinput_module is + port ( + clock200MHz : in std_logic; + reset : in std_logic; + ADCs_enable : in std_logic; +----ADC1--------------------------------------------- + AD11A_P : in std_logic; + AD11A_N : in std_logic; + AD11B_P : in std_logic; + AD11B_N : in std_logic; + AD12A_P : in std_logic; + AD12A_N : in std_logic; + AD12B_P : in std_logic; + AD12B_N : in std_logic; + AD13A_P : in std_logic; + AD13A_N : in std_logic; + AD13B_P : in std_logic; + AD13B_N : in std_logic; + AD14A_P : in std_logic; + AD14A_N : in std_logic; + AD14B_P : in std_logic; + AD14B_N : in std_logic; + AD15A_P : in std_logic; + AD15A_N : in std_logic; + AD15B_P : in std_logic; + AD15B_N : in std_logic; + AD16A_P : in std_logic; + AD16A_N : in std_logic; + AD16B_P : in std_logic; + AD16B_N : in std_logic; + AD17A_P : in std_logic; + AD17A_N : in std_logic; + AD17B_P : in std_logic; + AD17B_N : in std_logic; + AD18A_P : in std_logic; + AD18A_N : in std_logic; + AD18B_P : in std_logic; + AD18B_N : in std_logic; + + DCOA1_P : in std_logic; + DCOA1_N : in std_logic; + DCOB1_P : in std_logic; + DCOB1_N : in std_logic; + + FRA1_P : in std_logic; + FRA1_N : in std_logic; + FRB1_P : in std_logic; + FRB1_N : in std_logic; + +----ADC2--------------------------------------------- + AD21A_P : in std_logic; + AD21A_N : in std_logic; + AD21B_P : in std_logic; + AD21B_N : in std_logic; + AD22A_P : in std_logic; + AD22A_N : in std_logic; + AD22B_P : in std_logic; + AD22B_N : in std_logic; + AD23A_P : in std_logic; + AD23A_N : in std_logic; + AD23B_P : in std_logic; + AD23B_N : in std_logic; + AD24A_P : in std_logic; + AD24A_N : in std_logic; + AD24B_P : in std_logic; + AD24B_N : in std_logic; + AD25A_P : in std_logic; + AD25A_N : in std_logic; + AD25B_P : in std_logic; + AD25B_N : in std_logic; + AD26A_P : in std_logic; + AD26A_N : in std_logic; + AD26B_P : in std_logic; + AD26B_N : in std_logic; + AD27A_P : in std_logic; + AD27A_N : in std_logic; + AD27B_P : in std_logic; + AD27B_N : in std_logic; + AD28A_P : in std_logic; + AD28A_N : in std_logic; + AD28B_P : in std_logic; + AD28B_N : in std_logic; + + DCOA2_P : in std_logic; + DCOA2_N : in std_logic; + DCOB2_P : in std_logic; + DCOB2_N : in std_logic; + + FRA2_P : in std_logic; + FRA2_N : in std_logic; + FRB2_P : in std_logic; + FRB2_N : in std_logic; + +----ADC3--------------------------------------------- + AD31A_P : in std_logic; + AD31A_N : in std_logic; + AD31B_P : in std_logic; + AD31B_N : in std_logic; + AD32A_P : in std_logic; + AD32A_N : in std_logic; + AD32B_P : in std_logic; + AD32B_N : in std_logic; + AD33A_P : in std_logic; + AD33A_N : in std_logic; + AD33B_P : in std_logic; + AD33B_N : in std_logic; + AD34A_P : in std_logic; + AD34A_N : in std_logic; + AD34B_P : in std_logic; + AD34B_N : in std_logic; + AD35A_P : in std_logic; + AD35A_N : in std_logic; + AD35B_P : in std_logic; + AD35B_N : in std_logic; + AD36A_P : in std_logic; + AD36A_N : in std_logic; + AD36B_P : in std_logic; + AD36B_N : in std_logic; + AD37A_P : in std_logic; + AD37A_N : in std_logic; + AD37B_P : in std_logic; + AD37B_N : in std_logic; + AD38A_P : in std_logic; + AD38A_N : in std_logic; + AD38B_P : in std_logic; + AD38B_N : in std_logic; + + DCOA3_P : in std_logic; + DCOA3_N : in std_logic; + DCOB3_P : in std_logic; + DCOB3_N : in std_logic; + + FRA3_P : in std_logic; + FRA3_N : in std_logic; + FRB3_P : in std_logic; + FRB3_N : in std_logic; + +----ADC4--------------------------------------------- + AD41A_P : in std_logic; + AD41A_N : in std_logic; + AD41B_P : in std_logic; + AD41B_N : in std_logic; + AD42A_P : in std_logic; + AD42A_N : in std_logic; + AD42B_P : in std_logic; + AD42B_N : in std_logic; + AD43A_P : in std_logic; + AD43A_N : in std_logic; + AD43B_P : in std_logic; + AD43B_N : in std_logic; + AD44A_P : in std_logic; + AD44A_N : in std_logic; + AD44B_P : in std_logic; + AD44B_N : in std_logic; + AD45A_P : in std_logic; + AD45A_N : in std_logic; + AD45B_P : in std_logic; + AD45B_N : in std_logic; + AD46A_P : in std_logic; + AD46A_N : in std_logic; + AD46B_P : in std_logic; + AD46B_N : in std_logic; + AD47A_P : in std_logic; + AD47A_N : in std_logic; + AD47B_P : in std_logic; + AD47B_N : in std_logic; + AD48A_P : in std_logic; + AD48A_N : in std_logic; + AD48B_P : in std_logic; + AD48B_N : in std_logic; + + DCOA4_P : in std_logic; + DCOA4_N : in std_logic; + DCOB4_P : in std_logic; + DCOB4_N : in std_logic; + + FRA4_P : in std_logic; + FRA4_N : in std_logic; + FRB4_P : in std_logic; + FRB4_N : in std_logic; + ADC_clk : out std_logic; + ADCs_ready : out std_logic; + adcdata : out array_adc_type + ); +end component; + +component FEE_adc32_module is + generic ( + NROFADCS : natural := NROFADCS; + ADCBITS : natural := 14; + BASELINE_BWBITS : natural := 10; + WAVEFORMBUFFERSIZE : natural := 10; + ADCCLOCKFREQUENCY : natural := ADCCLOCKFREQUENCY; + CF_DELAYBITS : natural := 4; + CF_FRACTIONBIT : natural := 11; + IDIVMAXBITS : natural := 6; + INTEGRALRATIOBITS : natural := 3 + ); + port ( + clock : in std_logic; + reset : in std_logic; + enable_data : in std_logic; + ADCdata : in array_adc_type; + superburst_start : in std_logic; + superburst_received : in std_logic_vector(30 downto 0); + onesecondpulse : in std_logic; + rxNotInTable : in std_logic; + startupready : in std_logic; + request_init : in std_logic; + packet_in_data : in std_logic_vector (31 downto 0); + packet_in_present : in std_logic; + packet_in_read : out std_logic; + packet_out_data : out std_logic_vector(31 downto 0); + packet_out_last : out std_logic; + packet_out_write : out std_logic; + packet_out_fifofull : in std_logic; + errorbyte_out : out std_logic_vector(7 downto 0); + errorbyte_in : in std_logic_vector(7 downto 0); + smaart_in : in std_logic; + smaart_out : out std_logic; + sysmon_data : in std_logic_vector(15 downto 0); + sysmon_reset : out std_logic; + sysmon_address : out std_logic_vector(6 downto 0); + sysmon_read : out std_logic; + testindex : in integer range 0 to NROFADCS/2-1; + testword0 : out std_logic_vector(35 downto 0); + testword1 : out std_logic_vector(35 downto 0); + testword2 : out std_logic_vector(35 downto 0) + ); +end component; + +component FEE_gtxModule is + generic( + ADCCLOCKFREQUENCY : natural := ADCCLOCKFREQUENCY -- 80000000 -- 62500000 + ); + Port ( + gtpClk : in std_logic; + asyncclk : in std_logic; + reset : in std_logic; + disable_GTX_reset : in std_logic; + + TX_DLM : in std_logic; + TX_DLM_WORD : in std_logic_vector(7 downto 0); + RX_DLM : out std_logic; + RX_DLM_WORD : out std_logic_vector(7 downto 0); + + txAsyncClk : in std_logic; + txAsyncData : in std_logic_vector(31 downto 0); + txAsyncDataWrite : in std_logic; + txAsyncLastData : in std_logic; + txAsyncFifoFull : out std_logic; + txUsrClk : out std_logic; + txLocked : out std_logic; + + rxAsyncClk : in std_logic; + rxAsyncData : out std_logic_vector(31 downto 0); + rxAsyncDataRead : in std_logic; + rxNotInTable : out std_logic; + rxAsyncDataOverflow : out std_logic; + rxAsyncDataPresent : out std_logic; + rxSodaClk : out std_logic; + rxSodaClk40 : out std_logic; + rxLocked : out std_logic; + + gtpTxP0 : out std_logic; + gtpTxN0 : out std_logic; + gtpRxP0 : in std_logic; + gtpRxN0 : in std_logic; + testword0 : out std_logic_vector(35 downto 0) + ); +end component; + +component soda_FEE_endpoint is + generic( + SODA_16BIT_INTERFACE : boolean := FALSE + ); + port( + SYSCLK : in std_logic; -- fabric clock + RESET : in std_logic; -- synchronous reset + CLEAR : in std_logic; -- asynchronous reset + CLK_EN : in std_logic; + + RX_DLM_WORD_IN : in std_logic_vector(7 downto 0) := (others => '0'); + RX_DLM_IN : in std_logic; + TX_DLM_OUT : out std_logic; + TX_DLM_WORD_OUT : out std_logic_vector(7 downto 0) := (others => '0'); + + + START_OF_SUPERBURST : out std_logic := '0'; + SUPER_BURST_NR : out std_logic_vector(30 downto 0) := (others => '0'); + SODA_CMD_VALID : out std_logic := '0'; + SODA_CMD_WORD : out std_logic_vector(30 downto 0) := (others => '0'); + + STAT : out std_logic_vector(31 downto 0) := (others => '0') -- DEBUG + ); +end component; + +component SystemMonitorModule is + Port ( + clock : in std_logic; + reset : in std_logic; + address : in std_logic_vector(6 downto 0); + data_write : in std_logic; + data_in : in std_logic_vector(15 downto 0); + data_read : in std_logic; + data_out : out std_logic_vector(15 downto 0); + alarms : out std_logic_vector(7 downto 0); + testword0 : out std_logic_vector(35 downto 0)); +end component; + +component posedge_to_pulse is + port ( + clock_in : in std_logic; + clock_out : in std_logic; + en_clk : in std_logic; + signal_in : in std_logic; + pulse : out std_logic + ); +end component; + +component posedge_async_to_pulse is + port ( + clock_out : in std_logic; + signal_in : in std_logic; + pulse : out std_logic + ); +end component; + +component icon0 + port ( + CONTROL0 : inout std_logic_vector(35 downto 0); + CONTROL1 : inout std_logic_vector(35 downto 0); + CONTROL2 : inout std_logic_vector(35 downto 0); + CONTROL3 : inout std_logic_vector(35 downto 0); + CONTROL4 : inout std_logic_vector(35 downto 0)); +end component; + +component ila36 + port ( + CONTROL : inout std_logic_vector(35 downto 0); + CLK : in std_logic; + TRIG0 : in std_logic_vector(35 downto 0)); +end component; + +component ila128 + port ( + CONTROL : inout std_logic_vector(35 downto 0); + CLK : in std_logic; + TRIG0 : in std_logic_vector(127 downto 0)); +end component; + +component vio36 + port ( + CONTROL : inout std_logic_vector(35 downto 0); + ASYNC_OUT : out std_logic_vector(35 downto 0)); +end component; + +attribute keep : string; +constant DEBUG : boolean := false; +-- clocking +signal ST_CLK_S : std_logic; +attribute keep of ST_CLK_S : signal is "TRUE"; +signal clock_ADCrefdiv2_S : std_logic; +signal clock_ADCref_S : std_logic; -- 62.5 or 80 MHz +attribute keep of clock_ADCref_S : signal is "TRUE"; +signal clock100MHz_S : std_logic; +signal clock200MHz_S : std_logic; +signal clock80MHz_PLL1_S : std_logic; +signal GCLK_S : std_logic; +attribute keep of GCLK_S : signal is "TRUE"; +signal gtpClk_S : std_logic; +signal RCV_CLK_P_S : std_logic; +signal RCV_CLK_S : std_logic; +signal RCV_CLK_not_S : std_logic; +signal RCV_CLKref_S : std_logic; +signal RCV_CLKrx_S : std_logic; +signal ADC_clk_S : std_logic; +attribute keep of ADC_clk_S : signal is "TRUE"; +signal txUsrClk_S : std_logic; + + +signal clockPLL1_locked_S : std_logic; +signal clockPLL2_reset_S : std_logic; +signal clockmodule_locked_S : std_logic; +signal clockswitch_locked_S : std_logic; + +-- resetting +signal coldstart_counter_S : std_logic_vector(7 downto 0) := (others => '0'); +signal coldstart_S : std_logic := '0'; +signal reset_S : std_logic := '0'; +signal reset_FEE_S : std_logic := '0'; +signal reset_FEE_ADCclk_S : std_logic := '0'; +signal resetting_S : std_logic := '0'; +signal resetting_stclk_S : std_logic := '0'; +signal IcontrolPLL_S : std_logic := '0'; +signal otherFPGAnotconfigured0_S : std_logic := '0'; +signal otherFPGAnotconfigured_S : std_logic := '0'; +signal PLLconfigured_S : std_logic := '0'; +signal startupready_S : std_logic := '0'; +signal selectPLLclk_S : std_logic := '0'; +signal selectPLLclk_stclk_S : std_logic := '0'; +signal disable_GTX_reset_S : std_logic := '0'; +signal GEO_S : std_logic := '0'; +signal GEO_stclk_S : std_logic := '0'; +signal T_CTRL_S : std_logic := '0'; +signal S_CTRL0_S : std_logic := '0'; +signal phaseSYNC_S : std_logic := '0'; +signal boot_PLL_S : std_logic := '0'; +signal PLL_booting_S : std_logic := '0'; +signal adcintrfcena_s : std_logic := '0'; +signal reset_ADCs_S : std_logic := '0'; +signal ADCs_enable_S : std_logic := '0'; +signal reset_GTX_S : std_logic := '0'; +signal reset_counter_S : integer range 0 to 65535 := 0; +signal timeout_counter_S : integer range 0 to 65535 := 0; +signal external_sync_out_S : std_logic := '0'; +signal external_sync_in0_S : std_logic := '0'; +signal external_sync_in_S : std_logic := '0'; +signal reset_rxSodaClk_S : std_logic; +signal ADCs_ready_S : std_logic; + + +-- SODA +signal EnableDataTaking_S : std_logic := '0'; +signal DisableDataTaking_S : std_logic := '0'; +signal enable_data_S : std_logic := '0'; +signal DataTaking_enabled_out_S : std_logic := '0'; +signal DataTaking_enabled_in_S : std_logic := '0'; +signal SODA_cmd_valid_S : std_logic := '0'; +signal SODA_cmd_word_S : std_logic_vector(30 downto 0); +signal superburst_out_S : std_logic_vector(30 downto 0); +signal superburst_in_S : std_logic_vector(30 downto 0); +signal superburst_start0_S : std_logic; +signal superburst_start1_S : std_logic; +signal superburst_start_S : std_logic; +signal superburst_startout0_S : std_logic; +signal superburst_startout_S : std_logic; +signal TX_DLM_S : std_logic; +signal TX_DLM_WORD_S : std_logic_vector(7 downto 0); +signal RX_DLM_S : std_logic; +signal RX_DLM_WORD_S : std_logic_vector(7 downto 0); + +-- fiber data +signal packet_in_data_S : std_logic_vector(31 downto 0); +signal packet_out_data_S : std_logic_vector(31 downto 0) := (others => '0'); +signal packet_in_present_S : std_logic := '0'; +signal packet_in_read_S : std_logic := '0'; +signal packet_out_last_S : std_logic := '0'; +signal packet_out_write_S : std_logic := '0'; +signal packet_out_fifofull_S : std_logic := '0'; +signal rxNotInTable0_S : std_logic; +signal rxNotInTable_S : std_logic; + + +-- clock check +signal GCLKdiv10_S : std_logic := '0'; +signal GCLKdiv10_prev1_S : std_logic := '0'; +signal GCLKdiv10_prev2_S : std_logic := '0'; +signal PLLfrequencyERROR_S : std_logic := '0'; + +-- lmk03806 +signal CLKu_S : std_logic := '0'; +signal DATAu_S : std_logic := '0'; +signal LEu_S : std_logic := '0'; +signal SYNC_S : std_logic := '0'; +signal SYNC0_S : std_logic := '0'; +signal SYNC1_S : std_logic := '0'; +signal SYNC2_S : std_logic := '0'; +signal debug_sync_S : std_logic := '0'; + +-- ADCs +signal adcdata_S : array_adc_type; + +-- GTX +signal LOS_S : std_logic; +signal rxSodaClk_S : std_logic; +attribute keep of rxSodaClk_S : signal is "TRUE"; +signal rxSodaClk40_S : std_logic; +signal rxSodaClk40b_S : std_logic; +signal rxSodaClk80_S : std_logic; +signal rxLocked_S : std_logic; +signal rxLocked0_S : std_logic; +signal rxLocked_sync_S : std_logic; + +-- phasedet +signal phasedet_S : std_logic; +signal GCLKdiv2_S : std_logic; +signal GCLKdiv4_S : std_logic; +signal rxSodaClkdiv4_S : std_logic; +signal phaseerr_max_S : integer range 0 to 1023 := 0; +signal phasedet_count_S : integer range 0 to 1023 := 0; +signal phaseerr_count_S : integer range 0 to 1023 := 0; +signal phasecheck_ready_S : std_logic := '0'; +signal phasecheck_ready1_S : std_logic := '0'; +signal phaseSYNCpulse_S : std_logic := '0'; +signal phasecheckcounter_S : integer range 0 to 255 := 0; + + +-- timestamp reset +--signal ResetToZero_S : std_logic; +signal onesecondpulse_S : std_logic; + +signal SYNC_stclk_S : std_logic; +signal SYNC_stclk2_S : std_logic; +signal SYNC_adcclk_S : std_logic; +signal SYNC_adcclk2_S : std_logic; +signal SYNC_soda_S : std_logic; +signal SYNC_soda2_S : std_logic; + +-- system monitor +signal sysmon_data_S : std_logic_vector(15 downto 0); +signal sysmon_reset_S : std_logic; +signal sysmon_address_S : std_logic_vector(6 downto 0); +signal sysmon_read_S : std_logic; + +-- test compare feature extraction results +constant SECOND_FE_MODULE : boolean := false; +signal adcdata2_S : array_adc_type; +signal request_init_S : std_logic := '0'; +signal reset_FEE_ADCclk2_S : std_logic := '0'; +signal reset_FEE_ADCclk2a_S : std_logic := '0'; +signal packet_out_data2_S : std_logic_vector(31 downto 0); +signal packet_in_read2_S : std_logic; +signal packet_out_last2_S : std_logic; +signal packet_out_write2_S : std_logic; +signal unequal_counter_S : std_logic_vector(31 downto 0) := (others => '0'); +signal unequal_time_S : std_logic_vector(31 downto 0) := (others => '0'); +signal zero_data_S : std_logic; +signal unequal_S : std_logic; +signal errorbyte_S : std_logic_vector(7 downto 0) := (others => '0'); + + +-- test +signal control0_S : std_logic_vector(35 downto 0) := (others => '0'); +signal control1_S : std_logic_vector(35 downto 0) := (others => '0'); +signal control2_S : std_logic_vector(35 downto 0) := (others => '0'); +signal control3_S : std_logic_vector(35 downto 0) := (others => '0'); +signal control4_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword0a_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword0b_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword0_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword1_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testwordb_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testword2_S : std_logic_vector(127 downto 0) := (others => '0'); +signal vioword_S : std_logic_vector(35 downto 0) := (others => '0'); +signal vioword2_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testwordA0_S : std_logic_vector(35 downto 0) := (others => '0'); +signal testwordB0_S : std_logic_vector(35 downto 0) := (others => '0'); + +signal selectnr_S : integer range 0 to 3 := 0; +signal testclockDiv2_S : std_logic_vector(7 downto 0) := (others => '0'); +signal forced_reset_S : std_logic := '0'; +signal test_resetadc_s : std_logic := '0'; +signal testclocks_S : std_logic_vector(8 downto 0) := (others => '0'); +signal testclockDiv100_S : std_logic_vector(8 downto 0) := (others => '0'); + +begin +-- GEO=0:this is FPGA1, GEO=1:this is FPGA2 +-- S_CTRL=1 : FPGA1 controls PLL&JTAG +-- S_CTRL=0 : FPGA2 controls PLL&JTAG + +-- T_CTRL1 T_CTRL2 PLL_controlled_by S_CTRL +-- 0 0 0 = FPGA2 0 +-- 1 0 1 = FPGA1 1 +-- 0 1 1 = FPGA1 1 +-- 1 1 0 = FPGA2 0 + +IcontrolPLL_S <= '1' when (GEO/=S_CTRL) else '0'; -- '1' when this FPGA controls the PLL + +coldstartprocess: process(ST_CLK_S) +begin + if rising_edge(ST_CLK_S) then + if coldstart_counter_S/=x"ff" then + coldstart_S <= '0'; + coldstart_counter_S <= coldstart_counter_S+1; + else + coldstart_S <= '1'; + end if; + end if; +end process; + + +T_CTRL <= T_CTRL_S; +T_CTRL_S <= + coldstart_S when GEO='1' -- PLL_controlled_by FPGA2 + else '0' when PLLconfigured_S='0' -- PLL_controlled_by FPGA1 during booting + else '1'; -- PLL_controlled_by FPGA2, but reference frequency from FPGA1 +PLLconfigured_S <= '1' when (PLL_booting_S='0') and (resetting_S='0') else '0'; +process(clock_ADCref_S) +begin + if rising_edge(clock_ADCref_S) then + if GEO='0' then + if T_CTRL_S=S_CTRL then + if otherFPGAnotconfigured0_S='1' then + otherFPGAnotconfigured_S <= '1'; + end if; + otherFPGAnotconfigured0_S <= '1'; + else + otherFPGAnotconfigured0_S <= '0'; + otherFPGAnotconfigured_S <= '0'; + end if; + else + otherFPGAnotconfigured0_S <= '0'; + otherFPGAnotconfigured_S <= '0'; + end if; + end if; +end process; + +sysclk_buf : IBUFGDS + port map ( I => GCLK_P, + IB => GCLK_N, + O => GCLK_S); +ST_CLK_buf : IBUFGDS + port map ( I => ST_CLK_P, + IB => ST_CLK_N, + O => ST_CLK_S); + +clockmodule80Ma: clockmodule80M port map( + CLK_IN1 => ST_CLK_S, + CLK_OUT1 => clock80MHz_PLL1_S, + LOCKED => clockPLL1_locked_S); +clockmodule80to80Ma: clockmodule80to80M port map( + CLK_IN1 => clock80MHz_PLL1_S, + CLK_OUT1 => clock_ADCrefdiv2_S, -- 40MHz + CLK_OUT2 => clock_ADCref_S, -- 80MHz + CLK_OUT3 => clock100MHz_S, + CLK_OUT4 => clock200MHz_S, + RESET => clockPLL2_reset_S, + LOCKED => clockmodule_locked_S); +clockPLL2_reset_S <= '1' when clockPLL1_locked_S='0' else '0'; + + +reset_S <= '1' when (clockmodule_locked_S='0') or (forced_reset_S='1') else '0'; +resetprocess: process(clock_ADCref_S,reset_S,GEO) +variable resetFEE_count_V : integer range 0 to 16 := 0; +begin + if reset_S='1' then + reset_counter_S <= 0; + boot_PLL_S <= '0'; + reset_GTX_S <= '1'; + resetting_S <= '1'; + rxLocked_sync_S <= '0'; + GEO_S <= GEO; + resetFEE_count_V := 0; + reset_FEE_S <= '1'; + disable_GTX_reset_S <= '0'; + elsif rising_edge(clock_ADCref_S) then + rxLocked_sync_S <= rxLocked_S; + if resetFEE_count_V<16 then + resetFEE_count_V := resetFEE_count_V+1; + reset_FEE_S <= '1'; + else + reset_FEE_S <= '0'; + end if; + GEO_S <= GEO; + if GEO_S='0' then -- FPGA1 + if ((PLLfrequencyERROR_S='1') and (selectPLLclk_S='1')) or (otherFPGAnotconfigured_S='1') then -- restart all + reset_counter_S <= 0; + boot_PLL_S <= '0'; + reset_GTX_S <= '1'; + resetting_S <= '1'; + startupready_S <= '0'; + disable_GTX_reset_S <= '0'; + elsif reset_counter_S=1000 then -- start PLL boot + reset_counter_S <= reset_counter_S+1; + boot_PLL_S <= '1'; + timeout_counter_S <= 0; + elsif reset_counter_S=1002 then -- wait for PLL boot finished + boot_PLL_S <= '0'; + if PLL_booting_S='1' then + if timeout_counter_S<65535 then + timeout_counter_S <= timeout_counter_S+1; + else + timeout_counter_S <= 0; + end if; + else + reset_counter_S <= reset_counter_S+1; + timeout_counter_S <= 0; + end if; + elsif reset_counter_S=10000 then -- reset GTX + resetting_S <= '0'; + reset_GTX_S <= '1'; + reset_counter_S <= reset_counter_S+1; + elsif reset_counter_S=10001 then -- wait for rx-locked + resetting_S <= '0'; + startupready_S <= '0'; + reset_GTX_S <= '0'; + if rxLocked_sync_S='1' then + reset_counter_S <= reset_counter_S+1; + end if; + elsif reset_counter_S=11000 then -- disable resetting in GTX + disable_GTX_reset_S <= '1'; + reset_counter_S <= reset_counter_S+1; + elsif reset_counter_S=11010 then -- switch reference clock + startupready_S <= '1'; + reset_counter_S <= reset_counter_S+1; + elsif reset_counter_S=11080 then -- enable resetting in GTX + disable_GTX_reset_S <= '0'; + reset_counter_S <= reset_counter_S+1; + else + if reset_counter_S/=65535 then + reset_counter_S <= reset_counter_S+1; + else -- final state + resetting_S <= '0'; + startupready_S <= '1'; + end if; + boot_PLL_S <= '0'; + reset_GTX_S <= '0'; + end if; + else -- GEO=1 + disable_GTX_reset_S <= '0'; + if (S_CTRL0_S='1') or (otherFPGAnotconfigured_S='1') then + reset_counter_S <= 0; + boot_PLL_S <= '0'; + reset_GTX_S <= '1'; + resetting_S <= '1'; + startupready_S <= '0'; + elsif reset_counter_S=10000 then -- reset GTX + resetting_S <= '0'; + reset_GTX_S <= '1'; + reset_counter_S <= reset_counter_S+1; + elsif reset_counter_S=10001 then -- wait for rx-locked + resetting_S <= '0'; + startupready_S <= '0'; + reset_GTX_S <= '0'; + if rxLocked_sync_S='1' then + reset_counter_S <= reset_counter_S+1; + end if; + elsif reset_counter_S=11000 then -- switch reference clock + startupready_S <= '1'; + reset_counter_S <= reset_counter_S+1; + else + if reset_counter_S/=65535 then + reset_counter_S <= reset_counter_S+1; + else + resetting_S <= '0'; + startupready_S <= '1'; + end if; + boot_PLL_S <= '0'; + reset_GTX_S <= '0'; + if startupready_S='1' then + if rxLocked_sync_S='0' then + end if; + end if; + end if; + end if; + S_CTRL0_S <= S_CTRL; + end if; +end process; + + -- ICAP_VIRTEX6: Internal Configuration Access Port + -- Virtex-6 + -- Xilinx HDL Language Template, version 13.3 + +-- ICAP_VIRTEX6_inst : ICAP_VIRTEX6 +-- generic map ( +-- DEVICE_ID => X"4244093", -- Specifies the pre-programmed Device ID value +-- ICAP_WIDTH => "X8", -- Specifies the input and output data width to be used with the +-- -- ICAP_VIRTEX6. +-- SIM_CFG_FILE_NAME => "NONE" -- Specifies the Raw Bitstream (RBT) file to be parsed by the simulation +-- -- model +-- ) +-- port map ( +-- BUSY => BUSY, -- 1-bit output: Busy/Ready output +-- O => O, -- 32-bit output: Configuration data output bus +-- CLK => CLK, -- 1-bit input: Clock Input +-- CSB => CSB, -- 1-bit input: Active-Low ICAP input Enable +-- I => I, -- 32-bit input: Configuration data input bus +-- RDWRB => RDWRB -- 1-bit input: Read/Write Select input +-- ); + +resync_pulse1: posedge_to_pulse port map( + clock_in => ST_CLK_S, + clock_out => ST_CLK_S, -- clock_ADCref_S, + en_clk => '1', + signal_in => phaseSYNC_S, + pulse => phaseSYNCpulse_S); + +syncpulse_proc: process(ST_CLK_S) +variable synccount_V : integer range 0 to 15 := 0; +begin + if rising_edge(ST_CLK_S) then + if synccount_V<15 then + synccount_V := synccount_V+1; + external_sync_out_S <= '1'; + else + external_sync_out_S <= '0'; + if (phaseSYNCpulse_S='1') then + synccount_V := 0; + end if; + end if; + end if; +end process; + +ADCresetprocess: process(clock_ADCref_S) +variable adcreset_counter_V : integer range 0 to 65535 := 0; +begin + if rising_edge(clock_ADCref_S) then + if (resetting_S='1') or ((PLL_booting_S='1') and (GEO_S='0')) or (startupready_S='0') or + (test_resetADC_S='1') or (external_sync_out_S='1') or (external_sync_in_S='1') or + ((phasecheck_ready1_S='0') and (GEO_S='0')) or + ((rxLocked_sync_S='0') and (GEO_S='0')) + then + reset_ADCs_S <= '1'; + AdcIntrfcEna_S <= '0'; + adcreset_counter_V := 0; + elsif adcreset_counter_V=65335 then -- wait for lock + if rxLocked_sync_S='1' then + adcreset_counter_V := adcreset_counter_V+1; + reset_ADCs_S <= '0'; + end if; + elsif adcreset_counter_V=65535 then + reset_ADCs_S <= '0'; + AdcIntrfcEna_S <= '1'; + else + adcreset_counter_V := adcreset_counter_V+1; + end if; + if GEO='1' then + external_sync_in_S <= external_sync_in0_S; + else + external_sync_in_S <= '0'; + end if; + if (SYNC0_S='0') or (external_sync_in_S='1') or (debug_sync_S='1') then + SYNC1_S <= '1'; + else + SYNC1_S <= '0'; + end if; + phasecheck_ready1_S <= phasecheck_ready_S; + end if; +end process; + + +--syncbuf1: IOBUFDS +-- generic map ( +-- IOSTANDARD => "BLVDS_25" +-- ) +-- port map ( +-- O => external_sync_in0_S, -- Buffer output +-- IO => INTCOMC1_P, -- Diff_p inout (connect directly to top-level port) +-- IOB => INTCOMC1_N, -- Diff_n inout (connect directly to top-level port) +-- I => external_sync_out_S, -- Buffer input +-- T => GEO -- 3-state enable input, high=input, low=output +-- ); +-- +--startsuperburst1: IOBUFDS +-- generic map ( +-- IOSTANDARD => "BLVDS_25" +-- ) +-- port map ( +-- O => superburst_start0_S, +-- IO => INTCOMC2_P, +-- IOB => INTCOMC2_N, +-- I => superburst_startout_S, +-- T => GEO +-- ); + +IOBUF1 : IOBUF port map ( + O => external_sync_in0_S, -- Buffer output + IO => INTCOMC1_P, -- Buffer inout port (connect directly to top-level port) + I => external_sync_out_S, -- Buffer input + T => GEO -- 3-state enable input, high=input, low=output + ); + +IOBUF2 : IOBUF port map ( + O => superburst_start0_S, -- Buffer output + IO => INTCOMC1_N, -- Buffer inout port (connect directly to top-level port) + I => superburst_startout_S, -- Buffer input + T => GEO -- 3-state enable input, high=input, low=output + ); + +IOBUF3 : IOBUF port map ( + O => DataTaking_enabled_in_S, -- Buffer output + IO => INTCOMC2_N, -- Buffer inout port (connect directly to top-level port) + I => DataTaking_enabled_out_S, -- Buffer input + T => GEO -- 3-state enable input, high=input, low=output + ); + +--INTCOMC1_P <= external_sync_out_S when GEO='0' else 'Z'; +--external_sync_in0_S <= INTCOMC1_P; +--INTCOMC1_N <= superburst_startout_S when GEO='0' else 'Z'; +--superburst_start0_S <= INTCOMC1_N; +--INTCOMC2_N <= DataTaking_enabled_out_S when GEO='0' else 'Z'; +--DataTaking_enabled_in_S <= INTCOMC2_N; + + +process(ADC_clk_S,startupready_S) +variable enable_data_V : std_logic := '0'; +variable DataTaking_enabled_V : std_logic := '0'; +begin + if (startupready_S='0') then + enable_data_V := '0'; + enable_data_S <= '0'; + elsif (rising_edge(ADC_clk_S)) then + enable_data_S <= DataTaking_enabled_V; + DataTaking_enabled_V := DataTaking_enabled_in_S; + end if; +end process; + +process(ADC_clk_S) +begin + if (rising_edge(ADC_clk_S)) then + superburst_start1_S <= superburst_start0_S; + end if; +end process; + +sync_startofsuperburst: posedge_to_pulse port map( + clock_in => ADC_clk_S, + clock_out => ADC_clk_S, + en_clk => '1', + signal_in => superburst_start1_S, + pulse => superburst_start_S); + +INTCOM0_P <= superburst_out_S(0) when GEO='0' else 'Z'; +INTCOM0_N <= superburst_out_S(1) when GEO='0' else 'Z'; +INTCOM1_P <= superburst_out_S(2) when GEO='0' else 'Z'; +INTCOM1_N <= superburst_out_S(3) when GEO='0' else 'Z'; +INTCOM2_P <= superburst_out_S(4) when GEO='0' else 'Z'; +INTCOM2_N <= superburst_out_S(5) when GEO='0' else 'Z'; +INTCOM3_P <= superburst_out_S(6) when GEO='0' else 'Z'; +INTCOM3_N <= superburst_out_S(7) when GEO='0' else 'Z'; +INTCOM4_P <= superburst_out_S(8) when GEO='0' else 'Z'; +INTCOM4_N <= superburst_out_S(9) when GEO='0' else 'Z'; +INTCOM5_P <= superburst_out_S(10) when GEO='0' else 'Z'; +INTCOM5_N <= superburst_out_S(11) when GEO='0' else 'Z'; +INTCOM6_P <= superburst_out_S(12) when GEO='0' else 'Z'; +INTCOM6_N <= superburst_out_S(13) when GEO='0' else 'Z'; +INTCOM7_P <= superburst_out_S(14) when GEO='0' else 'Z'; +INTCOM7_N <= superburst_out_S(15) when GEO='0' else 'Z'; + +superburst_in_S(0) <= INTCOM0_P; +superburst_in_S(1) <= INTCOM0_N; +superburst_in_S(2) <= INTCOM1_P; +superburst_in_S(3) <= INTCOM1_N; +superburst_in_S(4) <= INTCOM2_P; +superburst_in_S(5) <= INTCOM2_N; +superburst_in_S(6) <= INTCOM3_P; +superburst_in_S(7) <= INTCOM3_N; +superburst_in_S(8) <= INTCOM4_P; +superburst_in_S(9) <= INTCOM4_N; +superburst_in_S(10) <= INTCOM5_P; +superburst_in_S(11) <= INTCOM5_N; +superburst_in_S(12) <= INTCOM6_P; +superburst_in_S(13) <= INTCOM6_N; +superburst_in_S(14) <= INTCOM7_P; +superburst_in_S(15) <= INTCOM7_N; +superburst_in_S(30 downto 16) <= (others => '0'); + +sync_SYNC_stclk_S: posedge_to_pulse port map( + clock_in => clock_ADCref_S, + clock_out => ST_CLK_S, + en_clk => '1', + signal_in => SYNC1_S, + pulse => SYNC2_S); + +SYNC <= not SYNC2_S; + + +process(rxSodaClk40_S) +begin + if (rising_edge(rxSodaClk40_S)) then + rxSodaClkdiv4_S <= not rxSodaClkdiv4_S; + end if; +end process; +process(GCLK_S) +begin + if (rising_edge(GCLK_S)) then + if GCLKdiv2_S='1' then + GCLKdiv4_S <= not GCLKdiv4_S; + end if; + GCLKdiv2_S <= not GCLKdiv2_S; + end if; +end process; +phaseerr_max_S <= 50 when vioword_S(23 downto 16)=x"00" else conv_integer(unsigned(vioword_S(23 downto 16))); +phasedet_S <= '1' when GCLKdiv4_S/=rxSodaClkdiv4_S else '0'; +process(ST_CLK_S) +variable waitcounter_V : integer range 0 to 155520 := 0; +begin + if (rising_edge(ST_CLK_S)) then + if (resetting_stclk_S='1') or (selectPLLclk_stclk_S='0') or (GEO_stclk_S='1') then + waitcounter_V := 0; + phasedet_count_S <= 0; + phaseerr_count_S <= 0; + phasecheckcounter_S <= 0; + phaseSYNC_S <= '0'; + elsif (waitcounter_V<155520) then -- *(1+conv_integer(unsigned(vioword_S(27 downto 24))))) then + waitcounter_V := waitcounter_V+1; + phasedet_count_S <= 0; + phaseerr_count_S <= 0; + phasecheckcounter_S <= 0; + phaseSYNC_S <= '0'; + elsif (waitcounter_V=155520) then -- always one syncpulse + waitcounter_V := waitcounter_V+1; + phasedet_count_S <= 0; + phaseerr_count_S <= 0; + phasecheckcounter_S <= 0; + phaseSYNC_S <= '1'; + else + if phasedet_count_S=1023 then + if phasecheckcounter_S<255 then + phasecheck_ready_S <= '0'; + phasecheckcounter_S <= phasecheckcounter_S+1; + if (phaseerr_count_S>phaseerr_max_S) then + if vioword_S(5)='0' then + phaseSYNC_S <= '1'; + waitcounter_V := 0; + else + phaseSYNC_S <= '0'; + end if; + else + phaseSYNC_S <= '0'; + end if; + else + phasecheck_ready_S <= '1'; + if (phaseerr_count_S>200) then +-- if (phaseerr_count_S>400) then + if vioword_S(5)='0' then + phaseSYNC_S <= '1'; + waitcounter_V := 0; + else + phaseSYNC_S <= '0'; + end if; + else + phaseSYNC_S <= '0'; + end if; + end if; + phasedet_count_S <= 0; + if phasedet_S='1' then + phaseerr_count_S <= 1; + else + phaseerr_count_S <= 0; + end if; + else + phaseSYNC_S <= '0'; + phasedet_count_S <= phasedet_count_S+1; + if phasedet_S='1' then + phaseerr_count_S <= phaseerr_count_S+1; + end if; + end if; + end if; + resetting_stclk_S <= resetting_S; + selectPLLclk_stclk_S <= selectPLLclk_S; + GEO_stclk_S <= GEO; + end if; +end process; + + +gclk_div10_process: process(GCLK_S) +variable counter_V : integer range 0 to 99 := 0; +begin + if (rising_edge(GCLK_S)) then + if counter_V<49 then -- 99 for 125MHz + counter_V := counter_V+1; + else + counter_V := 0; + GCLKdiv10_S <= not GCLKdiv10_S; + end if; + end if; +end process; +checkfrequency_process: process(ST_CLK_S) +variable counter_V : integer range 0 to 255 := 0; +variable first_check_V : integer range 0 to 7 := 0; +begin + if (rising_edge(ST_CLK_S)) then + if (resetting_stclk_S='1') or (selectPLLclk_stclk_S='0') or (GEO_stclk_S='1') then + PLLfrequencyERROR_S <= '0'; + first_check_V := 0; + else + if GCLKdiv10_prev1_S/=GCLKdiv10_prev2_S then + if (((counter_V>=122) or (counter_V<=125)) and (ADCCLOCKFREQUENCY=62500000)) or + (((counter_V>=96) or (counter_V<=99)) and (ADCCLOCKFREQUENCY=80000000)) then + PLLfrequencyERROR_S <= '0'; + if first_check_V/=7 then + first_check_V := first_check_V+1; + end if; + else + if first_check_V=7 then + PLLfrequencyERROR_S <= '1'; + first_check_V := 0; + else + first_check_V := first_check_V+1; + end if; + end if; + counter_V := 0; + elsif counter_V<255 then + counter_V := counter_V+1; + end if; + end if; + GCLKdiv10_prev2_S <= GCLKdiv10_prev1_S; + GCLKdiv10_prev1_S <= GCLKdiv10_S; + end if; +end process; + +external_PLL: LMK03806 port map( + clock => clock_ADCref_S, + CLKu => CLKu_S, + DATAu => DATAu_S, + LEu => LEu_S, + RDn => RDu, + SYNC => SYNC0_S, + boot_PLL => boot_PLL_S, + reset_GTX => open, -- reset_GTX_S, + reset_ADCs => open, -- reset_ADCs0_S, + booting => PLL_booting_S, + testwordin => vioword2_S(15 downto 0)); +CLKu <= CLKu_S; +DATAu <= DATAu_S; +LEu <= LEu_S; + +-- ADC configuration -------------------------------------------------------------- + SCK <= '0'; -- 2-lane 16-bits serialization + SDI <= '0'; -- normal mode (not sleeping) + CSA <= (others => '0'); -- 2-lane 16-bits serialization + CSB <= (others => '0'); -- 2-lane 16-bits serialization + SDOA <= (others => '0'); -- no internal termination + SDOB <= (others => '0'); -- no internal termination + + + +GTX_refclock: IBUFDS_GTXE1 port map( + O => gtpClk_S, + ODIV2 => open, + CEB => '0', + I => MGTREFCLK_P, + IB => MGTREFCLK_N); + +--select_RCV_CLK : BUFGMUX_CTRL port map( +-- O => RCV_CLK_S, +-- I0 => clock_ADCref_S, +-- I1 => rxSodaClk80_S, +-- S => selectPLLclk_S); ---- rxLocked_S); +--RCV_CLK_S <= clock_ADCref_S; +process (clock_ADCref_S) +begin + if (rising_edge(clock_ADCref_S)) then + if vioword_S(11)='0' then + if (startupready_S='1') and (rxLocked_S='1') then + selectPLLclk_S <= '1'; + else + selectPLLclk_S <= '0'; + end if; + else + selectPLLclk_S <= vioword_S(10); --// + end if; + end if; +end process; + +--rxRecClk40_BUFG: BUFG port map( +-- I => rxSodaClk40_S, +-- O => rxSodaClk40b_S); +--clockmodule40to80_1: clockmodule40to80 port map( +-- CLK_IN1 => rxSodaClk40b_S, +-- CLK_OUT1 => rxSodaClk80_S, +-- LOCKED => open); + +clockmodule40switch1: clockmodule40switch port map( + CLK_IN1 => rxSodaClk40_S, + CLK_IN2 => clock_ADCrefdiv2_S, + CLK_IN_SEL => selectPLLclk_S, + CLK_OUT1 => RCV_CLK_S, + CLK_OUT2 => open, + RESET => '0', + LOCKED => clockswitch_locked_S); + +--process (clock_ADCref_S) +--begin +-- if (rising_edge(clock_ADCref_S)) then +-- RCV_CLKref_S <= not RCV_CLKref_S; +-- end if; +--end process; +--process (rxSodaClk80_S) +--begin +-- if (rising_edge(rxSodaClk80_S)) then +-- RCV_CLKrx_S <= not RCV_CLKrx_S; +-- end if; +--end process; +--RCV_CLK_S <= RCV_CLKrx_S when selectPLLclk_S='1' else RCV_CLKref_S; +-- +--U2 : OBUFDS port map( -- OBUFDS_LVDSEXT_33 +-- I => RCV_CLK_S, +-- O => RCV_CLK_P, +-- OB => RCV_CLK_N); + + +RCV_CLK_not_S <= not RCV_CLK_S; +U1 : FDDRRSE port map( + Q => RCV_CLK_P_S, + C0 => RCV_CLK_S, + C1 => RCV_CLK_not_S, + CE => '1', -- 1 for fpga1 not GEO, -- + D0 => '1', -- 1 for fpga1 not GEO, -- + D1 => '0', + R => '0', + S => '0'); +U2 : OBUFDS port map( -- OBUFDS_LVDSEXT_33 + I => RCV_CLK_P_S, + O => RCV_CLK_P, + OB => RCV_CLK_N); + + + +LOS_S <= '1' when (LOS='1') or (MOD_DEF(0)='1') else '0'; +TX_DIS <= '0'; -- SFP always enabled + +process(ADC_clk_S) -- synchronise to 1 clock +begin + if (rising_edge(ADC_clk_S)) then + reset_FEE_ADCclk_S <= reset_FEE_S; + ADCs_enable_S <= AdcIntrfcEna_S; + end if; +end process; + +FEE_ADCinput_module1: FEE_ADCinput_module port map( + clock200MHz => clock200MHz_S, + reset => reset_ADCs_S, + ADCs_enable => ADCs_enable_S, +----ADC1--------------------------------------------- + AD11A_P => AD11A_P, + AD11A_N => AD11A_N, + AD11B_P => AD11B_P, + AD11B_N => AD11B_N, + AD12A_P => AD12A_P, + AD12A_N => AD12A_N, + AD12B_P => AD12B_P, + AD12B_N => AD12B_N, + AD13A_P => AD13A_P, + AD13A_N => AD13A_N, + AD13B_P => AD13B_P, + AD13B_N => AD13B_N, + AD14A_P => AD14A_P, + AD14A_N => AD14A_N, + AD14B_P => AD14B_P, + AD14B_N => AD14B_N, + AD15A_P => AD15A_P, + AD15A_N => AD15A_N, + AD15B_P => AD15B_P, + AD15B_N => AD15B_N, + AD16A_P => AD16A_P, + AD16A_N => AD16A_N, + AD16B_P => AD16B_P, + AD16B_N => AD16B_N, + AD17A_P => AD17A_P, + AD17A_N => AD17A_N, + AD17B_P => AD17B_P, + AD17B_N => AD17B_N, + AD18A_P => AD18A_P, + AD18A_N => AD18A_N, + AD18B_P => AD18B_P, + AD18B_N => AD18B_N, + + DCOA1_P => DCOA1_P, + DCOA1_N => DCOA1_N, + DCOB1_P => DCOB1_P, + DCOB1_N => DCOB1_N, + + FRA1_P => FRA1_P , + FRA1_N => FRA1_N , + FRB1_P => FRB1_P , + FRB1_N => FRB1_N , + + ----ADC2--------------------------------------------- + AD21A_P => AD21A_P, + AD21A_N => AD21A_N, + AD21B_P => AD21B_P, + AD21B_N => AD21B_N, + AD22A_P => AD22A_P, + AD22A_N => AD22A_N, + AD22B_P => AD22B_P, + AD22B_N => AD22B_N, + AD23A_P => AD23A_P, + AD23A_N => AD23A_N, + AD23B_P => AD23B_P, + AD23B_N => AD23B_N, + AD24A_P => AD24A_P, + AD24A_N => AD24A_N, + AD24B_P => AD24B_P, + AD24B_N => AD24B_N, + AD25A_P => AD25A_P, + AD25A_N => AD25A_N, + AD25B_P => AD25B_P, + AD25B_N => AD25B_N, + AD26A_P => AD26A_P, + AD26A_N => AD26A_N, + AD26B_P => AD26B_P, + AD26B_N => AD26B_N, + AD27A_P => AD27A_P, + AD27A_N => AD27A_N, + AD27B_P => AD27B_P, + AD27B_N => AD27B_N, + AD28A_P => AD28A_P, + AD28A_N => AD28A_N, + AD28B_P => AD28B_P, + AD28B_N => AD28B_N, + + DCOA2_P => DCOA2_P, + DCOA2_N => DCOA2_N, + DCOB2_P => DCOB2_P, + DCOB2_N => DCOB2_N, + + FRA2_P => FRA2_P , + FRA2_N => FRA2_N , + FRB2_P => FRB2_P , + FRB2_N => FRB2_N , + + ----ADC3--------------------------------------------- + AD31A_P => AD31A_P, + AD31A_N => AD31A_N, + AD31B_P => AD31B_P, + AD31B_N => AD31B_N, + AD32A_P => AD32A_P, + AD32A_N => AD32A_N, + AD32B_P => AD32B_P, + AD32B_N => AD32B_N, + AD33A_P => AD33A_P, + AD33A_N => AD33A_N, + AD33B_P => AD33B_P, + AD33B_N => AD33B_N, + AD34A_P => AD34A_P, + AD34A_N => AD34A_N, + AD34B_P => AD34B_P, + AD34B_N => AD34B_N, + AD35A_P => AD35A_P, + AD35A_N => AD35A_N, + AD35B_P => AD35B_P, + AD35B_N => AD35B_N, + AD36A_P => AD36A_P, + AD36A_N => AD36A_N, + AD36B_P => AD36B_P, + AD36B_N => AD36B_N, + AD37A_P => AD37A_P, + AD37A_N => AD37A_N, + AD37B_P => AD37B_P, + AD37B_N => AD37B_N, + AD38A_P => AD38A_P, + AD38A_N => AD38A_N, + AD38B_P => AD38B_P, + AD38B_N => AD38B_N, + + DCOA3_P => DCOA3_P, + DCOA3_N => DCOA3_N, + DCOB3_P => DCOB3_P, + DCOB3_N => DCOB3_N, + + FRA3_P => FRA3_P , + FRA3_N => FRA3_N , + FRB3_P => FRB3_P , + FRB3_N => FRB3_N , + + ----ADC4--------------------------------------------- + AD41A_P => AD41A_P, + AD41A_N => AD41A_N, + AD41B_P => AD41B_P, + AD41B_N => AD41B_N, + AD42A_P => AD42A_P, + AD42A_N => AD42A_N, + AD42B_P => AD42B_P, + AD42B_N => AD42B_N, + AD43A_P => AD43A_P, + AD43A_N => AD43A_N, + AD43B_P => AD43B_P, + AD43B_N => AD43B_N, + AD44A_P => AD44A_P, + AD44A_N => AD44A_N, + AD44B_P => AD44B_P, + AD44B_N => AD44B_N, + AD45A_P => AD45A_P, + AD45A_N => AD45A_N, + AD45B_P => AD45B_P, + AD45B_N => AD45B_N, + AD46A_P => AD46A_P, + AD46A_N => AD46A_N, + AD46B_P => AD46B_P, + AD46B_N => AD46B_N, + AD47A_P => AD47A_P, + AD47A_N => AD47A_N, + AD47B_P => AD47B_P, + AD47B_N => AD47B_N, + AD48A_P => AD48A_P, + AD48A_N => AD48A_N, + AD48B_P => AD48B_P, + AD48B_N => AD48B_N, + + DCOA4_P => DCOA4_P, + DCOA4_N => DCOA4_N, + DCOB4_P => DCOB4_P, + DCOB4_N => DCOB4_N, + + FRA4_P => FRA4_P , + FRA4_N => FRA4_N , + FRB4_P => FRB4_P , + FRB4_N => FRB4_N , + + ADC_clk => ADC_clk_S, + ADCs_ready => ADCs_ready_S, + adcdata => adcdata_S + ); + +gen_FEE: if DEBUG=false generate +FEE_module1: FEE_adc32_module port map( + clock => ADC_clk_S, + reset => reset_FEE_ADCclk_S, + enable_data => enable_data_S, + ADCdata => adcdata_S, + superburst_start => superburst_start_S, + superburst_received => superburst_in_S, + onesecondpulse => onesecondpulse_S, + rxNotInTable => rxNotInTable_S, + startupready => startupready_S, + request_init => request_init_S, + packet_in_data => packet_in_data_S, + packet_in_present => packet_in_present_S, + packet_in_read => packet_in_read_S, + packet_out_data => packet_out_data_S, + packet_out_last => packet_out_last_S, + packet_out_write => packet_out_write_S, + packet_out_fifofull => packet_out_fifofull_S, + errorbyte_out => errorbyte_S, + errorbyte_in => errorbyte_S, + smaart_in => '0', -- TEMP_OUT, + smaart_out => open, + sysmon_data => sysmon_data_S, + sysmon_reset => sysmon_reset_S, + sysmon_address => sysmon_address_S, + sysmon_read => sysmon_read_S, + testindex => conv_integer(unsigned(vioword_S(15 downto 12))), + testword0 => open, + testword1 => open, + testword2 => open + ); -- TEMP_IN); +end generate; + +gen_second_FE_module: if SECOND_FE_MODULE=TRUE generate + + + FEE_module2: FEE_adc32_module port map( + clock => ADC_clk_S, + reset => reset_FEE_ADCclk2_S, + enable_data => enable_data_S, + ADCdata => adcdata2_S, + superburst_start => superburst_start_S, + superburst_received => superburst_in_S, + onesecondpulse => onesecondpulse_S, + rxNotInTable => rxNotInTable_S, + startupready => startupready_S, + request_init => request_init_S, + packet_in_data => packet_in_data_S, + packet_in_present => packet_in_present_S, + packet_in_read => packet_in_read2_S, + packet_out_data => packet_out_data2_S, + packet_out_last => packet_out_last2_S, + packet_out_write => packet_out_write2_S, + packet_out_fifofull => packet_out_fifofull_S, + errorbyte_out => open, + errorbyte_in => errorbyte_S, + smaart_in => '0', -- TEMP_OUT, + smaart_out => open, + sysmon_data => sysmon_data_S, + sysmon_reset => open, + sysmon_address => open, + sysmon_read => open, + testindex => conv_integer(unsigned(vioword_S(15 downto 12))), + testword0 => open, + testword1 => testword0b_S, -- testword0_S, + testword2 => open + ); -- TEMP_IN); + + reset_FEE_ADCclk2_S <= '1' when (reset_FEE_ADCclk_S='1') or (reset_FEE_ADCclk2a_S='1') else '0'; + zero_data_S <= '1' when (vioword_S(9)='1') else '0'; + adcdata2_S <= adcdata_S when zero_data_S='0' else (others => (others => '0')); + + process(ADC_clk_S) + begin + if (rising_edge(ADC_clk_S)) then + unequal_S <= '0'; + request_init_S <= '0'; + if (zero_data_S='1') or (reset_FEE_ADCclk_S='1') or (vioword_S(8)='1') then + unequal_counter_S <= (others => '0'); + reset_FEE_ADCclk2a_S <= '1'; + unequal_time_S <= (others => '0'); + else + if unequal_counter_S(31 downto 0)=x"0000000f" then + reset_FEE_ADCclk2a_S <= '0'; + end if; + if unequal_counter_S=x"000000ff" then + request_init_S <= '1'; + end if; + if (packet_in_read2_S/=packet_in_read_S) or + (packet_out_data2_S/=packet_out_data_S) or + (packet_out_last2_S/=packet_out_last_S) or + (packet_out_write2_S/=packet_out_write_S) then + unequal_time_S <= unequal_counter_S; + unequal_S <= '1'; + end if; + if unequal_counter_S/=x"ffffffff" then + unequal_counter_S <= unequal_counter_S+1; + end if; + end if; + end if; + end process; + +end generate; + +process(ADC_clk_S) +variable counter : integer range 0 to ADCCLOCKFREQUENCY-1 := 0; +begin + if (rising_edge(ADC_clk_S)) then + if counter/=0 then + counter := counter-1; + onesecondpulse_S <= '0'; + else + counter := ADCCLOCKFREQUENCY-1; + onesecondpulse_S <= '1'; + end if; + end if; +end process; + +FEE_gtxModule1: FEE_gtxModule port map( + gtpClk => gtpClk_S, + asyncclk => clock_ADCref_S, + reset => reset_GTX_S, + disable_GTX_reset => disable_GTX_reset_S, + TX_DLM => TX_DLM_S, + TX_DLM_WORD => TX_DLM_WORD_S, + RX_DLM => RX_DLM_S, + RX_DLM_WORD => RX_DLM_WORD_S, + txAsyncClk => ADC_clk_S, + txAsyncData => packet_out_data_S, + txAsyncDataWrite => packet_out_write_S, + txAsyncLastData => packet_out_last_S, + txAsyncFifoFull => packet_out_fifofull_S, + txUsrClk => txUsrClk_S, + txLocked => open, + rxAsyncClk => ADC_clk_S, + rxAsyncData => packet_in_data_S, + rxAsyncDataRead => packet_in_read_S, + rxNotInTable => rxNotInTable0_S, + rxAsyncDataOverflow => open, + rxAsyncDataPresent => packet_in_present_S, + rxSodaClk => rxSodaClk_S, + rxSodaClk40 => rxSodaClk40_S, + rxLocked => rxLocked0_S, + gtpTxP0 => TX_P, + gtpTxN0 => TX_N, + gtpRxP0 => RX_P, + gtpRxN0 => RX_N, + testword0 => testwordb_S -- testword0(35 downto 0) + ); + +posedge_to_pulse_notintable: posedge_to_pulse port map( + clock_in => rxSodaClk_S, + clock_out => ADC_clk_S, + en_clk => '1', + signal_in => rxNotInTable0_S, + pulse => rxNotInTable_S); + +rxLocked_S <= '1' when ((rxLocked0_S='1') or (disable_GTX_reset_S='1')) and (LOS_S='0') else '0'; + + +datatakingprocess: process(rxSodaClk_S) +begin + if (rising_edge(rxSodaClk_S)) then + if DisableDataTaking_S='1' then + DataTaking_enabled_out_S <= '0'; + elsif EnableDataTaking_S='1' then + DataTaking_enabled_out_S <= '1'; + end if; + end if; +end process; + + +process(rxSodaClk_S) +begin + if (rising_edge(rxSodaClk_S)) then + reset_rxSodaClk_S <= reset_S; + end if; +end process; + + +posedge_to_pulse_superburst_startout: posedge_to_pulse port map( + clock_in => rxSodaClk_S, + clock_out => ADC_clk_S, + en_clk => '1', + signal_in => superburst_startout0_S, + pulse => superburst_startout_S); + +soda_FEE_endpoint1: soda_FEE_endpoint port map( + SYSCLK => rxSodaClk_S, + RESET => reset_rxSodaClk_S, + CLEAR => '0', + CLK_EN => '1', + RX_DLM_WORD_IN => RX_DLM_WORD_S, + RX_DLM_IN => RX_DLM_S, + TX_DLM_OUT => TX_DLM_S, + TX_DLM_WORD_OUT => TX_DLM_WORD_S, + START_OF_SUPERBURST => superburst_startout0_S, + SUPER_BURST_NR => superburst_out_S, + SODA_CMD_VALID => SODA_cmd_valid_S, + SODA_CMD_WORD => SODA_cmd_word_S, + STAT => open); +--ResetToZero_S <= '1' when (SODA_cmd_valid_S='1') and (SODA_cmd_word_S(30)='1') else '0'; -- reset timestamp to I/O pin +EnableDataTaking_S <= '1' when (SODA_cmd_valid_S='1') and (SODA_cmd_word_S(29)='1') else '0'; +DisableDataTaking_S <= '1' when (SODA_cmd_valid_S='1') and (SODA_cmd_word_S(28)='1') else '0'; + +SystemMonitorModule1: SystemMonitorModule port map( + clock => ADC_clk_S, + reset => sysmon_reset_S, + address => sysmon_address_S, + data_write => '0', + data_in => (others => '0'), + data_read => sysmon_read_S, + data_out => sysmon_data_S, + alarms => open, + testword0 => open); + + +icon1: icon0 port map( + CONTROL0 => control0_S, + CONTROL1 => control1_S, + CONTROL2 => control2_S, + CONTROL3 => control3_S, + CONTROL4 => control4_S); + +ila36_1: ila36 port map( + CONTROL => control0_S, + CLK => txUsrClk_S, -- ADC_clk_S, -- ST_CLK_S, + TRIG0 => testword1_S); -- testword0_S + +ila36_2: ila36 port map( + CONTROL => control1_S, + CLK => rxSodaClk_S, -- clock_ADCref_S, -- ADC_clk_S, ,clock_ADCref_S + TRIG0 => testword1_S); + +ila128_1: ila128 port map( + CONTROL => control2_S, + CLK => clock_ADCref_S, -- ADC_clk_S, + TRIG0 => testword2_S); -- (others => '0')); -- + +vio36_1: vio36 port map ( + CONTROL => control3_S, + ASYNC_OUT => vioword_S); + +vio36_2: vio36 port map ( + CONTROL => control4_S, + ASYNC_OUT => vioword2_S); + +--testword0_S(31 downto 0) <= unequal_time_S; +--testword0_S(32) <= reset_FEE_ADCclk2_S; +--testword0_S(33) <= zero_data_S; +--testword0_S(34) <= unequal_S; +--testword0_S(35) <= '1' when unequal_counter_S=x"ffffffff" else '0'; + +-- testword0_S <= testword0a_S when vioword_S(10)='0' else testword0b_S; + +testclocks_S(0) <= clock_ADCref_S; +testclocks_S(1) <= clock_ADCrefdiv2_S; +testclocks_S(2) <= clock100MHz_S; +testclocks_S(3) <= clock200MHz_S; +testclocks_S(4) <= RCV_CLK_S; +testclocks_S(5) <= GCLK_S; +testclocks_S(6) <= rxSodaClk_S; +testclocks_S(7) <= rxSodaClk40_S; +testclocks_S(8) <= ADC_clk_S; +gen_testclocks: for i in 0 to 8 generate +process(testclocks_S(i)) +variable cnt_V : integer range 0 to 99 := 0; +begin + if (rising_edge(testclocks_S(i))) then + if cnt_V<99 then + cnt_V := cnt_V+1; + else + cnt_V := 0; + testclockDiv100_S(i) <= not testclockDiv100_S(i); + end if; + end if; +end process; +end generate; +--testword0_S(8 downto 0) <= testclockDiv100_S; +--testword0_S(9) <= LOS_S; +--testword0_S(10) <= rxLocked_S; +--testword0_S(11) <= rxLocked0_S; +--testword0_S(12) <= rxLocked_sync_S; +--testword0_S(13) <= selectPLLclk_S; +--testword0_S(14) <= rxLocked_S; +--testword0_S(23 downto 16) <= RX_DLM_WORD_S; +--testword0_S(24) <= RX_DLM_S; +--testword0_S(32 downto 25) <= TX_DLM_WORD_S; +--testword0_S(33) <= TX_DLM_S; +--testword0_S(34) <= superburst_startout_S; +--testword0_S(35) <= SODA_cmd_valid_S; + +testword0_S(15 downto 0) <= superburst_out_S(15 downto 0); +testword0_S(31 downto 16) <= superburst_in_S(15 downto 0); +testword0_S(32) <= superburst_startout_S; +testword0_S(33) <= superburst_start0_S; +testword0_S(34) <= superburst_start1_S; +testword0_S(35) <= superburst_start_S; + + +--testword2_S(31 downto 0) <= unequal_time_S; +--testword2_S(32) <= reset_FEE_ADCclk2_S; +--testword2_S(33) <= zero_data_S; +--testword2_S(34) <= unequal_S; +--testword2_S(35) <= '1' when unequal_counter_S=x"ffffffff" else '0'; +--testword2_S(67 downto 36) <= packet_out_data_S; +--testword2_S(68) <= packet_out_write_S; +--testword2_S(69) <= packet_out_last_S; +--testword2_S(70) <= packet_out_fifofull_S; +--testword2_S(71) <= '0'; +--testword2_S(103 downto 72) <= packet_out_data2_S; +--testword2_S(104) <= packet_out_write2_S; +--testword2_S(105) <= packet_out_last2_S; +--testword2_S(106) <= packet_out_fifofull_S; +--testword2_S(107) <= '0'; + +testword1_S(30 downto 0) <= testwordb_S(30 downto 0); +testword1_S(31) <= errorbyte_S(0); +testword1_S(32) <= errorbyte_S(1); +testword1_S(33) <= errorbyte_S(2); +testword1_S(34) <= errorbyte_S(4); +testword1_S(35) <= errorbyte_S(6); + +testword2_S(0) <= rxLocked_sync_S; -- coldstart_S; +testword2_S(1) <= reset_S; +testword2_S(2) <= resetting_S; +testword2_S(3) <= reset_GTX_S; -- IcontrolPLL_S; +testword2_S(4) <= reset_ADCs_S; -- otherFPGAnotconfigured0_S; +testword2_S(5) <= otherFPGAnotconfigured_S; +testword2_S(6) <= PLLconfigured_S; +testword2_S(7) <= selectPLLclk_S; +testword2_S(8) <= startupready_S; -- T_CTRL_S; +testword2_S(9) <= external_sync_in_S; +testword2_S(10) <= rxLocked_S; +testword2_S(11) <= S_CTRL0_S; +testword2_S(12) <= boot_PLL_S; +testword2_S(13) <= PLL_booting_S; +testword2_S(14) <= adcintrfcena_s; +testword2_S(15) <= phasecheck_ready1_S; +testword2_S(16) <= GCLKdiv4_S; --reset_GTX_S; +testword2_S(17) <= rxSodaClkdiv4_S; --ADCs_ready_S; +testword2_S(18) <= '1' when phasedet_count_S=1023 else '0'; --GEO; +testword2_S(19) <= '1' when phasecheckcounter_S<255 else '0'; -- PLLfrequencyERROR_S; +testword2_S(20) <= SYNC_S; +testword2_S(21) <= PLLfrequencyERROR_S; +testword2_S(22) <= phasedet_S; +testword2_S(23) <= phaseSYNC_S; +testword2_S(24) <= clockswitch_locked_S; +testword2_S(25) <= phaseSYNCpulse_S; +testword2_S(35 downto 26) <= conv_std_logic_vector(phaseerr_count_S,10); + +selectnr_S <= conv_integer(vioword_S(35 downto 34)); + +generatetest1 : for index in 0 to 7 generate +-- testword2_S(index*16+13 downto index*16+0) <= adcdata_S(selectnr_S*8+index)(13 downto 0); +-- testword2_S(index*16+15 downto index*16+14) <= (others => '0'); +end generate; + +forced_reset_S <= vioword_S(0); + +process(clock_ADCref_S) +variable prev_vioword2 : std_logic := '0'; +variable prev_vioword3 : std_logic := '0'; +begin + if (rising_edge(clock_ADCref_S)) then + if prev_vioword2 /= vioword_S(2) then + test_resetADC_S <= '1'; + else + test_resetADC_S <= '0'; + end if; + prev_vioword2 := vioword_S(2); + if prev_vioword3 /= vioword_S(3) then + debug_sync_S <= '1'; + else + debug_sync_S <= '0'; + end if; + prev_vioword3 := vioword_S(3); + end if; +end process; + +process(ST_CLK_S) +begin + if (rising_edge(ST_CLK_S)) then + testclockDiv2_S(0) <= not testclockDiv2_S(0); + end if; +end process; +process(clock_ADCref_S) +begin + if (rising_edge(clock_ADCref_S)) then + testclockDiv2_S(1) <= not testclockDiv2_S(1); + end if; +end process; +process(clock_ADCrefdiv2_S) +begin + if (rising_edge(clock_ADCrefdiv2_S)) then + testclockDiv2_S(2) <= not testclockDiv2_S(2); + end if; +end process; +process(RCV_CLK_S) +begin + if (rising_edge(RCV_CLK_S)) then + testclockDiv2_S(3) <= not testclockDiv2_S(3); + end if; +end process; +process(GCLK_S) +begin + if (rising_edge(GCLK_S)) then + testclockDiv2_S(4) <= not testclockDiv2_S(4); + end if; +end process; +process(rxSodaClk_S) +begin + if (rising_edge(rxSodaClk_S)) then + testclockDiv2_S(5) <= not testclockDiv2_S(5); + end if; +end process; +process(txUsrClk_S) +begin + if (rising_edge(txUsrClk_S)) then + testclockDiv2_S(6) <= not testclockDiv2_S(6); + end if; +end process; +process(ADC_clk_S) +begin + if (rising_edge(ADC_clk_S)) then + testclockDiv2_S(7) <= not testclockDiv2_S(7); + end if; +end process; + + +SM1_P <= testclockDiv2_S(conv_integer(unsigned(vioword_S(32 downto 30)))); +SM1_N <= testclockDiv2_S(conv_integer(unsigned(vioword_S(32 downto 30)))); + +--SM3_P <= '0'; -- testclockDiv2_S(conv_integer(unsigned(vioword_S(31 downto 30)))); +--SM3_N <= '0'; -- testclockDiv2_S(conv_integer(unsigned(vioword_S(31 downto 30)))); + + +end Behavioral; + diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.asy b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.asy new file mode 100644 index 0000000..b5b3c4e --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.asy @@ -0,0 +1,17 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 FEE_clockbuf80MHz +RECTANGLE Normal 32 32 576 1088 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName clk_in1 +PINATTR Polarity IN +LINE Normal 608 80 576 80 +PIN 608 80 RIGHT 36 +PINATTR PinName clk_out1 +PINATTR Polarity OUT +LINE Normal 608 176 576 176 +PIN 608 176 RIGHT 36 +PINATTR PinName clk_out2 +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.gise b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.gise new file mode 100644 index 0000000..913f68e --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.gise @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.ucf b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.ucf new file mode 100644 index 0000000..9b5a1f0 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.ucf @@ -0,0 +1,58 @@ +# file: FEE_clockbuf80MHz.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 12.500 ns HIGH 50% INPUT_JITTER 125.0ps; + + +# FALSE PATH constraints + diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vhd b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vhd new file mode 100644 index 0000000..251b107 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vhd @@ -0,0 +1,209 @@ +-- file: FEE_clockbuf80MHz.vhd +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____80.000______0.000______50.0______147.966____103.963 +-- CLK_OUT2____80.000____180.000______50.0______147.966____103.963 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary______________80____________0.010 + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_arith.all; +use ieee.numeric_std.all; + +library unisim; +use unisim.vcomponents.all; + +entity FEE_clockbuf80MHz is +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic + ); +end FEE_clockbuf80MHz; + +architecture xilinx of FEE_clockbuf80MHz is + attribute CORE_GENERATION_INFO : string; + attribute CORE_GENERATION_INFO of xilinx : architecture is "FEE_clockbuf80MHz,clk_wiz_v3_6,{component_name=FEE_clockbuf80MHz,use_phase_alignment=true,use_min_o_jitter=false,use_max_i_jitter=false,use_dyn_phase_shift=false,use_inclk_switchover=false,use_dyn_reconfig=false,feedback_source=FDBK_AUTO,primtype_sel=MMCM_ADV,num_out_clk=2,clkin1_period=12.500,clkin2_period=10.000,use_power_down=false,use_reset=false,use_locked=false,use_inclk_stopped=false,use_status=false,use_freeze=false,use_clk_valid=false,feedback_type=SINGLE,clock_mgr_type=MANUAL,manual_override=false}"; + -- Input clock buffering / unused connectors + signal clkin1 : std_logic; + -- Output clock buffering / unused connectors + signal clkfbout : std_logic; + signal clkfbout_buf : std_logic; + signal clkfboutb_unused : std_logic; + signal clkout0 : std_logic; + signal clkout0b_unused : std_logic; + signal clkout1 : std_logic; + signal clkout1b_unused : std_logic; + signal clkout2_unused : std_logic; + signal clkout2b_unused : std_logic; + signal clkout3_unused : std_logic; + signal clkout3b_unused : std_logic; + signal clkout4_unused : std_logic; + signal clkout5_unused : std_logic; + signal clkout6_unused : std_logic; + -- Dynamic programming unused signals + signal do_unused : std_logic_vector(15 downto 0); + signal drdy_unused : std_logic; + -- Dynamic phase shift unused signals + signal psdone_unused : std_logic; + -- Unused status signals + signal locked_unused : std_logic; + signal clkfbstopped_unused : std_logic; + signal clkinstopped_unused : std_logic; +begin + + + -- Input buffering + -------------------------------------- + clkin1 <= CLK_IN1; + + + -- Clocking primitive + -------------------------------------- + -- Instantiation of the MMCM primitive + -- * Unused inputs are tied off + -- * Unused outputs are labeled unused + mmcm_adv_inst : MMCM_ADV + generic map + (BANDWIDTH => "OPTIMIZED", + CLKOUT4_CASCADE => FALSE, + CLOCK_HOLD => FALSE, + COMPENSATION => "ZHOLD", + STARTUP_WAIT => FALSE, + DIVCLK_DIVIDE => 1, + CLKFBOUT_MULT_F => 12.000, + CLKFBOUT_PHASE => 0.000, + CLKFBOUT_USE_FINE_PS => FALSE, + CLKOUT0_DIVIDE_F => 12.000, + CLKOUT0_PHASE => 0.000, + CLKOUT0_DUTY_CYCLE => 0.500, + CLKOUT0_USE_FINE_PS => FALSE, + CLKOUT1_DIVIDE => 12, + CLKOUT1_PHASE => 180.000, + CLKOUT1_DUTY_CYCLE => 0.500, + CLKOUT1_USE_FINE_PS => FALSE, + CLKIN1_PERIOD => 12.500, + REF_JITTER1 => 0.010) + port map + -- Output clocks + (CLKFBOUT => clkfbout, + CLKFBOUTB => clkfboutb_unused, + CLKOUT0 => clkout0, + CLKOUT0B => clkout0b_unused, + CLKOUT1 => clkout1, + CLKOUT1B => clkout1b_unused, + CLKOUT2 => clkout2_unused, + CLKOUT2B => clkout2b_unused, + CLKOUT3 => clkout3_unused, + CLKOUT3B => clkout3b_unused, + CLKOUT4 => clkout4_unused, + CLKOUT5 => clkout5_unused, + CLKOUT6 => clkout6_unused, + -- Input clock control + CLKFBIN => clkfbout_buf, + CLKIN1 => clkin1, + CLKIN2 => '0', + -- Tied to always select the primary input clock + CLKINSEL => '1', + -- Ports for dynamic reconfiguration + DADDR => (others => '0'), + DCLK => '0', + DEN => '0', + DI => (others => '0'), + DO => do_unused, + DRDY => drdy_unused, + DWE => '0', + -- Ports for dynamic phase shift + PSCLK => '0', + PSEN => '0', + PSINCDEC => '0', + PSDONE => psdone_unused, + -- Other control and status signals + LOCKED => locked_unused, + CLKINSTOPPED => clkinstopped_unused, + CLKFBSTOPPED => clkfbstopped_unused, + PWRDWN => '0', + RST => '0'); + + -- Output buffering + ------------------------------------- + clkf_buf : BUFG + port map + (O => clkfbout_buf, + I => clkfbout); + + + clkout1_buf : BUFG + port map + (O => CLK_OUT1, + I => clkout0); + + + + clkout2_buf : BUFG + port map + (O => CLK_OUT2, + I => clkout1); + +end xilinx; diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vho b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vho new file mode 100644 index 0000000..2174648 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vho @@ -0,0 +1,89 @@ +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____80.000______0.000______50.0______147.966____103.963 +-- CLK_OUT2____80.000____180.000______50.0______147.966____103.963 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary______________80____________0.010 + + +-- The following code must appear in the VHDL architecture header: +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +component FEE_clockbuf80MHz +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic + ); +end component; + +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : FEE_clockbuf80MHz + port map + (-- Clock in ports + CLK_IN1 => CLK_IN1, + -- Clock out ports + CLK_OUT1 => CLK_OUT1, + CLK_OUT2 => CLK_OUT2); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xco b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xco new file mode 100644 index 0000000..d5db7fd --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xco @@ -0,0 +1,269 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Thu Sep 25 14:23:17 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:clk_wiz:3.6 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 +# END Select +# BEGIN Parameters +CSET calc_done=DONE +CSET clk_in_sel_port=CLK_IN_SEL +CSET clk_out1_port=CLK_OUT1 +CSET clk_out1_use_fine_ps_gui=false +CSET clk_out2_port=CLK_OUT2 +CSET clk_out2_use_fine_ps_gui=false +CSET clk_out3_port=CLK_OUT3 +CSET clk_out3_use_fine_ps_gui=false +CSET clk_out4_port=CLK_OUT4 +CSET clk_out4_use_fine_ps_gui=false +CSET clk_out5_port=CLK_OUT5 +CSET clk_out5_use_fine_ps_gui=false +CSET clk_out6_port=CLK_OUT6 +CSET clk_out6_use_fine_ps_gui=false +CSET clk_out7_port=CLK_OUT7 +CSET clk_out7_use_fine_ps_gui=false +CSET clk_valid_port=CLK_VALID +CSET clkfb_in_n_port=CLKFB_IN_N +CSET clkfb_in_p_port=CLKFB_IN_P +CSET clkfb_in_port=CLKFB_IN +CSET clkfb_in_signaling=SINGLE +CSET clkfb_out_n_port=CLKFB_OUT_N +CSET clkfb_out_p_port=CLKFB_OUT_P +CSET clkfb_out_port=CLKFB_OUT +CSET clkfb_stopped_port=CLKFB_STOPPED +CSET clkin1_jitter_ps=125.0 +CSET clkin1_ui_jitter=0.010 +CSET clkin2_jitter_ps=100.0 +CSET clkin2_ui_jitter=0.010 +CSET clkout1_drives=BUFG +CSET clkout1_requested_duty_cycle=50.000 +CSET clkout1_requested_out_freq=80 +CSET clkout1_requested_phase=0.000 +CSET clkout2_drives=BUFG +CSET clkout2_requested_duty_cycle=50.000 +CSET clkout2_requested_out_freq=80 +CSET clkout2_requested_phase=180 +CSET clkout2_used=true +CSET clkout3_drives=BUFG +CSET clkout3_requested_duty_cycle=50.000 +CSET clkout3_requested_out_freq=80 +CSET clkout3_requested_phase=0.000 +CSET clkout3_used=false +CSET clkout4_drives=BUFG +CSET clkout4_requested_duty_cycle=50.000 +CSET clkout4_requested_out_freq=80 +CSET clkout4_requested_phase=0.000 +CSET clkout4_used=false +CSET clkout5_drives=BUFG +CSET clkout5_requested_duty_cycle=50.000 +CSET clkout5_requested_out_freq=80 +CSET clkout5_requested_phase=0.000 +CSET clkout5_used=false +CSET clkout6_drives=BUFG +CSET clkout6_requested_duty_cycle=50.000 +CSET clkout6_requested_out_freq=80 +CSET clkout6_requested_phase=0.000 +CSET clkout6_used=false +CSET clkout7_drives=BUFG +CSET clkout7_requested_duty_cycle=50.000 +CSET clkout7_requested_out_freq=80 +CSET clkout7_requested_phase=0.000 +CSET clkout7_used=false +CSET clock_mgr_type=MANUAL +CSET component_name=FEE_clockbuf80MHz +CSET daddr_port=DADDR +CSET dclk_port=DCLK +CSET dcm_clk_feedback=1X +CSET dcm_clk_out1_port=CLK0 +CSET dcm_clk_out2_port=CLK0 +CSET dcm_clk_out3_port=CLK0 +CSET dcm_clk_out4_port=CLK0 +CSET dcm_clk_out5_port=CLK0 +CSET dcm_clk_out6_port=CLK0 +CSET dcm_clkdv_divide=2.0 +CSET dcm_clkfx_divide=1 +CSET dcm_clkfx_multiply=4 +CSET dcm_clkgen_clk_out1_port=CLKFX +CSET dcm_clkgen_clk_out2_port=CLKFX +CSET dcm_clkgen_clk_out3_port=CLKFX +CSET dcm_clkgen_clkfx_divide=1 +CSET dcm_clkgen_clkfx_md_max=0.000 +CSET dcm_clkgen_clkfx_multiply=4 +CSET dcm_clkgen_clkfxdv_divide=2 +CSET dcm_clkgen_clkin_period=10.000 +CSET dcm_clkgen_notes=None +CSET dcm_clkgen_spread_spectrum=NONE +CSET dcm_clkgen_startup_wait=false +CSET dcm_clkin_divide_by_2=false +CSET dcm_clkin_period=10.000 +CSET dcm_clkout_phase_shift=NONE +CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS +CSET dcm_notes=None +CSET dcm_phase_shift=0 +CSET dcm_pll_cascade=NONE +CSET dcm_startup_wait=false +CSET den_port=DEN +CSET din_port=DIN +CSET dout_port=DOUT +CSET drdy_port=DRDY +CSET dwe_port=DWE +CSET feedback_source=FDBK_AUTO +CSET in_freq_units=Units_MHz +CSET in_jitter_units=Units_UI +CSET input_clk_stopped_port=INPUT_CLK_STOPPED +CSET jitter_options=UI +CSET jitter_sel=No_Jitter +CSET locked_port=LOCKED +CSET mmcm_bandwidth=OPTIMIZED +CSET mmcm_clkfbout_mult_f=12.000 +CSET mmcm_clkfbout_phase=0.000 +CSET mmcm_clkfbout_use_fine_ps=false +CSET mmcm_clkin1_period=12.500 +CSET mmcm_clkin2_period=10.000 +CSET mmcm_clkout0_divide_f=12.000 +CSET mmcm_clkout0_duty_cycle=0.500 +CSET mmcm_clkout0_phase=0.000 +CSET mmcm_clkout0_use_fine_ps=false +CSET mmcm_clkout1_divide=12 +CSET mmcm_clkout1_duty_cycle=0.500 +CSET mmcm_clkout1_phase=180.000 +CSET mmcm_clkout1_use_fine_ps=false +CSET mmcm_clkout2_divide=1 +CSET mmcm_clkout2_duty_cycle=0.500 +CSET mmcm_clkout2_phase=0.000 +CSET mmcm_clkout2_use_fine_ps=false +CSET mmcm_clkout3_divide=1 +CSET mmcm_clkout3_duty_cycle=0.500 +CSET mmcm_clkout3_phase=0.000 +CSET mmcm_clkout3_use_fine_ps=false +CSET mmcm_clkout4_cascade=false +CSET mmcm_clkout4_divide=1 +CSET mmcm_clkout4_duty_cycle=0.500 +CSET mmcm_clkout4_phase=0.000 +CSET mmcm_clkout4_use_fine_ps=false +CSET mmcm_clkout5_divide=1 +CSET mmcm_clkout5_duty_cycle=0.500 +CSET mmcm_clkout5_phase=0.000 +CSET mmcm_clkout5_use_fine_ps=false +CSET mmcm_clkout6_divide=1 +CSET mmcm_clkout6_duty_cycle=0.500 +CSET mmcm_clkout6_phase=0.000 +CSET mmcm_clkout6_use_fine_ps=false +CSET mmcm_clock_hold=false +CSET mmcm_compensation=ZHOLD +CSET mmcm_divclk_divide=1 +CSET mmcm_notes=None +CSET mmcm_ref_jitter1=0.010 +CSET mmcm_ref_jitter2=0.010 +CSET mmcm_startup_wait=false +CSET num_out_clks=2 +CSET override_dcm=false +CSET override_dcm_clkgen=false +CSET override_mmcm=false +CSET override_pll=false +CSET platform=nt64 +CSET pll_bandwidth=OPTIMIZED +CSET pll_clk_feedback=CLKFBOUT +CSET pll_clkfbout_mult=4 +CSET pll_clkfbout_phase=0.000 +CSET pll_clkin_period=10.000 +CSET pll_clkout0_divide=1 +CSET pll_clkout0_duty_cycle=0.500 +CSET pll_clkout0_phase=0.000 +CSET pll_clkout1_divide=1 +CSET pll_clkout1_duty_cycle=0.500 +CSET pll_clkout1_phase=0.000 +CSET pll_clkout2_divide=1 +CSET pll_clkout2_duty_cycle=0.500 +CSET pll_clkout2_phase=0.000 +CSET pll_clkout3_divide=1 +CSET pll_clkout3_duty_cycle=0.500 +CSET pll_clkout3_phase=0.000 +CSET pll_clkout4_divide=1 +CSET pll_clkout4_duty_cycle=0.500 +CSET pll_clkout4_phase=0.000 +CSET pll_clkout5_divide=1 +CSET pll_clkout5_duty_cycle=0.500 +CSET pll_clkout5_phase=0.000 +CSET pll_compensation=SYSTEM_SYNCHRONOUS +CSET pll_divclk_divide=1 +CSET pll_notes=None +CSET pll_ref_jitter=0.010 +CSET power_down_port=POWER_DOWN +CSET prim_in_freq=80 +CSET prim_in_jitter=0.010 +CSET prim_source=No_buffer +CSET primary_port=CLK_IN1 +CSET primitive=MMCM +CSET primtype_sel=MMCM_ADV +CSET psclk_port=PSCLK +CSET psdone_port=PSDONE +CSET psen_port=PSEN +CSET psincdec_port=PSINCDEC +CSET relative_inclk=REL_PRIMARY +CSET reset_port=RESET +CSET secondary_in_freq=100.000 +CSET secondary_in_jitter=0.010 +CSET secondary_port=CLK_IN2 +CSET secondary_source=Single_ended_clock_capable_pin +CSET ss_mod_freq=250 +CSET ss_mode=CENTER_HIGH +CSET status_port=STATUS +CSET summary_strings=empty +CSET use_clk_valid=false +CSET use_clkfb_stopped=false +CSET use_dyn_phase_shift=false +CSET use_dyn_reconfig=false +CSET use_freeze=false +CSET use_freq_synth=false +CSET use_inclk_stopped=false +CSET use_inclk_switchover=false +CSET use_locked=false +CSET use_max_i_jitter=false +CSET use_min_o_jitter=false +CSET use_min_power=false +CSET use_phase_alignment=true +CSET use_power_down=false +CSET use_reset=false +CSET use_spread_spectrum=false +CSET use_spread_spectrum_1=false +CSET use_status=false +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-05-10T12:44:55Z +# END Extra information +GENERATE +# CRC: f339ac6c diff --git a/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xise b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xise new file mode 100644 index 0000000..ff919f7 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.xise @@ -0,0 +1,75 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.asy b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.asy new file mode 100644 index 0000000..4d8a6f6 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.asy @@ -0,0 +1,89 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 SystemMonitorVirtex +RECTANGLE Normal 32 32 640 1504 +LINE Wide 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName di_in[15:0] +PINATTR Polarity IN +LINE Wide 0 112 32 112 +PIN 0 112 LEFT 36 +PINATTR PinName daddr_in[6:0] +PINATTR Polarity IN +LINE Normal 0 144 32 144 +PIN 0 144 LEFT 36 +PINATTR PinName den_in +PINATTR Polarity IN +LINE Normal 0 176 32 176 +PIN 0 176 LEFT 36 +PINATTR PinName dwe_in +PINATTR Polarity IN +LINE Normal 0 208 32 208 +PIN 0 208 LEFT 36 +PINATTR PinName dclk_in +PINATTR Polarity IN +LINE Normal 0 272 32 272 +PIN 0 272 LEFT 36 +PINATTR PinName reset_in +PINATTR Polarity IN +LINE Normal 0 400 32 400 +PIN 0 400 LEFT 36 +PINATTR PinName vp_in +PINATTR Polarity IN +LINE Normal 0 432 32 432 +PIN 0 432 LEFT 36 +PINATTR PinName vn_in +PINATTR Polarity IN +LINE Wide 672 80 640 80 +PIN 672 80 RIGHT 36 +PINATTR PinName do_out[15:0] +PINATTR Polarity OUT +LINE Normal 672 112 640 112 +PIN 672 112 RIGHT 36 +PINATTR PinName drdy_out +PINATTR Polarity OUT +LINE Normal 672 176 640 176 +PIN 672 176 RIGHT 36 +PINATTR PinName user_temp_alarm_out +PINATTR Polarity OUT +LINE Normal 672 208 640 208 +PIN 672 208 RIGHT 36 +PINATTR PinName vccint_alarm_out +PINATTR Polarity OUT +LINE Normal 672 240 640 240 +PIN 672 240 RIGHT 36 +PINATTR PinName vccaux_alarm_out +PINATTR Polarity OUT +LINE Normal 672 272 640 272 +PIN 672 272 RIGHT 36 +PINATTR PinName ot_out +PINATTR Polarity OUT +LINE Wide 672 336 640 336 +PIN 672 336 RIGHT 36 +PINATTR PinName channel_out[4:0] +PINATTR Polarity OUT +LINE Normal 672 368 640 368 +PIN 672 368 RIGHT 36 +PINATTR PinName eoc_out +PINATTR Polarity OUT +LINE Normal 672 400 640 400 +PIN 672 400 RIGHT 36 +PINATTR PinName eos_out +PINATTR Polarity OUT +LINE Normal 672 432 640 432 +PIN 672 432 RIGHT 36 +PINATTR PinName busy_out +PINATTR Polarity OUT +LINE Normal 672 464 640 464 +PIN 672 464 RIGHT 36 +PINATTR PinName jtaglocked_out +PINATTR Polarity OUT +LINE Normal 672 496 640 496 +PIN 672 496 RIGHT 36 +PINATTR PinName jtagmodified_out +PINATTR Polarity OUT +LINE Normal 672 528 640 528 +PIN 672 528 RIGHT 36 +PINATTR PinName jtagbusy_out +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.gise b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.gise new file mode 100644 index 0000000..b6a2bee --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.gise @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vhd b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vhd new file mode 100644 index 0000000..c196fb5 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vhd @@ -0,0 +1,192 @@ +-- file: SystemMonitorVirtex.vhd +-- (c) Copyright 2009 - 2010 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; +Library UNISIM; +use UNISIM.VCOMPONENTS.ALL; + +entity SystemMonitorVirtex is + port ( + DADDR_IN : in STD_LOGIC_VECTOR (6 downto 0); -- Address bus for the dynamic reconfiguration port + DCLK_IN : in STD_LOGIC; -- Clock input for the dynamic reconfiguration port + DEN_IN : in STD_LOGIC; -- Enable Signal for the dynamic reconfiguration port + DI_IN : in STD_LOGIC_VECTOR (15 downto 0); -- Input data bus for the dynamic reconfiguration port + DWE_IN : in STD_LOGIC; -- Write Enable for the dynamic reconfiguration port + RESET_IN : in STD_LOGIC; -- Reset signal for the System Monitor control logic + BUSY_OUT : out STD_LOGIC; -- ADC Busy signal + CHANNEL_OUT : out STD_LOGIC_VECTOR (4 downto 0); -- Channel Selection Outputs + DO_OUT : out STD_LOGIC_VECTOR (15 downto 0); -- Output data bus for dynamic reconfiguration port + DRDY_OUT : out STD_LOGIC; -- Data ready signal for the dynamic reconfiguration port + EOC_OUT : out STD_LOGIC; -- End of Conversion Signal + EOS_OUT : out STD_LOGIC; -- End of Sequence Signal + JTAGBUSY_OUT : out STD_LOGIC; -- JTAG DRP transaction is in progress signal + JTAGLOCKED_OUT : out STD_LOGIC; -- DRP port lock request has been made by JTAG + JTAGMODIFIED_OUT : out STD_LOGIC; -- Indicates JTAG Write to the DRP has occurred + OT_OUT : out STD_LOGIC; -- Over-Temperature alarm output + VCCAUX_ALARM_OUT : out STD_LOGIC; -- VCCAUX-sensor alarm output + VCCINT_ALARM_OUT : out STD_LOGIC; -- VCCINT-sensor alarm output + USER_TEMP_ALARM_OUT : out STD_LOGIC; -- Temperature-sensor alarm output + VP_IN : in STD_LOGIC; -- Dedicated Analog Input Pair + VN_IN : in STD_LOGIC +); +end SystemMonitorVirtex; + +architecture xilinx of SystemMonitorVirtex is + + attribute X_CORE_INFO : string; + attribute X_CORE_INFO of xilinx : architecture is "sysmon_wiz_v2_1, Coregen 12.4"; + + signal aux_channel_p : std_logic_vector (15 downto 0); + signal aux_channel_n : std_logic_vector (15 downto 0); + +begin + + aux_channel_p(0) <= '0'; + aux_channel_n(0) <= '0'; + + aux_channel_p(1) <= '0'; + aux_channel_n(1) <= '0'; + + aux_channel_p(2) <= '0'; + aux_channel_n(2) <= '0'; + + aux_channel_p(3) <= '0'; + aux_channel_n(3) <= '0'; + + aux_channel_p(4) <= '0'; + aux_channel_n(4) <= '0'; + + aux_channel_p(5) <= '0'; + aux_channel_n(5) <= '0'; + + aux_channel_p(6) <= '0'; + aux_channel_n(6) <= '0'; + + aux_channel_p(7) <= '0'; + aux_channel_n(7) <= '0'; + + aux_channel_p(8) <= '0'; + aux_channel_n(8) <= '0'; + + aux_channel_p(9) <= '0'; + aux_channel_n(9) <= '0'; + + aux_channel_p(10) <= '0'; + aux_channel_n(10) <= '0'; + + aux_channel_p(11) <= '0'; + aux_channel_n(11) <= '0'; + + aux_channel_p(12) <= '0'; + aux_channel_n(12) <= '0'; + + aux_channel_p(13) <= '0'; + aux_channel_n(13) <= '0'; + + aux_channel_p(14) <= '0'; + aux_channel_n(14) <= '0'; + + aux_channel_p(15) <= '0'; + aux_channel_n(15) <= '0'; + + + SYSMON_INST : SYSMON + generic map( + INIT_40 => X"0000", -- config reg 0 + INIT_41 => X"3000", -- config reg 1 + INIT_42 => X"1900", -- config reg 2 + INIT_48 => X"0100", -- Sequencer channel selection + INIT_49 => X"0000", -- Sequencer channel selection + INIT_4A => X"0000", -- Sequencer Average selection + INIT_4B => X"0000", -- Sequencer Average selection + INIT_4C => X"0000", -- Sequencer Bipolar selection + INIT_4D => X"0000", -- Sequencer Bipolar selection + INIT_4E => X"0000", -- Sequencer Acq time selection + INIT_4F => X"0000", -- Sequencer Acq time selection + INIT_50 => X"b5ed", -- Temp alarm trigger + INIT_51 => X"5999", -- Vccint upper alarm limit + INIT_52 => X"e000", -- Vccaux upper alarm limit + INIT_53 => X"ca33", -- Temp alarm OT upper + INIT_54 => X"a93a", -- Temp alarm reset + INIT_55 => X"5111", -- Vccint lower alarm limit + INIT_56 => X"caaa", -- Vccaux lower alarm limit + INIT_57 => X"ae4e", -- Temp alarm OT reset + SIM_DEVICE => "VIRTEX6", + SIM_MONITOR_FILE => "design.txt" + ) + +port map ( + CONVST => '0', + CONVSTCLK => '0', + DADDR(6 downto 0) => DADDR_IN(6 downto 0), + DCLK => DCLK_IN, + DEN => DEN_IN, + DI(15 downto 0) => DI_IN(15 downto 0), + DWE => DWE_IN, + RESET => RESET_IN, + VAUXN(15 downto 0) => aux_channel_n(15 downto 0), + VAUXP(15 downto 0) => aux_channel_p(15 downto 0), + ALM(2) => VCCAUX_ALARM_OUT, + ALM(1) => VCCINT_ALARM_OUT, + ALM(0) => USER_TEMP_ALARM_OUT, + BUSY => BUSY_OUT, + CHANNEL(4 downto 0) => CHANNEL_OUT(4 downto 0), + DO(15 downto 0) => DO_OUT(15 downto 0), + DRDY => DRDY_OUT, + EOC => EOC_OUT, + EOS => EOS_OUT, + JTAGBUSY => JTAGBUSY_OUT, + JTAGLOCKED => JTAGLOCKED_OUT, + JTAGMODIFIED => JTAGMODIFIED_OUT, + OT => OT_OUT, + VN => VN_IN, + VP => VP_IN + ); +end xilinx; + diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vho b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vho new file mode 100644 index 0000000..320cf0c --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.vho @@ -0,0 +1,112 @@ +-- (c) Copyright 2009 - 2010 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- + +-- The following code must appear in the VHDL architecture header: +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +component SystemMonitorVirtex + port ( + DADDR_IN : in STD_LOGIC_VECTOR (6 downto 0); -- Address bus for the dynamic reconfiguration port + DCLK_IN : in STD_LOGIC; -- Clock input for the dynamic reconfiguration port + DEN_IN : in STD_LOGIC; -- Enable Signal for the dynamic reconfiguration port + DI_IN : in STD_LOGIC_VECTOR (15 downto 0); -- Input data bus for the dynamic reconfiguration port + DWE_IN : in STD_LOGIC; -- Write Enable for the dynamic reconfiguration port + RESET_IN : in STD_LOGIC; -- Reset signal for the System Monitor control logic + BUSY_OUT : out STD_LOGIC; -- ADC Busy signal + CHANNEL_OUT : out STD_LOGIC_VECTOR (4 downto 0); -- Channel Selection Outputs + DO_OUT : out STD_LOGIC_VECTOR (15 downto 0); -- Output data bus for dynamic reconfiguration port + DRDY_OUT : out STD_LOGIC; -- Data ready signal for the dynamic reconfiguration port + EOC_OUT : out STD_LOGIC; -- End of Conversion Signal + EOS_OUT : out STD_LOGIC; -- End of Sequence Signal + JTAGBUSY_OUT : out STD_LOGIC; -- JTAG DRP transaction is in progress signal + JTAGLOCKED_OUT : out STD_LOGIC; -- DRP port lock request has been made by JTAG + JTAGMODIFIED_OUT : out STD_LOGIC; -- Indicates JTAG Write to the DRP has occurred + OT_OUT : out STD_LOGIC; -- Over-Temperature alarm output + VCCAUX_ALARM_OUT : out STD_LOGIC; -- VCCAUX-sensor alarm output + VCCINT_ALARM_OUT : out STD_LOGIC; -- VCCINT-sensor alarm output + USER_TEMP_ALARM_OUT : out STD_LOGIC; -- Temperature-sensor alarm output + VP_IN : in STD_LOGIC; -- Dedicated Analog Input Pair + VN_IN : in STD_LOGIC +); +end component; +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ + +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : SystemMonitorVirtex + port map ( + DADDR_IN => DADDR_IN, + DCLK_IN => DCLK_IN, + DEN_IN => DEN_IN, + DI_IN => DI_IN, + DWE_IN => DWE_IN, + RESET_IN => RESET_IN, + BUSY_OUT => BUSY_OUT, + CHANNEL_OUT => CHANNEL_OUT, + DO_OUT => DO_OUT, + DRDY_OUT => DRDY_OUT, + EOC_OUT => EOC_OUT, + EOS_OUT => EOS_OUT, + JTAGBUSY_OUT => JTAGBUSY_OUT, + JTAGLOCKED_OUT => JTAGLOCKED_OUT, + JTAGMODIFIED_OUT => JTAGMODIFIED_OUT, + OT_OUT => OT_OUT, + VCCAUX_ALARM_OUT => VCCAUX_ALARM_OUT, + VCCINT_ALARM_OUT => VCCINT_ALARM_OUT, + USER_TEMP_ALARM_OUT => USER_TEMP_ALARM_OUT, + VP_IN => VP_IN, + VN_IN => VN_IN + ); + +-- INST_TAG_END ------ End INSTANTIATION Template --------- + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xco b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xco new file mode 100644 index 0000000..d8fdbe6 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xco @@ -0,0 +1,163 @@ +############################################################## +# +# Xilinx Core Generator version 13.3 +# Date: Wed Oct 17 13:30:12 2012 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:sysmon_wiz:2.1 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT System_Monitor_Wizard family Xilinx,_Inc. 2.1 +# END Select +# BEGIN Parameters +CSET acquisition_time_vauxp0_vauxn0=false +CSET acquisition_time_vauxp10_vauxn10=false +CSET acquisition_time_vauxp11_vauxn11=false +CSET acquisition_time_vauxp12_vauxn12=false +CSET acquisition_time_vauxp13_vauxn13=false +CSET acquisition_time_vauxp14_vauxn14=false +CSET acquisition_time_vauxp15_vauxn15=false +CSET acquisition_time_vauxp1_vauxn1=false +CSET acquisition_time_vauxp2_vauxn2=false +CSET acquisition_time_vauxp3_vauxn3=false +CSET acquisition_time_vauxp4_vauxn4=false +CSET acquisition_time_vauxp5_vauxn5=false +CSET acquisition_time_vauxp6_vauxn6=false +CSET acquisition_time_vauxp7_vauxn7=false +CSET acquisition_time_vauxp8_vauxn8=false +CSET acquisition_time_vauxp9_vauxn9=false +CSET acquisition_time_vp_vn=false +CSET adc_conversion_rate=100.0 +CSET adc_offset_and_gain_calibration=false +CSET adc_offset_calibration=false +CSET average_enable_temperature=false +CSET average_enable_vauxp0_vauxn0=false +CSET average_enable_vauxp10_vauxn10=false +CSET average_enable_vauxp11_vauxn11=false +CSET average_enable_vauxp12_vauxn12=false +CSET average_enable_vauxp13_vauxn13=false +CSET average_enable_vauxp14_vauxn14=false +CSET average_enable_vauxp15_vauxn15=false +CSET average_enable_vauxp1_vauxn1=false +CSET average_enable_vauxp2_vauxn2=false +CSET average_enable_vauxp3_vauxn3=false +CSET average_enable_vauxp4_vauxn4=false +CSET average_enable_vauxp5_vauxn5=false +CSET average_enable_vauxp6_vauxn6=false +CSET average_enable_vauxp7_vauxn7=false +CSET average_enable_vauxp8_vauxn8=false +CSET average_enable_vauxp9_vauxn9=false +CSET average_enable_vccaux=false +CSET average_enable_vccint=false +CSET average_enable_vp_vn=false +CSET bipolar_operation=false +CSET bipolar_vauxp0_vauxn0=false +CSET bipolar_vauxp10_vauxn10=false +CSET bipolar_vauxp11_vauxn11=false +CSET bipolar_vauxp12_vauxn12=false +CSET bipolar_vauxp13_vauxn13=false +CSET bipolar_vauxp14_vauxn14=false +CSET bipolar_vauxp15_vauxn15=false +CSET bipolar_vauxp1_vauxn1=false +CSET bipolar_vauxp2_vauxn2=false +CSET bipolar_vauxp3_vauxn3=false +CSET bipolar_vauxp4_vauxn4=false +CSET bipolar_vauxp5_vauxn5=false +CSET bipolar_vauxp6_vauxn6=false +CSET bipolar_vauxp7_vauxn7=false +CSET bipolar_vauxp8_vauxn8=false +CSET bipolar_vauxp9_vauxn9=false +CSET bipolar_vp_vn=false +CSET channel_averaging=None +CSET channel_enable_calibration=false +CSET channel_enable_temperature=false +CSET channel_enable_vauxp0_vauxn0=false +CSET channel_enable_vauxp10_vauxn10=false +CSET channel_enable_vauxp11_vauxn11=false +CSET channel_enable_vauxp12_vauxn12=false +CSET channel_enable_vauxp13_vauxn13=false +CSET channel_enable_vauxp14_vauxn14=false +CSET channel_enable_vauxp15_vauxn15=false +CSET channel_enable_vauxp1_vauxn1=false +CSET channel_enable_vauxp2_vauxn2=false +CSET channel_enable_vauxp3_vauxn3=false +CSET channel_enable_vauxp4_vauxn4=false +CSET channel_enable_vauxp5_vauxn5=false +CSET channel_enable_vauxp6_vauxn6=false +CSET channel_enable_vauxp7_vauxn7=false +CSET channel_enable_vauxp8_vauxn8=false +CSET channel_enable_vauxp9_vauxn9=false +CSET channel_enable_vccaux=false +CSET channel_enable_vccint=false +CSET channel_enable_vp_vn=false +CSET channel_enable_vrefn=false +CSET channel_enable_vrefp=false +CSET component_name=SystemMonitorVirtex +CSET dclk_frequency=62.5 +CSET enable_busy=true +CSET enable_calibration_averaging=true +CSET enable_channel=true +CSET enable_convst=false +CSET enable_convstclk=false +CSET enable_dclk=true +CSET enable_drp=true +CSET enable_eoc=true +CSET enable_eos=true +CSET enable_jtagbusy=true +CSET enable_jtaglocked=true +CSET enable_jtagmodified=true +CSET enable_reset=true +CSET increase_acquisition_time=false +CSET ot_alarm=true +CSET sensor_offset_and_gain_calibration=false +CSET sensor_offset_calibration=false +CSET sequencer_mode=Off +CSET sim_file_name=design +CSET single_channel_acquisition_time=false +CSET single_channel_enable_calibration=true +CSET single_channel_selection=Temperature +CSET startup_channel_selection=single_channel +CSET temperature_alarm_ot_reset=70.0 +CSET temperature_alarm_ot_trigger=125.0 +CSET temperature_alarm_reset=60.0 +CSET temperature_alarm_trigger=85.0 +CSET timing_mode=Continuous +CSET user_temp_alarm=true +CSET vccaux_alarm=true +CSET vccaux_alarm_lower=2.375 +CSET vccaux_alarm_upper=2.625 +CSET vccint_alarm=true +CSET vccint_alarm_lower=0.95 +CSET vccint_alarm_upper=1.05 +# END Parameters +GENERATE +# CRC: f7c86d59 diff --git a/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xise b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xise new file mode 100644 index 0000000..e2f9a9c --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/SystemMonitorVirtex.xise @@ -0,0 +1,68 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/_xmsgs/pn_parser.xmsgs b/FEE_ADC32board/project/ipcore_dir/_xmsgs/pn_parser.xmsgs new file mode 100644 index 0000000..bcb73a2 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/_xmsgs/pn_parser.xmsgs @@ -0,0 +1,15 @@ + + + + + + + + + + +Parsing VHDL file "D:/Project/Panda/GIT/FEE_ADC32board/project/ipcore_dir/FEE_clockbuf80MHz.vhd" into library work + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.asy b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.asy new file mode 100644 index 0000000..203f9b9 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.asy @@ -0,0 +1,41 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 async_fifo_16x9 +RECTANGLE Normal 32 32 800 4064 +LINE Normal 0 112 32 112 +PIN 0 112 LEFT 36 +PINATTR PinName rst +PINATTR Polarity IN +LINE Normal 0 208 32 208 +PIN 0 208 LEFT 36 +PINATTR PinName wr_clk +PINATTR Polarity IN +LINE Wide 0 240 32 240 +PIN 0 240 LEFT 36 +PINATTR PinName din[8:0] +PINATTR Polarity IN +LINE Normal 0 272 32 272 +PIN 0 272 LEFT 36 +PINATTR PinName wr_en +PINATTR Polarity IN +LINE Normal 0 464 32 464 +PIN 0 464 LEFT 36 +PINATTR PinName full +PINATTR Polarity OUT +LINE Normal 832 240 800 240 +PIN 832 240 RIGHT 36 +PINATTR PinName rd_clk +PINATTR Polarity IN +LINE Wide 832 272 800 272 +PIN 832 272 RIGHT 36 +PINATTR PinName dout[8:0] +PINATTR Polarity OUT +LINE Normal 832 304 800 304 +PIN 832 304 RIGHT 36 +PINATTR PinName rd_en +PINATTR Polarity IN +LINE Normal 832 496 800 496 +PIN 832 496 RIGHT 36 +PINATTR PinName empty +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.gise b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.gise new file mode 100644 index 0000000..5e02c17 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.gise @@ -0,0 +1,53 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.ngc b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.ngc new file mode 100644 index 0000000..9dda322 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$3a644<,[o}e~g`n;"2*73>(-80!:;123452739:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456788:0<=>?0123=567893;=6?>a:37>LHW]]0JHI\NRECG@W:6;3:5=l5>4;KMTPR=IMNYNZ\NDEP?56<768>0=;4FNQWW>AOFL@6:97>115922?OIX\^1HDLKI=36>586=2;=6B[[PTV9@JGCG5;>6=0>5:35>JSSX\^1HBLKO=36>586;2;1EC^ZT;PFCFCF490;2<=41;KMTPR=ZLMHIO2?:1<25>7=AGZ^X7\\T@>3>58692;1EC^ZT;PPPG:7294:<6?5IORVP?QBI5:1<3??;08JJUSS2^OI0=4?>0910>460=;27?4FNQWW>DBCZH^BIEGHH=394;7>3;0BB][[:@FGVGRNMACLD1?50?37?70>7GAPTV9@LVEL@Z7=7>11491>JSSX\^1HB^NDNR?5?699<196B[[PTV9@JVELFZ7=7>12:6257=32@D[YY4NDEPB86<7688087GAPTV9EABUJ591<3??;58JJUSS2^OJ0>4?>0580?IR\Y__6_JNDEPFGF:4294:<6;:4062043289:;<=?46595=<053?K?7;ONAg95ri~6;9~mj96;-2:8<56?:9:9=?57:HLSQQ09:55=>893;<=>?012:45?530<:=675IORVP?BNFH636=0>1:;9MKVR\3NBBO27:1<24>?=AGZ^X7jfn=:94;74300DYY^ZT;FLQQG;03:5=>56:NWWTPR=LF__N1650?31?<;>5853H2:==FLMXJ0?0n;@FGVD:429437LJKR@>0:`=FLMXJ^IOKDS>3:c=FLMXJ^IOKDS>24;`2h5NDEPBVAGCL[6=2h5NDEPBVAGCL[6<2h5NDEPBVAGCL[632h5NDEPBVAGCL[622k5NDEPBPLCOANB7<3?>;@FGVDRNMACLD1?50?d8EABUI]CNDDIG<0<;?DBCZK6;255NDEPA848?3HNO^O2=>`9B@ATE4:0;255NDEPA868a3HNO^OZFEIKDL969981JHI\MTHGKMBN;93:5j6OKDS@WM@NNOA6:2h5NDEPASWGCL[6;2k5NDEPASWGCL[6:<3h4AEFQFRTFLMX7=<0i;@FGVGQUIMNY0<<1109B@ATE_[KOH_2>3;2=b>GCL[H\^LJKR=30:`=FLMXI[_OKDS>2:`=FLMXI[_OKDS>1:`=FLMXI[_OKDS>0:`=FLMXI[_OKDS>7:`=FLMXI[_OKDS>6:`=FLMXI[_OKDS>5:`=FLMXI[_OKDS>4:`=FLMXI[_OKDS>;:`=FLMXI[_OKDS>::6=FDE30M^WAC^PFC402:AKAFMXD@INB^KPTXRF0>EKC9<0OAE>8148GIM5?9?0OAE=X99@HN4_91:>7NBD9168GIMF=2IGGL?8;BNHE4B5?2IGGL?K469@HNG6L130OAENREAOO1=DDBH>7NBDB0;8GIME_[IGG85LLJA21>EKCM;>7NBDDWa8GIMC^VNBZDJJ5:AOOC^?3JF@JU?7029@HW?BEA]OY^i5KEMCZAAYPZ@^N46JFAEK?4;?89GMDBN48;556JFAEK?578>3MCJHD2>3?;8@LGCA5;?2o5KI@FJ843=8730HDOKI=36:==CAHNB0<07;EKB@L:5611OELJF<2<;?AOFL@6?255KI@FJ808?3MCJHD29>99GMDBN4>437IGNDH>;:==CAHNB0407;EKA@L:7601OEOJF<02==>BNJMC7=<06;EKA@L:6:730HDLKI=30:<=CAKNB0<:1b:FJFAO;9<0;245KICFJ843902NBNIG31?:8@LDCA58546JFBEK?7;>BNJMC7;364DH@GM9>902NBNIG39?58@LHF494<7IGAA=3=3>BNFH692:5KIOC?7;169GMKG;?730HD@N<983:2=CAGK74394DHLA85803MCEN1?17:FJJG:56>1OECL33?58@LHE4=4<7IGAB=7=3>BNFK6=2:5KIO@?3;?69GMKD;07k0HD^NDHR?4;eBNXHNB\1?1a:FJTGBNX5:5o6JFPCFJT97=87k0HD^MDHR?5;>19:FLEAI;99427IANDN>25;?89GKDBH489556J@AEM?518e3MEJHB2>5;2==>BHIME7=807;EMB@J:6611OCLJ@<3<;?AIFLF68255KO@FL818?3MEJHB2:>99GKDBH4?437IANDN>4:==CGHND0507;EMB@J:>6>1OCLQ]EF:8@JDCG5:556J@BEM?558>3MEIHB2>1?;8@JDCG5;9245KOCFL845912NDNIA31519:FLFAI;9<437IAMDN>2:==CGKND0?07;EMA@J:4611OCOJ@<5<;?AIELF6>255KOCFL838?3MEIHB28>99GKGBH41437IAMDN>::2=CGKUYIJo4DNRB@JV;87i0HB^NDNR?5?69i2ND\LJ@P=3=e>BHXKND\1>1c:FLTGBHX5;1<3o4DNRA@JV;9720HB[[A=2=<>BH]]K7=364DNWWE94902NDYYO33?:8@JSSI5>546J@UUC?1;>BH]]H7>364DNWWF95902NDYYL34?:8@JSSJ5?546J@UU@?2;>CIJ>1NBOY]EO:8B30119:;96HNLRG1?CB43ONH86HKCD18BAV33ON[I<5H3:EM@4=N:2C;>6G>2:K16>O4:2C?>6G:8:KMMQVX8920ECG[P^22<>OIA]ZT46GAIUR\43>89:KMMQUSI]O<7D@FT^233>OIA]U;=:5FNHV\471L7:KMMQY7L>1BBDZP0D58MKOSW9L<7D@FT^333>OIA]U:=:5FNHV\571569JJLRX9?=0ECG[_054?LHN\V;3;6GAIU]2=2=NF@^T=L94IOKW[4D03@DBXR?L7:KMMQY6L>1BBDZP1D58MKOSW8L<7D@FT^033>OIA]U9=:5FNHV\671L94IOKW[7D03@DBXR1BBDZP2D58MKOSW;L<7D@FT^133>OIA]U8=:5FNHV\771=8;HLJPZ53?2CEEYQ<569JJLRX;?=0ECG[_254?LHN\V93;6GAIU]0=2=NF@^T?L94IOKW[6D03@DBXR=L7:KMMQY4L>1BBDZP3D58MKOSW:L=7D@FT^C5?LHN\VH27D@FT^DJH@bOI^?1GCLJJD79OKFMBL>1GCJGLAM68HPR5<2F^X>:4LTV70>JR\<>0@XZ95:OPCJHd3DkacXjrrkljf=JageyZh||inl1?K703GO_[B\D4:LLJ@719:PFCFCE494o7_KHCMIBVATDDB=0^HILLJ@:?WUSI5:1<394RRVB858>3[Y_N1>50?58VVRE494o7_][R@OBVVRUID=0^^Z]AL@g?WUSZLMJ^^Z]EF58VVRUMNH:=6\\TSGD[UTNG[C_URO>1:PPPWC@WYXBC_G[Y^@;?VGQMMK_M:5\BHVFVW5<[MZ:=6]GRDE\A]RUIJ^TBJMj;RJQABYJAGUXEWK>3:QJIZEHDECXEB@PCIG@Od=TADUOI[GLE99POLVXX@D=7^AZRBG4?VTQIEUJ;6]]V@N\F3=T\H^^_95[RTG7?Q_WM?l0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/LzlvZTCWYD_^V>R_SF\TKRUS8WTTB\P13]l[}i;87;=j6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-N|jtXZMU[BY\T1\]Q@ZVI\[Q9QRV@R^32[jYg5:5=;h4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+H~hzVXOS]@[RZ0^[WBXXG^YW>SPXNP\55YhWqe7<3?9e:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})JpfxT[_Q_NUPX4XYPZVZEX_U>]^ZLVZ5XgVrd0=0>6d9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(EqeySZ\PPOVQ_4[X_[U[BY\T2\][KWY5WfUsc1>117g8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'Drd~RY]_QLWV^4ZW^XT\CZ][2_\\JTX9VeTtb2?>040?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&XOS]@[RZ2^[WBXXG^YW:1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv RE]SJQT\9TUYHR^ATSY1YZ^HZV;:Sb8<;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*TCWYD_^V]^ZLVZ5Xg?80Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/VP\TKRUS8WT[_Q_NUPX6XY_G[U9Sb8=;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*QUWYD_^VS7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%lt`l_rvbc`]6U'xoS~zh_hlpp*B;87 xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.ep}keX{}kliV?R.sf\wqaXagy#I2>>768Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'nyrbnQ|t`ef_4[)zmUxxjQfnrv,@949>=1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv gr{mgZusinoP=P }d^qwcZoi{}%O0>097:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})`{pdhS~zngdY2Y+tcWz~lSd`|t.S\v`aX8?=0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/fqzjfYt|hmnWS7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%lt`l_rvbc`]6U'xoS~zh_hlpp*WXzlmT>;94U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[0_-vaYt|nUbb~z Q^pfcZ51<2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ:Q#y}_rvd[lht|&N7<38;;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*atqgiTyoheZ3^*rtX{}mTec}{/E>2:32<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#j}vnb]ppdabS8W%{Q|tf]jjvr(L585:95Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,cvikVymjkT1\,tvZusoVcey!K<2<53>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%lt`l_rvbc`]6U'}yS~zh_hlpp*WXzlmT<;94U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[0_-swYt|nUbb~z Q^pfcZ71?2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ:Q#y}_rvd[lht|&[T~hiP2758Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'nyrbnQ|t`ef_4[){UxxjQfnrv,UZtboV9=86[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-dw|hdWz~jkhU=]/pg[vr`W`dxx"J30?47?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&mxucmPsucda^4Z&{nTyiPioqw+A:66?>0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/fqzjfYt|hmnW?S!re]ppbYnfz~$H1<1659V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(ozseoR}{afgX6X(ulVykRgasu-G868102_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ9Q#|k_rvd[lht|&[T~hi30?4;?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&mxucmPsucda^4Z&{nTyiPioqw+TYumn6:2;64U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[3_-vaYt|nUbb~z Q^pfc949>11^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv gr{mgZusinoP>P }d^qwcZoi{}%ZSkh<2<53>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%lt`l_rvbc`]5U'xoS~zh_hlpp*WXzlmT<;94U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[3_-vaYt|nUbb~z Q^pfcZ71?2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ9Q#|k_rvd[lht|&[T~hiP2758Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'nyrbnQ|t`ef_7[)zmUxxjQfnrv,UZtboV9=86[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-dw|hdWz~jkhU=]/uq[vr`W`dxx"J30?47?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&mxucmPsucda^4Z&~xTyiPioqw+A:66?>0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/fqzjfYt|hmnW?S!ws]ppbYnfz~$H1<1659V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(ozseoR}{afgX6X(pzVykRgasu-G868102_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ9Q#y}_rvd[lht|&[T~hi30?4;?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&mxucmPsucda^4Z&~xTyiPioqw+TYumn6:2;64U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[3_-swYt|nUbb~z Q^pfc949>11^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv gr{mgZusinoP>P xr^qwcZoi{}%ZSkh<2<53>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%lt`l_rvbc`]5U'}yS~zh_hlpp*WXzlmT<;94U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+bu~fjUxxlij[3_-swYt|nUbb~z Q^pfcZ71?2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!hsxl`[vrfolQ9Q#y}_rvd[lht|&[T~hiP2758Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'nyrbnQ|t`ef_7[){UxxjQfnrv,UZtboV9>?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{Uiec2?>418Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_ckm8482;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwYeag6928=4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySoga<2<66>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]amkY7=;1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXj`dT=8<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySoga_371?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^`jjZ5292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kV:>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{UloR?:1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^065>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dgZ51l2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kVkx~hiPl`qw_6[Xzln~ohQwos]25Zi1m2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kVkx~hiPl`qw_6[Xzln~ohQwos]25Zi6>m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp^5ZW{ooynkPxnp\57Yh>l1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp^5ZW{ooynkPxnp\57Yh9>90Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/sf\tkruWniTm~|jg^nbwq]4UVxnhxmj_ymq[456Wqe7<3?9d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^cpv`aXdhyW>SPrdfvg`Yg{U:?Ra:3:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQmio>3:05<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#z|Ppovq[goi484>?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{Uiec2=>418Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_ckm8682:2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwYeagU;9?5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTnd`P1408Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_ckm[7353\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZdnfV9>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloR>:1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^365>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%|~R~ats]dgZ4292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwY`kV9=o6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloRo|rde\hdusS:WT~hjzcd]{kwY1Wf xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevr\;TUyii{le^zlvZ0Xg8 xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevr\;TUyii{le^zlvZ1Xg?n0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/vp\tkruWniTm~|jg^nbwq]4UVxnhxmj_ymq[2Yh9>80Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/vp\tkruWniTm~|jg^nbwq]4UVxnhxmj_ymq[=7Xpf6;2<8l;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*quWyd~Ril_`qqabYkiz~P?PQ}eew`aZ~hzV2Tc8h4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-dvdu)zz~x#nabp1]`khv6WFXT:Ra90:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+btf{'xxx~!lolr3[fijx8UD^R8Po043?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(o{kx"}{s.aliu6Xkfg{=RA]_7]l636<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6)zm%l~l}!rrvp+fijx9Uhc`~>_NP\2Zi4>91^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"i}ar,qwqu(kfg{>n6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/fpbw+tt|z%ym`Qjmqvz[cdXa<20Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)oe:%~i!hr`q-vvrt'{kfShctx]j0c=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&xjaR|k_dl\m4303\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$~iQnup\tist95:5Sd`y7e9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*twf}x$Aljk_fa3*firf}Q8QRIAD^346ZiXimnT xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"j rqlwv*KflmUlo= lotlw_6[XOGNT=:!re-qtkru'ni;"naznuY0YZAILV;<>RaPaef\4ZIR\585:n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.psjqt(oj:%ob{atZ1^[BHCW8=9SbQnde]3[JSS4:4>86[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{_177?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkrX9<>0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)oe:%~i!}povq+be7&je~byQ=559V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*twf}x$kn>!cnwmpZ5202_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#~ats-dg5(dg|dSi?31?7;?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkrXl8692864U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-qtkru'ni;"naznu]g5959=>1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"|nup,cf6)kfexRj>_074?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkrXl8U99:5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.psjqt(oj:%ob{at^f2[60f3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x$kzo|.vqww*Kj}qUhc`~>_FLG[4>7WfUFYUQ7_n35f>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'n}j#y|tr-Nip~Xkfg{=RIAD^3;4ZiXE\RT4Ra>17`8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-sw)`hy%{~z|/Lov|Zehey;TKCJP192\kZKRPV2Tc<<9b:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!Bmtz\gjkw9VMEHR?70^m\IP^X0Ve:?;l4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-dsdu)z~x#@czx^aliu7XOGNT=5>Po^OV\Z>Xg8>=86[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/fubw+qt|z%hc`~>_FLG[4>7WfUFYUQ7_n7b?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt(o~kx"z}{s.pbiZ`rdeUmnRg:7:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!}al]eqijXa=l0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)oe:%{!}al]tvZciW`; xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| wqlwv*KflmUlen>!gb2-gjsi|R9VSJ@K_05;[jYflmU;SB[[_ymq87869>i0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)oe:%{!xpovq+HgclVmbo= hc1,`kphsS:WTKCJP16:\kZgclV:TCXZPxnp?7;76=h1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznu>2:0g<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6){%||cz}/fk`4+ad8'idycz32?7b?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt(yd~"ifc1,dg5(dg|d0>081:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|R9VSJ@K_05;[jYflmU;SB[[<0<45>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'~zex!hib2-cf6)kfexV=R_FLG[41?WfUjhiQ?_NWW878092_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#z~ats-dmf6)oj:%ob{atZ1^[BHCW8=3SbQnde]3[JSS4:4>56[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZ7212_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#z~ats-dmf6)oj:%ob{at^06=>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'~zex!hib2-cf6)kfexR=:d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|Vn:0=0:d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|Vn:0<0:d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|Vn:0?0:d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|Vn:0>0:c:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|Vn:S=;l;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.vp,suhsz&mbo= hc1,`kphsWm;T=8m4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-ttkru'nch<#il0/alqkrXl8U99n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjqYc9V9>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb5484>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54;4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54:4>o6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb5W8?h7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| wqlwv*ank9$lo= lotlw[a4X:1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"y}_qlwvZvk}z;7<3Qfnw7f?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt({U{by|Ppmwp5969W`d}=RGAV^2;5>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/ofi*aee'miaj hbleb*kabkj$iaj!hn`vjr`djo'djxdxj_cnh[hcjWnoe#{ocie,`wqt3l2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+kbe&~f|R|nm^pg[`h3m2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+kbe&~f|R|nm^pg[`h6;:1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+wgjW{nTic=<;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%ym`Qxr^gm10=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/sqwfim(EdsSjPrrv\evtboVMEHR?=_n]NQ]Y5Wf;:985Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'{ynae Mlw{[rtXzz~Tm~|jg^EM@Z75WfUFYUQ>_n327a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/sqwfim(ZZ^TJXBC_FGM0==R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/sqwfim(o{yh< hrrv\bpjk&{ySi?;8:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$~~zmlj-dvvrc9'myyQiumn-vvrXl;>37X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)u{}hgg"i}suf2*btt|Vl~`a }su]g71e<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.pppgjl'gm|~i||t/eqwq(ulVxxxR|jg=2=0f=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/sqwfim(fn}yh}{.fppp+tcW{ySkh<0<7g>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h rrvahn)io~xo~~z!gsqw*wbXzz~T~hi32?6a?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!}su`oo*h`{nyy hrrv-vaYu{}UyijQ?4c9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#}{bmi,jbqul{y"j||t/pg[wusW{olS<:m;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%yylck.ldswbu{}$l~~z!re]qwqYumnU98n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'{ynae nfuq`wus&nxxx#y}_sqw[wc`494?o6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(zz~i`f!agvpgvvr)o{y"z|Prrv\v`a;97>i7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)u{}hgg"`hwsfqwq(`zz~%{Q}su]qabY7RaPMTZ\6Zi382_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,vvredb%yhR||t^cpv`aXl8>;7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)u{}hgg"|k_sqw[duumnUo>>m4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&xxxobd/sf\vvrXkfgi?i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'{ynae re]qwqYdgdh:?i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'{ynae ws]qwqYf{{ol8h5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'{ynae ws]qwqYf{{olSJ@K_00\kZKRPV;Tc9>4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&xxxobd/vp\vvrXizxnkRj>419V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#}{bmi,swYu{}Ujkh_e00g>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h rrvahn)pzVxxxRm`mc1g?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!}su`oo*quW{ySnabb0a8QVCUW_CXEOBJ9:TJARYSQYO<7[G]TDZ5<>QBI5:1<384WDC?4;0<_LK7=384WDC?6;><_LK7?7>16:UFE95902]NN1>50?48S@D;8720[HLXE=2=<>QBJ^O7=364WD@TA94902]NNZK33?:8S@DPM5>546YJBVG?1;><_LH\I181a:UFFRC;?3:546YJBVG?3;d<_[C_IRHFRRV`?RTN\LUFCIKPAb9TVLRBWDEOIRLk;VPJP@YPAM^CSLj4WSKWAZQNL]BTN1978[ZY_DGGTSR?P_^W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+wvi|{%FmijPgb2-gjsi|R9VSJ@K_051[jYflmU;SB[[_ymq87869>i0SRQWLOO\[Z4XWV_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kVkx~hiPl`qw_6[Xzln~ohQwos]26Zi6?k1TSRVCNL]\[6YXW\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZadWhyyijQcarvX7XYummhiRv`r^5\k41c3VUTTA@B_^]7[ZYR8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr$Aua}_SF\TKRUS8WT^IQ_NUPX6XY_G[U:=RaPxn>3:41d3VUTTA@B_^]6[ZYR8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr$Aua}_VP\TKRUS8WT[_Q_NUPX6XY_G[U9SbQwo=2=5c=f{pdhSkgio^35|<77il1jt`l_gkekZ71p0&mekaPgdlfvdrhzV|2S>"tc^cg`Zh`kVidb~z}ahlw95*dWhz{`dmnthmm[qwmVkse~3?,b]btujnkh~bccQ{yqg\vdeo59&hSl~lhabpliiW}s{iR|kci?3(fYfxyfbolzfoo]w}ucXhic1="l_`rshlef|`eeSywe^uggm;7$jUj|}bfc`vjkkYsqyoT{mg=1.`[d~nWhno~Ryfduj>77*dWhrbSl|zsdp\slbs`4;'oRowi^ctqvcuW~coxe3>,b]b|lYe}zoySzgkti?2(fYfp`UomyoPwhfwl803$jUjtdQfd^uj`qn:<%iTmugPrtqfvZqnl}b6=!mPayk\p|vb59&hSlvf_vwpawYpam~c1<"l_`zjwZrci}kT{dj{h<47(fYfp`yTxik|t^uj`qn:<%iTmug|_ukg[roc|a73 nQnxhq\pncbxV}bhyf24-a\e}otW}y~oQxievk91*dWhrbRzzsdp\slbs`4>'oRowir]w}uc:8%iTobcboo]`hjel59&hSnaznu]w}uc:8%iThlzn_bmvjqYpam~c19"l_egeepjsWkgyh3Ml`lhWqtnfn&hSiga_vkgpm;>$jUoecQxievk[d~n{4;'oRjfn^uj`qnXzhic1><#c^fjjZqnl}bT~img=76/gZbnfV}bhyfPw`ak964+kVnbbRyfduj\saeo5?>'oRjfn^uj`qnX{ic1?"l_emvpZtt|V|j`0>#c^flqqYpam~c14"l_dlbficXzeeh0>#c^gmegjbW{yS~wac<3/gZcuzfxTecdjcukljZr~xl7; nQjrsmq[lhmmj~bccQ{yqg\e}ot59&hSh|}os]jjocd|`eeSywe^pbgm;7$jUn~a}_hliafrnggUu}kPreak95*dWlxycQfnkg`pliiW}s{iRynci?3(fYbz{eySd`eebvjkkYsqyoT{img=1.`[`tug{Ubbgklthmm[qwmV}yoe3?,b]eehokq4|b~ykw6-a\bpjkWofjk~Q}su]uei;6$jUcm~QnllmppZcjx}s64)eX`hyTmug|_unbwq;7$jUcm~Qnxhq\pwcflp7: nQgar]b|luX|z~yn0>#c^jbwZgazUy~k}=1.`[mgtWkkhgx~20-a\lduXlh~jSnaznu?3(fYoizUomyoPcnwmpvYfp`y6#c^jbwZbf|hUhcx`{s^ubgm;7$jUcm~Qkauc\gjsi|zU|hnf20-a\lduXlh~jSnaznuq\sweo59&hSeo|_hlw[fjl59&hSeo|_lcpp`tXkl7; nQgar]nahoia}Umeak20-a\lduXgoyjaax=1.`[mgtWyxdkRhcafq\e}ot59&hSeo|_qplcZ`kinyT~lmg=1.`[mgtWyxdkRhcafq\vaeo59&hSeo|_qplcZ`kinyT{lmg=1.`[mgtWyxdkRhcafq\saeo59&hSeo|_qplcZ`kinyT{mg=1.`[mgtW{nThlzn_bmvjq;7$jUcm~Q}d^ppp86+kVbjR||t<3/gZnf{Vygm{kPcd?3(fYoizUx~~z20-a\lduX}gnn~kb`w<2/gZnf{V|j`dj20-a\lduX{Ujof3?,b]kevYpzVnjxlQlotlw95*dWakxSz|Prrv>4)eXadzgi`kat`vjkkYsqyo6>!mPilroahci|h~bccQ{yqg\e}ot58&hSdcldofjqgsafdTxt~j_sc`l87+kVcf|akbeovbpliiW}s{iR|kci?2(fYneyfnah`{aukljZr~xlU|mnf21-a\mhvkmdoexlzfoo]w}ucXmic1<"l_hosh`kbf}keb`Ptxrf[rtd`4;'oRgaiu]tvZvi|{U}ma3?,b]jjqcunhinSywe<2/gZkbefxrSywe<3/gZknnVlb`hQaalg>FigicZ~yeci#c^opcjhX~hf6=!mPoqvjil|f|`eeS`ake<2/gZiqm{lgczQcov?3(fYwzlfdmiQcaugmg|;6$jU{~hb`ae]qabu:8%iT|gb_gkekZr~xl7>=?v<6-a\twi`Wlg{xtQ{hsgplZgt{lxS{oc=3.`[uthoVof|ywPtipfwmYf{zoyxRxnl^c{mv;68;8'oR~}of]fiur~W}byi~fParqfvqYqieUymnf21101(fYwzfmTi`~{y^vkv`uoWhyxizPv`n\vaeo58:9>!mPpsmd[`kw|pUdk|h^cpw`tsWkgSzolh<3367*dWyxdkRkbpu{\pmtb{aUj~k}t^tbhZqcka7:5545$jU{~biPelrw}ZrozlycSckhaug\rdj:;%iT|ah_dosp|Ysqyo6#c^rqkbYbey~rSywe^pggm;7$jU{~biPelrw}Zr~xlU|mnf20-a\twi`Wlg{xtQ{yqg\saeo59&hS}|`g^gntqX|pznSz|lh<2/gZvugnUmyabPtipfwmYf{zoyxRxnl<30(fYwzfmTjxbc_ujqavnXizyn~yQyam]b|lu:9988 nQrne\bpjkW}byi~fParqfvqYqieUymnf21100(fYwzfmTjxbc_ujqavnXizyn~yQyam]q`fn:9988 nQrne\bpjkW}byi~fParqfvqYqieU|mnf21100(fYwzfmTjxbc_ujqavnXizyn~yQyam]t`fn:9988 nQrne\bpjkW}byi~fParqfvqYqieU|~nf21100(fYwzfmTjxbc_ujqavnXflmjxhQyam?26)eXx{elSk{cl^vzt`;7$jU{~biPftno[qwmVkse~3?,b]svjaXn|fgSywe^pbgm;7$jU{~biPftno[qwmVxooe3?,b]svjaXn|fgSywe^ubgm;7$jU{~biPftno[qwmV}ooe3?,b]svjaXn|fgSywe^uqgm;7$jUymnfPtxrf95*dW{nThlzn_bmvjqYpam~c19"l_sf\``vs`4;= nQ}d^dqat;6$jUyhR~ats]tmaro5=&hSjlh^vzt`;7$jUyijQ|lhaf[hicmVkse~3?,b]qabYtd`inS`ake^pbgm;7$jUyijQ|lhaf[hicmVxooe3?,b]qabYtd`inS`ake^ubgm;7$jUyijQ|lhaf[hicmV}ooe3?,b]qabYtd`inS`ake^uqgm;7$jUxucmgrnlj~`tX{}kli0<#c^wm``tadf}T`by20-a\qvcXkfgfccQ`vdpehjq:8%iTy~kPcnonkkYrfmoyjaax=1.`[pubWmommxb{_rgwplh`{4:'oR{|e^flqqYu{}7: nQzsd]fgf;7$jU~hQjcb]b|lu:8%iTy~kPeba\vdeo59&hSx}j_da`[wbd`4:'oR{|e^g`gZqfka7; nQzsd]fgfYpljb60)eX{U{by|PwhfwlZgaz7:q3'jdh`_fgmawgsg{U}5R=#{|3;?gjlWdofSjka_fgmawodWjy~<84bmi\i`kXoldT|gb_vkgpm7e3kf`S`kb_fgm[utneV}ym}~jr^t5b>dkcVgnaRijn^vlt425mlj]nahYnfySob`cj37?gjlWdofSb{{ptv\fiidck1h`fQw_qlwvv1bnf5:5:6jfn=3=2>bnf585:6jfn=1=2>bnf5>5:6jfn=7=2>bnf5<5:6jfn=5=<>bnf521<384dhl?<;169gkpr;;7=0hb{{<5<4?air|5?5;6j`uu>5:2=cg|~7;374dnww8=<76>1ocxz38?78ahvsq8<0jdh`_fgmawgsg{Uym`hffn31?coagVmnbh|ntnp\pjv6;2lbjbQheogqeqiuW3T??h4fhdl[bcim{kcQy9^1/$]okagr+OB\J Fgmawgsg{*:8#9>7:djbjY`mgoymya}_w;\7Z~t|=1myab6;hlsqqYedb<0ahc`rx:8jbee}`fo>6``a:mvpussWkf`??5}alnlku]7U'xja#| v7]mklhn|'xja"]KP/UJ@@YWZ@G:4#|nmc9q`ZdnfViex84re]`hn37z|Peo:8swYkgnch=?5xr^qweqstWofjk~Qns|BCt17>3IJs>5o5F;695~U?9383>7?82;307023?3;2=4jtn3:3>4=i:1;1:6*=7d813d=z[>l1>5<516095652<==1=4?nf:Q227<5j=0;6<=<5564>4?6j;1X;k4=b583>454==><6<7>b49g6=g=83;1=v]71;0;6?70:3;8?8:;7;3:5dc<~];2j7>51;39<5}T08094?4>73827633<>0:5709;4:>2`|@;<:7)?n4;0;e>\1=38p>h4<1;'62b=:hl0(;6529a8 =6=:1h0(<7m:09'510e?78:18'523=:0l0b<9;:998m7db2900e?m>:188m7d>2900e?m=:188m7df2900c?on:18'523=:h30b<9;:198k7g?290/=:;52`;8j4132810c?o8:18'523=:h30b<9;:398k7g1290/=:;52`;8j4132:10c?o::18'523=:h30b<9;:598k7g3290/=:;52`;8j4132<10c?o<:18'523=:h30b<9;:798k7g5290/=:;52`;8j4132>10c?o>:18'523=:h30b<9;:998k7d62900c?om:188f71d290:6=4?{%3b0?77j2B9;o5G2738k46f2900qo099K62d<@;<:7)?>b;58m30=831b4?4?::k232<722e:;44?::a654=83>1<7>t$0c7>46?3A85;h:1>5<5<7>54;294~"6i=0:<55G26`8L7063-;:n794i7494?=n0;0;66g>7683>>i6?00;66sm23394?2=83:p(o1>3:17d6=:188m4102900c<96:188yg43?3:187>50z&2e1<68?1C>:l4H342?!76j390e;850;9j3`<722c3>7>5;n34=?6=3th9984?:583>5}#9h>1==64H35a?M4192B=?6*>6`82e6=n>?0;66g72;29?l70?3:17b?89;29?xd5=k0;694?:1y'5d2=9920D?9m;I055>N1;2.::l4>a29j23<722c3>7>5;h343?6=3f;<57>5;|`10d<72=0;6=u+1`6955><@;=i7E<91:J57>"6>h0:m>5+10`93>o1>3:17d6=:188m4102900c<96:188yg4203:1?7>50z&2e1<68<1C>:l4H342?M043-;=m7?n3:&25g<43`<=6=44i9094?=h9>31<75rb37f>5<4290;w)?n4;331>N5?k1C>;?4H718 40f28k87)?>b;18m30=831b4?4?::m23<<722wi>9750;694?6|,8k?6<>7;I04f>N5>81C:>5+17c95d5<,8;i6:5f6783>>o?:3:17d?87;29?j7013:17pl=5183>1<729q/=l:511:8L71e3A8==6*>1c84?l012900e5<50;9j521=831d=:750;9~f72a290?6=4?{%3b0?7702B9;o5G2738 47e2>1b:;4?::k;6?6=3`;<;7>5;n34=?6=3th98h4?:583>5}#9h>1==64H35a?M4192.:=o48;h45>5<31<75rb374>5<4290;w)?n4;331>N5?k1C>;?4H718 40f28k87)?>b;18m30=831b4?4?::m23<<722wi>8:50;694?6|,8k?6<>7;I04f>N5>81/=5<a5824==O:>h0D?8>;%32f?1>o6?>0;66a>7883>>{e:7E<8b:J124=O>:1/=;o51`18 47e2:1b:;4?::k;6?6=3f;<57>5;|`10=<72=0;6=u+1`6955><@;=i7E<91:J57>"6>h0:m>5+10`93>o1>3:17d6=:188m4102900c<96:188yg4383:1?h4=:33xL7063-;j87<7d:X51?b|990n6<<51e81g?762o0:?7?j:3f96c<4838;6p*94;08m4>b290/=:;519f8j4132910e<69:18'523=91?0b<9;:198m702290/=:;52768j4132910e>650;&230<4?2d:;94?;:k02?6=,8=>6>94n057>4=74803>h6?=0976g<4;29 4122:=0b<9;:298mg6=83.:;84nf:l231<732cji7>5$056>d`7581?>ofk3:1(<9::`d8j4132:10ell50;&2306lh4n057>0=748bb>h6?=0=76gn8;29 4122hl0b<9;:698md1=83.:;84nf:l23169k4n057>5=7487a>h6?=0:76g;c;29 4122=o0b<9;:398m1d=83.:;84;e:l231<432cim7>5$056>g?7582?>oe?3:1(<9::c;8j4132;10eo850;&2306o74n057>1=1<7*>748a=>h6?=0>76gm3;29 4122k30b<9;:798mg4=83.:;84m9:l231<032ci=7>5$056>g?>1>65`f183>!70=3l87c?84;18?jca290/=:;5f29m522=<21dih4?:%341?`43g;<87;4;ngg>5<#9>?1j>5a16692>=hmj0;6)?85;d0?k70<3=07bkm:18'523=n:1e=::58:9lb`<72-;<97hk;o340?6<3flh6=4+1679ba=i9>>1=65`fc83>!70=3lo7c?84;08?j`f290/=:;5fe9m522=;21dj44?:%341?`c3g;<87:4;nd;>5<#9>?1ji5a16691>=hn>0;6)?85;dg?k70<3<07bh9:18'523=nm1e=::57:9lb0<72-;<97hk;o340?><3f;3<7>5$056>41a3g;<87>4;n34a?6=,8=>6<9i;o340?7<3f;5$056>41a3g;<87<4;n34g?6=,8=>6<9i;o340?5<3f;247>5;n:0>5<:183!7f<3;;n6F=7c9K6374?=9h0:n7o5b;a9`?4?28l1q)?81;0a1>hc:3:0bh:50:&256<23-;:87;4$036>0=#98<196*>1686?!7603?0("6:90>7)?=1;78 4452<1/=?=55:&261<23-;997;4$005>0=#9;=196*>2986?!7513?0(<n4:;%31`?3<,88n685+13d91>"6;90>7)?<1;78 4552<1/=>=55:&271<23-;897;4$015>0=#9:=196*>3986?!7413?0(<=n:49'56d==2.:?n4:;%30`?3<,89n685+12d91>"6<90>7)?;1;78 4252<1/=9=55:&201<23-;?97;4$065>0=#9==196*>4986?!7313?0(<:n:49'51d==2.:8n4:;%37`?3<,8>n685+15d91>"6=90>7)?:1;78 4352<1/=8=55:&211<23-;>97;4$075>0=#9<=196*>5986?!7213?0(<;n:49'50d==2.:9n4;;%36`?2<,8?n6<8i;%34f?7>12.:4<474:l2<7<5<2d:4>4?;%3:1?7?<2.:5;4>859'5;1/=4j52718 4g72=1/=l?54:&133<5?<1/>:952678j71?291e>:75259'5<1=99>0e::50;9j32<722c:<=4?::k247<722c:4:4?::k2<=<722c:4o4?:I3:a>=n91i1<7F>9d98m4?62900e<7=:188m4?42900e<7;:188m6c=83.:;845$056>6b7581?>o4i3:1(<9::2f8j4132:10e9950;&230<4l2d:;94;;:k72?6=,8=>6>j4n057>0=7480`>h6?=0=76g;4;29 4122:n0b<9;:698m15=83.:;847>5$056>6b758b?>o383:1(<9::2f8j4132k10e>h50;&230<4l2d:;94l;:k0=?6=,8=>6>j4n057>a=7487=>h6?=0;7E?6e:9j0=<72-;<97:6;o340?7<@83n76g:2;29 4122<;0b<9;:19K5>1=6F>9d98m0>=83.:;84:7:l231<732c>:7>5$056>01;6`>7581?>o2<3:1(<9::458j4132:10e;?50;&230<2?2d:;94;;:k54?6=,8=>6894n057>0=74863>h6?=0=76g:e;29 4122<=0b<9;:698m0b=83.:;84:7:l231o7>5$056>01;6`>758b?>o2i3:1(<9::458j4132k10e8750;&230<2?2d:;94l;:k67?6=,8=>6894n057>a=748;f>h6?=0;76g7a;29 41221h0b<9;:098m=?=83.:;847b:l231<532c347>5$056>=d54i9594?"6?<03n6`>7587?>o?>3:1(<9::9`8j4132<10e4;50;&23065l4n057>2=748;f>h6?=0376g62;29 41221h0b<9;:898m<7=83.:;847b:l2315$056>=d758`?>o?m3:1(<9::9`8j4132m10e5j50;&23065l4n057>c=748:g>h6?=0;76g6b;29 41220i0b<9;:098m5$056>54i8:94?"6?<02o6`>7587?>o>?3:1(<9::8a8j4132<10el850;&230<>k2d:;949;:kb1?6=,8=>64m4n057>2=1<7*>748:g>h6?=0376gn3;29 41220i0b<9;:898md4=83.:;846c:l2315$056>758`?>o>n3:1(<9::8a8j4132m10e4k50;&230<>k2d:;94j;:k:2?6=,8=>64m4n057>c=748ag>h6?=0;76gmb;29 4122ki0b<9;:098mf6=83.:;84mf:l231<732cii7>5$056>g`7583?>id>3:1(<9::b58j4132810cn;50;&2306n94n057>6=748`3>h6?=0?76al2;29 4122j=0b<9;:498ka7=83.:;84l7:l231<132eo<7>5$056>f1758;?>idm3:1(<9::b58j4132010cnj50;&2306n94n057>g=748`3>h6?=0h76ala;29 4122j=0b<9;:e98kf?=83.:;84l7:l2315$056>f17583?>ic03:1(<9::e;8j4132810ci950;&2306i74n057>6=748g=>h6?=0?76ak4;29 4122m30b<9;:498k`5=83.:;84k9:l231<132en>7>5$056>a?758;?>ib83:1(<9::e;8j4132010cih50;&2306i74n057>g=748g=>h6?=0h76akc;29 4122m30b<9;:e98kad=83.:;84k9:l2315$056>a?7583?>ib=3:1(<9::d48j4132810cho50;&2306h74n057>4=5a16695>N61l10e?9>:18'523=:>90b<9;:39K55$056>7143g;<87=4H0;f?>o5>o0;6)?85;047>h6?=0?76g=6d83>!70=387586?>o5>m0;6)?85;047>h6?=0=76g=6b83>!70=387584?>{t:??1<7;t^346?84e?38=j63=b6812`=::k=1>;j4=3`4>70d3ty847>52z\0<>;5j>0=<6s|3783>7}Y;?16>o955g9~w63=838pR>;4=3`4>0c{tih0;6?uQa`9>6g1=1=1vl750;0xZd?<5;h<65k4}rc;>5<5sWk370vPn7:?1f250;1xZ4?7348i;7?61:?1f2<61;1v9h50;0xZ1`<5;h<6984}r6g>5<5sW>o70vP;c:?1f2<3<2wx8o4?:3y]0g=::k=18>5rs7d94?4|V?l01?l8:658yv`a2909wShi;<0a3?77:2wx;84?:3y]30=::k=1;95rs022>5<5sW;;=63=b68245=z{oo1<7{tnh0;6?uQf`9>6g1=l:1vk750;0xZc?<5;h<6i?4}rd;>5<5sWl370vPi7:?1f24290?9v3=7b824d=Y0:1U=464^0:3?[70m2T:;i5Q16a897d0282<70970;704?4348i;7?64:\ff>Xbk2Tnh6Pje:\fb>Xa82Tm=6Pi2:\e0>{zj;;j6=4::183!7f<3;;;6F=7c9K637<,8;i6>5f6783>>o1?3:17d9j:188m=4=831d=:750;9~f77>290>6=4?{%3b0?77?2B9;o5G2738 47e2:1b:;4?::k53?6=3`=n6=44i9094?=h9>31<75rb33;>5<2290;w)?n4;333>N5?k1C>;?4$03a>6=n>?0;66g97;29?l1b2900e5<50;9l52?=831vn??;:186>5<7s-;j87??7:J13g=O:?;0(5;h5f>5<5f6783>>o1?3:17d9j:188m=4=831d=:750;9~f775290>6=4?{%3b0?77?2B9;o5G2738 47e2:1b:;4?::k53?6=3`=n6=44i9094?=h9>31<75rb332>5<2290;w)?n4;33=>N5?k1C>;?4$03a>2=n>?0;66g97;29?l>52900e<98:188k41>2900qo<069K62d<@;<:7)?>b;18m30=831b::4?::k4a?6=3`296=44o05:>5<55;294~"6i=0:<:5G26`8L7063-;:n7=4i7494?=n>>0;66g8e;29?l>52900c<96:188yg44j3:197>50z&2e1<68>1C>:l4H342?!76j390e;850;9j22<722c5;h:1>5<a58242=O:>h0D?8>;%32f?5>o0m3:17d6=:188k41>2900qo<<6;291?6=8r.:m94>069K62d<@;<:7)?>b;18m30=831b::4?::k4a?6=3`296=44o05:>5<55;294~"6i=0:<:5G26`8L7063-;:n7=4i7494?=n>>0;66g8e;29?l>52900c<96:188yg44<3:197>50z&2e1<6801C>:l4H342?!76j3=0e;850;9j22<722c3>7>5;h343?6=3f;<57>5;|`16c<72<0;6=u+1`69551<@;=i7E<91:&25g<43`<=6=44i7594?=n?l0;66g72;29?j7013:17pl=2d83>0<729q/=l:51158L71e3A8==6*>1c80?l012900e;950;9j3`<722c3>7>5;n34=?6=3th9>i4?:483>5}#9h>1==74H35a?M4192.:=o48;h45>5<>o6?>0;66a>7883>>{e9kn1<7:50;2x 4g328:=7E<8b:J124=O>:1/=;o51`18 47e2:1b:;4?::k4a?6=3`296=44o05:>5<54;294~"6i=0:<;5G26`8L7063A<87)?9a;3b7>"69k087d89:188m2c=831b4?4?::m23<<722wi=oh50;694?6|,8k?6<>9;I04f>N5>81C:>5+17c95d5<,8;i6>5f6783>>o0m3:17d6=:188k41>2900qo?l0;290?6=8r.:m94>079K62d<@;<:7E8<;%35e?7f;2.:=o4<;h45>5<o1<75f8383>>i6?00;66sm1e794?2=83:p(5;h:1>5<a58243=O:>h0D?8>;I40?!71i3;j?6*>1c80?l012900e:k50;9j<7<722e:;44?::a5a1=83>1<7>t$0c7>4613A86=n>?0;66g8e;29?l>52900c<96:188yg7c03:187>50z&2e1<68?1C>:l4H342?M043-;=m7?n3:&25g<43`<=6=44i6g94?=n0;0;66a>7883>>{e9k?1<7:50;2x 4g328:=7E<8b:J124=O>:1/=;o51`18 47e2:1b:;4?::k4a?6=3`296=44o05:>5<54;294~"6i=0:<;5G26`8L7063A<87)?9a;3b7>"69k087d89:188m2c=831b4?4?::m23<<722wi=o950;694?6|,8k?6<>9;I04f>N5>81C:>5+17c95d5<,8;i6>5f6783>>o0m3:17d6=:188k41>2900qo?m8;290?6=8r.:m94>079K62d<@;<:7E8<;%35e?7f;2.:=o4<;h45>5<o1<75f8383>>i6?00;66sm1b;94?2=83:p(5;h:1>5<a58243=O:>h0D?8>;I40?!71i3;j?6*>1c80?l012900e:k50;9j<7<722e:;44?::a5fd=83>1<7>t$0c7>4613A86=n>?0;66g8e;29?l>52900c<96:188yg7dk3:187>50z&2e1<68?1C>:l4H342?M043-;=m7?n3:&25g<43`<=6=44i6g94?=n0;0;66a>7883>>{e9o81<7:50;2x 4g328:=7E<8b:J124=#98h1?6g96;29?l1b2900e5<50;9l52?=831vn:187>5<7s-;j87??6:J13g=O:?;0(5;h:1>5<a58243=O:>h0D?8>;%32f?5>o?:3:17b?89;29?xd6mo0;694?:1y'5d2=99<0D?9m;I055>"69k087d89:188m2c=831b4?4?::m23<<722wi=h>50;694?6|,8k?6<>9;I04f>N5>81/=31<75rb0fe>5<3290;w)?n4;332>N5?k1C>;?4$03a>6=n>?0;66g8e;29?l>52900c<96:188yg7cm3:187>50z&2e1<68?1C>:l4H342?!76j390e;850;9j3`<722c3>7>5;n34=?6=3th:hi4?:583>5}#9h>1==84H35a?M4192.:=o4<;h45>5<o1<75f8383>>i6?00;66sm1d694?2=83:p(o1>3:17d9j:188m=4=831d=:750;9~f4c4290?6=4?{%3b0?77>2B9;o5G2738 47e2:1b:;4?::k4a?6=3`296=44o05:>5<7>54;294~"6i=0:<;5G26`8L7063-;:n7=4i7494?=n?l0;66g72;29?j7013:17pl>e083>1<729q/=l:51148L71e3A8==6*>1c80?l012900e:k50;9j<7<722e:;44?::a5c0=83>1<7>t$0c7>4613A85;h5f>5<6=4;:183!7f<3;;:6F=7c9K637<,8;i6>5f6783>>o0m3:17d6=:188k41>2900qo?i4;290?6=8r.:m94>079K62d<@;<:7)?>b;18m30=831b;h4?::k;6?6=3f;<57>5;|`2b6<72=0;6=u+1`69550<@;=i7E<91:&25g<43`<=6=44i6g94?=n0;0;66a>7883>>{e:9>1<7=50;2x 4g328<>7E<8b:J124=#98h1=95f11f94?=n99o1<75`16294?=zj;886=4<:183!7f<3;=96F=7c9K637<,8;i6<:4i02g>5<5<7>54;294~"6i=0::;5G26`8L7063-;:n788;h33`?6=3`;;i7>5;h33b?6=3f;<<7>5;|`100<72:0;6=u+1`69533<@;=i7E<91:&25g<6<2c:t$0c7>4023A850;9~f73f29086=4?{%3b0?71=2B9;o5G2738 47e28>0e<>k:188m46b2900c<9?:188yg4183:1?7>50z&2e1<6><1C>:l4H342?!76j3;?7d??d;29?l77m3:17b?80;29?xd5810;694?:1y'5d2=9?<0D?9m;I055>"69k0986*>7781<0=n99n1<75f11g94?=n99l1<75`16294?=zj;:26=4::183!7f<3;=;6F=7c9K637<,8;i6?;4$055>7>23`;;h7>5;h33a?6=3`;;j7>5;h324?6=3f;<<7>5;|`142<72:0;6=u+1`69533<@;=i7E<91:&25g<5:2c:t$0c7>4023A850;9~f4c?290?6=4?{%3b0?71>2B9;o5G2738 47e2;h0(<99:3:5?l77l3:17d??e;29?l77n3:17b?80;29?xd6n10;6>4?:1y'5d2=9??0D?9m;I055>"69k09>6g>0e83>>o68l0;66a>7183>>{e9ok1<7:50;2x 4g328<=7E<8b:J124=#98h1>o5+16496=15<5<53;294~"6i=0::85G26`8L7063-;:n7<=;h33`?6=3`;;i7>5;n344?6=3th:m:4?:283>5}#9h>1=;;4H35a?M4192.:=o4=2:k24a<722c:N5>81/=k:188m46b2900c<9?:188yg7f>3:1?7>50z&2e1<6><1C>:l4H342?!76j3897)?86;0;<>o68m0;66g>0d83>>i6?90;66sm1d;94?3=83:p(<1>584i02g>5<5<5<55;294~"6i=0:::5G26`8L7063-;:n7<<;%342?4??2c:t$0c7>40>3A850;9~f4`a290?6=4?{%3b0?71>2B9;o5G2738 47e28i0e<>k:188m46b2900e<>i:188k4172900qo699K62d<@;<:7)?>b;04?l77l3:17d??e;29?l77n3:17d?>0;29?l7693:17b?80;29?xd59j0;6:4?:1y'5d2=9?30D?9m;I055>"69k09m6g>0e83>>o68l0;66g>0g83>>o6990;66g>1083>>o69;0;66a>7183>>{e:8o1<7950;2x 4g328<27E<8b:J124=#98h1:6g>0e83>>o68l0;66g>0g83>>o6990;66g>1083>>o69;0;66a>7183>>{e:8l1<7950;2x 4g328<27E<8b:J124=#98h1><5f11f94?=n99o1<75f11d94?=n98:1<75f10394?=n9881<75`16294?=zj;;o6=4::183!7f<3;=;6F=7c9K637<,8;i6<;4i02g>5<5<5<54;294~"6i=0::;5G26`8L7063-;:n7==;%342?4?<2c:?850;794?6|,8k?6<88;I04f>N5>81/=0e<>k:188m46b2900e<>i:188m4772900c<9?:188yg45<3:1?7>50z&2e1<6><1C>:l4H342?!76j3827d??d;29?l77m3:17b?80;29?xd6i10;6>4?:1y'5d2=9??0D?9m;I055>"69k0956*>7781<<=n99n1<75f11g94?=h9>:1<75rb0c6>5<4290;w)?n4;351>N5?k1C>;?4$03a>7?<,8==6?67;h33`?6=3`;;i7>5;n344?6=3th9<<4?:783>5}#9h>1=;64H35a?M4192.:=o4>029j55b=831b==k50;9j55`=831b=<>50;9j547=831d=:>50;9~f76129096=4?{%3b0?7192B9;o5G2738m46d2900c<9?:188yg44n3:1>7>50z&2e1<6>81C>:l4H342?l77k3:17b?80;29?xu5jl0;6:uQ2cg8972?28=<70<;9;343>;56<98;<073?1b3ty::i4?:06x971d28:j70<;8;:1?842;32970<:4;:1?843m32970<;f;:1?842832970<;0;3;a>;5<909:o522529fd=::=:1n5522529f2=::=:1n;522529f0=::=:1n9522529f6=::=:1n?522529f4=::=:1=;>4=363>43a3ty:h44?:2y>5ab=9>301??k:02f?846k3;:=6s|1ec94?5|58nn6<96;<02b?77n279=i4>0e9~w4be2908w0?kf;34=>;59l0:=<5220a955b53z?2a5<6?016>ec83>7}:9ll1=:74=322>46c3ty:in4?:2y>5c6=9>3010d9~w4cb2908w0?i2;34=>;6nl0:==52212955`7>52z?167<6?01U>o?4}r077?6=0r79=<497:?157<1?279=>497:?151<1?279=5497:?15<<1?279=l497:?141<6?91v?>=:187847:3;<563=05824`=:9ol1==j4=361>46a3ty9<>4?:3y>655=9>30R?om;|q1e4<72;qU>l?4=363>c37>52z\1e7=::=:1j;5rs3c0>5<5sW8j?63=418e3>{t:h>1<77}Y:h?01?:?:g;8yv4f>3:1>vP=a79>616=nh1v?o8:181[4f?2798=4ib:p6d>=838pR?o7;<074?`d3ty9ml4?:3y]6dg<5;>;6kk4}r07=?6=<4>769>674=9>=01?:n:908972>28=27p}=4683>7}::==1=:74=33e>46c3ty98i4?:`y>654=9>=01?><:054?84283;<563=108232=::881;h5220193`=::8>1;h5220:93`=::831;h5220c93`=z{;>h6=4>1z?10c<6?016=h?57d9>5`4=?l16=h=57d9>5`2=?l16=hh57d9>5c6=?l16=k?57d9>5c4=?l16=n757d9>5fg=?l16=nl57d9>5fe=?l16=o;57d9>5g0=?l16=o957d9>5g>=?l1v?;=:18a842<3;<563=2e8232=::;o1;h5223d93`=:::>1=:94=316>2c<5;9=6:k4=314>2c<5;9i6:k4=31`>2c<5;9o6:k4}r065?6=98q6>8=516;894`42>o01o01o01o01o01o01o01o01675=99n01??j:02e?xu5jh0;69uQ2cc8976328:o70<;2;33`>;5890:5<5s48?<7??1:?107<6?91v?l6:1815~X5j016>=<5679>655=>?16>895679>61c=>?16>9h5679>606=>?16>865679>603=>?16>9>5749>647=>?16><<5679>645=>?16><:5679>64>=>?16><75679>64g=>?16=h?5679>5`4=>?16=h=5679>5`2=>?16=hh5679>5c6=>?16=k?5679>5c4=>?16=n75679>5fg=>?16=nl5679>5fe=>?16=o;5679>5g0=>?16=o95679>5g>=>?1v?:;:18g843838=963=418eb>;5:m0=;63=2d853>;5:o0=;63=35853>;5;<0=;63=37853>;5;>0=;63=3c853>;5;j0=;63=3e853>;5::0:;=5rs3a2>5<5?rT9o<52233923=::;81:;5225:923=::1:;5225;923=::1:;52227923=:::<1:;52225923=:::h1:;5222a923=:::n1:;521g1923=:9o>1:;521g7923=:9o<1:;521ef923=:9mo1:;521ed923=:9l:1:;521e7923=:9m<1:;521e5923=:9m21:;521cf923=:9ko1:;521cd923=:9j:1:;5rs336>5<2s48?<7:l;<020e9>5cc=99n0146c34;j:7??e:?2b`<6981v??8:18684383>m70<>a;34=>;6m=03>63>a6824`=:9oo1==h4}r07f?6=;r798h4>789>616=90:01?:=:02f?xu51>0;6?uQ285897272h=0q~<68;296~X51116>9>5a99~w7?>2909wS<69:?1054o50;0xZ7?f348?<7on;|q1=g<72;qU>4l4=363>dd52z\1=f=::=:1mn5rs3;g>5<5sW82h63=418b`>{t:0o1<77}Y:h:01?:?:c28yv4403:18v3=41801>;5;k0:;4521`;955b<58k36<>j;|q17<<72=q6>9>5379>66e=9>301;6>64=31g>41>34;m:76=;<3be?77m2wx>=o50;5x977628=270;5800:6<>k;<032?77k279<<4>0d9~w76e290=w0<>2;34=>;59103>63=09824c=::931==h4=324>46c34;mj7??f:p65e=83?p1??<:05:?846132970;5800:==52212954754z?151<6?016>65?=99n01?>?:033?xu6nm0;6>u22109<7=::9914?52213952656z?16a<6?016>>;5839>64b=99l01?<::02f?845>3;;j63=25824a=z{;836=4:{<01a?701279?;472:?15`<69916>?;511f8974128:n7p}=2883>1}::;l1=:74=314>=4<5;;n6<>k;<012?77l2wx>>>50;:x975328=270<=5;33b>;5:?0:==52236955c<58k36<>k;<00b?77k279=n4>139>64b=98:0q~<<1;297~;5;<0:;45222`9<7=::8l1==k4}r006?6=;r79?;4>789>66e=0;16>53z?164<6?016>?=511g8977b28;97p}=2183>6}::;;14?522309<7=::8l1=:>4}r062?6=:r7998472:?100<6?91v?;6:187843m3;<;63=4g8232=::<:1=:94=37b>4173ty99n4?:3y>60d=0;16>9851628yv42n3:1?v3=528232=::<>1=:94=343>4173ty9954?:3y>60>=9>301?;n:02f?xu5=>0;6>u224:9<7=::<=1=:74=366>46b3ty9984?:5y>601=0;16>8;516;8972228:o70<:a;33`>{t:41>348=<7??e:p60b=839p1?;j:908973c28=270<;6;33a>{t:=4<5;?i6<96;<072?77l279:=4>0e9~w72f2909w0<;7;:1?843i3;<56s|25:94?4|5;>265<4=36;>41>3ty9644=0;16>=951628yv47n3:1>v3=128;6>;5810:;=5rs333>5<5s48:876=;<03=?7082wx>?o50;0x974c21801?<;:053?xu5:k0;6?u223g9<7=::;?1=:>4}r01g?6=:r79>k472:?163<6?91v{t9o=1<7=4<58l36<9?;|q2a2<72;q6=ik5839>5`>=9>:0q~?j5;296~;6lo03>63>e78235=z{8ki6=4={<3f5?>534;j97?80:p5de=838p1ae83>7}:9l914?521`5952652z?2b6719~w4ga2909w0?i4;:1?87f13;<<6s|1c294?4|58l>65<4=0cb>4173ty:jn4?:3y>5``=0;16=kl51628yv7bi3:1>v3>de8;6>;6m00:;=5rs0`:>5<5s4;ih76=;<3f5?7012wx=oo50;0x94db21801fc824a=z{8i=6=4<{<3`e?70127:jl4>0e9>5cd=99o0q~?l7;290~;6kk0:;4521g:955b<58lj6<>j;<3ef?77n2wx=n650;7x94`521801f`824c=:9oh1=<>4}r3`5?6=:r7:o4472:?2f0<6?01v{t9j91<7=4<58h<6<96;|q2g1<72;q6=nm5839>5g>=9>30q~?m1;296~;6j<03>63>f2823<=z{8h96=4={<3a2?>534;m87?89:p5g5=838p1b583>7}:9k214?521g4952?52z?2`0<6?016=h7511f8yv7c:3:1?v3>d7823<=:9l21==h4=0g:>46b3ty:h>4?:5y>5a1=9>301e8824c=z{8n?6=4:{<3f4?>534;o47?89:?2a3<68l16=h6511g894c>28;;7p}>ce83>7}:9m?14?521cf952?52z?2`3789~w4ea2909w0?k7;:1?87en3;<56s|1e294?4|58n365<4=0a3>41>3ty9?h4?:2y>616=;=16>>:5839>66`=9>:0q~;58?0:;=5rs0df>5<5s4;mi7?80:?144<6981v119~w77e2909w0<>c;344>;59o0:=?5rs33`>5<5s48:h7?80:?15c<6991v??k:181846m3;<<63=1g8254=zug9:m7>51zJ124=zf:;i6=4>{I055>{i;8i1<7?tH342?xh49m0;6;|l064<728qC>;?4}o116?6=9rB9:<5rn200>5<6sA8==6sa33694?7|@;<:7p`<2483>4}O:?;0qc==6;295~N5>81vb><8:182M4192we??650;0xL7063td8>44?:3yK63752zJ124=zf:8i6=4={I055>{i;;i1<7vF=609~j64a2909wE<91:m766=838pD?8>;|l074<728qC>;?4}o106?6=9rB9:<5rn210>5<6sA8==6sa32694?7|@;<:7p`<3483>4}O:?;0qc=<6;295~N5>81vb>=8:182M4192we?>650;3xL7063td8?44?:3yK63752zJ124=zf:9i6=4<{I055>{i;:i1<7vF=609~j65a2909wE<91:m716=838pD?8>;|l004<72;qC>;?4}o176?6=:rB9:<5rn260>5<5sA8==6sa35694?4|@;<:7p`<4483>7}O:?;0qc=;6;296~N5>81vb>:8:181M4192we?9650;0xL7063td8844?:3yK63752zJ124=zf:>i6=4={I055>{i;=i1<7;|l014<728qC>;?4}o166?6=9rB9:<5rn270>5<6sA8==6sa34694?7|@;<:7p`<5483>4}O:?;0qc=:6;295~N5>81vb>;8:182M4192we?8650;3xL7063td8944?:0yK637m7>51zJ124=zf:?i6=4>{I055>{i;;|l024<728qC>;?4}o156?6=9rB9:<5rn240>5<6sA8==6sa37694?7|@;<:7p`<6483>4}O:?;0qc=96;295~N5>81vb>88:182M4192we?;650;3xL7063td8:44?:0yK63751zJ124=zf:{I055>{i;?i1<7?tH342?xh4>m0;6;|l034<728qC>;?4}o146?6=9rB9:<5rn250>5<6sA8==6sa36694?7|@;<:7p`<7483>4}O:?;0qc=86;295~N5>81vb>98:182M4192we?:650;3xL7063td8;44?:0yK63751zJ124=zf:=i6=4>{I055>{i;>i1<7?tH342?xh4?m0;6;|l0<4<728qC>;?4}o1;6?6=9rB9:<5rn2:0>5<6sA8==6sa39694?7|@;<:7p`<8483>4}O:?;0qc=76;295~N5>81vb>68:182M4192we?5650;3xL7063td8444?:0yK63751zJ124=zf:2i6=4>{I055>{i;1i1<7?tH342?xh40m0;6a290:wE<91:m7<6=83;pD?8>;|l0=4<72;qC>;?4}o1:6?6=:rB9:<5rn2;0>5<6sA8==6sa38694?7|@;<:7p`<9483>4}O:?;0qc=66;295~N5>81vb>78:182M4192we?4650;3xL7063td::>4?:0yK637 0, + c_application_type_axis => 0, + c_application_type_rach => 0, + c_application_type_rdch => 0, + c_application_type_wach => 0, + c_application_type_wdch => 0, + c_application_type_wrch => 0, + c_axi_addr_width => 32, + c_axi_aruser_width => 1, + c_axi_awuser_width => 1, + c_axi_buser_width => 1, + c_axi_data_width => 64, + c_axi_id_width => 4, + c_axi_ruser_width => 1, + c_axi_type => 0, + c_axi_wuser_width => 1, + c_axis_tdata_width => 64, + c_axis_tdest_width => 4, + c_axis_tid_width => 8, + c_axis_tkeep_width => 4, + c_axis_tstrb_width => 4, + c_axis_tuser_width => 4, + c_axis_type => 0, + c_common_clock => 0, + c_count_type => 0, + c_data_count_width => 4, + c_default_value => "BlankString", + c_din_width => 9, + c_din_width_axis => 1, + c_din_width_rach => 32, + c_din_width_rdch => 64, + c_din_width_wach => 32, + c_din_width_wdch => 64, + c_din_width_wrch => 2, + c_dout_rst_val => "0", + c_dout_width => 9, + c_enable_rlocs => 0, + c_enable_rst_sync => 1, + c_error_injection_type => 0, + c_error_injection_type_axis => 0, + c_error_injection_type_rach => 0, + c_error_injection_type_rdch => 0, + c_error_injection_type_wach => 0, + c_error_injection_type_wdch => 0, + c_error_injection_type_wrch => 0, + c_family => "virtex6", + c_full_flags_rst_val => 1, + c_has_almost_empty => 0, + c_has_almost_full => 0, + c_has_axi_aruser => 0, + c_has_axi_awuser => 0, + c_has_axi_buser => 0, + c_has_axi_rd_channel => 0, + c_has_axi_ruser => 0, + c_has_axi_wr_channel => 0, + c_has_axi_wuser => 0, + c_has_axis_tdata => 0, + c_has_axis_tdest => 0, + c_has_axis_tid => 0, + c_has_axis_tkeep => 0, + c_has_axis_tlast => 0, + c_has_axis_tready => 1, + c_has_axis_tstrb => 0, + c_has_axis_tuser => 0, + c_has_backup => 0, + c_has_data_count => 0, + c_has_data_counts_axis => 0, + c_has_data_counts_rach => 0, + c_has_data_counts_rdch => 0, + c_has_data_counts_wach => 0, + c_has_data_counts_wdch => 0, + c_has_data_counts_wrch => 0, + c_has_int_clk => 0, + c_has_master_ce => 0, + c_has_meminit_file => 0, + c_has_overflow => 0, + c_has_prog_flags_axis => 0, + c_has_prog_flags_rach => 0, + c_has_prog_flags_rdch => 0, + c_has_prog_flags_wach => 0, + c_has_prog_flags_wdch => 0, + c_has_prog_flags_wrch => 0, + c_has_rd_data_count => 0, + c_has_rd_rst => 0, + c_has_rst => 1, + c_has_slave_ce => 0, + c_has_srst => 0, + c_has_underflow => 0, + c_has_valid => 0, + c_has_wr_ack => 0, + c_has_wr_data_count => 0, + c_has_wr_rst => 0, + c_implementation_type => 2, + c_implementation_type_axis => 1, + c_implementation_type_rach => 1, + c_implementation_type_rdch => 1, + c_implementation_type_wach => 1, + c_implementation_type_wdch => 1, + c_implementation_type_wrch => 1, + c_init_wr_pntr_val => 0, + c_interface_type => 0, + c_memory_type => 1, + c_mif_file_name => "BlankString", + c_msgon_val => 1, + c_optimization_mode => 0, + c_overflow_low => 0, + c_preload_latency => 1, + c_preload_regs => 0, + c_prim_fifo_type => "512x36", + c_prog_empty_thresh_assert_val => 2, + c_prog_empty_thresh_assert_val_axis => 1022, + c_prog_empty_thresh_assert_val_rach => 1022, + c_prog_empty_thresh_assert_val_rdch => 1022, + c_prog_empty_thresh_assert_val_wach => 1022, + c_prog_empty_thresh_assert_val_wdch => 1022, + c_prog_empty_thresh_assert_val_wrch => 1022, + c_prog_empty_thresh_negate_val => 3, + c_prog_empty_type => 0, + c_prog_empty_type_axis => 0, + c_prog_empty_type_rach => 0, + c_prog_empty_type_rdch => 0, + c_prog_empty_type_wach => 0, + c_prog_empty_type_wdch => 0, + c_prog_empty_type_wrch => 0, + c_prog_full_thresh_assert_val => 13, + c_prog_full_thresh_assert_val_axis => 1023, + c_prog_full_thresh_assert_val_rach => 1023, + c_prog_full_thresh_assert_val_rdch => 1023, + c_prog_full_thresh_assert_val_wach => 1023, + c_prog_full_thresh_assert_val_wdch => 1023, + c_prog_full_thresh_assert_val_wrch => 1023, + c_prog_full_thresh_negate_val => 12, + c_prog_full_type => 0, + c_prog_full_type_axis => 0, + c_prog_full_type_rach => 0, + c_prog_full_type_rdch => 0, + c_prog_full_type_wach => 0, + c_prog_full_type_wdch => 0, + c_prog_full_type_wrch => 0, + c_rach_type => 0, + c_rd_data_count_width => 4, + c_rd_depth => 16, + c_rd_freq => 1, + c_rd_pntr_width => 4, + c_rdch_type => 0, + c_reg_slice_mode_axis => 0, + c_reg_slice_mode_rach => 0, + c_reg_slice_mode_rdch => 0, + c_reg_slice_mode_wach => 0, + c_reg_slice_mode_wdch => 0, + c_reg_slice_mode_wrch => 0, + c_synchronizer_stage => 2, + c_underflow_low => 0, + c_use_common_overflow => 0, + c_use_common_underflow => 0, + c_use_default_settings => 0, + c_use_dout_rst => 1, + c_use_ecc => 0, + c_use_ecc_axis => 0, + c_use_ecc_rach => 0, + c_use_ecc_rdch => 0, + c_use_ecc_wach => 0, + c_use_ecc_wdch => 0, + c_use_ecc_wrch => 0, + c_use_embedded_reg => 0, + c_use_fifo16_flags => 0, + c_use_fwft_data_count => 0, + c_valid_low => 0, + c_wach_type => 0, + c_wdch_type => 0, + c_wr_ack_low => 0, + c_wr_data_count_width => 4, + c_wr_depth => 16, + c_wr_depth_axis => 1024, + c_wr_depth_rach => 16, + c_wr_depth_rdch => 1024, + c_wr_depth_wach => 16, + c_wr_depth_wdch => 1024, + c_wr_depth_wrch => 16, + c_wr_freq => 1, + c_wr_pntr_width => 4, + c_wr_pntr_width_axis => 10, + c_wr_pntr_width_rach => 4, + c_wr_pntr_width_rdch => 10, + c_wr_pntr_width_wach => 4, + c_wr_pntr_width_wdch => 10, + c_wr_pntr_width_wrch => 4, + c_wr_response_latency => 1, + c_wrch_type => 0 + ); +-- synthesis translate_on +BEGIN +-- synthesis translate_off +U0 : wrapped_async_fifo_16x9 + PORT MAP ( + rst => rst, + wr_clk => wr_clk, + rd_clk => rd_clk, + din => din, + wr_en => wr_en, + rd_en => rd_en, + dout => dout, + full => full, + empty => empty + ); +-- synthesis translate_on + +END async_fifo_16x9_a; diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.vho b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.vho new file mode 100644 index 0000000..fa03d03 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.vho @@ -0,0 +1,95 @@ +-------------------------------------------------------------------------------- +-- This file is owned and controlled by Xilinx and must be used solely -- +-- for design, simulation, implementation and creation of design files -- +-- limited to Xilinx devices or technologies. Use with non-Xilinx -- +-- devices or technologies is expressly prohibited and immediately -- +-- terminates your license. -- +-- -- +-- XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY -- +-- FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY -- +-- PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE -- +-- IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS -- +-- MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY -- +-- CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY -- +-- RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY -- +-- DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE -- +-- IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR -- +-- REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF -- +-- INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -- +-- PARTICULAR PURPOSE. -- +-- -- +-- Xilinx products are not intended for use in life support appliances, -- +-- devices, or systems. Use in such applications are expressly -- +-- prohibited. -- +-- -- +-- (c) Copyright 1995-2014 Xilinx, Inc. -- +-- All rights reserved. -- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- Generated from core with identifier: xilinx.com:ip:fifo_generator:9.3 -- +-- -- +-- Rev 1. The FIFO Generator is a parameterizable first-in/first-out -- +-- memory queue generator. Use it to generate resource and performance -- +-- optimized FIFOs with common or independent read/write clock domains, -- +-- and optional fixed or programmable full and empty flags and -- +-- handshaking signals. Choose from a selection of memory resource -- +-- types for implementation. Optional Hamming code based error -- +-- detection and correction as well as error injection capability for -- +-- system test help to insure data integrity. FIFO width and depth are -- +-- parameterizable, and for native interface FIFOs, asymmetric read and -- +-- write port widths are also supported. -- +-------------------------------------------------------------------------------- + +-- Interfaces: +-- AXI4Stream_MASTER_M_AXIS +-- AXI4Stream_SLAVE_S_AXIS +-- AXI4_MASTER_M_AXI +-- AXI4_SLAVE_S_AXI +-- AXI4Lite_MASTER_M_AXI +-- AXI4Lite_SLAVE_S_AXI +-- master_aclk +-- slave_aclk +-- slave_aresetn + +-- The following code must appear in the VHDL architecture header: + +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +COMPONENT async_fifo_16x9 + PORT ( + rst : IN STD_LOGIC; + wr_clk : IN STD_LOGIC; + rd_clk : IN STD_LOGIC; + din : IN STD_LOGIC_VECTOR(8 DOWNTO 0); + wr_en : IN STD_LOGIC; + rd_en : IN STD_LOGIC; + dout : OUT STD_LOGIC_VECTOR(8 DOWNTO 0); + full : OUT STD_LOGIC; + empty : OUT STD_LOGIC + ); +END COMPONENT; +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ + +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. + +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : async_fifo_16x9 + PORT MAP ( + rst => rst, + wr_clk => wr_clk, + rd_clk => rd_clk, + din => din, + wr_en => wr_en, + rd_en => rd_en, + dout => dout, + full => full, + empty => empty + ); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ + +-- You must compile the wrapper file async_fifo_16x9.vhd when simulating +-- the core, async_fifo_16x9. When compiling the wrapper file, be sure to +-- reference the XilinxCoreLib VHDL simulation library. For detailed +-- instructions, please refer to the "CORE Generator Help". + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xco b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xco new file mode 100644 index 0000000..c361245 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xco @@ -0,0 +1,213 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Thu Nov 27 10:27:02 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:fifo_generator:9.3 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT FIFO_Generator xilinx.com:ip:fifo_generator:9.3 +# END Select +# BEGIN Parameters +CSET add_ngc_constraint_axi=false +CSET almost_empty_flag=false +CSET almost_full_flag=false +CSET aruser_width=1 +CSET awuser_width=1 +CSET axi_address_width=32 +CSET axi_data_width=64 +CSET axi_type=AXI4_Stream +CSET axis_type=FIFO +CSET buser_width=1 +CSET clock_enable_type=Slave_Interface_Clock_Enable +CSET clock_type_axi=Common_Clock +CSET component_name=async_fifo_16x9 +CSET data_count=false +CSET data_count_width=4 +CSET disable_timing_violations=false +CSET disable_timing_violations_axi=false +CSET dout_reset_value=0 +CSET empty_threshold_assert_value=2 +CSET empty_threshold_assert_value_axis=1022 +CSET empty_threshold_assert_value_rach=1022 +CSET empty_threshold_assert_value_rdch=1022 +CSET empty_threshold_assert_value_wach=1022 +CSET empty_threshold_assert_value_wdch=1022 +CSET empty_threshold_assert_value_wrch=1022 +CSET empty_threshold_negate_value=3 +CSET enable_aruser=false +CSET enable_awuser=false +CSET enable_buser=false +CSET enable_common_overflow=false +CSET enable_common_underflow=false +CSET enable_data_counts_axis=false +CSET enable_data_counts_rach=false +CSET enable_data_counts_rdch=false +CSET enable_data_counts_wach=false +CSET enable_data_counts_wdch=false +CSET enable_data_counts_wrch=false +CSET enable_ecc=false +CSET enable_ecc_axis=false +CSET enable_ecc_rach=false +CSET enable_ecc_rdch=false +CSET enable_ecc_wach=false +CSET enable_ecc_wdch=false +CSET enable_ecc_wrch=false +CSET enable_read_channel=false +CSET enable_read_pointer_increment_by2=false +CSET enable_reset_synchronization=true +CSET enable_ruser=false +CSET enable_tdata=false +CSET enable_tdest=false +CSET enable_tid=false +CSET enable_tkeep=false +CSET enable_tlast=false +CSET enable_tready=true +CSET enable_tstrobe=false +CSET enable_tuser=false +CSET enable_write_channel=false +CSET enable_wuser=false +CSET fifo_application_type_axis=Data_FIFO +CSET fifo_application_type_rach=Data_FIFO +CSET fifo_application_type_rdch=Data_FIFO +CSET fifo_application_type_wach=Data_FIFO +CSET fifo_application_type_wdch=Data_FIFO +CSET fifo_application_type_wrch=Data_FIFO +CSET fifo_implementation=Independent_Clocks_Block_RAM +CSET fifo_implementation_axis=Common_Clock_Block_RAM +CSET fifo_implementation_rach=Common_Clock_Block_RAM +CSET fifo_implementation_rdch=Common_Clock_Block_RAM +CSET fifo_implementation_wach=Common_Clock_Block_RAM +CSET fifo_implementation_wdch=Common_Clock_Block_RAM +CSET fifo_implementation_wrch=Common_Clock_Block_RAM +CSET full_flags_reset_value=1 +CSET full_threshold_assert_value=13 +CSET full_threshold_assert_value_axis=1023 +CSET full_threshold_assert_value_rach=1023 +CSET full_threshold_assert_value_rdch=1023 +CSET full_threshold_assert_value_wach=1023 +CSET full_threshold_assert_value_wdch=1023 +CSET full_threshold_assert_value_wrch=1023 +CSET full_threshold_negate_value=12 +CSET id_width=4 +CSET inject_dbit_error=false +CSET inject_dbit_error_axis=false +CSET inject_dbit_error_rach=false +CSET inject_dbit_error_rdch=false +CSET inject_dbit_error_wach=false +CSET inject_dbit_error_wdch=false +CSET inject_dbit_error_wrch=false +CSET inject_sbit_error=false +CSET inject_sbit_error_axis=false +CSET inject_sbit_error_rach=false +CSET inject_sbit_error_rdch=false +CSET inject_sbit_error_wach=false +CSET inject_sbit_error_wdch=false +CSET inject_sbit_error_wrch=false +CSET input_data_width=9 +CSET input_depth=16 +CSET input_depth_axis=1024 +CSET input_depth_rach=16 +CSET input_depth_rdch=1024 +CSET input_depth_wach=16 +CSET input_depth_wdch=1024 +CSET input_depth_wrch=16 +CSET interface_type=Native +CSET output_data_width=9 +CSET output_depth=16 +CSET overflow_flag=false +CSET overflow_flag_axi=false +CSET overflow_sense=Active_High +CSET overflow_sense_axi=Active_High +CSET performance_options=Standard_FIFO +CSET programmable_empty_type=No_Programmable_Empty_Threshold +CSET programmable_empty_type_axis=No_Programmable_Empty_Threshold +CSET programmable_empty_type_rach=No_Programmable_Empty_Threshold +CSET programmable_empty_type_rdch=No_Programmable_Empty_Threshold +CSET programmable_empty_type_wach=No_Programmable_Empty_Threshold +CSET programmable_empty_type_wdch=No_Programmable_Empty_Threshold +CSET programmable_empty_type_wrch=No_Programmable_Empty_Threshold +CSET programmable_full_type=No_Programmable_Full_Threshold +CSET programmable_full_type_axis=No_Programmable_Full_Threshold +CSET programmable_full_type_rach=No_Programmable_Full_Threshold +CSET programmable_full_type_rdch=No_Programmable_Full_Threshold +CSET programmable_full_type_wach=No_Programmable_Full_Threshold +CSET programmable_full_type_wdch=No_Programmable_Full_Threshold +CSET programmable_full_type_wrch=No_Programmable_Full_Threshold +CSET rach_type=FIFO +CSET rdch_type=FIFO +CSET read_clock_frequency=1 +CSET read_data_count=false +CSET read_data_count_width=4 +CSET register_slice_mode_axis=Fully_Registered +CSET register_slice_mode_rach=Fully_Registered +CSET register_slice_mode_rdch=Fully_Registered +CSET register_slice_mode_wach=Fully_Registered +CSET register_slice_mode_wdch=Fully_Registered +CSET register_slice_mode_wrch=Fully_Registered +CSET reset_pin=true +CSET reset_type=Asynchronous_Reset +CSET ruser_width=1 +CSET synchronization_stages=2 +CSET synchronization_stages_axi=2 +CSET tdata_width=64 +CSET tdest_width=4 +CSET tid_width=8 +CSET tkeep_width=4 +CSET tstrb_width=4 +CSET tuser_width=4 +CSET underflow_flag=false +CSET underflow_flag_axi=false +CSET underflow_sense=Active_High +CSET underflow_sense_axi=Active_High +CSET use_clock_enable=false +CSET use_dout_reset=true +CSET use_embedded_registers=false +CSET use_extra_logic=false +CSET valid_flag=false +CSET valid_sense=Active_High +CSET wach_type=FIFO +CSET wdch_type=FIFO +CSET wrch_type=FIFO +CSET write_acknowledge_flag=false +CSET write_acknowledge_sense=Active_High +CSET write_clock_frequency=1 +CSET write_data_count=false +CSET write_data_count_width=4 +CSET wuser_width=1 +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-11-19T12:39:56Z +# END Extra information +GENERATE +# CRC: e70f47ef diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xise b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xise new file mode 100644 index 0000000..466e213 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_16x9.xise @@ -0,0 +1,74 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.asy b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.asy new file mode 100644 index 0000000..bb91418 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.asy @@ -0,0 +1,41 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 async_fifo_512x32 +RECTANGLE Normal 32 32 800 3680 +LINE Normal 0 112 32 112 +PIN 0 112 LEFT 36 +PINATTR PinName rst +PINATTR Polarity IN +LINE Normal 0 208 32 208 +PIN 0 208 LEFT 36 +PINATTR PinName wr_clk +PINATTR Polarity IN +LINE Wide 0 240 32 240 +PIN 0 240 LEFT 36 +PINATTR PinName din[31:0] +PINATTR Polarity IN +LINE Normal 0 272 32 272 +PIN 0 272 LEFT 36 +PINATTR PinName wr_en +PINATTR Polarity IN +LINE Normal 0 464 32 464 +PIN 0 464 LEFT 36 +PINATTR PinName full +PINATTR Polarity OUT +LINE Normal 832 240 800 240 +PIN 832 240 RIGHT 36 +PINATTR PinName rd_clk +PINATTR Polarity IN +LINE Wide 832 272 800 272 +PIN 832 272 RIGHT 36 +PINATTR PinName dout[31:0] +PINATTR Polarity OUT +LINE Normal 832 304 800 304 +PIN 832 304 RIGHT 36 +PINATTR PinName rd_en +PINATTR Polarity IN +LINE Normal 832 496 800 496 +PIN 832 496 RIGHT 36 +PINATTR PinName empty +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.gise b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.gise new file mode 100644 index 0000000..c15f6b8 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.gise @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.ngc b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.ngc new file mode 100644 index 0000000..72932bd --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.6e +$2a040<,[o}e~g`n;"2*731&=$:,)<4-03840=789:;8=5?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>?0123456789:;<=>;;12;41=710::727?699=1::7GAPTV9@LGCA5;>6=0>4:35>LHW]]0OEOJF<0794;7238<1CXZ_UU8GKDBH48?1<3?:;049KPRW]]0OCOJ@<0794;7<:830>7GAPTV9EABUI]CNDDIG<083:4?<:3CE\XZ5AEFQFQOB@@MC0<4?>0686?OIX\^1HD^NDHR?5?699=196D@_UU8GMUDCAY6:6=0>5:09KPRW]]0OC]OKOQ>2>586=281CXZ_UU8GKUDCGY6:6=0>2:11>LHW]]0oec2<1;2=51=4:3E^X][[:emvp95629437>=?221341=3918:<6:5IORVP?QBI591<3?46395=1=110<:<68697;520<25;??;7CBEDGFIHKJMLONAg95ri~6;9~mj96;-2683C@A<22?>6798:;52<0>1?;;748997;:23?>>0<=5?5N659BE3G?3HKJM;ONA028EDGFIHKJ:LONA@CB55=FIHKJMLONA@C5EDGb3HNO^L\KAEFQ858a3HNO^L\KAEFQ8469n2KOH_O]D@FGV9766o1JHI\NRECG@W:6:7;:7LJKR@PGEABU4891<3h4AEFQEWBFLMX7=>0j;@FGVDTCIMNY0<0j;@FGVDTCIMNY0?0j;@FGVDTCIMNY0>0j;@FGVDTCIMNY090j;@FGVDTCIMNY080j;@FGVDTCIMNY0;0j;@FGVDTCIMNY0:0j;@FGVDTCIMNY050j;@FGVDTCIMNY040i;@FGVDRNMACLD1>1109B@ATF\@OCEJF31;2=b>GCL[K_EHFFGI>2:c=FLMXIXDKGIFJ?4;763HNO^OZFEIKDL97=87l0MIJ]BUKFLLAO484n7LJKRCUQEABU494m7LJKRCUQEABU48:5j6OKDS@TVDBCZ5;:2k5NDEPASWGCL[6:>3?>;@FGVGQUIMNY0<=50?d8EABUJ^XJHI\312EKC0:>7NBDA058GIMF9M8<7NBDA0F73>EKCH;O445LLJCQ@FJL=2IGGO?6;BNHFRTDDB?0OAEL149@HNB6=2IGGIXl;BNH@SYCA_COI85LLJD[<>EKCOR:4==4CMP:?FIJE@^_II?;;BMQAZABFLXJXDAA_HLEK2=DZLK_II?4De9GAIG^MMU\^DZJ2:FJ<>BNIMC7<374DHCGM977601OELJF<03==>BNIMC7=?06;EKB@L:6;730HDOKI=37:g=CAHNB0<;50?;8@LGCA5;>255KI@FJ848?3MCJHD2=>99GMDBN4:437IGNDH>7:==CAHNB0807;EKB@L:1611OELJF<6<;?AOFL@63255KI@FJ8<8?3MCIHD2?>89GMGBN48:556JFBEK?548>3MCIHD2>2?;8@LDCA5;8245KICFJ8429j2NBNIG31483:<=CAKNB0<;18:FJFAO;9720HDLKI=0=<>BNJMC7?364DH@GM92902NBNIG35?:8@LDCA5<546JFBEK?3;>BNXHNB\1?1a:FJTGBNX5:5o6JFPCFJT97=87k0HD^MDHR?5;>19:FLEAI;99427IANDN>25;?89GKDBH489556J@AEM?518e3MEJHB2>5;2==>BHIME7=807;EMB@J:6611OCLJ@<3<;?AIFLF68255KO@FL818?3MEJHB2:>99GKDBH4?437IANDN>4:==CGHND0507;EMB@J:>6>1OCLQ]EF:8@JDCG5:556J@BEM?558>3MEIHB2>1?;8@JDCG5;9245KOCFL845912NDNIA31519:FLFAI;9<437IAMDN>2:==CGKND0?07;EMA@J:4611OCOJ@<5<;?AIELF6>255KOCFL838?3MEIHB28>99GKGBH41437IAMDN>::2=CGKUYIJo4DNRB@JV;87i0HB^NDNR?5?69i2ND\LJ@P=3=e>BHXKND\1>1c:FLTGBHX5;1<3o4DNRA@JV;9780I994EOCQ@@H03LDI[_KA4:D1B54?0JLB\E39E@6=ALJ>0JIMJ3:DGT1=ALYO:7J=4GOF2?L4;8:KMMQVX8<20ECG[P^25<>OIA]ZT<:74IOKWWQGSM>1BBDZP0158MKOSW9;<7D@FT^213>OIA]U;?:5FNHV\411J7:KMMQY7N>1BBDZP1158MKOSW8;<7D@FT^313>OIA]U:?:5FNHV\511769JJLRX91=0ECG[_0;4?LHN\V;J;6GAIU]2F2=NF@^T=N94IOKW[4B03@DBXR?J7:KMMQY6N>1BBDZP2158MKOSW;;<7D@FT^013>OIA]U9?:5FNHV\611N94IOKW[7B03@DBXR1BBDZP3158MKOSW:;<7D@FT^113>OIA]U8?:5FNHV\711;8;HLJPZ51?2CEEYQ<769JJLRX;1=0ECG[_2;4?LHN\V9J;6GAIU]0F2=NF@^T?N94IOKW[6B03@DBXR=J7:KMMQY4N?1BBDZPA79JJLRXJ01BBDZPFHNF7>OI^?1GCLJJD79OKFMBL>1GCJGLAM68HPR5<2F^X>:4LTV70>JR\<>0@XZ95:OPCJH23D_SOTm4M`hlvScu{`eeo6CfnnpUawungg80B=<4N018J4643G;??6@>629M5=1VLWAF^XCC<;QPF2>VTLFDN=6_7;SCNF4>B911YM@QBOEG2=>TCIMNYSNACLHQJKKYO_JEEJDIl;SGB@ZQNL]BTMn5]E@F\SLBS@VH>7_KHCD`8V@ADMHXNKNK9;SGDG@Dc3[OLOAENREP@HN11:PPPWC@WYXBC_G[Y^C25>TT\[OLS]\FOSKW]ZD63Z20_LXJD@VB7>UCX8;0_E\JG^G[PWGD\VDLOh5\HSGD[HOIWZCQI<=4SHO\GJJKAZCDBRMGEBIb?VOJWMO]ENK7;RIJTZVNF?1XCX\LE69PVSGKWH=0__XNL^@5?VRF\\Y?7Y\ZE59W]UC1n2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!Bxnp\VAYWF]XP117d8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'Drd~R\K_QLWV^3ZW[NT\CZ][7_\\JTX<>UdSua30?35b>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%Ftb|PRE]SJQT\>TUYHR^ATSY4YZ^HZV>=SbQwo=2=53`<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#@v`r^PG[UHSZR=VS_JPPOVQ_=[XPFXT88Q`_ym?4;71m2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!Bxnp\SWYWF]XPl1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv Mymq[RTXXG^YW xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.O{kwYPZVZEX_U<]^UQ[UHSZR>VSUA]_4]l[}i;87;=i6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-N|jtX_[U[BY\T4\]TVZVI\[Q>QRV@R^6\kZ~h494::h5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,I}iuW^XT\CZ][4_\SWYWF]XP:PQWOS]0[jYg5:5=;k4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+H~hzV]YS]@[RZ4^[RTXXG^YW:SPXNP\6ZiXpf6;2<8j;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*Kg{U\^R^ATSY4YZQUWYD_^V6R_YMQ[4YhWqe7<3?93:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ULVZEX_U?]^PG[UHSZR;VSUA]_40\k35<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#_JPPOVQ_4[XZMU[BY\T2\][KWY29Ve=?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-Q@ZVI\[Q9QR\K_QLWV^5ZWQEYS8>Po718Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'[NT\CZ][2_\VAYWF]XP8PQWOS]7=Zi1;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!]D^RMPW]3UVXOS]@[RZ7^[]IUW=2Tc;=4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+WBXXG^YW8SPRE]SJQT\>TUSC_Q;7^m57>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%YHR^ATSY5YZTCWYD_^V9R_YMQ[10Xg?90Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/SF\TKRUS>WT^IQ_NUPXS7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%\^R^ATSY7YZQUWYD_^V;R_YMQ[1Yh>;1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv WS]SJQT\=TU\^R^ATSY5YZ^HZV9Tc;<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+RTXXG^YW;SPWS]SJQT\?TUSC_Q=_n41?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&]YS]@[RZ5^[RTXXG^YW5SPXNP\5Zi2;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwYeag6;28=4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySoga<0<67>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]amk:56<90Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/sf\tkruWkce0>0:3:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQmio>7:05<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#jPpovq[goi4<4>?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{Uiec29>418Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_ckm8282;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwYeag6328<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySoga_171?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^`jjZ72:2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwYeagU99?5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,vaYwf}xTnd`P3408Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_ckm[1353\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"|k_qlwvZdnfV?>>6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{UiecQ9539V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(zmU{by|Pbhl\304<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#jPpovq[goiW1?97X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.pg[uhszVmh0=0:2:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc=3=17=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr$~iQnup\cf:56<80Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/sf\tkruWni7?3;=;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*tcWyd~Ril<5<66>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dg939=;1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXoj6=28<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySjm37?71?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^e`8=8292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kV:>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{UloR?:1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^065>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dgZ5292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kV>>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{UloR;:1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^465>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dgZ1292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kV2>46[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-q`Zvi|{UloRo|rde?4;3?3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"|k_qlwvZadWhyyij2>>4:8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_fa\evtbo585955Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,vaYwf}xTknQnssgd868202_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kVkx~hi34?7;?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^e`[duumn6>2864U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySjmParpfc909=11^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh<6<6<>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dgZgtzlm743;8;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*tcWyd~Ril_`qqabY7=>1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_074?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^e`[duumnU99:5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,vaYwf}xTknQnssgd[6303\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"|k_qlwvZadWhyyijQ;569V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(zmU{by|Pgb]bwwc`W xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.pg[uhszVmhSl}}ef]512=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr$~iQnup\cfYf{{olS:;8;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*tcWyd~Ril_`qqabY?=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp969=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp979=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp949=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp959=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp929=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp939=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp909=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp919=m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp9>9>m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp^>ZW{ooynkPxnp\53Yh>l1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv re]sjqtXojUjkh_mcpp^>ZW{ooynkPxnp\53Yh9?n0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/sf\tkruWniTm~|jg^nbwq]?UVxnhxmj_ymq[41Xg?o0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/sf\tkruWniTm~|jg^nbwq]?UVxnhxmj_ymq[41Xg8=87X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.pg[uhszVmhSl}}ef]oevr\0TUyii{le^zlvZ7?9Vrd0=0>6e9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(zmU{by|Pgb]bwwc`WekxxV6R_sggqfcXpfxT=5Q`729V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(zmU{by|Pgb]bwwc`WekxxV6R_sggqfcXpfxT=4?Pxn>3:40c3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"|k_qlwvZadWhyyijQcarvX7f8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_fa\evtboVfjyU7]^pf`pebWqeyS??Po608Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_fa\evtboVfjyU7]^pf`pebWqeyS?<>_ym?4;113\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"|k_qlwvZadWhyyijQcarvX9d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^cpv`aXdhyW5SPrdfvg`Yg{U9>Ra82:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^cpv`aXdhyW5SPrdfvg`Yg{U9?S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%yhR~ats]dgZgtzlmT`l}{_07`?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&xoS}`{r^e`[duumnUgm~zP24a8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'{nT|cz}_fa\evtboVfjyQ<5b9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~(zmU{by|Pgb]bwwc`WekxxR::c:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})ulVzexQhc^cpv`aXdhyS8;l;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*tcWyd~Ril_`qqabYkiz~T:8m4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+wbXxg~ySjmParpfcZjf{}U<9n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,vaYwf}xTknQnssgd[igt|V2>?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{Uiec2?>418Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_ckm8482;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwYeag6928=4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+rtXxg~ySoga<2<67>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%|~R~ats]amk:36<90Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/vp\tkruWkce080:3:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQmio>5:05<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#z|Ppovq[goi4>4>?6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{Uiec27>408Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_ckm[5353\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZdnfV;>>6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UiecQ=539V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~({U{by|Pbhl\704<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#z|Ppovq[goiW=?97X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVhbbR;:2:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQmio]517=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr${Qnup\flhX?<80Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/vp\tkruWkceS5;=;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*quWyd~Ril<1<66>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%|~R~ats]dg979=;1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv ws]sjqtXoj6928<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+rtXxg~ySjm33?71?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&}yS}`{r^e`8182:2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwY`k5?59?5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTkn29>408Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_fa?3;353\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZad414>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloR>:1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^365>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%|~R~ats]dgZ4292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwY`kV9>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloR::1:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^765>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/e`|+ekcq%|~R~ats]dgZ0292_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwY`kV=>=6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloR6:8:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^cpv`a;87?37X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef>2:0><]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-cf~)keas#z|Ppovq[beXizxnk1<1599V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~({U{by|Pgb]bwwc`4:4>46[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloRo|rde?0;3?3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZadWhyyij2:>4:8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_fa\evtbo5<5955Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd828202_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!xr^rmpwY`kVkx~hi38?74?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&}yS}`{r^e`[duumnU;9:5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[4303\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZadWhyyijQ=569V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hcy,`hn~({U{by|Pgb]bwwc`W:?<7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]712=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dg}(ddbr${Qnup\cfYf{{olS8;8;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*quWyd~Ril_`qqabY1=>1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`kq$h`fv ws]sjqtXojUjkh_674?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&}yS}`{r^e`[duumnU39i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5:59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5;59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5859i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5959i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5>59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5?59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5<59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|5=59i5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|525;?5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|R2VSkkubg\|jtX99;Ttb2?>648Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_fa\evtboVfjyU7]^pf`pebWqeyS<>>_ym?4;YT_9 xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevr\0TUyii{le^zlvZ77Wf=97X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevr\0TUyii{le^zlvZ769Vrd0=09d:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^cpv`aXdhyW5SPrdfvg`Yg{U:=Ra9c:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ilx/aoo})pzVzexQhc^cpv`aXdhyW5SPrdfvg`Yg{U?Sb8k;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*quWyd~Ril_`qqabYkiz~P4PQ}eew`aZ~hzV>Tc<8l;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*quWyd~Ril_`qqabYkiz~P4PQ}eew`aZ~hzV?Tc;j4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+rtXxg~ySjmParpfcZjf{}Q3QR|jdtaf[}iuW04`?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fa{*fjlp&}yS}`{r^e`[duumnUgm~zT8\]qaasdmVrd~R8Po608Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gbz-gim'~xT|cz}_fa\evtboVfjyU7]^pf`pebWqeyS:?Pxn>3:40d3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*be&jf`t"y}_qlwvZadWhyyijQcarvX xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevr\0TUyii{le^zlvZ>Xg>;0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)ojr%oaew/vp\tkruWniTm~|jg^nbwq]?UVxnhxmj_ymq[<7Xpf6;2;m4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+rtXxg~ySjmParpfcZjf{}Q3QR|jdtaf[}iuW0Ud9n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,swYwf}xTknQnssgd[igt|V:>o6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloRo|rde\hdusW8?h7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.uq[uhszVmhSl}}ef]oevrX:S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'nxj#||tr-`4*aj}q$hm|vndv?4;073\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$ko|.sqww*e7'ng~t#mnrs{maq:66?:0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*ai|Ud~R}vnb]emci)oe:%~i!hr`q-vvrt'j:$k`{w.bcqv|hb|585:=5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.eqev(u{}y$o=!hmtz-gdtuqgo0>091:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+btf{'xxx~!l0.enq}(`eR:V"jc>.l355>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'nxj#||tr-`4*aj}q$laV?R.fop*hu192_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#j|ns/pppv)d8&mfyu hmZ0^*bkt&dy==6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/fpbw+tt|z%h<"ibuy,di^5Z&ngx"`}91:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+btf{'xxx~!l0.enq}(`eR>V"jc|.lq61>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'nxj#||tr-`4*p6494>:6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/fpbw+tt|z%h<"x><1<210=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&mym~ }suq,g5)q95;59;5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.eqev(u{}y$o=!y1=3=503<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6)zm%l~l}!rrvp+f6(~8692884U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-dvdu)zz~x#n> v0>1:4323\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$ko|.sqww*e7';7?3;9;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.sf,cwgt&{y"m?/w3?7;72=2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#j|ns/pppv)d8&|:090:6:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+btf{'xxx~!l0.t28186>91^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"i}ar,qwqu(k8%laxv!c`pq}kcs494=<6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/fpbw+tt|z%h="ibuy,`ewt~fl~7=38?;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.sf,cwgt&{y"m>/fov|+efz{seiy2=>728Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)`zhy%~~z|/b3,chs&jky~t`jt=1=24=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&mym~ }suq,g4)`e|r%k`U?]/en5+k6>81^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"i}ar,qwqu(k8%laxv!glY2Y+aj{'gx:<5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.eqev(u{}y$o1579V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*auiz$yy} c0-u59699>448Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)`zhy%~~z|/b3,r4:668?>7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"j gscp*wus{&i:#{?32?75?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(o{kx"}{s.a2+s7;:7;>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/fpbw+tt|z%h="x><2<62>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'nxj#||tr-`5*p64:4:985Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.eqev(u{}y$o5=8<4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-dvdu)zz~x#nabp17e?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(o{kx"}{s.aliu6Xkfg{=RA]_7]l25=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&mym~ }suq,gjkw8Vida}?POS]5[j72:2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#j|ns/pppv)dgdz:9o5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.eqev(u{}y$~lcPelrw}Z`eW`?37X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"j gscp*wus{&xjaRkbpu{\m1`<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6)zm%ym`Q}d^gm[l72;2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#jPpovq[ujr{86;2:>4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-qtkru'Dg~tRil0/alqkr\0TULBIQ=16]l[hsW;UDYY<>719V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*twf}x$A`{w_fa3*firf}Q3QRIAD^023ZiXe|rT>RAZT2361>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphs484>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{<3<61>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphs4:4>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{<5<61>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphs4<4>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{<7<61>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphs4>4>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{<9<5g>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphsS1WTKCJP205\kZkrpV8TCXZ31?4`?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkr\0TULBIQ=16]l[hsW;UDYY2=>7a8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjq]?UVMEHR<>7^m\ip~X:VE^X1=16d9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*twf}x$kn>!cnwmp^>ZWNDOS??8_n]nq}Y5WF__0>0>17f8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjq]?UVMEHR<>7^m\ip~X:VE^X1=12638Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjq]?UVMEHR<>7^m\ip~X:VE^X1=1_cfg43e<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6)zm%y|cz}/fa3*firf}Q3QRIAD^023ZiXe|rT>RAZT=6=2a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&x{by| gb2-gjsi|R2VSJ@K_334[jYj}qU9SB[[<5<22f=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&x{by| gb2-gjsi|R2VSJ@K_334[jYj}qU9SB[[<4<5`>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphsS1WTKCJP205\kZkrpV8TCXZ35?35g>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphsS1WTKCJP205\kZkrpV8TCXZ36?4g?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkr\0TULBIQ=16]l[hsW;UDYY29>04`?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkr\0TULBIQ=16]l[hsW;UDYY28>7f8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjq]?UVMEHR<>7^m\ip~X:VE^X19117a8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjq]?UVMEHR<>7^m\ip~X:VE^X161719V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,q`*twf}x$kn>!cnwmp^>ZWNDOS??8_n]nq}Y5WF__050PSV360>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphsW8??7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"j rqlwv*ad8'idyczP2468Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjqY4==1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"|nup,cf6)kfexR::4:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/pg+wvi|{%lo= lotlw[0333\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$~}`{r.e`4+eh}g~T:8:4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-qtkru'ni;"naznu]411=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&x{by| gb2-gjsi|V2>46[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#|k/srmpw)`k9$hcx`{_e3?4;3?3\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$~}`{r.e`4+eh}g~Th<2>>4:8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-va)uxg~y#jm?.bmvjqYc9585955Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.psjqt(oj:%ob{at^f2868202_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'xo#~ats-dg5(dg|dSi?34?7;?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkrXl86>2864U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!re-qtkru'ni;"naznu]g5909=11^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"|nup,cf6)kfexRj><6<6<>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+tc'{zex!hc1,`kphsWm;743;8;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.sf,vuhsz&mh<#m`uov\`4Y7=>1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$yh"|nup,cf6)kfexRj>_074?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*wb(zyd~"il0/alqkrXl8U99:5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= }d.psjqt(oj:%ob{at^f2[6303\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$~}`{r.e`4+eh}g~Th!cnwmpZb6W xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"j rqlwv*ad8'idyczPd0]512=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(ul&x{by| gb2-gjsi|Vn:S:;8;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.sf,vuhsz&mh<#m`uov\`4Y?>j1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ixar,twqu(EdsSnabp0]DJAY5;9UdS@[W_06\k47182_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#jyns/uppv)d9&mfyu laspzj`r;87<;7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| gvcp*rus{&i:#jczx/abvwim}6:2;>4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-dsdu)z~x#n? glw{*fguzpdnx1<1619V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*apiz$|y} c0-dip~)khxyuck{<2<55>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'n}j#y|tr-`5*aj}q$laV>R.fo2*h7192_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#jyns/uppv)d9&mfyu hmZ3^*bkt&dy==6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/fubw+qt|z%h="ibuy,di^4Z&ngx"`}91:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!l1.enq}(`eR9V"jc|.lq55>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'n}j#y|tr-`5*aj}q$laV:R.fop*hu2=2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#jyns/uppv)d9&|:0=0:6:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!l1.t28586=<1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ixar,twqu(k8%}=1?1579V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*apiz$|y} c0-u59799448Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-sw)`hy%{~z|/b3,r4:568?>7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| gvcp*rus{&i:#{?33?75?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt(o~kx"z}{s.a2+s7;;7;>96[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/fubw+qt|z%h="x><5<62>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'n}j#y|tr-`5*p64=4::=5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.etev(p{}y$o?!hmtz-gdtuqgo0=090:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!l2.enq}(di{xrbhz31?43?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt(o~kx"z}{s.a1+bkrp'ij~waeu>1:36<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6){%l{l}!wrvp+f4(ods"no}rxlfp959>81^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ixar,twqu(k;%laxv!glY3Y+aj9'g::<5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.etev(p{}y$o?!hmtz-ch]6U'mf#c|609V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*apiz$|y} c3-dip~)odQ9Q#ibs/op24=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&m|m~ xsuq,g7)`e|r%k`U<]/enw+kt>81^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ixar,twqu(k;%laxv!glY7Y+aj{'gx985Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.etev(p{}y$o?!y1=2=13=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&m|m~ xsuq,g7)q95:5=8;4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-dsdu)z~x#n< v0>2:00<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.empsYhzVyrbnQiigm-ci6){%l{l}!wrvp+f4(~86:2<;:;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.vp,crgt&~y"m=/w3?6;313\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x$kzo|.vqww*e5';7>3?:5:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+bqf{'}xx~!l2.t28682>2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#jyns/uppv)d:&|:0>0>549V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*apiz$|y} c3-u5929=?1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ixar,twqu(k;%}=1:11408Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-sw)`hy%{~z|/bmnt4023\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x$kzo|.vqww*ehey;TKCJP222\kZKRPV;?Sb;=;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.vp,crgt&~y"m`mq06e>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'n}j#y|tr-qehYa}efTjoQf569V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*apiz$|y} r`o\bpjkW`>m7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| r`o\swYbfVc:;85Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(EdsSjgl0/e`4+eh}g~P4PQHNE]16=YhWdsS?Q@UU0230=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| Mlw{[bod8'mh<#m`uovX5Q`_lw{[7YH]]9:9l5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjq:66S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'~zex!hib2-cf6)kfex1:15`9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*qwf}x$kdm?.fa3*firf}6>28o4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-ttkru'nch<#il0/alqkr;>7?j7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| wqlwv*ank9$lo= lotlw8282i2_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+ak8'}y#z~ats-dmf6)oj:%ob{at=:=34=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byU7]^EM@Z450VeTaxvP2^MVP979?81^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznuY;YZAILV894RaPmtz\6ZIR\585;<5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjq]?UVMEHR<=8^m\ip~X:VE^X1=1729V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*qwf}x$kdm?.fa3*firf}Q3QRIAD^01RAZT=1=54153\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x${}`{r.ejg5(`k9$hcx`{[9_\CKBX:;2TcRczx^0\KPR;;78<:6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmp^>ZWNDOS?<7_n]nq}Y5WF__0>0Pbef334=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byU7]^EM@Z450VeTaxvP2^MVP929?;1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznuY;YZAILV894RaPmtz\6ZIR\5>5=:?4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-ttkru'nch<#il0/alqkr\0TULBIQ=29]l[hsW;UDYY2:>608Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-sw)pxg~y#jgl0/e`4+eh}g~P4PQHNE]16=YhWdsS?Q@UU>6:4163\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x${}`{r.ejg5(`k9$hcx`{[9_\CKBX:;2TcRczx^0\KPR;>7=97X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| wqlwv*ank9$lo= lotlw_=[XOGNT>?6Po^ov|Z4XG\^7:3?81:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rvi|{%len>!gb2-gjsi|R2VSJ@K_30;[jYj}qU9SB[[<6<46>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'~zex!hib2-cf6)kfexV6R_FLG[74?WfUfyuQ=_NWW8286?81^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznuY;YZAILV894RaPmtz\6ZIR\525;85Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjq]?UVMEHR<=8^m\ip~X:VE^X161_RU21<=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQ>589V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*qwf}x$kdm?.fa3*firf}U9945Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjqY4=01^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznu]71<=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQ:589V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*qwf}x$kdm?.fa3*firf}U=945Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjqY0=01^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+bhs~VeyS~wac^djbj(`d9$|~"ynup,cle7∋"naznu];1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=2=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=3=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=0=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=1=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=6=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=7=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=4=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=5=1a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1=:=1f=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/flwrZiuWzseoRhffn,dh5(pz&}{by| gha3*be7&je~byQk1^26g>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h govu[jtX{pdhSkgio/eo4+qu'~zex!hib2-cf6)kfexRj>_07`?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.fn3*rt(yd~"ifc1,dg5(dg|dSi?P24a8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!gm2-sw)pxg~y#jgl0/e`4+eh}g~Th!gb2-gjsi|Vn:S8;l;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jb?.vp,suhsz&mbo= hc1,`kphsWm;T:8m4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%ka>!ws-ttkru'nch<#il0/alqkrXl8U<9n5Z0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$l`= xr.usjqt(o`i;"jm?.bmvjqYc9V2>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54;4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54:4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54=4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54<4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54?4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb54>4>h6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb5414>o6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mg<#y}/vrmpw)`aj:%kn>!cnwmpZb5W;?h7X> xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nf;"z| wqlwv*ank9$lo= lotlw[a4X;:7:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$kczy_np\w|hdWocmc#ic0/uq+rtXxg~yS}bzs3>2:Zoi~ xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&dof#jlb.f`nc+aeenk%bjklc/`nc*aii}c}ioch.ocwmscXjeaTahcPgdl,rdjnl'ixx!}alnlku]7U'xja#| v7]mklhn|'xja"]KP/UJ@@YWZ@G:4#|nmcg8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"iatw]lvZu~fjUmeka!mdo,cgk)okgl"jlbg`,mc`ed&kgl#j`nthtffha)fh~bzhQmlj]nahY`mg%}magk.bqwv*tfeeed|V>R.scn*w)q>Vddecg{.scn+VBW&^COIR^]IL3;*wgjW`dxyao{e16g?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.lgn+qkwW{kfSjPeo6f?P6(pz~Tjdh`_fgmawgsg{%lob`yfhdl*w`(o{l%~k!hnut\kwYtqgiTjdh`.lgn+qkwW{kfSjPeo307>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h r`o\vaYbf:90Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*tfeV}ySh`5a8Q5){}UmekaPgdlfvdrhz&mhccxiigm-vc)`zo$yj"||tcnh+kapzmxxx#i}su,q`Ztt|Vxnk1?14b9V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#}{bmi,jbqul{y"j||t/pg[wusW{ol0?0;b:W3+}usWocmcRijndpbpjt(ojeezkgio/pe+bta&{l$~~zmlj-mcrtczz~%k}{.sf\vvrXzlmT<9l4U1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&xxxobd/oetvatt|'myy }d^pppZtboV;?n6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(zz~i`f!agvpgvvr)o{y"jPrrv\v`aX:=i0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*tt|kf`#cixreppp+au{}$|~R||t^pfc969S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h rrvahn)ulVxxxRo|rde74>S7'qySkgio^efj`tf|fx$knaavgkek+ta'nxm"h rrvahn)ulVxxxRo|rde\`4273\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-qwqdkc&xoS}{_`qqabYc::i0Y=!wsu]emciXoldn~lz`r.e`kkpaaoe%~k!hrg,qb*tt|kf`#jPrrv\gjke;m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+wusjea$~iQ}su]`khd6;m1^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+wusjea${Q}su]bwwc`<91^<"v|t^djbjY`mgoymya}/faljs`nnf$yj"i}f/pe+wusjea${Q}su]bwwc`Wm;?<6[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(zz~i`f!xr^pppZgtzlmTh?:;;T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%yylck.uq[wusWhyyijQ}surlp6e<]9%syQiigm\c`hbzh~d~"ilootemci)zo%l~k }f.pppgjl'~xT~~zPcnoa7a=R8&rxxRhffn]dakcui}ey#jm`nwdjbj(un&myj#|i/sqwfim({UyyQlol`2g>STM[U]E^GMLD18RFE>3_CN[RZVPD58RLTSMQ<=7ZKN<1<5?RCF484=7ZKN<3<;?RCF4:0;2;5XE@>0:==PMK]N0=07;VGAS@:6611\IOYJ<3<;?RCE_L68255XECUF818?3^OI[H2:>99TAGQB4?4j7ZKMWD>4>58?3^OI[H28>c9TVLRBWOCY_Ym4WSKWAZKHLLUJo6Y]IUG\IJBBWKn0[_G[E^UJ@QNXIm1\^DZJ_VKGPMYE9m1SEAGAX,ZGF%6)9)Y_YO.?.0"BWFON>2RXXAGM7:ZPPZAIL>1S_YQYCB`8\ZEHZLUBBKA9;Yfa[Lba3QncS]|fmWgqwlii991Sh`QBakmqR`ttafd:<6Vkm^OjjjtQm{ybcc=4Xrv0?\ct091TSRVCNL]\[5YXW\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&~x${}`{r.ejg5(`k9$hcx`{[9_\CKBX:;2TcRczx^0\KPR;;78 xrv\bl`hWnoeio{os-dgjhqn`ld"h gsd-vc)`f}|TcQ|yoa\bl`h&nis"nbdx.O{kwYULVZEX_U>]^PG[UHSZR8VSUA]_43\kZ~h494:;h5P_^ZOJHYXW8;TSR[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-N|jtXZMU[BY\T3\]Q@ZVI\[Q?QRV@R^6:[jYg5:5=:k4_^][HKKXWV;9SRQZ0.zppZ`nnfUlick}aumq+behflbjb }f.eqb+ta'ndzRa}_r{mgZ`nnf$lou lljz,I}iuW[NT\CZ][4_\VAYWF]XP:PQWOS]73ZiXpf6;2<9k;^]\\IHJWVU:?RQPU1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+H~hzV]YS]@[RZ2^[RTXXG^YW!ws-ttkru'Dg~tRifc1,dg5(dg|dW5SPGOF\67>XgVg~tRWT[_Q_NUPXSbQwo=2=52b3:0?ZYXPEDFSRQ=_^]V4*~t|VlbjbQheogqeqiu'nidb{hffn,qb*aun'xm#j`{v^mq[vikVlbjb hl1,tv*qwf}x$A`{w_fk`4+ad8'idyczT8\]DJAY5:1UdS`{w_3]LQQ56?l1TSRVCNL]\[6YXW\:$t~zPfhdl[bcim{kc!hcnlubl`h&{l$kh!rg-djqpXg{UxucmPfhdl*bj7&{n$~}`{r.Onq}Y`k9$hcx`{[9_\CKBX:8=TcRczx^0\KPR491;0SRQWLOO\[Z2XWV_;#u}{_gkekZabflxjxb| gbmmrcoag'xm#j|i.sd,ckrqWfxTt`l_gkek+adp'iggu!}d^rmpwY`kVkx~hiPl`qw_=[Xzln~ohQwos]2<4Yg5:5=5>4_^][HKKXWV?TSR[?/yqw[coagVmnbh|ntnp,cfii~ocmc#|i/fpe*w`(og~}Sb|Psxl`[coag'mht#mcky-tvZvi|{UloRo|rde\hdusS1WT~hjzcd]{kwY19Vrd0=0>7b9\[Z^KFDUTS;QP_T2,|vrXn`ldSjkaescwkw)`kfd}jdh`.sd,cw`)zo%lbyxPos]p}keXn`ld"jmw.bnh|*tcWyd~Ril_`qqabYkiz~P4PQ}eew`aZ~hzV;=Sb?8b:]\[]JIEVUT;RQPU1-{wqYaaoeTkh`jr`vlv*adgg|meka!rg-dvc(un&mex{Q`r^qzjfYaaoe%knv!cmi{+rtXxg~ySjmParpfcZjf{}Q3QR|jdtaf[}iuW=?v<202:b>gtqgiTjdh`_431|64+n`ldSjkaescwkwYq0V9'wnQnde]mcfYdggy~lgat<2/gZgwxechmyg`n^vzt`Yfp`y64)eXiyzgeno{inl\p|vbW~xhd0>#c^c{mZgcl{U|eizg=20/gZgaVkyy~k}_vkgpm;6$jUjtdQnwtqfvZqnl}b6=!mPayk\fpubzV}bhyf21-a\e}oXlh~jSzgkti?50)eXiqcTeiQxievk91*dWhrbS{|es]tmaro58&hSlvf_u{sa86+kVkseRyzsdp\slbs`4;'oRowir]w`drfW~coxe394-a\e}otW}nnyQxievk91*dWhrbRzfd^uj`qn:0%iTmug|_uifauYpam~c19"l_`zjwZrt|{hT{dj{h<6/gZgazUy~k}_vkgpm;3$jUjtd}Ptxrf95*dWjefab`Pcmm`o86+kVidyczPtxrf95*dWmkmRm`uov\slbs`43'oRjjf`wopZpfd|o6NaoakRvqmka+kVnbbRyfduj>77*dWmceSzgkti]b|lu:9%iThd`PwhfwlZtfka78>!mPdhl\slbs`Vxooe394-a\`lhX`ndRynci?06)eXl`dT{dj{h^uggm;1<%iThd`PwhfwlZquka79 nQkotv\vvrX~hf6!mPeocah`Yudfix1="l_dlbficXzz~Tt`l=0.`[`tug{Ubbgklthmm[qwm4:'oRk}rnp\mklbk}cdbRzvpd]b|lu:8%iTi|`r^kmn`esafdTxt~j_sc`l86+kVoy~b|PiohfgqohfV~r|hQ}dbj>4)eXm{xd~RgajdawmjhX|pznSzolh<2/gZcuzfxTecdjcukljZr~xlU|hnf20-a\awthzVcefhm{inl\p|vbW~xhd0>#c^dbilj~5cyxhv9,b]eqijXneklR||t^tbh87+kVbjRocmnqw[`kw|p7; nQgar]bhhit|Vl~`a3?,b]kevYfp`Uj~x}jr<2/gZnf{VkseRoxurgq95*dWakxSlvf_cwpaw;7$jUcm~Qnxh]q`Zeoigdn`0>#c^jbwZgaVx~h|20-a\lduXiqcT{Qlh`lmai;7$jUcm~Qnxh]tqvcu59&hSeo|_`zjwZrci}k64)eX`hyThlzn_bmvjquXzmic1="l_icp[agsiVidycz|_vc`l86+kVbjRjnt`]`kphs{V}ooe3?,b]kevYci}kTob{atr]tvfn:8%iTdl}Piov\gim:8%iTdl}Pm`qwawYdm4:'oRfns^ofilhn|Vlb`h3?,b]kevYh~lxm`by20-a\lduXx{elSkbngr]b|lu:8%iTdl}Ppsmd[cjfozUymnf20-a\lduXx{elSkbngr]q`fn:8%iTdl}Ppsmd[cjfozU|mnf20-a\lduXx{elSkbngr]t`fn:8%iTdl}Ppsmd[cjfozU|~nf20-a\lduXzmUomyoPcnwmp86+kVbjR|k_sqw95*dWakxS}{=0.`[mgtWzfjzhQle<2/gZnf{Vyyy3?,b]kevYrfmoyjaax=1.`[mgtWkgei3?,b]kevYpzVkhg0>#c^jbwZquWmkmRm`uov>4)eX`hyT{Q}su?3(fYneyfnah`{aukljZr~xl79 nQfmqnfi`hsi}cdbRzvpd]b|lu:9%iTe`~celgmpdrnggUu}kPr`ak94*dW`g{`hcjnucwmjhX|pznSjlh<3/gZojxeoficznthmm[qwmV}joe3>,b]jiujbeldmyg`n^vzt`Ypljb6=!mPilroahci|h~bccQ{yqg\sweo58&hSd`ft^uq[uhszV|j`0>#c^kmp`taijoTxt~j=1.`[hcjg{sTxt~j=0.`[hoaWocgiR`nmd?Ahdhl[}xbbj"l_lqdkkYqie7: nQ`puknmgsafdTabjj=1.`[jpbzofd{Rb`w<2/gZvumeejhRbntdl`}87+kVzyiaand^pfcv;7$jU{~dcPfhdl[qwm4?:>u=9,b]svjaXmdzuRzgrdqk[dutm{~Tzlb22-a\twi`Wlg{xtQ{hsgplZgt{lxS{oc_`zjw877:;&hS}|`g^gntqX|axneQnsrgqpZpfdVxjoe3>030/gZvugnUna}zv_ujqavnXizyn~yQyam]q`fn:9989 nQrne\ahvsqV~c~h}g_`qpawrX~hfT{lmg=0216)eXx{elShctx]wlwct`Vkxh|{_wco[rbd`4;;>?"l_qplcZcjx}sTxe|jsi]bwvcu|V|j`Ry}ci?2474+kVzycjQjmqvz[qnumzbTbhintd]uei;4$jU{~biPelrw}Zr~xl7; nQrne\ahvsqV~r|hQnxhq>1)eXx{elShctx]w}ucXzhic18"l_qplcZcjx}sTxt~j_sf`l83+kVzycjQjmqvz[qwmV}joe3:,b]svjaXmdzuRzvpd]t`fn:=%iT|ah_dosp|YsqyoT{mg=4.`[uthoVl~`aQ{hsgplZgt{lxS{oc=42:(fYwzfmTjxbc_ujqavnXizyn~yQyam]b|lu:9988 nQrne\bpjkW}byi~fParqfvqYqieUymnf21100(fYwzfmTjxbc_ujqavnXizyn~yQyam]q`fn:9988 nQrne\bpjkW}byi~fParqfvqYqieU|mnf21100(fYwzfmTjxbc_ujqavnXizyn~yQyam]t`fn:9988 nQrne\bpjkW}byi~fParqfvqYqieU|~nf21100(fYwzfmTjxbc_ujqavnXflmjxhQyam?64=*dWyxdkRhzlm]w}uc:8%iT|ah_gwohZr~xlUjtd}25-a\twi`Wog`Rzvpd]qefn:=%iT|ah_gwohZr~xlUyhnf25-a\twi`Wog`Rzvpd]tefn:=%iT|ah_gwohZr~xlU|hnf25-a\twi`Wog`Rzvpd]tvfn:=%iT~lmg_u{sa86+kVxoSio{a^alqkrX`nd07#c^pg[acw|a7>=?"l_sf\bwcv58&hSjPpovq[roc|a72 nQ}dbj\p|vb59&hSkh_rnjg`YjgmoTmug|=1.`[wc`WzfbohQboeg\vdeo59&hSkh_rnjg`YjgmoT~img=1.`[wc`WzfbohQboeg\sdeo59&hSkh_rnjg`YjgmoT{img=1.`[wc`WzfbohQboeg\sweo59&hSx`kesdokrYkg~7; nQzsd]`khkhfVe}ihcov?3(fYr{lUhc`c`n^wm``tadf}64)eX}zoTinmPreak95*dW|ynShml_vc`l86+kVxiRklc^uggm;7$jU~hQjcb]tvfn:8%iTy~kPel`f`accW{ol1="l_tqf[coag84)eX{UjofQcov?3(fYpzVnjxlQlotlw[roc|a72 nQxr^fftqn:=88'oRy}_egspmYfp`y6==<;,b]tvZbbx}bT~lmg=04/gZquWmo{xeQ}dbj>5543$jU|~Rjjpuj\sdeo58<'oRy}_egspmYpljb6==<;,b]tvZbbx}bT{mg=04/gZquWoxn}0?#c^uq[uhszV}bhyf29-a\swYwf}xT{dj{h^c{mv;68%iT{Qnup\slbs`Vxjoe3;,b]tvZvi|{U|eizg_sf`l877$jU|~R~ats]tmaroW~khd0:#c^uq[uhszV}bhyfPweak946+kV}yS}`{r^uj`qnX{ic19"l_vp\v`uwggynSao{eoaz94*dW~xhdRzvpd?3y7>dkcVgnaRijn^t5[7Y{};87obd_lgn[lhw}}Ui`bmd159ahnYjmdUdyy~zt^`okfme3jf`SuQnupp3>eheykyi>5kdl48`lh;87=0hd`311<4?aoi48;5;6jfn=31:2=cag6:?394dhl?51803mce0<;17:fjj9716>1oec2>7?58`lh;914<7iga<0;=2>bnf5;5;6jfn=03:2=cag69=394dhl?67803mce0?=17:fjj9436>1oec2=5?58`lh;:?4<7iga<35=3>bnf5832:5kio>1=;0394dhl?758>3mce0>?50?58`lh;;84=7iga<2<5?aoi4=4=7iga<4<5?aoi4?4=7iga<6<5?aoi414=7iga<8<4?air|5:546j`uu>24;>bh}}6:8364dnww843902ndyy2>6?:8`jss48=546j`uu>2<;>99gkpr;:=437iazt=06:==cg|~7>;07;emvp940611ocxz329<;?air|5822:5kotv?6;>>1a:flqq:493:546j`uu>05;108;emvp929?2ndyy2:>69gkpr;>7=0hb{{<6<4?air|525;6j`uu>::0=bey~r=;5iigm\c`hbzh~d~R|nmgkek442xoSnbd5:pg[`h?3{nT`bifc008vaYt|h~~Rhcafq\ev763{oxiyQmlj]qeh`nnf90~~zm;vp\flhXkg~y:6y}_bnh1>quWld37z|Plnejg44<{Uxxlzzs^doebuXizwKL}6<3:BC|63c2O0?6>;978174dfsg9?:7?4n264>3=#;=>1?>h4}R4`>62?289j6<=<05;5>756kl1X=?;53c794?74;9>2:7<<1e38W3e=;k?1<7?<316:2?449m>0h>;k:182>4}T>l08854>3`8276631?09?62?289j6<=<05;5>756kk1/??o51358R6222;q~=?h51:w275<73t.:?n4>f:`01a<72==1j=4>35yK77><,8<;6>;k;[70>7}6=3;=6p*<4280f5=#=?089k5+6e801`=#9<=1=6*>57800<=n;191<7*>3d80<7=i9:n1<65f39394?"6;l084?5a12f95>=n;>l1<7*>3d80<7=i9:n1>65f36g94?"6;l084?5a12f97>=n;>n1<7*>3d80<7=i9:n1865f36a94?"6;l084?5a12f91>=n;>h1<7*>3d80<7=i9:n1:65f36c94?"6;l084?5a12f93>=n;>31<7*>3d80<7=i9:n1465f36:94?"6;l084?5a12f9=>=n;>=1<7*>3d80<7=i9:n1m65f36494?"6;l084?5a12f9f>=n;>>1<7*>3d80<7=i9:n1o65f36194?"6;l084?5a12f9`>=n;>81<7*>3d80<7=i9:n1i65f36394?"6;l084?5a12f9b>=n;>:1<7*>3d80<7=i9:n1==54i24e>5<#9:o1?5<4n01g>47<3`9=i7>5$01f>6>53g;8h7?=;:k02a<72-;8i7=72:l27a<6;21b?;m50;&27`<40;1e=>j51598m60e290/=>k53908j45c28?07d=7a;29 45b2:297c?o4000;6)?h6;m0:;65f39:94?"6;l084?5a12f95==6=;o30`?7f32c8484?:%30a?5?:2d:?i4>b:9j7=2=83.:?h4<839m56b=9j10e>6?:18'56c=;180b<=k:0f8?l50=3:1(<=j:2:1?k74l3;n76g<6`83>!74m393>6`>3e82b>=n;kn1<75f3cd94?=n;k21<75f3b294?=n;k31<75`3`694?"6;l08m>5a12f94>=h;h81<7*>3d80e6=i9:n1=65`3`294?"6;l08m>5a12f96>=h;0l1<7*>3d80e6=i9:n1?65`38g94?"6;l08m>5a12f90>=h;0n1<7*>3d80e6=i9:n1965`38a94?"6;l08m>5a12f92>=h;0h1<7*>3d80e6=i9:n1;65`38c94?"6;l08m>5a12f9<>=h;031<7*>3d80e6=i9:n1565`38:94?"6;l08m>5a12f9e>=h;0=1<7*>3d80e6=i9:n1n65`38794?"6;l08m>5a12f9g>=h;0>1<7*>3d80e6=i9:n1h65`38194?"6;l08m>5a12f9a>=h;081<7*>3d80e6=i9:n1j65`38394?"6;l08m>5a12f955=o<;o30`?7532e84h4?:%30a?5f;2d:?i4>3:9l7=b=83.:?h46l:18'56c=;h90b<=k:078?j5fj3:1(<=j:2c0?k74l3;=76a!74m39j?6`>3e823>=h;h31<7*>3d80e6=i9:n1=554o2c;>5<#9:o1?l=4n01g>4?<3f9j;7>5$01f>6g43g;8h7?n;:m0e3<72-;8i7=n3:l27a<6j21d?l;50;&27`<4i:1e=>j51b98k6g6290/=>k53`18j45c28n07b=66;29 45b2:k87c?i40k0;6)?h6;m0:j65`3c094?=h;hi1<75m35094?7=83:p(<8?:20:?M5382B8>55`12`94?=zj:>:6=4>:183!7183n;7E=;0:J06==hko0;66sm24g94?2=83:p(<8?:bf8L6273A9946*j0;58m02=831b:k4?::k205<722e:8?4?::a60b=83>1<7>t$043>fb<@:>;7E==8:&f4?11<75f6g83>>o6<90;66a>4383>>{e:j:1<7:50;2x 4072jn0D>:?;I11<>"b83=0e8:50;9j2c<722c:8=4?::m207<722wi>oh50;694?6|,8<;6nj4H263?M5502.n<794i4694?=n>o0;66g>4183>>i6<;0;66sm31d94?2=83:p(<8?:b`8L6273A9946*j0;08m02=831b:o4?::k5b?6=3f;?>7>5;|`05c<72:0;6=u+1729gd=O;=:0D><7;I71?!75l3;>j6*j0;08m02=831b:k4?::m207<722wi??:50;194?6|,8<;6no4H263?M5502B>>6*>2e821c=#m9097d;;:188m3`=831d=9<50;9~f675290?6=4?{%354?ec3A9?<6F<299K17=#9;n1=8h4$d293>o2<3:17d8i:188m4272900c<:=:188yg56m3:1?7>50z&2257=n==0;66g9f;29?j73:3:17pl<2283>6<729q/=;>5c`9K716<@:837E;=;%31`?72n2.n<7<4i4694?=n>o0;66a>4383>>{e;8;1<7:50;2x 4072jn0D>:?;I11<>N2:2.:>i4>5g9'a5<03`??6=44i7d94?=n9=:1<75`15094?=zj:;36=4;:183!7183io7E=;0:J06==#m90<7d;;:188m3`=831b=9>50;9l514=831vn>?8:187>5<7s-;=<7mk;I174>N4:11/i=48;h77>5<5<3290;w)?90;ag?M5382B8>55+e184?l332900e;h50;9j516=831d=9<50;9~f67c290>6=4?{%354?eb3A9?<6F<299K17=#9;n1=8h4i4694?=n=<0;66g9f;29?l7383:17b?;2;29?xd49j0;694?:1y'536=km1C?9>4H20;?!c72>1b994?::k5b?6=3`;?<7>5;n376?6=3th8=o4?:583>5}#9?:1oi5G3528L64?3-o;6:5f5583>>o1n3:17d?;0;29?j73:3:17pl<1183>1<729q/=;>5ce9K716<@:837E;=;%31`?72n2.n<794i4694?=n>o0;66g>4183>>i6<;0;66sm28f94?2=83:p(<8?:00f?M5382B8>55f5683>>o093:17d?:3;29?j7413:17pl=9b83>1<729q/=;>513g8L6273A9946g:7;29?l162900e<;<:188k45>2900qo<6b;290?6=8r.::=4>2d9K716<@:837d;8:188m27=831b=8=50;9l56?=831vn?7n:187>5<7s-;=<7?=e:J005=O;;20e8950;9j34<722c:9>4?::m27<<722wi>4k50;694?6|,8<;6<N4:11b9:4?::k45?6=3`;>?7>5;n30=?6=3th9n=4?:583>5}#9?:1=?k4H263?M5502c>;7>5;h52>5<5<54;294~"6>90:>h5G3528L64?3`?<6=44i6394?=n9<91<75`12;94?=zj;kn6=4;:183!7183;9i6F<419K77>>o6=:0;66a>3883>>{e:hn1<7:50;2x 407288n7E=;0:J06==n=>0;66g81;29?l72;3:17b?<9;29?xd5j80;694?:1y'536=9;o0D>:?;I11<>o2?3:17d9>:188m4342900c<=6:188yg44i3:187>50z&225<6:l1C?9>4H20;?l302900e:?50;9j505=831d=>750;9~f75>290?6=4?{%354?75m2B88=5G33:8m01=831b;<4?::k216<722e:?44?::a66>=83>1<7>t$043>44b3A9?<6F<299j12<722c<=7>5;h367?6=3f;857>5;|`172<72=0;6=u+172957c<@:>;7E==8:k63?6=3`=:6=44i070>5<61826`=O;=:0D><7;h74>5<
;1<75f14194?=h9:31<75rb36g>5<3290;w)?90;31a>N4<91C??64i4594?=n?80;66g>5283>>i6;00;66sm25a94?2=83:p(<8?:00f?M5382B8>55f5683>>o093:17d?:3;29?j7413:17pl=4c83>1<729q/=;>513g8L6273A9946g:7;29?l162900e<;<:188k45>2900qo<;a;290?6=8r.::=4>2d9K716<@:837d;8:188m27=831b=8=50;9l56?=831vn?:j:187>5<7s-;=<7?=e:J005=O;;20e8950;9j34<722c:9>4?::m27<<722wi>4:50;794?6|,8<;6nm4H263?M5502.n<7<4i4694?=n=<0;66g9b;29?l0a2900c<:=:188yg4>;3:197>50z&22587>5;h76>5<>i6<;0;66sm28094?3=83:p(<8?:ba8L6273A9946*j0;08m02=831b984?::k5f?6=3`5<55;294~"6>90ho6F<419K77><,l:1>6g:4;29?l322900e;l50;9j2c<722e:8?4?::a6<6=83?1<7>t$043>fe<@:>;7E==8:&f4?41<75f5483>>o1j3:17d8i:188k4252900qo<7f;291?6=8r.::=4lc:J005=O;;20(h>52:k60?6=3`?>6=44i7`94?=n>o0;66a>4383>>{e:1o1<7;50;2x 4072ji0D>:?;I11<>"b8380e8:50;9j10<722c=n7>5;h4e>5<96=44}c0;`?6==3:1618`g>N4<91C??64$d296>o2<3:17d;::188m3d=831b:k4?::m207<722wi>5m50;794?6|,8<;6nm4H263?M5502.n<7<4i4694?=n=<0;66g9b;29?l0a2900c<:=:188yg4?:3:197>50z&22587>5;h76>5<>i6<;0;66sm29394?3=83:p(<8?:ba8L6273A9946*j0;08m02=831b984?::k5f?6=3`5<55;294~"6>90ho6F<419K77><,l:1>6g:4;29?l322900e;l50;9j2c<722e:8?4?::a62`=83?1<7>t$043>fe<@:>;7E==8:&f4?41<75f5483>>o1j3:17d8i:188k4252900qo<8e;291?6=8r.::=4lc:J005=O;;20(h>52:k60?6=3`?>6=44i7`94?=n>o0;66a>4383>>{e:>n1<7;50;2x 4072ji0D>:?;I11<>"b8380e8:50;9j10<722c=n7>5;h4e>5<96=44}c04g?6==3:1618`g>N4<91C??64$d296>o2<3:17d;::188m3d=831b:k4?::m207<722wi>:l50;794?6|,8<;6nm4H263?M5502.n<7<4i4694?=n=<0;66g9b;29?l0a2900c<:=:188yg57;3:197>50z&22587>5;h76>5<>i6<;0;66sm31094?3=83:p(<8?:ba8L6273A9946*j0;08m02=831b984?::k5f?6=3`5<55;294~"6>90ho6F<419K77><,l:1>6g:4;29?l322900e;l50;9j2c<722e:8?4?::a756=83?1<7>t$043>fe<@:>;7E==8:&f4?41<75f5483>>o1j3:17d8i:188k4252900qo52:k60?6=3`?>6=44i7`94?=n>o0;66a>4383>>{e:oo1<7;50;2x 4072ji0D>:?;I11<>"b8380e8:50;9j10<722c=n7>5;h4e>5<96=44}c0e`?6==3:1618`g>N4<91C??64$d296>o2<3:17d;::188m3d=831b:k4?::m207<722wi>k;50;794?6|,8<;6nm4H263?M5502.n<7<4i4694?=n=<0;66g9b;29?l0a2900c<:=:188yg4a<3:197>50z&22587>5;h76>5<>i6<;0;66sm2g194?3=83:p(<8?:ba8L6273A9946*j0;08m02=831b984?::k5f?6=3`5<7>55;294~"6>90ho6F<419K77><,l:1>6g:4;29?l322900e;l50;9j2c<722e:8?4?::a6c7=83?1<7>t$043>fe<@:>;7E==8:&f4?41<75f5483>>o1j3:17d8i:188k4252900qo52:k60?6=3`?>6=44i7`94?=n>o0;66a>4383>>{e:ll1<7;50;2x 4072ji0D>:?;I11<>"b8380e8:50;9j10<722c=n7>5;h4e>5<96=44}c0fa?6==3:1618`g>N4<91C??64$d296>o2<3:17d;::188m3d=831b:k4?::m207<722wi>hj50;794?6|,8<;6nk4H263?M5502.n<794i4694?=n=<0;66g9f;29?l7383:17b?;2;29?xd5m:0;684?:1y'536=kj1C?9>4H20;?!c72;1b994?::k61?6=3`5<2290;w)?90;a`?M5382B8>55+e181?l332900e8;50;9j2g<722c=j7>5;n376?6=3th9i<4?:483>5}#9?:1on5G3528L64?3-o;6?5f5583>>o2=3:17d8m:188m3`=831d=9<50;9~f7c7290>6=4?{%354?ed3A9?<6F<299'a5<53`??6=44i4794?=n>k0;66g9f;29?j73:3:17pl=dg83>0<729q/=;>5cb9K716<@:837)k?:39j11<722c>97>5;h4a>5<7>5;|`1`a<72<0;6=u+1729gf=O;=:0D><7;%g3>7=n==0;66g:5;29?l0e2900e;h50;9l514=831vn?jl:186>5<7s-;=<7mj;I174>N4:11/i=48;h77>5<>o6<90;66a>4383>>{e9lh1<7:50;2x 4072jh0D>:?;I11<>"b8380e8:50;9j2g<722c=j7>5;n376?6=3th:il4?:583>5}#9?:1oo5G3528L64?3-o;6?5f5583>>o1j3:17d8i:188k4252900qo?j9;290?6=8r.::=4lb:J005=O;;20(h>52:k60?6=3`5<3290;w)?90;aa?M5382B8>55+e181?l332900e;l50;9j2c<722e:8?4?::a5`1=83>1<7>t$043>fd<@:>;7E==8:&f4?41<75f6c83>>o1n3:17b?;2;29?xd6m?0;694?:1y'536=kk1C?9>4H20;?!c72;1b994?::k5f?6=3`5<54;294~"6>90hn6F<419K77><,l:1>6g:4;29?l0e2900e;h50;9l514=831vn5<7s-;=<7mm;I174>N4:11/i=4=;h77>5<>i6<;0;66sm1d194?2=83:p(<8?:b`8L6273A9946*j0;08m02=831b:o4?::k5b?6=3f;?>7>5;|`2=7<72=0;6=u+1729gg=O;=:0D><7;%g3>7=n==0;66g9b;29?l0a2900c<:=:188yg7>93:187>50z&22587>5;h4a>5<k0;66g9f;29?j73:3:17pl>8d83>1<729q/=;>5cc9K716<@:837)k?:39j11<722c=n7>5;h4e>5<96=44}c3;`?6=<3:1618`f>N4<91C??64$d296>o2<3:17d8m:188m3`=831d=9<50;9~f4>d290?6=4?{%354?ee3A9?<6F<299'a5<53`??6=44i7`94?=n>o0;66a>4383>>{e91h1<7:50;2x 4072jh0D>:?;I11<>"b8380e8:50;9j2g<722c=j7>5;n376?6=3th:4l4?:583>5}#9?:1oo5G3528L64?3-o;6?5f5583>>o1j3:17d8i:188k4252900qo<<2;290?6=8r.::=4lb:J005=O;;20(h>52:k60?6=3`5<3290;w)?90;aa?M5382B8>55+e181?l332900e;l50;9j2c<722e:8?4?::a666=83>1<7>t$043>fd<@:>;7E==8:&f4?41<75f6c83>>o1n3:17b?;2;29?xd5:o0;694?:1y'536=kk1C?9>4H20;?!c72;1b994?::k5f?6=3`5<54;294~"6>90hn6F<419K77><,l:1>6g:4;29?l0e2900e;h50;9l514=831vn?5<7s-;=<7mm;I174>N4:11/i=4=;h77>5<>i6<;0;66sm23a94?2=83:p(<8?:b`8L6273A9946*j0;08m02=831b:o4?::k5b?6=3f;?>7>5;|`16g<72=0;6=u+1729gg=O;=:0D><7;%g3>7=n==0;66g9b;29?l0a2900c<:=:188yg45i3:187>50z&22587>5;h4a>5<k0;66g9f;29?j73:3:17pl>d683>1<729q/=;>5cc9K716<@:837)k?:39j11<722c=n7>5;h4e>5<96=44}c3g2?6=<3:1618`f>N4<91C??64$d296>o2<3:17d8m:188m3`=831d=9<50;9~f4b2290?6=4?{%354?ee3A9?<6F<299'a5<53`??6=44i7`94?=n>o0;66a>4383>>{e9m>1<7:50;2x 4072jh0D>:?;I11<>"b8380e8:50;9j2g<722c=j7>5;n376?6=3th:h>4?:583>5}#9?:1oo5G3528L64?3-o;6?5f5583>>o1j3:17d8i:188k4252900qo?k2;290?6=8r.::=4lb:J005=O;;20(h>52:k60?6=3`5<3290;w)?90;aa?M5382B8>55+e181?l332900e;l50;9j2c<722e:8?4?::a65`=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65c=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65b=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65e=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65d=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65g=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65?=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a65>=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a651=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g0=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g3=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g2=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g5=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g4=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g7=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5g6=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5d`=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5dc=83>1<7>t$043>fd<@:>;7E==8:J66>"6:m0:9k5+e181?l332900e;l50;9j2c<722e:8?4?::a5d2=83>1<7>t$043>fd<@:>;7E==8:&f4?41<75f6c83>>o1n3:17b?;2;29?xd6i:0;694?:1y'536=kk1C?9>4H20;?!c72;1b994?::k5f?6=3`5<7>54;294~"6>90hn6F<419K77><,l:1>6g:4;29?l0e2900e;h50;9l514=831vn:187>5<7s-;=<7mm;I174>N4:11/i=4=;h77>5<>i6<;0;66sm1`294?2=83:p(<8?:b`8L6273A9946*j0;08m02=831b:o4?::k5b?6=3f;?>7>5;|`2=c<72=0;6=u+1729gg=O;=:0D><7;%g3>7=n==0;66g9b;29?l0a2900c<:=:188yg7>m3:187>50z&22587>5;h4a>5<k0;66g9f;29?j73:3:17pl>fe83>1<729q/=;>5cc9K716<@:837)k?:39j11<722c=n7>5;h4e>5<96=44}c3eg?6=<3:1618`f>N4<91C??64$d296>o2<3:17d8m:188m3`=831d=9<50;9~f4`e290?6=4?{%354?ee3A9?<6F<299'a5<53`??6=44i7`94?=n>o0;66a>4383>>{e9ok1<7:50;2x 4072jh0D>:?;I11<>"b8380e8:50;9j2g<722c=j7>5;n376?6=3th:j44?:583>5}#9?:1oo5G3528L64?3-o;6?5f5583>>o1j3:17d8i:188k4252900qo?i8;290?6=8r.::=4lb:J005=O;;20(h>52:k60?6=3`5<3290;w)?90;aa?M5382B8>55+e181?l332900e;l50;9j2c<722e:8?4?::a5c0=83>1<7>t$043>fd<@:>;7E==8:&f4?41<75f6c83>>o1n3:17b?;2;29?xd6n<0;694?:1y'536=kk1C?9>4H20;?!c72;1b994?::k5f?6=3`5<j7>53;294~"6>90:>55G3528L64?3-o;6h5+12d970d>i6;00;66sm2b394?5=83:p(<8?:00;?M5382B8>55+e18f?lb52900ei=50;9l56?=831vn>>m:187>5<7s-;=<7?=9:J005=O;;20(h>5549'56`=;5;n30=?6=3th99o4?:483>5}#9?:1=?o4H263?M5502.n<7m8;hf1>5<>oc=3:17b?<9;29?xd51<0;6;4?:1y'536=9;h0D>:?;I11<>"b83;<7dj=:188ma5=831bh94?::kg1?6=3`n=6=44o01:>5<53;294~"6>90:>55G3528L64?3-o;6h5fd383>>oc;3:17b?<9;29?xd4:>0;6>4?:1y'536=9;20D>:?;I11<>"b83o0(<=i:270?lb52900ei=50;9l56?=831vn?o9:186>5<7s-;=<7?=a:J005=O;;20(h>5259j`7<722co?7>5;hf7>5<<,l:1>95fd383>>oc;3:17dj;:188ma3=831d=>750;9~f7g5290>6=4?{%354?75i2B88=5G33:8 `6=:=1bh?4?::kg7?6=3`n?6=44ie794?=h9:31<75rb3c3>5<2290;w)?90;31e>N4<91C??64$d2961=nl;0;66gk3;29?lb32900ei;50;9l56?=831vn?o7:180>5<7s-;=<7?=8:J005=O;;20(h>5229j`7<722co?7>5;n30=?6=3th9n44?:483>5}#9?:1=?o4H263?M5502.n<7<;;hf1>5<>oc=3:17b?<9;29?xd5j>0;684?:1y'536=9;k0D>:?;I11<>"b838?7dj=:188ma5=831bh94?::kg1?6=3f;857>5;|`1f0<72<0;6=u+172957g<@:>;7E==8:&f4?433`n96=44ie194?=nl=0;66gk5;29?j7413:17pl=bc83>6<729q/=;>513:8L6273A9946*j0;00?lb52900ei=50;9l56?=831vn?:<:186>5<7s-;=<7?=a:J005=O;;20(h>5259j`7<722co?7>5;hf7>5<:6=4::183!7183;9m6F<419K77><,l:1>95fd383>>oc;3:17dj;:188ma3=831d=>750;9~f75a290>6=4?{%354?75i2B88=5G33:8 `6=:=1bh?4?::kg7?6=3`n?6=44ie794?=h9:31<75rb31g>5<2290;w)?90;31e>N4<91C??64$d2961=nl;0;66gk3;29?lb32900ei;50;9l56?=831vn?:::180>5<7s-;=<7?=8:J005=O;;20(h>5229j`7<722co?7>5;n30=?6=3th99;4?:483>5}#9?:1=?o4H263?M5502.n<7<;;hf1>5<>oc=3:17b?<9;29?xd5==0;684?:1y'536=9;k0D>:?;I11<>"b838?7dj=:188ma5=831bh94?::kg1?6=3f;857>5;|`117<72<0;6=u+172957g<@:>;7E==8:&f4?463`n96=44ie194?=nl=0;66gk5;29?j7413:17pl=5983>6<729q/=;>513:8L6273A9946*j0;00?lb52900ei=50;9l56?=831vn?97:184>5<7s-;=<7?=c:J005=O;;20(h>52c9j`7<722co?7>5;hf7>5<>oc?3:17b?<9;29?xd5??0;6;4?:1y'536=9;h0D>:?;I11<>"b838j7dj=:188ma5=831bh94?::kg1?6=3`n=6=44o01:>5<57;294~"6>90:>n5G3528L64?3-o;6?l4ie094?=nl:0;66gk4;29?lb22900ei850;9j`2<722e:?44?::a6a1=83<1<7>t$043>44e3A9?<6F<299'a5<5i2co>7>5;hf0>5<1<75fd483>>oc>3:17b?<9;29?xd6k80;6>4?:1y'536=9;20D>:?;I11<>"b83;j7)?oc:3:17dj<:188k45>2900qo?l3;290?6=8r.::=4>289K716<@:837)k?:378 45a2:?27dj=:188ma5=831bh94?::m27<<722wi>N4:11/i=4>a:kg6?6=3`n86=44o01:>5<54;294~"6>90:>45G3528L64?3-o;6?;4$01e>63f3`n96=44ie194?=nl=0;66a>3883>>{e9>:1<7=50;2x 40728837E=;0:J06==#m90:m6*>3g8015=nl;0;66gk3;29?j7413:17pl>6g83>6<729q/=;>513:8L6273A9946*j0;3b?!74n39><6gk2;29?lb42900c<=6:188yg71m3:1?7>50z&225<6:11C?9>4H20;?!c728k0(<=i:271?lb52900ei=50;9l56?=831vn<8k:180>5<7s-;=<7?=8:J005=O;;20(h>51`9'56`=;<80ei<50;9j`6<722e:?44?::a53e=8391<7>t$043>44?3A9?<6F<299'a5<6i2.:?k4<509j`7<722co?7>5;n30=?6=3th::o4?:283>5}#9?:1=?64H263?M5502.n<7?n;%30b?5292co>7>5;hf0>5<61826==O;=:0D><7;%g3>4g<,89m6>;l;hf1>5<<,l:1=l5+12d970e>i6;00;66sm17494?5=83:p(<8?:00;?M5382B8>55+e182e>"6;o088i5fd383>>oc;3:17b?<9;29?xd6><0;6>4?:1y'536=9;20D>:?;I11<>"b83;j7)?oc:3:17dj<:188k45>2900qo?94;297?6=8r.::=4>299K716<@:837)k?:0c8 45a2:>h7dj=:188ma5=831d=>750;9~f40429086=4?{%354?7502B88=5G33:8 `6=9h1/=>h535a8ma4=831bh>4?::m27<<722wi=;<50;194?6|,8<;6<<7;I174>N4:11/i=4>a:&27c<45;|`224<72:0;6=u+172957><@:>;7E==8:&f4?7f3-;8j7=;b:kg6?6=3`n86=44o01:>5<55;294~"6>90:>l5G3528L64?3-o;66303`n96=44ie194?=nl=0;66gk5;29?j7413:17pl>c783>3<729q/=;>513`8L6273A9946*j0;05?!74n39>;6gk2;29?lb42900ei:50;9j`0<722co:7>5;n30=?6=3th:o54?:683>5}#9?:1=?m4H263?M5502.n<7?k;hf1>5<>oc=3:17dj9:188ma1=831d=>750;9~f745290>6=4?{%354?75i2B88=5G33:8 `6=9j1/=>h534:8ma4=831bh>4?::kg0?6=3`n>6=44o01:>5<56;294~"6>90:>o5G3528L64?3-o;6?84$01e>63?3`n96=44ie194?=nl=0;66gk5;29?lb12900c<=6:188yg45>3:1;7>50z&225<6:j1C?9>4H20;?!c728n0ei<50;9j`6<722co87>5;hf6>5<>i6;00;66sm1bd94?1=83:p(<8?:00`?M5382B8>55+e182`>oc:3:17dj<:188ma2=831bh84?::kg2?6=3`n<6=44o01:>5<57;294~"6>90:>n5G3528L64?3-o;6t$043>44d3A9?<6F<299'a5<6l2co>7>5;hf0>5<1<75fd483>>oc>3:17dj8:188k45>2900qo?ld;290?6=8r.::=4>289K716<@:837)k?:0`8ma4=831bh>4?::kg0?6=3f;857>5;|`2gf<72>0;6=u+172957e<@:>;7E==8:&f4?403`n96=44ie194?=nl=0;66gk5;29?lb12900ei950;9l56?=831vn?<7:184>5<7s-;=<7?=c:J005=O;;20(h>51e9j`7<722co?7>5;hf7>5<>oc?3:17b?<9;29?xd59h0;694?:1y'536=9;30D>:?;I11<>"b83;i7)?oc:3:17dj<:188ma2=831d=>750;9~f77>290<6=4?{%354?75k2B88=5G33:8 `6=:>1bh?4?::kg7?6=3`n?6=44ie794?=nl?0;66gk7;29?j7413:17pl<2483>1<729q/=;>513;8L6273A9946*j0;a7?!74n39>?6gk2;29?lb42900ei:50;9l56?=831vn><=:187>5<7s-;=<7mk;I174>N4:11C9?5+13f950`1<75f6g83>>o6<90;66a>4383>>{e:k91<7;50;2x 407288j7E=;0:J06==#m90=7dj=:188ma5=831bh94?::kg1?6=3f;857>5;|`115<72<0;6=u+172957g<@:>;7E==8:&f4?7?3`n96=44ie194?=nl=0;66gk5;29?j7413:17pl=7`83>0<729q/=;>513c8L6273A9946*j0;03?lb52900ei=50;9j`1<722co97>5;n30=?6=3th::44?:283>5}#9?:1=?64H263?M5502.n<7?n;%30b?53m2co>7>5;hf0>5<61826==O;=:0D><7;%g3>75>i6;00;66sm27094?2=83:p(<8?:00:?M5382B8>55+e181<>"6;o089;5fd383>>oc;3:17dj;:188k45>2900qo289K716<@:837)k?:3:8 45a2:?>7dj=:188ma5=831bh94?::m27<<722wi>n<50;194?6|,8<;6<<7;I174>N4:11/i=4=3:&27c<45;|`22d<72:0;6=u+172957><@:>;7E==8:&f4?443-;8j7=;e:kg6?6=3`n86=44o01:>5<54;294~"6>90:>45G3528L64?3-o;6n64$01e>6313`n96=44ie194?=nl=0;66a>3883>>{e:jl1<7:50;2x 40728827E=;0:J06==#m90h46*>3g8010=nl;0;66gk3;29?lb32900c<=6:188yg4013:1;7>50z&225<6:j1C?9>4H20;?!c72;i0ei<50;9j`6<722co87>5;hf6>5<>i6;00;66sm27d94?3=83:p(<8?:00b?M5382B8>55+e181=>"6;o08995fd383>>oc;3:17dj;:188ma3=831d=>750;9~f715290=6=4?{%354?75j2B88=5G33:8 `6=:h1/=>h53468ma4=831bh>4?::kg0?6=3`n>6=44ie494?=h9:31<75rb357>5<0290;w)?90;31g>N4<91C??64$d296g=nl;0;66gk3;29?lb32900ei;50;9j`3<722co;7>5;n30=?6=3th9h=4?:483>5}#9?:1=?o4H263?M5502.n<7<6;%30b?53i2co>7>5;hf0>5<1<75fd483>>i6;00;66sm2e194?0=83:p(<8?:00a?M5382B8>55+e181e>"6;o088l5fd383>>oc;3:17dj;:188ma3=831bh;4?::m27<<722wi>i;50;594?6|,8<;6<N4:11/i=4=b:kg6?6=3`n86=44ie694?=nl<0;66gk6;29?lb02900c<=6:188yg4cj3:197>50z&225<6:h1C?9>4H20;?!c72<1/=>h535d8ma4=831bh>4?::kg0?6=3`n>6=44o01:>5<57;294~"6>90:>n5G3528L64?3-o;6t$043>4433A9?<6F<299j`4<722e:?44?::a75c=8381<7>t$043>4433A9?<6F<299j`4<722e:?44?::a751=8381<7>t$043>4433A9?<6F<299j`4<722e:?44?::a75>=832;6=4?{%354?73;2B88=5G33:8^05=mrl1==47:8825?752891=94n:c8`>a<5:3;26p`nb;28jgb=82.o47:4$e;90>"ci3>0(il54:&gg?2<,mn186*ke;68 a`=<2.n=7:4$d090>"b;3>0(h:54:&f1?2<,l<186*j7;68 `>=<2.n57:4$dc90>"bj3>0(hm54:&f`?2<,lo186*jf;68 c6=<2.m=7:4$g090>"a;3>0(k:54:&e1?2<,o<186*i7;68 c>=<2.m57:4$gc90>"aj3>0(km54:&e`?2<,oo186*if;68 4672=1/==?54:&247<33-;;?7:4$027>1=#99?186*>0787?!77?3>0(<>7:59'55?=<2.:"68l0?7)??f;68 4772=1/=1=#98?186*>1787?!76?3>0("69l0?7)?>f;68 4472=1/=??53:&267<43-;9?7?<8:&201<6=<1/=9;5719m510=:=1e=9950:&214<6<11/=8<515:8 43?2<;0(<;6:20a?!72k390(<;k:29'76d=;:k0(>=l:21b?k54l3:0b>=j:368 4332j30e;<50;9j21<722ch97>5;ha5>5<26=44i06b>5<i6=4G14c8?l73k3:1D<;n;:k20a<722c:8h4?::k20c<722c:9=4?::k06?6=,89n6>?4n01g>5=3d805>h6;m0:76g=f;29 45b2:;0b<=k:398m7c=83.:?h4<1:l27a<432c8n7>5$01f>673e86?>o413:1(<=j:238j45c2?10e>650;&27`<492d:?i48;:k03?6=,89n6>?4n01g>==3d805>h6;m0276g<5;29 45b2:;0b<=k:`98m62=83.:?h4<1:l27a5$01f>673e8g?>o4m3:1(<=j:2f8j45c291C=8o4;h1`>5<#9:o1?i5a12f95>N6=h10e9?50;&27`<382d:?i4?;I36e>=n;o0;6)?5=3d872>h6;m0:76g;4;29 45b2=<0b<=k:398m15=83.:?h4;6:l27a<432c><7>5$01f>103e86?>o3m3:1(<=j:548j45c2?10e9j50;&27`<3>2d:?i48;:k7g?6=,89n6984n01g>==3d872>h6;m0276g;a;29 45b2=<0b<=k:`98m1?=83.:?h4;6:l27a5$01f>103e8g?>o013:1(<=j:6:8j45c2910e:950;&27`<002d:?i4>;:k42?6=,89n6:64n01g>7=?1<7*>3d84<>h6;m0876g84;29 45b2>20b<=k:598m25=83.:?h488:l27a<232c3>7>5$01f>2>3e84?>o?83:1(<=j:6:8j45c2110e:h50;&27`<002d:?i46;:k4a?6=,89n6:64n01g>d=n1<7*>3d84<>h6;m0i76g8c;29 45b2>20b<=k:b98m2d=83.:?h488:l27a5$01f>2>3e8e?>o?i3:1(<=j:9;8j45c2910e5650;&27`;:k;3?6=,89n6574n01g>7=3d8;=>h6;m0876g75;29 45b2130b<=k:598m=2=83.:?h479:l27a<232c2?7>5$01f>=?3e84?>o>93:1(<=j:9;8j45c2110e4>50;&27`d=3d8;=>h6;m0i76g7d;29 45b2130b<=k:b98m=e=83.:?h479:l27a5$01f>=?3e8e?>o>>3:1(<=j:878j45c2910e4:50;&27`<>=2d:?i4>;:k:=?6=,89n6464n01g>5=3d8:<>h6;m0:76an1;29 45b2h:0b<=k:198k<`=83.:?h4n0:l27a<632e2i7>5$01f>d63e80?>i>k3:1(<=j:`28j45c2=10c4l50;&27`4n01g>3=3d8b4>h6;m0<76an8;29 45b2h:0b<=k:998kd1=83.:?h4n0:l27a<>32ej:7>5$01f>d63e8a?>if<3:1(<=j:`28j45c2j10cl=50;&27`4n01g>`=3d8b4>h6;m0m76am3;29 45b2k80b<=k:198kg7=83.:?h4m2:l27a<632ei<7>5$01f>g46`>3e80?>ifm3:1(<=j:c08j45c2=10clj50;&27`3=3d8a6>h6;m0<76ama;29 45b2k80b<=k:998kg?=83.:?h4m2:l27a<>32ei47>5$01f>g46`>3e8a?>ie>3:1(<=j:c08j45c2j10co;50;&27``=3d8a6>h6;m0m76al0;29 45b2kl0b<=k:198kgc=83.:?h4mf:l27a<632eh?7>5$01f>f46`>3e82?>o4;90;6)?h6;m0;7E?:a:9j77c=83.:?h4<2g9m56b=92B:9l54i20g>5<#9:o1??h4n01g>7=54i21:>5<#9:o1?>64n01g>5=O9=n;:?1<7*>3d807==i9:n1?6F>5`98m653290/=>k532:8j45c2=10e>=<:18'56c=;:20b<=k:498m655290/=>k532:8j45c2?10e>=>:18'56c=;:20b<=k:698yv5el3:1;vP746=9=:01>?k:063?85693;?<63<138205=:;9l1:o52330951655z?007<6;k16>4o5569>6db==>16>>95569>61g==>1v<==:1805~;4<80hj63<1185b>;49k0=j63<1b85b>;49m0=j63<1785b>;49>0=j63<1985b>;51l0<=63=9`845>;51k0<=63=9b845>;51m0<=63=b0845>;5im0<=63=ad845>;5io0<=63=b1845>;5;k0<=63=36845>;5;10<=63=38845>;5;h0<=63=4d845>;5;5;4:<0o863<09802>;48108963<09800>;48108?63<0981`>;4810?n63<0987e>;4810?563<0987<>;4810?>63<098:2>;48102863<098:=>;48102;63<09806a=:;921??m4=22;>42>349;47?;a:?04=<68`8207=::h:1h9522c19`1=z{8296=4<{<3;f?73:279m=4k2:?1f6d28>9708583>6}:91n1=9<4=3c1>a4<5;h>6i<4}r3;1?6=;r7:4h4>439>6d2=l=16>o95d59~w4>12908w0?7f;376>;5i=0o>63=b68g6>{t91=1<7=t=0;3>425348j:7j;;<0a=?b33ty:454?:2y>5<7=9=801?o9:e0897d>2m80q~?79;297~;61;0:8?522`:9`7=::kh1h?5rs0fb>5<4s4;n?7?;2:?17au21d79514<5;9m6i;4=371>a453z?2a3<6<;16>>h5d29>604=l:1v63=408g1>;5==0o96s|1ed94?5|58o36<:=;<075?b4348>87j<;|q2a5<72:q6=h75150897242m?01?;9:e78yv7b93:1?v3>e`8207=::=91h>522449`6=z{8o96=4<{<3ff?73:279884k3:?11=n>50;0x97e728>97S=m2:p75e=83;9w0<8b;76?840k3?>70<8d;76?840m3?>70<8f;76?84?83?>70<71;76?84?:3?>70<7c;76?84?l3?>70<7e;76?84?n3?>70<60;76?84>93?>70<62;76?84>;3?>70<64;76?842n3;856s|24f94?2|5;?o6<:=;<06b?b4349;n7j;;<06f?b43ty99h4?:3y>60c=9=80R>ol;|q052z\0=3=:;921m?5rs2c2>5<5sW9j=63<098b7>{t;h?1<77}Y;h<01>>7:`78yv5f?3:1>vP75>=i?1v>o7:181[5f0278<54n7:p7d?=838pR>o6;<13;48102n6s|39f94?4|V:2o70=?8;;`?xu40l0;6?uQ39g8966?20n0q~=7f;296~X40o16?=659d9~w6?72909wS=60:?04=<>n2wx?4?50;0xZ6?6349;47o>;|q0=7<72;qU?4<4=22;>de52z\0=6=:;921n95rs2;7>5<5sW92863<098a1>{t;0?1<77}Y;0=01>>7:c58yv5>03:1>vP<999>75>=j11v>76:181[5>1278<54m9:p77n;<13;4810jh6s|38g94?4|V:3n70=?8;cf?xu41o0;6?uQ38d8966?2hl0q~=n0;296~X4i916?=65b19~w6g52909wS=n2:?04=oh5152897e728>;70=>1;376>;49;0=j6s|31d94?4|5::m6<:=;<0:1?b43ty8=84?:06x973c28>;70<:e;374>;4910:8?5226`92g=::>i1:o5226f92g=::>o1:o5226d92g=::1:1:o5229392g=::181:o5229a92g=::1n1:o5229g92g=::1l1:o5228292g=::0;1:o5228092g=::091:o5228692g=z{:;?6=4=5z?052<6<;16=4m56c9>5k16=4k56c9>5<`=>k16=l>56c9>5d7=>k16=l<56c9>5d5=>k16=l:56c9>651=>k16>=656c9>65?=>k16>=o56c9>65d=>k16>=m56c9>65b=>k16>=k56c9>65`=>k16>?o56c9>67d=>k16>?m56c9>67b=>k16>?k56c9>67`=>k16>>>56c9>667=>k16>><56c9>5`5=>k16=h:56c9>5`3=>k16=h856c9>5`1=>k16=h656c9>5`?=>k16=ho56c9>5`d=>k1v>?n:182=~;49j0:8?522ea9516<5;no6;l4=3ff>3d<5;nm6;l4=3g3>3d<5;o:6;l4=3g1>3d<5;o86;l4=3gg>427348ni78m;<0fb?0e348m<78m;<0e5?0e348m>78m;<0e7?0e348m878m;<0e1?0e348mh78m;<0ea?0e348mj78m;<134?0e349;=78m;<136?0e349;?78m;|q05<<72;?p1>?m:061?87a=393uQ3b2897e62m801?7::e08yv5e13:18vP60`=l;16?=l5d39>60d=l;1v>>n:181857j3;8563<098`1>{t;k21<7=i{_1a<>;5=m0>863=5d860>;49m0>863<17860>;49>0>863<19860>;49l0>863<1g860>;5?k0>863=7b860>;5?m0>863=7d860>;5?o0>863=81860>;5080>863=83860>;50j0>863=8e860>;50l0>863=8g860>;5190>863=90860>;51;0>863=92860>;51=0>863>9b860>;61m0>863>9d860>;61o0>863>a1860>;6i80>863>a3860>;6i:0>863>a5860>;58>0>863=09860>;5800>863=0`860>;58k0>863=0b860>;58m0>863=0d860>;58o0>863=2`860>;5:k0>863=2b860>;5:m0>863=2d860>;5:o0>863=31860>;5;80>863=33860>;6m:0>863>e5860>;6m<0>863>e7860>;6m>0>863>e9860>;6m00>863>e`860>;6mk0>863<09856>{t;9n1<7?j{<0gg?32348oh7;:;<0ga?32348oj7;:;<0f4?32348n=7;:;<0f6?32348n?7;:;<0e`?32348mi7;:;<0eb?32349;<7;:;<135?32349;>7;:;<137?32348nh7;:;<0fa?32348nj7;:;<0e4?32348m=7;:;<0e6?32348m?7;:;<0e0?32348m97;:;<0`5?741278<54<359>75>=;:901>>7:211?8570398=63<098`2>{t;kl1<7:6{_1ab>;5jo0>863=c1860>;4990>863<1c860>;49j0>863<10860>;4::0>863<13860>;4:=0>863<0g860>;5lj0>863=de860>;5ll0>863=dg860>;5m90>863=e0860>;5m;0>863=e2860>;5mm0>863=ed860>;5mo0>863=f1860>;5n80>863=f3860>;5n:0>863=f5860>;5n<0>863=fe860>;5nl0>863=fg860>;4890>863<00860>;48;0>863<02860>;6n<0>863>f7860>;6n>0>863>f9860>;6n00>863>f`860>;6nk0>863>fb860>;6nm0>863>ad860>;6io0>863>b1860>;6j80>863>b3860>;6j:0>863>b5860>;6j<0>863>b7860>;6l80>863>d3860>;6l:0>863>d5860>;6l<0>863>d7860>;6l>0>863>d9860>;6l00>863>8`860>;60k0>863>8b860>;60m0>863>8d860>;60o0>863>91860>;6180>863>93860>;4:;0>863<09850>{t:191<7jt=3:`>4253488h7j;;<355?b5348==7j=;<056?b3348=i7j;;<04=?b1348=j7j:;<046?b1348<87j8;<13a?b6349;47=8;<064?b23ty9494?:4y>6=b=9=801?=k:e0894052m801<8>:e18966?2:20q~<75;291~;50l0:8?5222d9`1=:9?91h?521709`6=:;921?45rs3:5>5<2s483j7?;2:?17c:6i<4=045>a4<58<>6i=4=22;>7c55z?1=7<6<;16>9=5d59>531=l;16=;85d29>75>=:o1v?6n:18684>;3;?>63=428g6>;6>10o>63>668g7>;48108<6s|29`94?3|5;3?6<:=;<3b0?0a348?97j=;<35o70=?8;37a>;48k0o?6s|37c94?4|V:k0q~=70;296~X40916?=657c9~w6>32909wS=74:?04=<0k2wx?5;50;0xZ6>2349;479k;|q0<3<72;qU?584=22;>2c52z\0<2=:;921;k5rs2:;>5<5sW93463<098;4>{t;131<77}Y;1k01>>7:908yv51j3:1>vP<6c9>75>=?:1v>8l:181[51k278<5484:p73b=838pR>8k;<13;4810<56s|36394?4|V:=:70=?8;:0?xu4?;0;6?uQ3608966?21h0q~=83;296~X4?:16?=658b9~w6132909wS=84:?04==`52z\03==:;9215=5rs25:>5<5sW9<563<098:5>{t;>k1<77}Y;>h01>>7:818yv50k3:1>vP<7b9>75>=0=1v>9k:181[50l278<5475:p72c=838pR>9j;<1313ty8;k4?:3y]72`<5::36594}r1;5?6=:rT84<5231:9<==z{:286=4={_1;7>;48103m6s|2g494?2|5;lo6<:=;<35f?b534;=m7j<;<136cc=9=801<8l:e08940e2m901>>7:5d8yv4a03:18v3=fg8207=:9?n1h?5217a9`6=:;9219=5rs3d:>5<3s49;<7?;2:?22`ko50;6x966628>970?9f;f1?871m3n870=?8;67?xu5nk0;69u23109514<58=;6i<4=04e>a5<5::369;4}r0eg?6=4>439>5cb=>o16=:>5d29>75>=<>1v?8?:18184?k3{t:?91<7ot=35a>4253483h78i;<055?b4348=>7j<;<05a?b5348<57j<;<05b?b3348<>7j:;<040?b1348><7j;;|q121<720q6>:m5150897>b2?l01?;=:e6897052m801?8j:e18971>2m>01?8i:e1897152m901?9;:e18yv41=3:15v3=7e8207=::1l1:k5226:9`3=::><1h85226;9`0=::?l1h?522609`1=::>>1h9522409`0=z{;<=6=47{<04a?73:2795=49f:?1119310;6;u22929514<5;396;h4=375>a2<5;=36i=4=355>a4<5;=j6i:4}r05=?6==r794<4>439>6<5=>o16>885d39>62>=l;16>:o5d49~w70f290?w0<72;376>;51=0=j63=598g6>;5?00o>6s|24c94?5|5;?o6;h4=37f>3`<5;?i6<=6;|q11f<72;q6>9k512;8973e2m?0q~<:9;296~;5;k0:?45224`9`1=z{;i?6=4k{<0gg?73:279ih49f:?1f64k5:?1`0279hl4k3:?042n;50;;x97bc28>97070<}::mo1=9<4=3d3>3`<5;h>6i=4=3f:>a0<5;n<6i;4=3f3>a4<5;n86i:4=3f6>a2<5;nj6i;4}r0`3?6=0r79hk4>439>6c7=>o16>o95d49>6a?=l<16>i95d59>6a5=l;16>i;5d49>6ag=l?1v?m7:18484b83;?>63=f385b>;5j>0o?63=d88g0>;5l>0o?63=d48g6>;5lk0o>6s|2b;94?0|5;o:6<:=;<0e7?0a348i57j:;<0g=?b4348o;7j=;<0gf?b43ty9ol4?:4y>6`4=9=801?h;:7d897d>2m901?j6:e0897be2m>0q~522ec9`7=z{;o?6=4l{<0f`?73:279m=4k5:?1f6279h84k7:?1`g6}::ll1=9<4=3dg>3`<5;k96i;4}r0f3?6=;r79j=4>439>6cc=>o16>l<5d29~w7c?2908w0;5no0=j63=a58g1>{t:l31<7=t=3d1>425349;<78i;<0b0?b43ty9il4?:2y>6c5=9=801>>>:7d897g12m?0q~5rs3g`>5<4s48m97?;2:?046<1n279m54k3:p6g`=839p1?li:061?84d93n870<65;f7?xu5jm0;6>u22cd92c=::j:1:k52287956?52z?1f4<6;016>4;5d79~w7dd2909w0<6e;30=>;51<0o96s|33294?2|5:;=6<:?;<123?738278=54>419>777=9:30q~==6;297~;49k0:8=5230a9516<5:8<6<=6;|q05a<72:q6?<>:e08yv56n3:1>v3<1g8207=:;;;1h>5rs23f>5<4s49:h7;:;<12a?73:278=k49f:p774=83>p1><<:7d896402m801><::e18964528>97p}<2583>7}:;;>1=9<4=204>a553z?066<6<;16??:56g9>773=l;1v>?=:181856:3;?>63<0g85b>{t;8:1<7425349:=78i;|q1=<<72;q6>4k5569>6j3?<7p}=a483>7}::0n1=8=4=3c5>45>3ty9m>4?:3y>64o5141897g728927p}=a683>7}::0o1=8=4=3c;>45>3ty9mn4?:3y>6g7==>16>o>512;8yv4fj3:1>v3=ag827<=::k:19:5rs3cb>5<5s48ji7?<9:?1ec<2?2wx>l750;0x97gc289270lh5141897d028927p}=b583>7}::ho1=8=4=3`6>45>3ty9n?4?:3y>6db=9<901?l<:01:?xu5jh0;6?u22c39505<5;hi6<=6;|q173<72;q6>>l5569>66g=9:30q~<<5;296~;5;00:?45222c912=z{;9?6=4={<007}:::k1=8=4=360>45>3ty98=4?:3y>66?=9<901?:>:01:?xu5;l0;6?u222:9505<5;9m6<=6;|q17f<72;q6>>951418975c28927p}=4583>7}:::h1=8=4=366>45>3ty9844?:3y>61c==>16>9j512;8yv4303:1>v3=4b827<=::=n19:5rs364>5<5s48?n7?<9:?10f<2?2wx>9850;0x972f289270<;b;74?xu5=<0;6?u225f9505<5;?=6<=6;|q116<72;q6>9m51418973328927p}=5083>7}::=h1=8=4=371>45>3ty98k4?:3y>61g=9<901?;?:01:?xu5=>0;6?u225g9505<5;?36<=6;|q135<72:q6>:65d69>620=l?16>;k512;8yv41j3:1>v3=7c85b>;5>80:?45rs34`>5<5s48;j50;0x971c2?l01?8i:01:?xu5?80;6?u226g92c=::>81=>74}r047?6=:r79;k49f:?131<6;01v?9::18184?83{t:>=1<73`<5;=36<=6;|q13<<72;q6>5<56g9>62?=9:30q~;5ko0:?45rs3a`>5<5s48oo78i;<0`6?7412wx>nj50;0x97bc2?l01?m<:01:?xu5kl0;6?u22eg92c=::m:1=>74}r0g6?6=:r79hk49f:?1`6<6;01v?j;:18184b83{t:m<1<73`<5;n<6<=6;|q1`=<72;q6>h<56g9>6a?=9:30q~7}:9l<1:k52234956?52z?2a2<1n279>94>389~w7442908w0?j8;4e?845:3;8563=1b8g3>{t:;:1<73`<5;8:6<=6;|q15`<72:q6=ho56g9>64`=9:301?<7:e58yv7dm3:1>v3>8c85b>;6kj0:?45rs0aa>5<5s4;3o78i;<3`e?7412wx=n750;0x94>c2?l010;6?u219g92c=:9j<1=>74}r3`1?6=;r7:4k49f:?2g1<6;016=nh5d69~w4e52909w0?60;4e?87d;3;856s|1b294?5|583:6;h4=0a2>45>34;hm7j8;|q234<72;q6=4m56g9>537=9:30q~?82;296~;61m0=j63>63827<=z{8=86=4={<3:a?0a34;=?7?<9:p522=838p1<7i:7d8940328927p}>7483>7}:9h:1:k52177956?52z?2e4<1n27::;4>389~w4102909w0?n2;4e?871?3;856s|16:94?4|58k86;h4=04;>45>3ty:;44?:3y>5c3=>o16=;7512;8yv70i3:1>v3>f785b>;6>h0:?45rs05a>5<5s4;m;78i;<35f?7412wx=:m50;0x94`?2?l01<8l:01:?xu6?m0;6?u21g;92c=:9?n1=>74}r34a?6=:r7:jl49f:?22`<6;01v<9i:18187aj3{t91:1<73`<58=;6<=6;|q15a<72;q6=h=56g9>64e=9:30q~?k0;296~;60h0=j63>cg827<=z{8386=4={<3:g?73:27:mh49f:p5<2=838p1<7k:061?87fn39483>7}:90o1=9<4=0`3>3`52z?2=c<6<;16=o?56g9~w4?02909w0?n0;376>;6j;0=j6s|18:94?4|58k:6<:=;<3a7?0a3ty:544?:3y>5d4=9=801i3:1>v3>a28207=:9k?1:k5rs0;a>5<5s4;j87?;2:?2f3<1n2wx><>50;0x974f28>970<>c;f5?xu5980;6>u223`9514<5;;h6i=4=33:>a57>54z?16f<6<;16>67>=l;16><75d39~w774290>w0<=d;376>;5:?0o>63=1b8g1>;5:10o863=188g1>{t:8>1<78t=30f>425348987j=;<012?b4348:o7j;;<01?h5150897452m801?<;:e1897412m>01?<7:e48977f2m80q~<>6;293~;5;90:8?522339`1=::;81h>522369`1=::;<1h85223:9`0=::831h;5rs334>5<0s488=7?;2:?15c<4k2:?16794k5:?163279=l4k4:p64>=832p1?==:061?87bj3f;f0?84593n870<=2;f6?845<3n=70<=6;f4?846i3n87p}>fd83>7}::9=1=9<4=30b>3`52z?14=<6<;16>?l56g9~w7672909w0;5:j0=j6s|21394?4|5;:j6<:=;<01`?0a3ty965d=9=801?v3=0b8207=::;l1:k5rs327>5<5s48;h7?;2:?175<1n2wx>=;50;0x976b28>970<<1;4e?xu58?0;6?u221d9514<5;996;h4}r3fg?6=:r7:j84>439>651=>o1v3;?>63=0985b>{t9lo1<7425348;578i;|q2ac<72;q6=k651508976f2?l0q~?i0;296~;6n00:8?5221`92c=z{8l:6=4={<3ee?73:279f283>7}:9oi1=9<4=32f>3`52z?2ba<6<;16>=h56g9~w4d02909w0?k1;376>;6ko0o:6s|1c:94?5|58n96<:=;<3`b?b434;ho7j<;|q2f<<72=q6=i=5150894ea2m8015<1s4;o97?;2:?2g3970?l4;f1?87d>3n870?l8;f7?87di3n=70?ld;f1?xu6jm0;6:u21e59514<58i86i:4=0a7>a5<58i=6i:4=0a;>a3<58ij6i;4=0a`>a057z?2`=<6<;16=n?5d39>5f5=l;16=n:5d59>5f0=l<16=n65d79>5fb=l=1v63>9385b>;6k80o?63>c28g7>;6k=0o963>c78g2>;6k10o;63>ce8g7>{t9h?1<742534;o=78i;|q2e3<72;q6=lh5150894b52?l0q~?n7;296~;6j90:8?521e192c=z{8k36=4={<3a5?73:27:h949f:p5d?=838p1a`83>7}:9k91=9<4=0f5>3`52z?2f1<6<;16=i956g9~w4gd2909w0?m5;376>;6l10=j6s|1`f94?4|58h=6<:=;<3g=?0a3ty8<94?:2y>6`b=>o16?=;512;8966?2=i0q~=?6;296~;48>0:?45231:90a=z{8986=4={<3``?74127:on4k7:p562=838p1??n:01:?84613n<7p}<2483>7}:;;?1=>74=201>3`52z?13d<6;016>:75d69~w4512909w0;5lh0o;6srn4aa>5<6sA9946sa5ba94?7|@:837p`:ce83>4}O;;20qc;le;295~N4:11vb8mi:182M5502we9i>50;3xL64?3td>h<4?:0yK77>7>51zJ06==zf{I11<>{i=m>1<7?tH20;?xh2l<0;63:1=vF<299~j0b0290:wE==8:m1a>=83;pD><7;|l6`<<728qC??64}o7ge?6=9rB8>55rn4fa>5<6sA9946sa5ea94?7|@:837p`:de83>4}O;;20qc;ke;295~N4:11vb8ji:182M5502we9h>50;3xL64?3td>i<4?:0yK77>7>51zJ06==zf{I11<>{i=l>1<7?tH20;?xh2m<0;63:1=vF<299~j0c0290:wE==8:m1`>=83;pD><7;|l6a<<728qC??64}o7fe?6=9rB8>55rn4ga>5<6sA9946sa5da94?7|@:837p`:ee83>4}O;;20qc;je;295~N4:11vb8ki:182M5502we9k>50;3xL64?3td>j<4?:0yK77>7>51zJ06==zf{I11<>{i=o>1<7?tH20;?xh2n<0;63:1=vF<299~j0`0290:wE==8:m1c>=83;pD><7;|l6b<<728qC??64}o7ee?6=9rB8>55rn4da>5<6sA9946sa5ga94?7|@:837p`:fe83>4}O;;20qc;ie;295~N4:11vb8hi:182M5502we:=>50;3xL64?3td=<<4?:0yK77>7>51zJ06==zf?:86=4>{I11<>{i>9>1<7?tH20;?xh18<0;63:1=vF<299~j360290:wE==8:m25>=83;pD><7;|l54<<728qC??64}o43e?6=9rB8>55rn72a>5<6sA9946sa61a94?7|@:837p`90e83>4}O;;20qc8?e;295~N4:11vb;>i:182M5502we:<>50;3xL64?3td==<4?:0yK77>7>51zJ06==zf?;86=4>{I11<>{i>8>1<7?tH20;?xh19<0;63:1=vF<299~j370290:wE==8:m24>=83;pD><7;|l55<<728qC??64}o42e?6=9rB8>55rn73a>5<6sA9946sa60a94?7|@:837p`91e83>4}O;;20qc8>e;295~N4:11vb;?i:182M5502we:?>50;3xL64?3td=><4?:0yK77>7>51zJ06==zf?886=4>{I11<>{i>;>1<7?tH20;?xh1:<0;63:1=vF<299~j340290:wE==8:m27>=83;pD><7;|l56<<728qC??64}o41e?6=9rB8>55rn70a>5<6sA9946sa63a94?7|@:837p`92e83>4}O;;20qc8=e;295~N4:11vb;>50;3xL64?3td=?<4?:0yK77>7>51zJ06==zf?986=4>{I11<>{i>:>1<7?tH20;?xh1;<0;63:1=vF<299~j350290:wE==8:m26>=83;pD><7;|l57<<728qC??64}o40e?6=9rB8>55rn71a>5<6sA9946sa62a94?7|@:837p`93e83>4}O;;20qc850;3xL64?3td=8<4?:0yK77>7>51zJ06==zf?>86=4>{I11<>{i>=>1<7?tH20;?xh1<<0;63:1=vF<299~j320290:wE==8:m21>=83;pD><7;|l50<<728qC??64}o47e?6=9rB8>55rn76a>5<6sA9946sa65a94?7|@:837p`94e83>4}O;;20qc8;e;295~N4:11vb;:i:182M5502we:8>50;3xL64?3td=9<4?:0yK77>>7>51zJ06==zf??86=4>{I11<>{i><>1<7?tH20;?xh1=<0;63:1=vF<299~j330290:wE==8:m20>=83;pD><7;|l51<<728qC??64}o46e?6=9rB8>55rn77a>5<6sA9946sa64a94?7|@:837p`95e83>4}O;;20qc8:e;295~N4:11vb;;i:182M5502we:;>50;3xL64?3td=:<4?:0yK77>7>51zJ06==zf?<86=4>{I11<>{i>?>1<7?tH20;?xh1><0;63:1=vF<299~j300290:wE==8:m23>=83;pD><7;|l52<<728qC??64}o45e?6=9rB8>55rn74a>5<6sA9946sa67a94?7|@:837p`96e83>4}O;;20qc89e;295~N4:11vb;8i:182M5502we::>50;3xL64?3td=;<4?:0yK77>7>51zJ06==zf?=86=4>{I11<>{i>>>1<7?tH20;?xh1?<0;63:1=vF<299~j310290:wE==8:m22>=83;pD><7;|l53<<728qC??64}o44e?6=9rB8>55rn75a>5<6sA9946sa66a94?7|@:837p`97e83>4}O;;20qc88e;295~N4:11vb;9i:182M5502we:5>50;3xL64?3td=4<4?:0yK77>7>51zJ06==zf?286=4>{I11<>{i>1>1<7?tH20;?xh10<0;63:1=vF<299~j3>0290:wE==8:m2=>=83;pD><7;|l5<<<728qC??64}o4;e?6=9rB8>55rn7:a>5<6sA9946sa69a94?7|@:837p`98e83>4}O;;20qc87e;295~N4:11vb;6i:182M5502we:4>50;3xL64?3td=5<4?:0yK77>7>51zJ06==zf?386=4>{I11<>{i>0>1<7?tH20;?xh11<0;6>3:1=vF<299~j3?0290:wE==8:m2<>=83;pD><7;|l5=<<728qC??64}o4:e?6=9rB8>55rn7;a>5<6sA9946sa68a94?7|@:837p`99e83>4}O;;20qc86e;295~N4:11vb;7i:182M5502we:l>50;3xL64?3td=m<4?:0yK77>7>51zJ06==zf?k86=4>{I11<>{i>h>1<7?tH20;?xh1i<0;63:1=vF<299~j3g0290:wE==8:m2d>=83;pD><7;|l5e<<728qC??64}o4be?6=9rB8>55rn7ca>5<6sA9946sa6`a94?7|@:837p`9ae83>4}O;;20qc8ne;295~N4:11vb;oi:182M5502we:o>50;3xL64?3td=n<4?:0yK77>7>51zJ06==zf?h86=4>{I11<>{i>k>1<7?tH20;?xh1j<0;63:1=vF<299~j3d0290:wE==8:m2g>=83;pD><7;|l5f<<728qC??64}o4ae?6=9rB8>55rn7`a>5<6sA9946sa6ca94?7|@:837p`9be83>4}O;;20qc8me;295~N4:11vb;li:182M5502we:n>50;3xL64?3td=o<4?:0yK77>7>51zJ06==zf?i86=4>{I11<>{i>j>1<7?tH20;?xh1k<0;63:1=vF<299~j3e0290:wE==8:m2f>=83;pD><7;|l5g<<728qC??64}o4`e?6=9rB8>55rn7aa>5<6sA9946sa6ba94?7|@:837p`9ce83>4}O;;20qc8le;295~N4:11vb;mi:182M5502we:i>50;3xL64?3td=h<4?:0yK77>7>51zJ06==zf?n86=4>{I11<>{i>m>1<7?tH20;?xh1l<0;63:1=vF<299~j3b0290:wE==8:m2a>=83;pD><7;|l5`<<728qC??64}o4ge?6=9rB8>55rn7fa>5<6sA9946sa6ea94?7|@:837p`9de83>4}O;;20qc8ke;295~N4:11vb;ji:182M5502we:h>50;3xL64?3td=i<4?:0yK77>7>51zJ06==zf?o86=4>{I11<>{i>l>1<7?tH20;?xh1m<0;63:1=vF<299~j3c0290:wE==8:m2`>=83;pD><7;|l5a<<728qC??64}o4fe?6=9rB8>55rn7ga>5<6sA9946sa6da94?7|@:837p`9ee83>4}O;;20qc8je;295~N4:11vb;ki:182M5502we:k>50;3xL64?3td=j<4?:0yK77>7>51zJ06==zf?l86=4>{I11<>{i>o>1<7?tH20;?xh1n<0;63:1=vF<299~j3`0290:wE==8:m2c>=83;pD><7;|l5b<<728qC??64}o4ee?6=9rB8>55rn7da>5<6sA9946sa6ga94?7|@:837p`9fe83>4}O;;20qc8ie;295~N4:11vqpsO@By;76>r@A@x4xFGXrwKL \ No newline at end of file diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vhd b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vhd new file mode 100644 index 0000000..1c37393 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vhd @@ -0,0 +1,282 @@ +-------------------------------------------------------------------------------- +-- This file is owned and controlled by Xilinx and must be used solely -- +-- for design, simulation, implementation and creation of design files -- +-- limited to Xilinx devices or technologies. Use with non-Xilinx -- +-- devices or technologies is expressly prohibited and immediately -- +-- terminates your license. -- +-- -- +-- XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY -- +-- FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY -- +-- PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE -- +-- IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS -- +-- MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY -- +-- CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY -- +-- RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY -- +-- DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE -- +-- IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR -- +-- REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF -- +-- INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -- +-- PARTICULAR PURPOSE. -- +-- -- +-- Xilinx products are not intended for use in life support appliances, -- +-- devices, or systems. Use in such applications are expressly -- +-- prohibited. -- +-- -- +-- (c) Copyright 1995-2012 Xilinx, Inc. -- +-- All rights reserved. -- +-------------------------------------------------------------------------------- +-------------------------------------------------------------------------------- +-- You must compile the wrapper file async_fifo_512x32.vhd when simulating +-- the core, async_fifo_512x32. When compiling the wrapper file, be sure to +-- reference the XilinxCoreLib VHDL simulation library. For detailed +-- instructions, please refer to the "CORE Generator Help". + +-- The synthesis directives "translate_off/translate_on" specified +-- below are supported by Xilinx, Mentor Graphics and Synplicity +-- synthesis tools. Ensure they are correct for your synthesis tool(s). + +LIBRARY ieee; +USE ieee.std_logic_1164.ALL; +-- synthesis translate_off +LIBRARY XilinxCoreLib; +-- synthesis translate_on +ENTITY async_fifo_512x32 IS + PORT ( + rst : IN STD_LOGIC; + wr_clk : IN STD_LOGIC; + rd_clk : IN STD_LOGIC; + din : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + wr_en : IN STD_LOGIC; + rd_en : IN STD_LOGIC; + dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + full : OUT STD_LOGIC; + empty : OUT STD_LOGIC + ); +END async_fifo_512x32; + +ARCHITECTURE async_fifo_512x32_a OF async_fifo_512x32 IS +-- synthesis translate_off +COMPONENT wrapped_async_fifo_512x32 + PORT ( + rst : IN STD_LOGIC; + wr_clk : IN STD_LOGIC; + rd_clk : IN STD_LOGIC; + din : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + wr_en : IN STD_LOGIC; + rd_en : IN STD_LOGIC; + dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + full : OUT STD_LOGIC; + empty : OUT STD_LOGIC + ); +END COMPONENT; + +-- Configuration specification + FOR ALL : wrapped_async_fifo_512x32 USE ENTITY XilinxCoreLib.fifo_generator_v8_3(behavioral) + GENERIC MAP ( + c_add_ngc_constraint => 0, + c_application_type_axis => 0, + c_application_type_rach => 0, + c_application_type_rdch => 0, + c_application_type_wach => 0, + c_application_type_wdch => 0, + c_application_type_wrch => 0, + c_axi_addr_width => 32, + c_axi_aruser_width => 1, + c_axi_awuser_width => 1, + c_axi_buser_width => 1, + c_axi_data_width => 64, + c_axi_id_width => 4, + c_axi_ruser_width => 1, + c_axi_type => 0, + c_axi_wuser_width => 1, + c_axis_tdata_width => 64, + c_axis_tdest_width => 4, + c_axis_tid_width => 8, + c_axis_tkeep_width => 4, + c_axis_tstrb_width => 4, + c_axis_tuser_width => 4, + c_axis_type => 0, + c_common_clock => 0, + c_count_type => 0, + c_data_count_width => 9, + c_default_value => "BlankString", + c_din_width => 32, + c_din_width_axis => 1, + c_din_width_rach => 32, + c_din_width_rdch => 64, + c_din_width_wach => 32, + c_din_width_wdch => 64, + c_din_width_wrch => 2, + c_dout_rst_val => "0", + c_dout_width => 32, + c_enable_rlocs => 0, + c_enable_rst_sync => 1, + c_error_injection_type => 0, + c_error_injection_type_axis => 0, + c_error_injection_type_rach => 0, + c_error_injection_type_rdch => 0, + c_error_injection_type_wach => 0, + c_error_injection_type_wdch => 0, + c_error_injection_type_wrch => 0, + c_family => "virtex6", + c_full_flags_rst_val => 1, + c_has_almost_empty => 0, + c_has_almost_full => 0, + c_has_axi_aruser => 0, + c_has_axi_awuser => 0, + c_has_axi_buser => 0, + c_has_axi_rd_channel => 0, + c_has_axi_ruser => 0, + c_has_axi_wr_channel => 0, + c_has_axi_wuser => 0, + c_has_axis_tdata => 0, + c_has_axis_tdest => 0, + c_has_axis_tid => 0, + c_has_axis_tkeep => 0, + c_has_axis_tlast => 0, + c_has_axis_tready => 1, + c_has_axis_tstrb => 0, + c_has_axis_tuser => 0, + c_has_backup => 0, + c_has_data_count => 0, + c_has_data_counts_axis => 0, + c_has_data_counts_rach => 0, + c_has_data_counts_rdch => 0, + c_has_data_counts_wach => 0, + c_has_data_counts_wdch => 0, + c_has_data_counts_wrch => 0, + c_has_int_clk => 0, + c_has_master_ce => 0, + c_has_meminit_file => 0, + c_has_overflow => 0, + c_has_prog_flags_axis => 0, + c_has_prog_flags_rach => 0, + c_has_prog_flags_rdch => 0, + c_has_prog_flags_wach => 0, + c_has_prog_flags_wdch => 0, + c_has_prog_flags_wrch => 0, + c_has_rd_data_count => 0, + c_has_rd_rst => 0, + c_has_rst => 1, + c_has_slave_ce => 0, + c_has_srst => 0, + c_has_underflow => 0, + c_has_valid => 0, + c_has_wr_ack => 0, + c_has_wr_data_count => 0, + c_has_wr_rst => 0, + c_implementation_type => 2, + c_implementation_type_axis => 1, + c_implementation_type_rach => 1, + c_implementation_type_rdch => 1, + c_implementation_type_wach => 1, + c_implementation_type_wdch => 1, + c_implementation_type_wrch => 1, + c_init_wr_pntr_val => 0, + c_interface_type => 0, + c_memory_type => 1, + c_mif_file_name => "BlankString", + c_msgon_val => 1, + c_optimization_mode => 0, + c_overflow_low => 0, + c_preload_latency => 1, + c_preload_regs => 0, + c_prim_fifo_type => "512x36", + c_prog_empty_thresh_assert_val => 2, + c_prog_empty_thresh_assert_val_axis => 1022, + c_prog_empty_thresh_assert_val_rach => 1022, + c_prog_empty_thresh_assert_val_rdch => 1022, + c_prog_empty_thresh_assert_val_wach => 1022, + c_prog_empty_thresh_assert_val_wdch => 1022, + c_prog_empty_thresh_assert_val_wrch => 1022, + c_prog_empty_thresh_negate_val => 3, + c_prog_empty_type => 0, + c_prog_empty_type_axis => 5, + c_prog_empty_type_rach => 5, + c_prog_empty_type_rdch => 5, + c_prog_empty_type_wach => 5, + c_prog_empty_type_wdch => 5, + c_prog_empty_type_wrch => 5, + c_prog_full_thresh_assert_val => 509, + c_prog_full_thresh_assert_val_axis => 1023, + c_prog_full_thresh_assert_val_rach => 1023, + c_prog_full_thresh_assert_val_rdch => 1023, + c_prog_full_thresh_assert_val_wach => 1023, + c_prog_full_thresh_assert_val_wdch => 1023, + c_prog_full_thresh_assert_val_wrch => 1023, + c_prog_full_thresh_negate_val => 508, + c_prog_full_type => 0, + c_prog_full_type_axis => 5, + c_prog_full_type_rach => 5, + c_prog_full_type_rdch => 5, + c_prog_full_type_wach => 5, + c_prog_full_type_wdch => 5, + c_prog_full_type_wrch => 5, + c_rach_type => 0, + c_rd_data_count_width => 9, + c_rd_depth => 512, + c_rd_freq => 1, + c_rd_pntr_width => 9, + c_rdch_type => 0, + c_reg_slice_mode_axis => 0, + c_reg_slice_mode_rach => 0, + c_reg_slice_mode_rdch => 0, + c_reg_slice_mode_wach => 0, + c_reg_slice_mode_wdch => 0, + c_reg_slice_mode_wrch => 0, + c_underflow_low => 0, + c_use_common_overflow => 0, + c_use_common_underflow => 0, + c_use_default_settings => 0, + c_use_dout_rst => 1, + c_use_ecc => 0, + c_use_ecc_axis => 0, + c_use_ecc_rach => 0, + c_use_ecc_rdch => 0, + c_use_ecc_wach => 0, + c_use_ecc_wdch => 0, + c_use_ecc_wrch => 0, + c_use_embedded_reg => 0, + c_use_fifo16_flags => 0, + c_use_fwft_data_count => 0, + c_valid_low => 0, + c_wach_type => 0, + c_wdch_type => 0, + c_wr_ack_low => 0, + c_wr_data_count_width => 9, + c_wr_depth => 512, + c_wr_depth_axis => 1024, + c_wr_depth_rach => 16, + c_wr_depth_rdch => 1024, + c_wr_depth_wach => 16, + c_wr_depth_wdch => 1024, + c_wr_depth_wrch => 16, + c_wr_freq => 1, + c_wr_pntr_width => 9, + c_wr_pntr_width_axis => 10, + c_wr_pntr_width_rach => 4, + c_wr_pntr_width_rdch => 10, + c_wr_pntr_width_wach => 4, + c_wr_pntr_width_wdch => 10, + c_wr_pntr_width_wrch => 4, + c_wr_response_latency => 1, + c_wrch_type => 0 + ); +-- synthesis translate_on +BEGIN +-- synthesis translate_off +U0 : wrapped_async_fifo_512x32 + PORT MAP ( + rst => rst, + wr_clk => wr_clk, + rd_clk => rd_clk, + din => din, + wr_en => wr_en, + rd_en => rd_en, + dout => dout, + full => full, + empty => empty + ); +-- synthesis translate_on + +END async_fifo_512x32_a; diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vho b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vho new file mode 100644 index 0000000..d5e22e8 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.vho @@ -0,0 +1,92 @@ +-------------------------------------------------------------------------------- +-- This file is owned and controlled by Xilinx and must be used solely -- +-- for design, simulation, implementation and creation of design files -- +-- limited to Xilinx devices or technologies. Use with non-Xilinx -- +-- devices or technologies is expressly prohibited and immediately -- +-- terminates your license. -- +-- -- +-- XILINX IS PROVIDING THIS DESIGN, CODE, OR INFORMATION "AS IS" SOLELY -- +-- FOR USE IN DEVELOPING PROGRAMS AND SOLUTIONS FOR XILINX DEVICES. BY -- +-- PROVIDING THIS DESIGN, CODE, OR INFORMATION AS ONE POSSIBLE -- +-- IMPLEMENTATION OF THIS FEATURE, APPLICATION OR STANDARD, XILINX IS -- +-- MAKING NO REPRESENTATION THAT THIS IMPLEMENTATION IS FREE FROM ANY -- +-- CLAIMS OF INFRINGEMENT, AND YOU ARE RESPONSIBLE FOR OBTAINING ANY -- +-- RIGHTS YOU MAY REQUIRE FOR YOUR IMPLEMENTATION. XILINX EXPRESSLY -- +-- DISCLAIMS ANY WARRANTY WHATSOEVER WITH RESPECT TO THE ADEQUACY OF THE -- +-- IMPLEMENTATION, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OR -- +-- REPRESENTATIONS THAT THIS IMPLEMENTATION IS FREE FROM CLAIMS OF -- +-- INFRINGEMENT, IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A -- +-- PARTICULAR PURPOSE. -- +-- -- +-- Xilinx products are not intended for use in life support appliances, -- +-- devices, or systems. Use in such applications are expressly -- +-- prohibited. -- +-- -- +-- (c) Copyright 1995-2012 Xilinx, Inc. -- +-- All rights reserved. -- +-------------------------------------------------------------------------------- + +-------------------------------------------------------------------------------- +-- Generated from core with identifier: xilinx.com:ip:fifo_generator:8.3 -- +-- -- +-- The FIFO Generator is a parameterizable first-in/first-out memory -- +-- queue generator. Use it to generate resource and performance -- +-- optimized FIFOs with common or independent read/write clock domains, -- +-- and optional fixed or programmable full and empty flags and -- +-- handshaking signals. Choose from a selection of memory resource -- +-- types for implementation. Optional Hamming code based error -- +-- detection and correction as well as error injection capability for -- +-- system test help to insure data integrity. FIFO width and depth are -- +-- parameterizable, and for native interface FIFOs, asymmetric read and -- +-- write port widths are also supported. -- +-------------------------------------------------------------------------------- + +-- Interfaces: +-- AXI4Stream_MASTER_M_AXIS +-- AXI4Stream_SLAVE_S_AXIS +-- AXI4_MASTER_M_AXI +-- AXI4_SLAVE_S_AXI +-- AXI4Lite_MASTER_M_AXI +-- AXI4Lite_SLAVE_S_AXI + +-- The following code must appear in the VHDL architecture header: + +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +COMPONENT async_fifo_512x32 + PORT ( + rst : IN STD_LOGIC; + wr_clk : IN STD_LOGIC; + rd_clk : IN STD_LOGIC; + din : IN STD_LOGIC_VECTOR(31 DOWNTO 0); + wr_en : IN STD_LOGIC; + rd_en : IN STD_LOGIC; + dout : OUT STD_LOGIC_VECTOR(31 DOWNTO 0); + full : OUT STD_LOGIC; + empty : OUT STD_LOGIC + ); +END COMPONENT; +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ + +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. + +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : async_fifo_512x32 + PORT MAP ( + rst => rst, + wr_clk => wr_clk, + rd_clk => rd_clk, + din => din, + wr_en => wr_en, + rd_en => rd_en, + dout => dout, + full => full, + empty => empty + ); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ + +-- You must compile the wrapper file async_fifo_512x32.vhd when simulating +-- the core, async_fifo_512x32. When compiling the wrapper file, be sure to +-- reference the XilinxCoreLib VHDL simulation library. For detailed +-- instructions, please refer to the "CORE Generator Help". + diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xco b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xco new file mode 100644 index 0000000..39a4720 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xco @@ -0,0 +1,217 @@ +############################################################## +# +# Xilinx Core Generator version 13.3 +# Date: Thu Jul 26 14:36:50 2012 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:fifo_generator:8.3 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Fifo_Generator xilinx.com:ip:fifo_generator:8.3 +# END Select +# BEGIN Parameters +CSET add_ngc_constraint_axi=false +CSET almost_empty_flag=false +CSET almost_full_flag=false +CSET aruser_width=1 +CSET awuser_width=1 +CSET axi_address_width=32 +CSET axi_data_width=64 +CSET axi_type=AXI4_Stream +CSET axis_type=FIFO +CSET buser_width=1 +CSET clock_enable_type=Slave_Interface_Clock_Enable +CSET clock_type_axi=Common_Clock +CSET component_name=async_fifo_512x32 +CSET data_count=false +CSET data_count_width=9 +CSET disable_timing_violations=false +CSET disable_timing_violations_axi=false +CSET dout_reset_value=0 +CSET empty_threshold_assert_value=2 +CSET empty_threshold_assert_value_axis=1022 +CSET empty_threshold_assert_value_rach=1022 +CSET empty_threshold_assert_value_rdch=1022 +CSET empty_threshold_assert_value_wach=1022 +CSET empty_threshold_assert_value_wdch=1022 +CSET empty_threshold_assert_value_wrch=1022 +CSET empty_threshold_negate_value=3 +CSET enable_aruser=false +CSET enable_awuser=false +CSET enable_buser=false +CSET enable_common_overflow=false +CSET enable_common_underflow=false +CSET enable_data_counts_axis=false +CSET enable_data_counts_rach=false +CSET enable_data_counts_rdch=false +CSET enable_data_counts_wach=false +CSET enable_data_counts_wdch=false +CSET enable_data_counts_wrch=false +CSET enable_ecc=false +CSET enable_ecc_axis=false +CSET enable_ecc_rach=false +CSET enable_ecc_rdch=false +CSET enable_ecc_wach=false +CSET enable_ecc_wdch=false +CSET enable_ecc_wrch=false +CSET enable_handshake_flag_options_axis=false +CSET enable_handshake_flag_options_rach=false +CSET enable_handshake_flag_options_rdch=false +CSET enable_handshake_flag_options_wach=false +CSET enable_handshake_flag_options_wdch=false +CSET enable_handshake_flag_options_wrch=false +CSET enable_read_channel=false +CSET enable_read_pointer_increment_by2=false +CSET enable_reset_synchronization=true +CSET enable_ruser=false +CSET enable_tdata=false +CSET enable_tdest=false +CSET enable_tid=false +CSET enable_tkeep=false +CSET enable_tlast=false +CSET enable_tready=true +CSET enable_tstrobe=false +CSET enable_tuser=false +CSET enable_write_channel=false +CSET enable_wuser=false +CSET fifo_application_type_axis=Data_FIFO +CSET fifo_application_type_rach=Data_FIFO +CSET fifo_application_type_rdch=Data_FIFO +CSET fifo_application_type_wach=Data_FIFO +CSET fifo_application_type_wdch=Data_FIFO +CSET fifo_application_type_wrch=Data_FIFO +CSET fifo_implementation=Independent_Clocks_Block_RAM +CSET fifo_implementation_axis=Common_Clock_Block_RAM +CSET fifo_implementation_rach=Common_Clock_Block_RAM +CSET fifo_implementation_rdch=Common_Clock_Block_RAM +CSET fifo_implementation_wach=Common_Clock_Block_RAM +CSET fifo_implementation_wdch=Common_Clock_Block_RAM +CSET fifo_implementation_wrch=Common_Clock_Block_RAM +CSET full_flags_reset_value=1 +CSET full_threshold_assert_value=509 +CSET full_threshold_assert_value_axis=1023 +CSET full_threshold_assert_value_rach=1023 +CSET full_threshold_assert_value_rdch=1023 +CSET full_threshold_assert_value_wach=1023 +CSET full_threshold_assert_value_wdch=1023 +CSET full_threshold_assert_value_wrch=1023 +CSET full_threshold_negate_value=508 +CSET id_width=4 +CSET inject_dbit_error=false +CSET inject_dbit_error_axis=false +CSET inject_dbit_error_rach=false +CSET inject_dbit_error_rdch=false +CSET inject_dbit_error_wach=false +CSET inject_dbit_error_wdch=false +CSET inject_dbit_error_wrch=false +CSET inject_sbit_error=false +CSET inject_sbit_error_axis=false +CSET inject_sbit_error_rach=false +CSET inject_sbit_error_rdch=false +CSET inject_sbit_error_wach=false +CSET inject_sbit_error_wdch=false +CSET inject_sbit_error_wrch=false +CSET input_data_width=32 +CSET input_depth=512 +CSET input_depth_axis=1024 +CSET input_depth_rach=16 +CSET input_depth_rdch=1024 +CSET input_depth_wach=16 +CSET input_depth_wdch=1024 +CSET input_depth_wrch=16 +CSET interface_type=Native +CSET output_data_width=32 +CSET output_depth=512 +CSET overflow_flag=false +CSET overflow_flag_axi=false +CSET overflow_sense=Active_High +CSET overflow_sense_axi=Active_High +CSET performance_options=Standard_FIFO +CSET programmable_empty_type=No_Programmable_Empty_Threshold +CSET programmable_empty_type_axis=Empty +CSET programmable_empty_type_rach=Empty +CSET programmable_empty_type_rdch=Empty +CSET programmable_empty_type_wach=Empty +CSET programmable_empty_type_wdch=Empty +CSET programmable_empty_type_wrch=Empty +CSET programmable_full_type=No_Programmable_Full_Threshold +CSET programmable_full_type_axis=Full +CSET programmable_full_type_rach=Full +CSET programmable_full_type_rdch=Full +CSET programmable_full_type_wach=Full +CSET programmable_full_type_wdch=Full +CSET programmable_full_type_wrch=Full +CSET rach_type=FIFO +CSET rdch_type=FIFO +CSET read_clock_frequency=1 +CSET read_data_count=false +CSET read_data_count_width=9 +CSET register_slice_mode_axis=Fully_Registered +CSET register_slice_mode_rach=Fully_Registered +CSET register_slice_mode_rdch=Fully_Registered +CSET register_slice_mode_wach=Fully_Registered +CSET register_slice_mode_wdch=Fully_Registered +CSET register_slice_mode_wrch=Fully_Registered +CSET reset_pin=true +CSET reset_type=Asynchronous_Reset +CSET ruser_width=1 +CSET tdata_width=64 +CSET tdest_width=4 +CSET tid_width=8 +CSET tkeep_width=4 +CSET tstrb_width=4 +CSET tuser_width=4 +CSET underflow_flag=false +CSET underflow_flag_axi=false +CSET underflow_sense=Active_High +CSET underflow_sense_axi=Active_High +CSET use_clock_enable=false +CSET use_dout_reset=true +CSET use_embedded_registers=false +CSET use_extra_logic=false +CSET valid_flag=false +CSET valid_sense=Active_High +CSET wach_type=FIFO +CSET wdch_type=FIFO +CSET wrch_type=FIFO +CSET write_acknowledge_flag=false +CSET write_acknowledge_sense=Active_High +CSET write_clock_frequency=1 +CSET write_data_count=false +CSET write_data_count_width=9 +CSET wuser_width=1 +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2011-03-14T07:12:32.000Z +# END Extra information +GENERATE +# CRC: 5b1bf9c4 diff --git a/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xise b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xise new file mode 100644 index 0000000..d4e46b4 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/async_fifo_512x32.xise @@ -0,0 +1,72 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.asy b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.asy new file mode 100644 index 0000000..1ddbd3d --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.asy @@ -0,0 +1,33 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 clockmodule40switch +RECTANGLE Normal 32 32 576 1088 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName clk_in1 +PINATTR Polarity IN +LINE Normal 0 176 32 176 +PIN 0 176 LEFT 36 +PINATTR PinName clk_in2 +PINATTR Polarity IN +LINE Normal 0 272 32 272 +PIN 0 272 LEFT 36 +PINATTR PinName clk_in_sel +PINATTR Polarity IN +LINE Normal 0 432 32 432 +PIN 0 432 LEFT 36 +PINATTR PinName reset +PINATTR Polarity IN +LINE Normal 608 80 576 80 +PIN 608 80 RIGHT 36 +PINATTR PinName clk_out1 +PINATTR Polarity OUT +LINE Normal 608 176 576 176 +PIN 608 176 RIGHT 36 +PINATTR PinName clk_out2 +PINATTR Polarity OUT +LINE Normal 608 976 576 976 +PIN 608 976 RIGHT 36 +PINATTR PinName locked +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.gise b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.gise new file mode 100644 index 0000000..71a76e6 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.gise @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.ucf b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.ucf new file mode 100644 index 0000000..5f59e70 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.ucf @@ -0,0 +1,61 @@ +# file: clockmodule40switch.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 25.000 ns HIGH 50% INPUT_JITTER 250.0ps; +NET "CLK_IN2" TNM_NET = "CLK_IN2"; +TIMESPEC "TS_CLK_IN2" = PERIOD "CLK_IN2" 25.000 ns HIGH 50% INPUT_JITTER 250.0ps; + + +# FALSE PATH constraints +PIN "RESET" TIG; + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vhd b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vhd new file mode 100644 index 0000000..32c471f --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vhd @@ -0,0 +1,223 @@ +-- file: clockmodule40switch.vhd +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____40.000______0.000______50.0______247.096____196.976 +-- CLK_OUT2____80.000______0.000______50.0______200.412____196.976 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary______________40____________0.010 +-- _secondary____________40____________0.010 + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_arith.all; +use ieee.numeric_std.all; + +library unisim; +use unisim.vcomponents.all; + +entity clockmodule40switch is +port + (-- Clock in ports + CLK_IN1 : in std_logic; + CLK_IN2 : in std_logic; + CLK_IN_SEL : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + -- Status and control signals + RESET : in std_logic; + LOCKED : out std_logic + ); +end clockmodule40switch; + +architecture xilinx of clockmodule40switch is + attribute CORE_GENERATION_INFO : string; + attribute CORE_GENERATION_INFO of xilinx : architecture is "clockmodule40switch,clk_wiz_v3_6,{component_name=clockmodule40switch,use_phase_alignment=true,use_min_o_jitter=false,use_max_i_jitter=false,use_dyn_phase_shift=false,use_inclk_switchover=true,use_dyn_reconfig=false,feedback_source=FDBK_AUTO,primtype_sel=MMCM_ADV,num_out_clk=2,clkin1_period=25.000,clkin2_period=25.000,use_power_down=false,use_reset=true,use_locked=true,use_inclk_stopped=false,use_status=false,use_freeze=false,use_clk_valid=false,feedback_type=SINGLE,clock_mgr_type=MANUAL,manual_override=false}"; + -- Input clock buffering / unused connectors + signal clkin1 : std_logic; + signal clkin2 : std_logic; + -- Output clock buffering / unused connectors + signal clkfbout : std_logic; + signal clkfbout_buf : std_logic; + signal clkfboutb_unused : std_logic; + signal clkout0 : std_logic; + signal clkout0b_unused : std_logic; + signal clkout1 : std_logic; + signal clkout1b_unused : std_logic; + signal clkout2_unused : std_logic; + signal clkout2b_unused : std_logic; + signal clkout3_unused : std_logic; + signal clkout3b_unused : std_logic; + signal clkout4_unused : std_logic; + signal clkout5_unused : std_logic; + signal clkout6_unused : std_logic; + -- Dynamic programming unused signals + signal do_unused : std_logic_vector(15 downto 0); + signal drdy_unused : std_logic; + -- Dynamic phase shift unused signals + signal psdone_unused : std_logic; + -- Unused status signals + signal clkfbstopped_unused : std_logic; + signal clkinstopped_unused : std_logic; +begin + + + -- Input buffering + -------------------------------------- + clkin1_buf : BUFG + port map + (O => clkin1, + I => CLK_IN1); + + clkin2_buf : BUFG + port map + (O => clkin2, + I => CLK_IN2); + + -- Clocking primitive + -------------------------------------- + -- Instantiation of the MMCM primitive + -- * Unused inputs are tied off + -- * Unused outputs are labeled unused + mmcm_adv_inst : MMCM_ADV + generic map + (BANDWIDTH => "OPTIMIZED", + CLKOUT4_CASCADE => FALSE, + CLOCK_HOLD => FALSE, + COMPENSATION => "ZHOLD", + STARTUP_WAIT => FALSE, + DIVCLK_DIVIDE => 1, + CLKFBOUT_MULT_F => 24.000, + CLKFBOUT_PHASE => 0.000, + CLKFBOUT_USE_FINE_PS => FALSE, + CLKOUT0_DIVIDE_F => 24.000, + CLKOUT0_PHASE => 0.000, + CLKOUT0_DUTY_CYCLE => 0.500, + CLKOUT0_USE_FINE_PS => FALSE, + CLKOUT1_DIVIDE => 12, + CLKOUT1_PHASE => 0.000, + CLKOUT1_DUTY_CYCLE => 0.500, + CLKOUT1_USE_FINE_PS => FALSE, + CLKIN1_PERIOD => 25.000, + REF_JITTER1 => 0.010, + CLKIN2_PERIOD => 25.000, + REF_JITTER2 => 0.010) + port map + -- Output clocks + (CLKFBOUT => clkfbout, + CLKFBOUTB => clkfboutb_unused, + CLKOUT0 => clkout0, + CLKOUT0B => clkout0b_unused, + CLKOUT1 => clkout1, + CLKOUT1B => clkout1b_unused, + CLKOUT2 => clkout2_unused, + CLKOUT2B => clkout2b_unused, + CLKOUT3 => clkout3_unused, + CLKOUT3B => clkout3b_unused, + CLKOUT4 => clkout4_unused, + CLKOUT5 => clkout5_unused, + CLKOUT6 => clkout6_unused, + -- Input clock control + CLKFBIN => clkfbout_buf, + CLKIN1 => clkin1, + CLKIN2 => clkin2, + CLKINSEL => CLK_IN_SEL, + -- Ports for dynamic reconfiguration + DADDR => (others => '0'), + DCLK => '0', + DEN => '0', + DI => (others => '0'), + DO => do_unused, + DRDY => drdy_unused, + DWE => '0', + -- Ports for dynamic phase shift + PSCLK => '0', + PSEN => '0', + PSINCDEC => '0', + PSDONE => psdone_unused, + -- Other control and status signals + LOCKED => LOCKED, + CLKINSTOPPED => clkinstopped_unused, + CLKFBSTOPPED => clkfbstopped_unused, + PWRDWN => '0', + RST => RESET); + + -- Output buffering + ------------------------------------- + clkf_buf : BUFG + port map + (O => clkfbout_buf, + I => clkfbout); + + + clkout1_buf : BUFG + port map + (O => CLK_OUT1, + I => clkout0); + + + + clkout2_buf : BUFG + port map + (O => CLK_OUT2, + I => clkout1); + +end xilinx; diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vho b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vho new file mode 100644 index 0000000..7ef2b24 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.vho @@ -0,0 +1,100 @@ +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____40.000______0.000______50.0______247.096____196.976 +-- CLK_OUT2____80.000______0.000______50.0______200.412____196.976 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary______________40____________0.010 +-- _secondary____________40____________0.010 + + +-- The following code must appear in the VHDL architecture header: +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +component clockmodule40switch +port + (-- Clock in ports + CLK_IN1 : in std_logic; + CLK_IN2 : in std_logic; + CLK_IN_SEL : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + -- Status and control signals + RESET : in std_logic; + LOCKED : out std_logic + ); +end component; + +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : clockmodule40switch + port map + (-- Clock in ports + CLK_IN1 => CLK_IN1, + CLK_IN2 => CLK_IN2, + CLK_IN_SEL => CLK_IN_SEL, + -- Clock out ports + CLK_OUT1 => CLK_OUT1, + CLK_OUT2 => CLK_OUT2, + -- Status and control signals + RESET => RESET, + LOCKED => LOCKED); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xco b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xco new file mode 100644 index 0000000..854378f --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xco @@ -0,0 +1,269 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Wed Nov 26 08:54:36 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:clk_wiz:3.6 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 +# END Select +# BEGIN Parameters +CSET calc_done=DONE +CSET clk_in_sel_port=CLK_IN_SEL +CSET clk_out1_port=CLK_OUT1 +CSET clk_out1_use_fine_ps_gui=false +CSET clk_out2_port=CLK_OUT2 +CSET clk_out2_use_fine_ps_gui=false +CSET clk_out3_port=CLK_OUT3 +CSET clk_out3_use_fine_ps_gui=false +CSET clk_out4_port=CLK_OUT4 +CSET clk_out4_use_fine_ps_gui=false +CSET clk_out5_port=CLK_OUT5 +CSET clk_out5_use_fine_ps_gui=false +CSET clk_out6_port=CLK_OUT6 +CSET clk_out6_use_fine_ps_gui=false +CSET clk_out7_port=CLK_OUT7 +CSET clk_out7_use_fine_ps_gui=false +CSET clk_valid_port=CLK_VALID +CSET clkfb_in_n_port=CLKFB_IN_N +CSET clkfb_in_p_port=CLKFB_IN_P +CSET clkfb_in_port=CLKFB_IN +CSET clkfb_in_signaling=SINGLE +CSET clkfb_out_n_port=CLKFB_OUT_N +CSET clkfb_out_p_port=CLKFB_OUT_P +CSET clkfb_out_port=CLKFB_OUT +CSET clkfb_stopped_port=CLKFB_STOPPED +CSET clkin1_jitter_ps=250.0 +CSET clkin1_ui_jitter=0.010 +CSET clkin2_jitter_ps=250.0 +CSET clkin2_ui_jitter=0.010 +CSET clkout1_drives=BUFG +CSET clkout1_requested_duty_cycle=50.000 +CSET clkout1_requested_out_freq=40 +CSET clkout1_requested_phase=0.000 +CSET clkout2_drives=BUFG +CSET clkout2_requested_duty_cycle=50.000 +CSET clkout2_requested_out_freq=80 +CSET clkout2_requested_phase=0.000 +CSET clkout2_used=true +CSET clkout3_drives=BUFG +CSET clkout3_requested_duty_cycle=50.000 +CSET clkout3_requested_out_freq=100.000 +CSET clkout3_requested_phase=0.000 +CSET clkout3_used=false +CSET clkout4_drives=BUFG +CSET clkout4_requested_duty_cycle=50.000 +CSET clkout4_requested_out_freq=100.000 +CSET clkout4_requested_phase=0.000 +CSET clkout4_used=false +CSET clkout5_drives=BUFG +CSET clkout5_requested_duty_cycle=50.000 +CSET clkout5_requested_out_freq=100.000 +CSET clkout5_requested_phase=0.000 +CSET clkout5_used=false +CSET clkout6_drives=BUFG +CSET clkout6_requested_duty_cycle=50.000 +CSET clkout6_requested_out_freq=100.000 +CSET clkout6_requested_phase=0.000 +CSET clkout6_used=false +CSET clkout7_drives=BUFG +CSET clkout7_requested_duty_cycle=50.000 +CSET clkout7_requested_out_freq=100.000 +CSET clkout7_requested_phase=0.000 +CSET clkout7_used=false +CSET clock_mgr_type=MANUAL +CSET component_name=clockmodule40switch +CSET daddr_port=DADDR +CSET dclk_port=DCLK +CSET dcm_clk_feedback=1X +CSET dcm_clk_out1_port=CLK0 +CSET dcm_clk_out2_port=CLK0 +CSET dcm_clk_out3_port=CLK0 +CSET dcm_clk_out4_port=CLK0 +CSET dcm_clk_out5_port=CLK0 +CSET dcm_clk_out6_port=CLK0 +CSET dcm_clkdv_divide=2.0 +CSET dcm_clkfx_divide=1 +CSET dcm_clkfx_multiply=4 +CSET dcm_clkgen_clk_out1_port=CLKFX +CSET dcm_clkgen_clk_out2_port=CLKFX +CSET dcm_clkgen_clk_out3_port=CLKFX +CSET dcm_clkgen_clkfx_divide=1 +CSET dcm_clkgen_clkfx_md_max=0.000 +CSET dcm_clkgen_clkfx_multiply=4 +CSET dcm_clkgen_clkfxdv_divide=2 +CSET dcm_clkgen_clkin_period=10.000 +CSET dcm_clkgen_notes=None +CSET dcm_clkgen_spread_spectrum=NONE +CSET dcm_clkgen_startup_wait=false +CSET dcm_clkin_divide_by_2=false +CSET dcm_clkin_period=10.000 +CSET dcm_clkout_phase_shift=NONE +CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS +CSET dcm_notes=None +CSET dcm_phase_shift=0 +CSET dcm_pll_cascade=NONE +CSET dcm_startup_wait=false +CSET den_port=DEN +CSET din_port=DIN +CSET dout_port=DOUT +CSET drdy_port=DRDY +CSET dwe_port=DWE +CSET feedback_source=FDBK_AUTO +CSET in_freq_units=Units_MHz +CSET in_jitter_units=Units_UI +CSET input_clk_stopped_port=INPUT_CLK_STOPPED +CSET jitter_options=UI +CSET jitter_sel=No_Jitter +CSET locked_port=LOCKED +CSET mmcm_bandwidth=OPTIMIZED +CSET mmcm_clkfbout_mult_f=24.000 +CSET mmcm_clkfbout_phase=0.000 +CSET mmcm_clkfbout_use_fine_ps=false +CSET mmcm_clkin1_period=25.000 +CSET mmcm_clkin2_period=25.000 +CSET mmcm_clkout0_divide_f=24.000 +CSET mmcm_clkout0_duty_cycle=0.500 +CSET mmcm_clkout0_phase=0.000 +CSET mmcm_clkout0_use_fine_ps=false +CSET mmcm_clkout1_divide=12 +CSET mmcm_clkout1_duty_cycle=0.500 +CSET mmcm_clkout1_phase=0.000 +CSET mmcm_clkout1_use_fine_ps=false +CSET mmcm_clkout2_divide=1 +CSET mmcm_clkout2_duty_cycle=0.500 +CSET mmcm_clkout2_phase=0.000 +CSET mmcm_clkout2_use_fine_ps=false +CSET mmcm_clkout3_divide=1 +CSET mmcm_clkout3_duty_cycle=0.500 +CSET mmcm_clkout3_phase=0.000 +CSET mmcm_clkout3_use_fine_ps=false +CSET mmcm_clkout4_cascade=false +CSET mmcm_clkout4_divide=1 +CSET mmcm_clkout4_duty_cycle=0.500 +CSET mmcm_clkout4_phase=0.000 +CSET mmcm_clkout4_use_fine_ps=false +CSET mmcm_clkout5_divide=1 +CSET mmcm_clkout5_duty_cycle=0.500 +CSET mmcm_clkout5_phase=0.000 +CSET mmcm_clkout5_use_fine_ps=false +CSET mmcm_clkout6_divide=1 +CSET mmcm_clkout6_duty_cycle=0.500 +CSET mmcm_clkout6_phase=0.000 +CSET mmcm_clkout6_use_fine_ps=false +CSET mmcm_clock_hold=false +CSET mmcm_compensation=ZHOLD +CSET mmcm_divclk_divide=1 +CSET mmcm_notes=None +CSET mmcm_ref_jitter1=0.010 +CSET mmcm_ref_jitter2=0.010 +CSET mmcm_startup_wait=false +CSET num_out_clks=2 +CSET override_dcm=false +CSET override_dcm_clkgen=false +CSET override_mmcm=false +CSET override_pll=false +CSET platform=nt64 +CSET pll_bandwidth=OPTIMIZED +CSET pll_clk_feedback=CLKFBOUT +CSET pll_clkfbout_mult=4 +CSET pll_clkfbout_phase=0.000 +CSET pll_clkin_period=10.000 +CSET pll_clkout0_divide=1 +CSET pll_clkout0_duty_cycle=0.500 +CSET pll_clkout0_phase=0.000 +CSET pll_clkout1_divide=1 +CSET pll_clkout1_duty_cycle=0.500 +CSET pll_clkout1_phase=0.000 +CSET pll_clkout2_divide=1 +CSET pll_clkout2_duty_cycle=0.500 +CSET pll_clkout2_phase=0.000 +CSET pll_clkout3_divide=1 +CSET pll_clkout3_duty_cycle=0.500 +CSET pll_clkout3_phase=0.000 +CSET pll_clkout4_divide=1 +CSET pll_clkout4_duty_cycle=0.500 +CSET pll_clkout4_phase=0.000 +CSET pll_clkout5_divide=1 +CSET pll_clkout5_duty_cycle=0.500 +CSET pll_clkout5_phase=0.000 +CSET pll_compensation=SYSTEM_SYNCHRONOUS +CSET pll_divclk_divide=1 +CSET pll_notes=None +CSET pll_ref_jitter=0.010 +CSET power_down_port=POWER_DOWN +CSET prim_in_freq=40 +CSET prim_in_jitter=0.010 +CSET prim_source=Global_buffer +CSET primary_port=CLK_IN1 +CSET primitive=MMCM +CSET primtype_sel=MMCM_ADV +CSET psclk_port=PSCLK +CSET psdone_port=PSDONE +CSET psen_port=PSEN +CSET psincdec_port=PSINCDEC +CSET relative_inclk=REL_PRIMARY +CSET reset_port=RESET +CSET secondary_in_freq=40 +CSET secondary_in_jitter=0.010 +CSET secondary_port=CLK_IN2 +CSET secondary_source=Global_buffer +CSET ss_mod_freq=250 +CSET ss_mode=CENTER_HIGH +CSET status_port=STATUS +CSET summary_strings=empty +CSET use_clk_valid=false +CSET use_clkfb_stopped=false +CSET use_dyn_phase_shift=false +CSET use_dyn_reconfig=false +CSET use_freeze=false +CSET use_freq_synth=true +CSET use_inclk_stopped=false +CSET use_inclk_switchover=true +CSET use_locked=true +CSET use_max_i_jitter=false +CSET use_min_o_jitter=false +CSET use_min_power=false +CSET use_phase_alignment=true +CSET use_power_down=false +CSET use_reset=true +CSET use_spread_spectrum=false +CSET use_spread_spectrum_1=false +CSET use_status=false +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-05-10T12:44:55Z +# END Extra information +GENERATE +# CRC: 41fd2223 diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xise b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xise new file mode 100644 index 0000000..5f86341 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule40switch.xise @@ -0,0 +1,75 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.asy b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.asy new file mode 100644 index 0000000..07d8d94 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.asy @@ -0,0 +1,17 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 clockmodule80M +RECTANGLE Normal 32 32 576 1088 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName clk_in1 +PINATTR Polarity IN +LINE Normal 608 80 576 80 +PIN 608 80 RIGHT 36 +PINATTR PinName clk_out1 +PINATTR Polarity OUT +LINE Normal 608 976 576 976 +PIN 608 976 RIGHT 36 +PINATTR PinName locked +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.gise b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.gise new file mode 100644 index 0000000..c0a8fe5 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.gise @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.ucf b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.ucf new file mode 100644 index 0000000..6fbd645 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.ucf @@ -0,0 +1,58 @@ +# file: clockmodule80M.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 6.430 ns HIGH 50% INPUT_JITTER 64.3ps; + + +# FALSE PATH constraints + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vhd b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vhd new file mode 100644 index 0000000..43be5a5 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vhd @@ -0,0 +1,199 @@ +-- file: clockmodule80M.vhd +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____99.999______0.000______50.0______144.151____174.045 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary__________155.52____________0.010 + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_arith.all; +use ieee.numeric_std.all; + +library unisim; +use unisim.vcomponents.all; + +entity clockmodule80M is +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + -- Status and control signals + LOCKED : out std_logic + ); +end clockmodule80M; + +architecture xilinx of clockmodule80M is + attribute CORE_GENERATION_INFO : string; + attribute CORE_GENERATION_INFO of xilinx : architecture is "clockmodule80M,clk_wiz_v3_6,{component_name=clockmodule80M,use_phase_alignment=true,use_min_o_jitter=false,use_max_i_jitter=false,use_dyn_phase_shift=false,use_inclk_switchover=false,use_dyn_reconfig=false,feedback_source=FDBK_AUTO,primtype_sel=MMCM_ADV,num_out_clk=1,clkin1_period=6.430,clkin2_period=10.000,use_power_down=false,use_reset=false,use_locked=true,use_inclk_stopped=false,use_status=false,use_freeze=false,use_clk_valid=false,feedback_type=SINGLE,clock_mgr_type=MANUAL,manual_override=false}"; + -- Input clock buffering / unused connectors + signal clkin1 : std_logic; + -- Output clock buffering / unused connectors + signal clkfbout : std_logic; + signal clkfbout_buf : std_logic; + signal clkfboutb_unused : std_logic; + signal clkout0 : std_logic; + signal clkout0b_unused : std_logic; + signal clkout1_unused : std_logic; + signal clkout1b_unused : std_logic; + signal clkout2_unused : std_logic; + signal clkout2b_unused : std_logic; + signal clkout3_unused : std_logic; + signal clkout3b_unused : std_logic; + signal clkout4_unused : std_logic; + signal clkout5_unused : std_logic; + signal clkout6_unused : std_logic; + -- Dynamic programming unused signals + signal do_unused : std_logic_vector(15 downto 0); + signal drdy_unused : std_logic; + -- Dynamic phase shift unused signals + signal psdone_unused : std_logic; + -- Unused status signals + signal clkfbstopped_unused : std_logic; + signal clkinstopped_unused : std_logic; +begin + + + -- Input buffering + -------------------------------------- + clkin1 <= CLK_IN1; + + + -- Clocking primitive + -------------------------------------- + -- Instantiation of the MMCM primitive + -- * Unused inputs are tied off + -- * Unused outputs are labeled unused + mmcm_adv_inst : MMCM_ADV + generic map + (BANDWIDTH => "OPTIMIZED", + CLKOUT4_CASCADE => FALSE, + CLOCK_HOLD => FALSE, + COMPENSATION => "ZHOLD", + STARTUP_WAIT => FALSE, + DIVCLK_DIVIDE => 5, + CLKFBOUT_MULT_F => 43.000, + CLKFBOUT_PHASE => 0.000, + CLKFBOUT_USE_FINE_PS => FALSE, + CLKOUT0_DIVIDE_F => 13.375, + CLKOUT0_PHASE => 0.000, + CLKOUT0_DUTY_CYCLE => 0.500, + CLKOUT0_USE_FINE_PS => FALSE, + CLKIN1_PERIOD => 6.430, + REF_JITTER1 => 0.010) + port map + -- Output clocks + (CLKFBOUT => clkfbout, + CLKFBOUTB => clkfboutb_unused, + CLKOUT0 => clkout0, + CLKOUT0B => clkout0b_unused, + CLKOUT1 => clkout1_unused, + CLKOUT1B => clkout1b_unused, + CLKOUT2 => clkout2_unused, + CLKOUT2B => clkout2b_unused, + CLKOUT3 => clkout3_unused, + CLKOUT3B => clkout3b_unused, + CLKOUT4 => clkout4_unused, + CLKOUT5 => clkout5_unused, + CLKOUT6 => clkout6_unused, + -- Input clock control + CLKFBIN => clkfbout_buf, + CLKIN1 => clkin1, + CLKIN2 => '0', + -- Tied to always select the primary input clock + CLKINSEL => '1', + -- Ports for dynamic reconfiguration + DADDR => (others => '0'), + DCLK => '0', + DEN => '0', + DI => (others => '0'), + DO => do_unused, + DRDY => drdy_unused, + DWE => '0', + -- Ports for dynamic phase shift + PSCLK => '0', + PSEN => '0', + PSINCDEC => '0', + PSDONE => psdone_unused, + -- Other control and status signals + LOCKED => LOCKED, + CLKINSTOPPED => clkinstopped_unused, + CLKFBSTOPPED => clkfbstopped_unused, + PWRDWN => '0', + RST => '0'); + + -- Output buffering + ------------------------------------- + clkf_buf : BUFG + port map + (O => clkfbout_buf, + I => clkfbout); + + + clkout1_buf : BUFG + port map + (O => CLK_OUT1, + I => clkout0); + + + +end xilinx; diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vho b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vho new file mode 100644 index 0000000..e70f46c --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.vho @@ -0,0 +1,90 @@ +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____99.999______0.000______50.0______144.151____174.045 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary__________155.52____________0.010 + + +-- The following code must appear in the VHDL architecture header: +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +component clockmodule80M +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + -- Status and control signals + LOCKED : out std_logic + ); +end component; + +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : clockmodule80M + port map + (-- Clock in ports + CLK_IN1 => CLK_IN1, + -- Clock out ports + CLK_OUT1 => CLK_OUT1, + -- Status and control signals + LOCKED => LOCKED); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xco b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xco new file mode 100644 index 0000000..28df986 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xco @@ -0,0 +1,269 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Wed Nov 26 08:35:23 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:clk_wiz:3.6 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 +# END Select +# BEGIN Parameters +CSET calc_done=DONE +CSET clk_in_sel_port=CLK_IN_SEL +CSET clk_out1_port=CLK_OUT1 +CSET clk_out1_use_fine_ps_gui=false +CSET clk_out2_port=CLK_OUT2 +CSET clk_out2_use_fine_ps_gui=false +CSET clk_out3_port=CLK_OUT3 +CSET clk_out3_use_fine_ps_gui=false +CSET clk_out4_port=CLK_OUT4 +CSET clk_out4_use_fine_ps_gui=false +CSET clk_out5_port=CLK_OUT5 +CSET clk_out5_use_fine_ps_gui=false +CSET clk_out6_port=CLK_OUT6 +CSET clk_out6_use_fine_ps_gui=false +CSET clk_out7_port=CLK_OUT7 +CSET clk_out7_use_fine_ps_gui=false +CSET clk_valid_port=CLK_VALID +CSET clkfb_in_n_port=CLKFB_IN_N +CSET clkfb_in_p_port=CLKFB_IN_P +CSET clkfb_in_port=CLKFB_IN +CSET clkfb_in_signaling=SINGLE +CSET clkfb_out_n_port=CLKFB_OUT_N +CSET clkfb_out_p_port=CLKFB_OUT_P +CSET clkfb_out_port=CLKFB_OUT +CSET clkfb_stopped_port=CLKFB_STOPPED +CSET clkin1_jitter_ps=64.3 +CSET clkin1_ui_jitter=0.010 +CSET clkin2_jitter_ps=100.0 +CSET clkin2_ui_jitter=0.010 +CSET clkout1_drives=BUFG +CSET clkout1_requested_duty_cycle=50.000 +CSET clkout1_requested_out_freq=100 +CSET clkout1_requested_phase=0.000 +CSET clkout2_drives=BUFG +CSET clkout2_requested_duty_cycle=50.000 +CSET clkout2_requested_out_freq=100.000 +CSET clkout2_requested_phase=0.000 +CSET clkout2_used=false +CSET clkout3_drives=BUFG +CSET clkout3_requested_duty_cycle=50.000 +CSET clkout3_requested_out_freq=100.000 +CSET clkout3_requested_phase=0.000 +CSET clkout3_used=false +CSET clkout4_drives=BUFG +CSET clkout4_requested_duty_cycle=50.000 +CSET clkout4_requested_out_freq=100.000 +CSET clkout4_requested_phase=0.000 +CSET clkout4_used=false +CSET clkout5_drives=BUFG +CSET clkout5_requested_duty_cycle=50.000 +CSET clkout5_requested_out_freq=100.000 +CSET clkout5_requested_phase=0.000 +CSET clkout5_used=false +CSET clkout6_drives=BUFG +CSET clkout6_requested_duty_cycle=50.000 +CSET clkout6_requested_out_freq=100.000 +CSET clkout6_requested_phase=0.000 +CSET clkout6_used=false +CSET clkout7_drives=BUFG +CSET clkout7_requested_duty_cycle=50.000 +CSET clkout7_requested_out_freq=100.000 +CSET clkout7_requested_phase=0.000 +CSET clkout7_used=false +CSET clock_mgr_type=MANUAL +CSET component_name=clockmodule80M +CSET daddr_port=DADDR +CSET dclk_port=DCLK +CSET dcm_clk_feedback=1X +CSET dcm_clk_out1_port=CLK0 +CSET dcm_clk_out2_port=CLK0 +CSET dcm_clk_out3_port=CLK0 +CSET dcm_clk_out4_port=CLK0 +CSET dcm_clk_out5_port=CLK0 +CSET dcm_clk_out6_port=CLK0 +CSET dcm_clkdv_divide=2.0 +CSET dcm_clkfx_divide=1 +CSET dcm_clkfx_multiply=4 +CSET dcm_clkgen_clk_out1_port=CLKFX +CSET dcm_clkgen_clk_out2_port=CLKFX +CSET dcm_clkgen_clk_out3_port=CLKFX +CSET dcm_clkgen_clkfx_divide=1 +CSET dcm_clkgen_clkfx_md_max=0.000 +CSET dcm_clkgen_clkfx_multiply=4 +CSET dcm_clkgen_clkfxdv_divide=2 +CSET dcm_clkgen_clkin_period=10.000 +CSET dcm_clkgen_notes=None +CSET dcm_clkgen_spread_spectrum=NONE +CSET dcm_clkgen_startup_wait=false +CSET dcm_clkin_divide_by_2=false +CSET dcm_clkin_period=10.000 +CSET dcm_clkout_phase_shift=NONE +CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS +CSET dcm_notes=None +CSET dcm_phase_shift=0 +CSET dcm_pll_cascade=NONE +CSET dcm_startup_wait=false +CSET den_port=DEN +CSET din_port=DIN +CSET dout_port=DOUT +CSET drdy_port=DRDY +CSET dwe_port=DWE +CSET feedback_source=FDBK_AUTO +CSET in_freq_units=Units_MHz +CSET in_jitter_units=Units_UI +CSET input_clk_stopped_port=INPUT_CLK_STOPPED +CSET jitter_options=UI +CSET jitter_sel=No_Jitter +CSET locked_port=LOCKED +CSET mmcm_bandwidth=OPTIMIZED +CSET mmcm_clkfbout_mult_f=43.000 +CSET mmcm_clkfbout_phase=0.000 +CSET mmcm_clkfbout_use_fine_ps=false +CSET mmcm_clkin1_period=6.430 +CSET mmcm_clkin2_period=10.000 +CSET mmcm_clkout0_divide_f=13.375 +CSET mmcm_clkout0_duty_cycle=0.500 +CSET mmcm_clkout0_phase=0.000 +CSET mmcm_clkout0_use_fine_ps=false +CSET mmcm_clkout1_divide=1 +CSET mmcm_clkout1_duty_cycle=0.500 +CSET mmcm_clkout1_phase=0.000 +CSET mmcm_clkout1_use_fine_ps=false +CSET mmcm_clkout2_divide=1 +CSET mmcm_clkout2_duty_cycle=0.500 +CSET mmcm_clkout2_phase=0.000 +CSET mmcm_clkout2_use_fine_ps=false +CSET mmcm_clkout3_divide=1 +CSET mmcm_clkout3_duty_cycle=0.500 +CSET mmcm_clkout3_phase=0.000 +CSET mmcm_clkout3_use_fine_ps=false +CSET mmcm_clkout4_cascade=false +CSET mmcm_clkout4_divide=1 +CSET mmcm_clkout4_duty_cycle=0.500 +CSET mmcm_clkout4_phase=0.000 +CSET mmcm_clkout4_use_fine_ps=false +CSET mmcm_clkout5_divide=1 +CSET mmcm_clkout5_duty_cycle=0.500 +CSET mmcm_clkout5_phase=0.000 +CSET mmcm_clkout5_use_fine_ps=false +CSET mmcm_clkout6_divide=1 +CSET mmcm_clkout6_duty_cycle=0.500 +CSET mmcm_clkout6_phase=0.000 +CSET mmcm_clkout6_use_fine_ps=false +CSET mmcm_clock_hold=false +CSET mmcm_compensation=ZHOLD +CSET mmcm_divclk_divide=5 +CSET mmcm_notes=None +CSET mmcm_ref_jitter1=0.010 +CSET mmcm_ref_jitter2=0.010 +CSET mmcm_startup_wait=false +CSET num_out_clks=1 +CSET override_dcm=false +CSET override_dcm_clkgen=false +CSET override_mmcm=false +CSET override_pll=false +CSET platform=nt64 +CSET pll_bandwidth=OPTIMIZED +CSET pll_clk_feedback=CLKFBOUT +CSET pll_clkfbout_mult=4 +CSET pll_clkfbout_phase=0.000 +CSET pll_clkin_period=10.000 +CSET pll_clkout0_divide=1 +CSET pll_clkout0_duty_cycle=0.500 +CSET pll_clkout0_phase=0.000 +CSET pll_clkout1_divide=1 +CSET pll_clkout1_duty_cycle=0.500 +CSET pll_clkout1_phase=0.000 +CSET pll_clkout2_divide=1 +CSET pll_clkout2_duty_cycle=0.500 +CSET pll_clkout2_phase=0.000 +CSET pll_clkout3_divide=1 +CSET pll_clkout3_duty_cycle=0.500 +CSET pll_clkout3_phase=0.000 +CSET pll_clkout4_divide=1 +CSET pll_clkout4_duty_cycle=0.500 +CSET pll_clkout4_phase=0.000 +CSET pll_clkout5_divide=1 +CSET pll_clkout5_duty_cycle=0.500 +CSET pll_clkout5_phase=0.000 +CSET pll_compensation=SYSTEM_SYNCHRONOUS +CSET pll_divclk_divide=1 +CSET pll_notes=None +CSET pll_ref_jitter=0.010 +CSET power_down_port=POWER_DOWN +CSET prim_in_freq=155.52 +CSET prim_in_jitter=0.010 +CSET prim_source=No_buffer +CSET primary_port=CLK_IN1 +CSET primitive=MMCM +CSET primtype_sel=MMCM_ADV +CSET psclk_port=PSCLK +CSET psdone_port=PSDONE +CSET psen_port=PSEN +CSET psincdec_port=PSINCDEC +CSET relative_inclk=REL_PRIMARY +CSET reset_port=RESET +CSET secondary_in_freq=100.000 +CSET secondary_in_jitter=0.010 +CSET secondary_port=CLK_IN2 +CSET secondary_source=Single_ended_clock_capable_pin +CSET ss_mod_freq=250 +CSET ss_mode=CENTER_HIGH +CSET status_port=STATUS +CSET summary_strings=empty +CSET use_clk_valid=false +CSET use_clkfb_stopped=false +CSET use_dyn_phase_shift=false +CSET use_dyn_reconfig=false +CSET use_freeze=false +CSET use_freq_synth=true +CSET use_inclk_stopped=false +CSET use_inclk_switchover=false +CSET use_locked=true +CSET use_max_i_jitter=false +CSET use_min_o_jitter=false +CSET use_min_power=false +CSET use_phase_alignment=true +CSET use_power_down=false +CSET use_reset=false +CSET use_spread_spectrum=false +CSET use_spread_spectrum_1=false +CSET use_status=false +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-05-10T12:44:55Z +# END Extra information +GENERATE +# CRC: c8df1962 diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xise b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xise new file mode 100644 index 0000000..7f439ad --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80M.xise @@ -0,0 +1,75 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.asy b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.asy new file mode 100644 index 0000000..b3be860 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.asy @@ -0,0 +1,33 @@ +Version 4 +SymbolType BLOCK +TEXT 32 32 LEFT 4 clockmodule80to80M +RECTANGLE Normal 32 32 576 1088 +LINE Normal 0 80 32 80 +PIN 0 80 LEFT 36 +PINATTR PinName clk_in1 +PINATTR Polarity IN +LINE Normal 0 432 32 432 +PIN 0 432 LEFT 36 +PINATTR PinName reset +PINATTR Polarity IN +LINE Normal 608 80 576 80 +PIN 608 80 RIGHT 36 +PINATTR PinName clk_out1 +PINATTR Polarity OUT +LINE Normal 608 176 576 176 +PIN 608 176 RIGHT 36 +PINATTR PinName clk_out2 +PINATTR Polarity OUT +LINE Normal 608 272 576 272 +PIN 608 272 RIGHT 36 +PINATTR PinName clk_out3 +PINATTR Polarity OUT +LINE Normal 608 368 576 368 +PIN 608 368 RIGHT 36 +PINATTR PinName clk_out4 +PINATTR Polarity OUT +LINE Normal 608 976 576 976 +PIN 608 976 RIGHT 36 +PINATTR PinName locked +PINATTR Polarity OUT + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.gise b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.gise new file mode 100644 index 0000000..4ca6f49 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.gise @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.ucf b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.ucf new file mode 100644 index 0000000..80a26ae --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.ucf @@ -0,0 +1,59 @@ +# file: clockmodule80to80M.ucf +# +# (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +# +# This file contains confidential and proprietary information +# of Xilinx, Inc. and is protected under U.S. and +# international copyright and other intellectual property +# laws. +# +# DISCLAIMER +# This disclaimer is not a license and does not grant any +# rights to the materials distributed herewith. Except as +# otherwise provided in a valid license issued to you by +# Xilinx, and to the maximum extent permitted by applicable +# law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +# WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +# AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +# BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +# INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +# (2) Xilinx shall not be liable (whether in contract or tort, +# including negligence, or under any other theory of +# liability) for any loss or damage of any kind or nature +# related to, arising under or in connection with these +# materials, including for any direct, or any indirect, +# special, incidental, or consequential loss or damage +# (including loss of data, profits, goodwill, or any type of +# loss or damage suffered as a result of any action brought +# by a third party) even if such damage or loss was +# reasonably foreseeable or Xilinx had been advised of the +# possibility of the same. +# +# CRITICAL APPLICATIONS +# Xilinx products are not designed or intended to be fail- +# safe, or for use in any application requiring fail-safe +# performance, such as life-support or safety devices or +# systems, Class III medical devices, nuclear facilities, +# applications related to the deployment of airbags, or any +# other applications that could lead to death, personal +# injury, or severe property or environmental damage +# (individually and collectively, "Critical +# Applications"). Customer assumes the sole risk and +# liability of any use of Xilinx products in Critical +# Applications, subject only to applicable laws and +# regulations governing limitations on product liability. +# +# THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +# PART OF THIS FILE AT ALL TIMES. +# + +# Input clock periods. These duplicate the values entered for the +# input clocks. You can use these to time your system +#---------------------------------------------------------------- +NET "CLK_IN1" TNM_NET = "CLK_IN1"; +TIMESPEC "TS_CLK_IN1" = PERIOD "CLK_IN1" 10.000 ns HIGH 50% INPUT_JITTER 100.0ps; + + +# FALSE PATH constraints +PIN "RESET" TIG; + diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vhd b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vhd new file mode 100644 index 0000000..ccf25dc --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vhd @@ -0,0 +1,233 @@ +-- file: clockmodule80to80M.vhd +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____40.000______0.000______50.0______174.629____114.212 +-- CLK_OUT2____80.000______0.000______50.0______151.652____114.212 +-- CLK_OUT3___100.000______0.000______50.0______144.719____114.212 +-- CLK_OUT4___200.000______0.000______50.0______126.455____114.212 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary_____________100____________0.010 + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_arith.all; +use ieee.numeric_std.all; + +library unisim; +use unisim.vcomponents.all; + +entity clockmodule80to80M is +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + CLK_OUT3 : out std_logic; + CLK_OUT4 : out std_logic; + -- Status and control signals + RESET : in std_logic; + LOCKED : out std_logic + ); +end clockmodule80to80M; + +architecture xilinx of clockmodule80to80M is + attribute CORE_GENERATION_INFO : string; + attribute CORE_GENERATION_INFO of xilinx : architecture is "clockmodule80to80M,clk_wiz_v3_6,{component_name=clockmodule80to80M,use_phase_alignment=true,use_min_o_jitter=false,use_max_i_jitter=false,use_dyn_phase_shift=false,use_inclk_switchover=false,use_dyn_reconfig=false,feedback_source=FDBK_AUTO,primtype_sel=MMCM_ADV,num_out_clk=4,clkin1_period=10.000,clkin2_period=10.000,use_power_down=false,use_reset=true,use_locked=true,use_inclk_stopped=false,use_status=false,use_freeze=false,use_clk_valid=false,feedback_type=SINGLE,clock_mgr_type=MANUAL,manual_override=false}"; + -- Input clock buffering / unused connectors + signal clkin1 : std_logic; + -- Output clock buffering / unused connectors + signal clkfbout : std_logic; + signal clkfbout_buf : std_logic; + signal clkfboutb_unused : std_logic; + signal clkout0 : std_logic; + signal clkout0b_unused : std_logic; + signal clkout1 : std_logic; + signal clkout1b_unused : std_logic; + signal clkout2 : std_logic; + signal clkout2b_unused : std_logic; + signal clkout3 : std_logic; + signal clkout3b_unused : std_logic; + signal clkout4_unused : std_logic; + signal clkout5_unused : std_logic; + signal clkout6_unused : std_logic; + -- Dynamic programming unused signals + signal do_unused : std_logic_vector(15 downto 0); + signal drdy_unused : std_logic; + -- Dynamic phase shift unused signals + signal psdone_unused : std_logic; + -- Unused status signals + signal clkfbstopped_unused : std_logic; + signal clkinstopped_unused : std_logic; +begin + + + -- Input buffering + -------------------------------------- + clkin1 <= CLK_IN1; + + + -- Clocking primitive + -------------------------------------- + -- Instantiation of the MMCM primitive + -- * Unused inputs are tied off + -- * Unused outputs are labeled unused + mmcm_adv_inst : MMCM_ADV + generic map + (BANDWIDTH => "OPTIMIZED", + CLKOUT4_CASCADE => FALSE, + CLOCK_HOLD => FALSE, + COMPENSATION => "ZHOLD", + STARTUP_WAIT => FALSE, + DIVCLK_DIVIDE => 1, + CLKFBOUT_MULT_F => 8.000, + CLKFBOUT_PHASE => 0.000, + CLKFBOUT_USE_FINE_PS => FALSE, + CLKOUT0_DIVIDE_F => 20.000, + CLKOUT0_PHASE => 0.000, + CLKOUT0_DUTY_CYCLE => 0.500, + CLKOUT0_USE_FINE_PS => FALSE, + CLKOUT1_DIVIDE => 10, + CLKOUT1_PHASE => 0.000, + CLKOUT1_DUTY_CYCLE => 0.500, + CLKOUT1_USE_FINE_PS => FALSE, + CLKOUT2_DIVIDE => 8, + CLKOUT2_PHASE => 0.000, + CLKOUT2_DUTY_CYCLE => 0.500, + CLKOUT2_USE_FINE_PS => FALSE, + CLKOUT3_DIVIDE => 4, + CLKOUT3_PHASE => 0.000, + CLKOUT3_DUTY_CYCLE => 0.500, + CLKOUT3_USE_FINE_PS => FALSE, + CLKIN1_PERIOD => 10.000, + REF_JITTER1 => 0.010) + port map + -- Output clocks + (CLKFBOUT => clkfbout, + CLKFBOUTB => clkfboutb_unused, + CLKOUT0 => clkout0, + CLKOUT0B => clkout0b_unused, + CLKOUT1 => clkout1, + CLKOUT1B => clkout1b_unused, + CLKOUT2 => clkout2, + CLKOUT2B => clkout2b_unused, + CLKOUT3 => clkout3, + CLKOUT3B => clkout3b_unused, + CLKOUT4 => clkout4_unused, + CLKOUT5 => clkout5_unused, + CLKOUT6 => clkout6_unused, + -- Input clock control + CLKFBIN => clkfbout_buf, + CLKIN1 => clkin1, + CLKIN2 => '0', + -- Tied to always select the primary input clock + CLKINSEL => '1', + -- Ports for dynamic reconfiguration + DADDR => (others => '0'), + DCLK => '0', + DEN => '0', + DI => (others => '0'), + DO => do_unused, + DRDY => drdy_unused, + DWE => '0', + -- Ports for dynamic phase shift + PSCLK => '0', + PSEN => '0', + PSINCDEC => '0', + PSDONE => psdone_unused, + -- Other control and status signals + LOCKED => LOCKED, + CLKINSTOPPED => clkinstopped_unused, + CLKFBSTOPPED => clkfbstopped_unused, + PWRDWN => '0', + RST => RESET); + + -- Output buffering + ------------------------------------- + clkf_buf : BUFG + port map + (O => clkfbout_buf, + I => clkfbout); + + + clkout1_buf : BUFG + port map + (O => CLK_OUT1, + I => clkout0); + + + + clkout2_buf : BUFG + port map + (O => CLK_OUT2, + I => clkout1); + + clkout3_buf : BUFG + port map + (O => CLK_OUT3, + I => clkout2); + + clkout4_buf : BUFG + port map + (O => CLK_OUT4, + I => clkout3); + +end xilinx; diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vho b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vho new file mode 100644 index 0000000..6eb16cc --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.vho @@ -0,0 +1,101 @@ +-- +-- (c) Copyright 2008 - 2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. +-- +------------------------------------------------------------------------------ +-- User entered comments +------------------------------------------------------------------------------ +-- None +-- +------------------------------------------------------------------------------ +-- "Output Output Phase Duty Pk-to-Pk Phase" +-- "Clock Freq (MHz) (degrees) Cycle (%) Jitter (ps) Error (ps)" +------------------------------------------------------------------------------ +-- CLK_OUT1____40.000______0.000______50.0______174.629____114.212 +-- CLK_OUT2____80.000______0.000______50.0______151.652____114.212 +-- CLK_OUT3___100.000______0.000______50.0______144.719____114.212 +-- CLK_OUT4___200.000______0.000______50.0______126.455____114.212 +-- +------------------------------------------------------------------------------ +-- "Input Clock Freq (MHz) Input Jitter (UI)" +------------------------------------------------------------------------------ +-- __primary_____________100____________0.010 + + +-- The following code must appear in the VHDL architecture header: +------------- Begin Cut here for COMPONENT Declaration ------ COMP_TAG +component clockmodule80to80M +port + (-- Clock in ports + CLK_IN1 : in std_logic; + -- Clock out ports + CLK_OUT1 : out std_logic; + CLK_OUT2 : out std_logic; + CLK_OUT3 : out std_logic; + CLK_OUT4 : out std_logic; + -- Status and control signals + RESET : in std_logic; + LOCKED : out std_logic + ); +end component; + +-- COMP_TAG_END ------ End COMPONENT Declaration ------------ +-- The following code must appear in the VHDL architecture +-- body. Substitute your own instance name and net names. +------------- Begin Cut here for INSTANTIATION Template ----- INST_TAG +your_instance_name : clockmodule80to80M + port map + (-- Clock in ports + CLK_IN1 => CLK_IN1, + -- Clock out ports + CLK_OUT1 => CLK_OUT1, + CLK_OUT2 => CLK_OUT2, + CLK_OUT3 => CLK_OUT3, + CLK_OUT4 => CLK_OUT4, + -- Status and control signals + RESET => RESET, + LOCKED => LOCKED); +-- INST_TAG_END ------ End INSTANTIATION Template ------------ diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xco b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xco new file mode 100644 index 0000000..0dfdf37 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xco @@ -0,0 +1,269 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Wed Nov 26 08:36:53 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:clk_wiz:3.6 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Clocking_Wizard xilinx.com:ip:clk_wiz:3.6 +# END Select +# BEGIN Parameters +CSET calc_done=DONE +CSET clk_in_sel_port=CLK_IN_SEL +CSET clk_out1_port=CLK_OUT1 +CSET clk_out1_use_fine_ps_gui=false +CSET clk_out2_port=CLK_OUT2 +CSET clk_out2_use_fine_ps_gui=false +CSET clk_out3_port=CLK_OUT3 +CSET clk_out3_use_fine_ps_gui=false +CSET clk_out4_port=CLK_OUT4 +CSET clk_out4_use_fine_ps_gui=false +CSET clk_out5_port=CLK_OUT5 +CSET clk_out5_use_fine_ps_gui=false +CSET clk_out6_port=CLK_OUT6 +CSET clk_out6_use_fine_ps_gui=false +CSET clk_out7_port=CLK_OUT7 +CSET clk_out7_use_fine_ps_gui=false +CSET clk_valid_port=CLK_VALID +CSET clkfb_in_n_port=CLKFB_IN_N +CSET clkfb_in_p_port=CLKFB_IN_P +CSET clkfb_in_port=CLKFB_IN +CSET clkfb_in_signaling=SINGLE +CSET clkfb_out_n_port=CLKFB_OUT_N +CSET clkfb_out_p_port=CLKFB_OUT_P +CSET clkfb_out_port=CLKFB_OUT +CSET clkfb_stopped_port=CLKFB_STOPPED +CSET clkin1_jitter_ps=100.0 +CSET clkin1_ui_jitter=0.010 +CSET clkin2_jitter_ps=100.0 +CSET clkin2_ui_jitter=0.010 +CSET clkout1_drives=BUFG +CSET clkout1_requested_duty_cycle=50.000 +CSET clkout1_requested_out_freq=40.000 +CSET clkout1_requested_phase=0.000 +CSET clkout2_drives=BUFG +CSET clkout2_requested_duty_cycle=50.000 +CSET clkout2_requested_out_freq=80.000 +CSET clkout2_requested_phase=0.000 +CSET clkout2_used=true +CSET clkout3_drives=BUFG +CSET clkout3_requested_duty_cycle=50.000 +CSET clkout3_requested_out_freq=100.000 +CSET clkout3_requested_phase=0.000 +CSET clkout3_used=true +CSET clkout4_drives=BUFG +CSET clkout4_requested_duty_cycle=50.000 +CSET clkout4_requested_out_freq=200 +CSET clkout4_requested_phase=0.000 +CSET clkout4_used=true +CSET clkout5_drives=BUFG +CSET clkout5_requested_duty_cycle=50.000 +CSET clkout5_requested_out_freq=200.000 +CSET clkout5_requested_phase=0.000 +CSET clkout5_used=false +CSET clkout6_drives=BUFG +CSET clkout6_requested_duty_cycle=50.000 +CSET clkout6_requested_out_freq=100.000 +CSET clkout6_requested_phase=0.000 +CSET clkout6_used=false +CSET clkout7_drives=BUFG +CSET clkout7_requested_duty_cycle=50.000 +CSET clkout7_requested_out_freq=100.000 +CSET clkout7_requested_phase=0.000 +CSET clkout7_used=false +CSET clock_mgr_type=MANUAL +CSET component_name=clockmodule80to80M +CSET daddr_port=DADDR +CSET dclk_port=DCLK +CSET dcm_clk_feedback=1X +CSET dcm_clk_out1_port=CLK0 +CSET dcm_clk_out2_port=CLK0 +CSET dcm_clk_out3_port=CLK0 +CSET dcm_clk_out4_port=CLK0 +CSET dcm_clk_out5_port=CLK0 +CSET dcm_clk_out6_port=CLK0 +CSET dcm_clkdv_divide=2.0 +CSET dcm_clkfx_divide=1 +CSET dcm_clkfx_multiply=4 +CSET dcm_clkgen_clk_out1_port=CLKFX +CSET dcm_clkgen_clk_out2_port=CLKFX +CSET dcm_clkgen_clk_out3_port=CLKFX +CSET dcm_clkgen_clkfx_divide=1 +CSET dcm_clkgen_clkfx_md_max=0.000 +CSET dcm_clkgen_clkfx_multiply=4 +CSET dcm_clkgen_clkfxdv_divide=2 +CSET dcm_clkgen_clkin_period=10.000 +CSET dcm_clkgen_notes=None +CSET dcm_clkgen_spread_spectrum=NONE +CSET dcm_clkgen_startup_wait=false +CSET dcm_clkin_divide_by_2=false +CSET dcm_clkin_period=10.000 +CSET dcm_clkout_phase_shift=NONE +CSET dcm_deskew_adjust=SYSTEM_SYNCHRONOUS +CSET dcm_notes=None +CSET dcm_phase_shift=0 +CSET dcm_pll_cascade=NONE +CSET dcm_startup_wait=false +CSET den_port=DEN +CSET din_port=DIN +CSET dout_port=DOUT +CSET drdy_port=DRDY +CSET dwe_port=DWE +CSET feedback_source=FDBK_AUTO +CSET in_freq_units=Units_MHz +CSET in_jitter_units=Units_UI +CSET input_clk_stopped_port=INPUT_CLK_STOPPED +CSET jitter_options=UI +CSET jitter_sel=No_Jitter +CSET locked_port=LOCKED +CSET mmcm_bandwidth=OPTIMIZED +CSET mmcm_clkfbout_mult_f=8.000 +CSET mmcm_clkfbout_phase=0.000 +CSET mmcm_clkfbout_use_fine_ps=false +CSET mmcm_clkin1_period=10.000 +CSET mmcm_clkin2_period=10.000 +CSET mmcm_clkout0_divide_f=20.000 +CSET mmcm_clkout0_duty_cycle=0.500 +CSET mmcm_clkout0_phase=0.000 +CSET mmcm_clkout0_use_fine_ps=false +CSET mmcm_clkout1_divide=10 +CSET mmcm_clkout1_duty_cycle=0.500 +CSET mmcm_clkout1_phase=0.000 +CSET mmcm_clkout1_use_fine_ps=false +CSET mmcm_clkout2_divide=8 +CSET mmcm_clkout2_duty_cycle=0.500 +CSET mmcm_clkout2_phase=0.000 +CSET mmcm_clkout2_use_fine_ps=false +CSET mmcm_clkout3_divide=4 +CSET mmcm_clkout3_duty_cycle=0.500 +CSET mmcm_clkout3_phase=0.000 +CSET mmcm_clkout3_use_fine_ps=false +CSET mmcm_clkout4_cascade=false +CSET mmcm_clkout4_divide=4 +CSET mmcm_clkout4_duty_cycle=0.500 +CSET mmcm_clkout4_phase=0.000 +CSET mmcm_clkout4_use_fine_ps=false +CSET mmcm_clkout5_divide=1 +CSET mmcm_clkout5_duty_cycle=0.500 +CSET mmcm_clkout5_phase=0.000 +CSET mmcm_clkout5_use_fine_ps=false +CSET mmcm_clkout6_divide=1 +CSET mmcm_clkout6_duty_cycle=0.500 +CSET mmcm_clkout6_phase=0.000 +CSET mmcm_clkout6_use_fine_ps=false +CSET mmcm_clock_hold=false +CSET mmcm_compensation=ZHOLD +CSET mmcm_divclk_divide=1 +CSET mmcm_notes=None +CSET mmcm_ref_jitter1=0.010 +CSET mmcm_ref_jitter2=0.010 +CSET mmcm_startup_wait=false +CSET num_out_clks=4 +CSET override_dcm=false +CSET override_dcm_clkgen=false +CSET override_mmcm=false +CSET override_pll=false +CSET platform=nt64 +CSET pll_bandwidth=OPTIMIZED +CSET pll_clk_feedback=CLKFBOUT +CSET pll_clkfbout_mult=4 +CSET pll_clkfbout_phase=0.000 +CSET pll_clkin_period=10.000 +CSET pll_clkout0_divide=1 +CSET pll_clkout0_duty_cycle=0.500 +CSET pll_clkout0_phase=0.000 +CSET pll_clkout1_divide=1 +CSET pll_clkout1_duty_cycle=0.500 +CSET pll_clkout1_phase=0.000 +CSET pll_clkout2_divide=1 +CSET pll_clkout2_duty_cycle=0.500 +CSET pll_clkout2_phase=0.000 +CSET pll_clkout3_divide=1 +CSET pll_clkout3_duty_cycle=0.500 +CSET pll_clkout3_phase=0.000 +CSET pll_clkout4_divide=1 +CSET pll_clkout4_duty_cycle=0.500 +CSET pll_clkout4_phase=0.000 +CSET pll_clkout5_divide=1 +CSET pll_clkout5_duty_cycle=0.500 +CSET pll_clkout5_phase=0.000 +CSET pll_compensation=SYSTEM_SYNCHRONOUS +CSET pll_divclk_divide=1 +CSET pll_notes=None +CSET pll_ref_jitter=0.010 +CSET power_down_port=POWER_DOWN +CSET prim_in_freq=100 +CSET prim_in_jitter=0.010 +CSET prim_source=No_buffer +CSET primary_port=CLK_IN1 +CSET primitive=MMCM +CSET primtype_sel=MMCM_ADV +CSET psclk_port=PSCLK +CSET psdone_port=PSDONE +CSET psen_port=PSEN +CSET psincdec_port=PSINCDEC +CSET relative_inclk=REL_PRIMARY +CSET reset_port=RESET +CSET secondary_in_freq=100.000 +CSET secondary_in_jitter=0.010 +CSET secondary_port=CLK_IN2 +CSET secondary_source=Single_ended_clock_capable_pin +CSET ss_mod_freq=250 +CSET ss_mode=CENTER_HIGH +CSET status_port=STATUS +CSET summary_strings=empty +CSET use_clk_valid=false +CSET use_clkfb_stopped=false +CSET use_dyn_phase_shift=false +CSET use_dyn_reconfig=false +CSET use_freeze=false +CSET use_freq_synth=true +CSET use_inclk_stopped=false +CSET use_inclk_switchover=false +CSET use_locked=true +CSET use_max_i_jitter=false +CSET use_min_o_jitter=false +CSET use_min_power=false +CSET use_phase_alignment=true +CSET use_power_down=false +CSET use_reset=true +CSET use_spread_spectrum=false +CSET use_spread_spectrum_1=false +CSET use_status=false +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2012-05-10T12:44:55Z +# END Extra information +GENERATE +# CRC: f0b0ba04 diff --git a/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xise b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xise new file mode 100644 index 0000000..c15c032 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/clockmodule80to80M.xise @@ -0,0 +1,75 @@ + + + +
+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
diff --git a/FEE_ADC32board/project/ipcore_dir/coregen.cgp b/FEE_ADC32board/project/ipcore_dir/coregen.cgp new file mode 100644 index 0000000..1f2a88e --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/coregen.cgp @@ -0,0 +1,9 @@ +SET busformat = BusFormatAngleBracketNotRipped +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET package = ff484 +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true diff --git a/FEE_ADC32board/project/ipcore_dir/data_vio.ngc b/FEE_ADC32board/project/ipcore_dir/data_vio.ngc new file mode 100644 index 0000000..465356a --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/data_vio.ngc @@ -0,0 +1,3 @@ +XILINX-XDB 0.1 STUB 0.1 ASCII +XILINX-XDM V1.5e +$b254=7<2:;<=:401210>6688>0<;??1:07?77788=0??4FNQWW>DU^FJUBB1=>:1<22>552@D[YY4\YOA\MK:493:5=45<2;MVPUSS2HYRBNQ@UU>05?699118>7AZTQWW>V_IKVE^X1=>:1<22>512@DDYY4LOOVQKI:4=3:5869IFG33?2@ANOLMJKHIFGDEB4=?022;<=>?0108E54b9BW\HDW@D7=90l;@QZJFYNF5;>2n5NSXL@[LH;9?4h7L]VNB]JJ9706j1J_T@L_HL?5=8d3HYRBNQFN=3::g=F[PDHSD@31?a8EV_IKVCE0?>1c:CP]KEXAG69=3m4AR[MGZOI4;85o6O\YOA\MK:5;7i0M^WAC^KM8729k2KXUCMPIO>11;eGTQGITEC2=7?a8EV_IKVCE0?61c:CP]KEXAG6953l4AR[MGZOI4;4h7L]VNB]JJ9576l1J_T@L_HL?74<76j1J_T@L_HL?748e3HYRBNQFN=1=f>GTQGITEC2;>c9BW\HDW@D793l4AR[MGZOI4?4i7L]VNB]JJ919j2KXUCMPIO>;:g=F[PDHSD@39?a8EV_IKVE^X1>1d:CP]KEXG\^7==0k;@QZJFYH]]6:=3j4AR[MGZIR\5;92i5NSXL@[JSS4895h6O\YOA\KPR;9=4o7L]VNB]LQQ:6=7n0M^WAC^MVP9716m1J_T@L_NWW8419l2KXUCMPOTV?5=8c3HYRBNQ@UU>2=;eGTQGITCXZ321e9BW\HDWF__0?=1d:CP]KEXG\^7>90k;@QZJFYH]]6993j4AR[MGZIR\58=2i5NSXL@[JSS4;=5h6O\YOA\KPR;:14o7L]VNB]LQQ:517i0M^WAC^MVP949l2KXUCMPOTV?758a3HYRBNQ@UU>05?69l2KXUCMPOTV?748d3HYRBNQ@UU>0:f=F[PDHSB[[<5<`?DU^FJUDYY2:>b9BW\HDWF__0;0l;@QZJFYH]]6<2n5NSXL@[JSS414h7L]VNB]LQQ:>6=1I==77;CWP[LHAG81H>6MN2:AF57=D@LI@SAGLEOQF[Q_WM;1HE>5LLJ18GIT>3JEFADZ[EEc8GJHSZFF7<3l4CNLWVJJ;994i7NAATSMO8479j2IDBY\@L=31:g=DGG^YCA2>3?`8GJHSZFF7=90m;BMMPWIK48?5n6M@NUPLH9716k1HCCZ]OM>23;d15;dEHF]XD@1<7>c9@KKRUGE6953o4CNLWVJJ;:7h0OB@[RNN?758e3JEEX_AC<23=f>EHF]XD@1==>c9@KKRUGE68?3l4CNLWVJJ;;=4o7NAATSMO863=87h0OB@[RNN?708f3JEEX_AC<2=8;86HKCD18BAC43ONY86HKRD:8BC@ANOLN=6I<;FLG2>NBIMUG=6G=;H21?L753@897D==;H61?L3>3@DBX^ZNTD18MKP53EC97AA8;MMDMFGK<2F^X<:4LTV10>JR\:>0@XZ;4:NVP025A3758J@RPG[A:7B?4P59SEWRf3YCESO[\IEZa?UOIWK_XBLCJ1:S0?T7292X:7^84SNWQG@1<[[FH=;Kn;R[MGZOI494i7^WAC^KM8469j2YRBNQFN=32:g=TQGITEC2>2?`8W\HDW@D7=>0m;R[MGZOI48>5n6]VNB]JJ9726k1XUCMPIO>22;d<[PDHSD@31614;d<[PDHSD@320U^FJUBB1<8>c9P]KEXAG6943l4SXL@[LH;:04j7^WAC^KM878e3ZSEORGA<22=`>U^FJUBB1=>:1?1a:QZJFYNF595m6]VNB]JJ929i2YRBNQFN=7=e>U^FJUBB181a:QZJFYNF5=5m6]VNB]JJ9>9i2YRBNQFN=;=f>U^FJUDYY2?>b9P]KEXG\^7==0l;R[MGZIR\5;:2n5\YOA\KPR;9;4h7^WAC^MVP9746j1XUCMPOTV?518d3ZSEORAZT=36:f=TQGITCXZ317<`?V_IKVE^X1?8>b9P]KEXG\^7=50l;R[MGZIR\5;22o5\YOA\KPR;97i0_T@L_NWW8769k2YRBNQ@UU>15;e<[PDHSB[[<30=g>U^FJUDYY2=3?a8W\HDWF__0?:1c:QZJFYH]]6993m4SXL@[JSS4;<5o6]VNB]LQQ:5?7i0_T@L_NWW87>9k2YRBNQ@UU>1=;d<[PDHSB[[<3<`?V_IKVE^X1=?>d9P]KEXG\^7?<4?>b9P]KEXG\^7?<0m;R[MGZIR\595n6]VNB]LQQ:36k1XUCMPOTV?1;d<[PDHSB[[<7S7'@U]EB!HEO]BW\HDW@DP

:4U1-J[SOH'NOESL]VNB]JJ^6Z&HYRBNQFN^AFHI)TWHYRBNQI_SGD77=R8&CTZDA GDL\EV_IKVCEW=S!AR[MGZOIWJOG@"]PAR[MGZTBO:>0Y=!F_WKL+BCIWHYRBNQFNZ2^*DU^FJUBBRMJLM-P[DU^FJUYS_KH309V4*OX^@E$KH@PAR[MGZOIS9W%M^WAC^KM[FCKD&YTY^K]_SGD6c=R8&CTZDA GDL\EV_IKVCEW=S!AR[MGZOIWJOG@"[\ES]NQ]573\:$ERXFO.EFJZGTQGITECU?]/CP]KEXAGUHIAB U^DBHIOIO;l0Y=!F_WKL+BCIWHYRBNQFNZ2^*DU^FJUBBRMJLM-V[WOTAGM8>6[?/H]UMJ)@MGUJ_T@L_HLX4X(F[PDHSD@PCDNO+PYT\H^HAIQa379V4*OX^@E$KH@PAR[MGZOIS9W%M^WAC^KM[FCKD&kxucmPmtz\bZir|:<0Y=!F_WKL+BCIWHYRBNQFNZ2^*DU^FJUBBRMJLM-bw|hdWdsSQ`uu11?P6(AV\BC"IJN^CP]KEXAGQ;Q#O\YOA\MKYDMEF$jlbcioe\kpr5m2_;#DQYIN-DAKYF[PDHSD@T0\,BW\HDW@DTOHBC/gf2[jss:l1^<"GPVHM,C@HXIZSEORGA[1_-EV_IKVCESNKCL.dg6Zir|;o0Y=!F_WKL+BCIWHYRBNQFNZ2^*DU^FJUBBRMJLM-e`6Yh}}8m7X> I^TJK*ABFVKXUCMPIOY3Y+GTQGITECQLEMN,ip~6Wf?<5Z0.K\RLI(OLDTM^WAC^KM_5[)IZSEORGA_BGOH*tn{`dlSb{{319V4*OX^@E$KH@PAR[MGZOIS9W%M^WAC^KM[FCKD&xiQfn^l07>S7'@U]EB!HEO]BW\HDW@DP==S!AR[MGZOIWJOG@"O\YOA\BZKRP:90Y=!F_WKL+BCIWHYRBNQFNZ33Y+GTQGITECQLEMN,EV_IKVXTAXV<5:W3+LYQAF%LICQNSXL@[LH\99W%M^WAC^KM[FCKD&YTM^WAC^D\V@A4;2_;#DQYIN-DAKYF[PDHSD@T11_-EV_IKVCESNKCL.Q\EV_IKVXNK>;4U1-J[SOH'NOESL]VNB]JJ^77U'KXUCMPIO]@AIJ([VKXUCMPR^PFC64<]9%BS[G@/FGM[DU^FJUBBV??]/CP]KEXAGUHIAB S^WPAWYUMN9;7X> I^TJK*ABFVKXUCMPIOY24X(F[PDHSD@PCDNO+PUBZVG^T>?4U1-J[SOH'NOESL]VNB]JJ^77U'KXUCMPIO]@AIJ(]VLJ@AGAG228Q5)NW_CD#JKA_@QZJFYNFR;;Q#O\YOA\MKYDMEF$YR\FSHLD76=R8&CTZDA GDL\EV_IKVCEW<>R.@QZJFYNFVIN@A!Z_RVBPFKCWg9<7X> I^TJK*ABFVKXUCMPIOY24X(F[PDHSD@PCDNO+du~fjUfyuQi_nww72=R8&CTZDA GDL\EV_IKVCEW<>R.@QZJFYNFVIN@A!nsxl`[hsW{Udyy=<;T2,MZPNG&MNBRO\YOA\MK]68T$J_T@L_HL\G@JK'okg`d`h_nww6c=R8&CTZDA GDL\EV_IKVCEW<>R.@QZJFYNFVIN@A!id0]lqq4a3\:$ERXFO.EFJZGTQGITECU>0\,BW\HDW@DTOHBC/gf1[jss:o1^<"GPVHM,C@HXIZSEORGA[02^*DU^FJUBBRMJLM-e`6Yh}}9;7X> I^TJK*ABFVKXUCMPIOY24X(F[PDHSD@PCDNO+hs9Ve~x><4U1-J[SOH'NOESL]VNB]JJ^77U'KXUCMPIO]@AIJ(z`ybbjQ`uu12?P6(AV\BC"IJN^CP]KEXAGQ:

1\,BW\HDW@DTOHBC/@QZJFYAWD_S?>5Z0.K\RLI(OLDTM^WAC^KM_47Z&HYRBNQFN^AFHI)F[PDHS_QBUY16?P6(AV\BC"IJN^CP]KEXAGQ:=P NSXL@[LHXKLFG#^QNSXL@[CYUMN987X> I^TJK*ABFVKXUCMPIOY25X(F[PDHSD@PCDNO+VYF[PDHS_KH349V4*OX^@E$KH@PAR[MGZOIS8;V"L]VNB]JJZEBDE%XSL]VNB]Q[WC@;;1^<"GPVHM,C@HXIZSEORGA[03^*DU^FJUBBRMJLM-P[PUBZVXNK>>4U1-J[SOH'NOESL]VNB]JJ^76U'KXUCMPIO]@AIJ(]ZOYS@[W309V4*OX^@E$KH@PAR[MGZOIS8;V"L]VNB]JJZEBDE%^SKOCLHLD75=R8&CTZDA GDL\EV_IKVCEW94U1-J[SOH'NOESL]VNB]JJ^76U'KXUCMPIO]@AIJ(izseoRczx^d\kpr4?2_;#DQYIN-DAKYF[PDHSD@T10_-EV_IKVCESNKCL.cp}keXe|rT~Razt218Q5)NW_CD#JKA_@QZJFYNFR;:Q#O\YOA\MKYDMEF$jlbcioe\kpr5n2_;#DQYIN-DAKYF[PDHSD@T10_-EV_IKVCESNKCL.dg5Zir|;l0Y=!F_WKL+BCIWHYRBNQFNZ32Y+GTQGITECQLEMN,ba4Xg|~9j6[?/H]UMJ)@MGUJ_T@L_HLX54[)IZSEORGA_BGOH*`c;Ve~x>>4U1-J[SOH'NOESL]VNB]JJ^76U'KXUCMPIO]@AIJ(e|r:Sb{{339V4*OX^@E$KH@PAR[MGZOIS8;V"L]VNB]JJZEBDE%ye~gag^mvp67<]9%BS[G@/FGM[DU^FJUBBV?>]/CP]KEXAGUHIAB urgq[lhXf:90Y=!F_WKL+BCIWHYRBNQFNZ31Y+GTQGITECQLEMN,EV_IKVLTAXV<3:W3+LYQAF%LICQNSXL@[LH\9;W%M^WAC^KM[FCKD&KXUCMPR^OV\63<]9%BS[G@/FGM[DU^FJUBBV?=]/CP]KEXAGUHIAB S^CP]KEXNVXNK>=4U1-J[SOH'NOESL]VNB]JJ^75U'KXUCMPIO]@AIJ([VKXUCMPRDE01>S7'@U]EB!HEO]BW\HDW@DP=?S!AR[MGZOIWJOG@"]PAR[MGZTXZLM8>6[?/H]UMJ)@MGUJ_T@L_HLX57[)IZSEORGA_BGOH*UX]ZOYS_KH319V4*OX^@E$KH@PAR[MGZOIS88V"L]VNB]JJZEBDE%^_H\PMTZ05>S7'@U]EB!HEO]BW\HDW@DP=?S!AR[MGZOIWJOG@"[PF@NOMKA482_;#DQYIN-DAKYF[PDHSD@T13_-EV_IKVCESNKCL.W\VLUNFN987X> I^TJK*ABFVKXUCMPIOY26X(F[PDHSD@PCDNO+PYT\H^HAIQa369V4*OX^@E$KH@PAR[MGZOIS88V"L]VNB]JJZEBDE%jt`l_lw{[cYh}}9<7X> I^TJK*ABFVKXUCMPIOY26X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww76=R8&CTZDA GDL\EV_IKVCEW< I^TJK*ABFVKXUCMPIOY26X(F[PDHSD@PCDNO+cb6Wf>k5Z0.K\RLI(OLDTM^WAC^KM_44Z&HYRBNQFN^AFHI)al;UdyyS7'@U]EB!HEO]BW\HDW@DP=?S!AR[MGZOIWJOG@"|fshld[jss;81^<"GPVHM,C@HXIZSEORGA[00^*DU^FJUBBRMJLM-vw`tXagUe?>5Z0.K\RLI(OLDTM^WAC^KM_45Z&HYRBNQFN^AFHI)F[PDHSKQBUY10?P6(AV\BC"IJN^CP]KEXAGQ:?P NSXL@[LHXKLFG#L]VNB]Q[HS_;<1^<"GPVHM,C@HXIZSEORGA[01^*DU^FJUBBRMJLM-P[DU^FJUMS_KH329V4*OX^@E$KH@PAR[MGZOIS89V"L]VNB]JJZEBDE%XSL]VNB]QAB523\:$ERXFO.EFJZGTQGITECU>3\,BW\HDW@DTOHBC/R]BW\HDW[UYIJ==;T2,MZPNG&MNBRO\YOA\MK]6;T$J_T@L_HL\G@JK'ZU^_H\PRDE04>S7'@U]EB!HEO]BW\HDW@DP=>S!AR[MGZOIWJOG@"[\ES]NQ]563\:$ERXFO.EFJZGTQGITECU>3\,BW\HDW@DTOHBC/T]EEIJNFN9;7X> I^TJK*ABFVKXUCMPIOY27X(F[PDHSD@PCDNO+PYUAZCEK>=4U1-J[SOH'NOESL]VNB]JJ^74U'KXUCMPIO]@AIJ(]VY_MYMBD^l03>S7'@U]EB!HEO]BW\HDW@DP=>S!AR[MGZOIWJOG@"o|yoa\ip~XnVe~x>94U1-J[SOH'NOESL]VNB]JJ^74U'KXUCMPIO]@AIJ(izseoRczx^p\kpr4;2_;#DQYIN-DAKYF[PDHSD@T12_-EV_IKVCESNKCL.dbhioioVe~x?h4U1-J[SOH'NOESL]VNB]JJ^74U'KXUCMPIO]@AIJ(nm;Tcxz=f:W3+LYQAF%LICQNSXL@[LH\9:W%M^WAC^KM[FCKD&lo>Razt3d8Q5)NW_CD#JKA_@QZJFYNFR;8Q#O\YOA\MKYDMEF$ji=Potv04>S7'@U]EB!HEO]BW\HDW@DP=>S!AR[MGZOIWJOG@"czx0]lqq553\:$ERXFO.EFJZGTQGITECU>3\,BW\HDW@DTOHBC/skpmkaXg|~8=6[?/H]UMJ)@MGUJ_T@L_HLX56[)IZSEORGA_BGOH*stm{UbbR`<3:W3+LYQAF%LICQNSXL@[LH\9=W%M^WAC^KM[FCKD&KXUCMPF^OV\65<]9%BS[G@/FGM[DU^FJUBBV?;]/CP]KEXAGUHIAB AR[MGZTXE\R896[?/H]UMJ)@MGUJ_T@L_HLX51[)IZSEORGA_BGOH*UXIZSEORHPRDE07>S7'@U]EB!HEO]BW\HDW@DP=9S!AR[MGZOIWJOG@"]PAR[MGZTBO:?0Y=!F_WKL+BCIWHYRBNQFNZ37Y+GTQGITECQLEMN,WZGTQGIT^R\JG208Q5)NW_CD#JKA_@QZJFYNFR;?Q#O\YOA\MKYDMEF$_R[\ES]QAB573\:$ERXFO.EFJZGTQGITECU>4\,BW\HDW@DTOHBC/TQFVZKRP:;0Y=!F_WKL+BCIWHYRBNQFNZ37Y+GTQGITECQLEMN,QZ@FDECEK>>4U1-J[SOH'NOESL]VNB]JJ^73U'KXUCMPIO]@AIJ(]VXB_D@H329V4*OX^@E$KH@PAR[MGZOIS8>V"L]VNB]JJZEBDE%^S^ZNTBOG[k503\:$ERXFO.EFJZGTQGITECU>4\,BW\HDW@DTOHBC/`qzjfYj}qUmSb{{369V4*OX^@E$KH@PAR[MGZOIS8>V"L]VNB]JJZEBDE%jt`l_lw{[wYh}}987X> I^TJK*ABFVKXUCMPIOY20X(F[PDHSD@PCDNO+cgkd`dlSb{{2g9V4*OX^@E$KH@PAR[MGZOIS8>V"L]VNB]JJZEBDE%mh4\,BW\HDW@DTOHBC/lw{5Zir|:80Y=!F_WKL+BCIWHYRBNQFNZ37Y+GTQGITECQLEMN,vlunfnUdyy=>;T2,MZPNG&MNBRO\YOA\MK]65\,BW\HDW@DTOHBC/R]BW\HDW[OL?85Z0.K\RLI(OLDTM^WAC^KM_43Z&HYRBNQFN^AFHI)TWHYRBNQ]_SGD77=R8&CTZDA GDL\EV_IKVCEW<;R.@QZJFYNFVIN@A!\_TQFVZTBO::0Y=!F_WKL+BCIWHYRBNQFNZ36Y+GTQGITECQLEMN,QVCUWD_S?<5Z0.K\RLI(OLDTM^WAC^KM_43Z&HYRBNQFN^AFHI)RWOKG@D@H319V4*OX^@E$KH@PAR[MGZOIS8?V"L]VNB]JJZEBDE%^S_G\IOE07>S7'@U]EB!HEO]BW\HDW@DP=8S!AR[MGZOIWJOG@"[PSUCWGHBXf:=0Y=!F_WKL+BCIWHYRBNQFNZ36Y+GTQGITECQLEMN,evikVg~tRhPotv03>S7'@U]EB!HEO]BW\HDW@DP=8S!AR[MGZOIWJOG@"o|yoa\ip~XzVe~x>=4U1-J[SOH'NOESL]VNB]JJ^72U'KXUCMPIO]@AIJ(nhfgeciPotv1b>S7'@U]EB!HEO]BW\HDW@DP=8S!AR[MGZOIWJOG@"hk1^mvp7`<]9%BS[G@/FGM[DU^FJUBBV?:]/CP]KEXAGUHIAB fe0\kpr5n2_;#DQYIN-DAKYF[PDHSD@T14_-EV_IKVCESNKCL.dg7Zir|::0Y=!F_WKL+BCIWHYRBNQFNZ36Y+GTQGITECQLEMN,ip~6Wf??5Z0.K\RLI(OLDTM^WAC^KM_43Z&HYRBNQFN^AFHI)uazcekRazt238Q5)NW_CD#JKA_@QZJFYNFR;>Q#O\YOA\MKYDMEF$y~k}_hl\j65<]9%BS[G@/FGM[DU^FJUBBV?9]/CP]KEXAGUHIAB AR[MGZ@XE\R8?6[?/H]UMJ)@MGUJ_T@L_HLX53[)IZSEORGA_BGOH*GTQGIT^RCZX278Q5)NW_CD#JKA_@QZJFYNFR;=Q#O\YOA\MKYDMEF$_RO\YOA\BZTBO:90Y=!F_WKL+BCIWHYRBNQFNZ35Y+GTQGITECQLEMN,WZGTQGIT^HI<5:W3+LYQAF%LICQNSXL@[LH\9?W%M^WAC^KM[FCKD&YTM^WAC^P\V@A4:2_;#DQYIN-DAKYF[PDHSD@T17_-EV_IKVCESNKCL.Q\QVCUW[OL?=5Z0.K\RLI(OLDTM^WAC^KM_40Z&HYRBNQFN^AFHI)R[LXTAXV<1:W3+LYQAF%LICQNSXL@[LH\9?W%M^WAC^KM[FCKD&_TJLBCIOE04>S7'@U]EB!HEO]BW\HDW@DP=;S!AR[MGZOIWJOG@"[PRHQJJB543\:$ERXFO.EFJZGTQGITECU>6\,BW\HDW@DTOHBC/T]PPDRDEMUe?:5Z0.K\RLI(OLDTM^WAC^KM_40Z&HYRBNQFN^AFHI)f{pdhS`{w_g]lqq503\:$ERXFO.EFJZGTQGITECU>6\,BW\HDW@DTOHBC/`qzjfYj}qUySb{{329V4*OX^@E$KH@PAR[MGZOIS86\,BW\HDW@DTOHBC/gf2[jss:o1^<"GPVHM,C@HXIZSEORGA[04^*DU^FJUBBRMJLM-e`7Yh}}8m7X> I^TJK*ABFVKXUCMPIOY22X(F[PDHSD@PCDNO+cb4Wf?=5Z0.K\RLI(OLDTM^WAC^KM_40Z&HYRBNQFN^AFHI)j}q;Tcxz<2:W3+LYQAF%LICQNSXL@[LH\9?W%M^WAC^KM[FCKD&xbd`h_nww74=R8&CTZDA GDL\EV_IKVCEW<8R.@QZJFYNFVIN@A!zsdp\mkYi;:1^<"GPVHM,C@HXIZSEORGA[05^*DU^FJUBBRMJLM-BW\HDWOUFYU=<;T2,MZPNG&MNBRO\YOA\MK]6?T$J_T@L_HL\G@JK'HYRBNQ]_LW[70=R8&CTZDA GDL\EV_IKVCEW<9R.@QZJFYNFVIN@A!\_@QZJFYAW[OL?>5Z0.K\RLI(OLDTM^WAC^KM_41Z&HYRBNQFN^AFHI)TWHYRBNQ]EF16?P6(AV\BC"IJN^CP]KEXAGQ:;P NSXL@[LHXKLFG#^QNSXL@[WYUMN997X> I^TJK*ABFVKXUCMPIOY23X(F[PDHSD@PCDNO+VYR[LXT^HI<0:W3+LYQAF%LICQNSXL@[LH\9>W%M^WAC^KM[FCKD&_XI_QBUY12?P6(AV\BC"IJN^CP]KEXAGQ:;P NSXL@[LHXKLFG#XQIAMNJJB573\:$ERXFO.EFJZGTQGITECU>7\,BW\HDW@DTOHBC/T]QMVOIO:90Y=!F_WKL+BCIWHYRBNQFNZ34Y+GTQGITECQLEMN,QZUSI]IFHR`<7:W3+LYQAF%LICQNSXL@[LH\9>W%M^WAC^KM[FCKD&kxucmPmtz\bZir|:=0Y=!F_WKL+BCIWHYRBNQFNZ34Y+GTQGITECQLEMN,evikVg~tR|Potv07>S7'@U]EB!HEO]BW\HDW@DP=:S!AR[MGZOIWJOG@"hnlmkmcZir|;l0Y=!F_WKL+BCIWHYRBNQFNZ34Y+GTQGITECQLEMN,ba7Xg|~9j6[?/H]UMJ)@MGUJ_T@L_HLX52[)IZSEORGA_BGOH*`c:Ve~x?h4U1-J[SOH'NOESL]VNB]JJ^70U'KXUCMPIO]@AIJ(nm9Tcxz<0:W3+LYQAF%LICQNSXL@[LH\9>W%M^WAC^KM[FCKD&g~t<4U1-J[SOH'NOESL]VNB]JJ^7?U'KXUCMPIO]@AIJ([V_XI_Q]EF13?P6(AV\BC"IJN^CP]KEXAGQ:4P NSXL@[LHXKLFG#X]JR^OV\67<]9%BS[G@/FGM[DU^FJUBBV?7]/CP]KEXAGUHIAB U^DBHIOIO::0Y=!F_WKL+BCIWHYRBNQFNZ3;Y+GTQGITECQLEMN,QZTN[@DL?>5Z0.K\RLI(OLDTM^WAC^KM_4>Z&HYRBNQFN^AFHI)RWZ^JXNCK_o14?P6(AV\BC"IJN^CP]KEXAGQ:4P NSXL@[LHXKLFG#l}vnb]nq}YaWf?:5Z0.K\RLI(OLDTM^WAC^KM_4>Z&HYRBNQFN^AFHI)f{pdhS`{w_s]lqq543\:$ERXFO.EFJZGTQGITECU>8\,BW\HDW@DTOHBC/gcohlh`Wf>k5Z0.K\RLI(OLDTM^WAC^KM_4>Z&HYRBNQFN^AFHI)al8UdyyQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ:4P NSXL@[LHXKLFG#`{w1^mvp64<]9%BS[G@/FGM[DU^FJUBBV?7]/CP]KEXAGUHIAB rhqjjbYh}}9:7X> I^TJK*ABFVKXUCMPIOY27X> I^TJK*ABFVKXUCMPIOY2=X(F[PDHSD@PCDNO+VYF[PDHSKQ]EF10?P6(AV\BC"IJN^CP]KEXAGQ:5P NSXL@[LHXKLFG#^QNSXL@[WC@;<1^<"GPVHM,C@HXIZSEORGA[0;^*DU^FJUBBRMJLM-P[DU^FJUYS_KH339V4*OX^@E$KH@PAR[MGZOIS83V"L]VNB]JJZEBDE%XSX]JR^PFC66<]9%BS[G@/FGM[DU^FJUBBV?6]/CP]KEXAGUHIAB URGQ[HS_;81^<"GPVHM,C@HXIZSEORGA[0;^*DU^FJUBBRMJLM-V[CGKD@DL?=5Z0.K\RLI(OLDTM^WAC^KM_4?Z&HYRBNQFN^AFHI)RW[CXECI<3:W3+LYQAF%LICQNSXL@[LH\90W%M^WAC^KM[FCKD&_T_YO[CLF\j61<]9%BS[G@/FGM[DU^FJUBBV?6]/CP]KEXAGUHIAB ar{mgZkrpVlTcxz<7:W3+LYQAF%LICQNSXL@[LH\90W%M^WAC^KM[FCKD&kxucmPmtz\vZir|:90Y=!F_WKL+BCIWHYRBNQFNZ3:Y+GTQGITECQLEMN,bdjkagmTcxz=f:W3+LYQAF%LICQNSXL@[LH\90W%M^WAC^KM[FCKD&lo=Razt3d8Q5)NW_CD#JKA_@QZJFYNFR;2Q#O\YOA\MKYDMEF$jiS7'@U]EB!HEO]BW\HDW@DP=4S!AR[MGZOIWJOG@"hk3^mvp66<]9%BS[G@/FGM[DU^FJUBBV?6]/CP]KEXAGUHIAB mtz2[jss;;1^<"GPVHM,C@HXIZSEORGA[0;^*DU^FJUBBRMJLM-qmvoioVe~x>?4U1-J[SOH'NOESL]VNB]JJ^7>U'KXUCMPIO]@AIJ(}zoySd`Pn208Q5)NW_CD#JKA_@QZJFYNFR;V"L]VNB]JJZEBDE%J_T@L_G]NQ]553\:$ERXFO.EFJZGTQGITECU>]/CP]KEXAGUHIAB AR[MGZTXE\R886[?/H]UMJ)@MGUJ_T@L_HLX5X(F[PDHSD@PCDNO+VYF[PDHSKQ]EF11?P6(AV\BC"IJN^CP]KEXAGQ:Q#O\YOA\MKYDMEF$_RO\YOA\V@A4<2_;#DQYIN-DAKYF[PDHSD@T1\,BW\HDW@DTOHBC/R]BW\HDW[UYIJ=>;T2,MZPNG&MNBRO\YOA\MK]6U'KXUCMPIO]@AIJ([V_XI_Q]EF0e?P6(AV\BC"IJN^CP]KEXAGQ:Q#O\YOA\MKYDMEF$Y^K]_LW[75=R8&CTZDA GDL\EV_IKVCEW2_;#DQYIN-DAKYF[PDHSD@T1\,BW\HDW@DTOHBC/`qzjfYj}qUySb{{339V4*OX^@E$KH@PAR[MGZOIS8W%M^WAC^KM[FCKD&lj`agag^mvp7c<]9%BS[G@/FGM[DU^FJUBBV?R.@QZJFYNFVIN@A!id0]lqq4b3\:$ERXFO.EFJZGTQGITECU>]/CP]KEXAGUHIAB fe0\kpr5m2_;#DQYIN-DAKYF[PDHSD@T1\,BW\HDW@DTOHBC/gf0[jss:o1^<"GPVHM,C@HXIZSEORGA[0_-EV_IKVCESNKCL.ov|4Yh}}9:7X> I^TJK*ABFVKXUCMPIOY2Y+GTQGITECQLEMN,vlunfnUdyy=?;T2,MZPNG&MNBRO\YOA\MK]6U'KXUCMPIO]@AIJ(}zoySd`Pn218Q5)NW_CD#JKA_@QZJFYNFR8;Q#O\YOA\MKYDMEF$M^WAC^D\IP^4;2_;#DQYIN-DAKYF[PDHSD@T21_-EV_IKVCESNKCL.CP]KEXZVG^T>;4U1-J[SOH'NOESL]VNB]JJ^47U'KXUCMPIO]@AIJ([VKXUCMPF^PFC65<]9%BS[G@/FGM[DU^FJUBBVS7'@U]EB!HEO]BW\HDW@DP>=S!AR[MGZOIWJOG@"]PURGQ[WC@;91^<"GPVHM,C@HXIZSEORGA[32^*DU^FJUBBRMJLM-VW@TXE\R8=6[?/H]UMJ)@MGUJ_T@L_HLX65[)IZSEORGA_BGOH*SXNHFGECI<0:W3+LYQAF%LICQNSXL@[LH\:9W%M^WAC^KM[FCKD&_T^D]FNF10?P6(AV\BC"IJN^CP]KEXAGQ9

1^<"GPVHM,C@HXIZSEORGA[32^*DU^FJUBBRMJLM-bw|hdWdsSkQ`uu14?P6(AV\BC"IJN^CP]KEXAGQ9

5Z0.K\RLI(OLDTM^WAC^KM_76Z&HYRBNQFN^AFHI)aiefbbjQ`uu0e?P6(AV\BC"IJN^CP]KEXAGQ9

_nww6c=R8&CTZDA GDL\EV_IKVCEW?>R.@QZJFYNFVIN@A!id3]lqq4a3\:$ERXFO.EFJZGTQGITECU=0\,BW\HDW@DTOHBC/gf0[jss;91^<"GPVHM,C@HXIZSEORGA[32^*DU^FJUBBRMJLM-nq}7Xg|~8>6[?/H]UMJ)@MGUJ_T@L_HLX65[)IZSEORGA_BGOH*tn{`dlSb{{309V4*OX^@E$KH@PAR[MGZOIS;:V"L]VNB]JJZEBDE%~h|Pio]m76=R8&CTZDA GDL\EV_IKVCEW??R.@QZJFYNFVIN@A!NSXL@[CYJ]Q987X> I^TJK*ABFVKXUCMPIOY15X(F[PDHSD@PCDNO+DU^FJUYS@[W349V4*OX^@E$KH@PAR[MGZOIS;;V"L]VNB]JJZEBDE%XSL]VNB]E[WC@;:1^<"GPVHM,C@HXIZSEORGA[33^*DU^FJUBBRMJLM-P[DU^FJUYIJ=:;T2,MZPNG&MNBRO\YOA\MK]59T$J_T@L_HL\G@JK'ZUJ_T@L_S]QAB553\:$ERXFO.EFJZGTQGITECU=1\,BW\HDW@DTOHBC/R]VW@TXZLM8<6[?/H]UMJ)@MGUJ_T@L_HLX64[)IZSEORGA_BGOH*STM[UFYU=>;T2,MZPNG&MNBRO\YOA\MK]59T$J_T@L_HL\G@JK'\UMMABFNF13?P6(AV\BC"IJN^CP]KEXAGQ9=P NSXL@[LHXKLFG#XQ]IRKMC65<]9%BS[G@/FGM[DU^FJUBBV<>]/CP]KEXAGUHIAB U^QWEQEJLVd8;6[?/H]UMJ)@MGUJ_T@L_HLX64[)IZSEORGA_BGOH*gtqgiTaxvPf^mvp61<]9%BS[G@/FGM[DU^FJUBBV<>]/CP]KEXAGUHIAB ar{mgZkrpVxTcxz<3:W3+LYQAF%LICQNSXL@[LH\:8W%M^WAC^KM[FCKD&lj`agag^mvp7`<]9%BS[G@/FGM[DU^FJUBBV<>]/CP]KEXAGUHIAB fe3\kpr5n2_;#DQYIN-DAKYF[PDHSD@T20_-EV_IKVCESNKCL.dg6Zir|;l0Y=!F_WKL+BCIWHYRBNQFNZ02Y+GTQGITECQLEMN,ba5Xg|~8<6[?/H]UMJ)@MGUJ_T@L_HLX64[)IZSEORGA_BGOH*krp8Udyy==;T2,MZPNG&MNBRO\YOA\MK]59T$J_T@L_HL\G@JK'{cxeciPotv05>S7'@U]EB!HEO]BW\HDW@DP>=4U1-J[SOH'NOESL]VNB]JJ^45U'KXUCMPIO]@AIJ(IZSEOR\PMTZ01>S7'@U]EB!HEO]BW\HDW@DP>?S!AR[MGZOIWJOG@"]PAR[MGZ@XZLM8?6[?/H]UMJ)@MGUJ_T@L_HLX67[)IZSEORGA_BGOH*UXIZSEOR\JG278Q5)NW_CD#JKA_@QZJFYNFR89Q#O\YOA\MKYDMEF$_RO\YOA\VZTBO:80Y=!F_WKL+BCIWHYRBNQFNZ01Y+GTQGITECQLEMN,WZSTM[UYIJ=?;T2,MZPNG&MNBRO\YOA\MK]5:T$J_T@L_HL\G@JK'\YN^RCZX238Q5)NW_CD#JKA_@QZJFYNFR89Q#O\YOA\MKYDMEF$YRHNLMKMC66<]9%BS[G@/FGM[DU^FJUBBV<=]/CP]KEXAGUHIAB U^PJWLH@;:1^<"GPVHM,C@HXIZSEORGA[30^*DU^FJUBBRMJLM-V[VRF\JGOSc=8;T2,MZPNG&MNBRO\YOA\MK]5:T$J_T@L_HL\G@JK'hyrbnQbuy]e[jss;>1^<"GPVHM,C@HXIZSEORGA[30^*DU^FJUBBRMJLM-bw|hdWdsSQ`uu10?P6(AV\BC"IJN^CP]KEXAGQ9>P NSXL@[LHXKLFG#koclhld[jss:o1^<"GPVHM,C@HXIZSEORGA[30^*DU^FJUBBRMJLM-e`4Yh}}8m7X> I^TJK*ABFVKXUCMPIOY16X(F[PDHSD@PCDNO+cb5Wf>k5Z0.K\RLI(OLDTM^WAC^KM_74Z&HYRBNQFN^AFHI)al:Udyy=?;T2,MZPNG&MNBRO\YOA\MK]5:T$J_T@L_HL\G@JK'ds=Razt208Q5)NW_CD#JKA_@QZJFYNFR89Q#O\YOA\MKYDMEF$~d}fnf]lqq563\:$ERXFO.EFJZGTQGITECU=2\,BW\HDW@DTOHBC/tqfvZoiWg987X> I^TJK*ABFVKXUCMPIOY17X(F[PDHSD@PCDNO+DU^FJUMS@[W329V4*OX^@E$KH@PAR[MGZOIS;9V"L]VNB]JJZEBDE%J_T@L_S]NQ]523\:$ERXFO.EFJZGTQGITECU=3\,BW\HDW@DTOHBC/R]BW\HDWOUYIJ=<;T2,MZPNG&MNBRO\YOA\MK]5;T$J_T@L_HL\G@JK'ZUJ_T@L_SGD70=R8&CTZDA GDL\EV_IKVCEW?=R.@QZJFYNFVIN@A!\_@QZJFYUW[OL??5Z0.K\RLI(OLDTM^WAC^KM_75Z&HYRBNQFN^AFHI)TW\YN^R\JG228Q5)NW_CD#JKA_@QZJFYNFR88Q#O\YOA\MKYDMEF$Y^K]_LW[74=R8&CTZDA GDL\EV_IKVCEW?=R.@QZJFYNFVIN@A!Z_GCOHLH@;91^<"GPVHM,C@HXIZSEORGA[31^*DU^FJUBBRMJLM-V[WOTAGM8?6[?/H]UMJ)@MGUJ_T@L_HLX66[)IZSEORGA_BGOH*SX[]K_O@JPn258Q5)NW_CD#JKA_@QZJFYNFR88Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8;6[?/H]UMJ)@MGUJ_T@L_HLX66[)IZSEORGA_BGOH*gtqgiTaxvPr^mvp65<]9%BS[G@/FGM[DU^FJUBBV<<]/CP]KEXAGUHIAB f`nomkaXg|~9j6[?/H]UMJ)@MGUJ_T@L_HLX66[)IZSEORGA_BGOH*`c9Ve~x?h4U1-J[SOH'NOESL]VNB]JJ^44U'KXUCMPIO]@AIJ(nm8Tcxz=f:W3+LYQAF%LICQNSXL@[LH\::W%M^WAC^KM[FCKD&lo?Razt228Q5)NW_CD#JKA_@QZJFYNFR88Q#O\YOA\MKYDMEF$axv>_nww77=R8&CTZDA GDL\EV_IKVCEW?=R.@QZJFYNFVIN@A!}irkmcZir|:;0Y=!F_WKL+BCIWHYRBNQFNZ00Y+GTQGITECQLEMN,qvcuW`dTb>=4U1-J[SOH'NOESL]VNB]JJ^43U'KXUCMPIO]@AIJ(IZSEORHPMTZ07>S7'@U]EB!HEO]BW\HDW@DP>9S!AR[MGZOIWJOG@"O\YOA\VZKRP:?0Y=!F_WKL+BCIWHYRBNQFNZ07Y+GTQGITECQLEMN,WZGTQGITJR\JG218Q5)NW_CD#JKA_@QZJFYNFR8?Q#O\YOA\MKYDMEF$_RO\YOA\V@A4=2_;#DQYIN-DAKYF[PDHSD@T25_-EV_IKVCESNKCL.Q\EV_IKVXT^HI<2:W3+LYQAF%LICQNSXL@[LH\:=W%M^WAC^KM[FCKD&YTY^K]_SGD75=R8&CTZDA GDL\EV_IKVCEW?:R.@QZJFYNFVIN@A!ZSDP\IP^492_;#DQYIN-DAKYF[PDHSD@T25_-EV_IKVCESNKCL.W\BDJKAGM8<6[?/H]UMJ)@MGUJ_T@L_HLX61[)IZSEORGA_BGOH*SXZ@YBBJ=<;T2,MZPNG&MNBRO\YOA\MK]5V"L]VNB]JJZEBDE%mh?Q`uu0e?P6(AV\BC"IJN^CP]KEXAGQ98P NSXL@[LHXKLFG#kj<_nww75=R8&CTZDA GDL\EV_IKVCEW?:R.@QZJFYNFVIN@A!buy3\kpr4:2_;#DQYIN-DAKYF[PDHSD@T25_-EV_IKVCESNKCL.pjwlh`Wf?<5Z0.K\RLI(OLDTM^WAC^KM_72Z&HYRBNQFN^AFHI)r{lxTecQa329V4*OX^@E$KH@PAR[MGZOIS;?V"L]VNB]JJZEBDE%J_T@L_G]NQ]543\:$ERXFO.EFJZGTQGITECU=5\,BW\HDW@DTOHBC/@QZJFYUWD_S?85Z0.K\RLI(OLDTM^WAC^KM_73Z&HYRBNQFN^AFHI)TWHYRBNQI_SGD76=R8&CTZDA GDL\EV_IKVCEW?;R.@QZJFYNFVIN@A!\_@QZJFYUMN9>7X> I^TJK*ABFVKXUCMPIOY11X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF11?P6(AV\BC"IJN^CP]KEXAGQ99P NSXL@[LHXKLFG#^QZSDP\V@A482_;#DQYIN-DAKYF[PDHSD@T24_-EV_IKVCESNKCL.WPAWYJ]Q9:7X> I^TJK*ABFVKXUCMPIOY11X(F[PDHSD@PCDNO+PYAIEFBBJ=?;T2,MZPNG&MNBRO\YOA\MK]5=T$J_T@L_HL\G@JK'\UYE^GAG218Q5)NW_CD#JKA_@QZJFYNFR8>Q#O\YOA\MKYDMEF$YR][AUAN@Zh4?2_;#DQYIN-DAKYF[PDHSD@T24_-EV_IKVCESNKCL.cp}keXe|rTjRazt258Q5)NW_CD#JKA_@QZJFYNFR8>Q#O\YOA\MKYDMEF$m~wac^ov|ZtXg|~8?6[?/H]UMJ)@MGUJ_T@L_HLX60[)IZSEORGA_BGOH*`fdecekRazt3d8Q5)NW_CD#JKA_@QZJFYNFR8>Q#O\YOA\MKYDMEF$ji?Potv1b>S7'@U]EB!HEO]BW\HDW@DP>8S!AR[MGZOIWJOG@"hk2^mvp7`<]9%BS[G@/FGM[DU^FJUBBV<:]/CP]KEXAGUHIAB fe1\kpr482_;#DQYIN-DAKYF[PDHSD@T24_-EV_IKVCESNKCL.ov|4Yh}}997X> I^TJK*ABFVKXUCMPIOY11X(F[PDHSD@PCDNO+wotagmTcxz<1:W3+LYQAF%LICQNSXL@[LH\:S7'@U]EB!HEO]BW\HDW@DP>;S!AR[MGZOIWJOG@"O\YOA\BZKRP:90Y=!F_WKL+BCIWHYRBNQFNZ05Y+GTQGITECQLEMN,EV_IKVXTAXV<5:W3+LYQAF%LICQNSXL@[LH\:?W%M^WAC^KM[FCKD&YTM^WAC^D\V@A4;2_;#DQYIN-DAKYF[PDHSD@T27_-EV_IKVCESNKCL.Q\EV_IKVXNK>;4U1-J[SOH'NOESL]VNB]JJ^41U'KXUCMPIO]@AIJ([VKXUCMPR^PFC64<]9%BS[G@/FGM[DU^FJUBBV<9]/CP]KEXAGUHIAB S^WPAWYUMN9;7X> I^TJK*ABFVKXUCMPIOY12X(F[PDHSD@PCDNO+PUBZVG^T>?4U1-J[SOH'NOESL]VNB]JJ^41U'KXUCMPIO]@AIJ(]VLJ@AGAG228Q5)NW_CD#JKA_@QZJFYNFR8=Q#O\YOA\MKYDMEF$YR\FSHLD76=R8&CTZDA GDL\EV_IKVCEW?8R.@QZJFYNFVIN@A!Z_RVBPFKCWg9<7X> I^TJK*ABFVKXUCMPIOY12X(F[PDHSD@PCDNO+du~fjUfyuQi_nww72=R8&CTZDA GDL\EV_IKVCEW?8R.@QZJFYNFVIN@A!nsxl`[hsW{Udyy=<;T2,MZPNG&MNBRO\YOA\MK]5>T$J_T@L_HL\G@JK'okg`d`h_nww6c=R8&CTZDA GDL\EV_IKVCEW?8R.@QZJFYNFVIN@A!id0]lqq4a3\:$ERXFO.EFJZGTQGITECU=6\,BW\HDW@DTOHBC/gf1[jss:o1^<"GPVHM,C@HXIZSEORGA[34^*DU^FJUBBRMJLM-e`6Yh}}9;7X> I^TJK*ABFVKXUCMPIOY12X(F[PDHSD@PCDNO+hs9Ve~x><4U1-J[SOH'NOESL]VNB]JJ^41U'KXUCMPIO]@AIJ(z`ybbjQ`uu12?P6(AV\BC"IJN^CP]KEXAGQ9:P NSXL@[LHXKLFG#x}jr^km[k543\:$ERXFO.EFJZGTQGITECU=7\,BW\HDW@DTOHBC/@QZJFYAWD_S?>5Z0.K\RLI(OLDTM^WAC^KM_71Z&HYRBNQFN^AFHI)F[PDHS_QBUY16?P6(AV\BC"IJN^CP]KEXAGQ9;P NSXL@[LHXKLFG#^QNSXL@[CYUMN987X> I^TJK*ABFVKXUCMPIOY13X(F[PDHSD@PCDNO+VYF[PDHS_KH349V4*OX^@E$KH@PAR[MGZOIS;=V"L]VNB]JJZEBDE%XSL]VNB]Q[WC@;;1^<"GPVHM,C@HXIZSEORGA[35^*DU^FJUBBRMJLM-P[PUBZVXNK>>4U1-J[SOH'NOESL]VNB]JJ^40U'KXUCMPIO]@AIJ(]ZOYS@[W309V4*OX^@E$KH@PAR[MGZOIS;=V"L]VNB]JJZEBDE%^SKOCLHLD75=R8&CTZDA GDL\EV_IKVCEW?9R.@QZJFYNFVIN@A!Z_SKPMKA4;2_;#DQYIN-DAKYF[PDHSD@T26_-EV_IKVCESNKCL.W\WQGSKDNTb>94U1-J[SOH'NOESL]VNB]JJ^40U'KXUCMPIO]@AIJ(izseoRczx^d\kpr4?2_;#DQYIN-DAKYF[PDHSD@T26_-EV_IKVCESNKCL.cp}keXe|rT~Razt218Q5)NW_CD#JKA_@QZJFYNFR8>4U1-J[SOH'NOESL]VNB]JJ^40U'KXUCMPIO]@AIJ(e|r:Sb{{339V4*OX^@E$KH@PAR[MGZOIS;=V"L]VNB]JJZEBDE%ye~gag^mvp67<]9%BS[G@/FGM[DU^FJUBBV<8]/CP]KEXAGUHIAB urgq[lhXf:90Y=!F_WKL+BCIWHYRBNQFNZ0;Y+GTQGITECQLEMN,EV_IKVLTAXV<3:W3+LYQAF%LICQNSXL@[LH\:1W%M^WAC^KM[FCKD&KXUCMPR^OV\63<]9%BS[G@/FGM[DU^FJUBBV<7]/CP]KEXAGUHIAB S^CP]KEXNVXNK>=4U1-J[SOH'NOESL]VNB]JJ^4?U'KXUCMPIO]@AIJ([VKXUCMPRDE01>S7'@U]EB!HEO]BW\HDW@DP>5S!AR[MGZOIWJOG@"]PAR[MGZTXZLM8>6[?/H]UMJ)@MGUJ_T@L_HLX6=[)IZSEORGA_BGOH*UX]ZOYS_KH319V4*OX^@E$KH@PAR[MGZOIS;2V"L]VNB]JJZEBDE%^_H\PMTZ05>S7'@U]EB!HEO]BW\HDW@DP>5S!AR[MGZOIWJOG@"[PF@NOMKA482_;#DQYIN-DAKYF[PDHSD@T29_-EV_IKVCESNKCL.W\VLUNFN987X> I^TJK*ABFVKXUCMPIOY1 I^TJK*ABFVKXUCMPIOY1 I^TJK*ABFVKXUCMPIOY1k5Z0.K\RLI(OLDTM^WAC^KM_7>Z&HYRBNQFN^AFHI)al;UdyyS7'@U]EB!HEO]BW\HDW@DP>5S!AR[MGZOIWJOG@"|fshld[jss;81^<"GPVHM,C@HXIZSEORGA[3:^*DU^FJUBBRMJLM-vw`tXagUe?>5Z0.K\RLI(OLDTM^WAC^KM_7?Z&HYRBNQFN^AFHI)F[PDHSKQBUY10?P6(AV\BC"IJN^CP]KEXAGQ95P NSXL@[LHXKLFG#L]VNB]Q[HS_;<1^<"GPVHM,C@HXIZSEORGA[3;^*DU^FJUBBRMJLM-P[DU^FJUMS_KH329V4*OX^@E$KH@PAR[MGZOIS;3V"L]VNB]JJZEBDE%XSL]VNB]QAB523\:$ERXFO.EFJZGTQGITECU=9\,BW\HDW@DTOHBC/R]BW\HDW[UYIJ==;T2,MZPNG&MNBRO\YOA\MK]51T$J_T@L_HL\G@JK'ZU^_H\PRDE04>S7'@U]EB!HEO]BW\HDW@DP>4S!AR[MGZOIWJOG@"[\ES]NQ]563\:$ERXFO.EFJZGTQGITECU=9\,BW\HDW@DTOHBC/T]EEIJNFN9;7X> I^TJK*ABFVKXUCMPIOY1=X(F[PDHSD@PCDNO+PYUAZCEK>=4U1-J[SOH'NOESL]VNB]JJ^4>U'KXUCMPIO]@AIJ(]VY_MYMBD^l03>S7'@U]EB!HEO]BW\HDW@DP>4S!AR[MGZOIWJOG@"o|yoa\ip~XnVe~x>94U1-J[SOH'NOESL]VNB]JJ^4>U'KXUCMPIO]@AIJ(izseoRczx^p\kpr4;2_;#DQYIN-DAKYF[PDHSD@T28_-EV_IKVCESNKCL.dbhioioVe~x?h4U1-J[SOH'NOESL]VNB]JJ^4>U'KXUCMPIO]@AIJ(nm;Tcxz=f:W3+LYQAF%LICQNSXL@[LH\:0W%M^WAC^KM[FCKD&lo>Razt3d8Q5)NW_CD#JKA_@QZJFYNFR82Q#O\YOA\MKYDMEF$ji=Potv04>S7'@U]EB!HEO]BW\HDW@DP>4S!AR[MGZOIWJOG@"czx0]lqq553\:$ERXFO.EFJZGTQGITECU=9\,BW\HDW@DTOHBC/skpmkaXg|~8=6[?/H]UMJ)@MGUJ_T@L_HLX6<[)IZSEORGA_BGOH*stm{UbbR`<2:W3+LYQAF%LICQNSXL@[LH\:T$J_T@L_HL\G@JK'HYRBNQI_LW[77=R8&CTZDA GDL\EV_IKVCEW?S!AR[MGZOIWJOG@"O\YOA\VZKRP:>0Y=!F_WKL+BCIWHYRBNQFNZ0^*DU^FJUBBRMJLM-P[DU^FJUMS_KH339V4*OX^@E$KH@PAR[MGZOIS;W%M^WAC^KM[FCKD&YTM^WAC^PFC62<]9%BS[G@/FGM[DU^FJUBBVS7'@U]EB!HEO]BW\HDW@DP>P NSXL@[LHXKLFG#kj>_nww6`=R8&CTZDA GDL\EV_IKVCEW?S!AR[MGZOIWJOG@"hk2^mvp7c<]9%BS[G@/FGM[DU^FJUBBVS7'@U]EB!HEO]BW\HDW@DP?=S!AR[MGZOIWJOG@"]PAR[MGZTBO:?0Y=!F_WKL+BCIWHYRBNQFNZ13Y+GTQGITECQLEMN,WZGTQGIT^R\JG208Q5)NW_CD#JKA_@QZJFYNFR9;Q#O\YOA\MKYDMEF$_R[\ES]QAB573\:$ERXFO.EFJZGTQGITECU<0\,BW\HDW@DTOHBC/TQFVZKRP:;0Y=!F_WKL+BCIWHYRBNQFNZ13Y+GTQGITECQLEMN,QZ@FDECEK>>4U1-J[SOH'NOESL]VNB]JJ^57U'KXUCMPIO]@AIJ(]VXB_D@H329V4*OX^@E$KH@PAR[MGZOIS::V"L]VNB]JJZEBDE%^S^ZNTBOG[k503\:$ERXFO.EFJZGTQGITECU<0\,BW\HDW@DTOHBC/`qzjfYj}qUmSb{{369V4*OX^@E$KH@PAR[MGZOIS::V"L]VNB]JJZEBDE%jt`l_lw{[wYh}}987X> I^TJK*ABFVKXUCMPIOY04X(F[PDHSD@PCDNO+cgkd`dlSb{{2g9V4*OX^@E$KH@PAR[MGZOIS::V"L]VNB]JJZEBDE%mh>R.@QZJFYNFVIN@A!id2]lqq573\:$ERXFO.EFJZGTQGITECU<0\,BW\HDW@DTOHBC/lw{5Zir|:80Y=!F_WKL+BCIWHYRBNQFNZ13Y+GTQGITECQLEMN,vlunfnUdyy=>;T2,MZPNG&MNBRO\YOA\MK]48T$J_T@L_HL\G@JK'|yn~Rga_o10?P6(AV\BC"IJN^CP]KEXAGQ8=P NSXL@[LHXKLFG#L]VNB]E[HS_;:1^<"GPVHM,C@HXIZSEORGA[23^*DU^FJUBBRMJLM-BW\HDW[UFYU=:;T2,MZPNG&MNBRO\YOA\MK]49T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB543\:$ERXFO.EFJZGTQGITECU<1\,BW\HDW@DTOHBC/R]BW\HDW[OL?85Z0.K\RLI(OLDTM^WAC^KM_67Z&HYRBNQFN^AFHI)TWHYRBNQ]_SGD77=R8&CTZDA GDL\EV_IKVCEW>?R.@QZJFYNFVIN@A!\_TQFVZTBO::0Y=!F_WKL+BCIWHYRBNQFNZ12Y+GTQGITECQLEMN,QVCUWD_S?<5Z0.K\RLI(OLDTM^WAC^KM_67Z&HYRBNQFN^AFHI)RWOKG@D@H319V4*OX^@E$KH@PAR[MGZOIS:;V"L]VNB]JJZEBDE%^S_G\IOE07>S7'@U]EB!HEO]BW\HDW@DP?S7'@U]EB!HEO]BW\HDW@DP?=4U1-J[SOH'NOESL]VNB]JJ^56U'KXUCMPIO]@AIJ(nhfgeciPotv1b>S7'@U]EB!HEO]BW\HDW@DP?]/CP]KEXAGUHIAB fe0\kpr5n2_;#DQYIN-DAKYF[PDHSD@T30_-EV_IKVCESNKCL.dg7Zir|::0Y=!F_WKL+BCIWHYRBNQFNZ12Y+GTQGITECQLEMN,ip~6Wf??5Z0.K\RLI(OLDTM^WAC^KM_67Z&HYRBNQFN^AFHI)uazcekRazt238Q5)NW_CD#JKA_@QZJFYNFR9:Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV=R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY0Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\;T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU<]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX7X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF12?P6(AV\BC"IJN^CP]KEXAGQ8Q#O\YOA\MKYDMEF$_R[\ES]QAB4a3\:$ERXFO.EFJZGTQGITECU<]/CP]KEXAGUHIAB URGQ[HS_;91^<"GPVHM,C@HXIZSEORGA[2_-EV_IKVCESNKCL.W\BDJKAGM9j6[?/H]UMJ)@MGUJ_T@L_HLX7X(F[PDHSD@PCDNO+PYUAZCEK><4U1-J[SOH'NOESL]VNB]JJ^5Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ8Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX7X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww77=R8&CTZDA GDL\EV_IKVCEW>S!AR[MGZOIWJOG@"hnlmkmcZir|;o0Y=!F_WKL+BCIWHYRBNQFNZ1^*DU^FJUBBRMJLM-e`4Yh}}8n7X> I^TJK*ABFVKXUCMPIOY0Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX7X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_6[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]4U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ8Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV:R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY7Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\<4U1-J[SOH'NOESL]VNB]JJ^2Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ?Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX0X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww77=R8&CTZDA GDL\EV_IKVCEW9S!AR[MGZOIWJOG@"hnlmkmcZir|;o0Y=!F_WKL+BCIWHYRBNQFNZ6^*DU^FJUBBRMJLM-e`4Yh}}8n7X> I^TJK*ABFVKXUCMPIOY7Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX0X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_1[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]3U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ?Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV;R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY6Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\=T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU:]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX1X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF12?P6(AV\BC"IJN^CP]KEXAGQ>Q#O\YOA\MKYDMEF$_R[\ES]QAB4a3\:$ERXFO.EFJZGTQGITECU:]/CP]KEXAGUHIAB URGQ[HS_;91^<"GPVHM,C@HXIZSEORGA[4_-EV_IKVCESNKCL.W\BDJKAGM9j6[?/H]UMJ)@MGUJ_T@L_HLX1X(F[PDHSD@PCDNO+PYUAZCEK><4U1-J[SOH'NOESL]VNB]JJ^3Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ>Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX1X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww77=R8&CTZDA GDL\EV_IKVCEW8S!AR[MGZOIWJOG@"hnlmkmcZir|;o0Y=!F_WKL+BCIWHYRBNQFNZ7^*DU^FJUBBRMJLM-e`4Yh}}8n7X> I^TJK*ABFVKXUCMPIOY6Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX1X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_0[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]2U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ>Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV8R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY5Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\>T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU9]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX2X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF12?P6(AV\BC"IJN^CP]KEXAGQ=Q#O\YOA\MKYDMEF$_R[\ES]QAB4a3\:$ERXFO.EFJZGTQGITECU9]/CP]KEXAGUHIAB URGQ[HS_;91^<"GPVHM,C@HXIZSEORGA[7_-EV_IKVCESNKCL.W\BDJKAGM9j6[?/H]UMJ)@MGUJ_T@L_HLX2X(F[PDHSD@PCDNO+PYUAZCEK><4U1-J[SOH'NOESL]VNB]JJ^0Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ=Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX2X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww77=R8&CTZDA GDL\EV_IKVCEW;S!AR[MGZOIWJOG@"hnlmkmcZir|;o0Y=!F_WKL+BCIWHYRBNQFNZ4^*DU^FJUBBRMJLM-e`4Yh}}8n7X> I^TJK*ABFVKXUCMPIOY5Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX2X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_3[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]1U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ=Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV9R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY4Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\?T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU8]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX3X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF12?P6(AV\BC"IJN^CP]KEXAGQ<4U1-J[SOH'NOESL]VNB]JJ^1Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ I^TJK*ABFVKXUCMPIOY4Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX3X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_2[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]0U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ I^TJK*ABFVKXUCMPIOY;Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\0T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU7]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX<4U1-J[SOH'NOESL]VNB]JJ^>Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ3Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX I^TJK*ABFVKXUCMPIOY;Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLXk5Z0.K\RLI(OLDTM^WAC^KM_=[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]?U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ3Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUBBV7R.@QZJFYNFVIN@A!NSXL@[CYJ]Q997X> I^TJK*ABFVKXUCMPIOY:Y+GTQGITECQLEMN,EV_IKVXTAXV<4:W3+LYQAF%LICQNSXL@[LH\1T$J_T@L_HL\G@JK'ZUJ_T@L_G]QAB553\:$ERXFO.EFJZGTQGITECU6]/CP]KEXAGUHIAB S^CP]KEXZLM886[?/H]UMJ)@MGUJ_T@L_HLX=X(F[PDHSD@PCDNO+VYF[PDHS_Q]EF12?P6(AV\BC"IJN^CP]KEXAGQ2Q#O\YOA\MKYDMEF$_R[\ES]QAB4a3\:$ERXFO.EFJZGTQGITECU6]/CP]KEXAGUHIAB URGQ[HS_;91^<"GPVHM,C@HXIZSEORGA[8_-EV_IKVCESNKCL.W\BDJKAGM9j6[?/H]UMJ)@MGUJ_T@L_HLX=X(F[PDHSD@PCDNO+PYUAZCEK><4U1-J[SOH'NOESL]VNB]JJ^?Z&HYRBNQFN^AFHI)RWZ^JXNCK_o15?P6(AV\BC"IJN^CP]KEXAGQ2Q#O\YOA\MKYDMEF$m~wac^ov|Z`Xg|~8:6[?/H]UMJ)@MGUJ_T@L_HLX=X(F[PDHSD@PCDNO+du~fjUfyuQ}_nww77=R8&CTZDA GDL\EV_IKVCEW4S!AR[MGZOIWJOG@"hnlmkmcZir|;o0Y=!F_WKL+BCIWHYRBNQFNZ;^*DU^FJUBBRMJLM-e`4Yh}}8n7X> I^TJK*ABFVKXUCMPIOY:Y+GTQGITECQLEMN,ba4Xg|~9i6[?/H]UMJ)@MGUJ_T@L_HLX=X(F[PDHSD@PCDNO+cb4Wf>k5Z0.K\RLI(OLDTM^WAC^KM_<[)IZSEORGA_BGOH*krp8Udyy=>;T2,MZPNG&MNBRO\YOA\MK]>U'KXUCMPIO]@AIJ(z`ybbjQ`uu13?P6(AV\BC"IJN^CP]KEXAGQ2Q#O\YOA\MKYDMEF$y~k}_hl\j64<]9%BS[G@/FGM[DU^FJUDYYU?]/CP]KEXG\^TOHBC/RJJBQYUMN9:7X> I^TJK*ABFVKXUCMPOTVX4X(F[PDHSB[[_BGOH*STM[UYIJ=<;T2,MZPNG&MNBRO\YOA\KPR\99W%M^WAC^MVPZEBDE%XDDH[_SGD77=R8&CTZDA GDL\EV_IKVE^XV??]/CP]KEXG\^TOHBC/TQFVZTBO:90Y=!F_WKL+BCIWHYRBNQ@UUY25X(F[PDHSB[[_BGOH*UOAO^T^HI<2:W3+LYQAF%LICQNSXL@[JSSS8;V"L]VNB]LQQYDMEF$Y^K]_SGD76=R8&CTZDA GDL\EV_IKVE^XV?=]/CP]KEXG\^TOHBC/RJJBQYUMN997X> I^TJK*ABFVKXUCMPOTVX57[)IZSEORAZT^AFHI)R[LXT^HI<3:W3+LYQAF%LICQNSXL@[JSSS89V"L]VNB]LQQYDMEF$_EGIT^PFC64<]9%BS[G@/FGM[DU^FJUDYYU>3\,BW\HDWF__SNKCL.WPAWYUMN987X> I^TJK*ABFVKXUCMPOTVX51[)IZSEORAZT^AFHI)T@@L_S_KH339V4*OX^@E$KH@PAR[MGZIR\R;?Q#O\YOA\KPRXKLFG#X]JR^PFC65<]9%BS[G@/FGM[DU^FJUDYYU>5\,BW\HDWF__SNKCL.QKMCRXZLM8>6[?/H]UMJ)@MGUJ_T@L_NWW_43Z&HYRBNQ@UU]@AIJ(]ZOYS_KH329V4*OX^@E$KH@PAR[MGZIR\R;=Q#O\YOA\KPRXKLFG#^FFFU]QAB553\:$ERXFO.EFJZGTQGITCXZT17_-EV_IKVE^XRMJLM-VW@TXZLM8?6[?/H]UMJ)@MGUJ_T@L_NWW_41Z&HYRBNQ@UU]@AIJ([ACMXR\JG208Q5)NW_CD#JKA_@QZJFYH]]Q:;P NSXL@[JSSWJOG@"[\ES]QAB543\:$ERXFO.EFJZGTQGITCXZT19_-EV_IKVE^XRMJLM-PLL@SW[OL??5Z0.K\RLI(OLDTM^WAC^MVP^7?U'KXUCMPOTV\G@JK'\YN^R\JG218Q5)NW_CD#JKA_@QZJFYH]]Q:5P NSXL@[JSSWJOG@"]GIGV\V@A4:2_;#DQYIN-DAKYF[PDHSB[[[0;^*DU^FJUDYYQLEMN,QVCUW[OL??5Z0.K\RLI(OLDTM^WAC^MVP^7Z&HYRBNQ@UU]@AIJ([ACMXR\JG238Q5)NW_CD#JKA_@QZJFYH]]Q:Q#O\YOA\KPRXKLFG#X]JR^PFC65<]9%BS[G@/FGM[DU^FJUDYYU=0\,BW\HDWF__SNKCL.QKMCRXZLM8>6[?/H]UMJ)@MGUJ_T@L_NWW_76Z&HYRBNQ@UU]@AIJ(]ZOYS_KH329V4*OX^@E$KH@PAR[MGZIR\R8:Q#O\YOA\KPRXKLFG#^FFFU]QAB553\:$ERXFO.EFJZGTQGITCXZT20_-EV_IKVE^XRMJLM-VW@TXZLM8?6[?/H]UMJ)@MGUJ_T@L_NWW_74Z&HYRBNQ@UU]@AIJ([ACMXR\JG208Q5)NW_CD#JKA_@QZJFYH]]Q9>P NSXL@[JSSWJOG@"[\ES]QAB543\:$ERXFO.EFJZGTQGITCXZT22_-EV_IKVE^XRMJLM-PLL@SW[OL??5Z0.K\RLI(OLDTM^WAC^MVP^44U'KXUCMPOTV\G@JK'\YN^R\JG218Q5)NW_CD#JKA_@QZJFYH]]Q98P NSXL@[JSSWJOG@"]GIGV\V@A4:2_;#DQYIN-DAKYF[PDHSB[[[36^*DU^FJUDYYQLEMN,QVCUW[OL?>5Z0.K\RLI(OLDTM^WAC^MVP^42U'KXUCMPOTV\G@JK'ZBBJYQ]EF11?P6(AV\BC"IJN^CP]KEXG\^P>8S!AR[MGZIR\VIN@A!ZSDP\V@A4;2_;#DQYIN-DAKYF[PDHSB[[[34^*DU^FJUDYYQLEMN,WMOA\VXNK><4U1-J[SOH'NOESL]VNB]LQQ]5>T$J_T@L_NWW[FCKD&_XI_Q]EF10?P6(AV\BC"IJN^CP]KEXG\^P>:S!AR[MGZIR\VIN@A!\HHDW[WC@;;1^<"GPVHM,C@HXIZSEORAZTZ04Y+GTQGITCXZPCDNO+PUBZVXNK>=4U1-J[SOH'NOESL]VNB]LQQ]50T$J_T@L_NWW[FCKD&YCEKZPRDE06>S7'@U]EB!HEO]BW\HDWF__W?6R.@QZJFYH]]UHIAB URGQ[WC@;:1^<"GPVHM,C@HXIZSEORAZTZ0:Y+GTQGITCXZPCDNO+VNNN]UYIJ==;T2,MZPNG&MNBRO\YOA\KPR\:0W%M^WAC^MVPZEBDE%^_H\PRDE06>S7'@U]EB!HEO]BW\HDWF__W?S!AR[MGZIR\VIN@A!\HHDW[WC@;81^<"GPVHM,C@HXIZSEORAZTZ0^*DU^FJUDYYQLEMN,QVCUW[OL?>5Z0.K\RLI(OLDTM^WAC^MVP^57U'KXUCMPOTV\G@JK'ZBBJYQ]EF11?P6(AV\BC"IJN^CP]KEXG\^P?=S!AR[MGZIR\VIN@A!ZSDP\V@A4;2_;#DQYIN-DAKYF[PDHSB[[[23^*DU^FJUDYYQLEMN,WMOA\VXNK><4U1-J[SOH'NOESL]VNB]LQQ]49T$J_T@L_NWW[FCKD&_XI_Q]EF11?P6(AV\BC"IJN^CP]KEXG\^P?P NSXL@[JSSWJOG@"]GIGV\V@A492_;#DQYIN-DAKYF[PDHSB[[[2_-EV_IKVE^XRMJLM-VW@TXZLM8>6[?/H]UMJ)@MGUJ_T@L_NWW_1[)IZSEORAZT^AFHI)T@@L_S_KH309V4*OX^@E$KH@PAR[MGZIR\R>V"L]VNB]LQQYDMEF$Y^K]_SGD77=R8&CTZDA GDL\EV_IKVE^XV;R.@QZJFYH]]UHIAB SIKEPZTBO:;0Y=!F_WKL+BCIWHYRBNQ@UUY6Y+GTQGITCXZPCDNO+PUBZVXNK><4U1-J[SOH'NOESL]VNB]LQQ]1U'KXUCMPOTV\G@JK'ZBBJYQ]EF12?P6(AV\BC"IJN^CP]KEXG\^P:P NSXL@[JSSWJOG@"[\ES]QAB553\:$ERXFO.EFJZGTQGITCXZT7\,BW\HDWF__SNKCL.QKMCRXZLM8=6[?/H]UMJ)@MGUJ_T@L_NWW_2[)IZSEORAZT^AFHI)R[LXT^HI<2:W3+LYQAF%LICQNSXL@[JSSS1W%M^WAC^MVPZEBDE%XDDH[_SGD74=R8&CTZDA GDL\EV_IKVE^XV6R.@QZJFYH]]UHIAB URGQ[WC@;;1^<"GPVHM,C@HXIZSEORAZTZ;^*DU^FJUDYYQLEMN,WMOA\VXNK>?4U1-J[SOH'NOESL]VNB]LQQ]>U'KXUCMPOTV\G@JK'\YN^R\JG238Q5)NW_CD#JKA_R[MGZOIS:8V"^WAC^KM[FCKD&KXUCMPF^OV\67<]9%BS[G@/FGM[V_IKVCEW><4U1-J[SOH'NOES^WAC^KM_64Z&ZSEORGA_BGOH*UX[PDHSKQ]EF11?P6(AV\BC"IJN^QZJFYNFR99Q#]VNB]JJZEBDE%XS^WAC^P\V@A4:2_;#DQYIN-DAKYTQGITECU<2\,P]KEXAGUHIAB URGQ[FJLW[OL>h5Z0.K\RLI(OLDT_T@L_HLX77[)[PDHSD@PCDNO+PUBZVG^T?k4U1-J[SOH'NOES^WAC^KM_64Z&ZSEORGA_BGOH*STM[UYIJn5Z0.K\RLI(OLDT_T@L_HLX77[)[PDHSD@PCDNO+wotagm8<6[?/H]UMJ)@MGUXUCMPIOY06X(TQGITECQLEMN,vlunfnUdyy=j;T2,MZPNG&MNBR]VNB]JJ^55U'YRBNQFN^AFHI)tqgiTjRkkgd-J[M4K&\UOCXZ<9:W3+LYQAF%LICQ\YOA\MK]4:T$XUCMPIO]@AIJ({pdhSkQjdfg,QZBH]]:856[?/H]UMJ)@MGUXUCMPIOY06X(TQGITECQLEMN,w|hdWoUnhjk U^FLQQ74i2_;#DQYIN-DAKYTQGITECU<2\,P]KEXAGUHIAB sxl`[cYblno$eIAZT=2=7d=R8&CTZDA GDL\W\HDW@DP??S!SXL@[LHXKLFG#~wac^d\aaab'`NDYY2>>228Q5)NW_CD#JKA_R[MGZOIS:8V"^WAC^KM[FCKD&yrbnQi_nww71=R8&CTZDA GDL\W\HDW@DP??S!SXL@[LHXKLFG#~wac^ov|Z`Xg|~886[?/H]UMJ)@MGUXUCMPIOY06X(TQGITECQLEMN,w|hdWdsSQ`uu1f?P6(AV\BC"IJN^QZJFYNFR99Q#]VNB]JJZEBDE%xucmPr^ggc`)NWE8C"XQKOTV0=>S7'@U]EB!HEO]P]KEXAGQ8>P \YOA\MKYDMEF$t`l_s]f`bc(]VNDYY><9:W3+LYQAF%LICQ\YOA\MK]4:T$XUCMPIO]@AIJ({pdhSQjdfg,QZBH]];8m6[?/H]UMJ)@MGUXUCMPIOY06X(TQGITECQLEMN,w|hdW{Unhjk iEMVP969;h1^<"GPVHM,C@HX[PDHSD@T33_-W\HDW@DTOHBC/r{mgZtXmmmn#dJ@UU>2:66<]9%BS[G@/FGM[V_IKVCEW> I^TJK*ABFVYRBNQFNZ10Y+U^FJUBBRMJLM-BW\HDWOUFYU=>;T2,MZPNG&MNBR]VNB]JJ^54U'YRBNQFN^AFHI)F[PDHS_QBUY0e?P6(AV\BC"IJN^QZJFYNFR98Q#]VNB]JJZEBDE%XDDH[_SGD75=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#^WAC^D\IP^482_;#DQYIN-DAKYTQGITECU<3\,P]KEXAGUHIAB SXL@[WYJ]Q987X> I^TJK*ABFVYRBNQFNZ10Y+U^FJUBBRMJLM-P[DU^FJUMS_KH329V4*OX^@E$KH@PSXL@[LH\;:W%_T@L_HL\G@JK'ZUJ_T@L_S]QAB553\:$ERXFO.EFJZU^FJUBBV=<]/QZJFYNFVIN@A!\_R[MGZ@XZLM8>6[?/H]UMJ)@MGUXUCMPIOY07X(TQGITECQLEMN,WZU^FJUYS_KH339V4*OX^@E$KH@PSXL@[LH\;:W%_T@L_HL\G@JK'\YN^RMCK^PFC7c<]9%BS[G@/FGM[V_IKVCEW>=R.R[MGZOIWJOG@"[\ES]NQ]4b3\:$ERXFO.EFJZU^FJUBBV=<]/QZJFYNFVIN@A!ZSDP\V@A5n2_;#DQYIN-DAKYTQGITECU<3\,P]KEXAGUHIAB U^DBHIOIO;o0Y=!F_WKL+BCIWZSEORGA[21^*V_IKVCESNKCL.W\VLUNFN9:7X> I^TJK*ABFVYRBNQFNZ10Y+U^FJUBBRMJLM-V[VRF\JGOScS!SXL@[LHXKLFG#kj>_nww6a=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#kj=_nww6a=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#kj<_nww6a=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#kj;_nww6a=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#kj:_nww6`=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#`{w1^mvp7e<]9%BS[G@/FGM[V_IKVCEW>=R.R[MGZOIWJOG@"|fshld75=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#g|ioe\kpr4m2_;#DQYIN-DAKYTQGITECU<3\,P]KEXAGUHIAB sxl`[cYblno$ERF=L/W\@JSS;01^<"GPVHM,C@HX[PDHSD@T32_-W\HDW@DTOHBC/r{mgZ`Xmmmn#XQKOTV37<=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#~wac^d\aaab'\UOCXZ>3`9V4*OX^@E$KH@PSXL@[LH\;:W%_T@L_HL\G@JK'zseoRhPeeef+lBH]]6;2>o4U1-J[SOH'NOES^WAC^KM_65Z&ZSEORGA_BGOH*u~fjUmShjhe.kGKPR;979;7X> I^TJK*ABFVYRBNQFNZ10Y+U^FJUBBRMJLM-p}keXnVe~x>:4U1-J[SOH'NOES^WAC^KM_65Z&ZSEORGA_BGOH*u~fjUfyuQi_nww71=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#~wac^ov|ZtXg|~8i6[?/H]UMJ)@MGUXUCMPIOY07X(TQGITECQLEMN,w|hdW{Unhjk I^N1L+SXLF__?45Z0.K\RLI(OLDT_T@L_HLX76[)[PDHSD@PCDNO+vikVxTiiij/T]GKPR7;01^<"GPVHM,C@HX[PDHSD@T32_-W\HDW@DTOHBC/r{mgZtXmmmn#XQKOTV27d=R8&CTZDA GDL\W\HDW@DP?>S!SXL@[LHXKLFG#~wac^p\aaab'`NDYY2?>2c8Q5)NW_CD#JKA_R[MGZOIS:9V"^WAC^KM[FCKD&yrbnQ}_dfda*oCG\^7=3=?;T2,MZPNG&MNBR]VNB]JJ^54U'YRBNQFN^AFHI)tqgiT~Razt3d8Q5)NW_CD#JKA_R[MGZOIS:9V"^WAC^KM[FCKD&xiQfn^l05>S7'@U]EB!HEO]P]KEXAGQ88P \YOA\MKYDMEF$M^WAC^D\IP^492_;#DQYIN-DAKYTQGITECU<4\,P]KEXAGUHIAB AR[MGZTXE\R9j6[?/H]UMJ)@MGUXUCMPIOY00X(TQGITECQLEMN,WMOA\VXNK>>4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*U^FJUMS@[W319V4*OX^@E$KH@PSXL@[LH\;=W%_T@L_HL\G@JK'ZSEOR\PMTZ07>S7'@U]EB!HEO]P]KEXAGQ88P \YOA\MKYDMEF$_RO\YOA\BZTBO:90Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.Q\EV_IKVXT^HI<2:W3+LYQAF%LICQ\YOA\MK]4S7'@U]EB!HEO]P]KEXAGQ88P \YOA\MKYDMEF$YR][AUAN@Zh5m2_;#DQYIN-DAKYTQGITECU<4\,P]KEXAGUHIAB U^QZJFYA:l1^<"GPVHM,C@HX[PDHSD@T35_-W\HDW@DTOHBC/T]P]KEXZ:?0Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.cp}keXe|rTjRazt278Q5)NW_CD#JKA_R[MGZOIS:>V"^WAC^KM[FCKD&kxucmPmtz\vZir|;n0Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.aokfmbl;n0Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.dbhioio:;0Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.dbhioioVe~x?j4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*`c9Ve~x?j4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*`c:Ve~x?j4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*`c;Ve~x?j4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*`c>4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*tn{`dlSb{{3d9V4*OX^@E$KH@PSXL@[LH\;=W%_T@L_HL\G@JK'zseoRhPeeef+LYO:E$^SIAZT2;8Q5)NW_CD#JKA_R[MGZOIS:>V"^WAC^KM[FCKD&yrbnQi_dfda*SXLF__<>74U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*u~fjUmShjhe.W\@JSS9:k0Y=!F_WKL+BCIWZSEORGA[26^*V_IKVCESNKCL.qzjfYaWlnli"gKOTV?4;5f3\:$ERXFO.EFJZU^FJUBBV=;]/QZJFYNFVIN@A!|yoa\bZccol%bHB[[<0<04>S7'@U]EB!HEO]P]KEXAGQ88P \YOA\MKYDMEF$t`l_g]lqq533\:$ERXFO.EFJZU^FJUBBV=;]/QZJFYNFVIN@A!|yoa\ip~XnVe~x>:4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*u~fjUfyuQ}_nww7`=R8&CTZDA GDL\W\HDW@DP?9S!SXL@[LHXKLFG#~wac^p\aaab'@UG>E Z_EMVP6?<]9%BS[G@/FGM[V_IKVCEW>:R.R[MGZOIWJOG@"}vnb]q[`b`m&_THB[[02;8Q5)NW_CD#JKA_R[MGZOIS:>V"^WAC^KM[FCKD&yrbnQ}_dfda*SXLF__=>o4U1-J[SOH'NOES^WAC^KM_62Z&ZSEORGA_BGOH*u~fjUyShjhe.kGKPR;879j7X> I^TJK*ABFVYRBNQFNZ17Y+U^FJUBBRMJLM-p}keXzVookh!fDNWW848482_;#DQYIN-DAKYTQGITECU<4\,P]KEXAGUHIAB sxl`[wYh}}8m7X> I^TJK*ABFVYRBNQFNZ17Y+U^FJUBBRMJLM-vw`tXagUe?<5Z0.K\RLI(OLDT_T@L_HLX70[)[PDHSD@PCDNO+DU^FJUMS@[W309V4*OX^@E$KH@PSXL@[LH\;5Z0.K\RLI(OLDT_T@L_HLX70[)[PDHSD@PCDNO+VYF[PDHSKQ]EF10?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%XSL]VNB]Q[WC@;;1^<"GPVHM,C@HX[PDHSD@T34_-W\HDW@DTOHBC/R]P]KEXNVXNK><4U1-J[SOH'NOES^WAC^KM_63Z&ZSEORGA_BGOH*UX[PDHS_Q]EF11?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%^_H\PCMI\V@A5m2_;#DQYIN-DAKYTQGITECU<5\,P]KEXAGUHIAB URGQ[HS_:l1^<"GPVHM,C@HX[PDHSD@T34_-W\HDW@DTOHBC/TQFVZTBO;l0Y=!F_WKL+BCIWZSEORGA[27^*V_IKVCESNKCL.W\BDJKAGM9i6[?/H]UMJ)@MGUXUCMPIOY01X(TQGITECQLEMN,QZTN[@DL?<5Z0.K\RLI(OLDT_T@L_HLX70[)[PDHSD@PCDNO+PYT\H^HAIQa2d9V4*OX^@E$KH@PSXL@[LH\;Q#]VNB]JJZEBDE%jt`l_lw{[cYh}}9>7X> I^TJK*ABFVYRBNQFNZ16Y+U^FJUBBRMJLM-bw|hdWdsSQ`uu0g?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%h`bmdee0g?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%mmabfnf12?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%mmabfnf]lqq4c3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!id0]lqq4c3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!id3]lqq4c3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!id2]lqq4c3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!id5]lqq4c3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!id4]lqq4b3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!buy3\kpr5k2_;#DQYIN-DAKYTQGITECU<5\,P]KEXAGUHIAB rhqjjb573\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!}irkmcZir|:o0Y=!F_WKL+BCIWZSEORGA[27^*V_IKVCESNKCL.qzjfYaWlnli"GPH3N-QZBH]]927X> I^TJK*ABFVYRBNQFNZ16Y+U^FJUBBRMJLM-p}keXnVookh!Z_EMVP55>3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!|yoa\bZccol%^SIAZT01b?P6(AV\BC"IJN^QZJFYNFR9>Q#]VNB]JJZEBDE%xucmPf^ggc`)nLF__0=0k4U1-J[SOH'NOES^WAC^KM_63Z&ZSEORGA_BGOH*u~fjUyShjhe.K\H7N)]VNDYY=6;T2,MZPNG&MNBR]VNB]JJ^52U'YRBNQFN^AFHI)tqgiT~Rkkgd-V[AIR\9927X> I^TJK*ABFVYRBNQFNZ16Y+U^FJUBBRMJLM-p}keXzVookh!Z_EMVP45f3\:$ERXFO.EFJZU^FJUBBV=:]/QZJFYNFVIN@A!|yoa\vZccol%bHB[[<1<0e>S7'@U]EB!HEO]P]KEXAGQ89P \YOA\MKYDMEF$t`l_s]f`bc(aME^X1?1319V4*OX^@E$KH@PSXL@[LH\;S7'@U]EB!HEO]P]KEXAGQ89P \YOA\MKYDMEF$y~k}_hl\j67<]9%BS[G@/FGM[V_IKVCEW>8R.R[MGZOIWJOG@"O\YOA\BZKRP:;0Y=!F_WKL+BCIWZSEORGA[24^*V_IKVCESNKCL.CP]KEXZVG^T?h4U1-J[SOH'NOES^WAC^KM_60Z&ZSEORGA_BGOH*UOAO^T^HI<0:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ([PDHSKQBUY13?P6(AV\BC"IJN^QZJFYNFR9=Q#]VNB]JJZEBDE%XUCMPR^OV\65<]9%BS[G@/FGM[V_IKVCEW>8R.R[MGZOIWJOG@"]PAR[MGZ@XZLM8?6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,WZGTQGIT^R\JG208Q5)NW_CD#JKA_R[MGZOIS:6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,QVCUWJF@S_KH2d9V4*OX^@E$KH@PSXL@[LH\;?W%_T@L_HL\G@JK'\YN^RCZX3g8Q5)NW_CD#JKA_R[MGZOIS:8R.R[MGZOIWJOG@"[PSUCWGHBXf;o0Y=!F_WKL+BCIWZSEORGA[24^*V_IKVCESNKCL.W\W\HDWO8n7X> I^TJK*ABFVYRBNQFNZ15Y+U^FJUBBRMJLM-V[V_IKVX896[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,evikVg~tRhPotv01>S7'@U]EB!HEO]P]KEXAGQ8:P \YOA\MKYDMEF$m~wac^ov|ZtXg|~9h6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,giidcln9h6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,bdjkagm8=6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,bdjkagmTcxz=d:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(nm;Tcxz=d:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(nm8Tcxz=d:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(nm9Tcxz=d:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(nm>Tcxz=d:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(nm?Tcxz=e:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(e|r:Sb{{2b9V4*OX^@E$KH@PSXL@[LH\;?W%_T@L_HL\G@JK'{cxeci<0:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ(z`ybbjQ`uu1f?P6(AV\BC"IJN^QZJFYNFR9=Q#]VNB]JJZEBDE%xucmPf^ggc`)NWA8G"XQKOTV0=>S7'@U]EB!HEO]P]KEXAGQ8:P \YOA\MKYDMEF$t`l_g]f`bc(]VNDYY><9:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ({pdhSkQjdfg,QZBH]];8m6[?/H]UMJ)@MGUXUCMPIOY02X(TQGITECQLEMN,w|hdWoUnhjk iEMVP969;h1^<"GPVHM,C@HX[PDHSD@T37_-W\HDW@DTOHBC/r{mgZ`Xmmmn#dJ@UU>2:66<]9%BS[G@/FGM[V_IKVCEW>8R.R[MGZOIWJOG@"}vnb]e[jss;=1^<"GPVHM,C@HX[PDHSD@T37_-W\HDW@DTOHBC/r{mgZkrpVlTcxz<4:W3+LYQAF%LICQ\YOA\MK]4>T$XUCMPIO]@AIJ({pdhS`{w_s]lqq5b3\:$ERXFO.EFJZU^FJUBBV=9]/QZJFYNFVIN@A!|yoa\vZccol%BSAS7'@U]EB!HEO]P]KEXAGQ8:P \YOA\MKYDMEF$t`l_s]f`bc(]VNDYY?T$XUCMPIO]@AIJ({pdhSQjdfg,mAIR\5:5?l5Z0.K\RLI(OLDT_T@L_HLX73[)[PDHSD@PCDNO+vikVxTiiij/hFLQQ:66::0Y=!F_WKL+BCIWZSEORGA[24^*V_IKVCESNKCL.qzjfYuWf>k5Z0.K\RLI(OLDT_T@L_HLX73[)[PDHSD@PCDNO+pubzVceSc=>;T2,MZPNG&MNBR]VNB]JJ^50U'YRBNQFN^AFHI)F[PDHSKQBUY12?P6(AV\BC"IJN^QZJFYNFR9 I^TJK*ABFVYRBNQFNZ14Y+U^FJUBBRMJLM-P[V_IKVLT^HI<2:W3+LYQAF%LICQ\YOA\MK]4?T$XUCMPIO]@AIJ([VYRBNQ]_SGD77=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#X]JR^AOOZTBO;o0Y=!F_WKL+BCIWZSEORGA[25^*V_IKVCESNKCL.WPAWYJ]Q8n7X> I^TJK*ABFVYRBNQFNZ14Y+U^FJUBBRMJLM-VW@TXZLM9j6[?/H]UMJ)@MGUXUCMPIOY03X(TQGITECQLEMN,QZ@FDECEK?k4U1-J[SOH'NOES^WAC^KM_61Z&ZSEORGA_BGOH*SXZ@YBBJ=>;T2,MZPNG&MNBR]VNB]JJ^50U'YRBNQFN^AFHI)RWZ^JXNCK_o0f?P6(AV\BC"IJN^QZJFYNFR9S7'@U]EB!HEO]P]KEXAGQ8;P \YOA\MKYDMEF$YR]VNB]Q70=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#l}vnb]nq}YaWf?85Z0.K\RLI(OLDT_T@L_HLX72[)[PDHSD@PCDNO+du~fjUfyuQ}_nww6a=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#nb`cjgg6a=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#koclhld74=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#koclhld[jss:m1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/gf2[jss:m1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/gf1[jss:m1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/gf0[jss:m1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/gf7[jss:m1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/gf6[jss:l1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/lw{5Zir|;i0Y=!F_WKL+BCIWZSEORGA[25^*V_IKVCESNKCL.pjwlh`;91^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/skpmkaXg|~8i6[?/H]UMJ)@MGUXUCMPIOY03X(TQGITECQLEMN,w|hdWoUnhjk I^J1H+SXLF__?45Z0.K\RLI(OLDT_T@L_HLX72[)[PDHSD@PCDNO+vikVlTiiij/T]GKPR7;01^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/r{mgZ`Xmmmn#XQKOTV27d=R8&CTZDA GDL\W\HDW@DP?:S!SXL@[LHXKLFG#~wac^d\aaab'`NDYY2?>2c8Q5)NW_CD#JKA_R[MGZOIS:=V"^WAC^KM[FCKD&yrbnQi_dfda*oCG\^7=3=?;T2,MZPNG&MNBR]VNB]JJ^50U'YRBNQFN^AFHI)tqgiTjRazt268Q5)NW_CD#JKA_R[MGZOIS:=V"^WAC^KM[FCKD&yrbnQbuy]e[jss;=1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/r{mgZkrpVxTcxzW%_T@L_HL\G@JK'zseoR|Peeef+PYCG\^;?45Z0.K\RLI(OLDT_T@L_HLX72[)[PDHSD@PCDNO+vikVxTiiij/T]GKPR6;h1^<"GPVHM,C@HX[PDHSD@T36_-W\HDW@DTOHBC/r{mgZtXmmmn#dJ@UU>3:6g<]9%BS[G@/FGM[V_IKVCEW>9R.R[MGZOIWJOG@"}vnb]q[`b`m&cOCXZ31?13?P6(AV\BC"IJN^QZJFYNFR99R.R[MGZOIWJOG@"{|es]jjZh492_;#DQYIN-DAKYTQGITECU<8\,P]KEXAGUHIAB AR[MGZ@XE\R8=6[?/H]UMJ)@MGUXUCMPIOY0=4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*UXIZSEOR\PRDE06>S7'@U]EB!HEO]P]KEXAGQ84P \YOA\MKYDMEF$_R]VNB]E[WC@;;1^<"GPVHM,C@HX[PDHSD@T39_-W\HDW@DTOHBC/R]P]KEXZVXNK><4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*STM[UH@FQ]EF0f?P6(AV\BC"IJN^QZJFYNFR93Q#]VNB]JJZEBDE%^_H\PMTZ1a>S7'@U]EB!HEO]P]KEXAGQ84P \YOA\MKYDMEF$Y^K]_SGD6c=R8&CTZDA GDL\W\HDW@DP?5S!SXL@[LHXKLFG#XQIAMNJJB4b3\:$ERXFO.EFJZU^FJUBBV=7]/QZJFYNFVIN@A!Z_SKPMKA492_;#DQYIN-DAKYTQGITECU<8\,P]KEXAGUHIAB U^QWEQEJLVd9i6[?/H]UMJ)@MGUXUCMPIOY0h5Z0.K\RLI(OLDT_T@L_HLX7=[)[PDHSD@PCDNO+PYTQGIT^>;4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*gtqgiTaxvPf^mvp63<]9%BS[G@/FGM[V_IKVCEW>6R.R[MGZOIWJOG@"o|yoa\ip~XzVe~x?j4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*ekgjanh?j4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*`fdecek>?4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*`fdecekRazt3f8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&lo=Razt3f8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&lo>Razt3f8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&lo?Razt3f8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&lo8Razt3f8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&lo9Razt3g8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&g~tA Z_EMVP6?<]9%BS[G@/FGM[V_IKVCEW>6R.R[MGZOIWJOG@"}vnb]e[`b`m&_THB[[02;8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&yrbnQi_dfda*SXLF__=>o4U1-J[SOH'NOES^WAC^KM_6>Z&ZSEORGA_BGOH*u~fjUmShjhe.kGKPR;879j7X> I^TJK*ABFVYRBNQFNZ1;Y+U^FJUBBRMJLM-p}keXnVookh!fDNWW848482_;#DQYIN-DAKYTQGITECU<8\,P]KEXAGUHIAB sxl`[cYh}}9?7X> I^TJK*ABFVYRBNQFNZ1;Y+U^FJUBBRMJLM-p}keXe|rTjRazt268Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&yrbnQbuy]q[jss;l1^<"GPVHM,C@HX[PDHSD@T39_-W\HDW@DTOHBC/r{mgZtXmmmn#DQC2I,V[AIR\:30Y=!F_WKL+BCIWZSEORGA[2:^*V_IKVCESNKCL.qzjfYuWlnli"[PDNWW46?<]9%BS[G@/FGM[V_IKVCEW>6R.R[MGZOIWJOG@"}vnb]q[`b`m&_THB[[12c8Q5)NW_CD#JKA_R[MGZOIS:2V"^WAC^KM[FCKD&yrbnQ}_dfda*oCG\^7<3=n;T2,MZPNG&MNBR]VNB]JJ^5?U'YRBNQFN^AFHI)tqgiT~Rkkgd-j@JSS4848<6[?/H]UMJ)@MGUXUCMPIOY0 I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-P]KEXNVG^T>>4U1-J[SOH'NOES^WAC^KM_6?Z&ZSEORGA_BGOH*U^FJUYS@[W329V4*OX^@E$KH@PSXL@[LH\;0W%_T@L_HL\G@JK'ZUJ_T@L_G]QAB543\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!\_@QZJFYUW[OL??5Z0.K\RLI(OLDT_T@L_HLX7<[)[PDHSD@PCDNO+VYTQGITJR\JG208Q5)NW_CD#JKA_R[MGZOIS:3V"^WAC^KM[FCKD&YT_T@L_S]QAB553\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!ZSDP\GIMXZLM9i6[?/H]UMJ)@MGUXUCMPIOY0=X(TQGITECQLEMN,QVCUWD_S>h5Z0.K\RLI(OLDT_T@L_HLX7<[)[PDHSD@PCDNO+PUBZVXNK?h4U1-J[SOH'NOES^WAC^KM_6?Z&ZSEORGA_BGOH*SXNHFGECI=e:W3+LYQAF%LICQ\YOA\MK]41T$XUCMPIO]@AIJ(]VXB_D@H309V4*OX^@E$KH@PSXL@[LH\;0W%_T@L_HL\G@JK'\UXXLZLME]m6`=R8&CTZDA GDL\W\HDW@DP?4S!SXL@[LHXKLFG#XQ\YOA\B7c<]9%BS[G@/FGM[V_IKVCEW>7R.R[MGZOIWJOG@"[PSXL@[W523\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!nsxl`[hsWoUdyy=:;T2,MZPNG&MNBR]VNB]JJ^5>U'YRBNQFN^AFHI)f{pdhS`{w_s]lqq4c3\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!llnahaa4c3\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!iamnjjb563\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!iamnjjbYh}}8o7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-e`4Yh}}8o7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-e`7Yh}}8o7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-e`6Yh}}8o7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-e`1Yh}}8o7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-e`0Yh}}8n7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-nq}7Xg|~9o6[?/H]UMJ)@MGUXUCMPIOY0=X(TQGITECQLEMN,vlunfn9;7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-qmvoioVe~x>k4U1-J[SOH'NOES^WAC^KM_6?Z&ZSEORGA_BGOH*u~fjUmShjhe.K\L7J)]VNDYY=6;T2,MZPNG&MNBR]VNB]JJ^5>U'YRBNQFN^AFHI)tqgiTjRkkgd-V[AIR\9927X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-p}keXnVookh!Z_EMVP45f3\:$ERXFO.EFJZU^FJUBBV=6]/QZJFYNFVIN@A!|yoa\bZccol%bHB[[<1<0e>S7'@U]EB!HEO]P]KEXAGQ85P \YOA\MKYDMEF$t`l_g]f`bc(aME^X1?1319V4*OX^@E$KH@PSXL@[LH\;0W%_T@L_HL\G@JK'zseoRhPotv00>S7'@U]EB!HEO]P]KEXAGQ85P \YOA\MKYDMEF$t`l_lw{[cYh}}9?7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-p}keXe|rT~Razt2g8Q5)NW_CD#JKA_R[MGZOIS:3V"^WAC^KM[FCKD&yrbnQ}_dfda*OXD;B%YRJ@UU1:?P6(AV\BC"IJN^QZJFYNFR92Q#]VNB]JJZEBDE%xucmPr^ggc`)RWME^X==6;T2,MZPNG&MNBR]VNB]JJ^5>U'YRBNQFN^AFHI)tqgiT~Rkkgd-V[AIR\89j7X> I^TJK*ABFVYRBNQFNZ1:Y+U^FJUBBRMJLM-p}keXzVookh!fDNWW8584i2_;#DQYIN-DAKYTQGITECU<9\,P]KEXAGUHIAB sxl`[wYblno$eIAZT=3=75=R8&CTZDA GDL\W\HDW@DP?4S!SXL@[LHXKLFG#~wac^p\kpr5n2_;#DQYIN-DAKYTQGITECU<9\,P]KEXAGUHIAB urgq[lhXf:;0Y=!F_WKL+BCIWZSEORGA[52^*V_IKVCESNKCL.CP]KEXNVG^T>?4U1-J[SOH'NOES^WAC^KM_16Z&ZSEORGA_BGOH*GTQGIT^RCZX3d8Q5)NW_CD#JKA_R[MGZOIS=:V"^WAC^KM[FCKD&YCEKZPRDE04>S7'@U]EB!HEO]P]KEXAGQ?

R.R[MGZOIWJOG@"]PSXL@[CYUMN997X> I^TJK*ABFVYRBNQFNZ63Y+U^FJUBBRMJLM-P[V_IKVXT^HI<2:W3+LYQAF%LICQ\YOA\MK]38T$XUCMPIO]@AIJ(]ZOYSNBD_SGD6`=R8&CTZDA GDL\W\HDW@DP8=S!SXL@[LHXKLFG#X]JR^OV\7c<]9%BS[G@/FGM[V_IKVCEW9>R.R[MGZOIWJOG@"[\ES]QAB4a3\:$ERXFO.EFJZU^FJUBBV:?]/QZJFYNFVIN@A!Z_GCOHLH@:l1^<"GPVHM,C@HX[PDHSD@T41_-W\HDW@DTOHBC/T]QMVOIO:;0Y=!F_WKL+BCIWZSEORGA[52^*V_IKVCESNKCL.W\WQGSKDNTb?k4U1-J[SOH'NOES^WAC^KM_16Z&ZSEORGA_BGOH*SX[PDHSKS7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

_nww6f=R8&CTZDA GDL\W\HDW@DP8=S!SXL@[LHXKLFG#g|ioe04>S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

S7'@U]EB!HEO]P]KEXAGQ?

I^TJK*ABFVYRBNQFNZ63Y+U^FJUBBRMJLM-p}keXzVookh!F_M0K*PYCG\^856[?/H]UMJ)@MGUXUCMPIOY74X(TQGITECQLEMN,w|hdW{Unhjk U^FLQQ6412_;#DQYIN-DAKYTQGITECU;0\,P]KEXAGUHIAB sxl`[wYblno$YRJ@UU30e>S7'@U]EB!HEO]P]KEXAGQ?

13`9V4*OX^@E$KH@PSXL@[LH\<9W%_T@L_HL\G@JK'zseoR|Peeef+lBH]]6:2>>4U1-J[SOH'NOES^WAC^KM_16Z&ZSEORGA_BGOH*u~fjUySb{{2g9V4*OX^@E$KH@PSXL@[LH\<9W%_T@L_HL\G@JK'|yn~Rga_o12?P6(AV\BC"IJN^QZJFYNFR>:Q#]VNB]JJZEBDE%J_T@L_G]NQ]563\:$ERXFO.EFJZU^FJUBBV:>]/QZJFYNFVIN@A!NSXL@[WYJ]Q8m7X> I^TJK*ABFVYRBNQFNZ62Y+U^FJUBBRMJLM-PLL@SW[OL?=5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+V_IKVLTAXV<0:W3+LYQAF%LICQ\YOA\MK]39T$XUCMPIO]@AIJ([PDHS_QBUY10?P6(AV\BC"IJN^QZJFYNFR>:Q#]VNB]JJZEBDE%XSL]VNB]E[WC@;:1^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/R]BW\HDW[UYIJ==;T2,MZPNG&MNBR]VNB]JJ^26U'YRBNQFN^AFHI)TWZSEORHPRDE06>S7'@U]EB!HEO]P]KEXAGQ?=P \YOA\MKYDMEF$_R]VNB]Q[WC@;;1^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/TQFVZEKCVXNK?k4U1-J[SOH'NOES^WAC^KM_17Z&ZSEORGA_BGOH*STM[UFYU:Q#]VNB]JJZEBDE%^S^ZNTBOG[k4b3\:$ERXFO.EFJZU^FJUBBV:>]/QZJFYNFVIN@A!Z_R[MGZ@5m2_;#DQYIN-DAKYTQGITECU;1\,P]KEXAGUHIAB U^QZJFYU;<1^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/`qzjfYj}qUmSb{{349V4*OX^@E$KH@PSXL@[LH\<8W%_T@L_HL\G@JK'hyrbnQbuy]q[jss:m1^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/bnlgncc:m1^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/gcohlh`;81^<"GPVHM,C@HX[PDHSD@T40_-W\HDW@DTOHBC/gcohlh`Wf>i5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+cb6Wf>i5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+cb5Wf>i5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+cb4Wf>i5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+cb3Wf>i5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+cb2Wf>h5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+hs9Ve~x?m4U1-J[SOH'NOES^WAC^KM_17Z&ZSEORGA_BGOH*tn{`dl?=5Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+wotagmTcxz3:6g<]9%BS[G@/FGM[V_IKVCEW9?R.R[MGZOIWJOG@"}vnb]e[`b`m&cOCXZ31?13?P6(AV\BC"IJN^QZJFYNFR>:Q#]VNB]JJZEBDE%xucmPf^mvp62<]9%BS[G@/FGM[V_IKVCEW9?R.R[MGZOIWJOG@"}vnb]nq}YaWf?95Z0.K\RLI(OLDT_T@L_HLX04[)[PDHSD@PCDNO+vikVg~tR|Potv0a>S7'@U]EB!HEO]P]KEXAGQ?=P \YOA\MKYDMEF$t`l_s]f`bc(AVF9D#[PDNWW7<=R8&CTZDA GDL\W\HDW@DP8]/QZJFYNFVIN@A!|yoa\vZir|;l0Y=!F_WKL+BCIWZSEORGA[53^*V_IKVCESNKCL.wpawYnfVd8=6[?/H]UMJ)@MGUXUCMPIOY76X(TQGITECQLEMN,EV_IKVLTAXV<1:W3+LYQAF%LICQ\YOA\MK]3:T$XUCMPIO]@AIJ(IZSEOR\PMTZ1b>S7'@U]EB!HEO]P]KEXAGQ?>P \YOA\MKYDMEF$_EGIT^PFC66<]9%BS[G@/FGM[V_IKVCEW9 I^TJK*ABFVYRBNQFNZ61Y+U^FJUBBRMJLM-V[WOTAGM8=6[?/H]UMJ)@MGUXUCMPIOY76X(TQGITECQLEMN,QZUSI]IFHR`=e:W3+LYQAF%LICQ\YOA\MK]3:T$XUCMPIO]@AIJ(]VYRBNQI2d9V4*OX^@E$KH@PSXL@[LH\<;W%_T@L_HL\G@JK'\UXUCMPR278Q5)NW_CD#JKA_R[MGZOIS=8V"^WAC^KM[FCKD&kxucmPmtz\bZir|:?0Y=!F_WKL+BCIWZSEORGA[50^*V_IKVCESNKCL.cp}keXe|rT~Razt3f8Q5)NW_CD#JKA_R[MGZOIS=8V"^WAC^KM[FCKD&igcnejd3f8Q5)NW_CD#JKA_R[MGZOIS=8V"^WAC^KM[FCKD&lj`agag238Q5)NW_CD#JKA_R[MGZOIS=8V"^WAC^KM[FCKD&lj`agag^mvp7b<]9%BS[G@/FGM[V_IKVCEW974U1-J[SOH'NOES^WAC^KM_14Z&ZSEORGA_BGOH*u~fjUyShjhe.W\@JSS8:30Y=!F_WKL+BCIWZSEORGA[50^*V_IKVCESNKCL.qzjfYuWlnli"[PDNWW56g<]9%BS[G@/FGM[V_IKVCEW99Q#]VNB]JJZEBDE%xucmPr^ggc`)nLF__0<0<0:W3+LYQAF%LICQ\YOA\MK]3:T$XUCMPIO]@AIJ({pdhSQ`uu0e?P6(AV\BC"IJN^QZJFYNFR>9Q#]VNB]JJZEBDE%~h|Pio]m74=R8&CTZDA GDL\W\HDW@DP8>S!SXL@[LHXKLFG#L]VNB]E[HS_;81^<"GPVHM,C@HX[PDHSD@T42_-W\HDW@DTOHBC/@QZJFYUWD_S>k5Z0.K\RLI(OLDT_T@L_HLX06[)[PDHSD@PCDNO+VNNN]UYIJ=?;T2,MZPNG&MNBR]VNB]JJ^24U'YRBNQFN^AFHI)TQGITJRCZX228Q5)NW_CD#JKA_R[MGZOIS=9V"^WAC^KM[FCKD&YRBNQ]_LW[76=R8&CTZDA GDL\W\HDW@DP8>S!SXL@[LHXKLFG#^QNSXL@[CYUMN987X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-P[DU^FJUYS_KH339V4*OX^@E$KH@PSXL@[LH\<:W%_T@L_HL\G@JK'ZUXUCMPF^PFC64<]9%BS[G@/FGM[V_IKVCEW9=R.R[MGZOIWJOG@"]PSXL@[WYUMN997X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-VW@TXKEAT^HI=e:W3+LYQAF%LICQ\YOA\MK]3;T$XUCMPIO]@AIJ(]ZOYS@[W2d9V4*OX^@E$KH@PSXL@[LH\<:W%_T@L_HL\G@JK'\YN^R\JG3d8Q5)NW_CD#JKA_R[MGZOIS=9V"^WAC^KM[FCKD&_TJLBCIOE1a>S7'@U]EB!HEO]P]KEXAGQ??P \YOA\MKYDMEF$YR\FSHLD74=R8&CTZDA GDL\W\HDW@DP8>S!SXL@[LHXKLFG#XQ\T@V@IAYi:l1^<"GPVHM,C@HX[PDHSD@T42_-W\HDW@DTOHBC/T]P]KEXN;o0Y=!F_WKL+BCIWZSEORGA[51^*V_IKVCESNKCL.W\W\HDW[9>7X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-bw|hdWdsSkQ`uu16?P6(AV\BC"IJN^QZJFYNFR>8Q#]VNB]JJZEBDE%jt`l_lw{[wYh}}8o7X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-`hjelmm8o7X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-eeijnfn9:7X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-eeijnfnUdyy8Q#]VNB]JJZEBDE%xucmPf^ggc`)RWME^X==6;T2,MZPNG&MNBR]VNB]JJ^24U'YRBNQFN^AFHI)tqgiTjRkkgd-V[AIR\89j7X> I^TJK*ABFVYRBNQFNZ60Y+U^FJUBBRMJLM-p}keXnVookh!fDNWW8584i2_;#DQYIN-DAKYTQGITECU;3\,P]KEXAGUHIAB sxl`[cYblno$eIAZT=3=75=R8&CTZDA GDL\W\HDW@DP8>S!SXL@[LHXKLFG#~wac^d\kpr4<2_;#DQYIN-DAKYTQGITECU;3\,P]KEXAGUHIAB sxl`[hsWoUdyy=;;T2,MZPNG&MNBR]VNB]JJ^24U'YRBNQFN^AFHI)tqgiTaxvPr^mvp6c<]9%BS[G@/FGM[V_IKVCEW9=R.R[MGZOIWJOG@"}vnb]q[`b`m&CT@?F!U^FLQQ5>3\:$ERXFO.EFJZU^FJUBBV:<]/QZJFYNFVIN@A!|yoa\vZccol%^SIAZT11:?P6(AV\BC"IJN^QZJFYNFR>8Q#]VNB]JJZEBDE%xucmPr^ggc`)RWME^X<=n;T2,MZPNG&MNBR]VNB]JJ^24U'YRBNQFN^AFHI)tqgiT~Rkkgd-j@JSS4948m6[?/H]UMJ)@MGUXUCMPIOY77X(TQGITECQLEMN,w|hdW{Unhjk iEMVP979;91^<"GPVHM,C@HX[PDHSD@T42_-W\HDW@DTOHBC/r{mgZtXg|~9j6[?/H]UMJ)@MGUXUCMPIOY77X(TQGITECQLEMN,qvcuW`dTb>?4U1-J[SOH'NOES^WAC^KM_12Z&ZSEORGA_BGOH*GTQGITJRCZX238Q5)NW_CD#JKA_R[MGZOIS=>V"^WAC^KM[FCKD&KXUCMPR^OV\7`<]9%BS[G@/FGM[V_IKVCEW9:R.R[MGZOIWJOG@"]GIGV\V@A482_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB SXL@[CYJ]Q9;7X> I^TJK*ABFVYRBNQFNZ67Y+U^FJUBBRMJLM-P]KEXZVG^T>=4U1-J[SOH'NOES^WAC^KM_12Z&ZSEORGA_BGOH*UXIZSEORHPRDE07>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$_RO\YOA\VZTBO:80Y=!F_WKL+BCIWZSEORGA[56^*V_IKVCESNKCL.Q\W\HDWOUYIJ==;T2,MZPNG&MNBR]VNB]JJ^23U'YRBNQFN^AFHI)TWZSEOR\PRDE06>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$Y^K]_BNH[WC@:l1^<"GPVHM,C@HX[PDHSD@T45_-W\HDW@DTOHBC/TQFVZKRP;o0Y=!F_WKL+BCIWZSEORGA[56^*V_IKVCESNKCL.WPAWYUMN8m7X> I^TJK*ABFVYRBNQFNZ67Y+U^FJUBBRMJLM-V[CGKD@DL>h5Z0.K\RLI(OLDT_T@L_HLX01[)[PDHSD@PCDNO+PYUAZCEK>?4U1-J[SOH'NOES^WAC^KM_12Z&ZSEORGA_BGOH*SX[]K_O@JPn3g8Q5)NW_CD#JKA_R[MGZOIS=>V"^WAC^KM[FCKD&_T_T@L_G0f?P6(AV\BC"IJN^QZJFYNFR>?Q#]VNB]JJZEBDE%^S^WAC^P01>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$m~wac^ov|Z`Xg|~896[?/H]UMJ)@MGUXUCMPIOY70X(TQGITECQLEMN,evikVg~tR|Potv1`>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$oaalkdf1`>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$jlbcioe05>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$jlbcioe\kpr5l2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB fe3\kpr5l2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB fe0\kpr5l2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB fe1\kpr5l2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB fe6\kpr5l2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB fe7\kpr5m2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB mtz2[jss:j1^<"GPVHM,C@HX[PDHSD@T45_-W\HDW@DTOHBC/skpmka482_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB rhqjjbYh}}9n7X> I^TJK*ABFVYRBNQFNZ67Y+U^FJUBBRMJLM-p}keXnVookh!F_I0O*PYCG\^856[?/H]UMJ)@MGUXUCMPIOY70X(TQGITECQLEMN,w|hdWoUnhjk U^FLQQ6412_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB sxl`[cYblno$YRJ@UU30e>S7'@U]EB!HEO]P]KEXAGQ?8P \YOA\MKYDMEF$t`l_g]f`bc(aME^X1>13`9V4*OX^@E$KH@PSXL@[LH\<=W%_T@L_HL\G@JK'zseoRhPeeef+lBH]]6:2>>4U1-J[SOH'NOES^WAC^KM_12Z&ZSEORGA_BGOH*u~fjUmSb{{359V4*OX^@E$KH@PSXL@[LH\<=W%_T@L_HL\G@JK'zseoRczx^d\kpr4<2_;#DQYIN-DAKYTQGITECU;4\,P]KEXAGUHIAB sxl`[hsW{Udyy=j;T2,MZPNG&MNBR]VNB]JJ^23U'YRBNQFN^AFHI)tqgiT~Rkkgd-J[I4O&\UOCXZ<9:W3+LYQAF%LICQ\YOA\MK]3>228Q5)NW_CD#JKA_R[MGZOIS=>V"^WAC^KM[FCKD&yrbnQ}_nww6c=R8&CTZDA GDL\W\HDW@DP89S!SXL@[LHXKLFG#x}jr^km[k563\:$ERXFO.EFJZU^FJUBBV::]/QZJFYNFVIN@A!NSXL@[CYJ]Q9:7X> I^TJK*ABFVYRBNQFNZ66Y+U^FJUBBRMJLM-BW\HDW[UFYUS7'@U]EB!HEO]P]KEXAGQ?9P \YOA\MKYDMEF$_T@L_S]NQ]543\:$ERXFO.EFJZU^FJUBBV::]/QZJFYNFVIN@A!\_@QZJFYAW[OL?>5Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+VYF[PDHS_Q]EF11?P6(AV\BC"IJN^QZJFYNFR>>Q#]VNB]JJZEBDE%XS^WAC^D\V@A4:2_;#DQYIN-DAKYTQGITECU;5\,P]KEXAGUHIAB S^QZJFYUW[OL??5Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+PUBZVIGGR\JG3g8Q5)NW_CD#JKA_R[MGZOIS=?V"^WAC^KM[FCKD&_XI_QBUY0f?P6(AV\BC"IJN^QZJFYNFR>>Q#]VNB]JJZEBDE%^_H\PRDE1b>S7'@U]EB!HEO]P]KEXAGQ?9P \YOA\MKYDMEF$YRHNLMKMC7c<]9%BS[G@/FGM[V_IKVCEW9;R.R[MGZOIWJOG@"[PRHQJJB563\:$ERXFO.EFJZU^FJUBBV::]/QZJFYNFVIN@A!Z_RVBPFKCWg8n7X> I^TJK*ABFVYRBNQFNZ66Y+U^FJUBBRMJLM-V[V_IKVL9i6[?/H]UMJ)@MGUXUCMPIOY71X(TQGITECQLEMN,QZU^FJUY?85Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+du~fjUfyuQi_nww70=R8&CTZDA GDL\W\HDW@DP88S!SXL@[LHXKLFG#l}vnb]nq}YuWf>i5Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+fjhkboo>i5Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+cgkd`dl?<5Z0.K\RLI(OLDT_T@L_HLX00[)[PDHSD@PCDNO+cgkd`dlSb{{2e9V4*OX^@E$KH@PSXL@[LH\<Sb{{2d9V4*OX^@E$KH@PSXL@[LH\<S7'@U]EB!HEO]P]KEXAGQ?9P \YOA\MKYDMEF$t`l_g]f`bc(AVB9@#[PDNWW7<=R8&CTZDA GDL\W\HDW@DP88S!SXL@[LHXKLFG#~wac^d\aaab'\UOCXZ?389V4*OX^@E$KH@PSXL@[LH\<0Y=!F_WKL+BCIWZSEORGA[57^*V_IKVCESNKCL.qzjfYj}qUmSb{{359V4*OX^@E$KH@PSXL@[LH\<3`9V4*OX^@E$KH@PSXL@[LH\<o4U1-J[SOH'NOES^WAC^KM_13Z&ZSEORGA_BGOH*u~fjUyShjhe.kGKPR;979;7X> I^TJK*ABFVYRBNQFNZ66Y+U^FJUBBRMJLM-p}keXzVe~x?h4U1-J[SOH'NOES^WAC^KM_13Z&ZSEORGA_BGOH*stm{UbbR`<1:W3+LYQAF%LICQ\YOA\MK]3>T$XUCMPIO]@AIJ(IZSEORHPMTZ05>S7'@U]EB!HEO]P]KEXAGQ?:P \YOA\MKYDMEF$M^WAC^P\IP^5n2_;#DQYIN-DAKYTQGITECU;6\,P]KEXAGUHIAB SIKEPZTBO::0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.QZJFYAWD_S?=5Z0.K\RLI(OLDT_T@L_HLX03[)[PDHSD@PCDNO+V_IKVXTAXV<3:W3+LYQAF%LICQ\YOA\MK]3>T$XUCMPIO]@AIJ([VKXUCMPF^PFC65<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"]PAR[MGZTXZLM8>6[?/H]UMJ)@MGUXUCMPIOY72X(TQGITECQLEMN,WZU^FJUMS_KH339V4*OX^@E$KH@PSXL@[LH\ I^TJK*ABFVYRBNQFNZ65Y+U^FJUBBRMJLM-VW@TXE\R9i6[?/H]UMJ)@MGUXUCMPIOY72X(TQGITECQLEMN,QVCUW[OL>k5Z0.K\RLI(OLDT_T@L_HLX03[)[PDHSD@PCDNO+PYAIEFBBJT$XUCMPIO]@AIJ(]VY_MYMBD^l1a>S7'@U]EB!HEO]P]KEXAGQ?:P \YOA\MKYDMEF$YR]VNB]E6`=R8&CTZDA GDL\W\HDW@DP8;S!SXL@[LHXKLFG#XQ\YOA\V63<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"o|yoa\ip~XnVe~x>;4U1-J[SOH'NOES^WAC^KM_10Z&ZSEORGA_BGOH*gtqgiTaxvPr^mvp7b<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"mcobif`7b<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"hnlmkmc67<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"hnlmkmcZir|;n0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.dg5Zir|;n0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.dg6Zir|;n0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.dg7Zir|;n0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.dg0Zir|;n0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.dg1Zir|;o0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.ov|4Yh}}8h7X> I^TJK*ABFVYRBNQFNZ65Y+U^FJUBBRMJLM-qmvoio::0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.pjwlh`Wf?h5Z0.K\RLI(OLDT_T@L_HLX03[)[PDHSD@PCDNO+vikVlTiiij/H]K6I(RWME^X>74U1-J[SOH'NOES^WAC^KM_10Z&ZSEORGA_BGOH*u~fjUmShjhe.W\@JSS8:30Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.qzjfYaWlnli"[PDNWW56g<]9%BS[G@/FGM[V_IKVCEW98R.R[MGZOIWJOG@"}vnb]e[`b`m&cOCXZ30?1b?P6(AV\BC"IJN^QZJFYNFR>=Q#]VNB]JJZEBDE%xucmPf^ggc`)nLF__0<0<0:W3+LYQAF%LICQ\YOA\MK]3>T$XUCMPIO]@AIJ({pdhSkQ`uu17?P6(AV\BC"IJN^QZJFYNFR>=Q#]VNB]JJZEBDE%xucmPmtz\bZir|:>0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.qzjfYj}qUySb{{3d9V4*OX^@E$KH@PSXL@[LH\74U1-J[SOH'NOES^WAC^KM_10Z&ZSEORGA_BGOH*u~fjUyShjhe.W\@JSS9:k0Y=!F_WKL+BCIWZSEORGA[54^*V_IKVCESNKCL.qzjfYuWlnli"gKOTV?4;5f3\:$ERXFO.EFJZU^FJUBBV:9]/QZJFYNFVIN@A!|yoa\vZccol%bHB[[<0<04>S7'@U]EB!HEO]P]KEXAGQ?:P \YOA\MKYDMEF$t`l_s]lqq4a3\:$ERXFO.EFJZU^FJUBBV:9]/QZJFYNFVIN@A!zsdp\mkYi;81^<"GPVHM,C@HX[PDHSD@T46_-W\HDW@DTOHBC/@QZJFYAWD_S?<5Z0.K\RLI(OLDT_T@L_HLX02[)[PDHSD@PCDNO+DU^FJUYS@[W2g9V4*OX^@E$KH@PSXL@[LH\<>W%_T@L_HL\G@JK'ZBBJYQ]EF13?P6(AV\BC"IJN^QZJFYNFR>S7'@U]EB!HEO]P]KEXAGQ?;P \YOA\MKYDMEF$Y^K]_LW[6`=R8&CTZDA GDL\W\HDW@DP8:S!SXL@[LHXKLFG#X]JR^PFC7`<]9%BS[G@/FGM[V_IKVCEW99R.R[MGZOIWJOG@"[PF@NOMKA5m2_;#DQYIN-DAKYTQGITECU;7\,P]KEXAGUHIAB U^PJWLH@;81^<"GPVHM,C@HX[PDHSD@T46_-W\HDW@DTOHBC/T]PPDRDEMUe>h5Z0.K\RLI(OLDT_T@L_HLX02[)[PDHSD@PCDNO+PYTQGITJ?k4U1-J[SOH'NOES^WAC^KM_11Z&ZSEORGA_BGOH*SX[PDHS_=:;T2,MZPNG&MNBR]VNB]JJ^20U'YRBNQFN^AFHI)f{pdhS`{w_g]lqq523\:$ERXFO.EFJZU^FJUBBV:8]/QZJFYNFVIN@A!nsxl`[hsW{Udyy;T2,MZPNG&MNBR]VNB]JJ^20U'YRBNQFN^AFHI)aiefbbjQ`uu0g?P6(AV\BC"IJN^QZJFYNFR>Q`uu0g?P6(AV\BC"IJN^QZJFYNFR>S7'@U]EB!HEO]P]KEXAGQ?;P \YOA\MKYDMEF$~d}fnf13?P6(AV\BC"IJN^QZJFYNFR>3\:$ERXFO.EFJZU^FJUBBV:8]/QZJFYNFVIN@A!|yoa\bZccol%^SIAZT11:?P6(AV\BC"IJN^QZJFYNFR> I^TJK*ABFVYRBNQFNZ64Y+U^FJUBBRMJLM-p}keXzVookh!Z_EMVP55>3\:$ERXFO.EFJZU^FJUBBV:8]/QZJFYNFVIN@A!|yoa\vZccol%^SIAZT01b?P6(AV\BC"IJN^QZJFYNFR><4U1-J[SOH'NOES^WAC^KM_1>Z&ZSEORGA_BGOH*UX[PDHSKQ]EF11?P6(AV\BC"IJN^QZJFYNFR>3Q#]VNB]JJZEBDE%XS^WAC^P\V@A4:2_;#DQYIN-DAKYTQGITECU;8\,P]KEXAGUHIAB URGQ[FJLW[OL>h5Z0.K\RLI(OLDT_T@L_HLX0=[)[PDHSD@PCDNO+PUBZVG^T?k4U1-J[SOH'NOES^WAC^KM_1>Z&ZSEORGA_BGOH*STM[UYIJn5Z0.K\RLI(OLDT_T@L_HLX0=[)[PDHSD@PCDNO+wotagm8<6[?/H]UMJ)@MGUXUCMPIOY7>228Q5)NW_CD#JKA_R[MGZOIS=2V"^WAC^KM[FCKD&yrbnQi_nww71=R8&CTZDA GDL\W\HDW@DP85S!SXL@[LHXKLFG#~wac^ov|Z`Xg|~886[?/H]UMJ)@MGUXUCMPIOY73Q#]VNB]JJZEBDE%xucmPr^ggc`)NWE8C"XQKOTV0=>S7'@U]EB!HEO]P]KEXAGQ?4P \YOA\MKYDMEF$t`l_s]f`bc(]VNDYY><9:W3+LYQAF%LICQ\YOA\MK]30T$XUCMPIO]@AIJ({pdhSQjdfg,QZBH]];8m6[?/H]UMJ)@MGUXUCMPIOY72:66<]9%BS[G@/FGM[V_IKVCEW96R.R[MGZOIWJOG@"}vnb]q[jss:o1^<"GPVHM,C@HX[PDHSD@T49_-W\HDW@DTOHBC/tqfvZoiWg9:7X> I^TJK*ABFVYRBNQFNZ6:Y+U^FJUBBRMJLM-BW\HDWOUFYU=>;T2,MZPNG&MNBR]VNB]JJ^2>U'YRBNQFN^AFHI)F[PDHS_QBUY0e?P6(AV\BC"IJN^QZJFYNFR>2Q#]VNB]JJZEBDE%XDDH[_SGD75=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#^WAC^D\IP^482_;#DQYIN-DAKYTQGITECU;9\,P]KEXAGUHIAB SXL@[WYJ]Q987X> I^TJK*ABFVYRBNQFNZ6:Y+U^FJUBBRMJLM-P[DU^FJUMS_KH329V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'ZUJ_T@L_S]QAB553\:$ERXFO.EFJZU^FJUBBV:6]/QZJFYNFVIN@A!\_R[MGZ@XZLM8>6[?/H]UMJ)@MGUXUCMPIOY7=X(TQGITECQLEMN,WZU^FJUYS_KH339V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'\YN^RMCK^PFC7c<]9%BS[G@/FGM[V_IKVCEW97R.R[MGZOIWJOG@"[\ES]NQ]4b3\:$ERXFO.EFJZU^FJUBBV:6]/QZJFYNFVIN@A!ZSDP\V@A5n2_;#DQYIN-DAKYTQGITECU;9\,P]KEXAGUHIAB U^DBHIOIO;o0Y=!F_WKL+BCIWZSEORGA[5;^*V_IKVCESNKCL.W\VLUNFN9:7X> I^TJK*ABFVYRBNQFNZ6:Y+U^FJUBBRMJLM-V[VRF\JGOScU'YRBNQFN^AFHI)RWZSEORH=e:W3+LYQAF%LICQ\YOA\MK]31T$XUCMPIO]@AIJ(]VYRBNQ]349V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'hyrbnQbuy]e[jss;<1^<"GPVHM,C@HX[PDHSD@T48_-W\HDW@DTOHBC/`qzjfYj}qUySb{{2e9V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'jfdofkk2e9V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'okg`d`h309V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'okg`d`h_nww6a=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#kj>_nww6a=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#kj=_nww6a=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#kj<_nww6a=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#kj;_nww6a=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#kj:_nww6`=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#`{w1^mvp7e<]9%BS[G@/FGM[V_IKVCEW97R.R[MGZOIWJOG@"|fshld75=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#g|ioe\kpr4m2_;#DQYIN-DAKYTQGITECU;9\,P]KEXAGUHIAB sxl`[cYblno$ERF=L/W\@JSS;01^<"GPVHM,C@HX[PDHSD@T48_-W\HDW@DTOHBC/r{mgZ`Xmmmn#XQKOTV37<=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#~wac^d\aaab'\UOCXZ>3`9V4*OX^@E$KH@PSXL@[LH\<0W%_T@L_HL\G@JK'zseoRhPeeef+lBH]]6;2>o4U1-J[SOH'NOES^WAC^KM_1?Z&ZSEORGA_BGOH*u~fjUmShjhe.kGKPR;979;7X> I^TJK*ABFVYRBNQFNZ6:Y+U^FJUBBRMJLM-p}keXnVe~x>:4U1-J[SOH'NOES^WAC^KM_1?Z&ZSEORGA_BGOH*u~fjUfyuQi_nww71=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#~wac^ov|ZtXg|~8i6[?/H]UMJ)@MGUXUCMPIOY7=X(TQGITECQLEMN,w|hdW{Unhjk I^N1L+SXLF__?45Z0.K\RLI(OLDT_T@L_HLX0<[)[PDHSD@PCDNO+vikVxTiiij/T]GKPR7;01^<"GPVHM,C@HX[PDHSD@T48_-W\HDW@DTOHBC/r{mgZtXmmmn#XQKOTV27d=R8&CTZDA GDL\W\HDW@DP84S!SXL@[LHXKLFG#~wac^p\aaab'`NDYY2?>2c8Q5)NW_CD#JKA_R[MGZOIS=3V"^WAC^KM[FCKD&yrbnQ}_dfda*oCG\^7=3=?;T2,MZPNG&MNBR]VNB]JJ^2>U'YRBNQFN^AFHI)tqgiT~Razt3d8Q5)NW_CD#JKA_R[MGZOIS=3V"^WAC^KM[FCKD&xiQfn^l05>S7'@U]EB!HEO]P]KEXAGQ>

>4U1-J[SOH'NOES^WAC^KM_06Z&ZSEORGA_BGOH*U^FJUMS@[W319V4*OX^@E$KH@PSXL@[LH\=9W%_T@L_HL\G@JK'ZSEOR\PMTZ07>S7'@U]EB!HEO]P]KEXAGQ>

S7'@U]EB!HEO]P]KEXAGQ>

>4U1-J[SOH'NOES^WAC^KM_06Z&ZSEORGA_BGOH*tn{`dlSb{{3d9V4*OX^@E$KH@PSXL@[LH\=9W%_T@L_HL\G@JK'zseoRhPeeef+LYO:E$^SIAZT2;8Q5)NW_CD#JKA_R[MGZOIS<:V"^WAC^KM[FCKD&yrbnQi_dfda*SXLF__<>74U1-J[SOH'NOES^WAC^KM_06Z&ZSEORGA_BGOH*u~fjUmShjhe.W\@JSS9:k0Y=!F_WKL+BCIWZSEORGA[42^*V_IKVCESNKCL.qzjfYaWlnli"gKOTV?4;5f3\:$ERXFO.EFJZU^FJUBBV;?]/QZJFYNFVIN@A!|yoa\bZccol%bHB[[<0<04>S7'@U]EB!HEO]P]KEXAGQ>

:4U1-J[SOH'NOES^WAC^KM_06Z&ZSEORGA_BGOH*u~fjUfyuQ}_nww7`=R8&CTZDA GDL\W\HDW@DP9=S!SXL@[LHXKLFG#~wac^p\aaab'@UG>E Z_EMVP6?<]9%BS[G@/FGM[V_IKVCEW8>R.R[MGZOIWJOG@"}vnb]q[`b`m&_THB[[02;8Q5)NW_CD#JKA_R[MGZOIS<:V"^WAC^KM[FCKD&yrbnQ}_dfda*SXLF__=>o4U1-J[SOH'NOES^WAC^KM_06Z&ZSEORGA_BGOH*u~fjUyShjhe.kGKPR;879j7X> I^TJK*ABFVYRBNQFNZ73Y+U^FJUBBRMJLM-p}keXzVookh!fDNWW848482_;#DQYIN-DAKYTQGITECU:0\,P]KEXAGUHIAB sxl`[wYh}}8m7X> I^TJK*ABFVYRBNQFNZ73Y+U^FJUBBRMJLM-vw`tXagUe?<5Z0.K\RLI(OLDT_T@L_HLX14[)[PDHSD@PCDNO+DU^FJUMS@[W309V4*OX^@E$KH@PSXL@[LH\=8W%_T@L_HL\G@JK'HYRBNQ]_LW[6c=R8&CTZDA GDL\W\HDW@DP9]/QZJFYNFVIN@A!\YOA\BZKRP::0Y=!F_WKL+BCIWZSEORGA[43^*V_IKVCESNKCL.QZJFYUWD_S?>5Z0.K\RLI(OLDT_T@L_HLX14[)[PDHSD@PCDNO+VYF[PDHSKQ]EF10?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%XSL]VNB]Q[WC@;;1^<"GPVHM,C@HX[PDHSD@T50_-W\HDW@DTOHBC/R]P]KEXNVXNK><4U1-J[SOH'NOES^WAC^KM_07Z&ZSEORGA_BGOH*UX[PDHS_Q]EF11?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%^_H\PCMI\V@A5m2_;#DQYIN-DAKYTQGITECU:1\,P]KEXAGUHIAB URGQ[HS_:l1^<"GPVHM,C@HX[PDHSD@T50_-W\HDW@DTOHBC/TQFVZTBO;l0Y=!F_WKL+BCIWZSEORGA[43^*V_IKVCESNKCL.W\BDJKAGM9i6[?/H]UMJ)@MGUXUCMPIOY65X(TQGITECQLEMN,QZTN[@DL?<5Z0.K\RLI(OLDT_T@L_HLX14[)[PDHSD@PCDNO+PYT\H^HAIQa2d9V4*OX^@E$KH@PSXL@[LH\=8W%_T@L_HL\G@JK'\UXUCMPF3g8Q5)NW_CD#JKA_R[MGZOIS<;V"^WAC^KM[FCKD&_T_T@L_S16?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%jt`l_lw{[cYh}}9>7X> I^TJK*ABFVYRBNQFNZ72Y+U^FJUBBRMJLM-bw|hdWdsSQ`uu0g?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%h`bmdee0g?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%mmabfnf12?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%mmabfnf]lqq4c3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!id0]lqq4c3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!id3]lqq4c3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!id2]lqq4c3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!id5]lqq4c3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!id4]lqq4b3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!buy3\kpr5k2_;#DQYIN-DAKYTQGITECU:1\,P]KEXAGUHIAB rhqjjb573\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!}irkmcZir|:o0Y=!F_WKL+BCIWZSEORGA[43^*V_IKVCESNKCL.qzjfYaWlnli"GPH3N-QZBH]]927X> I^TJK*ABFVYRBNQFNZ72Y+U^FJUBBRMJLM-p}keXnVookh!Z_EMVP55>3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!|yoa\bZccol%^SIAZT01b?P6(AV\BC"IJN^QZJFYNFR?:Q#]VNB]JJZEBDE%xucmPf^ggc`)nLF__0=0]/QZJFYNFVIN@A!|yoa\ip~XzVe~x>k4U1-J[SOH'NOES^WAC^KM_07Z&ZSEORGA_BGOH*u~fjUyShjhe.K\H7N)]VNDYY=6;T2,MZPNG&MNBR]VNB]JJ^36U'YRBNQFN^AFHI)tqgiT~Rkkgd-V[AIR\9927X> I^TJK*ABFVYRBNQFNZ72Y+U^FJUBBRMJLM-p}keXzVookh!Z_EMVP45f3\:$ERXFO.EFJZU^FJUBBV;>]/QZJFYNFVIN@A!|yoa\vZccol%bHB[[<1<0e>S7'@U]EB!HEO]P]KEXAGQ>=P \YOA\MKYDMEF$t`l_s]f`bc(aME^X1?1319V4*OX^@E$KH@PSXL@[LH\=8W%_T@L_HL\G@JK'zseoR|Potv1b>S7'@U]EB!HEO]P]KEXAGQ>=P \YOA\MKYDMEF$y~k}_hl\j67<]9%BS[G@/FGM[V_IKVCEW86[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,QVCUWJF@S_KH2d9V4*OX^@E$KH@PSXL@[LH\=;W%_T@L_HL\G@JK'\YN^RCZX3g8Q5)NW_CD#JKA_R[MGZOIS<8V"^WAC^KM[FCKD&_XI_Q]EF0e?P6(AV\BC"IJN^QZJFYNFR?9Q#]VNB]JJZEBDE%^SKOCLHLD6`=R8&CTZDA GDL\W\HDW@DP9?S!SXL@[LHXKLFG#XQ]IRKMC67<]9%BS[G@/FGM[V_IKVCEW8 I^TJK*ABFVYRBNQFNZ71Y+U^FJUBBRMJLM-V[V_IKVX896[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,evikVg~tRhPotv01>S7'@U]EB!HEO]P]KEXAGQ>>P \YOA\MKYDMEF$m~wac^ov|ZtXg|~9h6[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,giidcln9h6[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,bdjkagm8=6[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,bdjkagmTcxz=d:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(nm;Tcxz=d:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(nm8Tcxz=d:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(nm9Tcxz=d:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(nm>Tcxz=d:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(nm?Tcxz=e:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(e|r:Sb{{2b9V4*OX^@E$KH@PSXL@[LH\=;W%_T@L_HL\G@JK'{cxeci<0:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ(z`ybbjQ`uu1f?P6(AV\BC"IJN^QZJFYNFR?9Q#]VNB]JJZEBDE%xucmPf^ggc`)NWA8G"XQKOTV0=>S7'@U]EB!HEO]P]KEXAGQ>>P \YOA\MKYDMEF$t`l_g]f`bc(]VNDYY><9:W3+LYQAF%LICQ\YOA\MK]2:T$XUCMPIO]@AIJ({pdhSkQjdfg,QZBH]];8m6[?/H]UMJ)@MGUXUCMPIOY66X(TQGITECQLEMN,w|hdWoUnhjk iEMVP969;h1^<"GPVHM,C@HX[PDHSD@T53_-W\HDW@DTOHBC/r{mgZ`Xmmmn#dJ@UU>2:66<]9%BS[G@/FGM[V_IKVCEW8S7'@U]EB!HEO]P]KEXAGQ>>P \YOA\MKYDMEF$t`l_s]f`bc(]VNDYY?k5Z0.K\RLI(OLDT_T@L_HLX17[)[PDHSD@PCDNO+pubzVceSc=>;T2,MZPNG&MNBR]VNB]JJ^34U'YRBNQFN^AFHI)F[PDHSKQBUY12?P6(AV\BC"IJN^QZJFYNFR?8Q#]VNB]JJZEBDE%J_T@L_S]NQ]4a3\:$ERXFO.EFJZU^FJUBBV;<]/QZJFYNFVIN@A!\HHDW[WC@;91^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/R[MGZ@XE\R8<6[?/H]UMJ)@MGUXUCMPIOY67X(TQGITECQLEMN,W\HDW[UFYU=<;T2,MZPNG&MNBR]VNB]JJ^34U'YRBNQFN^AFHI)TWHYRBNQI_SGD76=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#^QNSXL@[WYUMN997X> I^TJK*ABFVYRBNQFNZ70Y+U^FJUBBRMJLM-P[V_IKVLT^HI<2:W3+LYQAF%LICQ\YOA\MK]2;T$XUCMPIO]@AIJ([VYRBNQ]_SGD77=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#X]JR^AOOZTBO;o0Y=!F_WKL+BCIWZSEORGA[41^*V_IKVCESNKCL.WPAWYJ]Q8n7X> I^TJK*ABFVYRBNQFNZ70Y+U^FJUBBRMJLM-VW@TXZLM9j6[?/H]UMJ)@MGUXUCMPIOY67X(TQGITECQLEMN,QZ@FDECEK?k4U1-J[SOH'NOES^WAC^KM_05Z&ZSEORGA_BGOH*SXZ@YBBJ=>;T2,MZPNG&MNBR]VNB]JJ^34U'YRBNQFN^AFHI)RWZ^JXNCK_o0f?P6(AV\BC"IJN^QZJFYNFR?8Q#]VNB]JJZEBDE%^S^WAC^D1a>S7'@U]EB!HEO]P]KEXAGQ>?P \YOA\MKYDMEF$YR]VNB]Q70=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#l}vnb]nq}YaWf?85Z0.K\RLI(OLDT_T@L_HLX16[)[PDHSD@PCDNO+du~fjUfyuQ}_nww6a=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#nb`cjgg6a=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#koclhld74=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#koclhld[jss:m1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/gf2[jss:m1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/gf1[jss:m1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/gf0[jss:m1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/gf7[jss:m1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/gf6[jss:l1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/lw{5Zir|;i0Y=!F_WKL+BCIWZSEORGA[41^*V_IKVCESNKCL.pjwlh`;91^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/skpmkaXg|~8i6[?/H]UMJ)@MGUXUCMPIOY67X(TQGITECQLEMN,w|hdWoUnhjk I^J1H+SXLF__?45Z0.K\RLI(OLDT_T@L_HLX16[)[PDHSD@PCDNO+vikVlTiiij/T]GKPR7;01^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/r{mgZ`Xmmmn#XQKOTV27d=R8&CTZDA GDL\W\HDW@DP9>S!SXL@[LHXKLFG#~wac^d\aaab'`NDYY2?>2c8Q5)NW_CD#JKA_R[MGZOIS<9V"^WAC^KM[FCKD&yrbnQi_dfda*oCG\^7=3=?;T2,MZPNG&MNBR]VNB]JJ^34U'YRBNQFN^AFHI)tqgiTjRazt268Q5)NW_CD#JKA_R[MGZOIS<9V"^WAC^KM[FCKD&yrbnQbuy]e[jss;=1^<"GPVHM,C@HX[PDHSD@T52_-W\HDW@DTOHBC/r{mgZkrpVxTcxz3:6g<]9%BS[G@/FGM[V_IKVCEW8=R.R[MGZOIWJOG@"}vnb]q[`b`m&cOCXZ31?13?P6(AV\BC"IJN^QZJFYNFR?8Q#]VNB]JJZEBDE%xucmPr^mvp7`<]9%BS[G@/FGM[V_IKVCEW8=R.R[MGZOIWJOG@"{|es]jjZh492_;#DQYIN-DAKYTQGITECU:4\,P]KEXAGUHIAB AR[MGZ@XE\R8=6[?/H]UMJ)@MGUXUCMPIOY60X(TQGITECQLEMN,EV_IKVXTAXV=f:W3+LYQAF%LICQ\YOA\MK]2V"^WAC^KM[FCKD&YRBNQI_LW[75=R8&CTZDA GDL\W\HDW@DP99S!SXL@[LHXKLFG#^WAC^P\IP^4;2_;#DQYIN-DAKYTQGITECU:4\,P]KEXAGUHIAB S^CP]KEXNVXNK>=4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*UXIZSEOR\PRDE06>S7'@U]EB!HEO]P]KEXAGQ>8P \YOA\MKYDMEF$_R]VNB]E[WC@;;1^<"GPVHM,C@HX[PDHSD@T55_-W\HDW@DTOHBC/R]P]KEXZVXNK><4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*STM[UH@FQ]EF0f?P6(AV\BC"IJN^QZJFYNFR??Q#]VNB]JJZEBDE%^_H\PMTZ1a>S7'@U]EB!HEO]P]KEXAGQ>8P \YOA\MKYDMEF$Y^K]_SGD6c=R8&CTZDA GDL\W\HDW@DP99S!SXL@[LHXKLFG#XQIAMNJJB4b3\:$ERXFO.EFJZU^FJUBBV;;]/QZJFYNFVIN@A!Z_SKPMKA492_;#DQYIN-DAKYTQGITECU:4\,P]KEXAGUHIAB U^QWEQEJLVd9i6[?/H]UMJ)@MGUXUCMPIOY60X(TQGITECQLEMN,QZU^FJUM>h5Z0.K\RLI(OLDT_T@L_HLX11[)[PDHSD@PCDNO+PYTQGIT^>;4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*gtqgiTaxvPf^mvp63<]9%BS[G@/FGM[V_IKVCEW8:R.R[MGZOIWJOG@"o|yoa\ip~XzVe~x?j4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*ekgjanh?j4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*`fdecek>?4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*`fdecekRazt3f8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&lo=Razt3f8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&lo>Razt3f8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&lo?Razt3f8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&lo8Razt3f8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&lo9Razt3g8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&g~tV"^WAC^KM[FCKD&xbd`h_nww7`=R8&CTZDA GDL\W\HDW@DP99S!SXL@[LHXKLFG#~wac^d\aaab'@UC>A Z_EMVP6?<]9%BS[G@/FGM[V_IKVCEW8:R.R[MGZOIWJOG@"}vnb]e[`b`m&_THB[[02;8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&yrbnQi_dfda*SXLF__=>o4U1-J[SOH'NOES^WAC^KM_02Z&ZSEORGA_BGOH*u~fjUmShjhe.kGKPR;879j7X> I^TJK*ABFVYRBNQFNZ77Y+U^FJUBBRMJLM-p}keXnVookh!fDNWW848482_;#DQYIN-DAKYTQGITECU:4\,P]KEXAGUHIAB sxl`[cYh}}9?7X> I^TJK*ABFVYRBNQFNZ77Y+U^FJUBBRMJLM-p}keXe|rTjRazt268Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&yrbnQbuy]q[jss;l1^<"GPVHM,C@HX[PDHSD@T55_-W\HDW@DTOHBC/r{mgZtXmmmn#DQC2I,V[AIR\:30Y=!F_WKL+BCIWZSEORGA[46^*V_IKVCESNKCL.qzjfYuWlnli"[PDNWW46?<]9%BS[G@/FGM[V_IKVCEW8:R.R[MGZOIWJOG@"}vnb]q[`b`m&_THB[[12c8Q5)NW_CD#JKA_R[MGZOIS<>V"^WAC^KM[FCKD&yrbnQ}_dfda*oCG\^7<3=n;T2,MZPNG&MNBR]VNB]JJ^33U'YRBNQFN^AFHI)tqgiT~Rkkgd-j@JSS4848<6[?/H]UMJ)@MGUXUCMPIOY60X(TQGITECQLEMN,w|hdW{Udyy I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-P]KEXNVG^T>>4U1-J[SOH'NOES^WAC^KM_03Z&ZSEORGA_BGOH*U^FJUYS@[W329V4*OX^@E$KH@PSXL@[LH\=h5Z0.K\RLI(OLDT_T@L_HLX10[)[PDHSD@PCDNO+PUBZVXNK?h4U1-J[SOH'NOES^WAC^KM_03Z&ZSEORGA_BGOH*SXNHFGECI=e:W3+LYQAF%LICQ\YOA\MK]2=T$XUCMPIO]@AIJ(]VXB_D@H309V4*OX^@E$KH@PSXL@[LH\= I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-e`4Yh}}8o7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-e`7Yh}}8o7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-e`6Yh}}8o7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-e`1Yh}}8o7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-e`0Yh}}8n7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-nq}7Xg|~9o6[?/H]UMJ)@MGUXUCMPIOY61X(TQGITECQLEMN,vlunfn9;7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-qmvoioVe~x>k4U1-J[SOH'NOES^WAC^KM_03Z&ZSEORGA_BGOH*u~fjUmShjhe.K\L7J)]VNDYY=6;T2,MZPNG&MNBR]VNB]JJ^32U'YRBNQFN^AFHI)tqgiTjRkkgd-V[AIR\9927X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-p}keXnVookh!Z_EMVP45f3\:$ERXFO.EFJZU^FJUBBV;:]/QZJFYNFVIN@A!|yoa\bZccol%bHB[[<1<0e>S7'@U]EB!HEO]P]KEXAGQ>9P \YOA\MKYDMEF$t`l_g]f`bc(aME^X1?1319V4*OX^@E$KH@PSXL@[LH\=S7'@U]EB!HEO]P]KEXAGQ>9P \YOA\MKYDMEF$t`l_lw{[cYh}}9?7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-p}keXe|rT~Razt2g8Q5)NW_CD#JKA_R[MGZOISQ#]VNB]JJZEBDE%xucmPr^ggc`)RWME^X==6;T2,MZPNG&MNBR]VNB]JJ^32U'YRBNQFN^AFHI)tqgiT~Rkkgd-V[AIR\89j7X> I^TJK*ABFVYRBNQFNZ76Y+U^FJUBBRMJLM-p}keXzVookh!fDNWW8584i2_;#DQYIN-DAKYTQGITECU:5\,P]KEXAGUHIAB sxl`[wYblno$eIAZT=3=75=R8&CTZDA GDL\W\HDW@DP98S!SXL@[LHXKLFG#~wac^p\kpr5n2_;#DQYIN-DAKYTQGITECU:5\,P]KEXAGUHIAB urgq[lhXf:;0Y=!F_WKL+BCIWZSEORGA[44^*V_IKVCESNKCL.CP]KEXNVG^T>?4U1-J[SOH'NOES^WAC^KM_00Z&ZSEORGA_BGOH*GTQGIT^RCZX3d8Q5)NW_CD#JKA_R[MGZOIS<S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$_T@L_G]NQ]573\:$ERXFO.EFJZU^FJUBBV;9]/QZJFYNFVIN@A!\YOA\VZKRP:90Y=!F_WKL+BCIWZSEORGA[44^*V_IKVCESNKCL.Q\EV_IKVLT^HI<3:W3+LYQAF%LICQ\YOA\MK]2>T$XUCMPIO]@AIJ([VKXUCMPR^PFC64<]9%BS[G@/FGM[V_IKVCEW88R.R[MGZOIWJOG@"]PSXL@[CYUMN997X> I^TJK*ABFVYRBNQFNZ75Y+U^FJUBBRMJLM-P[V_IKVXT^HI<2:W3+LYQAF%LICQ\YOA\MK]2>T$XUCMPIO]@AIJ(]ZOYSNBD_SGD6`=R8&CTZDA GDL\W\HDW@DP9;S!SXL@[LHXKLFG#X]JR^OV\7c<]9%BS[G@/FGM[V_IKVCEW88R.R[MGZOIWJOG@"[\ES]QAB4a3\:$ERXFO.EFJZU^FJUBBV;9]/QZJFYNFVIN@A!Z_GCOHLH@:l1^<"GPVHM,C@HX[PDHSD@T57_-W\HDW@DTOHBC/T]QMVOIO:;0Y=!F_WKL+BCIWZSEORGA[44^*V_IKVCESNKCL.W\WQGSKDNTb?k4U1-J[SOH'NOES^WAC^KM_00Z&ZSEORGA_BGOH*SX[PDHSKT$XUCMPIO]@AIJ(izseoRczx^d\kpr4=2_;#DQYIN-DAKYTQGITECU:6\,P]KEXAGUHIAB ar{mgZkrpVxTcxz=d:W3+LYQAF%LICQ\YOA\MK]2>T$XUCMPIO]@AIJ(keehghj=d:W3+LYQAF%LICQ\YOA\MK]2>T$XUCMPIO]@AIJ(nhfgeci<1:W3+LYQAF%LICQ\YOA\MK]2>T$XUCMPIO]@AIJ(nhfgeciPotv1`>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$ji?Potv1`>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$jiS7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$ji=Potv1`>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$ji:Potv1`>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$ji;Potv1a>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$axv>_nww6f=R8&CTZDA GDL\W\HDW@DP9;S!SXL@[LHXKLFG#g|ioe04>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$~d}fnf]lqq5b3\:$ERXFO.EFJZU^FJUBBV;9]/QZJFYNFVIN@A!|yoa\bZccol%BSES7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$t`l_g]f`bc(]VNDYY?T$XUCMPIO]@AIJ({pdhSkQjdfg,mAIR\5:5?l5Z0.K\RLI(OLDT_T@L_HLX13[)[PDHSD@PCDNO+vikVlTiiij/hFLQQ:66::0Y=!F_WKL+BCIWZSEORGA[44^*V_IKVCESNKCL.qzjfYaWf?95Z0.K\RLI(OLDT_T@L_HLX13[)[PDHSD@PCDNO+vikVg~tRhPotv00>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$t`l_lw{[wYh}}9n7X> I^TJK*ABFVYRBNQFNZ75Y+U^FJUBBRMJLM-p}keXzVookh!F_M0K*PYCG\^856[?/H]UMJ)@MGUXUCMPIOY62X(TQGITECQLEMN,w|hdW{Unhjk U^FLQQ6412_;#DQYIN-DAKYTQGITECU:6\,P]KEXAGUHIAB sxl`[wYblno$YRJ@UU30e>S7'@U]EB!HEO]P]KEXAGQ>:P \YOA\MKYDMEF$t`l_s]f`bc(aME^X1>13`9V4*OX^@E$KH@PSXL@[LH\=?W%_T@L_HL\G@JK'zseoR|Peeef+lBH]]6:2>>4U1-J[SOH'NOES^WAC^KM_00Z&ZSEORGA_BGOH*u~fjUySb{{2g9V4*OX^@E$KH@PSXL@[LH\=?W%_T@L_HL\G@JK'|yn~Rga_o12?P6(AV\BC"IJN^QZJFYNFR? I^TJK*ABFVYRBNQFNZ74Y+U^FJUBBRMJLM-PLL@SW[OL?=5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+V_IKVLTAXV<0:W3+LYQAF%LICQ\YOA\MK]2?T$XUCMPIO]@AIJ([PDHS_QBUY10?P6(AV\BC"IJN^QZJFYNFR?S7'@U]EB!HEO]P]KEXAGQ>;P \YOA\MKYDMEF$_R]VNB]Q[WC@;;1^<"GPVHM,C@HX[PDHSD@T56_-W\HDW@DTOHBC/TQFVZEKCVXNK?k4U1-J[SOH'NOES^WAC^KM_01Z&ZSEORGA_BGOH*STM[UFYUW%_T@L_HL\G@JK'hyrbnQbuy]q[jss:m1^<"GPVHM,C@HX[PDHSD@T56_-W\HDW@DTOHBC/bnlgncc:m1^<"GPVHM,C@HX[PDHSD@T56_-W\HDW@DTOHBC/gcohlh`;81^<"GPVHM,C@HX[PDHSD@T56_-W\HDW@DTOHBC/gcohlh`Wf>i5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+cb6Wf>i5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+cb5Wf>i5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+cb4Wf>i5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+cb3Wf>i5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+cb2Wf>h5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+hs9Ve~x?m4U1-J[SOH'NOES^WAC^KM_01Z&ZSEORGA_BGOH*tn{`dl?=5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+wotagmTcxzW%_T@L_HL\G@JK'zseoRhPeeef+PYCG\^;?45Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+vikVlTiiij/T]GKPR6;h1^<"GPVHM,C@HX[PDHSD@T56_-W\HDW@DTOHBC/r{mgZ`Xmmmn#dJ@UU>3:6g<]9%BS[G@/FGM[V_IKVCEW89R.R[MGZOIWJOG@"}vnb]e[`b`m&cOCXZ31?13?P6(AV\BC"IJN^QZJFYNFR?S7'@U]EB!HEO]P]KEXAGQ>;P \YOA\MKYDMEF$t`l_s]f`bc(AVF9D#[PDNWW7<=R8&CTZDA GDL\W\HDW@DP9:S!SXL@[LHXKLFG#~wac^p\aaab'\UOCXZ?389V4*OX^@E$KH@PSXL@[LH\=>W%_T@L_HL\G@JK'zseoR|Peeef+PYCG\^:?l5Z0.K\RLI(OLDT_T@L_HLX12[)[PDHSD@PCDNO+vikVxTiiij/hFLQQ:76:k0Y=!F_WKL+BCIWZSEORGA[45^*V_IKVCESNKCL.qzjfYuWlnli"gKOTV?5;573\:$ERXFO.EFJZU^FJUBBV;8]/QZJFYNFVIN@A!|yoa\vZir|;l0Y=!F_WKL+BCIWZSEORGA[45^*V_IKVCESNKCL.wpawYnfVd8=6[?/H]UMJ)@MGUXUCMPIOY6S7'@U]EB!HEO]P]KEXAGQ>4P \YOA\MKYDMEF$_EGIT^PFC66<]9%BS[G@/FGM[V_IKVCEW86R.R[MGZOIWJOG@"]VNB]E[HS_;91^<"GPVHM,C@HX[PDHSD@T59_-W\HDW@DTOHBC/R[MGZTXE\R8?6[?/H]UMJ)@MGUXUCMPIOY6 I^TJK*ABFVYRBNQFNZ7;Y+U^FJUBBRMJLM-V[WOTAGM8=6[?/H]UMJ)@MGUXUCMPIOY674U1-J[SOH'NOES^WAC^KM_0>Z&ZSEORGA_BGOH*u~fjUyShjhe.W\@JSS8:30Y=!F_WKL+BCIWZSEORGA[4:^*V_IKVCESNKCL.qzjfYuWlnli"[PDNWW56g<]9%BS[G@/FGM[V_IKVCEW86R.R[MGZOIWJOG@"}vnb]q[`b`m&cOCXZ30?1b?P6(AV\BC"IJN^QZJFYNFR?3Q#]VNB]JJZEBDE%xucmPr^ggc`)nLF__0<0<0:W3+LYQAF%LICQ\YOA\MK]20T$XUCMPIO]@AIJ({pdhSQ`uu0e?P6(AV\BC"IJN^QZJFYNFR?3Q#]VNB]JJZEBDE%~h|Pio]m74=R8&CTZDA GDL\W\HDW@DP94S!SXL@[LHXKLFG#L]VNB]E[HS_;81^<"GPVHM,C@HX[PDHSD@T58_-W\HDW@DTOHBC/@QZJFYUWD_S>k5Z0.K\RLI(OLDT_T@L_HLX1<[)[PDHSD@PCDNO+VNNN]UYIJ=?;T2,MZPNG&MNBR]VNB]JJ^3>U'YRBNQFN^AFHI)TQGITJRCZX228Q5)NW_CD#JKA_R[MGZOIS<3V"^WAC^KM[FCKD&YRBNQ]_LW[76=R8&CTZDA GDL\W\HDW@DP94S!SXL@[LHXKLFG#^QNSXL@[CYUMN987X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-P[DU^FJUYS_KH339V4*OX^@E$KH@PSXL@[LH\=0W%_T@L_HL\G@JK'ZUXUCMPF^PFC64<]9%BS[G@/FGM[V_IKVCEW87R.R[MGZOIWJOG@"]PSXL@[WYUMN997X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-VW@TXKEAT^HI=e:W3+LYQAF%LICQ\YOA\MK]21T$XUCMPIO]@AIJ(]ZOYS@[W2d9V4*OX^@E$KH@PSXL@[LH\=0W%_T@L_HL\G@JK'\YN^R\JG3d8Q5)NW_CD#JKA_R[MGZOIS<3V"^WAC^KM[FCKD&_TJLBCIOE1a>S7'@U]EB!HEO]P]KEXAGQ>5P \YOA\MKYDMEF$YR\FSHLD74=R8&CTZDA GDL\W\HDW@DP94S!SXL@[LHXKLFG#XQ\T@V@IAYi:l1^<"GPVHM,C@HX[PDHSD@T58_-W\HDW@DTOHBC/T]P]KEXN;o0Y=!F_WKL+BCIWZSEORGA[4;^*V_IKVCESNKCL.W\W\HDW[9>7X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-bw|hdWdsSkQ`uu16?P6(AV\BC"IJN^QZJFYNFR?2Q#]VNB]JJZEBDE%jt`l_lw{[wYh}}8o7X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-`hjelmm8o7X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-eeijnfn9:7X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-eeijnfnUdyyU'YRBNQFN^AFHI)al8UdyyU'YRBNQFN^AFHI)al;UdyyU'YRBNQFN^AFHI)al:UdyyU'YRBNQFN^AFHI)al=UdyyU'YRBNQFN^AFHI)alU'YRBNQFN^AFHI)j}q;Tcxz=c:W3+LYQAF%LICQ\YOA\MK]21T$XUCMPIO]@AIJ(z`ybbj=?;T2,MZPNG&MNBR]VNB]JJ^3>U'YRBNQFN^AFHI)uazcekRazt2g8Q5)NW_CD#JKA_R[MGZOIS<3V"^WAC^KM[FCKD&yrbnQi_dfda*OX@;F%YRJ@UU1:?P6(AV\BC"IJN^QZJFYNFR?2Q#]VNB]JJZEBDE%xucmPf^ggc`)RWME^X==6;T2,MZPNG&MNBR]VNB]JJ^3>U'YRBNQFN^AFHI)tqgiTjRkkgd-V[AIR\89j7X> I^TJK*ABFVYRBNQFNZ7:Y+U^FJUBBRMJLM-p}keXnVookh!fDNWW8584i2_;#DQYIN-DAKYTQGITECU:9\,P]KEXAGUHIAB sxl`[cYblno$eIAZT=3=75=R8&CTZDA GDL\W\HDW@DP94S!SXL@[LHXKLFG#~wac^d\kpr4<2_;#DQYIN-DAKYTQGITECU:9\,P]KEXAGUHIAB sxl`[hsWoUdyy=;;T2,MZPNG&MNBR]VNB]JJ^3>U'YRBNQFN^AFHI)tqgiTaxvPr^mvp6c<]9%BS[G@/FGM[V_IKVCEW87R.R[MGZOIWJOG@"}vnb]q[`b`m&CT@?F!U^FLQQ5>3\:$ERXFO.EFJZU^FJUBBV;6]/QZJFYNFVIN@A!|yoa\vZccol%^SIAZT11:?P6(AV\BC"IJN^QZJFYNFR?2Q#]VNB]JJZEBDE%xucmPr^ggc`)RWME^X<=n;T2,MZPNG&MNBR]VNB]JJ^3>U'YRBNQFN^AFHI)tqgiT~Rkkgd-j@JSS4948m6[?/H]UMJ)@MGUXUCMPIOY6=X(TQGITECQLEMN,w|hdW{Unhjk iEMVP979;91^<"GPVHM,C@HX[PDHSD@T58_-W\HDW@DTOHBC/r{mgZtXg|~9j6[?/H]UMJ)@MGUXUCMPIOY6=X(TQGITECQLEMN,qvcuW`dTb>?4U1-J[SOH'NOES^WAC^KM_36Z&ZSEORGA_BGOH*GTQGITJRCZX238Q5)NW_CD#JKA_R[MGZOIS?:V"^WAC^KM[FCKD&KXUCMPR^OV\7`<]9%BS[G@/FGM[V_IKVCEW;>R.R[MGZOIWJOG@"]GIGV\V@A482_;#DQYIN-DAKYTQGITECU90\,P]KEXAGUHIAB SXL@[CYJ]Q9;7X> I^TJK*ABFVYRBNQFNZ43Y+U^FJUBBRMJLM-P]KEXZVG^T>=4U1-J[SOH'NOES^WAC^KM_36Z&ZSEORGA_BGOH*UXIZSEORHPRDE07>S7'@U]EB!HEO]P]KEXAGQ=

S7'@U]EB!HEO]P]KEXAGQ=

I^TJK*ABFVYRBNQFNZ43Y+U^FJUBBRMJLM-V[CGKD@DL>h5Z0.K\RLI(OLDT_T@L_HLX25[)[PDHSD@PCDNO+PYUAZCEK>?4U1-J[SOH'NOES^WAC^KM_36Z&ZSEORGA_BGOH*SX[]K_O@JPn3g8Q5)NW_CD#JKA_R[MGZOIS?:V"^WAC^KM[FCKD&_T_T@L_G0f?P6(AV\BC"IJN^QZJFYNFR<;Q#]VNB]JJZEBDE%^S^WAC^P01>S7'@U]EB!HEO]P]KEXAGQ=

S7'@U]EB!HEO]P]KEXAGQ=

S7'@U]EB!HEO]P]KEXAGQ=

S7'@U]EB!HEO]P]KEXAGQ=

I^TJK*ABFVYRBNQFNZ43Y+U^FJUBBRMJLM-p}keXnVookh!F_I0O*PYCG\^856[?/H]UMJ)@MGUXUCMPIOY54X(TQGITECQLEMN,w|hdWoUnhjk U^FLQQ6412_;#DQYIN-DAKYTQGITECU90\,P]KEXAGUHIAB sxl`[cYblno$YRJ@UU30e>S7'@U]EB!HEO]P]KEXAGQ=

13`9V4*OX^@E$KH@PSXL@[LH\>9W%_T@L_HL\G@JK'zseoRhPeeef+lBH]]6:2>>4U1-J[SOH'NOES^WAC^KM_36Z&ZSEORGA_BGOH*u~fjUmSb{{359V4*OX^@E$KH@PSXL@[LH\>9W%_T@L_HL\G@JK'zseoRczx^d\kpr4<2_;#DQYIN-DAKYTQGITECU90\,P]KEXAGUHIAB sxl`[hsW{Udyy=j;T2,MZPNG&MNBR]VNB]JJ^07U'YRBNQFN^AFHI)tqgiT~Rkkgd-J[I4O&\UOCXZ<9:W3+LYQAF%LICQ\YOA\MK]18T$XUCMPIO]@AIJ({pdhSQjdfg,QZBH]]:856[?/H]UMJ)@MGUXUCMPIOY54X(TQGITECQLEMN,w|hdW{Unhjk U^FLQQ74i2_;#DQYIN-DAKYTQGITECU90\,P]KEXAGUHIAB sxl`[wYblno$eIAZT=2=7d=R8&CTZDA GDL\W\HDW@DP:=S!SXL@[LHXKLFG#~wac^p\aaab'`NDYY2>>228Q5)NW_CD#JKA_R[MGZOIS?:V"^WAC^KM[FCKD&yrbnQ}_nww6c=R8&CTZDA GDL\W\HDW@DP:=S!SXL@[LHXKLFG#x}jr^km[k563\:$ERXFO.EFJZU^FJUBBV8>]/QZJFYNFVIN@A!NSXL@[CYJ]Q9:7X> I^TJK*ABFVYRBNQFNZ42Y+U^FJUBBRMJLM-BW\HDW[UFYU8W%_T@L_HL\G@JK'ZSEORHPMTZ04>S7'@U]EB!HEO]P]KEXAGQ==P \YOA\MKYDMEF$_T@L_S]NQ]543\:$ERXFO.EFJZU^FJUBBV8>]/QZJFYNFVIN@A!\_@QZJFYAW[OL?>5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+VYF[PDHS_Q]EF11?P6(AV\BC"IJN^QZJFYNFR<:Q#]VNB]JJZEBDE%XS^WAC^D\V@A4:2_;#DQYIN-DAKYTQGITECU91\,P]KEXAGUHIAB S^QZJFYUW[OL??5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+PUBZVIGGR\JG3g8Q5)NW_CD#JKA_R[MGZOIS?;V"^WAC^KM[FCKD&_XI_QBUY0f?P6(AV\BC"IJN^QZJFYNFR<:Q#]VNB]JJZEBDE%^_H\PRDE1b>S7'@U]EB!HEO]P]KEXAGQ==P \YOA\MKYDMEF$YRHNLMKMC7c<]9%BS[G@/FGM[V_IKVCEW;?R.R[MGZOIWJOG@"[PRHQJJB563\:$ERXFO.EFJZU^FJUBBV8>]/QZJFYNFVIN@A!Z_RVBPFKCWg8n7X> I^TJK*ABFVYRBNQFNZ42Y+U^FJUBBRMJLM-V[V_IKVL9i6[?/H]UMJ)@MGUXUCMPIOY55X(TQGITECQLEMN,QZU^FJUY?85Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+du~fjUfyuQi_nww70=R8&CTZDA GDL\W\HDW@DP:i5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+fjhkboo>i5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+cgkd`dl?<5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+cgkd`dlSb{{2e9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'on:Sb{{2e9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'on9Sb{{2e9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'on8Sb{{2e9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'on?Sb{{2e9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'on>Sb{{2d9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'ds=Razt3a8Q5)NW_CD#JKA_R[MGZOIS?;V"^WAC^KM[FCKD&xbd`h319V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'{cxeciPotv0a>S7'@U]EB!HEO]P]KEXAGQ==P \YOA\MKYDMEF$t`l_g]f`bc(AVB9@#[PDNWW7<=R8&CTZDA GDL\W\HDW@DP:8W%_T@L_HL\G@JK'zseoRhPeeef+PYCG\^:?l5Z0.K\RLI(OLDT_T@L_HLX24[)[PDHSD@PCDNO+vikVlTiiij/hFLQQ:76:k0Y=!F_WKL+BCIWZSEORGA[73^*V_IKVCESNKCL.qzjfYaWlnli"gKOTV?5;573\:$ERXFO.EFJZU^FJUBBV8>]/QZJFYNFVIN@A!|yoa\bZir|:>0Y=!F_WKL+BCIWZSEORGA[73^*V_IKVCESNKCL.qzjfYj}qUmSb{{359V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'zseoRczx^p\kpr4m2_;#DQYIN-DAKYTQGITECU91\,P]KEXAGUHIAB sxl`[wYblno$ERB=H/W\@JSS;01^<"GPVHM,C@HX[PDHSD@T60_-W\HDW@DTOHBC/r{mgZtXmmmn#XQKOTV37<=R8&CTZDA GDL\W\HDW@DP:3`9V4*OX^@E$KH@PSXL@[LH\>8W%_T@L_HL\G@JK'zseoR|Peeef+lBH]]6;2>o4U1-J[SOH'NOES^WAC^KM_37Z&ZSEORGA_BGOH*u~fjUyShjhe.kGKPR;979;7X> I^TJK*ABFVYRBNQFNZ42Y+U^FJUBBRMJLM-p}keXzVe~x?h4U1-J[SOH'NOES^WAC^KM_37Z&ZSEORGA_BGOH*stm{UbbR`<1:W3+LYQAF%LICQ\YOA\MK]1:T$XUCMPIO]@AIJ(IZSEORHPMTZ05>S7'@U]EB!HEO]P]KEXAGQ=>P \YOA\MKYDMEF$M^WAC^P\IP^5n2_;#DQYIN-DAKYTQGITECU92\,P]KEXAGUHIAB SIKEPZTBO::0Y=!F_WKL+BCIWZSEORGA[70^*V_IKVCESNKCL.QZJFYAWD_S?=5Z0.K\RLI(OLDT_T@L_HLX27[)[PDHSD@PCDNO+V_IKVXTAXV<3:W3+LYQAF%LICQ\YOA\MK]1:T$XUCMPIO]@AIJ([VKXUCMPF^PFC65<]9%BS[G@/FGM[V_IKVCEW;6[?/H]UMJ)@MGUXUCMPIOY56X(TQGITECQLEMN,WZU^FJUMS_KH339V4*OX^@E$KH@PSXL@[LH\>;W%_T@L_HL\G@JK'ZUXUCMPR^PFC64<]9%BS[G@/FGM[V_IKVCEW; I^TJK*ABFVYRBNQFNZ41Y+U^FJUBBRMJLM-VW@TXE\R9i6[?/H]UMJ)@MGUXUCMPIOY56X(TQGITECQLEMN,QVCUW[OL>k5Z0.K\RLI(OLDT_T@L_HLX27[)[PDHSD@PCDNO+PYAIEFBBJS7'@U]EB!HEO]P]KEXAGQ=>P \YOA\MKYDMEF$YR]VNB]E6`=R8&CTZDA GDL\W\HDW@DP:?S!SXL@[LHXKLFG#XQ\YOA\V63<]9%BS[G@/FGM[V_IKVCEW;;4U1-J[SOH'NOES^WAC^KM_34Z&ZSEORGA_BGOH*gtqgiTaxvPr^mvp7b<]9%BS[G@/FGM[V_IKVCEW; I^TJK*ABFVYRBNQFNZ41Y+U^FJUBBRMJLM-qmvoio::0Y=!F_WKL+BCIWZSEORGA[70^*V_IKVCESNKCL.pjwlh`Wf?h5Z0.K\RLI(OLDT_T@L_HLX27[)[PDHSD@PCDNO+vikVlTiiij/H]K6I(RWME^X>74U1-J[SOH'NOES^WAC^KM_34Z&ZSEORGA_BGOH*u~fjUmShjhe.W\@JSS8:30Y=!F_WKL+BCIWZSEORGA[70^*V_IKVCESNKCL.qzjfYaWlnli"[PDNWW56g<]9%BS[G@/FGM[V_IKVCEW;0Y=!F_WKL+BCIWZSEORGA[70^*V_IKVCESNKCL.qzjfYj}qUySb{{3d9V4*OX^@E$KH@PSXL@[LH\>;W%_T@L_HL\G@JK'zseoR|Peeef+LYK:A$^SIAZT2;8Q5)NW_CD#JKA_R[MGZOIS?8V"^WAC^KM[FCKD&yrbnQ}_dfda*SXLF__<>74U1-J[SOH'NOES^WAC^KM_34Z&ZSEORGA_BGOH*u~fjUyShjhe.W\@JSS9:k0Y=!F_WKL+BCIWZSEORGA[70^*V_IKVCESNKCL.qzjfYuWlnli"gKOTV?4;5f3\:$ERXFO.EFJZU^FJUBBV8=]/QZJFYNFVIN@A!|yoa\vZccol%bHB[[<0<04>S7'@U]EB!HEO]P]KEXAGQ=>P \YOA\MKYDMEF$t`l_s]lqq4a3\:$ERXFO.EFJZU^FJUBBV8=]/QZJFYNFVIN@A!zsdp\mkYi;81^<"GPVHM,C@HX[PDHSD@T62_-W\HDW@DTOHBC/@QZJFYAWD_S?<5Z0.K\RLI(OLDT_T@L_HLX26[)[PDHSD@PCDNO+DU^FJUYS@[W2g9V4*OX^@E$KH@PSXL@[LH\>:W%_T@L_HL\G@JK'ZBBJYQ]EF13?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%XUCMPF^OV\66<]9%BS[G@/FGM[V_IKVCEW;=R.R[MGZOIWJOG@"]VNB]Q[HS_;:1^<"GPVHM,C@HX[PDHSD@T62_-W\HDW@DTOHBC/R]BW\HDWOUYIJ=<;T2,MZPNG&MNBR]VNB]JJ^04U'YRBNQFN^AFHI)TWHYRBNQ]_SGD77=R8&CTZDA GDL\W\HDW@DP:>S!SXL@[LHXKLFG#^Q\YOA\BZTBO:80Y=!F_WKL+BCIWZSEORGA[71^*V_IKVCESNKCL.Q\W\HDW[UYIJ==;T2,MZPNG&MNBR]VNB]JJ^04U'YRBNQFN^AFHI)R[LXTOAEPRDE1a>S7'@U]EB!HEO]P]KEXAGQ=?P \YOA\MKYDMEF$Y^K]_LW[6`=R8&CTZDA GDL\W\HDW@DP:>S!SXL@[LHXKLFG#X]JR^PFC7`<]9%BS[G@/FGM[V_IKVCEW;=R.R[MGZOIWJOG@"[PF@NOMKA5m2_;#DQYIN-DAKYTQGITECU93\,P]KEXAGUHIAB U^PJWLH@;81^<"GPVHM,C@HX[PDHSD@T62_-W\HDW@DTOHBC/T]PPDRDEMUe>h5Z0.K\RLI(OLDT_T@L_HLX26[)[PDHSD@PCDNO+PYTQGITJ?k4U1-J[SOH'NOES^WAC^KM_35Z&ZSEORGA_BGOH*SX[PDHS_=:;T2,MZPNG&MNBR]VNB]JJ^04U'YRBNQFN^AFHI)f{pdhS`{w_g]lqq523\:$ERXFO.EFJZU^FJUBBV8<]/QZJFYNFVIN@A!nsxl`[hsW{Udyy;T2,MZPNG&MNBR]VNB]JJ^04U'YRBNQFN^AFHI)aiefbbjQ`uu0g?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%mhQ`uu0g?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%mh9Q`uu0g?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%mh8Q`uu0f?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%fyu?Potv1g>S7'@U]EB!HEO]P]KEXAGQ=?P \YOA\MKYDMEF$~d}fnf13?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%ye~gag^mvp6c<]9%BS[G@/FGM[V_IKVCEW;=R.R[MGZOIWJOG@"}vnb]e[`b`m&CTD?B!U^FLQQ5>3\:$ERXFO.EFJZU^FJUBBV8<]/QZJFYNFVIN@A!|yoa\bZccol%^SIAZT11:?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%xucmPf^ggc`)RWME^X<=n;T2,MZPNG&MNBR]VNB]JJ^04U'YRBNQFN^AFHI)tqgiTjRkkgd-j@JSS4948m6[?/H]UMJ)@MGUXUCMPIOY57X(TQGITECQLEMN,w|hdWoUnhjk iEMVP979;91^<"GPVHM,C@HX[PDHSD@T62_-W\HDW@DTOHBC/r{mgZ`Xg|~886[?/H]UMJ)@MGUXUCMPIOY57X(TQGITECQLEMN,w|hdWdsSkQ`uu17?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%xucmPmtz\vZir|:o0Y=!F_WKL+BCIWZSEORGA[71^*V_IKVCESNKCL.qzjfYuWlnli"GPL3J-QZBH]]927X> I^TJK*ABFVYRBNQFNZ40Y+U^FJUBBRMJLM-p}keXzVookh!Z_EMVP55>3\:$ERXFO.EFJZU^FJUBBV8<]/QZJFYNFVIN@A!|yoa\vZccol%^SIAZT01b?P6(AV\BC"IJN^QZJFYNFR<8Q#]VNB]JJZEBDE%xucmPr^ggc`)nLF__0=0 I^TJK*ABFVYRBNQ@UUY06X(TQGITCXZPCDNO+ISSWF__?;5Z0.K\RLI(OLDT_T@L_NWW_64Z&ZSEORAZT^AFHI)T@@L_SB[[_ugnt66<]9%BS[G@/FGM[V_IKVE^XV==]/QZJFYH]]UHIAB URGQ[WC@;91^<"GPVHM,C@HX[PDHSB[[[20^*V_IKVE^XRMJLM-lqqYsmdz8:6[?/H]UMJ)@MGUXUCMPOTVX76[)[PDHSB[[_BGOH*OX[[FTX? Z_RPO6c=R8&CTZDA GDL\W\HDWF__W>=R.R[MGZIR\VIN@A!CUU]LQQ513\:$ERXFO.EFJZU^FJUDYYU<3\,P]KEXG\^TOHBC/RJJBQYH]]Ui`~<0:W3+LYQAF%LICQ\YOA\KPR\;:W%_T@L_NWW[FCKD&_XI_Q]EF13?P6(AV\BC"IJN^QZJFYH]]Q8?P \YOA\KPRXKLFG#b{{_ugnt60<]9%BS[G@/FGM[V_IKVE^XV=;]/QZJFYH]]UHIAB I^QQHZR5&\UX^AV"^WAC^MVPZEBDE%XDDH[_NWW[qcjx::0Y=!F_WKL+BCIWZSEORAZTZ17Y+U^FJUDYYQLEMN,QVCUW[OL?=5Z0.K\RLI(OLDT_T@L_NWW_62Z&ZSEORAZT^AFHI)h}}Ui`~<6:W3+LYQAF%LICQ\YOA\KPR\; I^TJK*ABFVYRBNQ@UUY01X(TQGITCXZPCDNO+VNNN]UDYYQ{elr04>S7'@U]EB!HEO]P]KEXG\^P?8S!SXL@[JSSWJOG@"[\ES]QAB573\:$ERXFO.EFJZU^FJUDYYU<5\,P]KEXG\^TOHBC/nww[qcjx:<0Y=!F_WKL+BCIWZSEORAZTZ15Y+U^FJUDYYQLEMN,MZUUDV^9"XQ\RM0e?P6(AV\BC"IJN^QZJFYH]]Q8:P \YOA\KPRXKLFG#A[[_NWW73=R8&CTZDA GDL\W\HDWF__W>8R.R[MGZIR\VIN@A!\HHDW[JSSW}of|>>4U1-J[SOH'NOES^WAC^MVP^51U'YRBNQ@UU]@AIJ(]ZOYS_KH319V4*OX^@E$KH@PSXL@[JSSS:S7'@U]EB!HEO]P]KEXG\^P?:S!SXL@[JSSWJOG@"GPSSN\P7(RWZXG>k5Z0.K\RLI(OLDT_T@L_NWW_61Z&ZSEORAZT^AFHI)K]]UDYY=9;T2,MZPNG&MNBR]VNB]LQQ]4?T$XUCMPOTV\G@JK'ZBBJYQ@UU]wahv482_;#DQYIN-DAKYTQGITCXZT36_-W\HDWF__SNKCL.WPAWYUMN9;7X> I^TJK*ABFVYRBNQ@UUY03X(TQGITCXZPCDNO+jssW}of|>84U1-J[SOH'NOES^WAC^MVP^5?U'YRBNQ@UU]@AIJ(AVYY@RZ=.T]PVI4a3\:$ERXFO.EFJZU^FJUDYYU<8\,P]KEXG\^TOHBC/MWW[JSS;?1^<"GPVHM,C@HX[PDHSB[[[2:^*V_IKVE^XRMJLM-PLL@SWF__Sykbp228Q5)NW_CD#JKA_R[MGZIR\R93Q#]VNB]LQQYDMEF$Y^K]_SGD75=R8&CTZDA GDL\W\HDWF__W>6R.R[MGZIR\VIN@A!`uu]wahv4>2_;#DQYIN-DAKYTQGITCXZT38_-W\HDWF__SNKCL.K\WWJX\;$^S^\C2g9V4*OX^@E$KH@PSXL@[JSSS:3V"^WAC^MVPZEBDE%GYYQ@UU15?P6(AV\BC"IJN^QZJFYH]]Q85P \YOA\KPRXKLFG#^FFFU]LQQYsmdz8<6[?/H]UMJ)@MGUXUCMPOTVX7<[)[PDHSB[[_BGOH*STM[UYIJ=?;T2,MZPNG&MNBR]VNB]LQQ]41T$XUCMPOTV\G@JK'fSykbp248Q5)NW_CD#JKA_R[MGZIR\R>;Q#]VNB]LQQYDMEF$ER]]L^V1*PYTZE8m7X> I^TJK*ABFVYRBNQ@UUY74X(TQGITCXZPCDNO+ISSWF__?;5Z0.K\RLI(OLDT_T@L_NWW_16Z&ZSEORAZT^AFHI)T@@L_SB[[_ugnt66<]9%BS[G@/FGM[V_IKVE^XV:?]/QZJFYH]]UHIAB URGQ[WC@;91^<"GPVHM,C@HX[PDHSB[[[52^*V_IKVE^XRMJLM-lqqYsmdz8:6[?/H]UMJ)@MGUXUCMPOTVX04[)[PDHSB[[_BGOH*OX[[FTX? Z_RPO6c=R8&CTZDA GDL\W\HDWF__W9?R.R[MGZIR\VIN@A!CUU]LQQ513\:$ERXFO.EFJZU^FJUDYYU;1\,P]KEXG\^TOHBC/RJJBQYH]]Ui`~<0:W3+LYQAF%LICQ\YOA\KPR\<8W%_T@L_NWW[FCKD&_XI_Q]EF13?P6(AV\BC"IJN^QZJFYH]]Q?=P \YOA\KPRXKLFG#b{{_ugnt60<]9%BS[G@/FGM[V_IKVE^XV:=]/QZJFYH]]UHIAB I^QQHZR5&\UX^A I^TJK*ABFVYRBNQ@UUY77X(TQGITCXZPCDNO+VNNN]UDYYQ{elr04>S7'@U]EB!HEO]P]KEXG\^P8>S!SXL@[JSSWJOG@"[\ES]QAB573\:$ERXFO.EFJZU^FJUDYYU;3\,P]KEXG\^TOHBC/nww[qcjx:<0Y=!F_WKL+BCIWZSEORAZTZ67Y+U^FJUDYYQLEMN,MZUUDV^9"XQ\RM0e?P6(AV\BC"IJN^QZJFYH]]Q?8P \YOA\KPRXKLFG#A[[_NWW73=R8&CTZDA GDL\W\HDWF__W9:R.R[MGZIR\VIN@A!\HHDW[JSSW}of|>>4U1-J[SOH'NOES^WAC^MVP^23U'YRBNQ@UU]@AIJ(]ZOYS_KH319V4*OX^@E$KH@PSXL@[JSSS=>V"^WAC^MVPZEBDE%dyyQ{elr02>S7'@U]EB!HEO]P]KEXG\^P88S!SXL@[JSSWJOG@"GPSSN\P7(RWZXG>k5Z0.K\RLI(OLDT_T@L_NWW_13Z&ZSEORAZT^AFHI)K]]UDYY=9;T2,MZPNG&MNBR]VNB]LQQ]3=T$XUCMPOTV\G@JK'ZBBJYQ@UU]wahv482_;#DQYIN-DAKYTQGITCXZT44_-W\HDWF__SNKCL.WPAWYUMN9;7X> I^TJK*ABFVYRBNQ@UUY71X(TQGITCXZPCDNO+jssW}of|>84U1-J[SOH'NOES^WAC^MVP^21U'YRBNQ@UU]@AIJ(AVYY@RZ=.T]PVI4a3\:$ERXFO.EFJZU^FJUDYYU;6\,P]KEXG\^TOHBC/MWW[JSS;?1^<"GPVHM,C@HX[PDHSB[[[54^*V_IKVE^XRMJLM-PLL@SWF__Sykbp228Q5)NW_CD#JKA_R[MGZIR\R>=Q#]VNB]LQQYDMEF$Y^K]_SGD75=R8&CTZDA GDL\W\HDWF__W98R.R[MGZIR\VIN@A!`uu]wahv4>2_;#DQYIN-DAKYTQGITCXZT46_-W\HDWF__SNKCL.K\WWJX\;$^S^\C2g9V4*OX^@E$KH@PSXL@[JSSS==V"^WAC^MVPZEBDE%GYYQ@UU15?P6(AV\BC"IJN^QZJFYH]]Q?;P \YOA\KPRXKLFG#^FFFU]LQQYsmdz8<6[?/H]UMJ)@MGUXUCMPOTVX02[)[PDHSB[[_BGOH*STM[UYIJ=?;T2,MZPNG&MNBR]VNB]LQQ]3?T$XUCMPOTV\G@JK'fSykbp248Q5)NW_CD#JKA_R[MGZIR\R>3Q#]VNB]LQQYDMEF$ER]]L^V1*PYTZE8m7X> I^TJK*ABFVYRBNQ@UUY7Z&ZSEORAZT^AFHI)T@@L_SB[[_ugnt66<]9%BS[G@/FGM[V_IKVE^XV:7]/QZJFYH]]UHIAB URGQ[WC@;91^<"GPVHM,C@HX[PDHSB[[[5:^*V_IKVE^XRMJLM-lqqYsmdz8:6[?/H]UMJ)@MGUXUCMPOTVX0<[)[PDHSB[[_BGOH*OX[[FTX? Z_RPO6c=R8&CTZDA GDL\W\HDWF__W97R.R[MGZIR\VIN@A!CUU]LQQ513\:$ERXFO.EFJZU^FJUDYYU;9\,P]KEXG\^TOHBC/RJJBQYH]]Ui`~<0:W3+LYQAF%LICQ\YOA\KPR\<0W%_T@L_NWW[FCKD&_XI_Q]EF13?P6(AV\BC"IJN^QZJFYH]]Q?5P \YOA\KPRXKLFG#b{{_ugnt60<]9%BS[G@/FGM[V_IKVE^XV;?]/QZJFYH]]UHIAB I^QQHZR5&\UX^A I^TJK*ABFVYRBNQ@UUY65X(TQGITCXZPCDNO+VNNN]UDYYQ{elr04>S7'@U]EB!HEO]P]KEXG\^P9>P \YOA\KPRXKLFG#A[[_NWW73=R8&CTZDA GDL\W\HDWF__W8>4U1-J[SOH'NOES^WAC^MVP^35U'YRBNQ@UU]@AIJ(]ZOYS_KH319V4*OX^@E$KH@PSXL@[JSSS<8V"^WAC^MVPZEBDE%dyyQ{elr02>S7'@U]EB!HEO]P]KEXG\^P9>S!SXL@[JSSWJOG@"GPSSN\P7(RWZXG>k5Z0.K\RLI(OLDT_T@L_NWW_05Z&ZSEORAZT^AFHI)K]]UDYY=9;T2,MZPNG&MNBR]VNB]LQQ]2;T$XUCMPOTV\G@JK'ZBBJYQ@UU]wahv482_;#DQYIN-DAKYTQGITCXZT52_-W\HDWF__SNKCL.WPAWYUMN9;7X> I^TJK*ABFVYRBNQ@UUY67X(TQGITCXZPCDNO+jssW}of|>84U1-J[SOH'NOES^WAC^MVP^33U'YRBNQ@UU]@AIJ(AVYY@RZ=.T]PVI4a3\:$ERXFO.EFJZU^FJUDYYU:4\,P]KEXG\^TOHBC/MWW[JSS;?1^<"GPVHM,C@HX[PDHSB[[[46^*V_IKVE^XRMJLM-PLL@SWF__Sykbp228Q5)NW_CD#JKA_R[MGZIR\R??Q#]VNB]LQQYDMEF$Y^K]_SGD75=R8&CTZDA GDL\W\HDWF__W8:R.R[MGZIR\VIN@A!`uu]wahv4>2_;#DQYIN-DAKYTQGITCXZT54_-W\HDWF__SNKCL.K\WWJX\;$^S^\C2g9V4*OX^@E$KH@PSXL@[JSSS9P \YOA\KPRXKLFG#^FFFU]LQQYsmdz8<6[?/H]UMJ)@MGUXUCMPOTVX10[)[PDHSB[[_BGOH*STM[UYIJ=?;T2,MZPNG&MNBR]VNB]LQQ]2=T$XUCMPOTV\G@JK'fSykbp248Q5)NW_CD#JKA_R[MGZIR\R?=Q#]VNB]LQQYDMEF$ER]]L^V1*PYTZE8m7X> I^TJK*ABFVYRBNQ@UUY62X(TQGITCXZPCDNO+ISSWF__?;5Z0.K\RLI(OLDT_T@L_NWW_00Z&ZSEORAZT^AFHI)T@@L_SB[[_ugnt66<]9%BS[G@/FGM[V_IKVE^XV;9]/QZJFYH]]UHIAB URGQ[WC@;91^<"GPVHM,C@HX[PDHSB[[[44^*V_IKVE^XRMJLM-lqqYsmdz8:6[?/H]UMJ)@MGUXUCMPOTVX12[)[PDHSB[[_BGOH*OX[[FTX? Z_RPO6c=R8&CTZDA GDL\W\HDWF__W89R.R[MGZIR\VIN@A!CUU]LQQ513\:$ERXFO.EFJZU^FJUDYYU:7\,P]KEXG\^TOHBC/RJJBQYH]]Ui`~<0:W3+LYQAF%LICQ\YOA\KPR\=>W%_T@L_NWW[FCKD&_XI_Q]EF13?P6(AV\BC"IJN^QZJFYH]]Q>;P \YOA\KPRXKLFG#b{{_ugnt60<]9%BS[G@/FGM[V_IKVE^XV;7]/QZJFYH]]UHIAB I^QQHZR5&\UX^AZ&ZSEORAZT^AFHI)h}}Ui`~<6:W3+LYQAF%LICQ\YOA\KPR\=0W%_T@L_NWW[FCKD&CT__BPT3,V[VTK:o1^<"GPVHM,C@HX[PDHSB[[[4;^*V_IKVE^XRMJLM-OQQYH]]9=7X> I^TJK*ABFVYRBNQ@UUY6=X(TQGITCXZPCDNO+VNNN]UDYYQ{elr04>S7'@U]EB!HEO]P]KEXG\^P94S!SXL@[JSSWJOG@"[\ES]QAB573\:$ERXFO.EFJZU^FJUDYYU:9\,P]KEXG\^TOHBC/nww[qcjx:<0Y=!F_WKL+BCIWZSEORAZTZ43Y+U^FJUDYYQLEMN,MZUUDV^9"XQ\RM0e?P6(AV\BC"IJN^QZJFYH]]Q=

R.R[MGZIR\VIN@A!\HHDW[JSSW}of|>>4U1-J[SOH'NOES^WAC^MVP^07U'YRBNQ@UU]@AIJ(]ZOYS_KH319V4*OX^@E$KH@PSXL@[JSSS?:V"^WAC^MVPZEBDE%dyyQ{elr02>S7'@U]EB!HEO]P]KEXG\^P:k5Z0.K\RLI(OLDT_T@L_NWW_37Z&ZSEORAZT^AFHI)K]]UDYY=9;T2,MZPNG&MNBR]VNB]LQQ]19T$XUCMPOTV\G@JK'ZBBJYQ@UU]wahv482_;#DQYIN-DAKYTQGITCXZT60_-W\HDWF__SNKCL.WPAWYUMN9;7X> I^TJK*ABFVYRBNQ@UUY55X(TQGITCXZPCDNO+jssW}of|>84U1-J[SOH'NOES^WAC^MVP^05U'YRBNQ@UU]@AIJ(AVYY@RZ=.T]PVI4a3\:$ERXFO.EFJZU^FJUDYYU92\,P]KEXG\^TOHBC/MWW[JSS;?1^<"GPVHM,C@HX[PDHSB[[[70^*V_IKVE^XRMJLM-PLL@SWF__Sykbp228Q5)NW_CD#JKA_R[MGZIR\R<9Q#]VNB]LQQYDMEF$Y^K]_SGD75=R8&CTZDA GDL\W\HDWF__W;2_;#DQYIN-DAKYTQGITCXZT62_-W\HDWF__SNKCL.K\WWJX\;$^S^\C2g9V4*OX^@E$KH@PSXL@[JSSS?9V"^WAC^MVPZEBDE%GYYQ@UU15?P6(AV\BC"IJN^QZJFYH]]Q=?P \YOA\KPRXKLFG#^FFFU]LQQYsmdz8<6[?/H]UMJ)@MGUXUCMPOTVX26[)[PDHSB[[_BGOH*STM[UYIJ=?;T2,MZPNG&MNBR]VNB]LQQ]1;T$XUCMPOTV\G@JK'fSykbp268Q5)NW_CD#JKA_R[MGZIR\VKOH_ \YOA\KPRXIMNY#NAZNU-@M979;=1^<"GPVHM,C@HX[PDHSB[[_@FGV+U^FJUDYYQNDEP,GJSI\&IB0?0<4:W3+LYQAF%LICQ\YOA\KPRXIMNY"^WAC^MVPZGCL[%HCX@[/BK?7;543\:$ERXFO.EFJZU^FJUDYYQNDEP-W\HDWF__SLJKR.ALQKR(L5:5?>5Z0.K\RLI(OLDT_T@L_NWW[DBCZ'YRBNQ@UU]B@AT(KF_EX"J31?10?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"M@UOV,@949;:1^<"GPVHM,C@HX[PDHSB[[_@FGV+U^FJUDYYQNDEP,GJSI\&N7?3=i;T2,MZPNG&MNBR]VNB]LQQYFLMX%_T@L_NWW[DBCZ&IDYCZ GZ2^*BhO&\UFYUMV3`9V4*OX^@E$KH@PSXL@[JSSWHNO^#]VNB]LQQYFLMX$OB[AT.EX4X(RWONYI>74U1-J[SOH'NOES^WAC^MVPZGCL[$XUCMPOTV\EABU'JE^BY!H[1_-QZJR\:h0Y=!F_WKL+BCIWZSEORAZT^CG@W(TQGITCXZPAEFQ+FIRF]%LW=S!U^ZLVF_4n2_;#DQYIN-DAKYTQGITCXZPAEFQ*V_IKVE^XROKDS-@KPHS'NQ:Q#IaH/W\IP^DQ:k0Y=!F_WKL+BCIWZSEORAZT^CG@W(TQGITCXZPAEFQ+FIRF]%LW3\:$ERXFO.EFJZU^FJUDYYQNDEP-W\HDWF__SLJKR.ALQKR(OR;V"XQCUU1a?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"M@UOV,C^7Z&\USC_MV3g9V4*OX^@E$KH@PSXL@[JSSWHNO^#]VNB]LQQYFLMX$OB[AT.EX6X(@fA$^S@[WCX1b?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"M@UOV,C^4Z&\UMH_K<9:W3+LYQAF%LICQ\YOA\KPRXIMNY"^WAC^MVPZGCL[%HCX@[/FY1Y+SXD\^8n6[?/H]UMJ)@MGUXUCMPOTV\EABU&ZSEORAZT^CG@W)DG\D_#JU=]/W\\JTDQ:k0Y=!F_WKL+BCIWZSEORAZT^CG@W(TQGITCXZPAEFQ+FIRF]%LW>S!U^DGV@5>3\:$ERXFO.EFJZU^FJUDYYQNDEP-W\HDWF__SLJKR.ALQKR(OR9V"XQCUU1a?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"M@UOV,C^5Z&\USC_MV329V4*OX^@E$KH@PSXL@[JSSWHNO^#]VNB]LQQYFLMX$OB[AT.Q?4;543\:$ERXFO.EFJZU^FJUDYYQNDEP-W\HDWF__SLJKR.ALQKR([5;5?>5Z0.K\RLI(OLDT_T@L_NWW[DBCZ'YRBNQ@UU]B@AT(KF_EX"]32?10?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"M@UOV,W959;81^<"GPVHM,C@HX[PDHSB[[_@FGV+U^FJUDYYQNDEP,@I_6W[OL?<5Z0.K\RLI(OLDT_T@L_NWW[DBCZ'YRBNQ@UU]B@AT(LES9S_KH2g9V4*OX^@E$KH@PSXL@[JSSWHNO^#]VNB]LQQYFLMX$@XZPCD13?P6(AV\BC"IJN^QZJFYH]]UJHI\!SXL@[JSSWHNO^"BZT^MVP67<]9%BS[G@/FGM[V_IKVE^XROKDS,P]KEXG\^TMIJ]/`pn[aj~9:;0Y=!F_WKL+BCIWZSEORAZT^CG@W(TQGITCXZPAEFQ+dtjWmfr>?h4U1-J[SOH'NOES^WAC^MVPZGCL[$XUCMPOTV\EABU'jdSnk<2:W3+LYQAF%LICQ\YOA\KPRXIMNY"^WAC^MVPZGCL[%hbyQ}ergw65=R8&CTZDA GDL\PWGI['_TM_C U^AOADT6n2_;#DQYIN-DAKYSZHDX"XQNRL-V[AIR\;:0Y=!F_WKL+BCIW]XJB^ Z_@PN+PYCG\^;>=5Z0.K\RLI(OLDTX_OAS/W\EWK(]VNDYY?=c:W3+LYQAF%LICQ[R@LP*PYFZD%^SJKA_EGOE\]6U'_TJI>378Q5)NW_CD#JKA_UPBJV(RWHXF#dJ@UU]gh|:76;?0Y=!F_WKL+BCIW]XJB^ Z_@PN+lBH]]Uo`t2>>2;8Q5)NW_CD#JKA_TRGEQCXG\^P==>R.TRGEQCXKLFG#JKA_BNH*PUBZVXNK><4U1-J[SOH'NOESX^KAUG\KPR\99:V"X^KAUG\G@JK'ZBBJYQ]EF1:?P6(AV\BC"IJN^WS@DRBWF__W<>>]/WS@DRBWJOG@"IJN^AOO+STM[UYIJ==;T2,MZPNG&MNBR[_D@VF[JSSS8::Q#[_D@VF[FCKD&YCEKZPRDE0=>S7'@U]EB!HEO]VTAGSMVE^XV??2\,VTAGSMVIN@A!HEO]@HN(R[LXT^HI<2:W3+LYQAF%LICQZPECWAZIR\R;;>P ZPECWAZEBDE%XDDH[_SGD7<=R8&CTZDA GDL\QUBF\LUDYYU>02_-QUBF\LUHIAB GDL\GIM)]ZOYS_KH339V4*OX^@E$KH@PUQFBP@YH]]Q:<>S!UQFBP@YDMEF$_EGIT^PFC6?<]9%BS[G@/FGM[PVCI]OTCXZT116^*PVCI]OTOHBC/FGM[FJL&\YN^R\JG208Q5)NW_CD#JKA_TRGEQCXG\^P==:R.TRGEQCXKLFG#^FFFU]QAB5>3\:$ERXFO.EFJZSWLH^NSB[[[026Y+SWLH^NSNKCL.EFJZEKC'_XI_Q]EF11?P6(AV\BC"IJN^WS@DRBWF__W<>:]/WS@DRBWJOG@"]GIGV\V@A412_;#DQYIN-DAKYRXMK_IRAZTZ332X(RXMK_IRMJLM-DAKYDDB$^_H\PRDE06>S7'@U]EB!HEO]VTAGSMVE^XV??6\,VTAGSMVIN@A!\HHDW[WC@;01^<"GPVHM,C@HX]YNJXHQ@UUY242[)]YNJXHQLEMN,C@HXKEA%Y^K]_SGD77=R8&CTZDA GDL\QUBF\LUDYYU>06_-QUBF\LUHIAB SIKEPZTBO:30Y=!F_WKL+BCIW\ZOMYKPOTVX55>Z&\ZOMYKPCDNO+BCIWJF@"X]JR^PFC64<]9%BS[G@/FGM[PVCI]OTCXZT11:^*PVCI]OTOHBC/RJJBQYUMN927X> I^TJK*ABFV_[HLZJ_NWW_46>U'_[HLZJ_BGOH*ABFVIGG#[\ES]QAB553\:$ERXFO.EFJZSWLH^NSB[[[02:Y+SWLH^NSNKCL.QKMCRXZLM856[?/H]UMJ)@MGU^\IO[E^MVP^768T$^\IO[E^AFHI)@MGUH@F ZSDP\V@A4:2_;#DQYIN-DAKYRXMK_IRAZTZ324X(RXMK_IRMJLM-PLL@SW[OL?45Z0.K\RLI(OLDTY]JNTD]LQQ]698W%Y]JNTD]@AIJ(OLDTOAE!URGQ[WC@;;1^<"GPVHM,C@HX]YNJXHQ@UUY254[)]YNJXHQLEMN,WMOA\VXNK>74U1-J[SOH'NOESX^KAUG\KPR\988V"X^KAUG\G@JK'NOESNBD.TQFVZTBO:80Y=!F_WKL+BCIW\ZOMYKPOTVX544Z&\ZOMYKPCDNO+VNNN]UYIJ=6;T2,MZPNG&MNBR[_D@VF[JSSS8;8Q#[_D@VF[FCKD&MNBRMCK/WPAWYUMN997X> I^TJK*ABFV_[HLZJ_NWW_474U'_[HLZJ_BGOH*UOAO^T^HI<9:W3+LYQAF%LICQZPECWAZIR\R;:8P ZPECWAZEBDE%LICQLLJ,VW@TXZLM8>6[?/H]UMJ)@MGU^\IO[E^MVP^76<4U1-J[SOH'NOESX^KAUG\KPR\98S7'@U]EB!HEO]VTAGSMVE^XV?>8\,VTAGSMVIN@A!HEO]@HN(R[LXT^HI<2:W3+LYQAF%LICQZPECWAZIR\R;:4P ZPECWAZEBDE%XDDH[_SGD7<=R8&CTZDA GDL\QUBF\LUDYYU>18_-QUBF\LUHIAB GDL\GIM)]ZOYS_KH339V4*OX^@E$KH@PUQFBP@YH]]Q:=4S!UQFBP@YDMEF$_EGIT^PFC6?<]9%BS[G@/FGM[PVCI]OTCXZT132^*PVCI]OTOHBC/FGM[FJL&\YN^R\JG208Q5)NW_CD#JKA_TRGEQCXG\^P=?>R.TRGEQCXKLFG#^FFFU]QAB5>3\:$ERXFO.EFJZSWLH^NSB[[[002Y+SWLH^NSNKCL.EFJZEKC'_XI_Q]EF11?P6(AV\BC"IJN^WS@DRBWF__W<<>]/WS@DRBWJOG@"]GIGV\V@A412_;#DQYIN-DAKYRXMK_IRAZTZ316X(RXMK_IRMJLM-DAKYDDB$^_H\PRDE06>S7'@U]EB!HEO]VTAGSMVE^XV?=2\,VTAGSMVIN@A!\HHDW[WC@;01^<"GPVHM,C@HX]YNJXHQ@UUY266[)]YNJXHQLEMN,C@HXKEA%Y^K]_SGD77=R8&CTZDA GDL\QUBF\LUDYYU>22_-QUBF\LUHIAB SIKEPZTBO:30Y=!F_WKL+BCIW\ZOMYKPOTVX572Z&\ZOMYKPCDNO+BCIWJF@"X]JR^PFC64<]9%BS[G@/FGM[PVCI]OTCXZT136^*PVCI]OTOHBC/RJJBQYUMN927X> I^TJK*ABFV_[HLZJ_NWW_442U'_[HLZJ_BGOH*ABFVIGG#[\ES]QAB553\:$ERXFO.EFJZSWLH^NSB[[[006Y+SWLH^NSNKCL.QKMCRXZLM856[?/H]UMJ)@MGU^\IO[E^MVP^75>T$^\IO[E^AFHI)@MGUH@F ZSDP\V@A4:2_;#DQYIN-DAKYRXMK_IRAZTZ312X(RXMK_IRMJLM-PLL@SW[OL?45Z0.K\RLI(OLDTY]JNTD]LQQ]6:>W%Y]JNTD]@AIJ(OLDTOAE!URGQ[WC@;;1^<"GPVHM,C@HX]YNJXHQ@UUY262[)]YNJXHQLEMN,WMOA\VE^X><4U1-J[SOH'NOESX^KAUG\KPR\9;=V"X^KAUG\G@JK'ZBBJYQ]EF1a?P6(AV\BC"IJN^WS@DRBWF__W;:R.TRGEQCXKLFG#JKA_OM\GIM)]ZOYS_KH309V4*OX^@E$KH@PUQFBP@YH]]Q=8P ZPECWAZEBDE%XDDH[_SGD7g=R8&CTZDA GDL\QUBF\LUDYYU95\,VTAGSMVIN@A!HEO]MKZEKC'_XI_Q]EF12?P6(AV\BC"IJN^WS@DRBWF__W;;R.TRGEQCXKLFG#^FFFU]QAB5e3\:$ERXFO.EFJZSWLH^NSB[[[74^*PVCI]OTOHBC/FGM[KIXKEA%Y^K]_SGD74=R8&CTZDA GDL\QUBF\LUDYYU96\,VTAGSMVIN@A!\HHDW[WC@;k1^<"GPVHM,C@HX]YNJXHQ@UUY53X(RXMK_IRMJLM-DAKYIGVIGG#[\ES]QAB563\:$ERXFO.EFJZSWLH^NSB[[[75^*PVCI]OTOHBC/RJJBQYUMN9i7X> I^TJK*ABFV_[HLZJ_NWW_3>Z&\ZOMYKPCDNO+BCIWGETOAE!URGQ[WC@;81^<"GPVHM,C@HX]YNJXHQ@UUY5 I^TJK*ABFV_[HLZJ_NWW_3?Z&\ZOMYKPCDNO+VNNN]UYIJ=m;T2,MZPNG&MNBR[_D@VF[JSSS>:V"X^KAUG\G@JK'NOESCAPCMI-QVCUW[OL?<5Z0.K\RLI(OLDTY]JNTD]LQQ]08T$^\IO[E^AFHI)T@@L_S_KH3c9V4*OX^@E$KH@PUQFBP@YH]]Q<=P ZPECWAZEBDE%LICQAO^AOO+STM[UYIJ=>;T2,MZPNG&MNBR[_D@VF[JSSS>;V"X^KAUG\G@JK'ZBBJYQ]EF1a?P6(AV\BC"IJN^WS@DRBWF__W:P ZPECWAZEBDE%XDDH[_SGD7g=R8&CTZDA GDL\QUBF\LUDYYU83\,VTAGSMVIN@A!HEO]MKZEKC'_XI_Q]EF12?P6(AV\BC"IJN^WS@DRBWF__W:=R.TRGEQCXKLFG#^FFFU]QAB5e3\:$ERXFO.EFJZSWLH^NSB[[[66^*PVCI]OTOHBC/FGM[KIXKEA%Y^K]_SGD74=R8&CTZDA GDL\QUBF\LUDYYU84\,VTAGSMVIN@A!\HHDW[WC@;k1^<"GPVHM,C@HX]YNJXHQ@UUY41X(RXMK_IRMJLM-DAKYIGVIGG#[\ES]QAB563\:$ERXFO.EFJZSWLH^NSB[[[67^*PVCI]OTOHBC/RJJBQYUMN9i7X> I^TJK*ABFV_[HLZJ_NWW_20Z&\ZOMYKPCDNO+BCIWGETOAE!URGQ[WC@;81^<"GPVHM,C@HX]YNJXHQ@UUY42X(RXMK_IRMJLM-PLL@SW[OL?o5Z0.K\RLI(OLDTY]JNTD]LQQ]0?T$^\IO[E^AFHI)@MGUECRMCK/WPAWYUMN9:7X> I^TJK*ABFV_[HLZJ_NWW_21Z&\ZOMYKPCDNO+VNNN]UYIJ=m;T2,MZPNG&MNBR[_D@VF[JSSS>2V"X^KAUG\G@JK'NOESCAPCMI-QVCUW[OL?<5Z0.K\RLI(OLDTY]JNTD]LQQ]00T$^\IO[E^AFHI)T@@L_S_KH3c9V4*OX^@E$KH@PUQFBP@YH]]Q<5P ZPECWAZEBDE%LICQAO^AOO+STM[UYIJ=>;T2,MZPNG&MNBR[_D@VF[JSSS>3V"X^KAUG\G@JK'ZBBJYQ]EF1a?P6(AV\BC"IJN^WS@DRBWF__W5>R.TRGEQCXKLFG#JKA_OM\GIM)]ZOYS_KH309V4*OX^@E$KH@PUQFBP@YH]]Q3

I^TJK*ABFV_[HLZJ_NWW_=2Z&\ZOMYKPCDNO+BCIWGETOAE!URGQ[WC@;81^<"GPVHM,C@HX]YNJXHQ@UUY;0X(RXMK_IRMJLM-PLL@SW[OL?o5Z0.K\RLI(OLDTY]JNTD]LQQ]?=T$^\IO[E^AFHI)@MGUECRMCK/WPAWYUMN9:7X> I^TJK*ABFV_[HLZJ_NWW_=3Z&\ZOMYKPCDNO+VNNN]UYIJ=m;T2,MZPNG&MNBR[_D@VF[JSSS1T$^\IO[E^AFHI)T@@L_S_KH3c9V4*OX^@E$KH@PUQFBP@YH]]Q3;P ZPECWAZEBDE%LICQAO^AOO+STM[UYIJ=>;T2,MZPNG&MNBR[_D@VF[JSSS1=V"X^KAUG\G@JK'ZBBJYQ]EF1a?P6(AV\BC"IJN^WS@DRBWF__W56R.TRGEQCXKLFG#JKA_OM\GIM)]ZOYS_KH309V4*OX^@E$KH@PUQFBP@YH]]Q34P ZPECWAZEBDE%XDDH[_SGD7g=R8&CTZDA GDL\QUBF\LUDYYU79\,VTAGSMVIN@A!HEO]MKZEKC'_XI_Q]EF12?P6(AV\BC"IJN^WS@DRBWF__W57R.TRGEQCXKLFG#^FFFU]QAB5e3\:$ERXFO.EFJZSWLH^NSB[[[82^*PVCI]OTOHBC/FGM[KIXKEA%Y^K]_SGD74=R8&CTZDA GDL\QUBF\LUDYYU60\,VTAGSMVIN@A!\HHDW[WC@;k1^<"GPVHM,C@HX]YNJXHQ@UUY:5X(RXMK_IRMJLM-DAKYIGVIGG#[\ES]QAB563\:$ERXFO.EFJZSWLH^NSB[[[83^*PVCI]OTOHBC/RJJBQYUMN9i7X> I^TJK*ABFV_[HLZJ_NWW_<4Z&\ZOMYKPCDNO+BCIWGETOAE!URGQ[WC@;81^<"GPVHM,C@HX]YNJXHQ@UUY:6X(RXMK_IRMJLM-PLL@SW[OL?o5Z0.K\RLI(OLDTY]JNTD]LQQ]>;T$^\IO[E^AFHI)@MGUECRMCK/WPAWYUMN9:7X> I^TJK*ABFV_[HLZJ_NWW_<5Z&\ZOMYKPCDNO+VNNN]UYIJ=m;T2,MZPNG&MNBR[_D@VF[JSSS0>V"X^KAUG\G@JK'NOESCAPCMI-QVCUW[OL?<5Z0.K\RLI(OLDTY]JNTD]LQQ]>;T2,MZPNG&MNBR[_D@VF[JSSS0?V"X^KAUG\G@JK'ZBBJYQ]EF1;?P6(AV\BC"IJN^WS@DRBWF__W48R.TRGEQCXKLFG#JKA_BNH*PUBZVXNK>?4U1-J[SOH'NOESX^KAUG\KPR\1?W%Y]JNTD]@AIJ([ACMXR\JG2:8Q5)NW_CD#JKA_TRGEQCXG\^P5:S!UQFBP@YDMEF$KH@PCMI-QVCUW[OL?<5Z0.K\RLI(OLDTY]JNTD]LQQ]>?T$^\IO[E^AFHI)T@@L_S_KH399V4*OX^@E$KH@PUQFBP@YH]]Q24P ZPECWAZEBDE%LICQLLJ,VW@TXZLM8=6[?/H]UMJ)@MGU^\IO[E^MVP^??U'_[HLZJ_BGOH*UOAO^T^HI<8:W3+LYQAF%LICQZPECWAZIR\R32Q#[_D@VF[FCKD&MNBRMCK/WPAWYUMN9:7X> I^TJK*ABFV_[HLZJ_NWW_8:W3+LYQAF%BB][[_RJJBQ:6;7;37X> I^TJK*OIX\^T_EGIT=37:4><]9%BS[G@/HLSQQYT@@L_0<;1199V4*OX^@E$EC^ZT^QKMCR;9?4:46[?/H]UMJ)NFY__S^FFFU>23;7?3\:$ERXFO.KMTPRX[ACMX1?7>0:8Q5)NW_CD#D@_UU]PLL@S4835=:5Z0.K\RLI(AGZ^XR]GIGV?5;7?3\:$ERXFO.KMTPRX[ACMX10:8Q5)NW_CD#D@_UU]PLL@S4;;5=55Z0.K\RLI(AGZ^XR]GIGV?678602_;#DQYIN-JJUSSWZBBJY2=3?3;?P6(AV\BC"GAPTV\WMOA\58?2<64U1-J[SOH'@D[YYQ\HHDW8739911^<"GPVHM,MKVR\VYCEKZ327<2<>S7'@U]EB!FNQWW[VNNN]69;3?7;T2,MZPNG&CE\XZPSIKEP94?6820Y=!F_WKL+LHW]]UXDDH[<3;=52=R8&CTZDA IORVPZUOAO^7>3?7;T2,MZPNG&CE\XZPSIKEP9576820Y=!F_WKL+LHW]]UXDDH[<23=5==R8&CTZDA IORVPZUOAO^7??0>8:W3+LYQAF%BB][[_RJJBQ:4;7;37X> I^TJK*OIX\^T_EGIT=17:4><]9%BS[G@/HLSQQYT@@L_0>;1199V4*OX^@E$EC^ZT^QKMCR;;?4:46[?/H]UMJ)NFY__S^FFFU>03;7?3\:$ERXFO.KMTPRX[ACMX1=7>0:8Q5)NW_CD#D@_UU]PLL@S4:35=:5Z0.K\RLI(AGZ^XR]GIGV?7;7?3\:$ERXFO.KMTPRX[ACMX1:?>0:8Q5)NW_CD#D@_UU]PLL@S4=;5=55Z0.K\RLI(AGZ^XR]GIGV?078602_;#DQYIN-JJUSSWZBBJY2;3?3;?P6(AV\BC"GAPTV\WMOA\5>?2<64U1-J[SOH'@D[YYQ\HHDW8139911^<"GPVHM,MKVR\VYCEKZ347<2<>S7'@U]EB!FNQWW[VNNN]6?;3?7;T2,MZPNG&CE\XZPSIKEP92?6820Y=!F_WKL+LHW]]UXDDH[<5;=52=R8&CTZDA IORVPZUOAO^783?7;T2,MZPNG&CE\XZPSIKEP9376820Y=!F_WKL+LHW]]UXDDH[<43=5==R8&CTZDA IORVPZUOAO^79?0>8:W3+LYQAF%BB][[_RJJBQ:2;7;37X> I^TJK*OIX\^T_EGIT=77:4><]9%BS[G@/HLSQQYT@@L_08;1199V4*OX^@E$EC^ZT^QKMCR;=?4:46[?/H]UMJ)NFY__S^FFFU>63;7?3\:$ERXFO.KMTPRX[ACMX1;7>0:8Q5)NW_CD#D@_UU]PLL@S4<35=:5Z0.K\RLI(AGZ^XR]GIGV?1;7?3\:$ERXFO.KMTPRX[ACMX18?>0:8Q5)NW_CD#D@_UU]PLL@S4?;5=55Z0.K\RLI(AGZ^XR]GIGV?278602_;#DQYIN-JJUSSWZBBJY293?3;?P6(AV\BC"GAPTV\WMOA\5058Q5)NW_CD#D@_UU]PLL@S414:;6[?/H]UMJ)NFY__S^FFFU>::4g<]9%BS[G@/NWWTPRX[ACMX1??0?3b?P6(AV\BC"AZTQWW[VNNN]6:<<0>a:W3+LYQAF%DYY^ZT^QKMCR;9985=l5Z0.K\RLI(G\^[YYQ\HHDW846468k0Y=!F_WKL+JSSX\^T_EGIT=330;7f3\:$ERXFO.MVPUSSWZBBJY2>04<2e>S7'@U]EB!@UURVPZUOAO^7==811`9V4*OX^@E$CXZ_UU]PLL@S48:<2 I^TJK*IR\Y__S^FFFU>24<8612_;#DQYIN-LQQVR\VYCEKZ311<2e>S7'@U]EB!@UURVPZUOAO^7=<>11`9V4*OX^@E$CXZ_UU]PLL@S48;:2 I^TJK*IR\Y__S^FFFU>25686i2_;#DQYIN-LQQVR\VYCEKZ3106=5d=R8&CTZDA OTVSQQYT@@L_00c8Q5)NW_CD#B[[PTV\WMOA\5;::3?n;T2,MZPNG&E^X][[_RJJBQ:69>4:m6[?/H]UMJ)H]]Z^XR]GIGV?54>99h1^<"GPVHM,KPRW]]UXDDH[<03::4?<]9%BS[G@/NWWTPRX[ACMX1?>>0c8Q5)NW_CD#B[[PTV\WMOA\5;9<3?n;T2,MZPNG&E^X][[_RJJBQ:6:84:m6[?/H]UMJ)H]]Z^XR]GIGV?57499h1^<"GPVHM,KPRW]]UXDDH[<000:4g<]9%BS[G@/NWWTPRX[ACMX1?=4?3b?P6(AV\BC"AZTQWW[VNNN]6:>80>a:W3+LYQAF%DYY^ZT^QKMCR;9;<5=l5Z0.K\RLI(G\^[YYQ\HHDW84406830Y=!F_WKL+JSSX\^T_EGIT=31:4?<]9%BS[G@/NWWTPRX[ACMX1?<>0;8Q5)NW_CD#B[[PTV\WMOA\5;?2<74U1-J[SOH'F__\XZPSIKEP9726830Y=!F_WKL+JSSX\^T_EGIT=35:4?<]9%BS[G@/NWWTPRX[ACMX1?8>0;8Q5)NW_CD#B[[PTV\WMOA\5;32<74U1-J[SOH'F__\XZPSIKEP97>6820Y=!F_WKL+JSSX\^T_EGIT=3=5<=R8&CTZDA OTVSQQYT@@L_0?>1189V4*OX^@E$CXZ_UU]PLL@S4;;5=45Z0.K\RLI(G\^[YYQ\HHDW8749901^<"GPVHM,KPRW]]UXDDH[<31=5<=R8&CTZDA OTVSQQYT@@L_0?:1189V4*OX^@E$CXZ_UU]PLL@S4;?5=45Z0.K\RLI(G\^[YYQ\HHDW8709901^<"GPVHM,KPRW]]UXDDH[<35=5<=R8&CTZDA OTVSQQYT@@L_0?61189V4*OX^@E$CXZ_UU]PLL@S4;35=55Z0.K\RLI(G\^[YYQ\HHDW878612_;#DQYIN-LQQVR\VYCEKZ331<2=>S7'@U]EB!@UURVPZUOAO^7?<0>9:W3+LYQAF%DYY^ZT^QKMCR;;;4:56[?/H]UMJ)H]]Z^XR]GIGV?768612_;#DQYIN-LQQVR\VYCEKZ335<2=>S7'@U]EB!@UURVPZUOAO^7?80>9:W3+LYQAF%DYY^ZT^QKMCR;;?4:56[?/H]UMJ)H]]Z^XR]GIGV?728612_;#DQYIN-LQQVR\VYCEKZ339<2=>S7'@U]EB!@UURVPZUOAO^7?40>8:W3+LYQAF%DYY^ZT^QKMCR;;7;27X> I^TJK*IR\Y__S^FFFU>74;7>3\:$ERXFO.MVPUSSWZBBJY2;1?3:?P6(AV\BC"AZTQWW[VNNN]6?>3?6;T2,MZPNG&E^X][[_RJJBQ:3;7;27X> I^TJK*IR\Y__S^FFFU>70;7>3\:$ERXFO.MVPUSSWZBBJY2;5?3:?P6(AV\BC"AZTQWW[VNNN]6?:3?6;T2,MZPNG&E^X][[_RJJBQ:3?7;27X> I^TJK*IR\Y__S^FFFU>7<;7>3\:$ERXFO.MVPUSSWZBBJY2;9?3;?P6(AV\BC"AZTQWW[VNNN]6?2<74U1-J[SOH'F__\XZPSIKEP9376830Y=!F_WKL+JSSX\^T_EGIT=72:4?<]9%BS[G@/NWWTPRX[ACMX1;=>0;8Q5)NW_CD#B[[PTV\WMOA\5?82<74U1-J[SOH'F__\XZPSIKEP9336830Y=!F_WKL+JSSX\^T_EGIT=76:4?<]9%BS[G@/NWWTPRX[ACMX1;9>0;8Q5)NW_CD#B[[PTV\WMOA\5?<2<74U1-J[SOH'F__\XZPSIKEP93?6830Y=!F_WKL+JSSX\^T_EGIT=7::4><]9%BS[G@/NWWTPRX[ACMX1;1189V4*OX^@E$CXZ_UU]PLL@S4?:5=45Z0.K\RLI(G\^[YYQ\HHDW8379901^<"GPVHM,KPRW]]UXDDH[<70=5<=R8&CTZDA OTVSQQYT@@L_0;=1189V4*OX^@E$CXZ_UU]PLL@S4?>5=45Z0.K\RLI(G\^[YYQ\HHDW8339901^<"GPVHM,KPRW]]UXDDH[<74=5<=R8&CTZDA OTVSQQYT@@L_0;91189V4*OX^@E$CXZ_UU]PLL@S4?25=45Z0.K\RLI(G\^[YYQ\HHDW83?9911^<"GPVHM,KPRW]]UXDDH[<7<2=>S7'@U]EB!@UURVPZUOAO^7;=0>9:W3+LYQAF%DYY^ZT^QKMCR;?84:56[?/H]UMJ)H]]Z^XR]GIGV?378612_;#DQYIN-LQQVR\VYCEKZ372<2=>S7'@U]EB!@UURVPZUOAO^7;90>9:W3+LYQAF%DYY^ZT^QKMCR;?<4:56[?/H]UMJ)H]]Z^XR]GIGV?338612_;#DQYIN-LQQVR\VYCEKZ376<2=>S7'@U]EB!@UURVPZUOAO^7;50>9:W3+LYQAF%DYY^ZT^QKMCR;?04:46[?/H]UMJ)H]]Z^XR]GIGV?3;7>3\:$ERXFO.MVPUSSWZBBJY270?3:?P6(AV\BC"AZTQWW[VNNN]63=3?6;T2,MZPNG&E^X][[_RJJBQ:?:7;27X> I^TJK*IR\Y__S^FFFU>;7;7>3\:$ERXFO.MVPUSSWZBBJY274?3:?P6(AV\BC"AZTQWW[VNNN]6393?6;T2,MZPNG&E^X][[_RJJBQ:?>7;27X> I^TJK*IR\Y__S^FFFU>;3;7>3\:$ERXFO.MVPUSSWZBBJY278?3:?P6(AV\BC"AZTQWW[VNNN]6353?7;T2,MZPNG&E^X][[_RJJBQ:?6830Y=!F_WKL+JSSX\^T_EGIT=;3:4?<]9%BS[G@/NWWTPRX[ACMX17>>0;8Q5)NW_CD#B[[PTV\WMOA\5392<74U1-J[SOH'F__\XZPSIKEP9?46830Y=!F_WKL+JSSX\^T_EGIT=;7:4?<]9%BS[G@/NWWTPRX[ACMX17:>0;8Q5)NW_CD#B[[PTV\WMOA\53=2<74U1-J[SOH'F__\XZPSIKEP9?06830Y=!F_WKL+JSSX\^T_EGIT=;;:4?<]9%BS[G@/NWWTPRX[ACMX176>0:8Q5)NW_CD#B[[PTV\WMOA\535i6[?/H]UMJ)UMZO_=?5Z0.K\RLI([]K_SIAZT008Q5)NW_CD#X^KAUG?4;743\:$ERXFO.WS@DRB48:5=>5Z0.K\RLI(]YNJXH2>1?30?P6(AV\BC"[_D@VF84499:1^<"GPVHM,QUBF\L6:?3?<;T2,MZPNG&_[HLZJ<06=56=R8&CTZDA UQFBP@:6=7;87X> I^TJK*SWLH^N0<81129V4*OX^@E$Y]JNTD>23;743\:$ERXFO.WS@DRB4825=>5Z0.K\RLI(]YNJXH2>9?31?P6(AV\BC"[_D@VF8486;2_;#DQYIN-VTAGSM58;2<=4U1-J[SOH'\ZOMYK320<27>S7'@U]EB!ZPECWA9456890Y=!F_WKL+PVCI]O7>>0>3:W3+LYQAF%^\IO[E=07:45<]9%BS[G@/TRGEQC;:<4:?6[?/H]UMJ)RXMK_I1<9>018Q5)NW_CD#X^KAUG?6286;2_;#DQYIN-VTAGSM5832<=4U1-J[SOH'\ZOMYK328<26>S7'@U]EB!ZPECWA9499:1^<"GPVHM,QUBF\L68<3?<;T2,MZPNG&_[HLZJ<23=56=R8&CTZDA UQFBP@:4:7;87X> I^TJK*SWLH^N0>=1129V4*OX^@E$Y]JNTD>00;743\:$ERXFO.WS@DRB4:?5=>5Z0.K\RLI(]YNJXH2<6?30?P6(AV\BC"[_D@VF86199:1^<"GPVHM,QUBF\L6843?<;T2,MZPNG&_[HLZJ<2;=57=R8&CTZDA UQFBP@:46890Y=!F_WKL+PVCI]O78=0>3:W3+LYQAF%^\IO[E=62:45<]9%BS[G@/TRGEQC;<;4:?6[?/H]UMJ)RXMK_I1:<>018Q5)NW_CD#X^KAUG?0186;2_;#DQYIN-VTAGSM5>>2<=4U1-J[SOH'\ZOMYK347<27>S7'@U]EB!ZPECWA9206890Y=!F_WKL+PVCI]O7850>3:W3+LYQAF%^\IO[E=6::44<]9%BS[G@/TRGEQC;<7;87X> I^TJK*SWLH^N08>1129V4*OX^@E$Y]JNTD>65;743\:$ERXFO.WS@DRB4<85=>5Z0.K\RLI(]YNJXH2:3?30?P6(AV\BC"[_D@VF80299:1^<"GPVHM,QUBF\L6>93?<;T2,MZPNG&_[HLZJ<44=56=R8&CTZDA UQFBP@:2?7;87X> I^TJK*SWLH^N0861129V4*OX^@E$Y]JNTD>6=;753\:$ERXFO.WS@DRB4<4:?6[?/H]UMJ)RXMK_I18?>018Q5)NW_CD#X^KAUG?2486;2_;#DQYIN-VTAGSM5<92<=4U1-J[SOH'\ZOMYK362<26>S7'@U]EB!ZPECWA9099;1^<"GPVHM,QUBF\L6<2<<4U1-J[SOH'\ZOMYK38?31?P6(AV\BC"[_D@VF8<86;2_;#DQYIN-V[AGSIVE^Xk5Z0.K\RLI(]VNDYY?n;T2,MZPNG&_T_YO[UR-@BBYDMVd956[?/H]UMJ)RWZ^JXX] F^QWEQ]7U'CT_YO[.T]PPDR512_;#DQYIN-V[VRF\\Y$JR][AUY2Y+OX[]K_"XQ\T@V1=>S7'@U]EB!Z_RVBPPU(NVY_MYU=]/K\WQGS&\UXXLZ=9:W3+LYQAF%^S^ZNTTQ,BZUSI]Q8Q#GPSUCW*PYT\H^956[?/H]UMJ)RWZ^JXX] F^QWEQ]3U'CT_YO[.T]PPDR512_;#DQYIN-V[VRF\\Y$JR][AUY6Y+OX[]K_"XQ\T@V1=>S7'@U]EB!Z_RVBPPU(NVY_MYU9]/K\WQGS&\UXXLZ=9:W3+LYQAF%^S^ZNTTQ,BZUSI]QS7'@U]EB!Z_RVBPPU(]VYFYU!Z_BQ\IP^(A=$^S@[W17-Nip~XG1;94>94U1-J[SOH'\UXXLZZS.W\WHS_'\UH_RCZX.K7*PYJ]Q;=#@czx^M;5324?2_;#DQYIN-V[VRF\\Y$YR]BUY-V[FUXE\R$E9 Z_LW[53)Je|rTC5<902`8Q5)NW_CD#XQ\T@VVW*SX[D_S#XQLS^OV\*O3&\UFYU?9/Lov|ZI?:?:T_Z><7:W3+LYQAF%^S^ZNTTQ,QZUJ]Q%^SN]PMTZ,M1(RWD_S=;!Bmtz\K=40?:=0Y=!F_WKL+PYT\H^^_"[PSLW[+PYD[VG^T"G;.T]NQ]71'Dg~tRA735402>S7'@U]EB!Z_RVBPPU(]VYFYU!Z_BQ\IP^(A=$^S@[W17-Nip~XG19>?:5Z0.K\RLI(]VY_MY[\/T]PIP^(]VIXS@[W/H6-QZKRP8<$A`{w_N:0=<503\:$ERXFO.W\WQGS]Z%^S^CZX.W\GVYJ]Q%B8#[PMTZ22*Kj}qUD49;=379V4*OX^@E$YR][AUWP+PYTE\R$YRM\_LW[+L2)]VG^T<8 Mlw{[J>09;80Y=!F_WKL+PYT\H^^_"[PSUCW[FHS'JC7=3<=;T2,MZPNG&_T_YO[UR-V[VRF\VIEX"MF<3<16>S7'@U]EB!Z_RVBPPU(]VY_MYQLNU-@M959:;1^<"GPVHM,QZUSI]_X#XQ\T@V\GKR(K@6?2?<4U1-J[SOH'\UXXLZZS.W\WQGSWJD_#NG35?01?P6(AV\BC"[PSUCWQV)RWZ^JXRMAT.AJ8385:2_;#DQYIN-V[VRF\\Y$YR][AU]@JQ)DA5=5><5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$H1>1209V4*OX^@E$YR][AUWP+PYT\H^TOCZ D=3=64=R8&CTZDA U^QWEQST'\UXXLZPCOV,@949:81^<"GPVHM,QZUSI]_X#XQ\T@V\GKR(L595><5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$H1:1209V4*OX^@E$YR][AUWP+PYT\H^TOCZ D=7=64=R8&CTZDA U^QWEQST'\UXXLZPCOV,@909:81^<"GPVHM,QZUSI]_X#XQ\T@V\GKR(L5=5>i5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$KV>R.FlK*PYJ]QIR>55Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$KV>R.T]E@WC5?2_;#DQYIN-V[VRF\\Y$YR][AU]@JQ)@S9W%YRBZT3;8Q5)NW_CD#XQ\T@VVW*SX[]K_SN@[/FY3Y+SXPFXHU?j4U1-J[SOH'\UXXLZZS.W\WQGSWJD_#JU>]/EmL+SXE\RHU?64U1-J[SOH'\UXXLZZS.W\WQGSWJD_#JU>]/W\BATB:>1^<"GPVHM,QZUSI]_X#XQ\T@V\GKR(OR;V"XQCUU0:?P6(AV\BC"[PSUCWQV)RWZ^JXRMAT.EX5X(RWQEYOTS7'@U]EB!Z_RVBPPU(]VY_MYQLNU-D_7[)]VRD^NW=d:W3+LYQAF%^S^ZNTTQ,QZUSI]UHBY!H[2_-CkN)]VG^TNW=8:W3+LYQAF%^S^ZNTTQ,QZUSI]UHBY!H[2_-QZ@CZL8<7X> I^TJK*SX[]K_Y^!Z_RVBPZEI\&MP?P Z_MWW6<=R8&CTZDA U^QWEQST'\UXXLZPCOV,C^5Z&\USC_MV2e9V4*OX^@E$YR][AUWP+PYT\H^TOCZ GZ6^*BhO&\UFYUMV299V4*OX^@E$YR][AUWP+PYT\H^TOCZ GZ6^*PYAL[O9;6[?/H]UMJ)RWZ^JXX] U^QWEQYDF]%LW9S!U^NVP7?<]9%BS[G@/T]PPDRR[&_T_YO[_BLW+B]3U'_TTB\LY3f8Q5)NW_CD#XQ\T@VVW*SX[]K_SN@[/FY6Y+Ai@'_TAXVLY3:8Q5)NW_CD#XQ\T@VVW*SX[]K_SN@[/FY6Y+SXNMXN>:5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$KV;R.T]OQQ4>3\:$ERXFO.W\WQGS]Z%^S^ZNT^AMP*A\=T$^SUA]CX0g?P6(AV\BC"[PSUCWQV)RWZ^JXRMAT.EX2X(@fA$^S@[WCX0;?P6(AV\BC"[PSUCWQV)RWZ^JXRMAT.EX2X(RWONYI?94U1-J[SOH'\UXXLZZS.W\WQGSWJD_#JU9]/W\HPR512_;#DQYIN-V[VRF\\Y$YR][AU]@JQ)@S?W%YRV@RB[1<>S7'@U]EB!Z_RVBPPU(]VY_MYQLNU-D_2[)]VLO^H<8;T2,MZPNG&_T_YO[UR-V[VRF\VIEX"IT7\,V[ISS:01^<"GPVHM,QZUSI]_X#XQ\T@V\GKR(OR=V"XQWOSAZ64=R8&CTZDA U^QWEQST'\UXXLZPCOV,W969:81^<"GPVHM,QZUSI]_X#XQ\T@V\GKR([5;5><5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$_1<1209V4*OX^@E$YR][AUWP+PYT\H^TOCZ S=1=64=R8&CTZDA U^QWEQST'\UXXLZPCOV,W929:81^<"GPVHM,QZUSI]_X#XQ\T@V\GKR([5?5><5Z0.K\RLI(]VY_MY[\/T]PPDRXKG^$_181209V4*OX^@E$YR][AUWP+PYT\H^TOCZ S=5=52=R8&CTZDA U^QWEQST'\U_HB?n;T2,MZPNG&_T_YO[UR-jWQGS494:m6[?/H]UMJ)RWZ^JXX] iRVBP9799h1^<"GPVHM,QZUSI]_X#d][AU>1:4g<]9%BS[G@/T]PPDRR[&cXXLZ33?3b?P6(AV\BC"[PSUCWQV)n[]K_090>a:W3+LYQAF%^S^ZNTTQ,mVRF\5?5=l5Z0.K\RLI(]VY_MY[\/hQWEQ:168k0Y=!F_WKL+PYT\H^^_"g\T@V?3;7b3\:$ERXFO.W\WQGS]Z%b_YO[_BLW8586m2_;#DQYIN-V[VRF\\Y$e^ZNT^AMP9799l1^<"GPVHM,QZUSI]_X#d][AU]@JQ:568o0Y=!F_WKL+PYT\H^^_"g\T@V\GKR;;7;n7X> I^TJK*SX[]K_Y^!fSUCW[FHS4=4:i6[?/H]UMJ)RWZ^JXX] iRVBPZEI\5?5=h5Z0.K\RLI(]VY_MY[\/hQWEQYDF]6=2028Q5)NW_CD#ljkr=3=55=R8&CTZDA aefq878682_;#DQYIN-b`at;;7897X> I^TJK*tb{l~TjRkkgd-J[M4K&\UOCXZ>d:W3+LYQAF%yi~k{_g]f`bc(]VNDYY>>d:W3+LYQAF%yi~k{_g]f`bc(]VNDYY?>e:W3+LYQAF%yi~k{_g]f`bc(aME^X1>11d9V4*OX^@E$~h}jt^d\aaab'`NDYY2>>b9VW@TX^@YBNAK<;WA@=>PNM^U_U]K>d:ZJHLH_%QNI,= > RVVF%6)9)KXODG:;YMQG\0bf|hU}eb<7;ecweZpng%ice}}loqg\rliX~8U;?Ro#NNLF(KIIM;io7io{a^tjk)eoayyhc}kPvhm\r4Y7;Vk'wnQwcn]omvr:Kfg{cckat^Lbi`;ci}kTzda4Eocah`YTqgic~b``ur]JjussWYeyx0z}ud9FjddkmVYrbnf}oomvwZIr|yS]a}t<4Sxl`lwiig|yTCxzuu]SkwrX_`nd0==;@qzjfnugge~RGaptv\TjtsW^coxe3<2:Cp}keozfddy~Q@uurvpZVhz}U\eizg=208Mkpbz}UH`bmd_Hlsqq;aieyn nQwddtjg``fe`fr1{g}tdz5(fYdg{oTxt~j=8.`[h``W`n6=!mPm`hlvZpbzzcdb0?>,b]nmkiuWoydaa=0.`[gsndmUyi{g|inl>4)eXkfxnS`oeos]uaw;6$jUhckPmhllvZpbz48'oRm`rd]nmkiuWhf{dlQyes?:3)eX{{f::Rzvpd?1(fYr{lUbb{Qllj?3(fYr{lUjt`l_hl>5)eX}zoTm~wac^mvp87+kVxiR}vnb]jj87+kVxiR}vnb]lqq;6$jUjt`l_hl\slbs`499 nQnsxl`[jssW~coxe3<2-a\w|hdW`dT{dj{h<11(fYtqgiTcxzPwhfwl855$t;:7um9vmz41q+an>2?!?sO@q0:g2=GHqi;>7H52;3xW=1=k9:15>4>33:g24<5kk>2wclie;38jg`a2<1/nkj5bg58yV072j:;64=5120;`37=:jh?j6jl0383>4<6sZ2<6n>?:819564?l?;1>nl;9:tWf1<7280:6;?7{R:4>f672091=><7d7396fd312.ij;46f:&b`?e7=2hh82pDoh;;%d:>f653S?368u8:98a><=n:j0;6)oi:3f8jdc=921b>l4?:%ce>7b65f2883>!ga2;n0blk53:9j6=<72-km6?j4n`g90>=n:>0;6)oi:3f8jdc==21b>;4?:%ce>7b!ga2;n0blk57:9j61<72-km6?j4n`g9<>=n::0;6)oi:3f8jdc=121b>?4?:%ce>7b!ga2;n0blk5b:9j5c<72-km6?j4n`g9g>=n9l0;6)oi:3f8jdc=l21b=i4?:%ce>7b!ga2;n0blk5f:9j5g<72-km6?j4n`g955=i5aad827>=n9>0;6)oi:3f8jdc=9=10e<850;&bb?4c3gkn6<;4;h16>5<#io09h6`ne;35?>o4<3:1(lh52e9me`<6?21b?>4?:%ce>7b5$`d96a=iil0:n65f2g83>!ga2;n0blk51b98m7d=83.jj74b<3`8;6=4+ag81`>hfm3;n76g>5;29 d`=:m1emh4>f:9jgc<72-km6nk4n`g94>=nkm0;6)oi:bg8jdc=921boo4?:%ce>fc65fc`83>!ga2jo0blk53:9jg<<72-km6nk4n`g90>=nk10;6)oi:bg8jdc==21bo:4?:%ce>fc!ga2jo0blk57:9jg0<72-km6nk4n`g9<>=nk=0;6)oi:bg8jdc=121bo>4?:%ce>fc!ga2jo0blk5b:9jg5<72-km6nk4n`g9g>=njo0;6)oi:bg8jdc=l21bnh4?:%ce>fc!ga2jo0blk5f:9jff<72-km6nk4n`g955==nj10;6)oi:bg8jdc=9=10eo950;&bb?eb3gkn6<;4;hf5>5<#io0hi6`ne;35?>oc=3:1(lh5cd9me`<6?21bh94?:%ce>fc5$`d9g`=iil0:n65fd183>!ga2jo0blk51b98mfe=83.jj7mj;ocf>4b<3`i:6=4+ag8`a>hfm3;n76gm6;29 d`=kl1emh4>f:9(3`<72-km6:j4n`g94>=,?j0;6)oi:6f8jdc=921 ;o4?:%ce>2b65$7`83>!ga2>n0blk53:9(3<<72-km6:j4n`g90>=,?10;6)oi:6f8jdc==21 ;;4?:%ce>2b!ga2>n0blk57:9(31<72-km6:j4n`g9<>=,?:0;6)oi:6f8jdc=121 ;?4?:%ce>2b!ga2>n0blk5b:9(35<72-km6:j4n`g9g>=,>o0;6)oi:6f8jdc=l21 :h4?:%ce>2b!ga2>n0blk5f:9(2g<72-km6:j4n`g955=<#?k1<7*nf;5g?kgb28;07&86:18'ec<0l2dji7?=;:)5=,>>0;6)oi:6f8jdc=9=10';850;&bb?1c3gkn6<;4;*46>5<#io0-1<3:1(lh57e9me`<6?21 :>4?:%ce>2b2290/mk48d:lba?7f32!387>5$`d93a=iil0:n65$8283>!ga2>n0blk51b98/=4=83.jj79k;ocf>4b<3"2:6=4+ag84`>hfm3;n76%70;29 d`=?m1emh4>f:9(32<72-km6:j4n`g964=<#?i1<7*nf;5g?kgb2;807&8>:18'ec<0l2dji7<<;:k6a?6=3f>m6=4+ag87a>hfm3:07b:k:18'ec<3m2dji7?4;n6a>5<#io0?i6`ne;08?j2f290/mk4;e:lba?5<3f>26=4+ag87a>hfm3>07b:7:18'ec<3m2dji7;4;n64>5<#io0?i6`ne;48?j21290/mk4;e:lba?1<3f>>6=4+ag87a>hfm3207b:;:18'ec<3m2dji774;n60>5<#io0?i6`ne;c8?j25290/mk4;e:lba?d<3f>;6=4+ag87a>hfm3i07b=i:18'ec<3m2dji7j4;n1f>5<#io0?i6`ne;g8?j5c290/mk4;e:lba?`<3f9h6=4+ag87a>hfm3;;76a1:9l7d<72-km69k4n`g957==h=?0;6)oi:5g8jdc=9?10c8;50;&bb?2b3gkn6<94;n77>5<#io0?i6`ne;3;?>i2;3:1(lh54d9me`<6121d9?4?:%ce>1cn7coj:0`8?j37290/mk4;e:lba?7d32e?o7>5$`d90`=iil0:h65`4083>!ga2=o0blk51d98k60=83.jj7:j;ocf>4`<3fl;6=4+ag8fb>hfm3:07bkj:18'ec5<#io0nj6`ne;08?jce290/mk4jf:lba?5<3foj6=4+ag8fb>hfm3>07bk6:18'ec5<#io0nj6`ne;48?jc0290/mk4jf:lba?1<3fo=6=4+ag8fb>hfm3207bk::18'ec5<#io0nj6`ne;c8?jc4290/mk4jf:lba?d<3fo:6=4+ag8fb>hfm3i07bk?:18'ec5<#io0nj6`ne;g8?jbb290/mk4jf:lba?`<3fno6=4+ag8fb>hfm3;;76akc;29 d`=mo1emh4>1:9l`g<72-km6hh4n`g957==hn>0;6)oi:dd8jdc=9?10ck850;&bb?ca3gkn6<94;nd6>5<#io0nj6`ne;3;?>ia<3:1(lh5eg9me`<6121dj>4?:%ce>``5$`d9ac=iil0:h65`e383>!ga2ll0blk51d98ka1=83.jj7ki;ocf>4`<3"=m6=4+ag84`>hfm38;76lmf`83>4<729q/j4462:Jab<=Ojo>0c4?50;9~fg`e290:6=4?{%d:>g`23Ahm56Fmf59lef<722wi5>m50;;94?6|,o31n85Gbg;8Lg`33-3i6<5f1183>>o693:17d?=:188m45=831b9o4?::k6a?6=3`236=44oc294?=hj80;66sm92f94?5=83:p(k75a09Kfc?<@kl?7)7m:d9j=0<722c2:7>5;nca>5<59;294~"a13h>7Eli9:Jab1=#1k0:7d??:188m47=831b=?4?::k27?6=3`?i6=44i4g94?=n010;66am0;29?jd62900qo7;2;297?6=8r.m57o>;I`e=>Nen=1/5o4j;h;6>5<>{e1=<1<7750;2x c?=j<1Cnk74Hcd7?!?e281b==4?::k25?6=3`;96=44i0194?=n=k0;66g:e;29?l>?2900co>50;9lf4<722wi59950;194?6|,o31m<5Gbg;8Lg`33-3i6h5f9483>>o>>3:17bom:188yg?3j3:157>50z&e=?d23Ahm56Fmf59'=g<63`;;6=44i0394?=n9;0;66g>3;29?l3e2900e8k50;9j<=<722ei<7>5;n`2>5<53;294~"a13k:7Eli9:Jab1=#1k0n7d7::188m<0=831dmo4?::a=06=8331<7>t$g;9f0=Ojo30Doh;;%;a>4=n990;66g>1;29?l752900e<=50;9j1g<722c>i7>5;h:;>5<>{e1<;1<7=50;2x c?=i81Cnk74Hcd7?!?e2l1b584?::k:2?6=3fki6=44}c;61?6=13:15;h7a>5<>ie83:17bl>:188yg?2>3:1?7>50z&e=?g63Ahm56Fmf59'=g6=44i8494?=hik0;66sm94c94??=83:p(k75b49Kfc?<@kl?7)7m:09j55<722c:=7>5;h31>5<>o2m3:17d67:188kg6=831dn<4?::a=0d=8391<7>t$g;9e4=Ojo30Doh;;%;a>`=n1<0;66g66;29?jge2900qo7:f;29=?6=8r.m57l:;I`e=>Nen=1/5o4>;h33>5<>o6;3:17d;m:188m0c=831b454?::ma4?6=3fh:6=44}c;54?6=;3:1>o693:17d?=:188m45=831b9o4?::k6a?6=3`236=44oc294?=hj80;66sm97794?5=83:p(k75a09Kfc?<@kl?7)7m:d9j=0<722c2:7>5;nca>5<59;294~"a13h>7Eli9:Jab1=#1k0:7d??:188m47=831b=?4?::k27?6=3`?i6=44i4g94?=n010;66am0;29?jd62900qo79a;297?6=8r.m57o>;I`e=>Nen=1/5o4j;h;6>5<>{e1?o1<7750;2x c?=j<1Cnk74Hcd7?!?e281b==4?::k25?6=3`;96=44i0194?=n=k0;66g:e;29?l>?2900co>50;9lf4<722wi5;h50;194?6|,o31m<5Gbg;8Lg`33-3i6h5f9483>>o>>3:17bom:188yg?0;3:157>50z&e=?d23Ahm56Fmf59'=g<63`;;6=44i0394?=n9;0;66g>3;29?l3e2900e8k50;9j<=<722ei<7>5;n`2>5<53;294~"a13k:7Eli9:Jab1=#1k0n7d7::188m<0=831dmo4?::a=2>=8331<7>t$g;9f0=Ojo30Doh;;%;a>4=n990;66g>1;29?l752900e<=50;9j1g<722c>i7>5;h:;>5<>{e1>31<7=50;2x c?=i81Cnk74Hcd7?!?e2l1b584?::k:2?6=3fki6=44}c;4`?6=13:15;h7a>5<>ie83:17bl>:188yg?0m3:1?7>50z&e=?g63Ahm56Fmf59'=g6=44i8494?=hik0;66sm99094??=83:p(k75b49Kfc?<@kl?7)7m:09j55<722c:=7>5;h31>5<>o2m3:17d67:188kg6=831dn<4?::a==5=8391<7>t$g;9e4=Ojo30Doh;;%;a>`=n1<0;66g66;29?jge2900qo777;29=?6=8r.m57l:;I`e=>Nen=1/5o4>;h33>5<>o6;3:17d;m:188m0c=831b454?::ma4?6=3fh:6=44}c;;>o693:17d?=:188m45=831b9o4?::k6a?6=3`236=44oc294?=hj80;66sm99f94?5=83:p(k75a09Kfc?<@kl?7)7m:d9j=0<722c2:7>5;nca>5<59;294~"a13h>7Eli9:Jab1=#1k0:7d??:188m47=831b=?4?::k27?6=3`?i6=44i4g94?=n010;66am0;29?jd62900qo762;297?6=8r.m57o>;I`e=>Nen=1/5o4j;h;6>5<>{e10<1<7750;2x c?=j<1Cnk74Hcd7?!?e281b==4?::k25?6=3`;96=44i0194?=n=k0;66g:e;29?l>?2900co>50;9lf4<722wi54950;194?6|,o31m<5Gbg;8Lg`33-3i6h5f9483>>o>>3:17bom:188yg?>j3:157>50z&e=?d23Ahm56Fmf59'=g<63`;;6=44i0394?=n9;0;66g>3;29?l3e2900e8k50;9j<=<722ei<7>5;n`2>5<53;294~"a13k:7Eli9:Jab1=#1k0n7d7::188m<0=831dmo4?::a=d6=8331<7>t$g;9f0=Ojo30Doh;;%;a>4=n990;66g>1;29?l752900e<=50;9j1g<722c>i7>5;h:;>5<>{e1h;1<7=50;2x c?=i81Cnk74Hcd7?!?e2l1b584?::k:2?6=3fki6=44}c;b1?6=13:15;h7a>5<>ie83:17bl>:188yg?f>3:1?7>50z&e=?g63Ahm56Fmf59'=g6=44i8494?=hik0;66sm9`c94??=83:p(k75b49Kfc?<@kl?7)7m:09j55<722c:=7>5;h31>5<>o2m3:17d67:188kg6=831dn<4?::a=dd=8391<7>t$g;9e4=Ojo30Doh;;%;a>`=n1<0;66g66;29?jge2900qo7nf;29=?6=8r.m57l:;I`e=>Nen=1/5o4>;h33>5<>o6;3:17d;m:188m0c=831b454?::ma4?6=3fh:6=44}c;a4?6=;3:1>o693:17d?=:188m45=831b9o4?::k6a?6=3`236=44oc294?=hj80;66sm9c794?5=83:p(k75a09Kfc?<@kl?7)7m:d9j=0<722c2:7>5;nca>5<59;294~"a13h>7Eli9:Jab1=#1k0:7d??:188m47=831b=?4?::k27?6=3`?i6=44i4g94?=n010;66am0;29?jd62900qo7ma;297?6=8r.m57o>;I`e=>Nen=1/5o4j;h;6>5<>{e1ko1<7750;2x c?=j<1Cnk74Hcd7?!?e281b==4?::k25?6=3`;96=44i0194?=n=k0;66g:e;29?l>?2900co>50;9lf4<722wi5oh50;194?6|,o31m<5Gbg;8Lg`33-3i6h5f9483>>o>>3:17bom:188yg?d;3:157>50z&e=?d23Ahm56Fmf59'=g<63`;;6=44i0394?=n9;0;66g>3;29?l3e2900e8k50;9j<=<722ei<7>5;n`2>5<53;294~"a13k:7Eli9:Jab1=#1k0n7d7::188m<0=831dmo4?::a=f>=8331<7>t$g;9f0=Ojo30Doh;;%;a>4=n990;66g>1;29?l752900e<=50;9j1g<722c>i7>5;h:;>5<>{e1j31<7=50;2x c?=i81Cnk74Hcd7?!?e2l1b584?::k:2?6=3fki6=44}c;``?6=13:15;h7a>5<>ie83:17bl>:188yg?dm3:1?7>50z&e=?g63Ahm56Fmf59'=g6=44i8494?=hik0;66sm9e094??=83:p(k75b49Kfc?<@kl?7)7m:09j55<722c:=7>5;h31>5<>o2m3:17d67:188kg6=831dn<4?::a=a5=8391<7>t$g;9e4=Ojo30Doh;;%;a>`=n1<0;66g66;29?jge2900qo7k7;29=?6=8r.m57l:;I`e=>Nen=1/5o4>;h33>5<>o6;3:17d;m:188m0c=831b454?::ma4?6=3fh:6=44}c;g>o>>3:17bom:188yg?a03:197>50z&e=?g43Ahm56Fmf59'=g6=44i8494?=n1>0;66g68;29?jge2900qo7ie;297?6=8r.m57o>;I`e=>Nen=1/5o4:;h;6>5<>{ej1o1<7:50;2x c?=i;1Cnk74Hcd7?!?e25;nca>5<o7>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th89i4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi?:<50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>9<:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=78;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl<8883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm39g94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`0=4<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a7<4=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f6?4290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg5><3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd41<0;694?:1y'b<57>5;h7a>5<>{e;0<1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:3<6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th8544?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi?4o50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>7m:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=:e;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl<5g83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm37294?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`026<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a732=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f602290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg51>3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4>>0;694?:1y'b<57>5;h7a>5<>{e;?21<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:<26=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th8:o4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi?;m50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>8k:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=9e;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl<6g83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm36294?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`030<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a720=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f610290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg5003:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4?00;694?:1y'b<57>5;h7a>5<>{e;>k1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:=i6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th8;i4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi?:k50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>9i:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=70;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl<8083>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm39094?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`0<0<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a7=0=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f6>0290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg5?i3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd40k0;694?:1y'b<57>5;h7a>5<>{e;1i1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:2o6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thij<4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722winhh50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vnl6::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoo74;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygg??3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xdf0?0;684?:1y'b<57>5;h7a>5<>ie83:17pln8883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sma9:94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{ei1h1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zjh2j6=4::183!`>21l0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ci>7>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thj5}#n003j6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9jf7<722ei<7>5;|`b55<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::ae5`=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wim<<50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vnl?>:186>5<7s-l265h4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?ld52900co>50;9~fd73290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188ygg6;3:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qoo>6;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pln1483>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xdf910;694?:1y'b<57>5;h7a>5<>{ei8=1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sma0c94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<2290;w)h6:9d8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<55;294~"a132m7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ka6?6=3fh;6=44}cc2a?6=<3:12900e8l50;9j<=<722ei<7>5;|`b5a<72<0;6=u+f88;b>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831bn?4?::ma4?6=3thj>=4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wim>o2j3:17d67:188mg4=831dn=4?::ae74=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~fd46290>6=4?{%d:>=`<@kl27Eli4:&:f?6>o?03:17dl=:188kg6=831vnl<;:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoo=3;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygg5>3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xdf:<0;684?:1y'b<57>5;h7a>5<>ie83:17pln2983>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sma3594?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{ei;k1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zjh826=4::183!`>21l0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ci>7>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thj>i4?:483>5}#n003j6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9jf7<722ei<7>5;|`b75<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::ae7`=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wim><50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vnl=>:186>5<7s-l265h4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?ld52900co>50;9~fd53290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188ygg4;3:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qoo<6;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pln3483>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xdf;10;694?:1y'b<57>5;h7a>5<>{ei:=1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sma2c94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<2290;w)h6:9d8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<55;294~"a132m7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ka6?6=3fh;6=44}cc0a?6=<3:12900e8l50;9j<=<722ei<7>5;|`b7a<72<0;6=u+f88;b>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831bn?4?::ma4?6=3thj8=4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wim>h50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::ae15=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~fd26290>6=4?{%d:>=`<@kl27Eli4:&:f?6>o?03:17dl=:188kg6=831vnl:::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoo;4;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygg3?3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xdf57>5;h7a>5<>ie83:17pln4883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sma5:94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{ei=h1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zjh>j6=4::183!`>21l0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ci>7>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thj8h4?:483>5}#n003j6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9jf7<722ei<7>5;|`b14<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::ae06=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wim8=50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vnl;=:186>5<7s-l265h4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?ld52900co>50;9~fd32290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188ygg2<3:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qoo:7;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pln5783>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xdf=00;694?:1y'b<57>5;h7a>5<>{ei<21<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sma4`94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<2290;w)h6:9d8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<o7>55;294~"a132m7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ka6?6=3fh;6=44}cc6b?6=<3:12900e8l50;9j<=<722ei<7>5;|`b1`<72<0;6=u+f88;b>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831bn?4?::ma4?6=3thj:<4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wim;>50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::ae35=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~fd05290>6=4?{%d:>=`<@kl27Eli4:&:f?6>o?03:17dl=:188kg6=831vnl8::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoo94;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygg1?3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xdf>?0;684?:1y'b<57>5;h7a>5<>ie83:17pln6883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sma7:94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{ei?h1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zjh21l0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ci>7>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thj:h4?:483>5}#n003j6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9jf7<722ei<7>5;|`b34<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::ae26=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wim:=50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vnl9=:186>5<7s-l265h4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?ld52900co>50;9~fd12290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188ygg0<3:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qoo87;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pln7783>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xdf?00;694?:1y'b<57>5;h7a>5<>{ei>21<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sma6`94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<2290;w)h6:9d8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<55;294~"a132m7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ka6?6=3fh;6=44}cc4b?6=<3:12900e8l50;9j<=<722ei<7>5;|`b3`<72<0;6=u+f88;b>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831bn?4?::ma4?6=3thj4<4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wim5>50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::ae=5=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~fd>5290>6=4?{%d:>=`<@kl27Eli4:&:f?6>o?03:17dl=:188kg6=831vn4=i:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo7;4;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl64883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm95g94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`:1a<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a=34=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f<00290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg?1k3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd>?80;694?:1y'b<57>5;h7a>5<>{e1><1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj0=i6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th2484?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi55o50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn46i:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo764;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl69883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm98g94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`:ea<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a=g4=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg?ek3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd>k80;694?:1y'b<57>5;h7a>5<>{e1j<1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj0ii6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th2h84?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi5io50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn4h9:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo7i7;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pln0583>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xdf890;684?:1y'b<57>5;h7a>5<>ie83:17pln0083>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xd>no0;694?:1y'b<57>5;h:;>5<>{ei991<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sma1094?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;5;nca>5<55;294~"a13k87Eli9:Jab1=#1k0>;6g65;29?l?12900e4950;9j==<722ejn7>5;|`a=7<72<0;6=u+f88b7>Nen01Cnk:4$8`92>o>=3:17d79:188m<1=831b554?::mbf?6=3thi5>4?:483>5}#n00j?6Fmf89Kfc2<,0h186g65;29?l?12900e4950;9j==<722ejn7>5;|`a=1<72<0;6=u+f88b7>Nen01Cnk:4$8`96>o>=3:17d79:188m<1=831b554?::mbf?6=3thi584?:483>5}#n00j?6Fmf89Kfc2<,0h1>6g65;29?l?12900e4950;9j==<722ejn7>5;|`a=3<72<0;6=u+f88b7>Nen01Cnk:4$8`96>o>=3:17d79:188m<1=831b554?::mbf?6=3thi5:4?:483>5}#n00j?6Fmf89Kfc2<,0h1>6g65;29?l?12900e4950;9j==<722ejn7>5;|`a=<<72;0;6=u+f88:g>Nen01Cnk:4i8694?=hik0;66smbec94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygde;3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygde?3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygdej3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygden3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygdd;3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygdd?3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygddj3:187>50z&e=?g13Ahm56Fmf59j1a<722c357>5;h`0>5<5<4290;w)h6:cd;?Mda12Bij95f5e83>>o>l3:17bom:188ygde=3:1>7>50z&e=?g73Ahm56Fmf59'=g<23`3>6=44o``94?=zjkh26=4=:183!`>2h:0Doh6;I`e0>">j3?0e4;50;9leg<722winoj50;094?6|,o31m=5Gbg;8Lg`33-3i685f9483>>ifj3:17plmc083>7<729q/j44n0:Jab<=Ojo>0(4l55:k:1?6=3fki6=44}c``1?6=:3:129096=4?{%d:>d6<@kl27Eli4:&:f?3>{ejjn1<7<50;2x c?=i91Cnk74Hcd7?!?e2<1b584?::mbf?6=3thih=4?:383>5}#n00j<6Fmf89Kfc2<,0h196g65;29?jge2900qolm4;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygde03:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qolmc;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygdd83:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qoll4;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygdd03:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qollc;291?6=8r.m576i;I`e=>Nen=1/5o4?;h7:>5<>oe:3:17bl?:188ygddn3:197>50z&e=?>a3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66gm2;29?jd72900qo7j6;297?6=8r.m57li8:Jab<=Ojo>0e8j50;9j=a<722ejn7>5;|`:a6<72=0;6=u+f88b2>Nen01Cnk:4i4f94?=n000;66gm3;29?j?b2900qo7ja;297?6=8r.m57li8:Jab<=Ojo>0e8j50;9j=a<722ejn7>5;|`:a2<72=0;6=u+f88b2>Nen01Cnk:4i4f94?=n000;66gm3;29?j?b2900qo7je;297?6=8r.m57li8:Jab<=Ojo>0e8j50;9j=a<722ejn7>5;|`:ag<72=0;6=u+f88b2>Nen01Cnk:4i4f94?=n000;66gm3;29?j?b2900qo7i1;297?6=8r.m57li8:Jab<=Ojo>0e8j50;9j=a<722ejn7>5;|`:a0<72;0;6=u+f88b4>Nen01Cnk:4$8`91>o>=3:17bom:188yg?b13:1>7>50z&e=?g73Ahm56Fmf59'=g<23`3>6=44o``94?=zj0oo6=4=:183!`>2h:0Doh6;I`e0>">j3?0e4;50;9leg<722wi5k>50;094?6|,o31m=5Gbg;8Lg`33-3i685f9483>>ifj3:17pl6e583>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xd>m10;684?:1y'b<57>5;h7a>5<>ie83:17pl6eb83>0<729q/j447f:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=nj;0;66am0;29?xd>mo0;684?:1y'b<57>5;h7a>5<>ie83:17pl61383>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`:4c<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f<77290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd>900;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg?5m3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd>:o0;694?:1y'b<57>5;h7a>5<>{e1;n1<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th2?84?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi5>o2j3:17d;i:188m=>=831dn=4?::a=4e=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi5>o2j3:17d67:188mg4=831dn=4?::a=4`=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi5<650;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn4?>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo7>6;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl61683>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm90694?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;a0<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f=c1290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd?m;0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th3in4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn5h?:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th25}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi5=>50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn4>6:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo7?a;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl60983>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm8dg94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e0ll1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm8g394?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e0o81<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm8d`94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;ad<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a<`1=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f=c?290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg>bl3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd?j10;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th3n84?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn5l9:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl7bg83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo6k4;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl7d483>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm8e194?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;`g<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::at$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi4n<50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::at$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi4n;50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f=d0290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg>ek3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd?jm0;694?:1y'b<57>5;h7a>5<>{e0kk1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj1hi6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th34o4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn56l:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl78983>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`;=7<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f=?129096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`;e=<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f=ga290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg>e83:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd?il0;694?:1y'b<57>5;h:;>5<>{e00>1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm88794?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e00=1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm88:94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e00;1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj12j6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th35=4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi45j50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn56j:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo663;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl75d83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`;1g<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f=3d290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd?><0;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg>0i3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd??k0;694?:1y'b<57>5;h7a>5<>{e0>31<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th34<4?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi4;950;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a<3>=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi4;o50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a<3d=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi4;:50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn5;k:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo692;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl76283>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm87294?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;74<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f=55290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd?:l0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th3?54?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn5=l:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th38h4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi49m50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn5;::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo6:6;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl75583>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm82c94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e0:h1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm82f94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e0:o1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm82594?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;73<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a<65=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f=53290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg>413:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd?8=0;694?:1y'b<6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th3<<4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn5>=:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl70c83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo6=0;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl72083>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm80d94?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`;62<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a<5b=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi4=k50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a<46=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi4>o2j3:17d67:188mg4=831dn=4?::a<5g=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f=64290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg>703:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd?800;694?:1y'b<57>5;h7a>5<>{e09<1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj1:<6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn:j7:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl8d583>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`4``<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f2c529096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`4b1<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a3c4=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f2`e290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg1ak3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd0nh0;694?:1y'b<57>5;h:;>5<>{e?l:1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm7d394?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e?l91<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm7d694?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e?mn1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj>n=6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi;i750;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn:jn:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo9kf;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl8a`83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`4e2<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f2g?290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd0j80;694?:1y'b<h>6=4=:183!`>20i0Doh6;I`e0>o><3:17bom:188yg1d>3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd0k>0;694?:1y'b<57>5;h7a>5<>{e?j?1<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;in6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi;o=50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a3g2=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi;o850;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a3g1=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi;o>50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn:o6:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo9ne;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl8ag83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm7`a94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`43a<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f21b290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd0?h0;694?:1y'b<=i6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th<494?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn:67:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th<5l4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi;4650;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn:o>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo9n2;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl8a183>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm79494?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e?1=1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm79;94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e?1k1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm79194?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`4<7<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a32`=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f2>7290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg1?=3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd0=90;694?:1y'b<?:6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th<8i4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn::j:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl85683>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo99c;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl86e83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm77`94?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`436<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a30?=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi;8o50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a30e=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi;8j50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a300=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f22a290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg12<3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd0=<0;694?:1y'b<57>5;h7a>5<>{e?<81<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj>?86=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<47>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th<>>4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn:<;:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl82183>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`46d<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f24b29096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`405<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a36c=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f220290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg1303:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd057>5;h:;>5<>{e?;i1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm73f94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e?;l1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm72294?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e?;31<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj>896=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th<>54?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi;?;50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn:<9:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo9=b;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl9f783>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`5b6<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f3`3290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd1nm0;694?:1y'b<::6=4=:183!`>20i0Doh6;I`e0>o><3:17bom:188yg16:3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd09:0;694?:1y'b<57>5;h7a>5<>{e?8;1<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;;j6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th<=44?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi:kh50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a356=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi;=<50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a355=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi:km50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn;h::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo8ia;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl9fc83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm6g:94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`5g<<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f3ef290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd1k?0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th=h=4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn;j;:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th=i;4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi:h:50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn;kk:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo8je;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl9eb83>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm6e094?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e>m91<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm6e794?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e>m<1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm6bd94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`5g`<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a2fd=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f3ed290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg0c93:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd11j0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th=544?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn;7n:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl9a283>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo8m8;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl9b883>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm6c594?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`5fc<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a2d3=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi:l850;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a2d>=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi:l750;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a2d4=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f3?e290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg0f83:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd1i80;694?:1y'b<57>5;h7a>5<>{e>0o1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj?3m6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th=:k4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn;9?:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl96b83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`533<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f31f29096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`5Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a2=g=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f3?4290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg0><3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd11;0;694?:1y'b<57>5;h:;>5<>{e>>21<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm66;94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e>>h1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm66a94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e>>?1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj?21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th=;94?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi::?50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn;9=:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo887;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl94383>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`57c<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f327290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd1<00;694?:1y'b<o6=4=:183!`>20i0Doh6;I`e0>o><3:17bom:188yg02m3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd1=o0;694?:1y'b<57>5;h7a>5<>{e>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th=:84?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi:9l50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a21e=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi:9k50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a21`=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi:9650;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn;:>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo8;6;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl94683>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm65694?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`550<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f371290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd19;0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th==n4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn;5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th=??4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi:>>50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn;=6:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo8Nen=1/5o4?;h7:>5<>ie83:17pl93983>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm60g94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e>8l1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm63394?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e>;81<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm60`94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`55d<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a241=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f37?290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg06l3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2m10;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th>i84?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn8k9:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl:eg83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo8?4;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl90483>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm61194?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`54g<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a1c7=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi9k<50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a1c2=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi9k;50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a1`c=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f0c0290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg3bk3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2mm0;694?:1y'b<57>5;h7a>5<>{e=lk1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th>no4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn8ll:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl:b983>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`6g7<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f0e129096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`6`=<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a1a0=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f0ba290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg3b83:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2ll0;694?:1y'b<57>5;h:;>5<>{e=j>1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm5b794?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e=j=1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm5b:94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e=j;1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th>o=4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi9oj50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn8lj:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo;l3;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl:8d83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`6Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f0>d290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd21<0;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg3fi3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2ik0;694?:1y'b<57>5;h7a>5<>{e=h31<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th>n<4?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi94950;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a1<>=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi94o50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a1t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi94:50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn86k:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo;62;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl:9283>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm58294?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`624<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f005290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd2=l0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th>:54?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn88l:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th>;h4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi9:m50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn86::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo;76;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl:8583>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm57c94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e=?h1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm57f94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e=?o1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm57594?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`623<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a135=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f003290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg3113:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2;=0;694?:1y'b<6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th>?<4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn8==:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl:3c83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo;:0;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl:5083>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm55d94?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`612<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a16b=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi9>k50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a116=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi99?50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a16g=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f054290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg3403:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2;00;694?:1y'b<57>5;h7a>5<>{e=:<1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj<9<6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th><:4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn8>7:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl:0583>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`64`<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f07529096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`661<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a174=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f04e290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg35k3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd2:h0;694?:1y'b<57>5;h:;>5<>{e=8:1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm50394?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e=891<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm50694?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e=9n1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj<:=6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi9=750;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn8>n:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo;?f;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;d`83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`7`2<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f1b?290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd3m80;694?:1y'b<6=4=:183!`>20i0Doh6;I`e0>o><3:17bom:188yg2a>3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd3n>0;694?:1y'b<57>5;h7a>5<>{e21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<mj7>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?ji4?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi8h=50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a0`2=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi8h850;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a0`1=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi8h>50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn9j6:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo:ke;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;dg83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm4ea94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`7ea<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f1gb290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd3ih0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th?n94?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn9l7:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<h57>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?ol4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi8n650;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn9j>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo:k2;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;d183>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm4c494?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{en7>5;h:;>5<>{en7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`7f7<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a0d`=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f1d7290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg2e=3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd3090;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th?;i4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn99j:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl;8683>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo:6c;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;9e83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm48`94?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`7e6<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a0=?=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi85o50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a0=e=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi85j50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a0=0=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f11a290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg2?<3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd30<0;694?:1y'b<57>5;h7a>5<>{e<181<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj=286=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<347>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?9>4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn9;;:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl;5183>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`71d<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f13b29096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`735<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a03c=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f110290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg2003:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd3??0;694?:1y'b<57>5;h:;>5<>{e<n7>5;h7e>5<>{e<n7>5;h:;>5<>{e<<31<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj=?96=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<>;7>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?954?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi88;50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn9;9:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo::b;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;2783>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`766<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f143290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd3:m0;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg23:3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd3<:0;694?:1y'b<57>5;h7a>5<>{e<=;1<7:50;2x c?=0l1Cnk74Hcd7?!?e291b944?::k;j6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<?n7>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?844?:583>5}#n003i6Fmf89Kfc2<,0h1<6g:9;29?l>?2900eo<50;9lf5<722wi8?h50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a066=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi8><50;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a065=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi8?m50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn9<::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo:=a;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;2c83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm43:94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`0b<<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f6`f290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd4n?0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th?<=4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn9>;:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<:97>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th?=;4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi8<:50;694?6|,o314h5Gbg;8Lg`33-3i6=5f5883>>o?03:17dl=:188kg6=831vn9?k:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo:>e;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl;1b83>1<729q/j447e:Jab<=Ojo>0(4l50:k6=?6=3`236=44ic094?=hj90;66sm41094?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e<991<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm41794?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e<9<1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm3gd94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`0b`<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a7cd=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f6`d290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg2793:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4kj0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th8o44?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn>mn:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo=j8;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm3d594?2=83:p(k758d9Kfc?<@kl?7)7m:19j1<<722c347>5;h`1>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`0ac<72=0;6=u+f88;a>Nen01Cnk:4$8`94>o213:17d67:188mg4=831dn=4?::a7a3=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi?i850;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a7a>=83?1<7>t$g;95=n=00;66g:b;29?l>?2900eo<50;9lf5<722wi?i750;794?6|,o314k5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188mg4=831dn=4?::a7a4=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f6ee290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg5c83:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4l80;694?:1y'b<57>5;h7a>5<>{e;jo1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:im6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th85k4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn>o?:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl<9b83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`0e3<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f6gf29096=4?{%d:>2900e8l50;9j<=<722ei<7>5;|`0ff<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a7gg=83>1<7>t$g;9<`=Ojo30Doh;;%;a>5=n=00;66g78;29?ld52900co>50;9~f6e4290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg5d<3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4k;0;694?:1y'b<57>5;h:;>5<>{e;h21<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm3`;94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e;hh1<7;50;2x c?=0o1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44ic094?=hj90;66sm3`a94?3=83:p(k758g9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<>{e;h?1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:3n6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th8m94?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi?l?50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>o=:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=n7;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl=c583>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`1ga<72;0;6=u+f88:g>Nen01Cnk:4i8694?=hik0;66sm2bc94?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c0`f?6==3:12900e8l50;9j1c<722c347>5;n`3>5<55;294~"a132h7Eli9:Jab1=#1k0;7d;6:188m0d=831b9k4?::k;2900e8l50;9j<=<722ei<7>5;|`1g3<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a6f>=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f7e>290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg4e93:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e:k81<7:50;2x c?=i;1Cnk74Hcd7?!?e25;nca>5<52;294~"a133h7Eli9:Jab1=n1=0;66anb;29?xd5j>0;694?:1y'b<21i0Doh6;I`e0>">j3:0e8750;9j1g<722c>j7>5;h:;>5<5<2290;w)h6:9a8Lg`>3Ahm86*6b;28m0?=831b9o4?::k6b?6=3`236=44oc294?=zj;h?6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th9n84?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi>o850;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn?6m:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl=8b83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo<61;290?6=8r.m57o=;I`e=>Nen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm28094?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e:091<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm29g94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`1=5<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a62>=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg4013:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e:1;1<7<50;2x c?=1j1Cnk74Hcd7?l?32900cll50;9~f71b290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd5?o0;684?:1y'b<57>5;h7a>5<>ie83:17pl=8183>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xd5?k0;694?:1y'b<57>5;h7a>5<>{e:>k1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj;=h6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th9:84?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn?89:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl=6d83>7<729q/j446c:Jab<=Ojo>0e4:50;9leg<722wi>;l50;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qo<9c;291?6=8r.m576l;I`e=>Nen=1/5o4?;h7:>5<>o?03:17bl?:188yg41l3:197>50z&e=?>d3Ahm56Fmf59'=g<73`?26=44i4`94?=n=o0;66g78;29?jd72900qo<98;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl=6683>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm27;94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;o>=3:17d79:188m<1=831dmo4?::a605=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg42j3:1>7>50z&e=??d3Ahm56Fmf59j=1<722ejn7>5;|`11=<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f73>290>6=4?{%d:>=e<@kl27Eli4:&:f?6>o2n3:17d67:188kg6=831vn?;n:186>5<7s-l265m4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g:f;29?l>?2900co>50;9~f732290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg42<3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd5=?0;694?:1y'b<57>5;h7a>5<>{e:<=1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj;9m6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th98=4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn?:7:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a13k97Eli9:Jab1=#1k0>m6g65;29?l?12900e4950;9leg<722wi>9850;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a611=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi>9<50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn?:>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo<;3;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl=4583>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm23a94?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c01`?6=<3:1o>=3:17d79:188m<1=831dmo4?::a663=8381<7>t$g;9=f=Ojo30Doh;;h;7>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`176<72<0;6=u+f88;g>Nen01Cnk:4$8`94>o213:17d;m:188m0`=831b454?::ma4?6=3th9?94?:483>5}#n003o6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e8h50;9j<=<722ei<7>5;|`16c<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a67c=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f757290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg4493:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd5900;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th9>?4?:383>5}#n002o6Fmf89Kfc21<75`ac83>>{e:8l1<7:50;2x c?=i;1Cnk74Hcd7?!?e25;nca>5<55;294~"a132h7Eli9:Jab1=#1k0;7d;6:188m0d=831b9k4?::k;2900e8l50;9j1c<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th9=o4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi>>o2j3:17d67:188kg6=831vn??j:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoNen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm21594?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c03b?6=:3:1>ifj3:17pl=0b83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<2290;w)h6:9a8Lg`>3Ahm86*6b;28m0?=831b9o4?::k6b?6=3`236=44oc294?=zj;:n6=4::183!`>21i0Doh6;I`e0>">j3:0e8750;9j1g<722c>j7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`14d<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a65d=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f4`4290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd6n=0;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg7a13:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e9ok1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm1g`94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e9o<1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj8l>6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th:j54?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi=h>50;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qo?j1;290?6=8r.m57o=;I`e=>Nen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm1d;94?4=83:p(k759b9Kfc?<@kl?7d7;:188kdd=831vn5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl>e683>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xd6m10;684?:1y'b<57>5;h7a>5<>ie83:17pl>e283>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm1d094?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`2fd<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f4de290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd6k:0;6?4?:1y'b<<>k2Bij45Gbg68m<2=831dmo4?::a5f6=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg7d93:197>50z&e=?>d3Ahm56Fmf59'=g<73`?26=44i4`94?=n=o0;66g78;29?jd72900qo?l2;291?6=8r.m576l;I`e=>Nen=1/5o4?;h7:>5<>o?03:17bl?:188yg7el3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd6jj0;694?:1y'b<57>5;h7a>5<>{e9ko1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj8hm6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a13k97Eli9:Jab1=#1k0>m6g65;29?l?12900e4950;9leg<722wi=l650;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qo?m0;296?6=8r.m577l;I`e=>Nen=1b594?::mbf?6=3th:mi4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn5<7s-l265m4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g:f;29?l>?2900co>50;9~f4ga290>6=4?{%d:>=e<@kl27Eli4:&:f?6>o2n3:17d67:188kg6=831vn5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo?n9;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl>ac83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm1`a94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`2=0<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f4?c29096=4?{%d:>o>=3:17d79:188m<1=831dmo4?::a5t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi=4m50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a5<1=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f4?1290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg7>03:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd6100;694?:1y'b<57>5;h7a>5<>{e91;1<7:50;2x c?=i;1Cnk74Hcd7?!?e25;nca>5<7>54;294~"a13k97Eli9:Jab1=#1k0>m6g65;29?l?12900e4950;9leg<722wi=5o50;094?6|,o315n5Gbg;8Lg`33`3?6=44o``94?=zj82<6=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th:454?:483>5}#n003o6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e8h50;9j<=<722ei<7>5;|`2<<<72<0;6=u+f88;g>Nen01Cnk:4$8`94>o213:17d;m:188m0`=831b454?::ma4?6=3th:494?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi=5=50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn<6::187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo?76;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl>6d83>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`232<72;0;6=u+f88:g>Nen01Cnk:4i8694?=hik0;66sm16694?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c341?6==3:12900e8l50;9j1c<722c347>5;n`3>5<55;294~"a132h7Eli9:Jab1=#1k0;7d;6:188m0d=831b9k4?::k;2900e8l50;9j<=<722ei<7>5;|`235<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a524=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f414290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg72j3:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e95;nca>5<52;294~"a133h7Eli9:Jab1=n1=0;66anb;29?xd6>80;694?:1y'b<21i0Doh6;I`e0>">j3:0e8750;9j1g<722c>j7>5;h:;>5<5<2290;w)h6:9a8Lg`>3Ahm86*6b;28m0?=831b9o4?::k6b?6=3`236=44oc294?=zj8?n6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<h7>54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th:9k4?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi=;>50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn<:7:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl>4883>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<5290;w)h6:8a8Lg`>3Ahm86g64;29?jge2900qo?;e;290?6=8r.m57o=;I`e=>Nen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm15d94?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e9<:1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm15`94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`20a<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a563=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg74>3:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e9:o1<7<50;2x c?=1j1Cnk74Hcd7?l?32900cll50;9~f45e290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd6;j0;684?:1y'b<57>5;h7a>5<>ie83:17pl>3e83>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xd6;10;694?:1y'b<57>5;h7a>5<>{e9:=1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj8926=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th:>?4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn<<<:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl>2c83>7<729q/j446c:Jab<=Ojo>0e4:50;9leg<722wi=?650;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qo?=9;291?6=8r.m576l;I`e=>Nen=1/5o4?;h7:>5<>o?03:17bl?:188yg75i3:197>50z&e=?>d3Ahm56Fmf59'=g<73`?26=44i4`94?=n=o0;66g78;29?jd72900qo?=5;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl>2583>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm13494?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;o>=3:17d79:188m<1=831dmo4?::a546=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg7603:1>7>50z&e=??d3Ahm56Fmf59j=1<722ejn7>5;|`250<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f471290>6=4?{%d:>=e<@kl27Eli4:&:f?6>o2n3:17d67:188kg6=831vn5<7s-l265m4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g:f;29?l>?2900co>50;9~f475290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg7693:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd69:0;694?:1y'b<57>5;h7a>5<>{e98>1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj:>26=4;:183!`>2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th88l4?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn>;=:181>5<7s-l264m4Hcd:?Mda<2c287>5;nca>5<54;294~"a13k97Eli9:Jab1=#1k0>m6g65;29?l?12900e4950;9leg<722wi?8>50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a707=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi?9m50;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn>:m:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=;d;290?6=8r.m576k;I`e=>Nen=1/5o4?;h7:>5<>ie83:17pl<4d83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm32494?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c103?6=<3:1o>=3:17d79:188m<1=831dmo4?::a76`=8381<7>t$g;9=f=Ojo30Doh;;h;7>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`07a<72<0;6=u+f88;g>Nen01Cnk:4$8`94>o213:17d;m:188m0`=831b454?::ma4?6=3th8?h4?:483>5}#n003o6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e8h50;9j<=<722ei<7>5;|`07<<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a76>=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f65f290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg54j3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd4::0;694?:1y'b<2h80Doh6;I`e0>">j3?j7d7::188m<0=831b5:4?::mbf?6=3th8>n4?:383>5}#n002o6Fmf89Kfc21<75`ac83>>{e;;31<7:50;2x c?=i;1Cnk74Hcd7?!?e25;nca>5<55;294~"a132h7Eli9:Jab1=#1k0;7d;6:188m0d=831b9k4?::k;2900e8l50;9j1c<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th8>84?:583>5}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi??950;694?6|,o314i5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d67:188kg6=831vn><7:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qo=>0;290?6=8r.m57o=;I`e=>Nen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm30394?2=83:p(k75a39Kfc?<@kl?7)7m:4c8m<3=831b5;4?::k:3?6=3fki6=44}c12=?6=:3:1>ifj3:17pl<1783>1<729q/j44n2:Jab<=Ojo>0(4l55`9j=0<722c2:7>5;h;4>5<5<2290;w)h6:9a8Lg`>3Ahm86*6b;28m0?=831b9o4?::k6b?6=3`236=44oc294?=zj:;36=4::183!`>21i0Doh6;I`e0>">j3:0e8750;9j1g<722c>j7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`051<72=0;6=u+f88;`>Nen01Cnk:4$8`94>o213:17d;m:188m=>=831dn=4?::a743=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f7`c290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd5nl0;694?:1y'b<20i0Doh6;I`e0>o><3:17bom:188yg57;3:187>50z&e=?g53Ahm56Fmf59'=g<2i2c297>5;h;5>5<>{e;9>1<7;50;2x c?=0j1Cnk74Hcd7?!?e291b944?::k6f?6=3`?m6=44i9:94?=hj90;66sm31794?3=83:p(k758b9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h7e>5<>{e;9:1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj;lm6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3th85}#n003h6Fmf89Kfc2<,0h1<6g:9;29?l3e2900e5650;9lf5<722wi>ho50;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qoNen=1/5o4:a:k:1?6=3`3=6=44i8594?=hik0;66sm2g194?4=83:p(k759b9Kfc?<@kl?7d7;:188kdd=831vn?h?:187>5<7s-l26l<4Hcd:?Mda<2.2n7;n;h;6>5<>ifj3:17pl=f083>0<729q/j447c:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i4d94?=n010;66am0;29?xd5n;0;684?:1y'b<57>5;h7a>5<>ie83:17pl=ee83>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm2da94?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:9f8Lg`>3Ahm86*6b;28m0?=831b9o4?::k;2900e8l50;9j<=<722ei<7>5;|`1`2<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f7b?290?6=4?{%d:>d4<@kl27Eli4:&:f?3f3`3>6=44i8494?=n1>0;66anb;29?xd5m90;6?4?:1y'b<<>k2Bij45Gbg68m<2=831dmo4?::a6ab=83>1<7>t$g;9e7=Ojo30Doh;;%;a>0g>o>?3:17bom:188yg4cm3:197>50z&e=?>d3Ahm56Fmf59'=g<73`?26=44i4`94?=n=o0;66g78;29?jd72900qoNen=1/5o4?;h7:>5<>o?03:17bl?:188yg4ci3:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd5l00;694?:1y'b<57>5;h7a>5<>{e:mh1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj;nh6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a13k97Eli9:Jab1=#1k0>m6g65;29?l?12900e4950;9leg<722wi>4h50;694?6|,o31m?5Gbg;8Lg`33-3i68o4i8794?=n1?0;66g67;29?jge2900qoNen=1b594?::mbf?6=3th9m94?:583>5}#n00j>6Fmf89Kfc2<,0h19l5f9483>>o>>3:17d78:188kdd=831vn?o::186>5<7s-l265m4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g:f;29?l>?2900co>50;9~f7g1290>6=4?{%d:>=e<@kl27Eli4:&:f?6>o2n3:17d67:188kg6=831vn?o>:187>5<7s-l265j4Hcd:?Mda<2.2n7>4i4;94?=n=k0;66g78;29?jd72900qoNen=1/5o4?;h7:>5<>ie83:17pl=a383>1<729q/j447d:Jab<=Ojo>0(4l50:k6=?6=3`?i6=44i9:94?=hj90;66sm2`194?2=83:p(k758e9Kfc?<@kl?7)7m:19j1<<722c>n7>5;h:;>5<5<3290;w)h6:`08Lg`>3Ahm86*6b;7b?l?22900e4850;9j=2<722ejn7>5;|`2g`<72=0;6=u+f88b6>Nen01Cnk:4$8`91d=n1<0;66g66;29?l?02900cll50;9~f4b129096=4?{%d:>o>=3:17d79:188m<1=831dmo4?::a5a2=83?1<7>t$g;95=n=00;66g:b;29?l3a2900e5650;9lf5<722wi=i;50;794?6|,o314n5Gbg;8Lg`33-3i6=5f5883>>o2j3:17d;i:188m=>=831dn=4?::a5a6=83>1<7>t$g;95=n=00;66g:b;29?l>?2900co>50;9~f4ea290?6=4?{%d:>=b<@kl27Eli4:&:f?6>o?03:17bl?:188yg7c93:187>50z&e=?>c3Ahm56Fmf59'=g<73`?26=44i4`94?=n010;66am0;29?xd6l;0;694?:1y'b<57>5;h7a>5<>{enj0;694?:1y'b<5;nca>5<52;294~"a133h7Eli9:Jab1=n1=0;66anb;29?xd68;0;694?:1y'b<21i0Doh6;I`e0>">j3:0e8750;9j1g<722c>j7>5;h:;>5<5<2290;w)h6:9a8Lg`>3Ahm86*6b;28m0?=831b9o4?::k6b?6=3`236=44oc294?=zjol1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zjoo1<7:50;2x c?=0m1Cnk74Hcd7?!?e291b944?::k6f?6=3`236=44oc294?=zj8:;6=4;:183!`>21n0Doh6;I`e0>">j3:0e8750;9j1g<722c347>5;n`3>5<54;294~"a132o7Eli9:Jab1=#1k0;7d;6:188m0d=831b454?::ma4?6=3thim=4?:683>5}#n00j96Fmf89Kfc2<,0h1h6g65;29?l?12900e4950;9j==<722c257>5;h;b>5<5<0290;w)h6:`78Lg`>3Ahm86*6b;f8m<3=831b5;4?::k:3?6=3`336=44i8;94?=n1h0;66anb;29?xde1h0;6:4?:1y'b<5;h;5>5<>o>13:17d7n:188kdd=831vno7m:184>5<7s-l26l;4Hcd:?Mda<2.2n7j4i8794?=n1?0;66g67;29?l??2900e4750;9j=d<722ejn7>5;|`a=`<72?0;6=u+f88b0>Nen01Cnk:4$8`9=5=n1<0;66g66;29?l?02900e4650;9j=<<722ejn7>5;|`a=c<72>0;6=u+f88b1>Nen01Cnk:4$8`95;nca>5<57;294~"a13k>7Eli9:Jab1=#1k03n6g65;29?l?12900e4950;9j==<722c257>5;h;b>5<5<1290;w)h6:`68Lg`>3Ahm86*6b;37?l?22900e4850;9j=2<722c247>5;h;:>5<5<1290;w)h6:`68Lg`>3Ahm86*6b;d8m<3=831b5;4?::k:3?6=3`336=44i8;94?=hik0;66smb8a94?1=83:p(k75a49Kfc?<@kl?7)7m:e9j=0<722c2:7>5;h;4>5<>o>i3:17bom:188yv72290?wS?:;<330?3>34;;>77:;<331??33ty::7>54z\22>;69>0>563>148:1>;6910286s|1683>1}Y9>16=?o5589>57>=1<16=?l5959~w4>=83>pR<64=01g>0?<589i64;4=01f><2a;290~X6i27::>4:9:?224<>=27::9464:p5g<72=qU=o5216491<=:9>>158521659=1=z{8i1<7:t^0a894>>2<301<68:87894>f20>0q~?k:187[7c34;2o7;6;<3:e??234;2h77;;|q2a?6=ag86=>;6im02963>b18:0>{t9o0;69uQ1g9>5f4==016=n>5949>5f5=1=1v?>50;6xZ76<58n>6874=0f0><3<58n=64:4}r02>5<3sW8:70?j8;7:?87b>33>70?j9;;7?xu5:3:18vP=2:?2bg<2127:j4465:?2bf<><2wx>>4?:5y]66=::9o1945221a9=0=::9l1595rs3694?2|V;>01?<>:4;8977a20?01?<=:868yv42290?wS<:;<000?3>3488>77:;<001??33ty9:7>54z\12>;5<>0>563=448:1>;5<10286s|2683>1}Y:>16>8o5589>60>=1<16>8l5959~w7>=83>pR?64=34g>0?<5;<24:9:?1=4<>=27959464:p6g<72=qU>o522`491<=::h>158522`59=1=z{;i1<7:t^3a897d>2<301?l8:87897df20>0q~;5lm02963=e18:0>{t;90;69uQ319>6c4==016>k>5949>6c5=1=1v>?50;6xZ67<5::>6874=220><3<5::=64:4}r11>5<3sW9970=>8;7:?856>33>70=>9;;7?xu4;3:18vP<3:?06g<21278>4465:?06f<><2wx?94?:5y]71=:;:o1945232a9=0=:;:l1595rs2794?2|V:?01>;>:4;8962a20?01>;=:868yv512909wS=9;<16`?d73ty8;7>52z\03>;4=o0i<6s|3983>7}Y;116?;?5b19~w6?=838pR>74=240>g6{t<90;6?uQ419>727=j91v9?50;0xZ17<5:=86o>4}r61>5<5sW>970=85;`3?xu3;3:1>vP;3:?03231n=5rs5794?4|V=?01>9m:c28yv212909wS:9;<14`?d73ty?;7>52z\73>;4?o0i<6s|4983>7}Y<116?5?5b19~w1?=838pR974=2:0>g6j6=4={_6b?85?=3h;7p};b;296~X3j2784:4m0:p0f<72;qU8n5239;9f5=z{=n1<7e2k:0q~:i:181[2a3493h7l?;|q64?6=:rT><63<8g8a4>{t=80;6?uQ509>7<7=j91v8<50;0xZ04<5:386o>4}r70>5<5sW?870=65;`3?xu2<3:1>vP:4:?0=27m:c28yv3b290::nuQ5d9>e56==016m=?5589>=c`==016m==5589>e54==0165k85589>=c1==0165io5589>=a3==0165i>5589>=fd==0165n85589>=f7==0165om5589>=g1==0165o<5589>=db==0165l65589>=d5==01654k5589>===`==01655o5589>==3==01655>5589>=2d==0165:85589>=27==0165;m5589>=31==0165;<5589>=0b==0165865589>=05==01659k5589>=1?==01659:5589>=6`==016m9?5589>e6`==016m>j5589>e6d==016m>75589>e61==016m>;5589>e65==016m>?5589>e7`==016m?j5589>e7d==016m?75589>e71==016m?;5589>e75==016m??5589>e4`==016me4d==016m<75589>e41==016m<;5589>e45==016me5`==016m=j5589>e5d==016m5o5589>e=>==016m585589>e=2==0165hh5589>=`e==0165h65589>=`2==0165<65589>=4`==0165=60==0165>95589>=63==0165?k5589>=7`==0165?j5589><`d==0164k<5589>=5g==0165=65589>=57==0165=<5589>=56==0164ok5589><<7==0164465589><<1==0164lh5589><3d==0164;o5589><=4==01645=5589><=7==0164:o5589><2d==0164:75589><61==0164>k5589><6b==01648;5589><00==01648:5589><1b==01649k5589><1e==0164=o5589><47==0164<>5589><7>==0164?75589><71==0164?>5589><77==01643ab==016;h:5589>3`5==016;kl5589>3ce==016;ko5589>3c5==016;k:5589>3c4==016;o>5589>3g1==016;o85589>3fc==016;nh5589>3fb==016;n85589>3f1==016;n;5589>3=5==016;5o5589>3=?==016;l?5589>3d4==016;l>5589>33<>==016;885589>30b==016;8m5589>322==016;:;5589>325==016;;m5589>33b==016;;l5589>37?==016;>>5589>37`==016;995589>31>==016;985589>36`==016;9>5589>36c==016:km5589>355==016;=<5589>34g==016;34?==016;<<5589>345==016;2f`==016:i85589>2a3==016:hj5589>2`c==016:hm5589>2`3==016:h85589>2`2==016:l<5589>2d?==016:l65589>2f6==016:n?5589>2g`==016:o65589>2g?==016:o95589>223==016::m5589>22d==016:4=5589>2<2==016:4<5589>2=d==016:5m5589>2=g==016:965589>21`==016:9k5589>230==016:;95589>233==016:8k5589>20`==016:8j5589>24d==016:?<5589>277==016:>75589>26g==016:>65589>267==016:><5589>266==0169hk5589>1c3==0169k:5589>25e==016:=j5589>25d==016:=:5589>253==016:==5589>1f7==0169n65589>1f1==0169ih5589>1`6==0169ik5589>1a1==0169i65589>1a0==01694:5589>11g4==0169o=5589>1g7==0169lo5589>1dd==0169l75589>131==0169;k5589>13b==01695;5589>1=0==01695:5589>12b==0169:k5589>12e==0169>o5589>117==01699>5589>10>==0169875589>101==01698>5589>107==01699h5589>15b==0169<:5589>145==0169?l5589>17e==0169?o5589>175==0169?:5589>174==0168h>5589>0`1==0168h85589>0cc==0168kh5589>0cb==0168k85589>0c1==0168k;5589>0g5==0168oo5589>0g?==0168i?5589>0a4==0168i>5589>0f?==0168no5589>0f>==0168585589>0=b==01685m5589>0d2==0168l;5589>0d5==01684m5589>000?==0168;>5589>00`==0168:95589>02>==0168:85589>03`==0168:>5589>03c==0168?m5589>065==0168><5589>01g==01689l5589>01?==01689<5589>015==01689?5589>7c`==0168=85589>053==016804c==0168043==0168<85589>042==016?i<5589>7a?==016?i65589>7c6==016?k?5589>7``==016?h65589>7`?==016?h95589>7d3==016?lm5589>7dd==016?n=5589>7f2==016?n<5589>7gd==016?om5589>7gg==01v;?50;03b~X1927i4i4:9:?b41<2127j4>4:9:?b<7<2127j4<4:9:?b<5<2127j;k4:9:?b3`<2127j;i4:9:?b3f<2127j;o4:9:?b3d<2127j;44:9:?b3=<2127j;:4:9:?b33<2127j;84:9:?b31<2127j;>4:9:?b37<2127j;<4:9:?b35<2127j:k4:9:?b2`<2127j:i4:9:?b2f<2127j:o4:9:?b2d<2127j:44:9:?b2=<2127j::4:9:?b23<2127j:84:9:?b21<2127j:>4:9:?b27<2127j:<4:9:?b25<2127j9k4:9:?b1`<2127j9i4:9:?b1f<2127j9o4:9:?b1d<2127j944:9:?b1=<2127j9:4:9:?b13<2127j984:9:?b11<2127j9>4:9:?b17<2127j9<4:9:?b15<2127j8k4:9:?b0`<2127j8i4:9:?b0f<2127j8o4:9:?b0d<2127j844:9:?b0=<2127j8:4:9:?b03<2127j884:9:?b01<2127j8>4:9:?b05<2127j?h4:9:?b7f<2127j?l4:9:?b7=<2127j?;4:9:?b71<2127j??4:9:?b75<2127j>h4:9:?b6f<2127j>l4:9:?b6=<2127j>;4:9:?b61<2127j>?4:9:?b65<2127j=h4:9:?b5f<2127j=l4:9:?b5=<2127j=;4:9:?b51<2127j=?4:9:?b55<2127j4:9:?0<5<212784<4:9:?03`<21278;k4:9:?03f<21278;i4:9:?03d<21278;o4:9:?03=<21278;44:9:?033<21278;:4:9:?031<21278;84:9:?035<21278;<4:9:?02`<21278:k4:9:?02f<21278:i4:9:?02d<21278:o4:9:?02=<21278:44:9:?023<21278::4:9:?021<21278:84:9:?027<21278:>4:9:?025<21278:<4:9:?01`<212789k4:9:?0=d<212785o4:9:?0==<21278544:9:?0=3<212785:4:9:?0=1<21278584:9:?0=7<212785>4:9:?0=5<212785<4:9:?0<`<212784k4:9:?0<=<21278444:9:?037<21278;>4:9:?01f<212789i4:9:?:`2<2m272h?4:e:?:ga<2m272o54:e:?:g6<2m272nh4:e:?:f<<2m272n94:e:?:ec<2m272ml4:e:?:e0<2m272m=4:e:?:=g<2m2725;4:e:?:=4<2m2724n4:e:?:<2<2m2724?4:e:?:3a<2m272;54:e:?:36<2m272:h4:e:?:2<<2m272:94:e:?:1c<2m2729l4:e:?:10<2m2729=4:e:?:0g<2m2728;4:e:?:04<2m272?n4:e:?a`d<2127iok4:9:?agf<2127io54:9:?ag1<2127io=4:9:?aff<2127in54:9:?af1<21272=l4:9:?:50<21272=94:9:?:52<21272=;4:9:?:54<21273ii4:9:?;a=<21273i:4:9:?;ad<21273i44:9:?;a1<21273o=4:9:?;fg<21273nl4:9:?;fa<21273nn4:9:?;f2<212735>4:9:?;<`<212734i4:9:?;=5<212734k4:9:?;4:9:?;73<21273?84:9:?;75<21273o4:9:?463<2127<>84:9:?46=<2127<>:4:9:?467<2127=jh4:9:?5b<<2127=j54:9:?5bg<2127=jl4:9:?5b0<2127=h<4:9:?5gf<2127=oo4:9:?5g`<2127=oi4:9:?5g=<2127=m94:9:?5=c<2127=5h4:9:?5e4<2127=m=4:9:?5=g<2127=;:4:9:?537<2127=;<4:9:?531<2127=;>4:9:?52`<2127=8l4:9:?500<2127=894:9:?502<2127=8;4:9:?504<2127==i4:9:?55=<2127==:4:9:?55d<2127==44:9:?551<2127>j=4:9:?6ag<2127>il4:9:?6aa<2127>in4:9:?6a2<2127>o>4:9:?6f`<2127>ni4:9:?6g5<2127>nk4:9:?6fd<2127>5;4:9:?6=4<2127>5=4:9:?6=6<2127>5?4:9:?6:44:9:?621<2127>:>4:9:?623<2127>:84:9:?625<2127>?n4:9:?672<2127>?;4:9:?67<<2127>?54:9:?676<2127><44:9:?64f<2127>h4:9:?76<<2127?>54:9:?76g<2127?>l4:9:?760<2127?<<4:9:?0bf<21278jo4:9:?0b`<21278ji4:9:?0b=<21278h94:9:?0gc<21278oh4:9:?0`4<21278h=4:9:?0gg<21278m:4:9:?0e7<21278m<4:9:?0e1<21278m>4:9:?0=`<21279o44:9:?1g=<21279o;4:9:?1g2<21279n;4:9:?1f0<21279n>4:9:?1f1<212795=4:9:?1h4:9:?16c<21279=h4:9:?15a<21279=o4:9:?15f<212794:9:?2<1<2127:;>4:9:?237<2127:;=4:9:?234<2127::=4:9:?21c<2127:9i4:9:?21`<2127:8i4:9:?20f<2127:8l4:9:?20g<2127:?l4:9:?27<<2127:?:4:9:?27=<2127:>:4:9:?263<2127:>94:9:?260<2127:=94:9:?256<2127:=<4:9:?257<212788h4:9:?00a<212788o4:9:?00f<21278?o4:9:?07d<21278?54:9:?07<<21278>54:9:?062<21278>84:9:?063<21278=84:9:?051<21278=?4:9:?056<212784:9:?1e7<21279m=4:9:?1e4<2127:h?4:9:?2`4<2127:ok4:9:?2`5<2127:<<4:9:?245<2127mi7;6;0?j33<7p}93;296~X1;27i5o468:p21<72;qU:952b8`9=<=z{??1<7{t>10;6?uQ699>fd6=1>1v;750;0xZ3?<5kk;6464}r4b>5<5sWvP9b:?ae5<>i2wx:n4?:2y]2f=:;{t?90;6?uQ719>fd5=111v:?50;0xZ27<5kk86474}r51>5<5sW=970ln3;;b?xu0;3:1>vP83:?a=f<>=2wx;94?:3y]31=:j0i15;5rs6794?4|V>?01o7l:858yv112909wS99;<`:g???3ty<;7>52z\43>;e1h0296s|7983>7}Y?116n4m5989~w2?=838pR:74=c;g><3l33=7p}8b;296~X0j27i5i467:p3f<72;qU;n52b8f9===z{>o1<7;e1h02;6s|8083>`4|V1;01l6<:4`89d>52k801l6>:4`89d>72k801l9i:4`89d1b2k801l9k:4`89d1d2k801l9m:4`89d1f2k801l96:4`89d1?2k801l98:4`89d112k801l9::4`89d132k801l9<:4`89d152k801l9>:4`89d172k801l8i:4`89d0b2k801l8k:4`89d0d2k801l8m:4`89d0f2k801l86:4`89d0?2k801l88:4`89d012k801l8::4`89d032k801l8<:4`89d052k801l8>:4`89d072k801l;i:4`89d3b2k801l;k:4`89d3d2k801l;m:4`89d3f2k801l;6:4`89d3?2k801l;8:4`89d312k801l;::4`89d332k801l;<:4`89d352k801l;>:4`89d372k801l:i:4`89d2b2k801l:k:4`89d2d2k801l:m:4`89d2f2k801l:6:4`89d2?2k801l:8:4`89d212k801l:::4`89d232k801l:<:4`89d262k801l:?:4`89d5a2k801l=j:4`89d5c2k801l=l:4`89d5e2k801l=n:4`89d5>2k801l=7:4`89d502k801l=9:4`89d522k801l=;:4`89d542k801l==:4`89d562k801l=?:4`89d4a2k801l2k801l<7:4`89d402k801l<9:4`89d422k801l<;:4`89d442k801l<=:4`89d462k801l2k801l?7:4`89d702k801l?9:4`89d722k801l?;:4`89d742k801l?=:4`89d762k801l??:4`89d6a2k801l>j:4`89d6c2k801l>l:4`89d6e2k801l6m:4`89d>f2k801l66:4`89d>?2k801l68:4`89d>12k801l6::4`89d>32k801>6l:4`896>f269:4`896>326=:4`896>729j:4`8961d29n:4`8961?299:4`8961329?:4`8960b28l:4`8960f287:4`8960128;:4`8960528?:4`8963b27n:4`896??279:4`896?327=:4`896?726j:4`896>?29=:4`8963d22:8789d202522:8789<372529099vP72:?b41<2j27j<9478:?b<7<2j27j4=4:b:?b3`<2j27j;n4:b:?b3d<2j27j;54:b:?b33<2j27j;94:b:?b37<2j27j;=4:b:?b2`<2j27j:n4:b:?b2d<2j27j:54:b:?b23<2j27j:94:b:?b27<2j27j:=4:b:?b1`<2j27j9n4:b:?b1d<2j27j954:b:?b13<2j27j994:b:?b17<2j27j9=4:b:?b0`<2j27j8n4:b:?b0d<2j27j854:b:?b03<2j27j894:b:?:b`<>>27i5l469:p<6<728:?wS6<;<`e4?>?34h3i778;<;2=??0343:<778;<;3b??0343:?778;<;26??0342no778;<:f7??0342n>778;<:f2??0342n9778;<:ab??0342i:778;<:a1??0342i5778;<:a778;<:;=??034234778;<:;g??03423n778;<:51??0342>o778;<:6f??0342>j778;<:6a??034284778;<:1b??03429i778;<:06??03428=778;<:3f??0342;>778;<:35??0342;9778;<:30??034=oi778;<5g1??034=o8778;<5g=778;<564??034=9m778;<515??034=9<778;<510??034=9?778;<4e`??034778;<422??034<:9778;<7fb??034?n:778;<7f1??034?n5778;<7f778;<7a=??034?i4778;<7ag??034?in778;<7:1??034?3o778;<7;f??034?3j778;<7;a??034?=4778;<76b??034?>i778;<756??034?==778;<70f??034?8>778;<705??034?89778;<700??034?;i778;<731??034?;8778;<73o4778;<6g3??034>on778;<6ge??034>i8778;<6bf??034>jm778;<6ba??034>jh778;<6;3??034>3=778;<6;4??034>>m778;<665??034>><778;<660??034>>?778;<61`??034>98778;<617??034>9;778;<612??034>;<778;<1e3??0349m:778;<1ee??0349m5778;<1g7??0349hm778;<1`=??0349hh778;<1`g??0349j:778;<1:`??03492o778;<1b4??03492j778;<0`e??0348h9778;<0`0??0348i;778;<0a6??0348i=778;<0:5??03483o778;<0;f??03484778;<067??0348>>778;<071??0348?<778;<00b??03488>778;<01`??03489o778;<02b??0348:m778;<02=??0348;o778;<033??0348;:778;<3e=??034;m8778;<3e7??034;n:778;<3f5??034;n<778;<3`4??034;in778;<3ae??034;jh778;<3bn778;<37a??034;?5778;<37778;<1<5oi15:52b8c9=d=z{1>1<7234h2n77:;|qb3?6=kr7ijl461:?agg479:?247<>>2wxm54?:2158daj3kh70l7d;7a?8g783?i70o?1;7a?8g7:3?i707i6;7a?8?a?3?i70li0;7a?8da93?i70lka;7a?8ddn3?i70llc;7a?8dd03?i70ll4;7a?8dd83?i70lmc;7a?8de03?i70lm4;7a?8de;3?o70lm6;7g?8?b;3?o707j6;7g?8?6i3?i707>5;7a?8?6<3?i707>7;7a?8?6>3?i707>1;7a?8?603?i707>f;:;?8?6m323707>c;7a?8?6k323707>b;7a?8?6j323707<6;7a?8?4?3?i707=e;7a?8?5n3?i706jd;7a?8>b03?i706j7;7a?8>bi3?i706j9;7a?8>b<3?i706jb;7a?8>a:323706i1;:;?8>bn3?i706jf;:;?8>bm3?i706je;:;?8?713?i707?a;7a?8?793?i707?2;7a?8>d83?i706mb;7a?8>ei3?i706md;7a?8>ek3?i706m7;7a?8>em3?i706l5;:;?8>d<323706l2;7a?8>d:323706l1;7a?8>d9323706kc;7a?8>cl3?i706k4;7a?8>c=3?i70663;7a?8>?m3?i7067d;7a?8>>83?i7067f;7a?8>?i3?i70661;7a?8>>032370667;:;?8>>=3?i70665;:;?8>><3?i70664;:;?8>fn3?i706m0;7a?8>f?3?i706n8;7a?8>1>3?i70691;7a?8>183?i70693;7a?8>1:3?i706:d;7a?8>1<3?i7069b;:;?8>1i32370698;7a?8>1032370697;7a?8>1?32370672;7a?8>?;3?i7068a;7a?8>0j3?i706<9;7a?8>4<3?i706<3;7a?8>4>3?i706<5;7a?8>483?i706<7;7a?8>4m3237064j3?i7064i3?i7062=3?i706:6;7a?8>3l3?i706;e;7a?8>7k3?i706?7;7a?8>7>3?i706?9;7a?8>703?i706?3;7a?8>7i3?i706>1;:;?8>68323706?e;7a?8>7m323706?d;7a?8>7l323706=8;7a?8>513?i706=0;7a?8>593?i709kf;7a?81ci3?i709k9;7a?81ck3?i709kb;7a?81c>3?i709kd;7a?81b<323709j3;:;?81b93?i709j1;:;?81b83?i709j0;:;?81aj3?i709ic;7a?81a;3?i709i4;7a?81e:3?i709nd;7a?81fk3?i709nf;7a?81fm3?i709n9;7a?81e83?i709m7;:;?81e>323709m4;7a?81e<323709m3;7a?81e;323709le;7a?81dn3?i709l6;7a?81d?3?i70975;7a?81?83?i7098f;7a?81?:3?i70971;7a?810k3?i70973;7a?81?i32370979;:;?81??3?i70977;:;?81?>3?i70976;:;?81f93?i709n2;7a?81>13?i7096a;7a?81203?i709:3;7a?812:3?i709:5;7a?812<3?i709;f;7a?812>3?i709:d;:;?812k323709:a;7a?812i323709:9;7a?812132370984;7a?810=3?i7099c;7a?811l3?i709=b;7a?815>3?i709=5;7a?81503?i709=7;7a?815:3?i709=9;7a?8148323709=f;:;?815l3?i709=d;:;?815k3?i709=c;:;?813?3?i709;8;7a?814n3?i709;0;7a?80am3?i708i9;7a?80a03?i708ib;7a?80ai3?i708i5;7a?80ak3?i709?3;:;?817:323709?0;7a?8178323708if;7a?80an323709>a;7a?816j3?i709>2;7a?816;3?i708k1;7a?80dk3?i708lb;7a?80dm3?i708ld;7a?80d03?i708lf;7a?80c>323708k5;:;?80c;3?i708k3;:;?80c:3?i708k2;:;?80bl3?i708je;7a?80b=3?i708j6;7a?80f<3?i7086f;7a?80>m3?i708n1;7a?80f83?i7086b;7a?80f:3?i708n9;:;?80f0323708n6;7a?80f>323708n5;7a?80f=323708l0;7a?80d93?i708m8;7a?80e13?i70887;7a?800:3?i70881;7a?800<3?i70883;7a?801m3?i70885;7a?800k3237088b;:;?80013?i70889;:;?80003?i70888;:;?80>;3?i70864;7a?80?j3?i7087c;7a?803i3?i708;5;7a?803<3?i708;7;7a?803>3?i708;1;7a?80303?i708;f;:;?803m323708;c;7a?803k323708;b;7a?803j32370896;7a?801?3?i708:e;7a?802n3?i708>d;7a?80603?i708>7;7a?806i3?i708>9;7a?806<3?i708>b;7a?805:323708=1;:;?806n3?i708>f;:;?806m3?i708>e;:;?80413?i708>3?i70;61;7a?83>83?i70;63;7a?83>:3?i70;7d;7a?83><3?i70;6b;:;?83>i32370;68;7a?83>032370;67;7a?83>?32370;m2;7a?83e;3?i70;na;7a?83fj3?i70;99;7a?831<3?i70;93;7a?831>3?i70;95;7a?83183?i70;97;7a?831m32370;9d;:;?831j3?i70;9b;:;?831i3?i70;9a;:;?83?=3?i70;76;7a?830l3?i70;8e;7a?834k3?i70;<7;7a?834>3?i70;<9;7a?83403?i70;<3;7a?834i3?i70;;1;:;?833832370;3?i70;?d;7a?836<32370;>3;:;?83693?i70;>1;:;?83683?i70;>0;:;?835j3?i70;=c;7a?835;3?i70;=4;7a?82b:3?i70:kd;7a?82ck3?i70:kf;7a?82cm3?i70:k9;7a?82b83?i70:j7;:;?82b>32370:j4;7a?82b<32370:j3;7a?82b;32370:ie;7a?82an3?i70:i6;7a?82a?3?i70:m5;7a?82e83?i70:nf;7a?82e:3?i70:m1;7a?82fk3?i70:m3;7a?82ei32370:m9;:;?82e?3?i70:m7;:;?82e>3?i70:m6;:;?82c93?i70:k2;7a?82d13?i70:la;7a?82?03?i70:73;7a?82?:3?i70:75;7a?82?<3?i70:8f;7a?82?>3?i70:7d;:;?82?k32370:7a;7a?82?i32370:79;7a?82?132370:n4;7a?82f=3?i70:6c;7a?82>l3?i70::b;7a?822>3?i70::5;7a?82203?i70::7;7a?822:3?i70::9;7a?821832370::f;:;?822l3?i70::d;:;?822k3?i70::c;:;?820?3?i70:88;7a?821n3?i70:80;7a?825m3?i70:=9;7a?82503?i70:=b;7a?825i3?i70:=5;7a?825k3?i70:<3;:;?824:32370:<0;7a?824832370:=f;7a?825n32370:;a;7a?823j3?i70:;2;7a?823;3?i70:?1;7a?85ak3?i70=ib;7a?85am3?i70=id;7a?85a03?i70=if;7a?827>32370:?5;:;?827;3?i70:?3;:;?827:3?i70:?2;:;?826l3?i70:>e;7a?826=3?i70:>6;7a?85c<3?i70=lf;7a?85dm3?i70=k1;7a?85c83?i70=lb;7a?85c:3?i70=k9;:;?85c032370=k6;7a?85c>32370=k5;7a?85c=32370=i0;7a?85a93?i70=j8;7a?85b13?i70=n7;7a?85f:3?i70=n1;7a?85f<3?i70=n3;7a?85>m3?i70=n5;7a?85fk32370=nb;:;?85f13?i70=n9;:;?85f03?i70=n8;:;?85d;3?i70=l4;7a?85ej3?i70=mc;7a?84d13?i703?i703?i7083?i70<7f;7a?84?l3?i70<7e;7a?84>;3?i70<63;:;?84>:3?i70<62;:;?840l3?i70<8c;7a?840i3?i70<8b;7a?84?83?i70<70;:;?840n3?i70<8f;:;?841i3?i70<99;7a?841?3?i70<98;7a?841l3?i70<9d;:;?841k3?i70<9c;:;?842?3?i70<:6;7a?842<3?i70<:5;7a?842i3?i70<:a;:;?84213?i70<:9;:;?843<3?i70<;3;7a?84393?i70<;2;7a?843?3?i70<;7;:;?843>3?i70<;6;:;?84493?i70<<0;7a?845m3?i70<=f;7a?844<3?i70<<4;:;?844;3?i70<<3;:;?846m3?i70<>d;7a?846j3?i70<>c;7a?84593?i70<=1;:;?84583?i70<=0;:;?847j3?i7013?i70?68;7a?87>>3?i70?67;7a?87>k3?i70?6c;:;?87>j3?i70?6b;:;?87?>3?i70?75;7a?87?;3?i70?74;7a?87?13?i70?79;:;?87?03?i70?78;:;?870;3?i70?82;7a?87083?i70?81;7a?870>3?i70?86;:;?870=3?i70?85;:;?87183?i70?:f;7a?872l3?i70?:e;7a?871;3?i70?93;:;?871:3?i70?92;:;?873l3?i70?;c;7a?873i3?i70?;b;7a?87283?i70?:0;:;?873n3?i70?;f;:;?874i3?i70?<9;7a?874?3?i70?<8;7a?874l3?i70?3;7a?87693?i70?>2;7a?876?3?i70?>7;:;?876>3?i70?>6;:;?853m3?i70=;d;7a?853j3?i70=;c;7a?85293?i70=:1;:;?85283?i70=:0;:;?854j3?i70=4;7a?856:3?i70=>3;7a?85603?i70=>8;:;?856?3?i70=>7;:;?857:3?i70=?1;7a?84an3?i70=?0;7a?857=3?i70=?5;:;?857<3?i70=?4;:;?84bn3?i703?i70552==k16==:5899>555==k16===5899~wd?=838p1o7k:``89g?d20k0q~l9:185[d1349j9767;<1b=?3>349h?767;<1af?>?349jm77;;|qa3?6=>rTi;63:668;<>;2>k0>563:848;<>;2?m03463:6b8:0>{tj10;6;uQb99>1<2=01169465589>1g4=01169lo5899>10?<5=><55<1sWhj70;je;:;?83a:3?2708?c;:;?807<32370;i3;;7?xuej3:1:vPmb:?55g<2wxnn4?:7y]ff=:>=21455265a91<=:>?<1455264g9<==:>=n1595rscf94?0|Vkn01;9::9:8931>2<301;7<:9:893>e21201;9n:868yvdb290=wSlj;<4b6?>?34?3456z\ab>;1ko034639d286=>;1mm034639e48;<>;1l=0286s|c183>3}Yk916:km5899>356==016;344=0116;=?5959~wf7=83=><5:n=6874=2d3>=><5:o36564=2f4><20q~m9:185[e134=oh767;<5f5?3>34=mn767;<5e7?>?34=n>77;;|q`3?6=>rTh;6370`8;<>;?8l0>5637298;<>;?:90346370g8:0>{tk10;6;uQc99><61=01164>l5589><03=011649j5899><6e=1=1vn750;4xZf?<510?<51296564=95b>=><51<264:4}rab>5<1sWij70661;:;?8>>=3?2706nf;:;?8>f?32370666;;7?xudj3:1:vPlb:?;f`<2wxon4?:7y]gf=:;ol1455241191<=:<8n145524079<==:<9>1595rsbf94?0|Vjn015km:9:89=ca2<3014>6:9:89<66212015h?:868yvea290=wSmi;<;2?343:o7;6;<;02?>?3439i767;<;2`??33tyo<7>56z\g4>;3:j03463;3186=>;3;3;80286s|d083>3}Yl8168875899>00b==0168:95899>03`=011688k5959~wa4=83=><5=2j6874=5c7>=><5=3h6564=5:a><20q~j8:181[b03438j7l?;|qg{tl00;6?uQd89>=20=j91vio50;0xZag<50=i6o>4}rfa>5<5sWni70770;`3?xuck3:1>vPkc:?:<052z\f4>;>100i<6s|e083>7}Ym81654k5b19~w`4=838pRh<4=867>g6{tm00;6?uQe89>=f7=j91vho50;0xZ`g<50i=6o>4}rga>5<5sWoi707lb;`3?xubk3:1>vPjc:?:`552z\e5>;>7}Yn;1658=5b19~wc5=838pRk=4=87;>g6no0i<63n0286f>;f8:034636f78;<>;f<80>n63n3g86f>;f;m0>n63n3c86f>;f;00>n63n3686f>;f;<0>n63n3286f>;f;80>n63n2g86f>;f:m0>n63n2c86f>;f:00>n63n2686f>;f:<0>n63n2286f>;f:80>n63n1g86f>;f9m0>n63n1c86f>;f900>n63n1686f>;f9<0>n63n1286f>;f980>n63n0g86f>;f8m0>n63n0c86f>;f0h0>n63n8986f>;f0?0>n63n8586f>{tnk0;6?u2b9f9f5=:j1o15;5rs025>5<5s4ln6564=ga9eg=z{8:<6=4={<334?>?34lo6ll4}r334m0:?eg??23ty:<44?:3y>557=j916ji466:p55g=838p1<>?:c289ce=1?1v<>m:1818`b2k:01kh5899~w46d2909w0??1;:;?877:3ki7p}>0e83>7}:99>1n=52fe8:1>{t99o1<70?<58:>6ll4}r32=?6=:r7:=<478:?24cv3>178a4>;68o0296s|10a94?4|58;?6o>4=033><052z?256:c2894752120q~?>f;296~;69=03463>148bf>{t9;:1<7g6<58;;64;4}r315?6=:r7:=;4:9:?25=v3>278;<>;6::0jn6s|13g94?4|58826o>4=001><352z?262>466:p566=838p1<<9:c28944520<0q~?<1;296~;6:=0i<63>248;<>{t9:81<7=><58836ll4}r307?6=:r7:>l4m0:?266<>=2wx=>:50;0x944>2<301<v3>368;<>;6;<0jn6s|15294?4|58926564=015>dd52z?27f348:2>{t9=>1<7g6<58936564}r371?6=:r7:?l478:?27gv3>3b86=>;6;l0jn6s|14094?4|58>j6564=06;>dd?7>52z?20f488:2>{t9<<1<7g6<58>36484}r363?6=:r7:8l4m0:?20gv3>518a4>;6<00296s|14c94?4|58>m6874=072>dd52z?21a;0i<63>5c8:1>{t9?21<7g6<58?h6484}r35=?6=:r7:9k4m0:?21g<>>2wx=;o50;0x943c2k:01<;j:9:8yv71j3:1>v3>618;<>;6>80jn6s|17a94?4|58<86o>4=07`><352z?227<2127::94nb:p52>=838p1<9?:9:8940b2hh0q~?89;296~;6?;03463>6g8bf>{t9>k1<7g6<584m0:?22c<>>2wx=:m50;0x94152k:01<8j:848yv70l3:1>v3>718a4>;6?80346s|16g94?4|58=86564=057>dd52z?233808bf>{t91i1<7=><58296ll4}r3;`?6=:r7:454m0:?2<4<>=2wx=5k50;0x94>12k:01<6=:848yv7?n3:1>v3>848a4>;60802:6s|18294?4|58286o>4=0:7>=>52z?2<3520?0q~?63;296~;6010>563>8`8bf>{t90o1<7=><583?6ll4}r3:b?6=:r7:55478:?2=050;0x94?e2k:01<7;:878yv7f93:1>v3>988a4>;61<02:6s|1`094?4|58336o>4=0;7><052z?2=3948:1>{t9h<1<70?<583o6ll4}r3a5?6=:r7:m4478:?2e2v3>ad8a4>;6i>0296s|1c694?4|58kh6o>4=0c;><052z?2egae8bf>{t9k21<7g6<58k364;4}r3a=?6=:r7:mh4:9:?2f5v3>bd8;<>;6jk0jn6s|1b494?4|58i:6o>4=0`b><352z?2fc=838p1be8;<>{t9jk1<7=><58i;6ll4}r3`f?6=:r7:o?4m0:?2fg<>=2wx=nm50;0x94e62<301v3>cg8;<>;6km0jn6s|1e:94?4|58n:6564=0af>dd52z?2`1ce8:2>{t9mi1<7g6<58n;6564}r3g`?6=:r7:h?478:?2`6v3>d586=>;6l?0jn6s|1dc94?4|58o96564=0g3>dd52z?2a1e08:2>{t9lo1<7g6<58o;6484}r3fb?6=:r7:i?4m0:?2a650;0x94c221201v3>e98a4>;6m80296s|1g094?4|58o<6874=0g:>dd52z?2b04nb:p5cc=838p1f28:1>{t:9:1<7g6<58l?6484}r035?6=:r7:j:4m0:?2b6<>>2wx>=<50;0x94`22k:01v3>f98;<>;6n00jn6s|21694?4|58li6o>4=0d7><352z?2bd<2127:jn4nb:p646=838p1?>7:9:897612hh0q~<>1;296~;58h03463=068bf>{t:881<7g6<5;:=64;4}r027?6=:r79>2wx><:50;0x976f2k:01?>9:848yv46=3:1>v3=098a4>;5800346s|20494?4|5;:i6564=32`>dd52z?14`=838p1?>k:4;8976a2hh0q~<=3;296~;59k03463=188bf>{t:;>1<7=><5;;j6ll4}r011?6=:r79>=4m0:?15<<>=2wx>?850;0x977b2k:01??n:848yv45?3:1>v3=1e8a4>;59002:6s|23:94?4|5;;i6o>4=33`>=>52z?15`:c28977f20?0q~<=b;296~;5:90>563=238bf>{t::<1<7=><5;8h6ll4}r003?6=:r79?=478:?16a>650;0x97542k:01?v3=308a4>;5:m02:6s|22c94?4|5;9;6o>4=30`><052z?16`k478:p66e=838p1?=>:9:897552hh0q~<{t::o1<70?<5;9>6ll4}r07=?6=:r798<478:?17c9o50;0x972421201?:?:``8yv43j3:1>v3=478a4>;5;o0296s|25a94?4|5;>?6o>4=363><052z?106:c2897252120q~<;f;296~;5<=03463=448bf>{t:<:1<7g6<5;>;64;4}r065?6=:r798;4:9:?10=8m50;0x973321201?;=:``8yv42l3:1>v3=578;<>;5=:0jn6s|24g94?4|5;?26o>4=371><3j7>52z?112466:p636=838p1?;9:c28973520<0q~<91;296~;5==0i<63=548;<>{t:?81<7=><5;?36ll4}r057?6=:r799l4m0:?116<>=2wx>;:50;0x973>2<301?;m:``8yv41n3:1>v3=668;<>;5><0jn6s|26294?4|5;<26564=345>dd52z?12f00i<63=648:2>{t:>>1<7g6<5;<36564}r041?6=:r79:l478:?12g:850;0x970c2k:01?89:878yv40?3:1>v3=6b86=>;5>l0jn6s|29094?4|5;=j6564=35;>dd52z?13f{t:1<1<7g6<5;=36484}r0;3?6=:r79;l4m0:?13g5650;0x971c21201?9j:``8yv4?13:1>v3=818a4>;5?00296s|29c94?4|5;=m6874=3:2>dd52z?1d2hh0q~<67;296~;51;0i<63=8c8:1>{t:021<7g6<5;2h6484}r0:=?6=:r794k4m0:?1>2wx>4o50;0x97>c2k:01?6j:9:8yv4>j3:1>v3=918;<>;5180jn6s|28a94?4|5;386o>4=3:`><352z?1=7<21279594nb:p6d>=838p1?o?:9:897?b2hh0q~{t:hk1<7g6<5;3n64;4}r0bf?6=:r79m>4m0:?1=c<>>2wx>lm50;0x97g52k:01?7j:848yv4fl3:1>v3=a18a4>;5i80346s|2`g94?4|5;k86564=3c7>dd52z?1e3{t:ki1<7=><5;h96ll4}r0a`?6=:r79n54m0:?1f4<>=2wx>ok50;0x97d12k:01?l=:848yv4en3:1>v3=b48a4>;5j802:6s|2b294?4|5;h86o>4=3`7>=>52z?1f3563=b`8bf>{t:jo1<7=><5;i?6ll4}r0`b?6=:r79o5478:?1g0i>50;0x97ee2k:01?m;:878yv4c93:1>v3=c88a4>;5k<02:6s|2e094?4|5;i36o>4=3a7><052z?1g3{t:m<1<70?<5;io6ll4}r0f5?6=:r79h4478:?1`2h<50;0x97be21201?j7:``8yv4b;3:1>v3=dd8a4>;5l>0296s|2d694?4|5;nh6o>4=3f;><052z?1`g{t:l21<7g6<5;n364;4}r0f=?6=:r79hh4:9:?1a5k:50;0x97cd21201?kn:``8yv4a=3:1>v3=ed8;<>;5mk0jn6s|2g494?4|5;l:6o>4=3gb><352z?1ac=838p1?kj:c2897cf20<0q~{t:ok1<7=><5;l;6ll4}r0ef?6=:r79j?4m0:?1ag<>=2wx>km50;0x97`62<301?h<:``8yv57?3:1>v3=fg8;<>;5nm0jn6s|31:94?4|5:::6564=3df>dd52z?041>=:c2897`b20<0q~=?b;296~;4880i<63=fe8:2>{t;9i1<7g6<5::;6564}r13`?6=:r78v3<0586=>;48?0jn6s|30c94?4|5:;96564=233>dd52z?051?8:c28967720?0q~=>d;296~;49<0i<63<108:2>{t;8o1<7g6<5:;;6484}r12b?6=:r78=?4m0:?05650;0x967221201>?9:``8yv5593:1>v3<198a4>;4980296s|33094?4|5:;<6874=23:>dd52z?060>4nb:p77c=838p1><8:9:896432hh0q~==f;296~;4:h0i<63<228:1>{t;::1<7g6<5:8?6484}r105?6=:r78>:4m0:?066<>>2wx?><50;0x96422k:01><9:9:8yv54;3:1>v3<298;<>;4:00jn6s|32694?4|5:8i6o>4=207><352z?06d<21278>n4nb:p716=838p1>=7:9:896512hh0q~=;1;296~;4;h03463<368bf>{t;=81<7g6<5:9=64;4}r177?6=:r78?o4m0:?072<>>2wx?9:50;0x965f2k:01>=9:848yv53=3:1>v3<398a4>;4;00346s|35494?4|5:9i6564=21`>dd52z?07`=838p1>=k:4;8965a2hh0q~=:3;296~;4{t;<>1<7=><5:>j6ll4}r161?6=:r789=4m0:?00<<>=2wx?8850;0x962b2k:01>:n:848yv52?3:1>v3<4e8a4>;4<002:6s|34:94?4|5:>i6o>4=26`>=>57>52z?00`;>:c28962f20?0q~=:b;296~;4=90>563<538bf>{t;hn1<7=><5:3h6ll4}r1ba?6=:r78m?478:?0=ao9:878yv5e83:1>v3;4jh0i<6s|3c394?4|5:k36o>4=2;`><37>52z?0e2o=:c2896?d20<0q~=m4;296~;4i80i<63{t;k?1<7g6<5:3m6484}r1a2?6=:r78m>4m0:?0=`o9:``8yv5e03:1>v3;4k;0i<6s|3c;94?4|5:k26o>4=2;g><353z?0fgln:9:8yv5en3:1>v3;41o0296s|3b294?4|5:k86564=2;e>dd52z?0e1m<:c2896e321201>m=:9:8yv5d>3:1>v3;4k;0i>6s|3b594?4|5:kh6o>4=2c3><352z?0e=<21278ml4nb:p7ag=838p1>mj:9:896e>2hh0q~=kb;296~;4ko03463{t;mi1<7g6<5:n864;4}r1g`?6=:r78h54:b:?0a2m6:878yv5cn3:1>v3;4kh02:6s|3d294?4|5:im6o>4=2a:><052z?0g`j>:c2896ed20<0q~=j3;296~;4l90i<63{t;l>1<7=><5:n86ll4}r1f1?6=:r78h44:b:?0acmn:878yv5bi3:1?v3;4m003463{t;lh1<7g6<5:o<6564}r1fg?6=:r78h54m0:?0gf<>=2wx?hj50;0x96b721201>ml:``8yv5bm3:1>v3;4km0jn6s|3g094?5|5:l;6o>4=2d2>=><5:om6564}r1e7?6=:r78j<4m0:?0ac2k:01>mk:878yv5a=3:1>v3;4l>0jn6s|41594?4|5:li6564=2d5>dd;47>52z?0bfhi:c28916720?0q~:?a;296~;38<0>n63;158a4>{t<9h1<7g6<5:l=64;4}r63g?6=:r7?<<4m0:?0b2<>>2wx8=j50;0x96`d2k:01>h9:848yv27m3:1>v3;4nh02:6s|41d94?4|5:ln6o>4=2d:><0:<7>52z?0ba>:9:891672hh0q~:>2;296~;38?0>n63;1b8a4>{t<891<7g6<5:l<64;4}r623?6=;r7?=84m0:?753=838p19?9:c2891732120q~:>9;296~;38<0i<63{t<8k1<7=><5:l26ll4}r62f?6=:r78jh478:?0bd{t<;;1<7g6<5:lj64;4}r616?6=:r7?:50;0x914?212019<<:``8yv24=3:1>v3;288;<>;3:=0jn6s|42494?4|5=8h6o>4=50g><38;7>52z?777<2j27?8<4m0:p06>=838p19{t<:k1<7g6<5=886484}r60f?6=:r7?>54m0:?762<>>2wx8>m50;0x914e2k:019<9:848yv24l3:1>v3;2`8a4>;3:<0346s|42g94?4|5=8n6564=50g>dd8j7>52z?776<2j27?844m0:p016=838p19=?:c28914320?0q~:;4;297~;3<;0i<63;428;<>;3<80i>6s|45794?4|5=>86o>4=562>=>?:7>52z?777;465:p011=838p19{t<=i1<7=t=56b>g6<5=>i6564=56:>=>?h7>52z?70g563;308bf>{t=><5=?;6ll4}r656?6=:r7?9;478:?7142k:019;n:878yv21<3:1>v3;5g86f>;3>l0i<6s|47794?4|5=?h6o>4=573><3=:7>52z?71g{tg6<5=?86484}r65e?6=:r7?9:4m0:?717v3;6186f>;3??0i<6s|47f94?4|5=?o6o>4=572><3<=7>53z?72cv3;5g8a4>;3=:0296s|46694?4|5=?<6564=570>dd<97>52z?71=v3;798a4>;3??0i>6s|46`94?4|5=<;6o>4=577><352z?71f<2127?9h4nb:p0=c=838p196=:9:8911c2hh0q~:7f;296~;30:03463;7d8bf>{t<0:1<7g6<5=2<64;4}r6:5?6=:r7?4n4:b:?7=g>2k:0199k:878yv2>;3:1>v3;898a4>;3?l02:6s|48694?4|5=286o>4=55g><0297>52z?7<7720<0q~:67;296~;30=0i<63;7g8;<>{t<021<7=><5=2<6ll4}r6:=?6=:r7?4i4:b:?7e6f2k:0199j:878yv2>m3:1?v3;9b8a4>;31m03463;9c8a6>{t<0l1<7g6<5=3i6564}r6b4?6=:r7?4n4m0:?7<5<>=2wx8l?50;0x91>32120196?:``8yv2f:3:1>v3;848;<>;3080jn6s|4`494?5|5=k?6o>4=5c6>=><5=k86564}r6b3?6=:r7?m84m0:?7e6c2k:0196>:878yv2f13:1>v3;8886=>;30k0jn6s|4c`94?4|5=km6564=5cb>ddio7>52z?7f5n63;c98a4>{tg6<5=kj64;4}r6`4?6=:r7?n84m0:?7eg<>>2wx8n?50;0x91d72k:019on:848yv2d:3:1>v3;ag8a4>;3il02:6s|4b194?4|5=h96o>4=5cg><0h87>52z?7f4n63;d18a4>{tg6<5=ki64;4}r6`f?6=;r7?o44m0:?7gd{t=><5=ko6ll4}r6`b?6=:r7?n?478:?7e`{tg6<5=kn64;4}r6g2?6=:r7?n;4:9:?7f=v3;de8;<>;3l10jn6s|4dc94?4|5=o;6o>4=5g2><3nn7>52z?7a3<2j27?j84m0:p0`e=838p19k<:c2891b020?0q~:jd;296~;3m;0i<63;d98:2>{tg6<5=n<6484}r6fb?6=:r7?hn4m0:?7`g<>>2wx8k>50;0x91ba2k:019jn:848yv2a93:1>v3;dd8a4>;3l00346s|4g094?4|5=o96564=5g2>ddm?7>52z?7a2<2j27?ji4m0:p0c2=838p19k;:c2891b?20?0q~:i8;297~;3n?0i<63;f68;<>;3n<0i>6s|4g;94?4|5=l<6o>4=5d6>=>mm7>52z?7a3{t=9:1<7=t=5df>g6<5=lm6564=5dg>=>52z?7bc563;e48bf>{t=8?1<7=><5<:?6ll4}r722?6=:r7>j:878yv3603:1>v3:1286f>;2:;0i<6s|50;94?4|5<;;6o>4=427><352z?64c<8466:p14d=838p18>n:c28906320<0q~;>c;296~;2800i<63:098:2>{t=8n1<7g6<5<:<6484}r72a?6=:r7>j:``8yv3583:1>v3:1586f>;2:h0i<6s|53394?4|5<;:6o>4=426><353z?666>9478:?667v3:128a4>;28>0296s|53:94?4|5<:i6564=424>dd52z?64f<54nb:p17b=839p18v3:2b8a4>;2:h0i>6s|53d94?4|5<;?6o>4=42;><352z?655<2127>=?4nb:p114=838p18=9:9:890562hh0q~;;3;296~;2;>03463:338bf>{t==>1<7g6<5<9i64;4}r771?6=:r7>8=4:b:?60c:878yv33?3:1>v3:3b8a4>;2;;02:6s|55:94?4|5<9<6o>4=412><052z?673?8466:p11g=838p18=6:c28905320<0q~;;b;296~;2;10i<63:328;<>{t==i1<7=><5<9i6ll4}r77`?6=:r7>8<4:b:?612;2=803463:4g8a6>{t=<91<7g6<5<>m6564}r760?6=:r7>8=4m0:?671<>=2wx98;50;0x905?212018=;:``8yv32>3:1>v3:388;<>;2;<0jn6s|54c94?5|54=47:>=><5944m0:?612v3:3e86=>;2;o0jn6s|57d94?4|5<<86564=47f>dd52z?6219k4nb:p127=838p1888:c28900?20?0q~;82;296~;2>m0>n63:7b8a4>{t=>91<7g6<5:44m0:?61c<>>2wx9:;50;0x90032k:018;j:848yv30>3:1>v3:628a4>;2>;02:6s|56594?4|5<<=6o>4=442><052z?620:=478:p12?=838p1886:9:8900?2hh0q~;8a;296~;2>l0>n63:858a4>{t=>h1<7g6<5;i4m0:?63`;n4m2:p1=6=838p189j:c28901d2120q~;71;296~;2>m0i<63:608:1>{t=181<7=><5<<:6ll4}r7;7?6=:r7>:;478:?62722k:01869:9:890>32120q~;78;296~;20?0i<63:858a6>{t=131<7g6<5<<964;4}r7;e?6=:r7>:l4:9:?62fl3:1>v3:908;<>;20j0jn6s|58g94?4|5<3?6o>4=4;6><352z?6=d<2j27>m44m0:p1d6=838p1878:c2890>e20?0q~;n1;296~;21?0i<63:8b8:2>{t=h81<7g6<5<2i6484}r7b7?6=:r7>5=4m0:?6>2wx9l:50;0x90?42k:0186j:848yv3f=3:1>v3:938a4>;20m0346s|5`494?4|5<3=6564=4;6>dd52z?6=g<2j27>n<4m0:p1d>=838p1877:c2890>d20?0q~;nc;297~;2ih0i<63:ac8;<>;2i00i>6s|5`f94?4|54=4c:>=>52z?6=d4h465:p1d`=838p187=:9:890>b2hh0q~;m0;296~;21:03463:8g8bf>{t=k>1<7=t=4`1>g6<5=>52z?6f6n<4m2:p1g0=838p187m:c2890>a20?0q~;m7;296~;21>0>563:988bf>{t=j31<7=><5nh478:?6f<v3:c686f>;2l?0i<6s|5bf94?4|54=4`;><352z?6g6n4466:p1f`=838p18lj:c2890d?20<0q~;k0;296~;2jm0i<63:bb8:2>{t=m;1<7g6<5nk4m0:?6fdv3:c986f>;2ll0i<6s|5e794?4|56o>4=4`:><353z?6`2h5478:?6`3v3:c68a4>;2jk0296s|5ea94?4|5dd52z?6g5nn4nb:p1`7=839p18ji:c2890c7212018jj:9:8yv3b:3:1>v3:e18a4>;2ll0i>6s|5d194?4|54=4``><352z?6g1<2127>o;4nb:p1c0=838p18kn:9:890c22hh0q~;i7;296~;2mk03463:e78bf>{t=o21<7g6<5j94:b:?546v3:f18a4>;2m?02:6s|5ga94?4|54=4g6><052z?6adi4466:p1cc=838p18kk:c2890c?20<0q~;if;296~;2mj0i<63:e68;<>{t>9:1<7=><5j84:b:?54g3:1?v39058a4>;18<034639028a6>{t>9=1<7g6<5?:86564}r43j94m0:?6a=<>=2wx:=750;0x90cd212018k7:``8yv07i3:1>v3:ee8;<>;2m00jn6s|61g94?5|5?:h6o>4=72g>=><5?:i6564}r43b?6=:r7=50;0x90`22k:018k6:878yv0693:1>v3:f086=>;2n:0jn6s|63194?4|5?;<6564=731>dd52z?55=4nb:p273=838p1;?m:c28937d20?0q~8=6;296~;1:80>n639318a4>{t>;=1<7g6<5?;964;4}r41>2wx:?750;0x937?2k:01;?=:848yv05i3:1>v39168a4>;19?02:6s|63`94?4|5?;j6o>4=736><052z?55<n639398a4>{t>;l1<7g6<5?;864;4}r407?6=;r7=?<4m0:?577{t>:<1<7=><5?;>6ll4}r403?6=:r7==l478:?553l50;1x935>2k:01;=n:9:8935?2120q~8{t>:n1<7g6<5?;=64;4}r40a?6=:r7==h4:9:?56550;0x932321201;=i:``8yv0293:1>v39448;<>;1<90jn6s|64094?4|5?>36o>4=76:><3?7>52z?50`<2j27=9i4m0:p202=838p1;:m:c28935a20?0q~8:5;296~;1{t><<1<7g6<5?9m6484}r463?6=:r7=894m0:?506<>>2wx:8650;0x93202k:01;:=:848yv0213:1>v39478a4>;1<80346s|64c94?4|5?>j6564=76:>ddn7>52z?50c<2j27=:84m0:p20e=838p1;:l:c28932720?0q~890;297~;1=l0i<6395g8;<>;1=m0i>6s|67394?4|5??m6o>4=77g>=>7>52z?50`034639428bf>{t>?21<7=t=745>g6<5?<<6564=746>=>52z?52256394e8bf>{t>>n1<7=><5?v397c86f>;10h0i<6s|69394?4|5?=36o>4=74`><37>52z?532{t>1?1<7g6<5?4m0:?52`v397b86f>;11;0i<6s|69;94?4|5?=26o>4=74g><353z?5d2k:01;6n:9:8yv0?n3:1>v397c8a4>;1>o0296s|68294?4|5?=86564=74e>dd52z?531>3:1>v39958a4>;11;0i>6s|68594?4|5?=h6o>4=753><352z?53=<2127=;l4nb:p2dg=838p1;7j:9:893?>2hh0q~8nb;296~;11o0346399`8bf>{t>hi1<7g6<5?k864;4}r4b`?6=:r7=m54:b:?5f2v39a58a4>;11h02:6s|6c294?4|5?3m6o>4=7;:><052z?5=`:c2893?d20<0q~8m3;296~;1i90i<6399c8;<>{t>k>1<7=><5?k86ll4}r4a1?6=:r7=m44:b:?5fc;1j0034639b68a6>{t>kh1<7g6<5?h<6564}r4ag?6=:r7=m54m0:?5=f<>=2wx:oj50;0x93g721201;7l:``8yv0em3:1>v39a08;<>;11m0jn6s|6b094?5|5?i;6o>4=7a2>=><5?hm6564}r4`7?6=:r7=o<4m0:?5fc2k:01;7k:878yv0d=3:1>v39a486=>;1i>0jn6s|6e594?4|5?ii6564=7a5>dd52z?5gfn639e58a4>{t>mh1<7g6<5?i=64;4}r4gg?6=:r7=h<4m0:?5g2<>>2wx:ij50;0x93ed2k:01;m9:848yv0cm3:1>v39cc8a4>;1kh02:6s|6ed94?4|5?in6o>4=7a:><052z?5ga:9:893b72hh0q~8j2;296~;1l?0>n639eb8a4>{t>l91<7g6<5?i<64;4}r4f3?6=;r7=i84m0:?5a3=838p1;k9:c2893c32120q~8j9;296~;1l<0i<639c88:1>{t>lk1<7=><5?i26ll4}r4ff?6=:r7=oh478:?5gd{t>o;1<7g6<5?ij64;4}r4e6?6=:r7=h?4:9:?5`1v39f88;<>;1n=0jn6s|71494?4|5?lh6o>4=7dg><352z?447<2j27<=<4m0:p35>=838p1;hi:c2893`420?0q~9?9;296~;1nl0i<639f58:2>{t?9k1<7g6<5?l86484}r53f?6=:r7=j54m0:?5b2<>>2wx;=m50;0x93`e2k:01;h9:848yv17l3:1>v39f`8a4>;1n<0346s|71g94?4|5?ln6564=7dg>dd52z?446<2j27<=44m0:p346=838p1:>?:c2893`320?0q~9>4;297~;09;0i<638128;<>;0980i>6s|70794?4|5>;86o>4=632>=>52z?4478;296~;1nk034639f68bf>{t?8i1<7=t=63b>g6<5>;i6564=63:>=>52z?45g<:c2893`020?0q~9>f;296~;1no0>5638008bf>{t?:;1<7=><5>8;6ll4}r506?6=:r7<>;478:?464=50;0x924>2k:01:v382g86f>;0;l0i<6s|72794?4|5>8h6o>4=603><352z?46g<466:p361=838p1:<9:c28924720<0q~9<8;296~;0:<0i<638258:2>{t?:31<7g6<5>886484}r50e?6=:r7<>:4m0:?467l50;0x924e21201:v383186f>;08o6o>4=602><353z?47cv382g8a4>;0::0296s|75694?4|5>8<6564=600>dd52z?46=94nb:p31?=839p1::8:c28922?21201::9:9:8yv13i3:1>v38498a4>;06s|75`94?4|5>9;6o>4=607><352z?46f<2127<>h4nb:p30c=838p1:;=:9:8922c2hh0q~9:f;296~;0=:0346384d8bf>{t??:1<7g6<5>?<64;4}r555?6=:r7<9n4:b:?42g2k:01::k:878yv11;3:1>v38598a4>;0?86o>4=66g><052z?417{t??21<7=><5>?<6ll4}r55=?6=:r7<9i4:b:?436;0>m0346386c8a6>{t??l1<7g6<5>=2wx;:?50;0x923321201:;?:``8yv10:3:1>v38548;<>;0=80jn6s|76494?5|5>=?6o>4=656>=><5>=86564}r543?6=:r7<;84m0:?436:878yv1013:1>v385886=>;0=k0jn6s|79`94?4|5>=m6564=65b>dd52z?4<5320?0q~97e;296~;0000>n638998a4>{t?1l1<7g6<5>=j64;4}r5:4?6=:r7<484m0:?43g<>>2wx;4?50;0x92>72k:01:9n:848yv1>:3:1>v387g8a4>;0?l02:6s|78194?4|5>296o>4=65g><052z?4<432hh0q~966;296~;00h0>n638a18a4>{t?0=1<7g6<5>=i64;4}r5:f?6=;r7<544m0:?4=d{t?0o1<7=><5>=o6ll4}r5:b?6=:r7<4?478:?43`{t?h?1<7g6<5>=n64;4}r5b2?6=:r7<4;4:9:?4<=v38ae8;<>;0i10jn6s|7cc94?4|5>h;6o>4=6`2><352z?4f3<2j27{t?ko1<7g6<5>k<6484}r5ab?6=:r7>2wx;n>50;0x92ga2k:01:on:848yv1d93:1>v38ad8a4>;0i00346s|7b094?4|5>h96564=6`2>dd52z?4f2<2j27;0k<0i>6s|7b;94?4|5>i<6o>4=6a6>=>52z?4f3{t?m:1<7=t=6af>g6<5>im6564=6ag>=>52z?4gc5638b48bf>{t?l?1<7=><5>n?6ll4}r5f2?6=:r7v38e286f>;0n;0i<6s|7d;94?4|5>o;6o>4=6f7><352z?4`c{t?ln1<7g6<5>n<6484}r5fa?6=:r7v38e586f>;0nh0i<6s|7g394?4|5>o:6o>4=6f6><353z?4b6v38e28a4>;0l>0296s|7g:94?4|5>ni6564=6f4>dd52z?4`fv38fb8a4>;0nh0i>6s|7gd94?4|5>o?6o>4=6f;><352z?4a5<21279:9:89=662hh0q~6>3;296~;?8>034637038bf>{t08>1<7g6<51:i64;4}r:21?6=:r73==4:b:?;5c>:878yv>6?3:1>v370b8a4>;?8;02:6s|80:94?4|51:<6o>4=922><052z?;436:c289=6320<0q~6>b;296~;?810i<637028;<>{t08i1<7=><51:i6ll4}r:2`?6=:r73=<4:b:?;62=:878yv>5:3:1?v37218a4>;?:80346371g8a6>{t0;91<7g6<51;m6564}r:10?6=:r73==4m0:?;41<>=2wx4?;50;0x9=6?212015>;:``8yv>5>3:1>v37088;<>;?8<0jn6s|83c94?5|51836o>4=90:>=><518<6564}r:1f?6=:r73>44m0:?;62::878yv>5l3:1>v370e86=>;?8o0jn6s|82d94?4|51986564=90f>dd52z?;71k4nb:p<17=838p15=8:c289=5?20?0q~6;2;296~;?;m0>n6374b8a4>{t0=91<7g6<518n64;4}r:70?6=:r73?44m0:?;6c<>>2wx49;50;0x9=532k:0153>3:1>v37328a4>;?;;02:6s|85594?4|519=6o>4=912><052z?;70n637558a4>{t0=h1<7g6<518m64;4}r:7b?6=;r738i4m0:?;0`{t0<81<7=><519:6ll4}r:67?6=:r73?;478:?;77{t0<31<7g6<519964;4}r:6e?6=:r73?l4:9:?;7f1l3:1>v37608;<>;?=j0jn6s|87g94?4|514=946><352z?;2d<2j273;44m0:p<26=838p1588:c289=3e20?0q~681;296~;?>?0i<6375b8:2>{t0>81<7g6<51?i6484}r:47?6=:r73:=4m0:?;1c<>>2wx4::50;0x9=042k:015;j:848yv>0=3:1>v37638a4>;?=m0346s|86494?4|51<=6564=946>dd52z?;2g<2j2734<4m0:p<2>=838p1587:c289=3d20?0q~68c;297~;??h0i<6377c8;<>;??00i>6s|86f94?4|51=i6o>4=95:>=>52z?;2d:0346375g8bf>{t01>1<7=t=9:1>g6<51286564=9:2>=>52z?;<6>0>5637688bf>{t0031<7=><51236ll4}r::e?6=:r734h478:?;<<>k3:1>v379686f>;?i?0i<6s|88f94?4|513?6o>4=9:;><352z?;=6?20<0q~6n0;296~;?0m0i<6378b8:2>{t0h;1<7g6<512i6484}r:b6?6=:r734k4m0:?;f<3:1>v379986f>;?il0i<6s|8`794?4|513>6o>4=9::><353z?;e2fj3:1>v37968a4>;?0k0296s|8`a94?4|512m6564=9:a>dd52z?;=5e:3:1>v37b18a4>;?il0i>6s|8c194?4|51336o>4=9:`><352z?;=1<212735;4nb:p{t0j21<7g6<51hm64;4}r:`=?6=:r73o94:b:?;`6dj3:1>v37c18a4>;?j?02:6s|8ba94?4|51hi6o>4=9`6><052z?;fd{t0m:1<7=><51hm6ll4}r:g5?6=:r73o84:b:?;`gc>3:1?v37d58a4>;?l<034637d28a6>{t0m=1<7g6<51n86564}r:g=2wx4i750;0x9=dd212015l7:``8yv>ci3:1>v37be8;<>;?j00jn6s|8eg94?5|51nh6o>4=9fg>=><51ni6564}r:gb?6=:r73hi4m0:?;`g50;0x9=e22k:015l6:878yv>b93:1>v37c086=>;?k:0jn6s|8g194?4|51o<6564=9g1>dd52z?;a=4nb:pn636018a4>{t0o=1<7g6<51o964;4}r:e>2wx4k750;0x9=c?2k:015k=:848yv>ai3:1>v37e68a4>;?m?02:6s|8g`94?4|51oj6o>4=9g6><052z?;a<n636098a4>{t0ol1<7g6<51o864;4}r;37?6=;r72<<4m0:?:47=:c289<672120q~7?5;296~;?n80i<637e48:1>{t19<1<7=><51o>6ll4}r;33?6=:r73il478:?;a32k:014>n:9:89<6?2120q~7?c;296~;>8h0i<636098a6>{t19n1<7g6<51o=64;4}r;3a?6=:r73ih4:9:?;b550;0x9<73212014>i:``8yv?593:1>v36148;<>;>990jn6s|93094?4|50;36o>4=83:><352z?:5`<2j272>i4m0:p=72=838p14?m:c289<6a20?0q~7=5;296~;>9h0i<636118:2>{t1;<1<7g6<50:m6484}r;13?6=:r72=94m0:?:56<>>2wx5?650;0x9<702k:014?=:848yv?513:1>v36178a4>;>980346s|93c94?4|50;j6564=83:>dd52z?:5c<2j272?84m0:p=7e=838p14?l:c289<7720?0q~7<0;297~;>:l0i<6362g8;<>;>:m0i>6s|92394?4|508m6o>4=80g>=>7>52z?:5`9>034636128bf>{t1:21<7=t=815>g6<509<6564=816>=>52z?:729k0>56361e8bf>{t1:o1<7<0<509h6o?4}r;74?6=:r72?k478:?:7f:c38yv?3=3:1>v36458;<>;><80i<6s|95:94?4|50><6484=865>g752z?:0<{t1<81<7<0<50?;6o?4}r;60?6=:r729>478:?:15v36598;<>;>=<0i<6s|94a94?4|50?i6484=87b>g7i7>52z?:1a>;0346365g8a4>{t1?<1<7<0<50v366b8;<>;>>00i<6s|96294?4|50g77>52z?:34??034636728a4>{t1>k1<7<0<50=36o?4}r;4g?6=:r72;o478:?:3=v36818;<>;>?m0i<6s|99694?4|50286484=8:1>g752z?:<002k;0q~77b;296~;>0h034636868a4>{t11o1<7<0<502h6o?4}r;:4?6=:r724k478:?::c38yv?>=3:1>v36958;<>;>180i<6s|98:94?4|503<6484=8;5>g752z?:=<1l0346369c8a4>{t1h81<7<0<50k;6o?4}r;b0?6=:r72m>478:?:e5v36a98;<>;>i<0i<6s|9`a94?4|50ki6484=8cb>g752z?:eaj;034636ag8a4>{t1k<1<7<0<50h?6o?4}r;av36bb8;<>;>j00i<6s|9b294?4|50hm6484=8`f>g77>52z?:g4k?034636c28a4>{t1jk1<7<0<50i36o?4}r;`g?6=:r72oo478:?:g=v36d18;<>;>km0i<6s|9e694?4|50n86484=8f1>g752z?:`0lh034636d68a4>{t1mi1<7=t=8g4>0b<50oj68j4=8g0>53z?:ag<2l272ih4:d:?:a2<>m2wx5ik50;0x9<`62v36e58;<>;>m?0jn6s|9d294?4|50o36564=8gb>dd52z?:afm<0jn636e28a7>;>m?02h6s|9g194?5|50o26ll4=8g4>g5<50oj64j4}r;e0?6=;r72ii4nb:?:agn?0i<636f68;<>;>n002:6s|9g`94?4|50l<6o>4=8d:><355z?:b=2hh014ki:c089{ti9<1<7;t=`27>0`<5h:;68h4=`22>0`<5h:868h4=8df>dd53z?b45v3n028a4>;f8;0346s|a1c94?4|5h:96o>4=8df><37>52z?b06138a4>{ti1o1<7<0<588>6o>4}rc;b?6=:r7:8h466:?27=50;0x940620<01<:m:c28yvg>93:1>v3>758:2>;6=l0i<6s|a8094?4|582<6484=052>g652z?2=d<>>27:494m0:pe<2=838p1a`8a4>{ti0<1<7<0<5ol1n=5rs`;4>5<5s4;n:779;<3a`?d73tyj554?:3y>5c?=1?16=h=5b19~wd?>2909w03h;7p}n9`83>7}::8l15;5221;9f5=z{h3i6=4={<006??1348:o7l?;|qb=f<72;q6>9;5979>67`=j91vl7k:181842033=70<;2;`3?xuf1l0;6?u227`9=3=::5<5s486<7=1?16>:l5b19~wdg62909w07}::k=15;5229g9f5=z{hk86=4={<0`e??1348i87l?;|qbe1<72;q6?l85979>6f1=j91vlo::18185c;33=70=6e;`3?xufi?0;6?u24129=3=:;jh1n=5rs`c4>5<5s4>9h779;<1e00g=1?168?;5b19~wdg>2909w0:77;;5?822:3h;7p}na`83>7}:15;5246d9f5=z{hki6=4={<6f5??134>jo7l?;|qbef<72;q6>ij5979>6d7=j91vlok:181837m33=70:k9;`3?xufil0;6?u252`9=3=:=9<1n=5rs`ce>5<5s4?=4779;<707?d73tyjn=4?:3y>1<3=1?169;>5b19~wdd62909w0;l2;;5?83?l3h;7p}nb383>7}:=ll15;525cc9f5=z{hh86=4={<42g??134?n;7l?;|qbf1<72;q6:975979>242=j91vll::181800>33=708;1;`3?xufj?0;6?u26`19=3=:>?o1n=5rs``4>5<5s48m<779;<0ge?d73tyjn54?:3y>2a6=1?16:4l5b19~wdd>2909w08id;;5?80d03h;7p}nb`83>7}:?;k15;526g79f5=z{hhi6=4={<563??134=9>7l?;|qbff<72;q6;5:5979>31`=j91vllk:18181e933=7098c;`3?xufjl0;6?u27eg9=3=:?h31n=5rs``e>5<5s42;n779;<5g2?d73tyjo=4?:3y><6>=1?164==5b19~wde62909w0695;;5?8>483h;7p}nc383>7}:;9915;522df9f5=z{hi86=4={<::6??1342>h7l?;|qbg1<72;q64oh5979><=g=j91vlm::1818>bk33=706m7;`3?xufk?0;6?u290;9=3=:0l>1n=5rs`a4>5<5s4h3h767;<;25?d73tyjo54?:3y>740=1?16?=>5b19~wde>2909w0==9;;5?856;3h;7p}nc`83>7}:;:i15;523349f5=z{hii6=4={<17b??1349857l?;|qbgf<72:q6m=m5899>e=d=j916m5o5899~wdec2908w0o?e;:;?8g7k3h;70o?b;:;?xufkl0;6>u2a029<==:i9o1n=52a1f9<==z{him6=4<{?34k:<7l?;?3tyjh=4?:2y>e42=0116m<<5b19>e47=011vlj>:1808g6>32370o>4;`3?8g6;3237p}nd383>6}:i8214552a049f5=:i8?1455rs`f0>5<4s4k:m767;e4g=j916m<75899~wdb22908w0o>e;:;?8g6k3h;70o>b;:;?xufl?0;6>u234g9<==:;0k1n=5238`9<==z{hn<6=4<{?34k:i7l?;?3tyjh54?:2y>e74=0116m?>5b19>e4`=011vlj6:1808g5<32370o=2;`3?8g593237p}nd`83>6}:i;<14552a369f5=:i;91455rs`fa>5<4s4k94767;e7>=j916m?95899~wdbc2908w0o=c;:;?8g5i3h;70o=9;:;?xufll0;6>u2a3g9<==:i;i1n=52a3`9<==z{hnm6=4<{?34k9i7l?;?3tyji=4?:2y>e64=0116m>>5b19>e7`=011vlk>:180851832370=:e;`3?852n3237p}ne383>6}:i:>14552a209f5=:i:;1455rs`g0>5<4s4k8:767;65899>e60=j916m>;5899~wdc22908w0ou2a2a9<==:i:k1n=52a2;9<==z{ho<6=4<{?34k8o7l?;?3tyji54?:2y>e16=0116m>k5b19>e6b=011vlk6:1808g3;32370o;0;`3?8g4n3237p}ne`83>6}:;?8145523729f5=:;?;1455rs`ga>5<4s49=8767;<156?d7349=?767;|qbaf<72:q6?;85899>732=j916?;;5899~wdcc2908w0=98;:;?851>3h;70=97;:;?xufml0;6>u237c9<==:;?21n=5237;9<==z{hom6=4<{<15g?>?349=m7l?;<15f?>?3tyjj=4?:2y>73c=0116?;m5b19>73b=011vlh>:180850832370=9e;`3?851n3237p}nf383>6}:;>81455234a9f5=:;5<4s49<8767;<144?d7349<=767;|qbb1<72:q6?:85899>722=j916?:;5899~wd`22908w0=88;:;?850>3h;70=87;:;?xufn?0;6>u236c9<==:;>21n=5236;9<==z{hl<6=4<{<14g?>?349?3tyjj54?:2y>72c=0116?:m5b19>72b=011vlh6:18085?832370=8e;`3?850n3237p}nf`83>6}:;18145523929f5=:;1;1455rs`da>5<4s4938767;<1;6?d73493?767;|qbbf<72:q6?585899>7=2=j916?5;5899~wd`c2908w0=78;:;?850:3h;70=83;:;?xufnl0;6>u239c9<==:;1<1n=523959<==z{hlm6=4<{<1;g?>?3493m7l?;<1;f?>?3tyi<=4?:2y>7=e=j916?5j5899>=6e=011vo>>:1818?393237075<5s43?n767;<;73?ge3tyi<94?:3y>=06=011659m5ac9~wg622909w07:5;:;?8?293ki7p}m0783>7}:1?343>n7om;|qa4=<72:q6?5k5899>7=>=j916?575899~wg6>2909w0794;:;?8?183ki7p}m0`83>7}:1?3145529779eg=z{k:i6=4={<;5a?>?343=m7om;|qa4f<72;q65:=5899>=3`=ik1vo>k:1818?0032370784;ca?xue8l0;6?u296f9<==:1>31mo5rsc2e>5<5s433>767;<;4a?ge3tyi==4?:3y>==1=011655=5ac9~wg762909w077c;:;?8??03ki7p}m1383>7}:10;1455299f9eg=z{k;86=4<{<1:4?>?3493i7l?;<1;b?>?3tyi=94?:3y>=<0=011654<5ac9~wg722909w076b;:;?8?>?3ki7p}m1783>7}:1h:1455298a9eg=z{k;<6=4={<;b1?>?343j=7om;|qa5=<72;q65lo5899>=d0=ik1vo?6:1818?fn323707nb;ca?xue9h0;6?u29c69<==:1k:1mo5rsc3a>5<5s43i5767;<;a1?ge3tyi=n4?:3y>=gc=01165oo5ac9~wg7c2909w07l3;:;?8?en3ki7p}m1d83>6}:;08145523829f5=:;0;1455rsc3e>5<5s43h4767;<;`0?ge3tyi>=4?:3y>=fb=01165n75ac9~wg462909w07k2;:;?8?dm3ki7p}m2383>7}:1m=145529e19eg=z{k886=4={?343o47om;|qa61<72:q6m995899>e13=j916m9:5899~wg422908w0o;9;:;?8g3?3h;70o;6;:;?xue:?0;6>u2a5`9<==:i=31n=52a5:9<==z{k8<6=4<{?34k?n7l?;?3tyi>54?:2y>e1`=0116m9j5b19>e1e=011vo<6:18085><32370=62;`3?85>;3237p}m2`83>6}:i<;14552a5d9f5=:i=o1455rsc0a>5<4s4k>?767;<767;|qa6f<72:q6m8;5899>e05=j916m8<5899~wg4c2908w0o:7;:;?8g2=3h;70o:4;:;?xue:l0;6>u2a4;9<==:i<=1n=52a449<==z{k8m6=4<{?34k>57l?;?3tyi?=4?:2y>e0b=0116m8l5b19>e0g=011vo=>:1808g2n32370o:d;`3?8g2k3237p}m3383>6}:i?;14552a4d9f5=:i5<4s4k=?767;7<2=j916?4;5899~wg522908w0o95;:;?8g1;3h;70o92;:;?xue;?0;6>u2a759<==:i??1n=52a769<==z{k9<6=4<{?34k=;7l?;?3tyi?54?:2y>e3d=0116m;75b19>e3>=011vo=6:1808g1l32370o9b;`3?8g1i3237p}m3`83>6}:i?l14552a7f9f5=:i?i1455rsc1a>5<4s4k<=767;e27=j916m:>5899~wg5c2908w0o85;:;?8g0;3h;70o82;:;?xue;l0;6>u2a659<==:i>?1n=52a669<==z{k9m6=4<{<1:?3492:7l?;<1:3?>?3tyi8=4?:2y>e2?=0116m:95b19>e20=011vo:>:1808g0j32370o89;`3?8g003237p}m4383>6}:i>n14552a6`9f5=:i>k1455rsc60>5<4s4ke2`=j916m:k5899~wg222908w0o73;:;?8g?93h;70o70;:;?xueu2a919f5=:i1814552a979<==z{k><6=4<{?34k397l?;?3tyi854?:2y>e=?=0116m595b19>e=0=011vo:6:1808g?j32370o79;`3?8g?03237p}m4`83>6}:;0k1455238:9f5=:;031455rsc6a>54m2:?4a4<2n274:f:?4k4m2:?46a<2n27<>n4:f:?446<4m2:?55c<2n27==h4:f:?6b0j94m2:?6b7<2n27>j<4:f:?6g=o:4m2:?6g0<2n27>o94:f:?6=g5l4m2:?6==<2n27>5:4:f:?62`:i4m2:?62g<2n27>:l4:f:?6048=4m2:?67`<2n27>?i4:f:?651=>4m2:?654<2n27>==4:f:?7a24:f:?7fdk4:f:?7434:f:?164<2n279>=4:f:?14`<2n27944:f:?252<2n27:=;4:f:?014<2n2789=4:f:?07`<2n278?i4:f:?06g<2n278>l4:f:?05=<2n278=:4:f:?040<2n278<94:f:?1b7<2n279j<4:f:?1`c<2n279hh4:f:?1e3<2n279m84:f:?2`0<2n27:h94:f:?241<2n27:<>4:f:pf1e=838p1o6j:8789gbf2k:0q~l;d;296~;f<=0i<63<5e86f>{tj=o1<7g6<5:?m68l4}r`7b?6=:r7j9l4m0:?024<2j2wxn8>50;0x9d3d2k:01>8<:4`8yvd293:1>v3n5d8a4>;4><0>n6s|b4094?4|5h<;6o>4=244>0d?7>52z?b27?0i<63<6e86f>{tj<<1<7g6<5:9<:4`8yvd213:1>v3n6b8a4>;4?<0>n6s|b4c94?4|5h4=254>0dn7>52z?b35{tjg6<5:=m68l4}r`6b?6=:r7j;54m0:?0<4<2j2wxn;>50;0x9d1f2k:01>6<:4`8yvd193:1>v3n7b8a4>;40<0>n6s|b7094?4|5h=n6o>4=2:4>0d52z?b0=e2{tj?<1<70d<5h2?6o>4}r`53?6=:r72894:b:?b<32v364d86f>;f0h0i<6s|b7c94?4|50?868l4=`2a>g652z?:1=<2j27j>;0>n63n108a4>{tj?o1<7g6<5:2m68l4}r`5b?6=:r72::4:b:?b5650;0x9<0d2v367086f>;f9>0i<6s|b6094?4|50==68l4=`3:>g652z?:3g<2j27j=o4m0:pf22=838p146?:4`89d7c2k:0q~l85;296~;>0<0>n63n1g8a4>{tj><1<70d<5h8:6o>4}r`43?6=:r724k4:b:?b66v3n4b8a4>;4180>n6s|b6c94?4|503268l4=`04>g652z?:=`<2j27j>44m0:pf2e=838p14o<:4`89d4e2k:0q~l8d;296~;>i10>n63n2e8a4>{tj>o1<70d<5h8m6o>4}r`4b?6=:r72n?4:b:?b7450;0x9v36bb86f>;f;<0i<6s|b9094?4|50i:68l4=`14>g652z?:g3<2j27j?44m0:pf=2=838p1l:j:c2896?42kk0>n63n3c8a4>{tj1<1<70d<5h9o6o>4}r`;3?6=:r72h84:b:?b7c:c28yvd?13:1>v3n518a4>;41<0>n6s|b9c94?4|5h?96o>4=2;4>0d52z?b11;ekj0i>63mc98a6>;ek=0i>63mc18a6>;ejj0i>63mb98a6>;ej=0i>6s|b8:94?4|5knj6564=cc1>dd52z?a=d{tj0o1<7dd<5kk964;4}r`:b?6=:r7i5k4nb:?ae7<>12wxnl>50;0x9gg72hh01o7j:878yvdf93:1>v3ma08bf>;ei;0246s|b`194?4|5kk86ll4=c;f><053z?af2<2l27inl4:d:?af6<>m2wxnl;50;1x9gde2h63mc386`>;ejk02i6s|b`594?5|5ki868j4=ca5>0b<5khm64k4}r`b46e:pfd?=839p1omm:4f89geb2v3md086`>;ekk02i6s|b``94?4|5kh?6564=c`5>dd52z?af={tjhl1<7=><5ki=6ll4}r`a4?6=:r7io5478:?agdv3mcg8;<>;el80jn6s|be094?5|5kh>6ll4=c`0>g5<5kh=64j4}r`g7?6=;r7in44nb:?af2;ejo0i?63mc38:`>{tjm<1<7=t=ca6>dd<5ki86o=4=ca5>53z?ag<l2wxni650;1x9gec2hh01omm:c189geb20n0q~lk9;296~;el90jn63md08:`>{tjmh1<7dd<5kk:6474}r`gg?6=:r7i5<4nb:?ae4<>02wxnij50;0x9g?52hh01oo>:858yvdcm3:1>v3m928bf>;ei802m6s|bed94?4|5k3?6ll4=c;e>52z?a=00jn63m9g8:e>{tjl91<7ot=c;4><3<5k3=64;4=c;6><3<5k3?64;4=c;0><3<5k3964;4=c;2><3<5k3;64;4=c`7>g6<5kh>64;4}r`f0?6=ir7i5:466:?a=3<>>27i58466:?a=1<>>27i5>466:?a=7<>>27i5<466:?a=5<>>27in54m0:?af<<>=2wxnh;50;cx9g?020=01o79:8589g?220=01o7;:8589g?420=01o7=:8589g?620=01o7?:8589gdd2k:01olk:878yvdb>3:1mv3m968:<>;e1?02463m948:<>;e1=02463m928:<>;e1;02463m908:<>;e1902463mc18a4>;ek80296s|bd594?2|5ki?6o>4=ca6><3<5k3m6484=cc2><054z?ag==27im<465:pf`?=839p1oml:c289gec20?01oo=:848yvdbi3:1?v3mcg8a4>;el902963ma38:3>{tjlh1<7<<{<;ej7??;<;6e?77343>97??;<;64?77343?n7??;<;72?77343?=7??;<;0g?77343n87l?;<;f1??23tyiin4?:31x9<`?20<014j8:0389:0389<>d28;01468:0389<>528;0149k:0389<1?28;0149<:0389<0b28;01486:0389<0328;014;i:0389<3f28;014;::0389<3728;014:m:0389<2128;014:>:0389<5d28;014k7:c28920?0q~ljd;2966}:1o215:529e5957=:1m81=?529bf957=:1j21=?529b1957=:1ko1=?529c;957=:1k>1=?529`d957=:1hk1=?529`7957=:1h:1=?5298`957=:10<1=?52983957=:11i1=?52995957=:1181=?5296f957=:1>21=?52961957=:1?o1=?5297;957=:1?>1=?5294d957=:15<5;r72j5468:?:`2<6;272h?4>3:?:ga<6;272o54>3:?:g6<6;272nh4>3:?:f<<6;272n94>3:?:ec<6;272ml4>3:?:e0<6;272m=4>3:?:=g<6;2725;4>3:?:=4<6;2724n4>3:?:<2<6;2724?4>3:?:3a<6;272;54>3:?:36<6;272:h4>3:?:2<<6;272:94>3:?:1c<6;2729l4>3:?:10<6;2729=4>3:?:0g<6;2728;4>3:?:04<6;272?n4>3:?:acv3mf08a4>;emo0346srn0f:3?6=9rBij95rn0f:50;3xLg`33td:hh?50;3xLg`33td:hh<50;3xLg`33td:hh=50;3xLg`33td:hh:50;3xLg`33td:hh;50;3xLg`33td:hh850;3xLg`33td:hh950;3xLg`33td:hh650;3xLg`33td:hh750;3xLg`33td:hho50;3xLg`33td:hhl50;3xLg`33td:hhm50;3xLg`33td:hhj50;3xLg`33td:hhk50;3xLg`33td:hhh50;3xLg`33td:hk>50;3xLg`33td:hk?50;3xLg`33td:hk<50;3xLg`33td:hk=50;3xLg`33td:hk:50;3xLg`33td:hk;50;3xLg`33td:hk850;3xLg`33td:hk950;3xLg`33td:hk650;3xLg`33td:hk750;3xLg`33td:hko50;3xLg`33td:hkl50;3xLg`33td:hkm50;3xLg`33td:hkj50;3xLg`33td:hkk50;3xLg`33td:hkh50;3xLg`33td:i=>50;3xLg`33td:i=?50;3xLg`33td:i=<50;3xLg`33td:i==50;3xLg`33td:i=:50;3xLg`33td:i=;50;3xLg`33td:i=850;3xLg`33td:i=950;3xLg`33td:i=650;3xLg`33td:i=750;3xLg`33td:i=o50;3xLg`33td:i=l50;3xLg`33td:i=m50;3xLg`33td:i=j50;3xLg`33td:i=k50;3xLg`33td:i=h50;3xLg`33td:i<>50;3xLg`33td:i50;3xLg`33td:i??50;3xLg`33td:i?<50;3xLg`33td:i?=50;3xLg`33td:i?:50;3xLg`33td:i?;50;3xLg`33td:i?850;3xLg`33td:i?950;3xLg`33td:i?650;3xLg`33td:i?750;3xLg`33td:i?o50;3xLg`33td:i?l50;3xLg`33td:i?m50;3xLg`33td:i?j50;3xLg`33td:i?k50;3xLg`33td:i?h50;3xLg`33td:i>>50;3xLg`33td:i>?50;3xLg`33td:i><50;3xLg`33td:i>=50;3xLg`33td:i>:50;3xLg`33td:i>;50;3xLg`33td:i>850;3xLg`33td:i>950;3xLg`33td:i>650;3xLg`33td:i>750;3xLg`33td:i>o50;3xLg`33td:i>l50;3xLg`33td:i>m50;3xLg`33td:i>j50;3xLg`33td:i>k50;3xLg`33td:i>h50;3xLg`33td:i9>50;3xLg`33td:i9?50;3xLg`33td:i9<50;3xLg`33td:i9=50;3xLg`33td:i9:50;3xLg`33td:i9;50;3xLg`33td:i9850;3xLg`33td:i9950;3xLg`33td:i9650;3xLg`33td:i9750;3xLg`33td:i9o50;3xLg`33td:i9l50;3xLg`33td:i9m50;3xLg`33td:i9j50;3xLg`33td:i9k50;3xLg`33td:i9h50;3xLg`33td:i8>50;3xLg`33td:i8?50;3xLg`33td:i8<50;3xLg`33td:i8=50;3xLg`33td:i8:50;3xLg`33td:i8;50;3xLg`33td:i8850;3xLg`33td:i8950;3xLg`33td:i8650;3xLg`33td:i8750;3xLg`33td:i8o50;3xLg`33td:i8l50;3xLg`33td:i8m50;3xLg`33td:i8j50;3xLg`33td:i8k50;3xLg`33td:i8h50;3xLg`33td:i;>50;3xLg`33td:i;?50;3xLg`33td:i;<50;3xLg`33td:i;=50;3xLg`33td:i;:50;3xLg`33td:i;;50;3xLg`33td:i;850;3xLg`33td:i;950;3xLg`33td:i;650;3xLg`33td:i;750;3xLg`33td:i;o50;3xLg`33td:i;l50;3xLg`33td:i;m50;3xLg`33td:i;j50;3xLg`33td:i;k50;3xLg`33td:i;h50;3xLg`33td:i:>50;3xLg`33td:i:?50;3xLg`33td:i:<50;3xLg`33td:i:=50;3xLg`33td:i::50;3xLg`33td:i:;50;3xLg`33td:i:850;3xLg`33td:i:950;3xLg`33td:i:650;3xLg`33td:i:750;3xLg`33td:i:o50;3xLg`33td:i:l50;3xLg`33td:i:m50;3xLg`33td:i:j50;3xLg`33td:i:k50;3xLg`33td:i:h50;3xLg`33td:i5>50;3xLg`33td:i5?50;3xLg`33td:i5<50;3xLg`33td:i5=50;3xLg`33td:i5:50;3xLg`33td:i5;50;3xLg`33td:i5850;3xLg`33td:i5950;3xLg`33td:i5650;3xLg`33td:i5750;3xLg`33td:i5o50;3xLg`33td:i5l50;3xLg`33td:i5m50;3xLg`33td:i5j50;3xLg`33td:i5k50;3xLg`33td:i5h50;3xLg`33td:i4>50;3xLg`33td:i4?50;3xLg`33td:i4<50;3xLg`33td:i4=50;3xLg`33td:i4:50;3xLg`33td:i4;50;3xLg`33td:i4850;3xLg`33td:i4950;3xLg`33td:i4650;3xLg`33td:i4750;3xLg`33td:i4o50;3xLg`33td:i4l50;3xLg`33td:i4m50;3xLg`33td:i4j50;3xLg`33td:i4k50;3xLg`33td:i4h50;3xLg`33td:il>50;3xLg`33td:il?50;3xLg`33td:il<50;3xLg`33td:il=50;3xLg`33td:il:50;3xLg`33td:il;50;3xLg`33td:il850;3xLg`33td:il950;3xLg`33td:il650;3xLg`33td:il750;3xLg`33td:ilo50;3xLg`33td:ill50;3xLg`33td:ilm50;3xLg`33td:ilj50;3xLg`33td:ilk50;3xLg`33td:ilh50;3xLg`33td:io>50;3xLg`33td:io?50;3xLg`33td:io<50;3xLg`33td:io=50;3xLg`33td:io:50;3xLg`33td:io;50;3xLg`33td:io850;3xLg`33td:io950;3xLg`33td:io650;3xLg`33td:io750;3xLg`33td:ioo50;3xLg`33td:iol50;3xLg`33td:iom50;3xLg`33td:ioj50;3xLg`33td:iok50;3xLg`33td:ioh50;3xLg`33td:in>50;3xLg`33td:in?50;3xLg`33td:in<50;3xLg`33td:in=50;3xLg`33td:in:50;3xLg`33td:in;50;3xLg`33td:in850;3xLg`33td:in950;3xLg`33td:in650;3xLg`33td:in750;3xLg`33td:ino50;3xLg`33td:inl50;3xLg`33td:inm50;3xLg`33td:inj50;3xLg`33td:ink50;3xLg`33td:inh50;3xLg`33td:ii>50;3xLg`33td:ii?50;3xLg`33td:ii<50;3xLg`33td:ii=50;3xLg`33td:ii:50;3xLg`33td:ii;50;3xLg`33td:ii850;3xLg`33td:ii950;3xLg`33td:ii650;3xLg`33td:ii750;3xLg`33td:iio50;3xLg`33td:iil50;3xLg`33td:iim50;3xLg`33td:iij50;3xLg`33td:iik50;3xLg`33td:iih50;3xLg`33td:ih>50;3xLg`33td:ih?50;3xLg`33td:ih<50;3xLg`33td:ih=50;3xLg`33td:ih:50;3xLg`33td:ih;50;3xLg`33td:ih850;3xLg`33td:ih950;3xLg`33td:ih650;3xLg`33td:ih750;3xLg`33td:iho50;3xLg`33td:ihl50;3xLg`33td:ihm50;3xLg`33td:ihj50;3xLg`33td:ihk50;3xLg`33td:ihh50;3xLg`33td:ik>50;3xLg`33td:ik?50;3xLg`33td:ik<50;3xLg`33td:ik=50;3xLg`33td:ik:50;3xLg`33td:ik;50;3xLg`33td:ik850;3xLg`33td:ik950;3xLg`33td:ik650;3xLg`33td:ik750;3xLg`33td:iko50;3xLg`33td:ikl50;3xLg`33td:ikm50;3xLg`33td:ikj50;3xLg`33td:ikk50;3xLg`33td:ikh50;3xLg`33td:j=>50;3xLg`33td:j=?50;3xLg`33td:j=<50;3xLg`33td:j==50;3xLg`33td:j=:50;3xLg`33td:j=;50;3xLg`33td:j=850;3xLg`33td:j=950;3xLg`33td:j=650;3xLg`33td:j=750;3xLg`33td:j=o50;3xLg`33td:j=l50;3xLg`33td:j=m50;3xLg`33td:j=j50;3xLg`33td:j=k50;3xLg`33td:j=h50;3xLg`33td:j<>50;3xLg`33td:j50;3xLg`33td:j??50;3xLg`33td:j?<50;3xLg`33td:j?=50;3xLg`33td:j?:50;3xLg`33td:j?;50;3xLg`33td:j?850;3xLg`33td:j?950;3xLg`33td:j?650;3xLg`33td:j?750;3xLg`33td:j?o50;3xLg`33td:j?l50;3xLg`33td:j?m50;3xLg`33td:j?j50;3xLg`33td:j?k50;3xLg`33td:j?h50;3xLg`33td:j>>50;3xLg`33td:j>?50;3xLg`33td:j><50;3xLg`33td:j>=50;3xLg`33td:j>:50;3xLg`33td:j>;50;3xLg`33td:j>850;3xLg`33td:j>950;3xLg`33td:j>650;3xLg`33td:j>750;3xLg`33td:j>o50;3xLg`33td:j>l50;3xLg`33td:j>m50;3xLg`33td:j>j50;3xLg`33td:j>k50;3xLg`33td:j>h50;3xLg`33td:j9>50;3xLg`33td:j9?50;3xLg`33td:j9<50;3xLg`33td:j9=50;3xLg`33td:j9:50;3xLg`33td:j9;50;3xLg`33td:j9850;3xLg`33td:j9950;3xLg`33td:j9650;3xLg`33td:j9750;3xLg`33td:j9o50;3xLg`33td:j9l50;3xLg`33td:j9m50;3xLg`33td:j9j50;3xLg`33td:j9k50;3xLg`33td:j9h50;3xLg`33td:j8>50;3xLg`33td:j8?50;3xLg`33td:j8<50;3xLg`33td:j8=50;3xLg`33td:j8:50;3xLg`33td:j8;50;3xLg`33td:j8850;3xLg`33td:j8950;3xLg`33td:j8650;3xLg`33td:j8750;3xLg`33td:j8o50;3xLg`33td:j8l50;3xLg`33td:j8m50;3xLg`33td:j8j50;3xLg`33td:j8k50;3xLg`33td:j8h50;3xLg`33td:j;>50;3xLg`33td:j;?50;3xLg`33td:j;<50;3xLg`33td:j;=50;3xLg`33td:j;:50;3xLg`33td:j;;50;3xLg`33td:j;850;3xLg`33td:j;950;3xLg`33td:j;650;3xLg`33td:j;750;3xLg`33td:j;o50;3xLg`33td:j;l50;3xLg`33td:j;m50;3xLg`33td:j;j50;3xLg`33td:j;k50;3xLg`33td:j;h50;3xLg`33td:j:>50;3xLg`33td:j:?50;3xLg`33td:j:<50;3xLg`33td:j:=50;3xLg`33td:j::50;3xLg`33td:j:;50;3xLg`33td:j:850;3xLg`33td:j:950;3xLg`33td:j:650;3xLg`33td:j:750;3xLg`33td:j:o50;3xLg`33td:j:l50;3xLg`33td:j:m50;3xLg`33td:j:j50;3xLg`33td:j:k50;3xLg`33td:j:h50;3xLg`33td:j5>50;3xLg`33td:j5?50;3xLg`33td:j5<50;3xLg`33td:j5=50;3xLg`33td:j5:50;3xLg`33td:j5;50;3xLg`33td:j5850;3xLg`33td:j5950;3xLg`33td:j5650;3xLg`33td:j5750;3xLg`33td:j5o50;3xLg`33td:j5l50;3xLg`33td:j5m50;3xLg`33td:j5j50;3xLg`33td:j5k50;3xLg`33td:j5h50;3xLg`33td:j4>50;3xLg`33td:j4?50;3xLg`33td:j4<50;3xLg`33td:j4=50;3xLg`33td:j4:50;3xLg`33td:j4;50;3xLg`33td:j4850;3xLg`33td:j4950;3xLg`33td:j4650;3xLg`33td:j4750;3xLg`33td:j4o50;3xLg`33td:j4l50;3xLg`33td:j4m50;3xLg`33td:j4j50;3xLg`33td:j4k50;3xLg`33td:j4h50;3xLg`33td:jl>50;3xLg`33td:jl?50;3xLg`33td:jl<50;3xLg`33td:jl=50;3xLg`33td:jl:50;3xLg`33td:jl;50;3xLg`33td:jl850;3xLg`33td:jl950;3xLg`33td:jl650;3xLg`33td:jl750;3xLg`33td:jlo50;3xLg`33td:jll50;3xLg`33td:jlm50;3xLg`33td:jlj50;3xLg`33td:jlk50;3xLg`33td:jlh50;3xLg`33td:jo>50;3xLg`33td:jo?50;3xLg`33td:jo<50;3xLg`33td:jo=50;3xLg`33td:jo:50;3xLg`33td:jo;50;3xLg`33td:jo850;3xLg`33td:jo950;3xLg`33td:jo650;3xLg`33td:jo750;3xLg`33td:joo50;3xLg`33td:jol50;3xLg`33td:jom50;3xLg`33td:joj50;3xLg`33td:jok50;3xLg`33td:joh50;3xLg`33td:jn>50;3xLg`33td:jn?50;3xLg`33td:jn<50;3xLg`33td:jn=50;3xLg`33td:jn:50;3xLg`33td:jn;50;3xLg`33td:jn850;3xLg`33td:jn950;3xLg`33td:jn650;3xLg`33td:jn750;3xLg`33td:jno50;3xLg`33td:jnl50;3xLg`33td:jnm50;3xLg`33td:jnj50;3xLg`33td:jnk50;3xLg`33td:jnh50;3xLg`33td:ji>50;3xLg`33td:ji?50;3xLg`33td:ji<50;3xLg`33td:ji=50;3xLg`33td:ji:50;3xLg`33td:ji;50;3xLg`33td:ji850;3xLg`33td:ji950;3xLg`33td:ji650;3xLg`33td:ji750;3xLg`33td:jio50;3xLg`33td:jil50;3xLg`33td:jim50;3xLg`33td:jij50;3xLg`33td:jik50;3xLg`33td:jih50;3xLg`33td:jh>50;3xLg`33td:jh?50;3xLg`33td:jh<50;3xLg`33td:jh=50;3xLg`33td:jh:50;3xLg`33td:jh;50;3xLg`33td:jh850;3xLg`33td:jh950;3xLg`33td:jh650;3xLg`33td:jh750;3xLg`33td:jho50;3xLg`33td:jhl50;3xLg`33td:jhm50;3xLg`33td:jhj50;3xLg`33td:jhk50;3xLg`33td:jhh50;3xLg`33td:jk>50;3xLg`33td:jk?50;3xLg`33td:jk<50;3xLg`33td:jk=50;3xLg`33td:jk:50;3xLg`33td:jk;50;3xLg`33td:jk850;3xLg`33td:jk950;3xLg`33td:jk650;3xLg`33td:jk750;3xLg`33td:jko50;3xLg`33td:jkl50;3xLg`33td:jkm50;3xLg`33td:jkj50;3xLg`33td:jkk50;3xLg`33td:jkh50;3xLg`33td9<=>50;3xLg`33td9<=?50;3xLg`33td9<=<50;3xLg`33td9<==50;3xLg`33td9<=:50;3xLg`33td9<=;50;3xLg`33td9<=850;3xLg`33td9<=950;3xLg`33td9<=650;3xLg`33td9<=750;3xLg`33td9<=o50;3xLg`33td9<=l50;3xLg`33td9<=m50;3xLg`33td9<=j50;3xLg`33td9<=k50;3xLg`33td9<=h50;3xLg`33td9<<>50;3xLg`33td9<50;3xLg`33td9>50;3xLg`33td9<>?50;3xLg`33td9<><50;3xLg`33td9<>=50;3xLg`33td9<>:50;3xLg`33td9<>;50;3xLg`33td9<>850;3xLg`33td9<>950;3xLg`33td9<>650;3xLg`33td9<>750;3xLg`33td9<>o50;3xLg`33td9<>l50;3xLg`33td9<>m50;3xLg`33td9<>j50;3xLg`33td9<>k50;3xLg`33td9<>h50;3xLg`33td9<9>50;3xLg`33td9<9?50;3xLg`33td9<9<50;3xLg`33td9<9=50;3xLg`33td9<9:50;3xLg`33td9<9;50;3xLg`33td9<9850;3xLg`33td9<9950;3xLg`33td9<9650;3xLg`33td9<9750;3xLg`33td9<9o50;3xLg`33td9<9l50;3xLg`33td9<9m50;3xLg`33td9<9j50;3xLg`33td9<9k50;3xLg`33td9<9h50;3xLg`33td9<8>50;3xLg`33td9<8?50;3xLg`33td9<8<50;3xLg`33td9<8=50;3xLg`33td9<8:50;3xLg`33td9<8;50;3xLg`33td9<8850;3xLg`33td9<8950;3xLg`33td9<8650;3xLg`33td9<8750;3xLg`33td9<8o50;3xLg`33td9<8l50;3xLg`33td9<8m50;3xLg`33td9<8j50;3xLg`33td9<8k50;3xLg`33td9<8h50;3xLg`33td9<;>50;3xLg`33td9<;?50;3xLg`33td9<;<50;3xLg`33td9<;=50;3xLg`33td9<;:50;3xLg`33td9<;;50;3xLg`33td9<;850;3xLg`33td9<;950;3xLg`33td9<;650;3xLg`33td9<;750;3xLg`33td9<;o50;3xLg`33td9<;l50;3xLg`33td9<;m50;3xLg`33td9<;j50;3xLg`33td9<;k50;3xLg`33td9<;h50;3xLg`33td9<:>50;3xLg`33td9<:?50;3xLg`33td9<:<50;3xLg`33td9<:=50;3xLg`33td9<::50;3xLg`33td9<:;50;3xLg`33td9<:850;3xLg`33td9<:950;3xLg`33td9<:650;3xLg`33td9<:750;3xLg`33td9<:o50;3xLg`33td9<:l50;3xLg`33td9<:m50;3xLg`33td9<:j50;3xLg`33td9<:k50;3xLg`33td9<:h50;3xLg`33td9<5>50;3xLg`33td9<5?50;3xLg`33td9<5<50;3xLg`33td9<5=50;3xLg`33td9<5:50;3xLg`33td9<5;50;3xLg`33td9<5850;3xLg`33td9<5950;3xLg`33td9<5650;3xLg`33td9<5750;3xLg`33td9<5o50;3xLg`33td9<5l50;3xLg`33td9<5m50;3xLg`33td9<5j50;3xLg`33td9<5k50;3xLg`33td9<5h50;3xLg`33td9<4>50;3xLg`33td9<4?50;3xLg`33td9<4<50;3xLg`33td9<4=50;3xLg`33td9<4:50;3xLg`33td9<4;50;3xLg`33td9<4850;3xLg`33td9<4950;3xLg`33td9<4650;3xLg`33td9<4750;3xLg`33td9<4o50;3xLg`33td9<4l50;3xLg`33td9<4m50;3xLg`33td9<4j50;3xLg`33td9<4k50;3xLg`33td9<4h50;3xLg`33td950;3xLg`33td950;3xLg`33td950;3xLg`33td950;3xLg`33td950;3xLg`33td950;3xLg`33td950;3xLg`33td9==?50;3xLg`33td9==<50;3xLg`33td9===50;3xLg`33td9==:50;3xLg`33td9==;50;3xLg`33td9==850;3xLg`33td9==950;3xLg`33td9==650;3xLg`33td9==750;3xLg`33td9==o50;3xLg`33td9==l50;3xLg`33td9==m50;3xLg`33td9==j50;3xLg`33td9==k50;3xLg`33td9==h50;3xLg`33td9=<>50;3xLg`33td9=50;3xLg`33td9=??50;3xLg`33td9=?<50;3xLg`33td9=?=50;3xLg`33td9=?:50;3xLg`33td9=?;50;3xLg`33td9=?850;3xLg`33td9=?950;3xLg`33td9=?650;3xLg`33td9=?750;3xLg`33td9=?o50;3xLg`33td9=?l50;3xLg`33td9=?m50;3xLg`33td9=?j50;3xLg`33td9=?k50;3xLg`33td9=?h50;3xLg`33td9=>>50;3xLg`33td9=>?50;3xLg`33td9=><50;3xLg`33td9=>=50;3xLg`33td9=>:50;3xLg`33td9=>;50;3xLg`33td9=>850;3xLg`33td9=>950;3xLg`33td9=>650;3xLg`33td9=>750;3xLg`33td9=>o50;3xLg`33td9=>l50;3xLg`33td9=>m50;3xLg`33td9=>j50;3xLg`33td9=>k50;3xLg`33td9=>h50;3xLg`33td9=9>50;3xLg`33td9=9?50;3xLg`33td9=9<50;3xLg`33td9=9=50;3xLg`33td9=9:50;3xLg`33td9=9;50;3xLg`33td9=9850;3xLg`33td9=9950;3xLg`33td9=9650;3xLg`33td9=9750;3xLg`33td9=9o50;3xLg`33td9=9l50;3xLg`33td9=9m50;3xLg`33td9=9j50;3xLg`33td9=9k50;3xLg`33td9=9h50;3xLg`33td9=8>50;3xLg`33td9=8?50;3xLg`33td9=8<50;3xLg`33td9=8=50;3xLg`33td9=8:50;3xLg`33td9=8;50;3xLg`33td9=8850;3xLg`33td9=8950;3xLg`33td9=8650;3xLg`33td9=8750;3xLg`33td9=8o50;3xLg`33td9=8l50;3xLg`33td9=8m50;3xLg`33td9=8j50;3xLg`33td9=8k50;3xLg`33td9=8h50;3xLg`33td9=;>50;3xLg`33td9=;?50;3xLg`33td9=;<50;3xLg`33td9=;=50;3xLg`33td9=;:50;3xLg`33td9=;;50;3xLg`33td9=;850;3xLg`33td9=;950;3xLg`33td9=;650;3xLg`33td9=;750;3xLg`33td9=;o50;3xLg`33td9=;l50;3xLg`33td9=;m50;3xLg`33td9=;j50;3xLg`33td9=;k50;3xLg`33td9=;h50;3xLg`33td9=:>50;3xLg`33td9=:?50;3xLg`33td9=:<50;3xLg`33td9=:=50;3xLg`33td9=::50;3xLg`33td9=:;50;3xLg`33td9=:850;3xLg`33td9=:950;3xLg`33td9=:650;3xLg`33td9=:750;3xLg`33td9=:o50;3xLg`33td9=:l50;3xLg`33td9=:m50;3xLg`33td9=:j50;3xLg`33td9=:k50;3xLg`33td9=:h50;3xLg`33td9=5>50;3xLg`33td9=5?50;3xLg`33td9=5<50;3xLg`33td9=5=50;3xLg`33td9=5:50;3xLg`33td9=5;50;3xLg`33td9=5850;3xLg`33td9=5950;3xLg`33td9=5650;3xLg`33td9=5750;3xLg`33td9=5o50;3xLg`33td9=5l50;3xLg`33td9=5m50;3xLg`33td9=5j50;3xLg`33td9=5k50;3xLg`33td9=5h50;3xLg`33td9=4>50;3xLg`33td9=4?50;3xLg`33td9=4<50;3xLg`33td9=4=50;3xLg`33td9=4:50;3xLg`33td9=4;50;3xLg`33td9=4850;3xLg`33td9=4950;3xLg`33td9=4650;3xLg`33td9=4750;3xLg`33td9=4o50;3xLg`33td9=4l50;3xLg`33td9=4m50;3xLg`33td9=4j50;3xLg`33td9=4k50;3xLg`33td9=4h50;3xLg`33td9=l>50;3xLg`33td9=l?50;3xLg`33td9=l<50;3xLg`33td9=l=50;3xLg`33td9=l:50;3xLg`33td9=l;50;3xLg`33td9=l850;3xLg`33td9=l950;3xLg`33td9=l650;3xLg`33td9=l750;3xLg`33td9=lo50;3xLg`33td9=ll50;3xLg`33td9=lm50;3xLg`33td9=lj50;3xLg`33td9=lk50;3xLg`33td9=lh50;3xLg`33td9=o>50;3xLg`33td9=o?50;3xLg`33td9=o<50;3xLg`33td9=o=50;3xLg`33td9=o:50;3xLg`33td9=o;50;3xLg`33td9=o850;3xLg`33td9=o950;3xLg`33td9=o650;3xLg`33td9=o750;3xLg`33td9=oo50;3xLg`33td9=ol50;3xLg`33td9=om50;3xLg`33td9=oj50;3xLg`33td9=ok50;3xLg`33td9=oh50;3xLg`33td9=n>50;3xLg`33td9=n?50;3xLg`33td9=n<50;3xLg`33td9=n=50;3xLg`33td9=n:50;3xLg`33td9=n;50;3xLg`33td9=n850;3xLg`33td9=n950;3xLg`33td9=n650;3xLg`33td9=n750;3xLg`33td9=no50;3xLg`33td9=nl50;3xLg`33td9=nm50;3xLg`33td9=nj50;3xLg`33td9=nk50;3xLg`33td9=nh50;3xLg`33td9=i>50;3xLg`33td9=i?50;3xLg`33td9=i<50;3xLg`33td9=i=50;3xLg`33td9=i:50;3xLg`33td9=i;50;3xLg`33td9=i850;3xLg`33td9=i950;3xLg`33td9=i650;3xLg`33td9=i750;3xLg`33td9=io50;3xLg`33td9=il50;3xLg`33td9=im50;3xLg`33td9=ij50;3xLg`33td9=ik50;3xLg`33td9=ih50;3xLg`33td9=h>50;3xLg`33td9=h?50;3xLg`33td9=h<50;3xLg`33td9=h=50;3xLg`33td9=h:50;3xLg`33td9=h;50;3xLg`33td9=h850;3xLg`33td9=h950;3xLg`33td9=h650;3xLg`33td9=h750;3xLg`33td9=ho50;3xLg`33td9=hl50;3xLg`33td9=hm50;3xLg`33td9=hj50;3xLg`33td9=hk50;3xLg`33td9=hh50;3xLg`33td9=k>50;3xLg`33td9=k?50;3xLg`33td9=k<50;3xLg`33td9=k=50;3xLg`33td9=k:50;3xLg`33td9=k;50;3xLg`33td9=k850;3xLg`33td9=k950;3xLg`33td9=k650;3xLg`33td9=k750;3xLg`33td9=ko50;3xLg`33td9=kl50;3xLg`33td9=km50;3xLg`33td9=kj50;3xLg`33td9=kk50;3xLg`33td9=kh50;3xLg`33td9>=>50;3xLg`33td9>=?50;3xLg`33td9>=<50;3xLg`33td9>==50;3xLg`33td9>=:50;3xLg`33td9>=;50;3xLg`33td9>=850;3xLg`33td9>=950;3xLg`33td9>=650;3xLg`33td9>=750;3xLg`33td9>=o50;3xLg`33td9>=l50;3xLg`33td9>=m50;3xLg`33td9>=j50;3xLg`33td9>=k50;3xLg`33td9>=h50;3xLg`33td9><>50;3xLg`33td9><<50;3xLg`33td9><=50;3xLg`33td9><:50;3xLg`33td9><;50;3xLg`33td9><850;3xLg`33td9><950;3xLg`33td9><650;3xLg`33td9><750;3xLg`33td9>?>50;3xLg`33td9>??50;3xLg`33td9>?<50;3xLg`33td9>?=50;3xLg`33td9>?:50;3xLg`33td9>?;50;3xLg`33td9>?850;3xLg`33td9>?950;3xLg`33td9>?650;3xLg`33td9>?750;3xLg`33td9>?o50;3xLg`33td9>?l50;3xLg`33td9>?m50;3xLg`33td9>?j50;3xLg`33td9>?k50;3xLg`33td9>?h50;3xLg`33td9>>>50;3xLg`33td9>>?50;3xLg`33td9>><50;3xLg`33td9>>=50;3xLg`33td9>>:50;3xLg`33td9>>;50;3xLg`33td9>>850;3xLg`33td9>>950;3xLg`33td9>>650;3xLg`33td9>>750;3xLg`33td9>>o50;3xLg`33td9>>l50;3xLg`33td9>>m50;3xLg`33td9>>j50;3xLg`33td9>>k50;3xLg`33td9>>h50;3xLg`33td9>9>50;3xLg`33td9>9?50;3xLg`33td9>9<50;3xLg`33td9>9=50;3xLg`33td9>9:50;3xLg`33td9>9;50;3xLg`33td9>9850;3xLg`33td9>9950;3xLg`33td9>9650;3xLg`33td9>9750;3xLg`33td9>9o50;3xLg`33td9>9l50;3xLg`33td9>9m50;3xLg`33td9>9j50;3xLg`33td9>9k50;3xLg`33td9>9h50;3xLg`33td9>8>50;3xLg`33td9>8?50;3xLg`33td9>8<50;3xLg`33td9>8=50;3xLg`33td9>8:50;3xLg`33td9>8;50;3xLg`33td9>8850;3xLg`33td9>8950;3xLg`33td9>8650;3xLg`33td9>8750;3xLg`33td9>8o50;3xLg`33td9>8l50;3xLg`33td9>8m50;3xLg`33td9>8j50;3xLg`33td9>8k50;3xLg`33td9>8h50;3xLg`33td9>;>50;3xLg`33td9>;?50;3xLg`33td9>;<50;3xLg`33td9>;=50;3xLg`33td9>;:50;3xLg`33td9>;;50;3xLg`33td9>;850;3xLg`33td9>;950;3xLg`33td9>;650;3xLg`33td9>;750;3xLg`33td9>;o50;3xLg`33td9>;l50;3xLg`33td9>;m50;3xLg`33td9>;j50;3xLg`33td9>;k50;3xLg`33td9>;h50;3xLg`33td9>:>50;3xLg`33td9>:?50;3xLg`33td9>:<50;3xLg`33td9>:=50;3xLg`33td9>::50;3xLg`33td9>:;50;3xLg`33td9>:850;3xLg`33td9>:950;3xLg`33td9>:650;3xLg`33td9>:750;3xLg`33td9>:o50;3xLg`33td9>:l50;3xLg`33td9>:m50;3xLg`33td9>:j50;3xLg`33td9>:k50;3xLg`33td9>:h50;3xLg`33td9>5>50;3xLg`33td9>5?50;3xLg`33td9>5<50;3xLg`33td9>5=50;3xLg`33td9>5:50;3xLg`33td9>5;50;3xLg`33td9>5850;3xLg`33td9>5950;3xLg`33td9>5650;3xLg`33td9>5750;3xLg`33td9>5o50;3xLg`33td9>5l50;3xLg`33td9>5m50;3xLg`33td9>5j50;3xLg`33td9>5k50;3xLg`33td9>5h50;3xLg`33td9>4>50;3xLg`33td9>4?50;3xLg`33td9>4<50;3xLg`33td9>4=50;3xLg`33td9>4:50;3xLg`33td9>4;50;3xLg`33td9>4850;3xLg`33td9>4950;3xLg`33td9>4650;3xLg`33td9>4750;3xLg`33td9>4o50;3xLg`33td9>4l50;3xLg`33td9>4m50;3xLg`33td9>4j50;3xLg`33td9>4k50;3xLg`33td9>4h50;3xLg`33td9>l>50;3xLg`33td9>l?50;3xLg`33td9>l<50;3xLg`33td9>l=50;3xLg`33td9>l:50;3xLg`33td9>l;50;3xLg`33td9>l850;3xLg`33td9>l950;3xLg`33td9>l650;3xLg`33td9>l750;3xLg`33td9>lo50;3xLg`33td9>ll50;3xLg`33td9>lm50;3xLg`33td9>lj50;3xLg`33td9>lk50;3xLg`33td9>lh50;3xLg`33td9>o>50;3xLg`33td9>o?50;3xLg`33td9>o<50;3xLg`33td9>o=50;3xLg`33td9>o:50;3xLg`33td9>o;50;3xLg`33td9>o850;3xLg`33td9>o950;3xLg`33td9>o650;3xLg`33td9>o750;3xLg`33td9>oo50;3xLg`33td9>ol50;3xLg`33td9>om50;3xLg`33td9>oj50;3xLg`33td9>ok50;3xLg`33td9>oh50;3xLg`33td9>n>50;3xLg`33td9>n?50;3xLg`33td9>n<50;3xLg`33td9>n=50;3xLg`33td9>n:50;3xLg`33td9>n;50;3xLg`33td9>n850;3xLg`33td9>n950;3xLg`33td9>n650;3xLg`33td9>n750;3xLg`33td9>no50;3xLg`33td9>nl50;3xLg`33td9>nm50;3xLg`33td9>nj50;3xLg`33td9>nk50;3xLg`33td9>nh50;3xLg`33td9>i>50;3xLg`33td9>i?50;3xLg`33td9>i<50;3xLg`33td9>i=50;3xLg`33td9>i:50;3xLg`33td9>i;50;3xLg`33td9>i850;3xLg`33td9>i950;3xLg`33td9>i650;3xLg`33td9>i750;3xLg`33td9>io50;3xLg`33td9>il50;3xLg`33td9>im50;3xLg`33td9>ij50;3xLg`33td9>ik50;3xLg`33td9>ih50;3xLg`33td9>h>50;3xLg`33td9>h?50;3xLg`33td9>h<50;3xLg`33td9>h=50;3xLg`33td9>h:50;3xLg`33td9>h;50;3xLg`33td9>h850;3xLg`33td9>h950;3xLg`33td9>h650;3xLg`33td9>h750;3xLg`33td9>ho50;3xLg`33td9>hl50;3xLg`33td9>hm50;3xLg`33td9>hj50;3xLg`33td9>hk50;3xLg`33td9>hh50;3xLg`33td9>k>50;3xLg`33td9>k?50;3xLg`33td9>k<50;3xLg`33td9>k=50;3xLg`33td9>k:50;3xLg`33td9>k;50;3xLg`33td9>k850;3xLg`33td9>k950;3xLg`33td9>k650;3xLg`33td9>k750;3xLg`33td9>ko50;3xLg`33td9>kl50;3xLg`33td9>km50;3xLg`33td9>kj50;3xLg`33td9>kk50;3xLg`33td9>kh50;3xLg`33td9?=>50;3xLg`33td9?=?50;3xLg`33td9?=<50;3xLg`33td9?==50;3xLg`33td9?=:50;3xLg`33td9?=;50;3xLg`33td9?=850;3xLg`33td9?=950;3xLg`33td9?=650;3xLg`33td9?=750;3xLg`33td9?=o50;3xLg`33td9?=l50;3xLg`33td9?=m50;3xLg`33td9?=j50;3xLg`33td9?=k50;3xLg`33td9?=h50;3xLg`33td9?<>50;3xLg`33td9?50;3xLg`33td9???50;3xLg`33td9??<50;3xLg`33td9??=50;3xLg`33td9??:50;3xLg`33td9??;50;3xLg`33td9??850;3xLg`33td9??950;3xLg`33td9??650;3xLg`33td9??750;3xLg`33td9??o50;3xLg`33td9??l50;3xLg`33td9??m50;3xLg`33td9??j50;3xLg`33td9??k50;3xLg`33td9??h50;3xLg`33td9?>>50;3xLg`33td9?>?50;3xLg`33td9?><50;3xLg`33td9?>=50;3xLg`33td9?>:50;3xLg`33td9?>;50;3xLg`33td9?>850;3xLg`33td9?>950;3xLg`33td9?>650;3xLg`33td9?>750;3xLg`33td9?>o50;3xLg`33td9?>l50;3xLg`33td9?>m50;3xLg`33td9?>j50;3xLg`33td9?>k50;3xLg`33td9?>h50;3xLg`33td9?9>50;3xLg`33td9?9?50;3xLg`33td9?9<50;3xLg`33td9?9=50;3xLg`33td9?9:50;3xLg`33td9?9;50;3xLg`33td9?9850;3xLg`33td9?9950;3xLg`33td9?9650;3xLg`33td9?9750;3xLg`33td9?9o50;3xLg`33td9?9l50;3xLg`33td9?9m50;3xLg`33td9?9j50;3xLg`33td9?9k50;3xLg`33td9?9h50;3xLg`33td9?8>50;3xLg`33td9?8?50;3xLg`33td9?8<50;3xLg`33td9?8=50;3xLg`33td9?8:50;3xLg`33td9?8;50;3xLg`33td9?8850;3xLg`33td9?8950;3xLg`33td9?8650;3xLg`33td9?8750;3xLg`33td9?8o50;3xLg`33td9?8l50;3xLg`33td9?8m50;3xLg`33td9?8j50;3xLg`33td9?8k50;3xLg`33td9?8h50;3xLg`33td9?;>50;3xLg`33td9?;?50;3xLg`33td9?;<50;3xLg`33td9?;=50;3xLg`33td9?;:50;3xLg`33td9?;;50;3xLg`33td9?;850;3xLg`33td9?;950;3xLg`33td9?;650;3xLg`33td9?;750;3xLg`33td9?;o50;3xLg`33td9?;l50;3xLg`33td9?;m50;3xLg`33td9?;j50;3xLg`33td9?;k50;3xLg`33td9?;h50;3xLg`33td9?:>50;3xLg`33td9?:?50;3xLg`33td9?:<50;3xLg`33td9?:=50;3xLg`33td9?::50;3xLg`33td9?:;50;3xLg`33td9?:850;3xLg`33td9?:950;3xLg`33td9?:650;3xLg`33td9?:750;3xLg`33td9?:o50;3xLg`33td9?:l50;3xLg`33td9?:m50;3xLg`33td9?:j50;3xLg`33td9?:k50;3xLg`33td9?:h50;3xLg`33td9?5>50;3xLg`33td9?5?50;3xLg`33td9?5<50;3xLg`33td9?5=50;3xLg`33td9?5:50;3xLg`33td9?5;50;3xLg`33td9?5850;3xLg`33td9?5950;3xLg`33td9?5650;3xLg`33td9?5750;3xLg`33td9?5o50;3xLg`33td9?5l50;3xLg`33td9?5m50;3xLg`33td9?5j50;3xLg`33td9?5k50;3xLg`33td9?5h50;3xLg`33td9?4>50;3xLg`33td9?4?50;3xLg`33td9?4<50;3xLg`33td9?4=50;3xLg`33td9?4:50;3xLg`33td9?4;50;3xLg`33td9?4850;3xLg`33td9?4950;3xLg`33td9?4650;3xLg`33td9?4750;3xLg`33td9?4o50;3xLg`33td9?4l50;3xLg`33td9?4m50;3xLg`33td9?4j50;3xLg`33td9?4k50;3xLg`33td9?4h50;3xLg`33td9?l>50;3xLg`33td9?l?50;3xLg`33td9?l<50;3xLg`33td9?l=50;3xLg`33td9?l:50;3xLg`33td9?l;50;3xLg`33td9?l850;3xLg`33td9?l950;3xLg`33td9?l650;3xLg`33td9?l750;3xLg`33td9?lo50;3xLg`33td9?ll50;3xLg`33td9?lm50;3xLg`33td9?lj50;3xLg`33td9?lk50;3xLg`33twvqMNL{3;`3?7f>123:isO@Cy3yEFWstJK \ No newline at end of file diff --git a/FEE_ADC32board/project/ipcore_dir/double_reset.vhd b/FEE_ADC32board/project/ipcore_dir/double_reset.vhd new file mode 100644 index 0000000..10d5b6b --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/double_reset.vhd @@ -0,0 +1,140 @@ +------------------------------------------------------------------------------ +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version : 1.12 +-- \ \ Application : Virtex-6 FPGA GTX Transceiver Wizard +-- / / Filename : double_reset.vhd +-- /___/ /\ +-- \ \ / \ +-- \___\/\___\ +-- +-- +-- Module DOUBLE_RESET +-- Generated by Xilinx Virtex-6 FPGA GTX Transceiver Wizard +-- +-- +-- (c) Copyright 2009-2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. + + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; +library UNISIM; +use UNISIM.VCOMPONENTS.ALL; + +entity DOUBLE_RESET is +port +( + CLK : in std_logic; + PLLLKDET : in std_logic; + GTXTEST_DONE : out std_logic; + GTXTEST_BIT1 : out std_logic +); + +end DOUBLE_RESET; + +architecture RTL of DOUBLE_RESET is +--***********************************Parameter Declarations******************** + constant DLY : time := 1 ns; + +--*******************************Register Declarations************************ + signal plllkdet_sync : std_logic; + signal plllkdet_r : std_logic; + signal reset_dly_ctr : unsigned(10 downto 0); + signal reset_dly_done : std_logic; + signal testdone_f : std_logic_vector(3 downto 0); + +begin +--*******************************Main Body of Code**************************** + + process(CLK ) + begin + if(CLK'event and CLK = '1') then + plllkdet_r <= PLLLKDET after DLY; + plllkdet_sync <= plllkdet_r after DLY; + end if; + end process; + + GTXTEST_BIT1 <= reset_dly_done; + GTXTEST_DONE <= testdone_f(0) when (reset_dly_ctr = b"00000000000") else '0'; + + process(CLK ) + begin + if(CLK'event and CLK = '1') then + if (plllkdet_sync = '0') then + reset_dly_ctr <= b"11111111111" after DLY; + elsif (reset_dly_ctr /= b"00000000000") then + reset_dly_ctr <= reset_dly_ctr - 1 after DLY; + end if; + end if; + end process; + + process(CLK ) + begin + if(CLK'event and CLK = '1') then + if (plllkdet_sync = '0') then + reset_dly_done <= '0' after DLY; + elsif (reset_dly_ctr(10) = '0') then + reset_dly_done <= reset_dly_ctr(8) after DLY; + end if; + end if; + end process; + + process(CLK ) + begin + if(CLK'event and CLK = '1') then + if(reset_dly_ctr /= b"00000000000") then + testdone_f <= b"1111" after DLY; + else + testdone_f <= '0' & testdone_f(3 downto 1) after DLY; + end if; + end if; + end process; + + +end RTL; diff --git a/FEE_ADC32board/project/ipcore_dir/fifo_generator_v8_3_readme.txt b/FEE_ADC32board/project/ipcore_dir/fifo_generator_v8_3_readme.txt new file mode 100644 index 0000000..3028471 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/fifo_generator_v8_3_readme.txt @@ -0,0 +1,197 @@ + Core Name: Xilinx LogiCORE FIFO Generator + Version: 8.3 + Release Date: October 19, 2011 + + +================================================================================ + +This document contains the following sections: + +1. Introduction +2. New Features +3. Supported Devices +4. Resolved Issues +5. Known Issues +6. Technical Support +7. Core Release History +8. Legal Disclaimer + +================================================================================ + +1. INTRODUCTION + +For installation instructions for this release, please go to: + + http://www.xilinx.com/ipcenter/coregen/ip_update_install_instructions.htm + +For system requirements: + + http://www.xilinx.com/ipcenter/coregen/ip_update_system_requirements.htm + +This file contains release notes for the Xilinx LogiCORE IP FIFO Generator v8.2 +solution. For the latest core updates, see the product page at: + + http://www.xilinx.com/products/ipcenter/FIFO_Generator.htm + + +2. NEW FEATURES + + - ISE 13.3 software support + - QVirtex-6L device support + +3. SUPPORTED DEVICES + + The following device families are supported by the core for this release. + + - Zynq-7000* + + - Virtex-7 + - Virtex-7 XT (7vx485t) + - Virtex-7 -2L + + - Kintex-7 + - Kintex-7 -2L + + - Artix-7* + + - Virtex-6 XC CXT/LXT/SXT/HXT + - Virtex-6 XQ LXT/SXT + - Virtex-6 -1L XC LXT/SXT + + - Spartan-6 XC LX/LXT + - Spartan-6 XA + - Spartan-6 XQ LX/LXT + - Spartan-6 -1L XC LX + + - Virtex-5 XC LX/LXT/SXT/TXT/FXT + - Virtex-5 XQ LX/ LXT/SXT/FXT + + - Virtex-4 XC LX/SX/FX + - Virtex-4 XQ LX/SX/FX + - Virtex-4 XQR LX/SX/FX + + - Spartan-3 XC + - Spartan-3 XA + - Spartan-3A XC 3A / 3A DSP / 3AN DSP + - Spartan-3A XA 3A / 3A DSP + - Spartan-3E XC + - Spartan-3E XA + +*To access these devices in the ISE Design Suite, contact your Xilinx FAE. + +4. RESOLVED ISSUES + + +5. KNOWN ISSUES + + The following are known issues for v8.2 of this core at time of release: + + - In the FIFO Generator GUI, after importing an XCO file (Independent clock, distributed memory configuration) + into a Virtex-4 CORE Generator project, if the FIFO type is changed to "Independent Clocks, Built-in FIFO" in page 1, + page 2 does not correctly offer the Read Clock Frequency and Write Clock Frequency options as it should. + - CR 467240 + - AR 31379 + + - When using Common Clock Built-in FIFO configuration with asynchronous reset for Virtex-6 FPGA, + correct behavior of the FIFO status flags cannot be guaranteed after the first write. + + Workaround: To work around this issue, synchronize the negative edge of reset to RDCLK/WRCLK. + For more information and additional workaround see Answer Record 41099. + + + The most recent information, including known issues, workarounds, and + resolutions for this version is provided in the IP Release Notes User Guide + located at + + www.xilinx.com/support/documentation/user_guides/xtp025.pdf + + +6. TECHNICAL SUPPORT + + To obtain technical support, create a WebCase at www.xilinx.com/support. + Questions are routed to a team with expertise using this product. + + Xilinx provides technical support for use of this product when used + according to the guidelines described in the core documentation, and + cannot guarantee timing, functionality, or support of this product for + designs that do not follow specified guidelines. + + +7. CORE RELEASE HISTORY + +Date By Version Description +================================================================================ +09/28/2011 Xilinx, Inc. 8.3 ISE 13.3 support and QVirtex-6L and QSpartan-6 device support +06/22/2011 Xilinx, Inc. 8.2 ISE 13.2 support and Kintex-7L, Virtex-7L, Artix-7* and Zynq-7000* device support +03/01/2011 Xilinx, Inc. 8.1 ISE 13.1 support and Virtex-7 and Kintex-7 device support; Wiring Logic and Register Slice Support +10/29/2010 Xilinx, Inc. 7.3 ISE 13.0.2 support +09/21/2010 Xilinx, Inc. 7.2 ISE 12.3 support; AXI4 Support +07/30/2010 Xilinx, Inc. 7.1 ISE 13.0.1 support +06/18/2010 Xilinx, Inc. 6.2 ISE 12.2 support +04/19/2010 Xilinx, Inc. 6.1 ISE 12.1 support +12/02/2009 Xilinx, Inc. 5.3 rev 1 ISE 11.4 support; Spartan-6 Low Power and Automotive Spartan-6 Device support +09/16/2009 Xilinx, Inc. 5.3 Update to add 11.3; Virtex-6 Low Power and Virtex-6 HXT Device support +06/24/2009 Xilinx, Inc. 5.2 Update to add 11.2 and Virtex-6 CXT device support +04/24/2009 Xilinx, Inc. 5.1 Update to add 11.1 and Virtex-6 and Spartan-6 device support +09/19/2008 Xilinx, Inc. 4.4 Update to add 10.1 SP3 and Virtex-5 TXT device support and miscellaneous bug fixes +03/24/2008 Xilinx, Inc. 4.3 Update to add 10.1 support and miscellaneous bug fixes +10/03/2007 Xilinx, Inc. 4.2 Support for FWFT for Block RAM and Distributed RAM Common Clock FIFOs +08/08/2007 Xilinx, Inc. 4.1 Update to add 9.2i support; Revised to v4.1; ECC support for block RAM FIFO +04/02/2007 Xilinx, Inc. 3.3 Update to add 9.1i support; Revised to v3.3; Spartan-3A and Spartan-3A DSP support; ECC support +09/21/2006 Xilinx, Inc. 3.2 Revised to v3.2; Spartan-3 and Virtex-4 automotive device support +07/13/2006 Xilinx, Inc. 3.1 Update to add 8.2i support; Revised to v3.1; Virtex-5 support +01/11/2006 Xilinx, Inc. 2.3 Update to add 8.1i support; Revised to v2.3 +08/31/2005 Xilinx, Inc. 2.2 Update to add 7.1i SP4 support; Revised to v2.2 +04/28/2005 Xilinx, Inc. 2.1 Update to add 7.1i SP1 support; Revised to v2.1 +11/04/2004 Xilinx, Inc. 2.0 Update to add 6.3i support; Revised to v2.0 +05/21/2004 Xilinx, Inc. 1.1 Revised to v1.1; Virtex-4 support +04/23/2004 Xilinx, Inc. 1.0 Update to add 6.2i support; First release +================================================================================ + +8. Legal Disclaimer + + (c) Copyright 2002 - 2011 Xilinx, Inc. All rights reserved. + + This file contains confidential and proprietary information + of Xilinx, Inc. and is protected under U.S. and + international copyright and other intellectual property + laws. + + DISCLAIMER + This disclaimer is not a license and does not grant any + rights to the materials distributed herewith. Except as + otherwise provided in a valid license issued to you by + Xilinx, and to the maximum extent permitted by applicable + law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND + WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES + AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING + BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- + INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and + (2) Xilinx shall not be liable (whether in contract or tort, + including negligence, or under any other theory of + liability) for any loss or damage of any kind or nature + related to, arising under or in connection with these + materials, including for any direct, or any indirect, + special, incidental, or consequential loss or damage + (including loss of data, profits, goodwill, or any type of + loss or damage suffered as a result of any action brought + by a third party) even if such damage or loss was + reasonably foreseeable or Xilinx had been advised of the + possibility of the same. + + CRITICAL APPLICATIONS + Xilinx products are not designed or intended to be fail- + safe, or for use in any application requiring fail-safe + performance, such as life-support or safety devices or + systems, Class III medical devices, nuclear facilities, + applications related to the deployment of airbags, or any + other applications that could lead to death, personal + injury, or severe property or environmental damage + (individually and collectively, "Critical + Applications"). Customer assumes the sole risk and + liability of any use of Xilinx products in Critical + Applications, subject only to applicable laws and + regulations governing limitations on product liability. + + THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS + PART OF THIS FILE AT ALL TIMES. diff --git a/FEE_ADC32board/project/ipcore_dir/frame_check.vhd b/FEE_ADC32board/project/ipcore_dir/frame_check.vhd new file mode 100644 index 0000000..5b4a18c --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/frame_check.vhd @@ -0,0 +1,702 @@ +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version : 1.12 +-- \ \ Application : Virtex-6 FPGA GTX Transceiver Wizard +-- / / Filename : frame_check.vhd +-- /___/ /\ +-- \ \ / \ +-- \___\/\___\ +-- +-- +-- Module FRAME_CHECK +-- Generated by Xilinx Virtex-6 FPGA GTX Transceiver Wizard +-- +-- +-- (c) Copyright 2009-2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. + + +library ieee; +use ieee.std_logic_1164.all; +use ieee.std_logic_unsigned.all; +use ieee.numeric_std.all; +use std.textio.all; +use ieee.std_logic_textio.all; +use ieee.std_logic_misc.all; +library UNISIM; +use UNISIM.VCOMPONENTS.ALL; + +--***********************************Entity Declaration************************ + +entity FRAME_CHECK is +generic +( + RX_DATA_WIDTH : integer := 16; + RXCTRL_WIDTH : integer := 2; + USE_COMMA : integer := 1; + NONE_MSB_FIRST_DEC : integer := 0; + COMMA_DOUBLE_DEC : integer := 0; + CHANBOND_SEQ_LEN : integer := 1; + WORDS_IN_BRAM : integer := 256; + CONFIG_INDEPENDENT_LANES : integer := 0; + START_OF_PACKET_CHAR : std_logic_vector(15 downto 0) ; + COMMA_DOUBLE_CHAR : std_logic_vector(15 downto 0) := x"f628"; + MEM_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000" +); +port +( + -- User Interface + RX_DATA : in std_logic_vector((RX_DATA_WIDTH-1) downto 0); + RXCTRL_IN : in std_logic_vector((RXCTRL_WIDTH-1) downto 0); + + RX_ENMCOMMA_ALIGN : out std_logic; + RX_ENPCOMMA_ALIGN : out std_logic; + RX_ENCHAN_SYNC : out std_logic; + RX_CHANBOND_SEQ : in std_logic; + + -- Control Interface + INC_IN : in std_logic; + INC_OUT : out std_logic; + PATTERN_MATCH_N : out std_logic; + RESET_ON_ERROR : in std_logic; + + -- Error Monitoring + ERROR_COUNT : out std_logic_vector(7 downto 0); + + -- Track Data + TRACK_DATA : out std_logic; + + -- System Interface + USER_CLK : in std_logic; + SYSTEM_RESET : in std_logic + +); + + +end FRAME_CHECK; + + +architecture RTL of FRAME_CHECK is + + +--***********************************Parameter Declarations******************** + + constant DLY : time := 1 ns; + +--***************************Internal Register Declarations******************** + + signal begin_r : std_logic; + signal data_error_detected_r : std_logic; + signal error_count_r : unsigned(8 downto 0); + signal error_detected_r : std_logic; + signal read_counter_i : unsigned(8 downto 0); + signal rx_chanbond_seq_r : std_logic; + signal rx_chanbond_seq_r2 : std_logic; + signal rx_chanbond_seq_r3 : std_logic; + signal rx_data_r : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r2 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r3 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r4 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r5 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r6 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r7 : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_r_track : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rxctrl_r : std_logic_vector((RXCTRL_WIDTH-1) downto 0); + signal rxctrl_r2 : std_logic_vector((RXCTRL_WIDTH-1) downto 0); + signal rxctrl_r3 : std_logic_vector((RXCTRL_WIDTH-1) downto 0); + signal rxctrl_or : std_logic; + signal start_of_packet_detected_r : std_logic; + signal track_data_r : std_logic; + signal track_data_r2 : std_logic; + signal track_data_r3 : std_logic; + signal track_data_r4 : std_logic; + signal sel : std_logic_vector(1 downto 0); + signal bram_data_r : std_logic_vector(31 downto 0); + + +--*********************************Wire Declarations*************************** + + signal bram_data_i : std_logic_vector(31 downto 0); + + signal chanbondseq_in_data : std_logic; + signal error_detected_c : std_logic; + signal input_to_chanbond_data_i : std_logic; + signal input_to_chanbond_reg_i : std_logic; + signal next_begin_c : std_logic; + signal next_data_error_detected_c : std_logic; + signal next_track_data_c : std_logic; + signal start_of_packet_detected_c : std_logic; + signal rx_chanbond_reg : std_logic_vector((CHANBOND_SEQ_LEN-1) downto 0); + signal rx_chanbond_reg_bitwise_or_i: std_logic; + signal rx_data_aligned : std_logic_vector((RX_DATA_WIDTH-1) downto 0); + signal rx_data_has_start_char_c : std_logic; + signal rx_data_matches_bram_c : std_logic; + signal tied_to_ground_i : std_logic; + signal tied_to_ground_vec_i : std_logic_vector(31 downto 0); + signal tied_to_vcc_i : std_logic; + + +--*********************************Main Body of Code*************************** +begin + + --_______________________ Static signal Assigments _______________________ + + tied_to_ground_i <= '0'; + tied_to_ground_vec_i <= (others=>'0'); + tied_to_vcc_i <= '1'; + + --______________________ Register RXDATA once to ease timing ______________ + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + rx_data_r <= RX_DATA after DLY; + end if; + end process; + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + rxctrl_r <= RXCTRL_IN after DLY; + end if; + end process; + --________________________________ State machine __________________________ + + + -- State registers + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(RESET_ON_ERROR ='1' or SYSTEM_RESET = '1' ) then + begin_r <= '1' after DLY; + track_data_r <= '0' after DLY; + data_error_detected_r <= '0' after DLY; + else + begin_r <= next_begin_c after DLY; + track_data_r <= next_track_data_c after DLY; + data_error_detected_r <= next_data_error_detected_c after DLY; + end if; + end if; + end process; + + -- Next state logic + next_begin_c <= (begin_r and not start_of_packet_detected_r) or data_error_detected_r ; + + next_track_data_c <= (begin_r and start_of_packet_detected_r) or (track_data_r and not error_detected_r); + + next_data_error_detected_c <= (track_data_r and error_detected_r); + + start_of_packet_detected_c <= INC_IN when (CONFIG_INDEPENDENT_LANES=0) else rx_data_has_start_char_c; + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + start_of_packet_detected_r <= start_of_packet_detected_c after DLY; + end if; + end process; + + -- Registering for timing + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + track_data_r2 <= track_data_r after DLY; + end if; + end process; + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + track_data_r3 <= track_data_r2 after DLY; + end if; + end process; + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + track_data_r4 <= track_data_r3 after DLY; + end if; + end process; + + --______________________________ Capture incoming data ____________________ + + + +datapath_width_32_40_16_or_20: if ((RX_DATA_WIDTH=16) or (RX_DATA_WIDTH=20) or (RX_DATA_WIDTH=32) or (RX_DATA_WIDTH=40)) generate + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + rx_data_r2 <= (others => '0') after DLY; + rx_data_r4 <= (others => '0') after DLY; + rx_data_r5 <= (others => '0') after DLY; + rx_data_r6 <= (others => '0') after DLY; + rx_data_r7 <= (others => '0') after DLY; + rx_data_r_track <= (others => '0') after DLY; + else + rx_data_r2 <= rx_data_r after DLY; + rx_data_r4 <= rx_data_r3 after DLY; + rx_data_r5 <= rx_data_r4 after DLY; + rx_data_r6 <= rx_data_r5 after DLY; + rx_data_r7 <= rx_data_r6 after DLY; + rx_data_r_track <= rx_data_r7 after DLY; + end if; + end if; + end process; + + rx_data_aligned <= rx_data_r3; + + --___________________________ Code for Channel bonding ____________________ + -- code to prevent checking of clock correction sequences for the start of packet char + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + rx_chanbond_seq_r <= RX_CHANBOND_SEQ after DLY; + rx_chanbond_seq_r2 <= rx_chanbond_seq_r after DLY; + rx_chanbond_seq_r3 <= rx_chanbond_seq_r2 after DLY; + end if; + end process; + + input_to_chanbond_reg_i <= rx_chanbond_seq_r2; + input_to_chanbond_data_i <= tied_to_ground_i; +end generate datapath_width_32_40_16_or_20; + +datapath_width_8_or_10: if ((RX_DATA_WIDTH=8) or (RX_DATA_WIDTH=10)) generate + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + rx_data_r2 <= (others => '0') after DLY; + rx_data_r3 <= (others => '0') after DLY; + rx_data_r4 <= (others => '0') after DLY; + rx_data_r5 <= (others => '0') after DLY; + rx_data_r_track <= (others => '0') after DLY; + else + rx_data_r2 <= rx_data_r after DLY; + rx_data_r3 <= rx_data_r2 after DLY; + rx_data_r4 <= rx_data_r3 after DLY; + rx_data_r5 <= rx_data_r4 after DLY; + rx_data_r_track <= rx_data_r5 after DLY; + end if; + end if; + end process; + + rx_data_aligned <= RX_DATA; + input_to_chanbond_reg_i <= RX_CHANBOND_SEQ; + input_to_chanbond_data_i <= RX_CHANBOND_SEQ; +end generate datapath_width_8_or_10; + + + + + + + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + rxctrl_r2 <= (others => '0') after DLY; + rxctrl_r3 <= (others => '0') after DLY; + else + rxctrl_r2 <= rxctrl_r after DLY; + rxctrl_r3 <= rxctrl_r2 after DLY; + end if; + end if; + end process; + + --___________________________ Code for Channel bonding ____________________ + -- code to prevent checking of clock correction sequences for the start of packet char + register_chan_seq: for i in 0 to (CHANBOND_SEQ_LEN-1) generate + case_i_equal_to_0: if (i=0) generate + rx_chanbond_reg_0 : FD port map (Q => rx_chanbond_reg(i),D => input_to_chanbond_reg_i,C => USER_CLK); + end generate case_i_equal_to_0; + case_i_greater_than_0: if (i>0) generate + rx_chanbond_reg_i :FD port map (Q => rx_chanbond_reg(i),D => rx_chanbond_reg(i-1),C => USER_CLK); + end generate case_i_greater_than_0; + end generate register_chan_seq; + + chanbondseq_in_data <= input_to_chanbond_data_i or rx_chanbond_reg_bitwise_or_i; + + process(rx_chanbond_reg) + variable rx_chanbond_var : std_logic; + variable i : std_logic; + begin + rx_chanbond_var := '0'; + bit_wise_or : for i in 0 to (CHANBOND_SEQ_LEN-1) loop + rx_chanbond_var := rx_chanbond_var or rx_chanbond_reg(i); + end loop; + rx_chanbond_reg_bitwise_or_i <= rx_chanbond_var; + end process; + + process(RXCTRL_IN) + variable or_rxctrl_var : std_logic; + variable i : std_logic; + begin + or_rxctrl_var := '0'; + bit_wise_rxctrl_or : for i in 0 to (RXCTRL_WIDTH-1) loop + or_rxctrl_var := or_rxctrl_var or RXCTRL_IN(i); + end loop; + rxctrl_or <= or_rxctrl_var; + end process; + + + + rx_data_has_start_char_c <= '1' when ((rx_data_aligned(7 downto 0) = START_OF_PACKET_CHAR(7 downto 0)) and (chanbondseq_in_data='0') and (rxctrl_or='1')) else '0'; + + --_____________________________ Assign output ports _______________________ + + TRACK_DATA <= track_data_r; + + + -- Drive the enamcommaalign port of the mgt for alignment + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + RX_ENMCOMMA_ALIGN <= '0' after DLY; + else + RX_ENMCOMMA_ALIGN <= '1' after DLY; + end if; + end if; + end process; + + -- Drive the enapcommaalign port of the mgt for alignment + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + RX_ENPCOMMA_ALIGN <= '0' after DLY; + else + RX_ENPCOMMA_ALIGN <= '1' after DLY; + end if; + end if; + end process; + + INC_OUT <= start_of_packet_detected_c; + + PATTERN_MATCH_N <= data_error_detected_r; + + -- Drive the enchansync port of the mgt for channel bonding + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET = '1') then + RX_ENCHAN_SYNC <= '0' after DLY; + else + RX_ENCHAN_SYNC <= '1' after DLY; + end if; + end if; + end process; + + --___________________________ Check incoming data for errors ______________ + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + bram_data_r <= bram_data_i after DLY; + end if; + end process; + + --An error is detected when data read for the BRAM does not match the incoming data +use_40bit : if RX_DATA_WIDTH = 40 generate + rx_data_matches_bram_c <= '0' when (rx_data_r_track /= (tied_to_ground_vec_i(7 downto 0) & bram_data_r)) else '1'; +end generate use_40bit; + +not_40bit : if RX_DATA_WIDTH /= 40 generate + rx_data_matches_bram_c <= '0' when (rx_data_r_track /= bram_data_r((RX_DATA_WIDTH-1) downto 0)) else '1'; +end generate not_40bit; + + error_detected_c <= track_data_r4 and not rx_data_matches_bram_c; + + +enable_error_check : if USE_COMMA = 1 generate + --We register the error_detected signal for use with the error counter logic + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(not(track_data_r = '1')) then + error_detected_r <= '0' after DLY; + else + error_detected_r <= error_detected_c after DLY; + end if; + end if; + end process; +end generate enable_error_check; + +disable_error_check : if USE_COMMA = 0 generate + -- Since the comma detect logic has not been enabled, the error counter has been disabled since + -- it doesnt make sense to be searching for an align character in the data. To enable the error + -- count again, please see the code above + + error_detected_r <= '0'; + +end generate disable_error_check; + + + --We count the total number of errors we detect. By keeping a count we make it less likely that we will miss + --errors we did not directly observe. This counter must be reset when it reaches its max value + process ( USER_CLK ) + begin + if( USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET='1') then + error_count_r <= (others => '0') after DLY; + elsif(error_detected_r = '1') then + error_count_r <= error_count_r + 1 after DLY; + end if; + end if; + end process; + + + --Here we connect the lower 8 bits of the count (the MSbit is used only to check when the counter reaches + --max value) to the module output + ERROR_COUNT <= std_logic_vector(error_count_r(7 downto 0)); + + --____________________________ Counter to read from BRAM __________________________ +four_byte : if RX_DATA_WIDTH > 20 generate + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if((SYSTEM_RESET='1') or (read_counter_i = (WORDS_IN_BRAM-1))) then + read_counter_i <= (others => '0') after DLY; + elsif(((start_of_packet_detected_r and not track_data_r)='1')) then + read_counter_i <= "000000001" after DLY; + else read_counter_i <= read_counter_i + 1 after DLY; + end if; + end if; + end process; +end generate four_byte; + +one_or_two_byte : if RX_DATA_WIDTH <= 20 generate + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if((SYSTEM_RESET='1') or (read_counter_i = (WORDS_IN_BRAM-1)) + or ((start_of_packet_detected_r and not track_data_r)='1')) then + read_counter_i <= (others => '0') after DLY; + else read_counter_i <= read_counter_i + 1 after DLY; + end if; + end if; + end process; +end generate one_or_two_byte; + + --________________________________ BRAM Instantiation _____________________________ + + dual_port_block_ram_i : RAMB16_S36_S36 + generic map + ( + INIT_00 => MEM_00, + INIT_01 => MEM_01, + INIT_02 => MEM_02, + INIT_03 => MEM_03, + INIT_04 => MEM_04, + INIT_05 => MEM_05, + INIT_06 => MEM_06, + INIT_07 => MEM_07, + INIT_08 => MEM_08, + INIT_09 => MEM_09, + INIT_0A => MEM_0A, + INIT_0B => MEM_0B, + INIT_0C => MEM_0C, + INIT_0D => MEM_0D, + INIT_0E => MEM_0E, + INIT_0F => MEM_0F, + INIT_10 => MEM_10, + INIT_11 => MEM_11, + INIT_12 => MEM_12, + INIT_13 => MEM_13, + INIT_14 => MEM_14, + INIT_15 => MEM_15, + INIT_16 => MEM_16, + INIT_17 => MEM_17, + INIT_18 => MEM_18, + INIT_19 => MEM_19, + INIT_1A => MEM_1A, + INIT_1B => MEM_1B, + INIT_1C => MEM_1C, + INIT_1D => MEM_1D, + INIT_1E => MEM_1E, + INIT_1F => MEM_1F, + INIT_20 => MEM_20, + INIT_21 => MEM_21, + INIT_22 => MEM_22, + INIT_23 => MEM_23, + INIT_24 => MEM_24, + INIT_25 => MEM_25, + INIT_26 => MEM_26, + INIT_27 => MEM_27, + INIT_28 => MEM_28, + INIT_29 => MEM_29, + INIT_2A => MEM_2A, + INIT_2B => MEM_2B, + INIT_2C => MEM_2C, + INIT_2D => MEM_2D, + INIT_2E => MEM_2E, + INIT_2F => MEM_2F, + INIT_30 => MEM_30, + INIT_31 => MEM_31, + INIT_32 => MEM_32, + INIT_33 => MEM_33, + INIT_34 => MEM_34, + INIT_35 => MEM_35, + INIT_36 => MEM_36, + INIT_37 => MEM_37, + INIT_38 => MEM_38, + INIT_39 => MEM_39, + INIT_3A => MEM_3A, + INIT_3B => MEM_3B, + INIT_3C => MEM_3C, + INIT_3D => MEM_3D, + INIT_3E => MEM_3E, + INIT_3F => MEM_3F, + INITP_00 => MEMP_00, + INITP_01 => MEMP_01, + INITP_02 => MEMP_02, + INITP_03 => MEMP_03, + INITP_04 => MEMP_04, + INITP_05 => MEMP_05, + INITP_06 => MEMP_06, + INITP_07 => MEMP_07 + + ) + port map + ( + ADDRA => std_logic_vector(read_counter_i), + DIA => tied_to_ground_vec_i(31 downto 0), + DIPA => tied_to_ground_vec_i(3 downto 0), + DOA => bram_data_i, + DOPA => open, + WEA => tied_to_ground_i, + ENA => tied_to_vcc_i, + SSRA => tied_to_ground_i, + CLKA => USER_CLK, + + ADDRB => tied_to_ground_vec_i(8 downto 0), + DIB => tied_to_ground_vec_i(31 downto 0), + DIPB => tied_to_ground_vec_i(3 downto 0), + DOB => open, + DOPB => open, + WEB => tied_to_ground_i, + ENB => tied_to_ground_i, + SSRB => tied_to_ground_i, + CLKB => tied_to_ground_i + ); + + +end RTL; + diff --git a/FEE_ADC32board/project/ipcore_dir/frame_gen.vhd b/FEE_ADC32board/project/ipcore_dir/frame_gen.vhd new file mode 100644 index 0000000..2d76452 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/frame_gen.vhd @@ -0,0 +1,329 @@ +------------------------------------------------------------------------------- +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version : 1.12 +-- \ \ Application : Virtex-6 FPGA GTX Transceiver Wizard +-- / / Filename : frame_gen.vhd +-- /___/ /\ +-- \ \ / \ +-- \___\/\___\ +-- +-- +-- Module FRAME_GEN +-- Generated by Xilinx Virtex-6 FPGA GTX Transceiver Wizard +-- +-- +-- (c) Copyright 2009-2011 Xilinx, Inc. All rights reserved. +-- +-- This file contains confidential and proprietary information +-- of Xilinx, Inc. and is protected under U.S. and +-- international copyright and other intellectual property +-- laws. +-- +-- DISCLAIMER +-- This disclaimer is not a license and does not grant any +-- rights to the materials distributed herewith. Except as +-- otherwise provided in a valid license issued to you by +-- Xilinx, and to the maximum extent permitted by applicable +-- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND +-- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES +-- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING +-- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- +-- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and +-- (2) Xilinx shall not be liable (whether in contract or tort, +-- including negligence, or under any other theory of +-- liability) for any loss or damage of any kind or nature +-- related to, arising under or in connection with these +-- materials, including for any direct, or any indirect, +-- special, incidental, or consequential loss or damage +-- (including loss of data, profits, goodwill, or any type of +-- loss or damage suffered as a result of any action brought +-- by a third party) even if such damage or loss was +-- reasonably foreseeable or Xilinx had been advised of the +-- possibility of the same. +-- +-- CRITICAL APPLICATIONS +-- Xilinx products are not designed or intended to be fail- +-- safe, or for use in any application requiring fail-safe +-- performance, such as life-support or safety devices or +-- systems, Class III medical devices, nuclear facilities, +-- applications related to the deployment of airbags, or any +-- other applications that could lead to death, personal +-- injury, or severe property or environmental damage +-- (individually and collectively, "Critical +-- Applications"). Customer assumes the sole risk and +-- liability of any use of Xilinx products in Critical +-- Applications, subject only to applicable laws and +-- regulations governing limitations on product liability. +-- +-- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS +-- PART OF THIS FILE AT ALL TIMES. + + +library ieee; +use ieee.std_logic_1164.all; +use ieee.numeric_std.all; +library UNISIM; +use UNISIM.VCOMPONENTS.ALL; + +--***********************************Entity Declaration************************ + +entity FRAME_GEN is +generic +( + WORDS_IN_BRAM : integer := 256; + MEM_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_08 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_09 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_0F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_10 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_11 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_12 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_13 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_14 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_15 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_16 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_17 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_18 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_19 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_1F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_20 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_21 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_22 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_23 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_24 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_25 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_26 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_27 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_28 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_29 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_2F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_30 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_31 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_32 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_33 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_34 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_35 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_36 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_37 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_38 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_39 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3A : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3B : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3C : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3D : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3E : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEM_3F : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_00 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_01 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_02 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_03 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_04 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_05 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_06 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000"; + MEMP_07 : bit_vector := X"0000000000000000000000000000000000000000000000000000000000000000" +); +port +( + -- User Interface + TX_DATA : out std_logic_vector(39 downto 0); + TX_CHARISK : out std_logic_vector(3 downto 0); + + -- System Interface + USER_CLK : in std_logic; + SYSTEM_RESET : in std_logic +); + + +end FRAME_GEN; + +architecture RTL of FRAME_GEN is + +--***********************************Parameter Declarations******************** + + constant DLY : time := 1 ns; + +--********************************* Wire Declarations************************** + + signal tx_charisk_i : std_logic_vector(3 downto 0); + signal tx_data_bram_i : std_logic_vector(31 downto 0); + signal tied_to_ground_vec_i : std_logic_vector(31 downto 0); + signal tied_to_ground_i : std_logic; + signal tied_to_vcc_i : std_logic; + signal tied_to_vcc_vec_i : std_logic_vector(15 downto 0); + +--***************************Internal signalister Declarations******************** + + signal read_counter_i : unsigned(8 downto 0); + + +--*********************************Main Body of Code*************************** +begin + + tied_to_ground_vec_i <= (others=>'0'); + tied_to_ground_i <= '0'; + tied_to_vcc_i <= '1'; + + --__________________________ Counter to read from BRAM ____________________ + + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if((SYSTEM_RESET='1') or (read_counter_i = (WORDS_IN_BRAM-1)))then + read_counter_i <= (others => '0') after DLY; + else + read_counter_i <= read_counter_i + 1 after DLY; + end if; + end if; + end process; + + -- Assign TX_DATA to BRAM output + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET='1') then + TX_DATA <= (others => '0') after DLY; + else + TX_DATA <= (tied_to_ground_vec_i(7 downto 0) & tx_data_bram_i) after DLY; + end if; + end if; + end process; + + -- Assign TX_CHARISK to BRAM output + process( USER_CLK ) + begin + if(USER_CLK'event and USER_CLK = '1') then + if(SYSTEM_RESET='1') then + TX_CHARISK <= (others => '0') after DLY; + else + TX_CHARISK <= tx_charisk_i after DLY; + end if; + end if; + end process; + + --______________________________ BRAM Instantiation _______________________ + + dual_port_block_ram_i : RAMB16_S36_S36 + generic map + ( + INIT_00 => MEM_00, + INIT_01 => MEM_01, + INIT_02 => MEM_02, + INIT_03 => MEM_03, + INIT_04 => MEM_04, + INIT_05 => MEM_05, + INIT_06 => MEM_06, + INIT_07 => MEM_07, + INIT_08 => MEM_08, + INIT_09 => MEM_09, + INIT_0A => MEM_0A, + INIT_0B => MEM_0B, + INIT_0C => MEM_0C, + INIT_0D => MEM_0D, + INIT_0E => MEM_0E, + INIT_0F => MEM_0F, + INIT_10 => MEM_10, + INIT_11 => MEM_11, + INIT_12 => MEM_12, + INIT_13 => MEM_13, + INIT_14 => MEM_14, + INIT_15 => MEM_15, + INIT_16 => MEM_16, + INIT_17 => MEM_17, + INIT_18 => MEM_18, + INIT_19 => MEM_19, + INIT_1A => MEM_1A, + INIT_1B => MEM_1B, + INIT_1C => MEM_1C, + INIT_1D => MEM_1D, + INIT_1E => MEM_1E, + INIT_1F => MEM_1F, + INIT_20 => MEM_20, + INIT_21 => MEM_21, + INIT_22 => MEM_22, + INIT_23 => MEM_23, + INIT_24 => MEM_24, + INIT_25 => MEM_25, + INIT_26 => MEM_26, + INIT_27 => MEM_27, + INIT_28 => MEM_28, + INIT_29 => MEM_29, + INIT_2A => MEM_2A, + INIT_2B => MEM_2B, + INIT_2C => MEM_2C, + INIT_2D => MEM_2D, + INIT_2E => MEM_2E, + INIT_2F => MEM_2F, + INIT_30 => MEM_30, + INIT_31 => MEM_31, + INIT_32 => MEM_32, + INIT_33 => MEM_33, + INIT_34 => MEM_34, + INIT_35 => MEM_35, + INIT_36 => MEM_36, + INIT_37 => MEM_37, + INIT_38 => MEM_38, + INIT_39 => MEM_39, + INIT_3A => MEM_3A, + INIT_3B => MEM_3B, + INIT_3C => MEM_3C, + INIT_3D => MEM_3D, + INIT_3E => MEM_3E, + INIT_3F => MEM_3F, + INITP_00 => MEMP_00, + INITP_01 => MEMP_01, + INITP_02 => MEMP_02, + INITP_03 => MEMP_03, + INITP_04 => MEMP_04, + INITP_05 => MEMP_05, + INITP_06 => MEMP_06, + INITP_07 => MEMP_07 + ) + port map + ( + ADDRA => std_logic_vector(read_counter_i), + DIA => tied_to_ground_vec_i(31 downto 0), + DIPA => tied_to_ground_vec_i(3 downto 0), + DOA => tx_data_bram_i, + DOPA => tx_charisk_i, + WEA => tied_to_ground_i, + ENA => tied_to_vcc_i, + SSRA => tied_to_ground_i, + CLKA => USER_CLK, + + ADDRB => tied_to_ground_vec_i(8 downto 0), + DIB => tied_to_ground_vec_i(31 downto 0), + DIPB => tied_to_ground_vec_i(3 downto 0), + DOB => open, + DOPB => open, + WEB => tied_to_ground_i, + ENB => tied_to_ground_i, + SSRB => tied_to_ground_i, + CLKB => tied_to_ground_i + ); + +end RTL; + diff --git a/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.gise b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.gise new file mode 100644 index 0000000..f0166db --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.gise @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + 11.1 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.vho b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.vho new file mode 100644 index 0000000..f9439a3 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.vho @@ -0,0 +1,270 @@ +------------------------------------------------------------------------------ +-- ____ ____ +-- / /\/ / +-- /___/ \ / Vendor: Xilinx +-- \ \ \/ Version : 1.12 +-- \ \ Application : Virtex-6 FPGA GTX Transceiver Wizard +-- / / Filename : gtxvirtex6fee80.vhd +-- /___/ /\ +-- \ \ / \ +-- \___\/\___\ +-- +-- +-- Instantiation Template +-- Generated by Xilinx Virtex-6 FPGA GTX Transceiver Wizard + + +--**************************Component Declarations***************************** + + +component gtxVirtex6FEE80 +generic +( + -- Simulation attributes + WRAPPER_SIM_GTXRESET_SPEEDUP : integer := 0 -- Set to 1 to speed up sim reset +); +port +( + + --_________________________________________________________________________ + --_________________________________________________________________________ + --GTX0 (X0_Y12) + + ----------------------- Receive Ports - 8b10b Decoder ---------------------- + GTX0_RXCHARISK_OUT : out std_logic; + GTX0_RXDISPERR_OUT : out std_logic; + GTX0_RXNOTINTABLE_OUT : out std_logic; + --------------- Receive Ports - Comma Detection and Alignment -------------- + GTX0_RXENMCOMMAALIGN_IN : in std_logic; + GTX0_RXENPCOMMAALIGN_IN : in std_logic; + ------------------- Receive Ports - RX Data Path interface ----------------- + GTX0_RXDATA_OUT : out std_logic_vector(7 downto 0); + GTX0_RXRECCLK_OUT : out std_logic; + GTX0_RXRESET_IN : in std_logic; + GTX0_RXUSRCLK2_IN : in std_logic; + ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------ + GTX0_RXCDRRESET_IN : in std_logic; + GTX0_RXN_IN : in std_logic; + GTX0_RXP_IN : in std_logic; + -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports ------- + GTX0_RXDLYALIGNDISABLE_IN : in std_logic; + GTX0_RXDLYALIGNMONENB_IN : in std_logic; + GTX0_RXDLYALIGNMONITOR_OUT : out std_logic_vector(7 downto 0); + GTX0_RXDLYALIGNOVERRIDE_IN : in std_logic; + GTX0_RXDLYALIGNRESET_IN : in std_logic; + GTX0_RXENPMAPHASEALIGN_IN : in std_logic; + GTX0_RXPMASETPHASE_IN : in std_logic; + GTX0_RXSTATUS_OUT : out std_logic_vector(2 downto 0); + --------------- Receive Ports - RX Loss-of-sync State Machine -------------- + GTX0_RXLOSSOFSYNC_OUT : out std_logic_vector(1 downto 0); + ------------------------ Receive Ports - RX PLL Ports ---------------------- + GTX0_GTXRXRESET_IN : in std_logic; + GTX0_MGTREFCLKRX_IN : in std_logic; + GTX0_PLLRXRESET_IN : in std_logic; + GTX0_RXPLLLKDET_OUT : out std_logic; + GTX0_RXRESETDONE_OUT : out std_logic; + -------------- Receive Ports - RX Pipe Control for PCI Express ------------- + GTX0_PHYSTATUS_OUT : out std_logic; + ---------------- Transmit Ports - 8b10b Encoder Control Ports -------------- + GTX0_TXCHARISK_IN : in std_logic; + ------------------------- Transmit Ports - GTX Ports ----------------------- + GTX0_GTXTEST_IN : in std_logic_vector(12 downto 0); + ------------------ Transmit Ports - TX Data Path interface ----------------- + GTX0_TXDATA_IN : in std_logic_vector(7 downto 0); + GTX0_TXOUTCLK_OUT : out std_logic; + GTX0_TXRESET_IN : in std_logic; + GTX0_TXUSRCLK2_IN : in std_logic; + ---------------- Transmit Ports - TX Driver and OOB signaling -------------- + GTX0_TXN_OUT : out std_logic; + GTX0_TXP_OUT : out std_logic; + -------- Transmit Ports - TX Elastic Buffer and Phase Alignment Ports ------ + GTX0_TXDLYALIGNDISABLE_IN : in std_logic; + GTX0_TXDLYALIGNMONENB_IN : in std_logic; + GTX0_TXDLYALIGNMONITOR_OUT : out std_logic_vector(7 downto 0); + GTX0_TXDLYALIGNRESET_IN : in std_logic; + GTX0_TXENPMAPHASEALIGN_IN : in std_logic; + GTX0_TXPMASETPHASE_IN : in std_logic; + ----------------------- Transmit Ports - TX PLL Ports ---------------------- + GTX0_GTXTXRESET_IN : in std_logic; + GTX0_TXRESETDONE_OUT : out std_logic + + +); +end component; + + + +component gtxvirtex6fee80_tx_sync +port +( + TXENPMAPHASEALIGN : out std_logic; + TXPMASETPHASE : out std_logic; + TXDLYALIGNDISABLE : out std_logic; + TXDLYALIGNRESET : out std_logic; + SYNC_DONE : out std_logic; + USER_CLK : in std_logic; + RESET : in std_logic +); +end component; + +component gtxvirtex6fee80_rx_sync +port +( + RXENPMAPHASEALIGN : out std_logic; + RXPMASETPHASE : out std_logic; + RXDLYALIGNDISABLE : out std_logic; + RXDLYALIGNRESET : out std_logic; + SYNC_DONE : out std_logic; + USER_CLK : in std_logic; + RESET : in std_logic +); +end component; + + + + + + + ----------------------------- The GTX Wrapper ----------------------------- + + + gtxVirtex6FEE80_i : gtxVirtex6FEE80 + generic map + ( + WRAPPER_SIM_GTXRESET_SPEEDUP => 1 + ) + port map + ( + --_____________________________________________________________________ + --_____________________________________________________________________ + --GTX0 (X0Y12) + + ----------------------- Receive Ports - 8b10b Decoder ---------------------- + GTX0_RXCHARISK_OUT => , + GTX0_RXDISPERR_OUT => , + GTX0_RXNOTINTABLE_OUT => , + --------------- Receive Ports - Comma Detection and Alignment -------------- + GTX0_RXENMCOMMAALIGN_IN => , + GTX0_RXENPCOMMAALIGN_IN => , + ------------------- Receive Ports - RX Data Path interface ----------------- + GTX0_RXDATA_OUT => , + GTX0_RXRECCLK_OUT => , + GTX0_RXRESET_IN => , + GTX0_RXUSRCLK2_IN => , + ------- Receive Ports - RX Driver,OOB signalling,Coupling and Eq.,CDR ------ + GTX0_RXCDRRESET_IN => , + GTX0_RXN_IN => , + GTX0_RXP_IN => , + -------- Receive Ports - RX Elastic Buffer and Phase Alignment Ports ------- + GTX0_RXDLYALIGNDISABLE_IN => , + GTX0_RXDLYALIGNMONENB_IN => , + GTX0_RXDLYALIGNMONITOR_OUT => , + GTX0_RXDLYALIGNOVERRIDE_IN => , + GTX0_RXDLYALIGNRESET_IN => , + GTX0_RXENPMAPHASEALIGN_IN => , + GTX0_RXPMASETPHASE_IN => , + GTX0_RXSTATUS_OUT => , + --------------- Receive Ports - RX Loss-of-sync State Machine -------------- + GTX0_RXLOSSOFSYNC_OUT => , + ------------------------ Receive Ports - RX PLL Ports ---------------------- + GTX0_GTXRXRESET_IN => , + GTX0_MGTREFCLKRX_IN => , + GTX0_PLLRXRESET_IN => , + GTX0_RXPLLLKDET_OUT => , + GTX0_RXRESETDONE_OUT => , + -------------- Receive Ports - RX Pipe Control for PCI Express ------------- + GTX0_PHYSTATUS_OUT => , + ---------------- Transmit Ports - 8b10b Encoder Control Ports -------------- + GTX0_TXCHARISK_IN => , + ------------------------- Transmit Ports - GTX Ports ----------------------- + GTX0_GTXTEST_IN => , + ------------------ Transmit Ports - TX Data Path interface ----------------- + GTX0_TXDATA_IN => , + GTX0_TXOUTCLK_OUT => , + GTX0_TXRESET_IN => , + GTX0_TXUSRCLK2_IN => , + ---------------- Transmit Ports - TX Driver and OOB signaling -------------- + GTX0_TXN_OUT => , + GTX0_TXP_OUT => , + -------- Transmit Ports - TX Elastic Buffer and Phase Alignment Ports ------ + GTX0_TXDLYALIGNDISABLE_IN => , + GTX0_TXDLYALIGNMONENB_IN => , + GTX0_TXDLYALIGNMONITOR_OUT => , + GTX0_TXDLYALIGNRESET_IN => , + GTX0_TXENPMAPHASEALIGN_IN => , + GTX0_TXPMASETPHASE_IN => , + ----------------------- Transmit Ports - TX PLL Ports ---------------------- + GTX0_GTXTXRESET_IN => , + GTX0_TXRESETDONE_OUT => + + + ); + + + + -----------------------Dedicated GTX Reference Clock Inputs --------------- + -- Each dedicated refclk you are using in your design will need its own IBUFDS_GTXE1 instance + + q3_clk0_refclk_ibufds_i : IBUFDS_GTXE1 + port map + ( + O => , + ODIV2 => , + CEB => , + I => , -- Connect to package pin L4 + IB => -- Connect to package pin L3 + ); + + + + + + ------------------------------ TXSYNC module ------------------------------ + -- Since you are bypassing the TX Buffer in your wrapper, you will need to drive + -- the phase alignment ports to align the phase of the TX Datapath. Include + -- this module in your design to have phase alignment performed automatically as + -- it is done in the example design. + + + gtx0_txsync_i : gtxvirtex6fee80_tx_sync + port map + ( + TXENPMAPHASEALIGN => + TXPMASETPHASE => + TXDLYALIGNDISABLE => + TXDLYALIGNRESET => + SYNC_DONE => + USER_CLK => + RESET => , + ); + + + ---------------------------- RXSYNC modules ------------------------------- + -- The RXSYNC module performs phase synchronization for all the active RX datapaths. It + -- waits for the user clocks to be stable, then drives the RX phase align signals on each + -- GTX. When phase synchronization is complete, it asserts SYNC_DONE + + -- Include one RX_SYNC module per Buffer bypassed RX datapath in your own design. RX_SYNC modules + -- can also be shared, but when sharing, make sure to hold the module in reset until all lanes have + -- a stable clock + + + + gtx0_rxsync_i : gtxvirtex6fee80_rx_sync + port map + ( + RXENPMAPHASEALIGN => + RXPMASETPHASE => + RXDLYALIGNDISABLE => + RXDLYALIGNRESET => + SYNC_DONE => + USER_CLK => + RESET => , + ); + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xco b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xco new file mode 100644 index 0000000..3377535 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xco @@ -0,0 +1,411 @@ +############################################################## +# +# Xilinx Core Generator version 14.7 +# Date: Mon Dec 01 12:54:17 2014 +# +############################################################## +# +# This file contains the customisation parameters for a +# Xilinx CORE Generator IP GUI. It is strongly recommended +# that you do not manually alter this file as it may cause +# unexpected and unsupported behavior. +# +############################################################## +# +# Generated from component: xilinx.com:ip:v6_gtxwizard:1.12 +# +############################################################## +# +# BEGIN Project Options +SET addpads = false +SET asysymbol = true +SET busformat = BusFormatAngleBracketNotRipped +SET createndf = false +SET designentry = VHDL +SET device = xc6vlx130t +SET devicefamily = virtex6 +SET flowvendor = Other +SET formalverification = false +SET foundationsym = false +SET implementationfiletype = Ngc +SET package = ff484 +SET removerpms = false +SET simulationfiles = Behavioral +SET speedgrade = -3 +SET verilogsim = false +SET vhdlsim = true +# END Project Options +# BEGIN Select +SELECT Virtex-6_FPGA_GTX_Transceiver_Wizard xilinx.com:ip:v6_gtxwizard:1.12 +# END Select +# BEGIN Parameters +CSET advanced_clocking=false +CSET bytes_to_reduce_error=8 +CSET cb_seq_1_1=00000000 +CSET cb_seq_1_1_disp=false +CSET cb_seq_1_1_k=false +CSET cb_seq_1_1_mask=true +CSET cb_seq_1_2=00000000 +CSET cb_seq_1_2_disp=false +CSET cb_seq_1_2_k=false +CSET cb_seq_1_2_mask=true +CSET cb_seq_1_3=00000000 +CSET cb_seq_1_3_disp=false +CSET cb_seq_1_3_k=false +CSET cb_seq_1_3_mask=true +CSET cb_seq_1_4=00000000 +CSET cb_seq_1_4_disp=false +CSET cb_seq_1_4_k=false +CSET cb_seq_1_4_mask=true +CSET cb_seq_2_1=00000000 +CSET cb_seq_2_1_disp=false +CSET cb_seq_2_1_k=false +CSET cb_seq_2_1_mask=true +CSET cb_seq_2_2=00000000 +CSET cb_seq_2_2_disp=false +CSET cb_seq_2_2_k=false +CSET cb_seq_2_2_mask=true +CSET cb_seq_2_3=00000000 +CSET cb_seq_2_3_disp=false +CSET cb_seq_2_3_k=false +CSET cb_seq_2_3_mask=true +CSET cb_seq_2_4=00000000 +CSET cb_seq_2_4_disp=false +CSET cb_seq_2_4_k=false +CSET cb_seq_2_4_mask=true +CSET cb_sequence_1_max_skew=1 +CSET cb_sequence_2_max_skew=1 +CSET cb_sequence_length=1 +CSET cc_keep_one_idle=false +CSET cc_seq_1_1=00000000 +CSET cc_seq_1_1_disp=false +CSET cc_seq_1_1_k=true +CSET cc_seq_1_1_mask=true +CSET cc_seq_1_2=00000000 +CSET cc_seq_1_2_disp=false +CSET cc_seq_1_2_k=true +CSET cc_seq_1_2_mask=true +CSET cc_seq_1_3=00000000 +CSET cc_seq_1_3_disp=false +CSET cc_seq_1_3_k=true +CSET cc_seq_1_3_mask=true +CSET cc_seq_1_4=00000000 +CSET cc_seq_1_4_disp=false +CSET cc_seq_1_4_k=true +CSET cc_seq_1_4_mask=true +CSET cc_seq_2_1=00000000 +CSET cc_seq_2_1_disp=false +CSET cc_seq_2_1_k=true +CSET cc_seq_2_1_mask=true +CSET cc_seq_2_2=00000000 +CSET cc_seq_2_2_disp=false +CSET cc_seq_2_2_k=true +CSET cc_seq_2_2_mask=true +CSET cc_seq_2_3=00000000 +CSET cc_seq_2_3_disp=false +CSET cc_seq_2_3_k=true +CSET cc_seq_2_3_mask=true +CSET cc_seq_2_4=00000000 +CSET cc_seq_2_4_disp=false +CSET cc_seq_2_4_k=true +CSET cc_seq_2_4_mask=true +CSET cc_sequence_length=1 +CSET cdr_ph_adj_time=10100 +CSET chan_bond_keep_align=false +CSET chan_bond_seq_2_cfg=00000 +CSET clk_cor_precedence=CC +CSET clk_cor_repeat_wait=0 +CSET column=Left +CSET com_burst_val=15 +CSET comma_alignment=Any_Byte_Boundary +CSET comma_double=false +CSET comma_mask=1111111100 +CSET comma_preset=K28.5 +CSET component_name=gtxVirtex6FEE80 +CSET dec_mcomma_detect=false +CSET dec_pcomma_detect=false +CSET dec_valid_comma_only=false +CSET decoding=8B/10B +CSET dfe_mode=Fixed_tap_mode +CSET disable_ac_coupling=true +CSET driver_swing=1000 +CSET en_idle_reset_buf=false +CSET enable_dfe=false +CSET encoding=8B/10B +CSET errors_to_lose_sync=256 +CSET fifo_lower_bounds=14 +CSET fifo_upper_bounds=16 +CSET highpass_pole_location=Use_RXEQPOLE_Port +CSET max_cb_level=7 +CSET mcomma_detect=true +CSET minus_comma=1010000011 +CSET oob_clk_divider=0000000 +CSET pci_express_mode=false +CSET pcomma_detect=true +CSET pll_sata=false +CSET plus_comma=0101111100 +CSET postemphasis_level=00000 +CSET ppm_offset=0_(Synchronous) +CSET preemphasis_level=0000 +CSET protocol_file=Start_from_scratch +CSET refclk_ac_coupling_x0_y0=false +CSET refclk_ac_coupling_x0_y1=false +CSET refclk_ac_coupling_x0_y10=false +CSET refclk_ac_coupling_x0_y11=false +CSET refclk_ac_coupling_x0_y12=false +CSET refclk_ac_coupling_x0_y13=false +CSET refclk_ac_coupling_x0_y14=false +CSET refclk_ac_coupling_x0_y15=false +CSET refclk_ac_coupling_x0_y16=false +CSET refclk_ac_coupling_x0_y17=false +CSET refclk_ac_coupling_x0_y18=false +CSET refclk_ac_coupling_x0_y19=false +CSET refclk_ac_coupling_x0_y2=false +CSET refclk_ac_coupling_x0_y20=false +CSET refclk_ac_coupling_x0_y21=false +CSET refclk_ac_coupling_x0_y22=false +CSET refclk_ac_coupling_x0_y23=false +CSET refclk_ac_coupling_x0_y3=false +CSET refclk_ac_coupling_x0_y4=false +CSET refclk_ac_coupling_x0_y5=false +CSET refclk_ac_coupling_x0_y6=false +CSET refclk_ac_coupling_x0_y7=false +CSET refclk_ac_coupling_x0_y8=false +CSET refclk_ac_coupling_x0_y9=false +CSET rx_datapath_width=8 +CSET rx_decode_seq_match=true +CSET rx_divider=/2 +CSET rx_en_idle_hold_cdr=false +CSET rx_en_idle_hold_dfe=true +CSET rx_en_idle_reset_fr=false +CSET rx_en_idle_reset_ph=false +CSET rx_en_mode_reset_buf=true +CSET rx_en_rate_reset_buf=true +CSET rx_en_realign_reset_buf=false +CSET rx_fifo_addr_mode=FULL +CSET rx_idle_hi_cnt=1000 +CSET rx_idle_lo_cnt=0000 +CSET rx_line_rate=2 +CSET rx_oob_threshold=011 +CSET rx_refclk_x0_y0=REFCLK1_Q0 +CSET rx_refclk_x0_y1=REFCLK1_Q0 +CSET rx_refclk_x0_y10=REFCLK1_Q2 +CSET rx_refclk_x0_y11=REFCLK1_Q2 +CSET rx_refclk_x0_y12=REFCLK0_Q3 +CSET rx_refclk_x0_y13=REFCLK1_Q3 +CSET rx_refclk_x0_y14=REFCLK1_Q3 +CSET rx_refclk_x0_y15=REFCLK1_Q3 +CSET rx_refclk_x0_y16=REFCLK1_Q4 +CSET rx_refclk_x0_y17=REFCLK1_Q4 +CSET rx_refclk_x0_y18=REFCLK1_Q4 +CSET rx_refclk_x0_y19=REFCLK1_Q4 +CSET rx_refclk_x0_y2=REFCLK1_Q0 +CSET rx_refclk_x0_y20=REFCLK1_Q5 +CSET rx_refclk_x0_y21=REFCLK1_Q5 +CSET rx_refclk_x0_y22=REFCLK1_Q5 +CSET rx_refclk_x0_y23=REFCLK1_Q5 +CSET rx_refclk_x0_y24=REFCLK1_Q6 +CSET rx_refclk_x0_y25=REFCLK1_Q6 +CSET rx_refclk_x0_y26=REFCLK1_Q6 +CSET rx_refclk_x0_y27=REFCLK1_Q6 +CSET rx_refclk_x0_y28=REFCLK1_Q7 +CSET rx_refclk_x0_y29=REFCLK1_Q7 +CSET rx_refclk_x0_y3=REFCLK1_Q0 +CSET rx_refclk_x0_y30=REFCLK1_Q7 +CSET rx_refclk_x0_y31=REFCLK1_Q7 +CSET rx_refclk_x0_y32=REFCLK1_Q8 +CSET rx_refclk_x0_y33=REFCLK1_Q8 +CSET rx_refclk_x0_y34=REFCLK1_Q8 +CSET rx_refclk_x0_y35=REFCLK1_Q8 +CSET rx_refclk_x0_y4=REFCLK1_Q1 +CSET rx_refclk_x0_y5=REFCLK1_Q1 +CSET rx_refclk_x0_y6=REFCLK1_Q1 +CSET rx_refclk_x0_y7=REFCLK1_Q1 +CSET rx_refclk_x0_y8=REFCLK1_Q2 +CSET rx_refclk_x0_y9=REFCLK1_Q2 +CSET rx_reference_clock=80.00 +CSET rx_slide_mode=OFF +CSET rx_termination_voltage=MGTAVTT +CSET rxlossofsyncport=true +CSET rxrecclk_source=AUTO +CSET rxrundisp_indicates_cc=false +CSET rxusrclk_source=RXRECCLK +CSET sas_max_comsas=52 +CSET sas_min_comsas=40 +CSET sata_burst_val=4 +CSET sata_idle_val=4 +CSET second_order_cdr_loop=false +CSET show_realign_comma=true +CSET sync_app=true +CSET termination_ctrl=00000 +CSET termination_imp=50 +CSET termination_ovrd=false +CSET trans_time_from_p2=60 +CSET trans_time_non_p2=25 +CSET trans_time_rate=FF +CSET trans_time_to_p2=100 +CSET tx_datapath_width=8 +CSET tx_divider=/2 +CSET tx_drive_mode=DIRECT +CSET tx_en_rate_reset_buf=true +CSET tx_idle_assert_delay=100 +CSET tx_idle_deassert_delay=010 +CSET tx_line_rate=2 +CSET tx_refclk_x0_y0=use_rx_pll +CSET tx_refclk_x0_y1=use_rx_pll +CSET tx_refclk_x0_y10=use_rx_pll +CSET tx_refclk_x0_y11=use_rx_pll +CSET tx_refclk_x0_y12=use_rx_pll +CSET tx_refclk_x0_y13=use_rx_pll +CSET tx_refclk_x0_y14=use_rx_pll +CSET tx_refclk_x0_y15=use_rx_pll +CSET tx_refclk_x0_y16=use_rx_pll +CSET tx_refclk_x0_y17=use_rx_pll +CSET tx_refclk_x0_y18=use_rx_pll +CSET tx_refclk_x0_y19=use_rx_pll +CSET tx_refclk_x0_y2=use_rx_pll +CSET tx_refclk_x0_y20=use_rx_pll +CSET tx_refclk_x0_y21=use_rx_pll +CSET tx_refclk_x0_y22=use_rx_pll +CSET tx_refclk_x0_y23=use_rx_pll +CSET tx_refclk_x0_y24=use_rx_pll +CSET tx_refclk_x0_y25=use_rx_pll +CSET tx_refclk_x0_y26=use_rx_pll +CSET tx_refclk_x0_y27=use_rx_pll +CSET tx_refclk_x0_y28=use_rx_pll +CSET tx_refclk_x0_y29=use_rx_pll +CSET tx_refclk_x0_y3=use_rx_pll +CSET tx_refclk_x0_y30=use_rx_pll +CSET tx_refclk_x0_y31=use_rx_pll +CSET tx_refclk_x0_y32=use_rx_pll +CSET tx_refclk_x0_y33=use_rx_pll +CSET tx_refclk_x0_y34=use_rx_pll +CSET tx_refclk_x0_y35=use_rx_pll +CSET tx_refclk_x0_y4=use_rx_pll +CSET tx_refclk_x0_y5=use_rx_pll +CSET tx_refclk_x0_y6=use_rx_pll +CSET tx_refclk_x0_y7=use_rx_pll +CSET tx_refclk_x0_y8=use_rx_pll +CSET tx_refclk_x0_y9=use_rx_pll +CSET tx_reference_clock=80.00 +CSET tx_tdcc_cfg=11 +CSET txoutclk_source=AUTO +CSET txpll_sata=00 +CSET txrx_invert=00011 +CSET txusrclk_source=TXOUTCLK +CSET use_cb=false +CSET use_cc=false +CSET use_comma_detect=true +CSET use_external_rxusrclk=false +CSET use_external_txusrclk=false +CSET use_gtx_x0_y0=false +CSET use_gtx_x0_y1=false +CSET use_gtx_x0_y10=false +CSET use_gtx_x0_y11=false +CSET use_gtx_x0_y12=true +CSET use_gtx_x0_y13=false +CSET use_gtx_x0_y14=false +CSET use_gtx_x0_y15=false +CSET use_gtx_x0_y16=false +CSET use_gtx_x0_y17=false +CSET use_gtx_x0_y18=false +CSET use_gtx_x0_y19=false +CSET use_gtx_x0_y2=false +CSET use_gtx_x0_y20=false +CSET use_gtx_x0_y21=false +CSET use_gtx_x0_y22=false +CSET use_gtx_x0_y23=false +CSET use_gtx_x0_y24=false +CSET use_gtx_x0_y25=false +CSET use_gtx_x0_y26=false +CSET use_gtx_x0_y27=false +CSET use_gtx_x0_y28=false +CSET use_gtx_x0_y29=false +CSET use_gtx_x0_y3=false +CSET use_gtx_x0_y30=false +CSET use_gtx_x0_y31=false +CSET use_gtx_x0_y32=false +CSET use_gtx_x0_y33=false +CSET use_gtx_x0_y34=false +CSET use_gtx_x0_y35=false +CSET use_gtx_x0_y4=false +CSET use_gtx_x0_y5=false +CSET use_gtx_x0_y6=false +CSET use_gtx_x0_y7=false +CSET use_gtx_x0_y8=false +CSET use_gtx_x0_y9=false +CSET use_no_rx=false +CSET use_no_tx=false +CSET use_port_comfinish=false +CSET use_port_cominitdet=false +CSET use_port_comsasdet=false +CSET use_port_comwakedet=false +CSET use_port_drp=false +CSET use_port_enmcommaalign=true +CSET use_port_enpcommaalign=true +CSET use_port_gtxtest=false +CSET use_port_loopback=false +CSET use_port_phystatus=true +CSET use_port_plllkdet=true +CSET use_port_plllkdeten=true +CSET use_port_pllpowerdown=false +CSET use_port_refclkpowerdown=false +CSET use_port_rxbufreset=false +CSET use_port_rxbufstatus=false +CSET use_port_rxbyteisaligned=false +CSET use_port_rxbyterealign=false +CSET use_port_rxcdrreset=true +CSET use_port_rxchariscomma=false +CSET use_port_rxcharisk=true +CSET use_port_rxcommadet=false +CSET use_port_rxlossofsync=true +CSET use_port_rxoversampleerr=false +CSET use_port_rxpolarity=false +CSET use_port_rxpowerdown=false +CSET use_port_rxrate=false +CSET use_port_rxrecclk=true +CSET use_port_rxreset=true +CSET use_port_rxrundisp=false +CSET use_port_rxslide=false +CSET use_port_rxstatus=true +CSET use_port_rxvalid=false +CSET use_port_txbufstatus=false +CSET use_port_txbypass8b10b=false +CSET use_port_txchardispmode=false +CSET use_port_txchardispval=false +CSET use_port_txcominit=false +CSET use_port_txcomsas=false +CSET use_port_txcomwake=false +CSET use_port_txdetectrx=false +CSET use_port_txelecidle=false +CSET use_port_txenprbstst=false +CSET use_port_txinhibit=false +CSET use_port_txkerr=false +CSET use_port_txoutclk=true +CSET use_port_txpolarity=false +CSET use_port_txpowerdown=false +CSET use_port_txprbsforceerr=false +CSET use_port_txrate=false +CSET use_port_txreset=true +CSET use_port_txrundisp=false +CSET use_prbs_detector=false +CSET use_resistor_cal_circuit=false +CSET use_rx_eq=false +CSET use_rx_oob=false +CSET use_rx_oversampling=false +CSET use_rxbuffer=false +CSET use_rxpllrefclk=false +CSET use_rxprbserr_loopback=false +CSET use_turbo_mode=false +CSET use_two_cb_sequences=false +CSET use_two_cc_sequences=false +CSET use_tx_oversampling=false +CSET use_txbuffer=false +CSET use_txpllrefclk=false +CSET wideband_highpass_mix=000 +# END Parameters +# BEGIN Extra information +MISC pkg_timestamp=2011-04-08T05:24:23Z +# END Extra information +GENERATE +# CRC: dc79b500 diff --git a/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xise b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xise new file mode 100644 index 0000000..87cce56 --- /dev/null +++ b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80.xise @@ -0,0 +1,143 @@ + + + +

+ + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/doc/ug516_v6_gtxwizard.pdf b/FEE_ADC32board/project/ipcore_dir/gtxVirtex6FEE80/doc/ug516_v6_gtxwizard.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c3ea38c3772b8012b66648e064f31092cdc70905 GIT binary patch literal 3376991 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 z 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%0AFbEtEXxkZngh>fjST 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%0D}=3C2dwPQ&n8Wnj*UQ08a;E;6j-^{4L^Q7 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

0*xh{M#{n|&mHJ)H~xJjqI%e6 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
F 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

0{R>Xd%X{V>jz9$i!TQNXtLnLnNMRVK!AL_M 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

9TdPhs4SPVZqu*3ng-N=jF}a;jp*iz1ZL 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

n8=W%ij{SxwcW^ViCvq&3t;@T6xX4<5; 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

wMoL6w{;SP-A{sG%by`hWJ>Wi6N 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℘W_?4<6=#F4UO)`|yM1 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

F#Etmgn_<&Xm*bjL~xd(6VU`FEd`US66!?QJ@n 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­haIvB0!mGHsjJ6?@OI-jM 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 z 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

}co=d{G%N{UMfF0fwLj`|yMV-lg+Q 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

s4X=){U69%emW0dW1W+(bJ0 zyv?yFqR9l>#>4ZxUmLPjJ6s6mG3W;$= zpY>gdZwEDxic!6qAQO?go3G~UP|6XSQrif&9iTr(a+Lv+8}JFqaC|J9Cy9Q4jBsL^ za=+ox(O%cGVq!IHSbDHUkLwU1-ZA)0x5TD#``L(q=;e5rDZx6AVLGNn$Ph$%=jvSbMRZt*IG6^pt0STwCltjIZ zC(S^)V;E-D;d4|E*PBMiZL2jF<)h+w$9C8u-6)m1z)WqIi);{W6QN`@i}pP#Xc_`P zOmaA^DNNL<;g%a=sYDsE2Slt+H8U-w5A?1ArwcMqMbPn%Ewfd*22P+(SjvfJL6m{p ziQL5tY%0ODx{QjLlA9FVbWrfK_&|!LB1TXvl_et>V39Bd&RD&s^AuSqWn&{A%66%q z$-s4AkFZ3fSFG|pVG6)JQI3#o!Iuhjx{QORhPOB)Rf-Ya1bAF;O08;jnCjL;CLc8` zgJFr*n`142DNyuas2K4s+Z9r-980MwA(m>8!G7MzmApKnMS;D-fR(l&#o>bCMJ*?Z zYmts3v7HJ=1O>cP7P|?xJXRhFJ!t`ZiQK3oS}2{a4SF}3z$smDIf8{k(+ZvPEO$>ZUt{SVKKrDxx7WFnl%JdS`=BA<9ndSlv1I` z<_|6|!FtU{yNQ}zqy0G6<)AGoP=Y9MSoj+N34yY0om4^vKPC@sgRXeY{s!|@y|C*bUm z?-n`;?A1$jB$Jb(^=`NlB|DkBh~9u%}$>PMaz27q2jvJil(a)sNxq*Bqt0O3vQFvH4VB0)wLmjVQuipLs2 zJpibNoVKNQI8+E#eP0~g0#pWrl+c8l;%A!;uL_hPH>~xUkOKiFsV0j^0V>tK3AIJz z9nKp<0LRtf1TY+DhnaAJvINJJIgdblWBYPV8pD^aRL7Tin&w1P zcL>p_G>2T0F8Y;vpOZx^FO~qnnqcDPbiV9@Woe;eB#4gTK9P#|L|N_Sl0>a+%T!*> z2_lYJLm(}+V4#7bzA8!`E>1H^$4oZ(BI`qLFo5F;fpU=na0lZ~)o*0sj`=qbn zl@66ETNx&+`Aj(`=tQ6cDozw7w?)?h8VvRaH&|xsmg=`z$slSpffb55;Ku+-My)D# zksoYQ@oc=-M^rBvW!oh!lhidKPAekaW-LtwYm|zkLN1;MK8PK*8_#!~hya8w4yk97 z#(;Ozg%APv6S`1s701(NLL7Ghc1|li5ICAObzo5)u=NvQT;1>hip7`^P&C1SR~qqn zCpJ=TC)Ch#jF!P3W`PVzH;%38LBV$Wem|rK3iqjV0 zEzrvmLA_3dVS&tPKv$wUDtJt8a)mZo?(0U5qX##z)+N_Dmq=#@lED_H-}AvSC#E}QkYG%g z#2Nx6fTJ=nU{K(BHa_UXK?MPekMYG$o9#xhpjpOC_P`tnXv1mrf_3FbmUbu=g;CpIX=RFS1KUV^K12(zdH-O5v&z^kF` zHj-fZh4T;!bdFfmuLaWJ9O+k}3Cz7hp+O7Jgt4sKv%88jh6o&L0)-){7L_kbWJSg4 zhLh)^EG`E7Y!|TFWr(zx=+=F{iVGgxVVyh-PMD}#C8C($5-Am!kvf>3AB=IErUT@= zJk@R`y2Wx^=kRW007vBDa1fWBswCL1Ze(;>@ZkzD%n^MJtomxr8S*_Ql?leHyf$Vx zX1ilesxeH(P~i6fFOw*8xbh4L3k_%StIuNw5J#hO*vqfmu@2 z!_<)H^D%T#bYnye)tRvtfQx8e=`uC1sCo6S+e8Wmm;;5lUkIkf9{5up62V%E%Mkei z@K5O)6wH)Uo}kC6WI&c{L8zS#h4K2350poP(rBnw0@io{rB+i>gU&_s^1$bPu8$^& zUN0Xl<*SgFAT+#E?z5s?#?pu$RfQB+%QS9HcpuPwGH-P9v(0_~8h z$Pa)48K#GNBr~k%ixf@(91&}E6R;rLggOXy4XvHF?KGEZNg~mt2r5aFVA}`<#)G27 zxw6R*$D9SHt~_RH)faR1l%5ui+8|pam1q-Y3}pxgAAs2oldn6uWVqdnwLLS`6I8ES zWBIWe&XZDTGAUtFi!8(w#dNbNHQOyYXTb8X#j%m9O3?&|x9gDt)s@U*oP$Tia7)Ts8nywnL9c6E%~q-#;iK{B+faabXgsyDF=FlktYP$R`9 zWmd>^i>0ik06u$Wp&U_Cz(c`?MT_pS;WAd`#1f1E<$W+Ae2iLHkH#7iAlieK1?~)U z6GBVKcA&O20&q)JC_fTP6gL#8j06?nmWPg>|MAfv*Z~B>9ubU_6Au~&fny`lwgkM| z{tXrEe?@vk@PF8}e^0bl8DkCw;8`-9=!#VVGsQ^?bS0G3#RTvt6i_+TLnyOelVc_w z%GNy_Z~C;Cs})&0R~_(eDbF=TPR#jn7*H7p=mT2PFSC@Giwm$eFsl^oDCXF>z+<9l*JJfiSQUXx zEvBn*7R&QRA(l-ju$AyQxhMsUkYgumY@g+dTpw~JIiHHdR2S*?69C|(v@{Brv@uE? zFQllxQ!WnZA?qfA>;*(11Y!DG1Mvl`huc*IEo)9#Z)sVU=;K+gQxt&8V*+UxI1Pe> z^v7?bLHY5&|Ko2?*_u!ZfYJjX0W9y2wSXT^PZ%)1EIBY)4KY>`O^B5a>+w2`4Re_y zqf%Cp58z4;tfK@SiJ%UGRsl9T=qHG7B%;(kfL7PWehx`i%28U5SL=gRv8wfIibG;l zj%im}!wtvSNQsLWz}nw#wS}O>z`SHt8wt-tT^GrN)dgGtJusNXHj)~n#Dx$%NSEkd zIVMH)l;6XOMM0}JYK>$=4P}tfl%xgwR#d&x( zTXkfMOjZoB@7q~0TT+e8FpqgL5o0B~XR(6oMC+Myfc6!BtS{5R+qLf`b)ltDoCshb zyy#818^mmv>A?h%@^c)m8BV1GAX5a4y{aYkA}&%^JXwy?eomkZEhHMD9D967g*;9( z;Xt)5Hq$NvOI)Nyg*ZQlnc-3f7{^i{ql#7^E zJ{<>(J_1D>0IOsN1K%wrT|1KpxMDKp%T2k3rr2gpl!ko2NL0wN!5UXJjLf-x0i%*W z&4;OEO)RkkcHje8G_2753=0!f&%}#G7ES<_Nwu_`Tm(vAEuZP)mhHCt77Lt90)_FQ z*bNJJfL4HNrU$&VfvF34K>?KjBeQ%1g(pO$R#gGOEfEEdkHGu1A>^t)(4hY5HVCB{ z?}wu>2eBT|V!*e7aQe!?-EO3RA{fM;&H zJuF+HY!}V*y3g}$w_=hI$2RfEzyWS8u#_OnzkP4RDhVM^!t||30taB_AYE{M(Y`RK?%vRe9 zB~&*|M$?*E#4v)Q?Uv{QT^t->R@jRE_r8r<_}?omjnsz!qA{d!;7AIPWdKaN0L>f` z)Id~35=)v1gdnmFT$ng z5d#jIY@#AXSuU6E<@JGO4Y-!l8uO4!fasf$)kuSh`44_(|BQZ%QQ$#m_S&6NG7*!+ ztfrT0X)8?isAeEl?}<5ljN3E@L)2lrU6TmvT(S_-88a2^Cpnqu$v!iTG_p~Z9>joi zN^A(Wz7lK?a8q%35;&s3^(TJ+Li|3*b4$GDkw-)KvaYfS|~z9dhZZ=3DwX-2vvv`EC>ohP(VZl zlqy{ih>A2p5Rl#!q!*=2Aj!W03*Pti`rh~cwf=vto3-xsB$3&z12kcWfU|(tY(PQ*AP|~1bGY0GC&?N4P72R z7#b~u0=rEx67;vFOIl4t$5vj~YGqB)lXkUtm$Bsezshe( zbjuX}nf$T*4o+Uc*>x1KgCV>G6=7;i>p4u%3gk--!HBJt-7N$Bg95z2edHUOWq?b# zK%wGaaQ!Wee@WLZy|D~%h1hQZzTx`!EPZ?G-$Da`mH~d_|920sM)Nyv{*N+Tjb>$l zmI1CFrQcEcD>hei_+5spas7^^zeD&pGF*-3Uv=)^0spUL=qPV*Yk+qak;OW>ptL|Y z01Y9yh7d+y#>H?Ycm(MOyr-fX*4SXnwFRBaU0<)u{+;1riT;uJ#LR>#RnT~Naj zXXl`&p>O2rgBB1p0D%w&XXEJ&N>@**o)Y#E_0Y6JVZ@dJx}%*$cwDduT`x};1W26W zJzcH9c~Ct)jGib~)KX5)$%#iz*9(nNG_nP!`uMGljFemiZLEc?oMgP6ZT%kTFKs)Uq}S))N4E9|W z(PB7d0d;FVX#rIcC9EaFUDnVWwUQNafngogbZmrFwb717HiBTI4lS+jY7L5|EUjGm z(Q1yKC>dR_&MOEjVX-Kzjjo!ozSb#SFM$1&vb2}7s}eYM3p`m-7oU|X0s%D68WjCu zL1NVag}~}5=;L*jMU~VHHRa@G^-qI8IfbHndTfQS$P!!QmXd92~&Lf;HYwP*hC^R1CNnD7agy+M?9J zSrTuYk&A*gI1Qx;)?Ha;FBn`_1?!ITusfyYpzJDVAnf3vvl6Gsx*$M?6yqojRK~$T z9&EFS;!zm190o0d8Y=EE7amcVpdgRR^2UaUriUi* zq#Qh!w#Gm_;sdj_6uFPfN>n)u~SR&d7<=|#1A`R*qb*=5S?63fW>nWg&2537Ve#?IkWcB+igW`Y{ zR+n|sb@VdO6>?N@!uh!4Y-QY>?8Uqsu!5_Fw1m$?RC5`EsPtC~u&%N$IDTDu$J2(m z6?>=yy!xe3Q^3+m#Z_#T2mTl5`%k_uQ-}ky76yfO{J@(M()G}EgTdYSZS*}vY~ix} zFgFzZw1}6Y7)neL?jeX$h4aX3>hZ|(fF=M!SRQb$87Q@$HK>OI6$eTyN49l@EkXT~ zFicMq3)2*F($sf_;RT&VY+ZRy`|zm3HFbrp_`USiZPkF<*n|H(^%X?~ML>&!Q#_8= zI$|ieEfywX1k>^0aa?hU-E~ETVJ^;aTYGOY6%Pc$S;q;CfHuNbNFS!9>F5lTvxR$z zxQS`IYl^DDT);7IH)jzQF>p2kYwM~D*R-`)MMM3BwRLVX#+=5QO9O z!8yAhEnrsqyZp5S%t}uqM~9#L-K_lja~qtM?mqw8H|KxZ6-iC)_w9{9+2+4%jf8X8 zw)xR#>fd%$!Y#Gyfqm=N10LsC-LYq>QIDFMxU35rztk>DNmdGvcd!g2SbS<@v?LeFS!!^!a@+bZauXE(Gq9`P`vLa5P=7G_O*#K(s^)6%;_ia8clkvduJ5-&+c5s0 zyJ>yDB`)LQ=mKgztZk$OPk_zuuK-v5yo#kCw-v#%;^O8F`^M6e5P#fNl9ADLbFp=B zw2{JTE1Wu@Bqt*R7ZVZT72t!fMzZR;uUP)QXjXm&?btw5H`w>CZmV#A?>hCrzxcua z{~q>ti2oq@E{Z?7_(xoSBBk%o{3EXKqWF`Gf5i1CQu_YPKjQi>ia)vdM_hj*rSH%D zPF!1m^o6x?2F+kSLDyIMt@K;L7tj;b#?px%TrIVng$wcjXg+(&!5yb*<0b>TUATZV z>h1?bVaq;{j;kfw1}1Cc;efUQ**6uKyn~~=jT=l>MpxDb4ICtx;&La;1K>n5Ox4EO z&fWe1Tu2NqDDb_7t`ChUNaH5bLuL z@S(LsE<(0#-n@Cs=51THY}-M%m2Ssw#%pv;Gi-_G%3h0$H=C3!`K-RANc5^#q&H6R#)~;W>VbjLV8`fCDS47If0G4ZpLMt;^5q^{lZF6$nAWc%qFf-ozEX8&^X~e_cJdXmJQRj zmV5cYU4*$_ug7LG>taa*zIRHV`_{ut+2OC=eVmTZDQ)bV(YN&oh)BpSYwDjxC>Ypz z1`-qV%9{t~c0ksy1=OxzrfJj04Z_PL9E9&&4=BJMV%i{Z?&hu~3SMZ}eHP@j`rvjx zR7Phv8YeWtwQ-4nO^1bF)&n9QFk8#%iMZSJd?(@86mb6_fz}3LSig*O$9f0^37OJ| zU%Jlq;9M&*(R@54{}>Gt2O)i)(8i7HYIt5?Vhqo}{6L?1 zpr#8w`PrU~rw%TJPLELP=6J`m8pILGr7SZaqp5KYPSfS=`@a zUsz;ceAUOV$N^cWNgg-p6-yzTld*R zG)Q#~aiNJaN`qAJc7>Tt7Yg>una`{-nkLGHd??Jgs8qV&if&`ftxzRCJF2ZasVnc3 z9aS1Of4iOr@#!v#o!`*lqeS7PL8k3^skX-&GDDTPstMJ_-+*$_AOd9bPsVduG{}Jh zf)Y##w)`a0Dtq){s1go31&gQ7kbIGoTWFAea}~;n|19Anv)T~%bSMoXH`(2fp5;-0 zt;9)$uZBcitQsN|xpdVoo*$xc7I6~l&ZN&rQm%f(pSBu*!7BX7heR?goCXoxZ4c19 z(I8Vi-|!Qv)55=sg6~1SO1%n&`85r4JESF5;wWdRN%`XIA@dcK=HMm&WuoaGO@~h3 zTq2b8olqDc)W_f}%f!XXZ*L7t0zyfv39SO+zxx$uy#wLLHRdq@yUhPGSUJv66(S%- zl4mY;p_K-?p+dEuPVZhCiZD}!hs1{=WS%9SpczI>l#&)JR&Y`d6PGVNyJ{(i3u2dr zZ@@#f1;W=>;>>rMzgbUO8bq=h?8hZuD%330d@#*mvD&}%n~*pFzumsb={x3A;F7X@ zIqbJAc#|K3uOd|YhcC?e0c~1h=lk_{cHEZO;aFlPf(D7CaLhmb|fJP?;INk7!{XC^xCLA6F77Sr z-howXMXux9Nd{=flKi8KFm42&y~6Et!e`}YlSmQ`_rW|#r9t2Y8lO6s=7v)I>MyCz zX|RA+{UejyM)B&8^+`oF;nA1U9o<(2?di_$4bBB=ont8 z-D0oBoNu)kHvQ-mpG3VkyNhlK8HDMiq>d+*WhTm#=UN8VSa`0_Wm4d+*a!7|0K4Tn zEVs^=20 zZB`yQ!y}OPYUXj;=xK-Cl8hPh{mf>8#5`AtvALS==tJISGUu6sSro0sT_)>J7#XHA zElE&^YBe3w{cLF-sQkDz>h!qUHGa1WUffc0%Z{DJ(?8w2r&;(8?lEZOHDRnzkA66s zIv?D5DUaPuUXnVv$H(v4vrNH{-uAC8-0DtjJVY_NZD1eUH6`~2OebAnmtcyNh2mMl zkPxY#`|G8!bF~V81}^h-IpubU>-`L46;FPjOL^wInc;~xF(LiQZ-yw$bcnqvUFv1(#` z|MD(FpnU8#`O1vs@e%WDd}(#46epG%r%U&<@<&fVYmH4UL#vJ0dS1J^?bWMsI52jw zhW=*RoN&r~{Iy#jGtswt&$HilUE@1pu%$>aqeo{wB5HK@s3Dr_Jf7pfZ*Y=dHZnyvuwSeI#ET#=6AJ|iU zV+_(X2KF#oNZ~r|@#9gK@WP!QlKRH8K}HmXj5LpOYu)vu$)Si8PtBocTp+Eu#oXPnrS)KJ z3ie4^m4LHNgdy%o##p`&>kR<=g-1N`O=8>`^YV(9A3ExVi-%b#WVu< zx(2N^c7k>tV9dJ=OqC08tg0X4^z{v^K0_+^=weR}Vvc6b<+H8#Af8xMhUwPU zJbyKVsCRo@j`*nCmYOY^trQ3^X>d4DayNEP{iJNgWX}VZ>KLAPuwp9f{iP8DtMv~I zU(t0h+xb-0yANXZTF(VNYE+jKjajxhB@mTg z?SR%8ZkeFx^WNv3sBq(>&5cthp3Vm;9ZGsi`lOr!tP_ebwF!uf23c90e_W4%)tL)T zVXOr9B(NoUEAXJWSBP4nV~Hqn0;U0YACdc^bDtJQ zRu*#xpc9lC8e~Ygi401)Xpp#h_=$ zHoOz0@6UPykB3NR4FeX7F++bBa7`6x5LW8-uLKH_etI?*IC9_ME>QqobRi?Y@(mo1 zvW1_iMGiXupcXt^@XKd`GdqpordmO*mIlHkkc#MJ{VuOwzwc}ofYp7;?L}}cJ)62D zFTzCeH*Qn_>Equ>7j9m1rU`F5i1U~It}a>V8-T*O?-aroU3?H^l@&pcP?j8gk=fSRT6+YL;*oOr9l8R*f(f|)nC4Yrg8_iTw9VF z`-&`bs-FOjkIZ1Ok2;@<)P^l%F}FutTa-mpatFm}LVV`-38(1d>a zCcN~x5@FTTt`wPJsAB2!%1ZP&>^`yOZBIpn&{I|Y6UV&$5sxSoFXfFAc3JvLV3LV7dd%*5{=rMqBB%*txb7%4-VV@ z^t<{-<{+j=J2pLNAoOBpz)a>LefB|4Cp~DAdPK1tjC@ly92sjD_i48I@UzG5GcHOqIE-&@h+#Z;1Hbjy?53e3 zxhb)O$LESm-gt=0sF}h1TUzIzV^}@&B=(3_e;!pYzn9+id17#&r+n|-{a0G1cQ16Y zOR@>6Or)1jQ}oA};kobL%iQUgcxKYNaWk*f`tA7j2UDepWJkvkmVsWAC?>QJ!((?%AT)un?z*4 zgoXi@zGJ{?Zs(etxvY8i4xOt=K zyK>>+C+o7sUX-SCUpbf{wL#7vABN#g-=B)%XQ^M@VSH`G&xPN)%jo4?VOCeqTWMC0 zJbN^**&djt@S&yH`7o)!{qt58nS?ehSxR1p=W)}ujAVw~q_Kef+YGL2o1Sjr-9mD- zB|IplL0VK@D2MXvu5AwxQ^#$@_B?v7=#0+4F*@~N&%teO(I2<g@j#Xv3K+ zZY%w2(7P3{C-Z49DqMK3PVaMhbHu>LYb~ESGYY*95^DJ3sMj{pAQt?jxfo3)b4tc- zY6vq8VhJZrUp3DaMAr4tAfty7)SD`SL>fd4Sk| z2Q)~>sLKLAcAje>_9tYsWp?Bf=9G)T->v644P`55DLcXW`K*+B_lF1Ve~#QN@H-Ok z*m+LU>1o133|Kc@1Zfb?!l~6*j{3J$(;y1hXpkq7-DEiliX>wPvWGBudUl>LbsPB^ zL`wesoY^$U0JA2D=r4fhSj-n{h>JbL(7`8!*>!X@h=dt z97;L+k_PF*4|eAiASks!x$|z*AfYP%4LZO73SBZ#L~crI9ckPjK`E?V44n#DJyh`v zXc&bZMtzAU4DBK{e5RC8xv2pmEQY zgQVs00_F=j=6`Kv(k%<~4e9s7(sqqsErSI66wWa+x{6Xhs{u^z1Nd3m&5(eT= z*j4`DV9?+v6n|l``8N#0{yPTae-hze8T`E^yQTSGjG*~X45~0CSWTP7G{LGLJhIH& z*MEZrW;=w%+!sB2rWyK^arsG?VxV6tSvqB~M!nFvk^B6w6u0FcGY+x;6I0qM)@_hE zFA#$$B@>IX z6KqCoAPRW2rTj?`a!4^Kc->87lq6<;tJ+K*% z85$Ql&l=JL9<+SDrqccObTLh7}t7;y)ndnRudfMsQm7 zs6xj3oHzKK8`5vj(}f>PCMT*y_S@D=icPoS*!l%=Dhy@fJxvQH^5$)iRBjD|N=nUCI8#_CAWSXpo@s0lxMSJIw`s|Co3}y%X*(lMuvj_{` z79){DUv%E)JUldc?ukIhsDY4V#F~*OzR5U8%ev0!w+459b}4>#LursBSf9Y0sm1Q( zeM3g%nY#Z#ZL;3^r;E>8vn`tI=Zfb_G}~T(l2NmxSorwqhj41bStEgr*$Am35{92A zCq5mmkWBBeY4EzlB=fpoizf;h;x>giu_M-8{{UgUaIIw8vj2DtIrq0dmSn5BemXua zO9G02gFcRPlVNC!9>}CSzFy|8mrUo3&S-6!*wgW}@@rlM<7N2c3p${F+QB*QjhFxXPh#QX0#YfxMG*$EGAU@YrsC>!tvX9fuc+f#!J!=Q z@?RSrj@~b8GR})Yn8)ZJJeeo+wDtXQ5NsB9n>d3OPiQ3GzT)KM>qw8tMDSOshp3DZ z^rbo%WX7J7Fw;eh2F-R;zIkKUCu&2dTzhy)Z9jmX_*mMJ;SPg@-}J~N(<)=h`%W_m>p1&{hs*oh$>#O+1Sx|U z>QB!4PctilkSKPVWBl!m3psMch;D|b^_yfsfd2;5)=-b=lU>HQ6S&a-bjOd45PLUn$M$w1MXq~Vnj2;Ut1F5 zVnWD#)>5SQgFWcqTannYv`aKdgeYm2LIAlDCwJIlMkxqMN0yQm$A4OH&3|43sX7Xa z-HWvp`aidzGst#Rx*zgWqCtMf$Me6&r|~mB|7B?cU&^I%7gF|5lX0V8wp z+GWS|&s-nl*>2!lRk3L-_>&ex&2!0&U=pqfmU!zoRxh3gImSW7Q0>69v-=OMO8SD! zJsPAhg8Qpk@dN4C;~B^mv-0})35)O@G>9-L<)J}j46>@eMgxq0;^3M8E0=~=-?;pZ z*R;eX`v1%&a;z96Oe0XsW6A~g5r4KPs}=SL4e~mY2Dt+YnwF9!-HU)W4L__FhhCKcYeYK2te@%oAs%e$$jt zO8zQV3!_$#+h4MIuz5Y`l=&({^CwB)2A^)!V1&B~d3cy5J>yHWaFA0Yk$GPS1R|kr z5XQ=O+R4ZX6aC(|>H?Utj}3k^SM<$aQMsXb|NT zz^eOSaXOz8?R`vx?9Z#hW%XTrP&Fl%v4!qM0kT(8uX zOwvAzov~85M$il&E-?JSQy7|Wdb6r`=Zwqn&LZtTKZ~-e%4aZ+2k(m)0}I;CpYf}7 zsYF}mTWsOZOb>5t^`QG~|Dyb5QWd749Q1FD9*#n@FsA$6Kh*5H>-YOSjq5R)<`|x& zb;lmc@Hn4Wb@9GU6c6o++e8ugU z6yz;VatLUam#`|heel_3_V@rLu1_2t8aKATearWAmi_14Q_|g{;=tB9HRGa_^=ks< z>y5m3iUnI}tfBvT=y~%Qss`s;o!qY-tBgzW({0pRGg`sNq_g+HC|mqkZ_MS7w{M{j ziN1$CVmMaJ(JIv?))K6ATV8r&&{1| z&+o3Mclb+ojD56xfMWK#fSl3pv^O#(?KSpM+>2bj2(x z%vY2!$)G`H0nTTww<1NnP~UyAuxg?;l9&K)-8VMHF*YgwJ&&E$=n9x z4K+D&abx*49B*?|{Vs%`AS|j5&>$a1VT&`-7cLMl=nH>oeLCA!Wo{ZI)X}D5ipnVX zlrXgE-K0Lw$4p9QLV$lA)}gxGUoNL*V2}1`zwlPZ15fi>Il@v-YeL^<@>CW?@x_O0 z8S{B4;fe%J;}Y@&+Y84TH;U9=etVykD%?uH4(hz_h-gqLqrfpN4Ec~_h#cGvXKEAD z&P#2;H($frZ5@6bmrZwY)EWHIMz1VK<`O*D4eP-a)iYAERhPFgrG*7;c^`h4<@y2J zgC{YM+aK1m1wFK}U^*U<+Gbo^(}htFs31|=a@r{cU}-q-QBL|ybWuC zGpF}$x87g9(c`gRlp*eRWEEejx215?Y!ldn6l&H*4Udv}-Tn6K>AU-;;7>&*1ut6f7kmls8G4n-O-hIw&jC);r6-((hK?+jMLL5AHmtvlRVeERmL_pAQjY#@9zjK z3EUF>^h>dQd5|kXWJ?orY;$+~tTBrl{IURX?~Qj1@Rwfb58YR;voM>_`UTrB=#{hQ zb1N`v7&w#yANJaWY5e%pny_}1OpN?rZ>BdnHW3Hdsmm~q#euVQw67LO6VAELw7 zF=`T$t@Ei(vVGl!=Z>-c?b+uKOtJ}`veRrG^bhu9^UcT~XqqYN@R;$M)I#b{`6*xW z&~p;$jV5LD7dExsnbYn0WIM**S%A=a^;lxKNryguo@F#4!N9JKZ9q8K=3%y2=JQ?# zhYim>y*bc+HhKFBjc#jgd$8k+{+KuBZga=t^-{|Ii8+8UK&SDkRzN<=lyc`Mu$<)o4fr;=kA&q zw4BZ(_ug}M4;PX%`}5!ACeW=*#-SC+Ia!~>afp=WJA8Y3BeRb5>2J8f`gCJUxi44! zz5|ypu_rdR#{^!x+%`&IiVxn??UHJ3nAg(mXbpd6jWAWxnu32+bz9(Ew}TO*6b8Gc z;sY6X`Mhm!?`t-<*~?69Y~mV?Lu|%_^sUHCc#Z`~Tn(z{1zN0SBQn};{FduHj! zb~r+V1G9Z1aDu#;NWPY`fb5U$Bkd3f>+nW{u^nTq?uM?nxG%=p=_ud1!Wn9>%=A(- z{1~VnIeanh1lJbr$DnfTpCA7b$PZ;O;DLTTL0S|BbqaSU!xarcEylq#kpGv z&n4Yx5IZ9E;%!$(UD8sN701Q<)8dx3=Pr_Z7)OJAo@J)`)R^v5;>_zhR}Csf1p~&4 zHgP^jrdUnUAk4Rt$mMg!z+C%efn?PIYp^&*n*$V&`FuGqmtUX&w>6PFrt%Q{Jq=<@ z7^-Y2r$JuT5UA`g!E$d{1$XGBL3-?vGzg<5VIZY1^2!Lb)1{X(MN#pr;@KYJ*(b2EgW#rh*bRlFq0;O39lAUStpCzmpbGo@s{oYt@{ggw z2l~s+)=F}EY)GA9Q<1V$sYk7oGuBt;qslppeNczy@Yn_)e+BI~$#nZ9jf2*X?K_}! zc+FeB_F=i8Vahthy{-?*rpAcNnI|s`d4amlUQrzCW(%#Erlb~mHeAWPN= ziBF|k-x=j9jE?tIF&g1lAF!Web;iM{dlXFzr9kt$=D zQvEEX+F3P+z8scOdd4x7A3T6}oO5Wkod!8GiozqjV_JBK2Qod-E*@PKJ4AGD9Xph% z3gxZ|@z)UBw?A{OpYrrLyzOvn1BCV*+%lj-p zM?M6>YwrX&Mr&6d;u>Rr5ZLhHv4cA@$&i9?E!jvGnVu*pFRI0uH5Aih4aG;t*S<0h z`BFqC)r-F|HSAOlG3j|%{?@Z7N@y}96lS-R*eky)%_|~2oe9weQwtsu=Ms^ub!{dR_6MWFIxKG5V772A%v=LW!i~=6c{Tss!Am`Ogu^U z*L!CznIAFkimq%q*5c_}K0cOy2khOjcv$$SUUwEu8)kkhRq2IYn@g^Vh`7KI>B&)G z|K-R+Iy~x==)ei40MYW@HB7heGj6`I?{zIBW;kS8bm8Gtd1N_}6Sr+g0M9L3#kcZ$ zj}eI)%-6L2JoHay#9zF!=J|C-KLe$P6mp(MQ(90>j9#l(qoJwy9uqbB_BX-w`RCHO zQXF_)9fA+c8JqVSb?_8)qJ%y$z3XTTY2OgcRqZjGdsCzC2iF(}&XX5)m*u-I+k-0GBEBa9PkrOP13rQtGnC-udZnG5&pX6#19 zN-9$N-#7Iem7!GVvyrCpjW?wC3cr`7zAXD1+y(Exq|WP1xDy z#2NcA3g9=EKT!r-wwfBeZedr+@fD?h`zad(qD>UtIAuSz;_HW;qUm# z=}KP7!^Lvu_OG9L9}dt*ppc3xMbEu&48^SNO)sY;HwtVz^*rw_XF-sWu}!VhseN=g z84YD)R>~Eo8=>#+W`zY+C)11K4X4#*st$YArFtGEZ#wzL#q@=pc4_7vN8jjfy^F&A z37>f9=zWz3{j;Y}`y`sB6?P??ahRJrz9?&RazELj;wk7ng227bt2o1YEu09C+BW$y z!v1}ERrCd7hxx8}sRda?KI}p_58FJyhLlOG`f)G6miKY{D+Rh_hgkAQ9+Z=>G(khm z8{{WYYdk98@p&4!+bYpsi($YZAHB(DiXhMsf2w-i|l= z<>utVnv9urk>JFpiHU;n*$4~E2t$kMnQ0!s3m6`*jE7apJKX7)4|8%&JhBUKv|edibFAESFyD_^V)VAGl+p2|rkds_ z73(!356nOC)22a6_b@KnQKpkv#O!N(yyhJv`>rzeqpzakd7?RvHgAcDI60zD;I5K^ zy~4W9A3So(yX@%6SY3tPEMXld4q1sY;+h zjA|EWtm-|#6pqmIk4DSiwI~9?iQMt7$1@m2g84PMW-as-o3Z)B0nxQ|#^VtpQlUdq z`F@5Y`wh}af?E?>Ws>60m5w>5q^5WTADCo@EeHz6DJTi?PJiKvBrnN zTi*`kZxi(nv33*7uv(~i!ETGYd9kvJUm8iVK$D2XD zrDiv*5bV5Fq|$V)@|<_wjRku8c|-b(fx;jKwl5xSM=_}=8UE7AX=BxA8iCpNY+s4Z z$+jsJgU4Ix^-2ww-uXF$v%$%aDAqM^UcQ{crauvXCTV2Mfl*+5!rny}ITUGViX72r z*kdet{Hmb6P0EeILuC%UoV<2~YsHxr-C>tod(436a6g&Lj z>{7RatFMv8m+Q<5RDK_Gt>L{zk}arNYvIV!5ZwBJXN?(eHJr9aXl8+OkZTM41!1{; zHbQ!8vge0p3>|SLMxAGb^yfn^x>-zpW)XNF!hO{cKD9HZg!B2+mzOCV31h)_A588A zp5V9ugUzYIZKKEc+PHJb(rcXaNTWe^Q;gZ`)F>(mdYH4ksdGhX2L=zOCFv_P!IJi4 zh6fTx$!){D5}1nk_7T1-?VM}3d0qGAi(0gGm&%Eqi8j4-E-Xyzel9s&cP>-f{rVe+ zEq?ZVgWWweNCL%dST1CC}Vz2eOM8Lccqgz@}OvCry_p{Pv0L35qYa91`554*w9oPhl~DU8{hJi5%J zj9i}vIY+(Aygl60)9t(F`i%bESp^4s@ucW(?n*Z?>HwcPLZTWSWOG-u^2Ls$YmQx% zwTa)6Y#!Ao#;y@bkdlJ1Npygu!BodL4{Va7w%-BRiGZe%IkXSZ2$ zHOBO~#2usA!0Zc&R%z3)q!^X7rUk6Io?ga>OLNRZJI{!~7dBz0VunRgAC&&6>DK9#s{g0 zwDdHiK6mzomncSZ3~d*d8;sSNB){3OoG8}PX};xM9+Zh=+O~eyWUgV4G-Io7UT%Q< zJLl>2RNZN|?qmx0o^rvR0efZw3inl1R$!e{^V2beNY{ZESVWz(~tpS_fX-J8d(w zFQ2V!%lkKB+o+D(w;1cDrin5$;Dl;9xi(y9y;i7yqXJaEUI~IY+Z-t5y`h$;2=-ux zA=UH2C9NkR2~!V@khl8s!NJ)9BS$(|X-dpVTo(grCMP`vA49ijPRZL$_BI4npHb6y zMpTO4&mIgq_a5Je-DQd2HX!+B+Vs|Y+j9MKlr*x?h>^!2^5eXeO6!ZTjb^ypmBC_} zuGX`??6A7aJ8nu5Dlk(g61gj_19_#)VPdiE!K#@7>YHCxm~VpwW$&+wt1H-KFhVQ{ zCI*cL>aWSD-&b~_Y~X3Ym9d^Y5S(O;NG0CGkzK)-{nN5JpRf;k4Mu)ybMDXyn+AuM z-br1l7FoyIrg2edQ`^oG^ZWZ6J|1*!F@-&zp$8|~UXfr8Av$kU!I4DxGYdF>j(}9+ zjH>hFkOn?K`n+R##(Gh;2}bqrt;afq9Y)g-i>5Qgn(8101^&5M%C0AZ8RYPdx%jQ0 z9*t4xTrlmUp_1n)30|hL@1XPRlEIn<=6UWX^)D{G6*!X`Ri?ho-VZ^O7mjz`;~;ao zhU6d_UsT}s3iihGhH^8U$bS)WI$XwnM@jE9uuq@lryl&Y=1Me~Khx2{D|Z2s=-e#2 zbJqDvd%`u_^aEET-L!P#WYg2}MY^qxz)cip+--Je5kF_0{DCTNYR~oiuRKbQfX@=r&$(eq4~( zC>3A-nP*r;Dr&;X)tSsT;M9TOe}-dykaOwkv)ae|rDJpwZ2ZjMION6|(n}U0*tttX z0)^#1Q;kChCj0w71e+8a_V)BCRoIHY=hM0wH|6b+3@w>g*Xd#E7dzuBD)?GzfTvXO z2zgW5PT|yXdWYo7ncCzCcLQ{8$LNWSP}A{O*=>8X9HS)9Ug^Bg-2_eY)3|4F-Ct#> zqO96^*bN(PZup5cx@lPYW>1E}LqEA^tRn^|E69nB7rNjgo!4%3nv^+T#zZ%7j0js- znjlIS@oI1{=y}7DOl*`tEOM!dxOUE!6@@Y741*5qTMZW%+OqjRCKm;j>s)AvEXlq+ zbKF;^NQUjQN339{TN3eAhDAv=8w;P=^Vvyt^TY_G*t&-wF@Um)12{t*>{bw`b%aw z0i+;gr`4^%`SKw1`E^U%zF=7%D2!J!1u2Ld0))>sFaTY*t+R%H0-jKq=E*&EhO_{R zqtrFT!sZL1pwZCy$DzNZm;ajnPz@cHdO|UKFx%-T5wG8N$!jd@=s32eg0rAJzg#+Z zj}z3u&86CDce~CbJU924MXaiBC)?BkQJIUUcg+{GR`*sNKgIqbh>~{XOoEJ0LEDVv z-l;Q)+vO3ci+&}07fdwgRRd=5Im13jxf&?eCRZqiHJ><%U+x(28E_NH%@Vd5b32|6YgKRi|c9?>2TbHQe+T0(R zAGd(A*sdUcA;n)ij_DZ=jUcO|*6ZIERWef5z|YscGR zg(N#%JUzXn!Amh@fU7kTP7FLyd*N1j$W8ugF5=Ok2VvI^Ad?Tnrz>uj?$w_LbBIlM z2%{c$Z!-;Io!TUxP#BnL9s3|rJmJ-x^%Ii2fT?6a=b1CNoH9y-w@KCeO+21#E@&vJ zbVG?rSL0X|__<>FL}jj`k57C!+jC3SX2*7$1I{6v2hHqy_@l+HVBZB*#y(^6pSD)o ztDZRUIh~7>=pM>a@>V3j%+rZJgi+vPe@?N0*ZYtchEGxONA?HfQakV$9wSHf%%2e@ zuwPy$Pn=+-|9u9!WpjA zYrSIdMFe-r7g*3uwnC$qI}d4}y^c?#m`YDv2?>A(e#YO}`!t6o{-9uRGWwvMK_U&Z zhk|miO+~%vKU%YCPi0u@%^@1({kb?$)e)5R*+&8^mF8Y{=MiJpBeTu}t+;DE?=Yhn z6UgUFFCRXOozMd{g54l^qCt{n0Vu-ctjkO*4HCQceW;Ebfqfy5EHT4I80;>jL2jkv zK0)8#WrwC_0`tH+>pwsahUNFxUK>b5`pnF`Cr|j%E$V>Q9nGX3o<$-T^(bgGGSWS< zo2o**`!F@Lsi9FWjV#>#ba7puC)5ni_d18+O#2Rc=^t{e~ zF!2H=-n#ipBmd-BtOh$d^$ad2gaJOs*S%=17p7qHg4}o+LxPamFTL?KX*M?WyLS?F zYrlDa>Lc;7O+TI?D=-9>`?9+9HXlQEbEv)j+%FR;(vmp$Nq7{b_GYREl6OlM;wx@1& z(RN|bu7}v|h@b-s3DoR`O*+FQL!XhO!%*#lc)oHxy7{?RVpHm*^|MCwgMMF!18IyS zd!S9~i8Fz$n;w1CdFPYbn3)^o_L7AzmMkH8SomI^fy8r9lQxxx0)H39!B$;AZ9z<@ z%59>hRD;v~{TjEjV=tB;#G1M!+W8rc?9q~I(ru>y(z*?cj#UZ1lRfoN)az1Es2y@5 zw%Dqi>7r%jdAC^st60X3O!rDlj2apB0{93$1JS{P$7S}MIc&8Ts}eY)J&*m|JUB`} zN+zld6AYq3CC#rRFN$~QNX0R7dlVW)>K#^gG+hY^V z{c(dHYS(eE`5=Ycvw{qE+k$1*?VXJX?Fl9tNyIRYNI7#ionTLYm;Ou$ErIF8b)qk6 zFra5Yai5($IbkXstLG-*pUaryb=#}iox3kjj3V6(PfdMRnx6VT=Ea-$4j=fz6n#es zVt;%kws9zV_gH?UE*X{+h%=d-YZ*&pJ6FJEw<{k$dBE^elE1!tXJk z>4f)fj_vsbW~V8F+(Z~iW)=+{B9+0Y$9QRw%V0;g_BhHELDd2aYj8UC(Xq-SlT&vG zB&BfYpH5XpzVB(jdgjaty)O;WE>Z&JQ{ZAA=>?&w=R*%A`xC_vIK_cr&R&Pk&>PYq z2BbdfZ5kv1SgP9Vx;sq=zLXB{{bE=o`P5saSNKb5?QY5H4PB|{)$2K*o5;(ntLr6< zMw$C1f&)0dA#dt6L)E{8Af<4Tm5~#t_Hw;~-=5e!WCjiO?s7ZRbmn%*F0|O~vW+IE z5N{>HzD3Q5DVlENXn9F(Wm)3rOssP9-7+PHcr~7~=lr_M9c&E@Op*&nrx}w#r#iB}6Zcs7v&5Xf*=D_v zz_o`wB80qPNF{rP-nS8sCN=)3kNp|07oynF*E-&}cZ6(9FMpN@4LLcreL!Hc%%sE1 zYqGZ*TMlFBaQ%SDEhxUoH-t2$rde2Y#u#Xf6!8{^qq*7*aTW*#^=G-+k)hj$wstpa zB*hx}r{Pb--c+XrU)PDXl`#&LgK=FtSC*B%AAO^+l51#hksT}32tvO&0V&*w{?O5n zE`%JrPt4-_Byp$N$C3s)IXT$ybf7q6=Ko>uy@Q%++kR0L1%0F_7CNYas5I%Fs3=7g z6r?vXR6`3P^ni#`q(o}y5drDF1_Y#r8hQeR-V=HWU?|U7@B8gN`+dJX^PM@fXHMC3 z{)Jg9v(~!Ty{_xmF2@L+!mVx_Hq@iCpY@E-d%J#gRE;(agM-3VLVfRoTc7vxnWIpM zw|a>F>Oun_uXW!r1}jP0UBBC|=fe|^re7ZA{3RFGFACwkcvVm-CN*&EESk*^6=Ye5*R!q^3Xu#IE_;LcsXmNC@|N{hO2xA zK6D7(<|nSiSINvc3fnTu0aLs&X^+l9Xj8Gn<;f>pWSnF=!I;#rAqLi2k#&SF*Sg1d z`Z=>42==;RMg2|0Kf{1E^5S(=i;q@V6K`aTUMm_T>;{v22HpbqLZP8fo9e-a3saj^ z-q))$MvZwjyvbVSf77s|^zB~%c5;DCS%^CYX0Z&D$E*fBzL-*j0NDmS z;0S1L52n^WX{sX^?t!lM_jAc^b-X@kTMG$2w`WlA0a-Z83z6-E3En*2WQT6=7&6!6 z*Gzn7cG8l^lusq09G~G8;MKADmO=5 z#6g1ty97MEjX`^gnS((Q>Kmy;#9eg8{u-UCzi8-@PNy;!gCDf*j67g|;)_M%iaf78~`sL5XCh^d6t(?dFE>THPhR?I$gVPYJ@mRfIU z+U&SwRhq&k4bAl}wAw2?4vG5%y!rf%g8iy#{fB{{tx_|up@Plcq;>?qdp*}UQFMfq zWpYVGi8H7)cb-dqRvU;WY1ltJ2KFXGFM~z>khp){e#b{5$3$J^dx2tlu$lXXg!(ZZ zXtk8t`G3@Y4@IQ^qY?ZkANpUBn*XgL{70ksKQo^Hul;9(&dEQ5gM!PN_NH}zlmMTJ zJAl^czlo5R&R}PNRVOx9R%{Oq*b-JXwR8YX<2ukR9{FAYIBYxN_W#r+qFw^B;jq=z zHb6Ga_OE<2;(Smve%m3knNV5_0ELrVzwf^X*l>2xksVMsD=*#OZ_KcJ)em$CRa;px z9HgMzH8t&4;5a^&7sjBJ&@i;6MvssywEG%bP#E3U_N>1o%O<|=-??%6jCsQpeCeYN z{IAsH4}Sh@)A;)B`#|mTFZ}si66Vl-{lt$-Ywj!(SrzFekliaG`-DyfQrJ~Jo%J_O zVcdI~6QXc_wZWxHa-Jf0&F1KZ@voC+XOZTkqu(Z#{Cv_6gUhz^`l}DZ85qs2uG|8S znR;@d&};kVv!#T6UZi`P4vFgu<>-g3WVRh4((Y~NFLUJGoyv(d(|T71U-bGwn|ksn z=xTe6^+Nm-pRj;%Rn&ECf}X@Rev%j-;5rQL-kzx5(oDZ>VbXP3O9cG6Y$>kyv!;R; z1r;#rQ=EzNH0Yv^^uC@lemNrIq#y$i?t1B zbJ%5U%+i#N%z^<{(W*e*fgj0#YMR@WN4ZjAF_oToQ0fnPJb^!$z4+=$?1ElIg%uXb zW1;JMK&SNSu@;xDKtwFN+T*B86qxs!%S>16Uk6aADpT^dd;Rt~Voe^{{YCJ#du!-{ zv)-YBE2ho}^ap6#R9=namu?|*!(31vg>x@`(6VsL=2c{2QKl2Tnr1NKT;^>459M{y zzyc2Ca=M(hpZk588dD1CN+UOtz)6bQA<^>%ZmCBh5`yVUM*KRMaJFj$XR9Q0B{p^W zUbVYdd+vv}82zAY0o2ET)1(2gnFkQX7_DqLY!m6SVo%~m^6jXC!@0Qbsz+sr3v_74 z`2N%{hh1ObnOx!W%6Tvw7JuyFqK$>T0}}pT=y*nG4z45HFGj8=#Qk%BgRsPEwOn3Q40<#Ga^N7bdKK_W?))%t) z+Q2+nYV8Dwt|p(=(##i>wyiwTUyNY5R4e!v{)| zsyt4kk6G%bAdAgSLA-)FW)r5*izhZB?+jo=BDIhnUy6E9#NwK}t(F@P<*~`^h{V(B z+U(HnXg(}yWRtWPz_{eF0o7*=^Yvneq z$~mi|M%tLAhPQF1MJ9XgOE$S{p#1KvDoK7=>?B>u`u_2Xvw$&PG%G6S!8#+@>vdk+vNbhKF?q0hunct(41MI z{3(4$o0l@gC<|p<{2&G=5?Oanyv{E{U3HaPr^FV4%rOuyE1ChPs+x3YIImpa*~rg| zSyc!bDb5+*-gVn(VqdsQi_mZA==iiu*f;AqgMI2JabL-UhjaBlJfuS?a(R?hw8aT* zZ@S56ew;-&h_|zyv+n3@P_Tbp7N`&yxF0Q_(u3oi6I5WmkwW>LkhiO=B-V zCSS;W^Ox1M2#o6qAIvJtHE5u*2p-i0%O}P8e5$25K^ej47GP-q8T&6@q2*zrh4Y7F*)sh%~S-w{OegfKCN(A@3){f2|MSv-Tf%t z!hi9HEuZBNDZwsJs$|+B0{z~9g}%PkG6UX@DA9tkm^15BV@G^!FOIK>T@fvOKj;f} zrttLP7&wznW^fN{)Tjlc3XRH1@ySrv2a1k;J*D~@9_dpZnk%Ko4@4}gC@#7CwxhOB ziYI}{?v&2#_R-kuHLr)omr87^MnWt=y3j8G-p2iCT>Ymp*=MhMDkW$9nnW6M4x=*- zj?=lNZE#nOXKJhFT3L${TpJW(Bfk7>LCIU*ndY4p-ZuYPbjw0krO(XhS@yt|jeM^& zF{O!zI?1bFc)F|v`{Pd;IJE~%ZoGS-AN~W!yz3iPr^o>c!fU^wu^Ipf23K6*o%~hQ z{?XJkWH=Iqh&NYzbGK$_MeY)#>lCJl`eedyz3%;|9J(CwGN?w1{|Z zLwN*<@J@yGM0sVi@9rE*v~68V9y!ej_Ct$bwu#tzA+hvZ{#oU0IZczI*GNJQUaUY_ zl}xE!??D(!K5Q~bSrvslU;hnD?o$g{zUdc*j71JXeTquJ4md;vHea)>rHJQuD&UpS#~;{79Qt`15TW4vd!l5lh!U{>XO@MW^9gel_IAhs6N(-$zoq<~*z;q8L=9 z_H$%MtNeS{)$UqDC#ueB5}IGVodE)f<4D!trUx?%9QOhQp=AR zk_$Buze>4Mh=o1G`fE)S>S!U%0?DP^Z3b2_&D4H@-rWwq#CBmd&(?N)&HH6}vy;lt zk_!nBG@$217|ktbhc(?1mSk27(#@r*7$FapoA7a4)hpGCBVI*?wg*y}iLT-2IR2PT zpx@}8nJ1x`;ZyRxFr+J<_c1cDEN8LO|GPUiX#i-mgJts-I^+(eo%Yd(^t=ra0NW3b z?dglMU~e)Mwcr|&NPHdVcJ=Q4p1d9S9H28V*GcXV;<32@{&_6OAjSLtO#-+b;vzd&*YZ3;rBBPGL@*iI;|+h=t#J zkQy`J6C@_t%;2XcjupK$lk4zMVSmT3L15@q^Yqn}PKg5Nu^{7eNZRABrhTdNioF;! zYCVwF6R-?2I%WlGOIzoFiBlK7jq9We&+LlvHn&<}d1_KIv7`2IiuJ;4yrPxUmM~OY zf(G*I4Yg^MDRaojl`K1jbYd!tmmPwoYL=DwY9vTKlWf=LWm?8v?`4pXd*;=HV*bUY%l1LyP~q*FWz|BA$tf>+Wy8#F=2$0ZcHO&VsIO_T^f%Kae#5iI;*Ed# z>1#5`VEpR|v24@Xc25%vOUsn$QXK1_xpw8U0A~0s7cRW6Q1QI>Xx~yLrNrBDLs5s( z^HT{yrI;cb;^f%N2=_eiP*-k-b&CA0ap4-@QHy_1GOuQWbz!kmTP

sC5>l8 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

x_F`t^)6Q3W*EN>FiH-xcK29$su-UmX!c z-4Hw_%IUz=*Lp5a{i6Sf%R%u`9r1!HoQ;y4>4agV7nNHZQZ??$RR{{`DUFhf9!~W# z<0~J6L%b|DqP=0M(2fCz(L@00Rs#Zx{Q$bn~y zs%obfW1%2<*YjHNd`yXg&6eIS+O)CnyX*RC-bbvjy~>>Lbfnd`b>46?U&j}7hUe_dNOud_UhRYrxXSEhx^TvQ9094`4iiiG%Ku~c5u-k#4;zxw?$kN5%f{JbwZ7XAW z`!$$_`Qd<&$-Q~G%I96D&9<4p3BKV@Ud_fo|7NRYtH+qYWJYskOZr3ju4#k{c9YP7 zeX$d0#ALxQASk1jZSldmSDlrkppknPjSeXt+478*F*P>8mk{nXvjvTrFiMPr*|C^m zyElMy1jI!y#KNAKu!_}FKYSG3g=1bbqFFpL!%(+AeZVXbJu~?IO^?9my2JdJr900T zWe_#da@lKl6=Rp~dZs?6v~B*utZSc~G{Qs#11#JoIODJ|ixTwoU=Ls0wPqJ(OxT*- zh{(M4IZfq7WyU2|7UhLYk9H9aCyzbL+V`UYe?k4|**EA-wnGV8?J|xt*B7QI1IkC?f>XlFle!ZsLpx?C4SS|E zP^H)^nVSt@JU*`RNzh@*Hlxw(BFp4TS=P}6y6MZ{kLuUU-zst~Eaok(L1PmX7E6nu zrIHu+;^7^jnxUU$D%_JGlOqX7WtvcY3ED9A(yQtM*)|T9hQj9*N5^5Wi}PTv)MnkN5y!4DUr@6H`CCv zD=ovcT*;$w(Clo%uFCrzMpO@WW^*m0hK}T-Axm|5*fylK5(~Gq(m}%xs}!DPQvzjh z81Bx?3|kAFaK(-bP}8$DWwaVyG|3#^bapHkhB#>0P(JH#$J?_>3`33NqZq9j`H!Amn^7kn>WJwd|G@n ziA#PyQNSZR7({tBU{GA@@e_}&4$gVaZdD$K?46$So_4*t(Up$5FvN59UI;OHa>8|n z4GzFM+qjx5f09*S<4+mWK|NbJ1W<#~9!Pg%@v3<5>?wbskQ;x7h97&!7#V^nRc1WP zps{((BuryJA9^n4c06b2$TE1-vq+If9TYFhD$%{@Kk~{&p){wC0AO-?u?mNmfrrZp zSRwm@299Een|Boehr^S?f%}$-C%s=0`+I-`uXGJnSN{dP?fKHeDYHKS=do!5j7XVD zcF=ze&A(uVRssNpQ>QZkUY67ipZf%Dp~!>Vfcrz?m$+2>NoEjwl80Qcdjj|rM6u2L zr&gMeamY0Q-w1yOwDx6_&;UcIE{`$b%;-5$0czn)0mAMA1IGOL*#h!e=<(JwAt1UH za~MiuYW_(ke^sccc|Wt8l*w^0n`xW`6h``Cet-?#?ri~5*=nUyjtPDXQN4dvP4>qB zVVO4o?9#3#<8Na0-{UWTC5uP>P8+1XaKMd9Imq<@X2vjAASCKr>5oIGvXjJ>;qT_L z9b^yEMjMF)>DrE&X2J+H3$v-}^$i+sTsZ`I1RNHzz+=^o+^$#Cq0*dpJy<_?vY7p{-ikF*Fs=q6cpMphF;~uRz5-sWdp$xCo(ZU}~N!)FU==(hqN1E4i52j+6Rqx1;FF=jgWj9D8*OoCHHZn4)0E=b}c6^osvZPKaI3FP5o_FWFvK>9CX46<(}Ws zguO`wwcUDh*N0+xi^*-!4cn^fCdb@Bl~O>2%gW^RoPZgav#sRgA+Wq7$*z7ebDO=o zW$!QKi6*lfVBF2n(I4Ji(ykXds+tN%`M=;Hg)_Z%z7p&yT3+YvpcDBoD)uO>#6p~S z(nfN>7Sm=aFlS>R`|IU5`n@-oE*9q9$4xf(oqU_1gN?G*^h-I0^Q;6FN$5%jP_Ndj z2#SW7a0hsT_<~0@ITbzEw*v&^3sto8DKoGEYWRBIYv}pLT?bnCCcJgw81Nj#pw!v^ zUf_h)F3tT975UFmBrGgH{93hIPh3c|SM448Ij9wAiNi;MTgNjIwEgmVKn=u$A1TBi zK+eYNqiSi6;{bH%wlE-8ipfcUCF0S#)Q`jrpiX|QPb?$1d5si0J20dM+QZe8C7l_- zj7Zs)1z^?*#hV*@4*=GqUgXN{T<{L^fTI{W^8~rO!DJ=i9SS576E}`;Ymp}B?f@ss z#l-i2b}~hp@33v&`I~KZm8PBUKr0+L$ijaNLbZk!Mv*6~#ut`uZ};?lo0m5{_>a}1m+*J1_FqWn|NQJI`;A4v zwx47pwT8Oo&G8&p0F!Nj-8@{~<0n~s%x`mJ)|8!K>Q2<#L|Z1XJ*Bc0f5Shuc5)qd z-;Op(Y(_Q7SgJ;mtTq}Xfz0Z8RrGa0XXQ|iHt0I6paa3zuu~A32s!unJZ|9_%u@gMm%~tIpw)VcG#;p$=1z0-6X|2zw zNVT@{gbUw22-*jIkyM^v+YT)evy|!wD#v!*v0dMsC|=%&->dgZPfD$QVw3`D-`AWne$)K5$3U%+|jw0@F$#Li(}ykcO# z!zXw%8h{^GaUhq}g=sIQ)i#uG`i@Qw#JLbr zDfS!ZSR(VTYMs&834W;*(i^^T(0^-AG;H>gPwkVmN1KnP9;4qI5Q0z4<@TvoIy!=0 zjhCiXmKO7Whwe;*jrd`5Do~v1mEsrCTKafHy;)QEI??e?QIHxVIh(0VT!9#x**fD# z_h{ELab{;1W5dEKa;u|xH#1sRzPQ3uJi&WFCs9*|{DgBuW9Yz7{qDu=6EiRA1;)4| z4kg61q68RuBH*#7pIl+I6L?APG#K2srMte`sJvRxxR_#uHa3lxVE2{!xvT@{A%L}N7}$$4VL^= zEppd#(7RP8tN?>DiC;@cFmk5ouS&(#<%YhHJDPGtCDrg$;q7ZCVc@nBHmR!X?2Ve;4RZ9Xr1 zi=rywwBFzhy$)a3&1Y?Rj~bULWtmoR7YpQUkP{bpbvLFWI;l!h4HT8J9{K^~X(lKa z;jL#3>Y+ak;gY-(ZlGR6C(oP`9;&l7y1FoXp^irg3eymj_&(&A4}I#o zF(j?w>RbPKmx21RC8}QVC?}o$E46!CUp8)V8dEd&z?~&gg6>h0%=L`$wA)XV=hcHx z71cd@%5i@%GLy^srt%w%Dd#QPRLA0fj|dG{Jp+iy-=xK#3xNNT>Hp*p{U4eBzfY#~ zvsX;;^IGUDJE&0VwZpQ4^rys)06EUw8n8TPS;b)}caj#e0H9zkEadg-m;!-fynNraaq0}$ec0dV zPG??q!lyi2)LRm+S6+fTUb_BD*L`U*^D-IL=j$)H)&fpZbHCJ!_u<~iRu4vB&&tyRLxiQL#V5Hwp9=9%LazhRpAjE^SgP%uj^en$R8 z{SEW`_3Yt|75Du(cL!I!EBpYJXhP#%gT1=Nz&wN=6bqU_Wd4RiyEZ#NzT)}3kyPLJ ze9caVz+xTbv+mYdM|&wyMGfyEiM9dFn!5_fG#alKt`{Z%UG{qL(l<_|(D;7`XiN8h zvG*QeO(yH3IEu)iT=%TEwUqH+w9>kI(Qw}mr(nRFwWB(-@?lo=;k)i6D5RM* zk<(lruKw`*aB$>!z9Qrgn!gFy)%>BF2G3}67t-(mi9oVTxmqvXY z#>i7QArnYcf4`sG6{FL7@cBB5OoCi=@xh4n6AKn*<9=C>pH*N(v`J5=Bnkzb0<&Ls zKNx=+df`=_eGkA`l*}otYvrpdC-Wqiqrsxx?}OKi-_x)&!5wrZdzt5r0kJGF!*&Dc zVXcb$m`y?@mQdY2OzjNM*47yN8q*Rrf zJF0UUhhY~;=)Q2w?(~lI^xVx2Sa>#1S|1M$NmxJe+Mzb4bZ1Lf?`VNmf^?^w!-cw| zs~abdAP*?qc=NLMeD0?V98{8K+H6h^PKZT)QdA~oWvHFf=;Dtk4~h^rt*Rjt~Qc#E#9J z7F}n6y11k2AVaP__J`SmNh9GA@g78fxpPTfQ5(DSa!BFper?s#_xUaJz1J|gbrlo% z!Yz=A$lBz8%M$B+iHMMHAZB2|xi-k{%zn0-dewvCd+nEPgJnYCC%{)8QYw4*b%h_{Z{MupsLTOEc9V>z~;^5uXp3Z z$(lfDXnmRKhEnD=AjVY^0oZj*c+7p&AIY9hvOW#$S-EYW_2&@O@{00qfyG$x65q{R zDcLUo+p$m}B*Dr3fWiKK+=cu({e{TZ@{cL{^PI5TH=|6I|9bCg%YDxI`Od!bciOLQ zw6~l0>j5fDOyr+>xR)+_xYNFSxPP`j7hHFUsO?TXfv7N4l2+Ly_P? zp07JVnalP6t#F>+H-DO+s0W{Uv~Ek)*s9^SYSjlqspmAZW17~=lw0(PhRGfV&mRgZ zPz}pAywe*#(x1QTCCfeY*zp&Xp;-?>%8$jw?^Nx!oyvi*Xr5X_ni#WaA67j6+&Yrg%7=M7UpSX?wrVNeJcRC zc%S>o?*{cSOwVp*7CL_-lSLZ<7Hm*n>&R%l?|2Roku$>FKs>?!ek~PrFaG zx_GZ=*0-Eh(L8`{U>>R*k2rXI`whR??KAQgI4Q1alpygrL^}A&I*l+tZ_yNqu%gt5 zyRrL5=8P_otd0#qO6t|E5lW#bk73WgK1`!?6~7fiJ1u)m*$+$d3sFlB?foc|_wK9% zqhuP%aT(HN>1L#LRcoa>uqk(;#X=Jge5cBpR}U}`2Ae9(K9U%0fZX&cU$toD@FLuW zQ&dt3?N4~3cf*%?GQ#KfSm|*u)+qXjE9uiG;^Qjn{3q#-H1A`eKtV$6p{>^J{Fif? z_F+2dxizYHKjr3;yN7pnxz>i{(@1VWApa}K*GRo}dlrTD)3x``^Xkq{`Inqi646nw zj_V*j$(hLWe^@xAj`Rt6TPdD%`dIXp5s3(~xxGO#S~X%Q=k7Z1*p2~>Asr#quKIzv zQy^c>qn8+T(P~$_6Gr404^E};s>lDy<81hgl4i9{lC@#2nD}Gy@yP^E8u@F1&15cm{C6f&`ClEN-%H5ad|%QAl-EHQEQMRilEhH`ysG`rkUua*`pgmCkb z54thCDeG4BP&mKaJ%91teUo}IqtTb7!HPdOl-~C26VamJ65OjLhM;vB#|%d(z&VK7=$*A7lm?mD>JT;VrI~7VtAHMY7E;&te&ts$P zJBwoeT?;Lv*vU;JT4m_z5d8eEry*@THbxQJEve%=Y2c2xz8c6hS>hv(VgLi;Z*q2Ymo~w&h)8U&MZWm8Urii?r zc;R-f1!Xu~a+}VS8tEoPIg1-696qB^XN%mE9K9>?#F^DMejqNIo{4gAKKxvd@_V7%!0oL5|v86cKeo-W98D7$LzPIBV3btk{LVz~2x;vbRG&-{QhaYc_e zMYovV7tUq`Xr48llJ2@OdtvN|hKS)6#ujL#0C>N2Mdu~1>h|9)rMWwe8?^${hm-Ax z*M6Q#3*TKdr+3PMzmS?-KN%2FvjsTJzcy&MJk&oMF>ngPv?j7gJ z>4yf2z`TUGR&~iCpFu6zVTj9fFlA^4-EBB>f3ROY#sf$*^ zia@incl1Z3gteIxx^dz3B!9Jcn(07Lr4j|6d)^YCC)J!sVOcLc@Zmk`y7_tlRx|L-?v5r2=X_H zm@k#kv!O})d%MJ?BHd;wwWI@rB$ajty=mRr(?w04lFoy$QkJjT+N2G&yxS^sbP+Gx zbDixWO7flN;u;+-rKDu+s608D^dMUBg2!zB3;j=%$@3c-9-m3qx&0&hQzCCGj;r;F z_E($=y9#8~dv%Flh>33VlL)nfRuSEL<}@Out0ix^AMo1@lLjK?21VVdT|txIy~h)jMXKI>xKp)viaR9mu@x7mvr^^*JwM zZJ(k&P)xJODJu&rs&hB6`Ad3ihBb?zA#RgS*l}^X5*2WwI+qlAP6n%#Qn$D*pM6SL zYd?#3g^@e^6GO|m7Sap#oYUW+nZX$$94ycos6EB0q!{arxX_R zVu6^%&;E#ulopwgB*^vRQNi@l0%#SK`a0>Tz-LqGhi1)+>)fP0w_XPu>b)&#JQ`j?OERi1Sim zS(QyK0-Eud{JK|_g?@s9d#(2d`YG%n@&1lf#gAhFgPcE=H=vKkOpjsiRI2deyv&?J z!q|D>#E1?g2rvGp1mUnKfII$TJ_AB~eFZyL{z9jR>@klz&0Bnm{EvGYJEsWP)}nyu zYcTGIX5QI>c_8j#N231pdjoTi-{(q?T8sp?(4XeF@!D$u*D74Se2M;_N?Q2~*Veh@ z#XA*Ce4*JB)*78Vc}>6#dO2gOGZ3-#n`FVip9huw_5kp|nZAMHeoJZIxqW@)h)6h-&?P$GppbpI(`H?yE~$`|ltsE-Ks%v9Ab;s2i5kUgs&}p2EijX-@bO>9lsUnR zpR~IExk)R<2_+qOv){Hbsk88~OX)p&%EkCezwZ5Ir`FZqT#hz}BxYXZZOL8qxvRtZ z{Nk%moKmu_elRb_gcoJqG?xsg!AnzFBd7Trvy|kcDKt*;WZ|?m`-K6&WMEi4dq4&NhY7x1;*jU62%Soc_*u(9*Ep=SyY1Oa>33H@yBYt$dKksa&KpgVc{vhO z=U-QN#rLSbMO{l$XKF{|!=#sd-B@6{_!=zGd^EXtp7$2WO;l;U#JBr}R;2A*u}O1n zRzf2qZmgD*;xIBAoQ#|C*Y3tkYdec~G1!Wikn*v5ukZV=sCIv1HvQd@d<8Qp%bM@M z;YkS;`X-Uzf7y`y_rRBX^q+O>KdE`1cf4#Z@{4ukv9{|T`S^@V|O9)qpdLr6<}G5QnR zHUi;8_8I=2!Q}t<@-Z&c_TP6l1WNypJRJTL4)~?bFP5=(D_g#w{P)FH9|3xzB(vzH zKXqq`uVe^NTQW>|&HB@BdpJvc@uNKpd=ouiy-9$#1C2|3B<_4#ROVks2HpABmb015 zHnD-(3!_!D_`^T|(ZmLxzu~9qfe_$8`H2Pwh(X$}KRfv@8CbRYBNx{^0*;N%HuL@} zqUc6J`6$PFxeF`8{eMB4l75R7dN3$7o(FLJuvr^M(>lhT8oBFJLmhx*;Lp7-K)9B_ z{J$bH(Dpx0Eh`7>_A4fF`=rk8`INjzKFSlQK+e2fLH$4b^#JtwX0HDaL@M=H8@P?qU&G1ns7Lk3Cfs;>B=7SV9>~<#zRU^# z20?&A|LE!eKkoB#U;dRVziSEq0}_4L625B*%hT<@k+peQe7|c6jPg4syns93wS+G# z#GlN^|A(ge{{ZZFE#bSCu)H=dYbM{dgk?e@nX+adQPM!lHl*N>jo z2Etm$wuvny7x&Dnm5oJLjA6R+{AGLrPsi^?{(pfN#BT?IwkOt%DXsZ&uT+-_C*7Ml&2LPzfZzY2QP=-|%{@M= z@+Gd0kVFd7RFx*WT*ckc>W=L|R#Oc%y4^fU|NS}z9uP+BgPo&{6%dPSe=HC#we>)? zCq&Zrnv{>Og_qTfVZ(hFMf(mNdHG5<=`_dir^axOjojW_Z_)00=vU`!uC!_;lClo_ zW!AE&hhLx6?^x7d;@hvnZ2%&8y?R^*_^elp0Dk9^OMHvDPo2&+bOLrLbg=%E4-gkM z>f0V&8s?7y210rI^G&heqVAF^nAeaW$r+lQ z^o<-?5bvAk$rV-}+7RKSu&rVjAENI^nTHW}iI!V7n@nOCwuH700j5UCo?G>J#EuU{o8+a3P9_LU#`M?SRld1E|k7NN+dg}+O3J+P0)lqOhV}J==k!bQf za1ZhT8Iqqo&A)Al56_*x+k>8h39gGO?r-LX$qY#W*~y#d*6Gj60~e7! zv{?W<^0zWPdnHrLTouy*ORl?B`QgXL))X?&?#kSD=fF*H{8NN%)DhIt&?nIqGyDB^b6Vm_W@$8W% zVe?_ivrvf~kQjQb2cF5h!HLOFh?h7usQXjE({c1~!@lG(KeoiD26)I^E|^%Db|1y} zxsIL^Y`E#r`%$f_K%TMPm&B)c$$* zj#nX4rK!!wM#EEw0uH?3ekfdMT;c-`cowIC&9RGvV3X^5OIUiVqp8Pqa*HvnM8It0{_fB0TzrCUkMQf z)CnmcNM49)diOwV(YZ5S)v>HbKz2I%u~6DBdTxe9)n+$DNDUmz3O~KC3#a3W1Mb(w)ahsv3x;U`l3_e$POU> z^;EC=x#I~T;d^f|Uv=C`X}EZ=ZIJk^@sI;vd7VG0;7wm=)Y!uWU+h(mNb#Gp=WHcx zM&XeUHGBL>=H zKey;2Dem8@-fnJ~bi1kbI^m(}`YkaR`?MDT$E+PU)|`=FPkk}dh;m!?CzYMd z0MBM70AU0YZpvewN!UUkI9*Q(A@U2 z>TXPN)@Hc)X1J|wT+1om%ejJkh!mt(I zLyYDa(Y{fii)-R4q25D2XvJ>x)fpC{Nm$82Z4Dq{81;o}7 z4_@gHmJE16<=lJciwgVCN;y#OU$60jhyRtDim>0Qs2@zLN)?o5nlwUM`}#4oRNg3UO?EbdF)ss zl-%4iYtXYGmkemWP8-4G5L9J3C}S~Ns`SItCv|DJOt((=y0@HVt&*R1_Lyl40gzY} z21E%2tcji}v-iB<*18w>SqJk8e;spXC_%; zCi_6taQXP%x&9?SKd~h~8ep>)We((y7tZpS-jX~8L}=P$lG3N4D4?)os_{_%WLaru zNl8a*ljN>ZzgNx!ZHMnMrTv0#56MY2d)rKV79ME4=r-vr#hwgepBt8*k#JId<@1?s z&hwgV5a%}N&u%Xt0J)B*E_?=@elTE0A`ez|I;!UVp;bWR{-Lj5mIsgYc2-q?F6xt( zMu8;x?#!Bp5j`GEj{CAUiO-!jtNXcN;RyU9Mg2we#mkmTxT4;ljq`O9T&pm_*J^1m z`R`R`N`z(=3bxGxkuq=P=}qHbT#gKOyBr(&&ZYzWaMIk_$x%E08Ef7st^5y&+q1+M ze!3Mjf2Ls`i1!;+GaN4(7)hnbwnkrY9W8+>QLf0?70T2diN5#o$TeHHo!=n#8+@nZ zW_%tqENVaHt#iIAYEyRWK8N&nhNB;a_lb#9ZE7NTpe7k5JRi$phrBebfNetDVCn5% zUlQe|BsJx|{OG-+q*R9s!3NcC7@oR}Yx#RQ{V~8Y2+8g9oUGyXLU^wLUXm|viUlTs zuPo*9d1qEYBQFr}H@?Na9=Z$AdUJtbT6v2*8@Rnkl6&u`nFFj*Suqm3_}FLh0fvVJ zEs*t!xm^fuXEXP0)ZB+9zJ0yGj>rr!)5>sd=34cP2+zf2C5+UV2VI4@U8C+f9H}xd zf)GID?Ja!8$RP-G^JCpBb&iU+cis_?80y*fBwFDy6R}10Lej+vxAB9hXXBf4PFS2t zN*+h^RJb=;){Br{o(twc$%pZ1M;Q z)~51-d0?wi!4E_#biTD^KvqH0_3jD$4^87{>U=t?Iqh*KaYqyV7`w{-4w9 zc4XQ5_48Zg*9(#tUP3z0-wZz~{NU{R;N>Um*_5jJ?)5LqcsCmJz!17VA>{nnc2;hu zbd9CDwy>xzTO`Pm`B=B}ivMPFy|w1o+0wD6kGolwZUXW&O~38!j;XCMzcSFY_OhfY z>$J^!O8)Q6DHA6k~GUtKh<#vGSo>=lUD3v=J3gTV1|MVV6$go$X=FU&K z4+TslvW{@CyiQm0m<3YcE!_PXa2$$B`G#!G&PP(Aaz0x+z(aGpPrq%ARjhs5UiEVM z*OhLQz31=Fxv{mG<2i2VM?Z9Yj*cdXe;&+Tt5dHTazzIm(g2&>4 zXzus{ph3Ncg-?@_K8@*fRlJm%VAXRUdD)4m=*W<)TFSM1&Yikt37ztSfli`rwA!ax zx17)}NM=S!Wy{a}ru|iJ)~keQk~4R)s|Uc3bmYpnm}o@c9sQ0mUsp+Q={XCCP_GFD z2oeJ;pB+^4R$9o=Z(rhbpjDR2iF9VwSLK9NJ-sze!8s{0&!oJUUHzuv+|!2-3$^+z zt#9RuySiOuvsBjzr!cRqZ#|YKZjSjz2Dx?9z~=sx0Pk_WaM5S|fri(S#Y~xjh7R!| zCGKoaJg`xli^ag{fDNT`idC zP~$yCyZSqo{MzrUY14FDf$8IS#Et!ftd-Svxd?_BbR9=123@ss{3*XafODoYcH*Oc4;x`-E7o){ExYB7Mj z^QZK*!_LE6^$2W^ibN|jDB91ps;u+8#Cf&_NpanSxv|*$t4a;n_Pp%&lTEoQLAnJw zm%Lf`6D>M3gjSzcUAX#FjRG6n=HwEQvvotw?adqM4xu4SkKo^HAdCq ztOBLR&NUUXUrcnXH+ig>sdbgsId=+i*ym==RW~%G2;;G%sgb|aWmo2N!VX;aKTyL1 zT|N#!y~tb+x_GHX@9fL=W6ge_-Zwmg+V{E@?mF>s4JUF(y@F4b&XFup3wlj=-GPtb zs_fT^GyRb44 z@<`voe-r&}afB!@V^n+po-DnLfeY)ahkAo0f%)U$A6cy0rGW~Bpl3Z_*m>m+lRPPN z(o;yod8V6`7<&HL^GARS!=JB28Hf94!(6#(N%cA!>(6XHC?j1vLuZQ40G-s1dsAd# zbd1y2{?v_9r?TqaJFJJ8lm73Q&p$-C z-pIU5s(z|>3;gtkUROr2@+3JUw>yFqw_vhGwnZMs-JJHO+pUO}8Nd3thZWQXTX^*4 z==0vjq5OL7xQ}X5&$-_$ps@=*T%O}$?x?x_r(_r&H|>XjM4UR?m-$rt+^VZ~1GQlf zj@?e=Tn{Ks7=pjc9)57(>b1B&|MhiGM#Q8HH;g9Vb2ChTI`OKi*~cpQ)W8*&;%wsJ zZ_g>_dajgIjQogD##-EOo%^lK1UKLssBCSoAbzcZdVy_ z|CKXSK8HpR$Go6oBOrB`TB`5hPL`UVMCWF9dRLC+?l1;)y+0>Ins>kEoq81Pc0Iyg zy|o|{`RRV`;QmCGx5aHrcC&!T)5lMTsW1nvQD5I1(xr(#7H!~n*)mOSNF^cYQvpY( z5s%+@0`&Vy7=0;U@9vMjLqDxX4o$vWlO%X^{Pmj4TD;6|Qm0#B8z`s8IQ%Jb@0xc4 z7cg4SagL&IVt~X)qwmY59<_E1*PUo|Z|`(5?IztdAbs2YmrW_fLFtE^!wcNZgOBtpV9io(B#>y6vL? z4G}o#%r9STMy~F7KU}DNdtzYmR#$wUf_RR4EAcq(-7(O_bUf+A8QE{){ZzT_8dAxjoeQmVz*WR$v7UKB8V`<_FOg|? z19s1fK$^Dm`o*Ace=wizS=_e7cYr&f2skGKYjiCO@G>ZGp)K47_^OS>{j{E2$Ia-O zwFMaJE)bCYt%#TTwZ+S=fbv+Xz-!B!kNWmUtWJ~%;D4OT^C}0Niu$b=s;qgWMIh%% zb=Zf+Q-w=>va#Pg_Z@TJdG5PFe4k3b&dA><;qNQN_qFvK73I4?d>4rC0`Wf;h}2Z! z5kY9XixzH)@76Kw;zq+d?3KbFI$A?na6O&Z_uCV-E`o=iP#MS&KfICo|v8Uj1-0w2pOg zKCkdZ=DTF4;|D_?fDXi%l(oLVk#Ur_J0D!jIQ%yHv(tLz*s&rHfT{pG&y$a$>Rc#t=!HjbtMC@=6yyK68Ox27?Rw7`Mdd#>;-oE1Zv><(~Mkc&ohK zEcGg%CrCq)qWM)UF& zgh6CgWS76_=ztJJG7HB5A;_LAoDmL7^Tq*>7)+L|nmWh=NA+P5WFasOkd>@D$Ucyc z16h0dqF59?yi-sAHQR6VDpJC24N{DR0wF`@<*rE}I4Ikyr27aL^ASfB5pz^BY5vsjrtX zH39YRn@jZ*WrPI$$*&Too~GT^ZeWJ)nCqC9fcJXUV9Fkan+ZaMF5$$ZPEgk(tHZiK zc`cohNgCuPOoeC5m5@7+2J%Xe9BJdYy}Q_Yt>eRy^Lx~<^|R0RSA6W%6}m5db4x~g za@ieAQdI_j^xm95 zVBx|>o!JY^*}vABjIgnO#0j~*AyOigqdQ3A8kKcjZU`+1zgj=tHgjxiPrbcrXyU#@ zr=+oKKktnPe1GCI|Q71LNp^?kch!MZDzkDpJd;{K~Yqp;d<6oyl& zG#1kZsK6^$=XXe@xSWL3T}kBz4fPEYSE8!or^ z*KGI;_o>1(Vc)XbeJ3}jT>jRO>Fno?nPR>^s!@n5TWEJZQ8qTQYb)%Yyt*C+c_uCy zoRif3b9VV4i&W|Vw0pJm`}1<)&WnB}&32rO;v_fM5K`S(=zv%E^sS97Qy7}$Hc8eIsf1J0`%CLWNpAYGB#I1L5cpLw@tfDJ5g)+7GN445NsJM}*YT#mJ z(RCH|_a8Nhr04#)>xs<9%~7AkKgn9fKgi=tTWDC=827q)jrifSTkf3`ik|JyxZZJW zP9tr8e)>aAThq1MG7clnw=z~&3QsbE6>9YoDkNr_Bw(56*WC;u4HqbEkl_>j=@D-5 zxvjeE#`cqW{R^=-ZlRABKMUsPPfD1u5c5g)VxBjU6xj5zBV5j`FF5#@C!_y{-GBf#B<(O=hb4t$ufr(u;s&hKLxTv$fgYo6e8+M$D?!SIHS?vO zOqHD;x}1kcf@Y6QF}4oCk$zpqe$=SR$cY(>|9IV9cS(m2rv^JG{R>MZgi4!Vj>?Yo z&X#G^=teRgt$)(9xK-Qxagnj9nlk)$Wr=bQQu}B+0v{j-@NqbEirS;C`ESn znWL|y12LvjIhV(F^cTtX36E&0djC)`Zn&vocIZ9R-SklA2i0ueiP&`hmun-o%O6XA zoJo&xw7H?!P*ZW#(5$5Q;u4vEjnts2PW{!|%eV}zdD4NKa$Hwq|KYCnIZp=8=0E9y ztqKo&RgA=uE$ZYELcK5UOM65wW^CyIM zL>{39jplCvr;7DujaZ#FaSiZH{4oqA@_Mi!VXs1g9ID*+tX7rv;zpM~n!W z?2x?s7TF}L(E7^ngv-v6vdhyuLXYrWyv&XuY-z=Xk*{5nZrC+yJu~jmGCTF@$jxUa z``kC?-F&I*vHH5y4%(fh@EKy#C_=|`U&n>bdF%9gkH+54({djKgM%R`+1(fY>?2-Y z7}@;vb>q4?32|H93w|53z0OV*Dn}+Zvm;JAeU!VWv{m?#Fh-10;hE`szDmCKp5&v> zHl+&Lj{>`fRxfUXj{5z$lkb_=l_stZ>d^+iiAen2voQ{A>-SAV5!>98VCuWKNN3V7 z?N?d%rZR37`rW?5$hYmQW7DjzYU_Y-I{DWPIzR1do^ju_N%icSRiV$YB?6&R7*W$e z^L2>8=7)H(Gwun-hIz1|6C>B_s(W#5J`x|VjO6;sA~WBa9*O?RRHomv5t%_>jn4?{7A${hCq0Bs|&kSq4s9+>miBsn67=jKqz+KRjpcRA#FFC%ix<+YPe^k4cj)Ux)YGX zcZE!jRK|b4|3b8jey@&vI1!`wRychKVzx)z_VOyk)`B%ZSHo|0NWQdHTZbK3J@7-O zX_%;TKJtpyma46qWfG|yu8-P~6|Bw$iClm6^ii{Q+NBa}Haa_P{qXx2FxAW6@KWO+ z8v-n%CC#*UZ2r9W;goz(48t;HY6t0P?7@Dr=y_SG@%A2h*A2yMa{Uh;6W?EbbG37~ z)#XUfXUBbgQlLUL687ranNuC9!w1hVYzsa^$orv7#d&Jg#{IbiGzYtVADost9*u&{ zZ)YDnl%tbTAhA90iOcpU2crr~Ep>of?VCzG*N4N|!EZJh#9;oVrV7en;w^qHZ0?#+K(& zhcD}$Aa{QTrO~n++lsr_llEnI)>^(QmsY(4zZL--IqzvCpFaP?Mc9EP)mMXhtLG~6 zohWPM*8DiZUr_knSVL}nY(*%$^x0OLkNWOiQ<|@?+-X=7aBH&nevNY=w#?E^`Jl7cg{6O^QAituX@wRuV z+;IMrOTC}DhINk%`UWLnAED(hG~VJ@ z)kf?)8v$zj+#4vMW!rFRqsTz;PtxZPSiz4uM(QO!HX1Lv6!39P?)u2yhscPz9J=_r z+UK#I^U1A-C%yT7dS^0j?kZVm_LkFz=BCTdNV<*4Opk0nBxvt`d8_V(14iePz4&l- zt?5DJXRF?`ClhdoE)pyT%}S#8WKjAliu)93DMgR)}+-P6BoPfz~7vg68uUyM!BdchW}ORH52rK zZp-vcinhC+Wo>JPaI=QW&Rr7c6QXSEAT7x9X6GO22^fJSL*(FkbDaCz(3x|JBAPBg zyoW4Oy-D|#?e|DZ~wzq1q z&O^R_bA;1FnLO_@Mp@UnS@WT{l?K`qD21J2Q1=q|PmxCEcQoWdXHvqd%F5m!N_$bv znmEpyXhx?_<`BtfrE4e$4*ryjVC))VFIo4*#m%iQeXRnyl3&%9?~90|v_HEhtVG&ujLnsZdl z$uCf&bY>w78rwNe(OS!RZHV9udUl%Vyg$A(F6gxH3EHzP%Y*ZBW{3v;m!YPDBiSC- zpwtgpho4!ShurKyoRnqEI>sD5WTw5yF_vn>G+s`=GPCW#>Ml3=Vvt%R7T#6!TxSa4=XyLlcBzd$E=`fsU3IUle*v9Lv+&ljZrFg07<q@n?Ws3?J9T3}TzFiiHB&u+a9vN{ZJyq292;+N)tU%I;qEEZi0 z1mbWw${dI?jo||VYieqOR8&E#s!Bi!C1xO%n0E=F8A%Q zh-5MwI5qHO(HMW;@HYkiWtjAD2=u$Qffqnw$d|5qW3})!2E`K~fG3?!CSpC8=>h`E ztaJoGtd=2g5CZhTo<<}8%1OxIIwos~QvH2VoDr~p)!hxSlcti2suCD%53rLeR7(w} zq@tmvqVl!0CC!_N5B!_bu-}#bMR5Mj@|KobMl>vYnO~4by1UtIqPLc&fw8)}F$4xT zM8J%Uz+gC7MH8W6s17`Z7;C@{f9)Ai7fEHZJgHdR*Se}$99RX1(@^sC(!eRHX?TK{ zzo{vCc|uh^!5UDUrWbgn{x>wyLa{sSSLBkWt08VTeL@H~g6o6nY;ITIwivwu; zMLul+;UW{g7@mwkSq)_kjTMoR)d5JvBC^Q1WdZs{gy3Y>mtS8bicDOV8!fUY72xUs zC2t(wlTBvr)^jA1iPQik3z`p22ed3|Wa2MCR(|~oMF;e|CUlmGZckuSyr`Z;GV|}6 zUFp%X(9)MBN{d7EW)T3&L)BNtxFXJ9-Vks^9|FK*&@a65&6{7j&&zUT`Gv z(#O`=0FE{`@IfOCd`Kn+woYb-93K+{A0G=NIL+LULo;6iXk-AlG=g)M|JoYC)ohI6 zFl!?NOM8TYt-Wyo$IB#ui8T#?;lKXn7@Hb!uvSKJ6(^ttCldnN4q-=IdA|biYr$_T z{hQxGFkqmzK5#2wxNwfK-IpQ5k#=xfOFLj_#&FM-(VN1TM`sHZ`ued&z&S`004=75 za1t;);GGZB=#S;T0JMc00;2`+f<+qI(ky_YhCl;Ga35Pk;2D4s01(v@AeN;afPVzi z4jEwUU~FQnYD~mB8KW)fCIo{3On@!X#$W{?nq^9`3~(mG4DAAa{Ef-BL3Z{eKl4B* zh>f8Y+LlUEw+^x*c%z+7?Tu8}NTeCf(#(+H<4iCEQ0IqIabQ_Fm>Vzx)j&4JD*(aP z_A1Vf7~q^10}k+ZBx_=vRS9%Y3XAE5f%-c^?7-esZ#A4FT?20lR>VWBjR{VkrbHyg zoTwIPlNilai!ed*>H3SFH@_w!>j8J_C?G&?vP2@D@; zWMB)hi>;HfA;1t`%eW;N8yOfHqb$+J2(+CQ0qNr$;Nxr@xB`&oWy(QVn%b$MtPBwj zW<;#Nagdpjoskd06NL`M5S=tE3=JSQC@Y+qu}^?En#A#08M2wLGs1-EP4Y&dAuvDd zAWonUeFdP3qD>IN3`JsD+M}U1c4TiSj04@v5dp?Ig6+u86mOa*hR*OZ0kgeS|7rLu z02PhMW*7_^N_3{s*;uNxI-cZbO`>~xQvJ*+etznKEQX(=KgbhcG=NRuhQ`Y*W(0$4 z8Y<%at-%B+T7|&y^CYn}EF4w&hoQVq&dRq6gGoERPm+4;0CI26OPFWK&+;@9m&haO4D9N zkxC%=AZ-zLhMtNjycwGYtXoc~Ko-YI!_(T=k*s0|v&4GiVQ`{7p6P30X<`gDLz^0F zpfykgx}_t+Vg(@1(bgLZa)9_d+1QvuZPgucijFj-rhyLz0yedGQnd0{F=f!K0!hB! z5Hmm901ZWmy{D(Itq(`j)DrKd2v+lF`l}KHZG()VD*%15W>mbQFVr^>M)k2|qM4Qq zP9V(*>ZEFpLUL$Ff?=!GZ1)v$J&&Wbcm2w4Nf z#;HTukRVM}b0!`J!r6Pao~zpcuzkQwv{>4%!Z-L2=r&0(H)(bBzw~U zGS-*{BKfG%Ex;Nes)ZUHhq6MzRpDSHUegvvF(+8z6|v|QfIwzHj6X_KoFV*-)E!GoyAMj*1KrWZ)VnFE5_tN^4FNq$t2 zH5$Y*#Q3XQfjw=4=yVka3k$TWF~-lFrs~V~!y6$zz3C1nAdV5)2xK0Bwy_6L=7kS3 z1qIkctsGHa>W)-~HDLvy0k9ed_^Gg1D3URih=N-i;mzslYBUQl1mPF}0>LezmUxOK zgyI;4rIP*a={6233_DXxFGCwF3PM*jv176Q=^%)wBIt|g1q7f>{cWJeATraRbxz(Ht5s~|sLw4xcxPEo@L7-|3!tzx5y1{M!Z(*Oq;8AS1dlE4rU+`t!ahjRuJ zA~V!idWc{fV^JC$h7pMEuY$5?`x;?Q{UHzrg&wGGjfEOhFdFIvRT~?Gk$r%PF^=l* zk5go6U{%dQY6KS05FSf~Sb!YO0hHOV0Q7~hgFu$1Y(*gH9Kd~Fpipk!4DCCDCZ?Ej^QP+yWY z+1uRNmtw0B-#J)*A;4z_6Jp5(kE1_*t=iXci<3O$r@hZKh#~Q-c}#Q;aAo zmd-)O{!}PiQN_kf(d$bO)y$j-{vazG7zE~RV?|-2(P&GQogEUXMgtq#(P%V3KN<}V zxAuVtSpmzkfeM;#V#kC9vN?b@&R{y=t!+SXBeJ6+hCo^AA%OscsXH5CP{tNs>MDLl zepHkR7NkyBH1Ji!;*AhU`yhY^1F#@VyrvZnLxuS{!u&1JEMv4ukcBA@6=+7InSx9Z zz5yWc3P7B-IT>mJ3L+UmVQjpODOJ-7p+cglsc4{}Hh$LB06Psue{X9J24iOjv9Pg2 zXc8R#i8Q>uBNPQ9YkJ}A{LRR8x}lF1{>w6oSGV&csnKxWfoi5m2N2m7ZHISqqT#TB z%vw7FY+*<+@dfbeWp4_CBa8x_=!Twnm>M0gh+^SEEE>cVWQ>HN5l|yg&`J- z)Pn4mCmfu)t>PCxv_#tk1;WU{j0*{Jgc5yJOalHFd+#1SPgd23{sxAJ1jGp-M$jR{ zAXf^l_Y2LCepOd@RaaNnyITWRcUN`StLxEK)m5#6@kOF0T;?W@UcJeUfW{S#nxOGT zh@#P}+!zr}B1Qy-gsdnagE(ZE-`(B){XJ$F6in{&pXs&cH{b3$bU#*Od;LTcxPvF zW-?NZz=yLGnKd(q2zsD}xEpp83jLmc+`~Q|o8AIN=3^8YgFM~9w(JL8kfYhII6cYn zvX|k99oFa$hSNK)a$!GVJzy&{ZN>|d(}GA`8@Pp|Z8Y!3d=qRr$8$;@KXM>}CU_82 z#ei8)mP>PfS!F_K7Okm{XFeTC?U;qmkzIWZP(^CF!jGvn$a`A15j>e_?tn?s`ElIx zE1#aM7PQ5ABNmo)0PBSLmqn?_WO+2v#5b`?61(z9GwHy9qssuk&992bSFKGh#alQ zgo_R8I^}4$Vb-;nZRurIfy$wT`F_31!pLthe?E-C`bKhQy=20SYssq)*C5Kq5i`k9 z(`&?~+*$h5eI?mbEgV^+QPIPz6Z@V2Nqw`N?n_XEXpBL&HnlG*C0zyrk9$gUIY#Fq z(+>*D;YdcNLsY7{gG@C0Wv-KOSkG*MshW7tf<&-6iPJ50LlMk8^J3UNQ;DQq-zklV zW8GM|98%bR=!&|vO!-#RXm{NVvsC3$M51yBSAs2dI+$qR=Ta>t(bEP5mI$J8h8}|$ zr6v4ytX^%v^P-%0;h{s%VZ;a<)d;azo|w3GgpqI5^y2jUc@r*&7~K4rP1sRcv|XZ! zfriRu4o?U6WhcTW3_t*ko5QKYBjVIZ2%<~cEI3h#{IUOyWM$jzs^M6cH{o#T%HhIRCugXv+Id1`EyWx%!nhA zrJ`_qR~_dH;~D;13B|#(J3uT|o)+GsoQD{3$a@#z z5bSn}9+~qgTcVxyG1{Bs#dtMxJxsB-U@g+)jW=VDq?)lUn+|tOH=7I-yBE!7;hG@V ztGPV!t09~U;n6Sr%Q5P3xT^BBM+k+yI_kw}*=vkdW3Tt&RDjJkv(=y>m<{Z< z2)JP?p)^Q31$JA+#Ike-i3ObT;CqCjjJDCM0pM_ct zTPq8J!MF6p+$t)lzMoF(JwNhaMD=}qt#@!yIML};1U(v+NmQdzymO@X0fH+QRvqxA zvD_KT>@23*iDu@vZIbZsLrMKd^63=kscN1l#AAoRdn z4)eAIVmm$Gfb#=Hs<;(FRrX;GQhye6J7z5#=6Y_#d0$#n?6jPAc{=EUc(b~v<59h= za(fIo3^A9*te$YINgQ!BQZd>Jh>q>yEG2M%9|hYkllvV|K-PYw9>a{>iES}w(D^W0 zV>^}^mUfUhX9``g@OZ1Pg+AHLGxV&Xjlm8>JY@lDUP%i@S;(#oaSsms+E^ zN-H+2ny6z#(GsjO#!`E+^}rwu=iE^2s6CP@k8-V2%z8LJDZD<<*NDikax_95Ph5Ia z5nm$KF!pR#ZMUvtZ;$di^QG}J;4>||$iwcw-S?}ygF7LCcuQ5Mx?xxznK}`dNpW11 zGk+lV4=gDCD#5dped`$e1$Xch8N361r<{VCQS3E`$i(v_Q{D0qbO|j>3a+!Rw+@nM zlZ`mV&;_xS!#E05LuCC`yBtq@V1%8-k#k&w{C1GVt~XWNakj4;^-w9xbBACwIg51O z=lBc^n{EhI-1=i!x!q9YfK|G*yF6<7z!9x-HS;Ze?hC@AgU|fw93A>gXrDU~u*@+U zBj*kszM;n)uQ6=aaY^iGE&85qM*ab{*mBr!wOr$q&|Ir?Oe9uTpD|ELH=e1fyFFQHo~^2O?m5c2!#>w~_5xd%DqayD30s^Gr7j!s(Yl@;Kj5^(?( zGUnDp2$ktW9t$SAI|%y0z!j#Wji3_FY~}A}{N7YM_1R7y`E5b({g%v&MAX-dXs{UU z4#D}6d%So^kE?v;tyN=5QgB}DNKKEyG$W#DJ|1r5DGT1iRM2$;>ol{7NW66|4Ra^m zucvr`RYkcuYKKNo&mA6hsV0&z^~sH}Zp)Q5-yti9HVI$_9WBZrZ@hUi?(=rU^wwPy z+0ejN-8jV5y%CKyW=lGA)Xgvqxj54to|JdAx1=Z4()EaHymYD11rs(D!KT*;BqMwXjIJo?#i+nukrqY3SG!4s73F9L^mM zMnSseyMCk~OA<#UvE3CM90wVuZxy*7_fdZ|jpV(7dXl6W8(H93LX3(w^j&_9EmDiJSD@;3NvDqwOpgrK1SfQ-Qhkyx zlHaa#2UNpE=kc6XR<^63DcqUsHCTz09Do+`6o)X7I+ z*mw7x&cvM9=!9*@3uKLsaW(~Abh(Xr$GA8o36!)}%?3%(R`Fz?9-k;+xdc_$JYs`t zTDweDfZ0P1wtHn&?g)My&+~mIhCS3l$3+m;bC66sxrxsd`f!4W>8vgDnY339v!$nl zZ{HjjkE7-PSqi?PwimX6$E0m$o9<##=LMssg=v-8D|h(jj@$QkyJ3Jojs=igHE1Dl-20jD z47i=UlpUiS`MX?})|uSKQ&2v7eFL?}+{EgG3v4Iuxbm_noQN2MT4v<106SoraJd=; zL1qv81eJphL~A4Pu=a5kysY56jDYFmYTf0IW6-}CHO!K-@{5_1374(6StTefc7%rA z)=Ocuz~MOQ^d}pR@gdNlxwz!`x}xpjn45zKKAU?PH{ntdVRmzAoU>*hhl9;qZ0_PsM=@d+I zJyA~-&092-vQGZF0h*_Rz(6wU-FWCQ|jL=UBQsHQS& zTIN08t@BmY$&M5Y)7n^5Q~~c%FE`Mh9r;v(WGLmLYc%y4{K!kYOvLJoL$cr;9>)rz zvA|ykopU`u9iY@0Dg1PalLc=Uj98<=?2g`a< zmU6P6f#1KeLI?DiAcP6d9dyfCYZQlXAO^S&d|Su}`2JuDF|bs7aB3ilKl5YWpkXlu zi{?Gto1S-yl**t!VsecJQyy)=@<%bgbr_zX(-4uOPc_&Du+FDtjjp#M9^;OQW zePmE$3pD8SG_NDYs=frd&}zpUC+bEyZSi}{%g!eAo;&)KkIq1f_o;vv`JNY%ILg4` zSL-Z@3mR{%z@b-gT}o7JxAv+2nL;G>vp%Ns5|XVdC*>MGua~hQ*lK}xlwONwaDuEt zUP5i~1o|q|Fgw(z@o{zH0*)S<)HT|;P^vlj#@P)97BG|(CC^&;3y*@ z1P7sohK7TxXN~+!V$g$wglJLYiyHoMb_P?nq6{&`11Dh&b*3;+oH#^dQ)Lz+GDN{W zA6GIG@&@0>r$bW3rYb8MG2@ZInJBur2Yq}b!sB2MPIv@BWb{4QW!_pS(&P*~IHPM` z5j+;B!BfJ3>h#zS|7T!4UUa#6{V4zu^3S>XO!WmzaT|;Y9_8{Iz@q?}h2Df_U7qm- z+xW}+Tp=|6vW9=ri=H6hi5Yle2A-IKCuZP@8F*p_o^cE84VlG%1f^u9;Iozs1J0i~a@uvaav*!A($y)zY`EwKPb ze|#ACqfzRQenPnR8Kc#2e^9vZcI5Vb7l`p=fZL#|KBn2NE&7!=FP#D1_YoM5pYhz7 zfitfl$XC$VmtiM__HCV9T0W+aTQKj(_CdXZ0*LsnK5lFI*gkFpfB(6?+}`#v{X7=d zd}FT9OL+qiedEW||IZfyUwz{5%q{lb39$b+?zw^3zi|KUH=ORdTC)ot`aXa|pQq>+ zMEbUMx_Rr(n=Vl4`*51Lb=TEzw;twGZ@c2z6O8)SeUE13n>XD~;~8Up-xCn)TiEQ+ z0A>wtj5EYKc>-en1jPC;31ZFmi&cDFk!yBt^Bi8T$?Os@7!DM9V$KNg-ypJ`TB9omZU7}2V1TS9q=;IBl9MGiC`CY%OdH`*J z>lIvQudbiHPmgYdqnjf*^bTEzKY2dsnxW8y@{e6a-P9Whk+EoZm#}D#mgr$c0_N-n z4H`ARpm}$SPs!kB=8X=CehL`?hFYT=AQ7BzHyQwuw+|7>PFvE|#@4R9pt{j*x2QK< z1k?U1@8Efd)bfQEwTD=mRKseBXoSL33=VkO?I0M7Q*^&vLQE_LEQfXIW#c&q5OT)M zd*??6NY8!>(V8ShkAA}?^&un+Kr15)GPaI+zLAD~E#=xA2W&5k6GPGgVnt+$sL}4! zcI->LWJ?j&`r`N^$I|*}h#Y?I?Cun>&1*N2?rT zFlGtN0FaCH%nU$b%00D_vM zd(154X|LDcdu5*|R60N5Vf`_nI%>P5O|Cgp2qEW*Tj*x6Nd{$O_KEJY*rJM7Gccnu z2hTnPh@YCYS~T(M5;8cX!ysyM4PWNdN+0g8SiQehFFS>X2*4OHC=592kv@b=@&meq zr@C;Sj-J@6&rv9Ej8I@Jz-ueEN)sZWAwp`z^&E~Skxo5@kkbX)S_6ZEH~46U$oj^< z>dMFpSX@5FC_X7rPK1C12cU)H{>DZc`^TM6bpd$C8`8~z&X0U^G?^OI^wB{&{&}=d zHxO(%aR&o134loZr_hPJzcJFeL)f=4Tml;n@V1A3z5ra?6!s>aH|X@n&h5k~?3fnf zf#7xS8tVA;SOBPa%wwH9Tpg#anoLQz2kEOad0d26@RCMNC#7CNV_qHfv6 zMpvS^?MVGaj8Dl;n8egxwie>r+{L5SB@bx8Zt;1vSxaREk_aSYIUbP$0K~$wp;*+- zr{wVvU>oj;#4;0t?|)@5UBKgoE#2Eq3oC01 z>;i42;#uDI9mAa!Lp+y{35joyqRjXi=5I{9^c;C>XAHz9;$cD3BLxc})*Ejrb1>`j z=E^XWO=c_`p4(i~$LON=qq4**A&w`d-qi z=_pgF0$>S$8Z7`U=A{YOxf<;%p<{A2* zB+^IN0#19A9<{jINj5ovK+hfKWmTBRa;*jId@OVQbSLb>e5O>sqVP!W=LaH46lWJ7 z&5Ry9u};TSdN4xOl>yr)ShKVgI(e``0C{olPz^;6gPf>R1Z6<9iHIrZdAV~9a#M~l zdW)L-cDmXw5^aX>?R3aQ7%?TcVG|;*TB3Fhw+SO+Pn6XKY&ITN%Y2QkP>YzryH{(% z;&rJv@qrQ2c9L~?N$+fGjHP!2qaLUG!(!3N(|udnq2dA*iq}d`t=WYjA=sHhygtej zgVfm|t_QPbvdg!?HglwpS!&}?%*Fx))eVp}2^_HjG~GeBiflfUH(p9bx$d@oszUt> z-q>7v-g>QWaL?CLYMhl8B;f`+*-OH}o#^stD9Ugm1%1U>2Dmn}8UXRE1p+BZtZX?I zpLDeP5UWaH5?6~d8%){$%1R{&Va}1bU5q(xCvH;Ko3kh@^Ykk4h9iMUh($k~LR@qQ zK>2=w#AI0ub9ahlHbI)_Y343JHRk6*e>{Z@+&u`*l zc<3vVT+KCOGStF>KXU-5F`o5VLne%UI%@#6i7rVDU?H?$cQ3#Iy(I@OX%1v##~;^? zjjiWYOKIadZ7000;fOFyi{&8h&22yFTOsY2K7wQy9GmDd|79@&`C zr5TR$_Vc1>{gu{d2>iUtdr(=9N39eEejy)waaC*}Da+d(Eo;>l+ziyiGS(d(uvYXw z2sgB+DW*qNDP?arp$>8$tNY2Au5~IscQ}~rfMxn-XA_PGzSne(fageWN%11&IQg>N zk_&vu?hEhW>a!_cySgrw_=rqH4Bv$%s7B^oj72SMFF>hfM(8>MnMKFUm2;=x%Dz+B z7Cm+eH0#k0(}?1#oh6Ie(%K08c%IFy#pd8s2G=*clDpW^23}a}Io4bbslwzZOMMxS z>A9MRr9?w720k_SN~IT^rw^o=mAd?Pv<={R>qGhH)S2zpcgkfFIc1gMH z0lrT+S7Q{?S}z#I0X3S-V`d>}hFcB~Z7}B=W1ebXza6O+8dY1Te=PPC@)>WvE+TDHAps zP+KKv>k$CTB(}^e7ZZeT4hcqSYxk-VZ%UwObuZGUEi7w^CA$sXiFbY392BOMiw81u zmV(u4ZiF8K(HPGGcqUL7RhG$$dQhHX$oaQq9~Jn9$t(i!g%&IiB; z$w(ziKi(H3#&j$Wqi{jb#)1Utyc@i40{ry6C_|IwXD-N1wwOWUaYx^YLV;`ChG1=yehmbqKjq?X~nvybyLl_K>gE|wG45<)(qr^*}4@x z`o73Ds|Tl-h%V&3&ova4XC=MG7KT>Z`;8mBLx5?|n2_}y!GhE&j34&u{4$4oFs(X5 zJY-a6*=PL)x>aj{P7W$nsbhwS zPdR*6PyjrqGhtAG+#v4WTI-+>ofl>2pc?}{URoSF3}{px03H^CWA0G6*clB_Fe!2d zKw)ru=TR5oPRRJWdGXv~4|;~%t*ERP5v2!HK+_2r-DiW27@6{2L1hP zZlOiI1KiwBq|;TOO1oJ)dq1gi+Zhtd15F#Hv4m%$}8)OzF5fKeAw8@&<5p z7?SB@%M9t*Gjwr9{4$;_ z_U8`SoERCqb{A4IfrwF0b9}+Pm2k2SaseP~;qK@&HKZKm7KpNLT_pH4bn~>Nny0U3xElh^A$ymTw>DJh9QZPqd8`EhqhMf38#I38nLAb@(o^=v1bYm-= zO{RuOG7;1mh>{t^7u$$Gn$$~OfU%~a~7Yc8n_s= z3Zta_piFz4eRUw1T`<`-yKNR80`_93v;<}bzD1#iG;CePTofUyy{uhtA*=p!_# zVnn1#-f2b9<@AYVk28T~@>XYxRVx@y z&>aNen!(bbGXTh}&*&H5R{$k4EU!B&n0QKeR~))E!zi_8(-9O|f%NCu9A}b5DriNm zeXDG!Kw`n$%ip$o+YO~g2kmJ>GeMkW;&#raol!`MEcN5+X zeb|7tORNDnj72!ZH$#gmdXShQC;}qo`EX3ACeK;g1=@O3!@o7bSAS&+T?lKjQr#_Zudf*+$oBUD3U)8*5$B^yh0IFNTTfnFGUi_XkZ+jh--ER2!C4$9Op$Z%dkvX>2r zUthpd%ukL@)SJ~%spcr;$5zLpYJ=B|lqhmOReCTB+{Rg45P;Z1V0Wy>tttQ_4m^1` zs|&ui27K#U%BWWCJr;!kjCOrI3z&qiWlzKU9hsR^+&Y$cb-)|7e&_}}8ox;FL${+G z2R&~i7bF4MiPoG5q>UEqsn8L!S!cQ4TbJCL^FH3KO|znVAg&hyl>1ogMv(V$$yV6j zMPgfGUlFxMr`NNV3(!H7VYjh-C5y8OR-AIHMBKMbP%;b4*tmJo_4klYXhDf4yUhhF z+oZ}&brR0SkP8SL1LUM09{ZCr6c?Jjo*mE*r?<|kJdFFsrsJEzd_qv79Ia7NFbiBX z*>$|x+3bE8R5ou|>)$o-$FGY{JEu ztO!%DTidexy;(?6t)eY+*N}*r$Lvc-(hZq+=Col?&*fPt6O!3j4M;oDSc~Se6XO= z96&87JO-Rv6TZc~%m!oFBr;y-t-~;yMSiE{yw!Y!^dKK#D&-0aRW%4L=oxlL;yV5D zie$T{dzIjZMca{JAu5#kN&zRTnf9I>lybt>a>rfwM*+Fo#I@BisCrA)T2CJ!GDyO{ zM*)9jv&{^0`i1?Rt_^;AUKC09&_!?@iHaL!s#J^7G(nfWeCuzQORSyqa*%;1og7!x zVY@X#rJ*(}R}$=c1xeFuXJOey&3b~h-R{mE?kRcGbQfKL_o%=!8dKO}x|T zsfaZO8Q6w|ZJ|3hcPVQD$`tUce>|beS005@a1e9aRLXqUAh!77kPelLCDqF!H={P) zI8}~lyxv9#m;ifE_7ZJ}u&`6Qp~`Hdp>7}bKJbYs5WHrVka<5?H&&8Dft_)e_7@EA zUp$<1S-_I;XhOb(aO9lAoKm#ChtgxUso(|6ccVm3*~E3QIc|F$Wp65Z4!STAfM(Fc z(P7nEx_t>ONrYWz1a-Bsc|b$z<^%G z(|(RECs|jX6y18y3bU+}QIr4?j;OokSKzvzmneW0>QmzV*a%#c~R6$DNfji)YmVUsl;@BNIY@+ei!8P+m)QhC_bO6^B7yO@t72J?{K7EJe=csp3rF3KzbfOYb=RvMoxkY3roXB zr2~6@Qys++vZqH$jxGUvy#o*U3`+3qk`{t8Bd;gx#K@ZxTj`?PH1IOY?QXu|!q$vq zmJ1_7g5=Cn*41dfG{G6sj`^Y0^IW`_LxrLdz0#<)1WxF(8YyBpI8^gu-d3zvT@u^~ zj%<|Cu$x=C(W!kOHwpzSmt=4|qKjdRdecfO4fn{H5g-so8!^a}>3q^> zvHm;{j`{k$m$RWa*vDgm@B&p&!DzN@x$u&G17?)j8K4#2)j^U#4ntPX_H5Er#{sn% zQORT*S%-Ky+xhcBuyev~?~t@kpDX)brsej=&|OmT zdq;s5CxW)YinPrKy&dEs)Pl=1BQ-n97)M>SFS6do9J;eNq>SE?mkwWIZ zz|6b6)7uZJm4T1wq;AA&3PHaXbjYzViNIXXVh8VmdPBKsUUtoHPh%mlYiW^v?r;{V zAgj~VjO5iu>YBSbR5B!F&|jq-&%koZjdeXzl95aId)sv&buD3C)+diaUWn^KM}hiC zb`hBP=wg7IQUubG#aV=q(j_Lw9Wa_>X}=px<93_t>rEf(4^VmTr>v=(^TdV~5;~nq z**5le%2*_Xy&&H*Uuu^lplwFQu;|Wux|^h82>PB;=crkPK{G=Veh4Mr`puMDp$n*L zHITMT>gcD5j}QB*RUT&kmNzJu?fW6lUjl`e-m(~aJb(`>A#fcJLHI<`MoaBUq|4*M zFrY0dwzr`NX+hNzvO>YZ5!;{|aZCo0s9d1uM>}05^x$#?Od?J4wlgW%V|C-zoTa0L zrpLxU-`(J>xrHP1oxr&|y(M=iDoQ|jfeBaxZ z)6t3+RE3NIJM=@6p(?sZrSkB>rZe!kxJjmo=9_jjF)7$EKhs(?k!JvaF zY}x+B%@QZ)iS09iJ=~F+Y0Wit2L9sQ8>5hSi#TvzNbqvhs>^Hx z2|KwtiHJR^x!{Gk>}APQI@keHaQ9Fp(Lta(ifY(lw+l{PQW$oja9$rNh1l4Zqg0ON zK-AiOEU9QUi$|v5fhCUHyTQ(deSYrHtEh^Dv~j4U$%hC&L{~-E=uXD0p_{g?U;|%b z=Bvnvpupn*b2rAG^fJ}luWYeU*=bGH6(d)5$$I2Pz`9V9Mw#%^aR#B3AsyDKCOa57bwe#q=+Qo>AW;TDD>p|#1RZ7&#fNw=cU6#7wLlm zwdVa&<^Q}tp{UrcvCn_nAl-LDT`0k@Ja@?GJ!R~J_g@uyu^ZGT4nZZsk1R{JwW4ni zC~OfsR^MP!ES`@1Xj+d3i$y?rqm_g07o<%p+p>Yo^!O^#@&NIKnK_%Pn}7-?`vJM! zHbYv3%tG5yQf_5P)}~LElQ|u@y+OT(^kJe0KEwg!YeAWVAq#f+s2GgK^NTfl(7T(W zD*HI9l0M z827Id+(0j!I!;zmrOyJWK?OZpsVLC+#%0Ouf!n>_82{4fsN#FiHu5Z4AO8 zJa`}&0GD9+FhX)=bg=?>g6)xW3_P2i&GaaQI5$z4WhJ4tRWn_53T41T_egiPO>6gA zot0b;QtpT6Hd0#|EeRgeZnqq<)62PRs#EaSgI0uhdQdVAPH72h2hTTr4p|IzMn{>)GUDS!a zIW+~Nf-|H}>(s4LfqS)c@ZzRs-N`DZ%xa@?GhsH*pa7Q*B|28vvAe_$$!0JR74717 zo(SeZitEua8m7!-=CV-U(VDJngIbN2`7+V_hjNDuHj*FEd(dqZ96&~g##(oqD6}=K zn$KF;%pM-emq)hd;E$8dCFNpJLM$(rkO~bplMeO2f_+@e!@fcKVUUkd4br%KDCoc< zs(=iAobOj#@6T@Z=XG-X^>c@hH`48mKAYfVhSo8 zC({X357~p3q#~e*p~Km^L!Z+@SYc3Wc7qDxe6ooqb<@i-(6IWj9kQf`!i~KGD*bQ; zl<_{geMSvph*uj80hsxUw&&eVc_30rzsSS=%!Z1Lir`Q}FGR;YNA%6YHtp1oi9Hv$ z$3_F4UUv~Q$8{^`2VfTuu&gvnV{J`GrCCE2BH0^GXZwq3W-A#s-*+@j!odU}{aGH& z7rf?LR#FbaP$e=UrZHm7tiT|^hEjUVDGYU`#yRYi<_L8;JA!{X0;v2j9$*C2CyjW+ zppFpAnt*1+Z{5fjB1+pqaCp+&QSPdQ!hxcu7d@y+R?gYj$K1l1NNqdeN-B~C`jY+H zUk#@R6Nx0&?`dYZnrnLyK#Y>ENl#${BH9V%RsdPL?fMwDj5$4zEdmO`k|8)u*zCCQ z7R$<`x1oCpWnxVnMWGQcTm3kh(W8+=S%TkZkK6e^Y4pcfdyn^ZQ?8*>K$7|w{qS&t zy7ZP)DeXN<`66qVbP4<_i~F zkD#Eu)Iqd_Xj?&@ym7a`8ut}f$yQ+Z9&^3j59FRY&yU@8Wx3%5Qx=v}DF%JCv4NfH zWK1{Iv31v7@iK>@L=|mJacVFVS?5$*b>5MR@mLih64l+*706kKEfrW-fn8tZDxnV9nr_pU}71nf#a$vFP1qDCU*7h55{ru?;@C8e0}SRJM0$_XHeM z?9*vdRsN&y%Z?1xthuPfCLotrhMm_Fi5-{-4tC;}E(N@WqQ6$D&5L0+-{??QEQJ*Z zXGM(D<24A?YHhh{)U(9tD%$EDw`-3t$0z}I64c!0lRaK(eyzHOhNSsq(QTplZM<{jRCu7wm#-U)1S_-!XE>Wb|Ao5 zZSHkZsA$@;>m+23E1iJaWsAAJcKU_1K{^|&4;5&;bSKy{5RNX2DC?r@6YKyizI_zl zs6Ys_j>~9W`t@m0!>kbmM>s(6@d_+L@3t>2R0BGmR_W8WKdm_zF&i5tuKtblhQa^WxOyr8A=_4OKTQ&FN<=3TCzch z!HOCR(xlz6Fra*-I@7U!Hmin{tscZ+on}tnMR%4pqr64C?W^->2M&LDUjY>3RQ#ae z!LJf$XA0>`cH7Ms>5ZdMbHegq22fqTH*oe9K|*+Igp`hopitBf=9R$#6VkhUAxcu} zkW+oeLK&|mUzGNxLs+qxvl==c`}l$q#6vKVnZhK+QE9~mITEoo9CLjV>g2Qn(?SrS zDf3|L?!7lbrZa5(iTxXL5KhYp2 zh=+$f8$~+!bu3mvl^IMMp4W-6TRBii7ebGn(M5xe`f(n0@I}y>DiB_D2Gu^XOQ>`) zs#<+KXqa^?Z#~4IG!nem_+-h&`xVsl-{%mKH7A8E0O)Fy8>XaRogd-VbJ`-C0(TkDg)LIXlrFXHUG`a7X zmFd`&GPdSew%_n8SaQ5D$d(Sa_`aTQ6w1g~TPR&fIP3wlEO)<|dt=8f4T@bj9eoh! zOR&o?hZL0aZVm&$dI;clL!f@G7Zz@Vo8&yIm+7(Dm>K6LaUUPYQGqjN+cZ&wKqMOc z(gR3cuvW4?=xzF)_4)!%UV_{+U_<4cgIMTcd2+M?2uX&brIZ4h5Wp+70F{Th;py%* z?*wRDBmE@;XDtFc1MQ$)Fnl5Ip!#&;u;?k0w8OwiX;Kj4qN>fMLKH!v>x_vXmiCm=imkWrwfM>`kc+Eocq%Sq)L043 z%1;*Za4OBf^cilc)z?jjqwvyEMM zo1O4=q~>+c6av^&m!r)fCYO^j_*P3q9PS`UM1hak-0ik(-ozY^SghVR#}y>4M$1g;B3Y-j!3=?*&n;L5QMTvS7JS2>qD2ehY7NSm$NqYeiN@jeu=R z;S^oxk6ozw=gsVJIzP^Kp*R9;zh$xvU?MNVVVgP3luHQf2q{*njqlrnnM?#y2560T ztk=>|gCd`#Yzzx)zR3rXr6KS(3u2j2u4wxb5)*i+s)M*0U)(I~$)dlk%5;C^Gzqss zA@8UGx)8Y>$&Jx2*=QYFg$#^-dHD~dw4PrW zbX#KfjTF|uKo0b0{1&YngkDm;&n0{Q?ELA+d7IV^IkN3lbDok%-*;<%Pg%Qg?bh3(uKMhJW_{jv->39>TfL*t zF#Gr`A6pXXLJUb#M3;n;NaW=KyBrQ>->4pkb-P4wAbchIDfitX<}`1QEtYiEE%BLk zd#lLO?Q3yLJb!diryE!Qm$6y~FGWfB02_LIrn!0f^5(P~!=E1b=A~Ek(l{+3E#141 z{7Urke!ewRx7{TMdw5}5dsX7<%*MA}9rb$Z<%MAP?X_X|MWaEF!Fh)HGUChe+XuO= z-PI_MKQ)(M|8h!C-Fp1U<@F|W z2^E64^a`}!Gy2{N^dnR}zv1&m97&>AFF+<}o@KC`^{Pgvmw8^^f$U6|p|^tk&eQus zUxZUMbL(x$*Z<@7Kf3n0=W0dQ*57aqKG)xU?VGPX^XX52*5^FydCz?2^Sad^pvMP_32M}@-s=ec-NEf{Of-ee+sSj|wmS2XFe8xBSCjc-J31_~sw~#ov7Y$1K18*6;lOpZK@G^?^TOhxX?1x(9yX zU;Wa5_%9#7>)Ml^1k~Pnrs-)Eehw@A4D+t)t#&hwae z-FfZWE3bXj!r%PH&dVw1Q{Nc6D>yGz+o}~QnOJCRi((B&; zdk_6C_c^~T{6h1VpNhZoJzx1tckoaDkFWpy2fple-}C;_y+8cm8(;S)-$1_ott=cYfzL ze$D@W$BTdLMbCNK2YzJ#@OQNOlRxKk-v09VS?`#tuYKTef8?#d_Q$jL%g?;`rO$lB zkG<;`KK8VSn!Eqn$L{;~fB4RKOMm===ly~8?x^|Ae;)mxU-WC=?mzvJJD)T7+NY!+ zY`^~6d;Nd>mRJ1HnD`=d^Wbk{+Rwf9XWsLc&;Pml4gcgff8g-8UrwI+?CgggAe46s z?;I}s-*un%8srDw{)spL-LHS%Z@=%Mul>T`f5F%O-A}&j)en95>)v<$+9zK5(DQ!g zo&W56U-9gRpYzK9*8TAhe%W_?-M2pZn*7xNoBwTmbngS?^=l;d@T;$18(zP5&jSy? zuee&*a`uIIR{M`FTU%q<8d+(pV?L+A!1N5N>PUFAzZ4W)~ zH$E{sj$Zr555MLQ%s{jdD5|NZWtdfxU;_mB2>e-!;Izj*!H*S_|TzZ3>XFN6Pcpd4ub zBB1@vS3NnmdU7w1aqj8WxA%lR`({r+bfc#?-t6f-3$K2}b1#IT5B}TW4N>AVPz?rOve)0!_A>M!e+6R>9|Gj^FnbPk?UvS@fd1fDc$p>Hj z$lr&n#mi27^VnurGk-N-zxv39BYySzwVTwO#>5^yCi}qEVt*$*0jZj5&yjEA1byG+?@KXBjkKQzCh>Sn7~ zotN@=U;Xg!oHr4y(x)AA_{qzV=WUce^!h9Ezx|One~rcRAG&sU32e&WI*NboC;$F0 zzxiX>w?6Rn``Ksz)L;MbzkAikzFB+O$Nm$n+xw>Ce|_I?{LQcb)_?PR|Nf32`OjZ+ z?-#uOtpWSrgeQOVkN?_>KK>NA|Nr@e2jB4>@{e>s@?-CRyA8om`A<=GGyS2}cWmDB z`SEWLw}0nlFZ}B7eEByXzUkfXeZyVv`y~FKf9p?wQeBIrLUm-v8Z0mbI?`i)f z1o^{XzlQ(l)pARZtbXq!KYd=c*Szi%|L$*o|Hq&IFTdzbzkmNLzjytepZG`K8{hq> zAD{lc?U#8!^Vk092cGusFaE6${rKBE4}bTs4_^4fw|w7A{!n=HFJ8Y!aeo40=w-m@ zFL>I=f9TA((CgPc^05=6BFcCC&d+?A|6b<@KmKm<8xF5|{kvYbzx%uI`si;Z+L$@y6djj&%f@c(>H(r&%^eB zoreGD*Io9+ZC$_m#h?GP@Ay#fMNhMS` zKYr`Xkl7%{V%@kpML+p{wIU#_rLxP z|Ni5nXQu!3-@lW2w)~S{B-a1>8RV~i&0qaJ?v3>w@A;A6_|uoY3nt@jAASC6!`(2#Q6gj&!6n2(uA^4M9Q>P(Zr7r=o;(xWR}~(xYLpvGIFj;`8Wpdw-7K z_j?@QwKMgB}y~xolmr;l#M87QMMB_mJ|_s^~vbEOVFrn0*Dp8+K~n5 z$6G+nOTkrN&Eh+KBc5xMYpm$v7rk&Ce3yHYWa!Re0UNM-CV?;pNtIK6in8@h?4C!l zl(?uo*HYv;dS0Os7+s8qov>;o&80a;+>~iST0yb zb!ReWp-uEsO~;}zsFKrEMb4t^lYMW&ZlCB6LdrLm$%456g4Tc!GyV=?z&Acww{}f0 zWm%!}isT<>yEeG?A~6c?y!$SOc>SV}-O~psWS<)NRXU1@SgfC2Mq7_v6wbnBVmeRRa1_5^_4d(NU~U~u zRLnWH=TxndOez<00DL_Ykgfr8Y40{=_+}WoO?}ZbCnh8GEOiWCGP>Y;MIFj1DqT)w zr`nP1I^pc>jAvS%9O5t{?#Ml)f+fw_=UHvFvK2haJk7dWeTOw^{dd_^K{yXy+i8$tTC6uJ6}nMJ1L^lLw4+goAVW_lIWvKL=-jTFLFwQsA;ZbYuWN z2IyE5pkq;Abqu!tU7{I`Ifu%2@8t66y>4C<-?kngaB4g!G&UA`B;xjhfzSIU3reb- z>^Y6ZNvFxEjf zF6-I7_(iyI3C+~}at>E@%z<(7))h%gnW8tDt`ihI;j%aTo+XIi+ly}51l@H7VnqRM zmljpcH@9=`tEma8C0LaAX1=$fD5@Tp_X`WmDR96ZqS0=kJ&|rpCFl|lvH7++bdz)SOj+Qss<-Mt?bNMezW$ z|FI8EUCvZQ1yZzc8X%5b#i+F=?XhRdCd7g_39s-tm^=eC3BmFQj(B0)yRm{EgUZaIR2v5hAH5K7UIQ)m#(bZ zV~t`b$VV4G;}-v^cHgZW=lJ%zK5b~=6;_;(a~->#zdau$E)x$G-xG+MUSOh zq3=Q70awRsTt#PDu^s7ES%+3SEnTnnC!Za=N*&@x<-yE{pLxlNJZ7x6&(kemDjiAu zs1HaPXmXP<)3@01;Lg|BkwxRiiI*!R*faXR4EE_JV8){3)-f6q9ayegDH_ApW6BsK zryR?OUJVS_3EfSQd&)_7=bZOjI(^W`D7rWM-s*!b@&&Ll7TWLb`0eZO?wCope!0ib zCR5MqL=MLhL$-XY3kBu3O3~rMM=Vin{<^h>Lac_SJ4vf$?;hSBBfI0Q&od*0KAbCc zHd)TP1!m9z!heM0#&?QanUg-xmypt3-%?!>n|q=?8Z?ZVF zOC}br2k(4ZKPWtcwU_DmxMev!8*jdeW2^D9UmM>+dKEP;Hxy*4RUX}F%#=pBb`@^U z0^|*JvxV}(#TSJv4^_X)*=6g|&d$0AQqQG$^8g z0?Gw`^5aj)=J#81!s;H;v@Ql1W@gKYouHC=X6_7gzO+#1eAS16;-Y%DV{)CV%e)S!V4U+pSu88(W}~{zAhVsDd{f=fBDg?X5xD{+P24M%`P zD?nl&a-kZ)!EY77!Q@L-edgx3$Cy4pw#8}du}Pqg|4ezB^rfpgUnRWNhuL@{iZlaM zu>cgc#1t~X82p7XAle@k0mkL9IioKcK$htTprOHY+F!e4_F1h0KEaybOK+(a&)UH9CTO5!?h7K` z-`Y{Z1PnRwENcsW)dd951N_$>9D|Mcd~3%3?$5P*f|uEn^O-I4^e4+yed~bc_GV-w zKbL%aKWu`czbHO*M4TAFh8IXNDi9dbqq~aeEK-D&Sr+ zyzS?CZkop2qU}oxt$C3S^#Xv-9`I16S(_l|y7d)c_$U0r zs}*aRS18fOB=HBmry>;e1(r1CbqQ$0)(r5Wp!%{bdlYB~90VG9@sXx!Bd8_T5hLPT z;g~E_TFxKQbnatgU`W|W9p}KPXX=MbLx57;ow9si-?uOVcf6^1)$-^(!4GjBP^BCc z4-pvdx(iezVOPEDK60nEA7f)%Cb*ToxjhG|dbf8sdhct&aTGYy_i|iXq=}ao1LUR% zgH6#Oh})b(QE+tyC`&rTh$bkL0s$V!R6N)YeXDjPDHE~PJJpiioh3de8G)M=@9(}v zM?~BSar;Yfm3C6dM~ocQuUU~dYFqHW&-DSHXDB>C3szHznE*Amh-?znxS z4HWcFt9^-l)ciHQ9bNB zm=_K%iGAucXZy1-2l`gn$&c1{@W1S|mtAA&tIe%6&^+bCW??2aH_ zkKefKSr>Hr$mI|T*3&Ym3V72!ZgIM2=T6p}&|wYd29qM{wCZJJ6?hK?WubOXm`m%K zibPlg&HYOn|w;_dpmdJ@C3dUXHI;P17s7Y4c_UK zJmoN;1#RK~kMS^@jPe6q6D!aWJsO^Y__ajxdXt9jCa6U?rw@q8-NufjBas`!A4pA( zqzAwk9niK-(2YS@-(wgK_~;G$(W%P0Uy6$w*?FAQNfsmD&)x;D0x!^#mZCxdzxv$3 ztSopFlv|1=oEKYvA5M(I5_bY$B%u@hKEB=rl>vIt8%$nCZsWFu{EotQZP~L4(yGC0 zuOSJ0N{^EPfAXFO-*R13dmGl0+jY}4fT%}B9=);&a*!c*kTUK71Et3{K_widX`qPw zp@n-$d9c}b;2Yq{5KWR4Q$H9OMxHn~SVIIlun&fn3lITsZ#rQ0+q>m0@B?Sf)ofZ) zeG0kH5uc;*6Wwi6<5}(kyKaI2YkVnmk7-VO11PX=jqw$3f_|sM6UZVb@a!4z>Ike# z4AcExb*Hyc{h_)578m~^7G%_RETHD!kzdOB4=ez<0LVrGFwU#|6EFgaM%%#1+78BN zkMND|me2sP{~CPE? zHSiaI_cIu3e`^?te!m4HejC{>1^y;901UP7U~K%oWdwf*;{;$CKY;<;PWLCFkz{zj zScdu^TL$OMR3_|IY0tXPbMf#Dv*7U^NhBgB*q zGZMY=0hl*zn29(p&JXzh?XkjadmPD8`$Bcg$iaY-e`6=}zj_k+f9MHf8|j~Wg8cte zPt>=|=ck^;kbj5C&pjFcqfm>$kiNpb<==C*Ve)r9F&*H+#;@J`+bGxphAwY{h+&^& zxaKNS8wgmEp99v)7@%3-!Tw3r$T5i7_yyQ9zmF%(?@y4|_|f()Tl7f#;sTi-_MI#BE{Q<9n6BkM;)v0rz{)TIWpdeTxXPWc7Fsg|9BM zsuGO+lLY0J9~$U7{s@pI#t%f|{NjQ9!4}9L*htgO|HDhlef5&(R_DopD}MJkNlN(k z)|(X(V59~heE^)K)bE|-D9nTGNWP!r$TZjb_sK)I@AcZrem%?Z(UCxdr1DyX<2!A) zEXRwJC0({9M?%qbu7;>q#1604UxGu|IFk3&Q_De~jDXEYG6&t+E7#?|{P*rm#ZOJ$ zC*7<3_7p58kiEZL)y5OvcT}9j7R+GZRbynNHmSBx!3`F>o-#LExe3}H1imA1g|^L!V!yZ_D{JRUB;1zIqqY;&D-jQ6xrl zV$phz((gpfv)pnhr&zKVa49c^dOzoZe~@}`o2scdV;rhO4Kj>H7+kF1G&>zSQ|xNh zG2>_$W)u`MtrDQD5SZ)-ZT)S=b8-X1%=i5Ir z;qtuuQQtW0+3KU~Y_UQD*NO=mS#NO48K)SzmW5h=tGcSUtatAde~hd7C!O}F@Rp3+ z^`gH;^iY|$O(a*{DRW8DmbJVSlN&bkfJ~GBtbU{8G8-)kb6!Z^^!{no{^j z-OcN5cOF2apBU%6-wQED)r+*h`jn_L7^T;SK_54}2&uVaUOD4GF=0hYu+BAR{WWjo zq#c#^4e&72@RlKIZ~T3(5jpC5E0~``u4`sS>{?!~0;9 zK{9>=$o@Gp>*GIV{?fvvL!1p_?oJR}_KrhJ{Am-M!vfk(&WE=@(d3>QsNL)O z&^uVo({1RURWctZ7-R{yDf zd(KUi&O@u8v2gJ9m(B@y8*4bnJK`6^GADAnP26ZZ^H9b14hSz%fl1HMufrx^i>M!x z7+QFK@M5hH5m4(tjpl8%Gv4*f`NyEX5Fh{a&g!>v5_1RSJr5f=sug2R*7rxMyLywG zn+XC|q|GtI^jF$Cw_bGvA_n!#-%^CE1I!og;hdi7cQ#@ z7;x2yW5g5vS6(qkx>_AaiKW=Oa9a&(xcRt06OEOY8Nrr+DZ>BT%9w!>ks<1M8v|?` zcrN@;neR60Fba_{3R9ODXP%PY*~i|G)eJ$^HEWbCyPMuLdU7%MnYgQDRDf`QVbt8t z-^UB}Th?@&pd&KF>)!bFFo65|pJbtQGB59#ucQSUj>&qzl}1j|5UXC`d;jv%UA8L; zw5w0mZ!eSsihFBHCBH5j8p8lxq;Yn3m5FF6t=T!6LdfR za|-tNkwc~=!Q!v?&xDU;^>VF7I&iGx9sB$&ff@8ympx>Tq+w7Rr3#n^xJgTjskYl# z{I3;_mnZmoz%cwcf1k=E@xz~`mx1=ABX$0y<9dqbNFR}P2*_mSm_S)t}HgL2=-G`8nvs<#|>_a69C zhsN8wUQ8ZUT zUM%v%X%r)WKWOlbCvY&x^X#FTlX^^!^IOLDN9xYqTP{+v%O9(etG0HHx@01>zgL4R zfSupIiUm_ei#=tvWWDraH(s`~RKfKg-+blBuhRx#c`%9#rmJK`peZ5$aY%LUGU~L0 za-1ne;rcv`p3V;%^G;HZ%Q81=+}Bbx4LqwP1wN8!snt^z>FuD@pTW87LhkQ^+CIo| zw`>snxZ}CO{p%T+8sgF>=nqn2_4~DacE4gEsmbXh+@!kaG&SKZ4*xX7}|5gzs-;@Zh~GpIWIhS z_i=iR!!GF+{h=bRi1jMTkUs&#yuiRz2dSVFHmk$4HO%AX_{&)KSL?8q+jn3D^K}#A7G#M!CdD5iNi8l#r|+u zNc&|hF66C^8dWBHbL9^a_N8eWexVH zz9fg}_`?yJ{eVB`=uU^hbVgdg}ks^sHCMzao&imAq|Z!v8xa zJnR3IiA>fCJl=iEW#e%TH z{dLjCO%OL@4mprxqZhoKF!sCUK#~p>D+u0fZ)^QVi*qTF=~U5nO~wDjP;*++DyHRI3>U%8uE5&y)U@kD0c``HsA{4Ek% zI}^jrgffa}Ab}T@B*k0p;ZiXg{CAoimmt_tw5&vsHv`+;Cx+6D@OoCy>DIQT$k7tvgY^|r@9ko(kl}KgC&SQXjhH*T>@8~Fb5d4COG7bnT=9K&Rg*%GWQm}2>!qRsy@(yIi{#sM{i=9H*1&sFj zO2OO|qIBBoAI_fU3q)M=?R-N&$);Yf`owugtU?7R?G3g*0`0G)q=7%;<5q=3qV~SN zll9Zep7z-$cbH~*<1=+%uYEM-(^u;*D}$?)Z+Geh_W zC*oLgQS7Z=?Y$)jGVgT@mYOZvBNqx`U51(F(ftATOvUBRh--N7u$lNi$is?CA0b5~ zoov$t;s#90aVl%MKkwfCT~;S~KAy`i8IJVb4cP=Wuz}aCc{V{xqlcFj1xBy9Ox6(X zgWVu@hPW)JTTyAvO8!Un0n0h7O=hdx1hsn6=h`OE=%KC7NJi?T&)gmM4fY_&4;-9b zz`ZT-@2qYQ+0otnDy#gVQhX94-g{AdyNA!4enEXt1gY4xh_q$&So~FB_dn=r4-INg3W~A9q#2sJz%CeW-G`#~iVserw@6gJ#+rsipVR14kAw6Dyg~Doh z&`?G;zWKxv>j#F_QAEKNs%}oh@!|r7zFLRAq2zw)iqnIxZO#H#XM9C)_U)R6~*Tk^%i+t|M+01X2NwD{?%sFf}Tq* zLU^Cpvcx4i=eF?E`^isN#Y>7-C6Je^?)i~t8K30AM;tvrUHSx^sA{6Ot0cX8uhC?M zcEk`H?SAIV1L+eeg50$Bi{a;yy#+itM@yp^V||M`h?Ss=$qRw1W$!ab?zHsM00 zk3CmjDCSa57G9N6Ea-jBPE7EDCfsr{)5^7wz|0*V!#SpQ&Ou@%RwmT_O(w*8y)Aw)xBoouD5>Cdu5<6P$(_DEKAJU*;b4r+Ndbo znHnm-VCbb}vy89U4_^^-law0EkPabqD+dQZNec0zofQn2>N2XXe4JSvsi=4!`O22c z7LPkPJBOP&q#&w%PU0XBieA%asG1i^he^*Mja$_<+*M`Dbar&}7*zf+UkoeI43JhX z*GHj66&kH-9c>=^%d0=@5U5c-(HU!yS5j8Q-WW66=b`jG?^Uof?J=LR4JU(W^G|+#Nk}wXS#5g39C2`D0a0k>#bHj8H6lX#`gv{m5wgr{yuo$dwRb zMz@#m@^?LQwp(CM2}(bnJ!⪻hlz2N$;adIS*Gz;0@70`JGD=?(3t0WvqKbisnw^ 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 z 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 z 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

S4!m~1+V<4 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