From 67d1efa23216e9ae463154346b1e3c8b16fb48a4 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Wed, 27 Mar 2019 14:39:54 +0100 Subject: [PATCH 01/19] Added new TTC Emulator registers as requested by Israel --- sources/templates/build-doc.sh | 2 +- sources/templates/build.sh | 6 +- sources/templates/dma_control.vhd | 57 +- sources/templates/pcie_package.vhd | 48 +- sources/templates/registers-4.7.yaml | 2665 ++++++++++++++++++++++++++ sources/templates/version.txt | 2 +- 6 files changed, 2763 insertions(+), 17 deletions(-) create mode 100644 sources/templates/registers-4.7.yaml diff --git a/sources/templates/build-doc.sh b/sources/templates/build-doc.sh index 43ea55de1..df086b20e 100755 --- a/sources/templates/build-doc.sh +++ b/sources/templates/build-doc.sh @@ -1,7 +1,7 @@ #!/bin/sh -e wuppercodegen=../../../software/wuppercodegen/wuppercodegen/cli.py -registers=registers-4.6.yaml +registers=registers-4.7.yaml $wuppercodegen --version $wuppercodegen $registers registermap.tex.template registermap.tex latex registers.tex diff --git a/sources/templates/build.sh b/sources/templates/build.sh index d55885ff2..c8b84c020 100755 --- a/sources/templates/build.sh +++ b/sources/templates/build.sh @@ -3,9 +3,9 @@ # # Script to rebuild the derived files from templates # -prev_version=4.5 -current_version=4.6 -next_version=4.6 +prev_version=4.6 +current_version=4.7 +next_version=4.7 # # firmware directory: diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 107bd8825..862cc9923 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/dma_control.vhd.template' --- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 +-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template' -- @@ -6941,7 +6941,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= REG_TTC_DEC_CTRL_XL1ID_RST_C; -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= REG_TTC_DEC_CTRL_MASTER_BUSY_C; -- L1A trigger throttling register_map_control_s.TTC_EMU.SEL <= REG_TTC_EMU_SEL_C; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Enable TTC data generator (10 bit counter) + register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Enable TTC data generator register_map_control_s.TTC_DELAY_00 <= REG_TTC_DELAY_00_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_01 <= REG_TTC_DELAY_01_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_02 <= REG_TTC_DELAY_02_C; -- Controls the TTC Fanout delay values @@ -6993,6 +6993,19 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C; -- Prescales the 40MHz clock to create an internal slow clock register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C; -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C; -- Number of prescaled clocks a given busy must be asserted before it is recognized + register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= REG_TTC_EMU_CONTROL_LAST_LINE_C; -- Last line of the sequence + register_map_control_s.TTC_EMU_CONTROL.REPEAT <= REG_TTC_EMU_CONTROL_REPEAT_C; -- Repeat the sequence + register_map_control_s.TTC_EMU_CONTROL.BROADCAST6 <= REG_TTC_EMU_CONTROL_BROADCAST6_C; -- Broadcast 6 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= REG_TTC_EMU_CONTROL_BROADCAST5_C; -- Broadcast 5 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= REG_TTC_EMU_CONTROL_BROADCAST4_C; -- Broadcast 4 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= REG_TTC_EMU_CONTROL_BROADCAST3_C; -- Broadcast 3 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= REG_TTC_EMU_CONTROL_BROADCAST2_C; -- Broadcast 2 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= REG_TTC_EMU_CONTROL_BROADCAST1_C; -- Broadcast 1 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= REG_TTC_EMU_CONTROL_BROADCAST0_C; -- Broadcast 0 + register_map_control_s.TTC_EMU_CONTROL.ECR <= REG_TTC_EMU_CONTROL_ECR_C; -- Event counter reset + register_map_control_s.TTC_EMU_CONTROL.BCR <= REG_TTC_EMU_CONTROL_BCR_C; -- Bunch counter reset + register_map_control_s.TTC_EMU_CONTROL.L1A <= REG_TTC_EMU_CONTROL_L1A_C; -- Level 1 Accept + register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C; -- Step counter value register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -8975,6 +8988,7 @@ end process; register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET <= REG_CR_BLOCK_COUNT_GBT23_RESET_C; -- Any write clears the counter value end if; register_map_control_s.TTC_BUSY_CLEAR <= REG_TTC_BUSY_CLEAR_C; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + register_map_control_s.TTC_EMU_CONTROL.WE <= REG_TTC_EMU_CONTROL_WE_C; -- Any write to this register executes a write enable register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits @@ -13559,8 +13573,9 @@ end process; register_read_data_25_s(9 downto 2) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW; -- set XL1ID value, the value to be set by XL1ID_RST signal register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST; -- giving a trigger signal to reset XL1ID value register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY; -- L1A trigger throttling - when REG_TTC_EMU => register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Enable TTC data generator (10 bit counter) + when REG_TTC_EMU => register_read_data_25_s(2 downto 2) <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL; -- TTC Emulator memory full indication + register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder + register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Enable TTC data generator when REG_TTC_DELAY_00 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_00; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_01; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_02; -- Controls the TTC Fanout delay values @@ -13613,6 +13628,20 @@ end process; register_read_data_25_s(31 downto 16) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted register_read_data_25_s(15 downto 0) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_BUSY_CLEAR; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + when REG_TTC_EMU_CONTROL => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_EMU_CONTROL.WE; -- Any write to this register executes a write enable + register_read_data_25_s(35 downto 35) <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE; -- Last line of the sequence + register_read_data_25_s(34 downto 34) <= register_map_control_s.TTC_EMU_CONTROL.REPEAT; -- Repeat the sequence + register_read_data_25_s(33 downto 33) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST6; -- Broadcast 6 + register_read_data_25_s(32 downto 32) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5; -- Broadcast 5 + register_read_data_25_s(31 downto 31) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4; -- Broadcast 4 + register_read_data_25_s(30 downto 30) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3; -- Broadcast 3 + register_read_data_25_s(29 downto 29) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2; -- Broadcast 2 + register_read_data_25_s(28 downto 28) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1; -- Broadcast 1 + register_read_data_25_s(27 downto 27) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0; -- Broadcast 0 + register_read_data_25_s(26 downto 26) <= register_map_control_s.TTC_EMU_CONTROL.ECR; -- Event counter reset + register_read_data_25_s(25 downto 25) <= register_map_control_s.TTC_EMU_CONTROL.BCR; -- Bunch counter reset + register_read_data_25_s(24 downto 24) <= register_map_control_s.TTC_EMU_CONTROL.L1A; -- Level 1 Accept + register_read_data_25_s(21 downto 0) <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER; -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_read_data_25_s(47 downto 44) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(43 downto 40) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(39 downto 36) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -14619,7 +14648,7 @@ end process; -- GenericBoardInformation - when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= REG_MAP_VERSION; -- Register Map Version, 4.6 formatted as 0x0406 + when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= REG_MAP_VERSION; -- Register Map Version, 4.7 formatted as 0x0407 when REG_BOARD_ID_TIMESTAMP => register_read_data_25_s(39 downto 0) <= BUILD_DATETIME; -- Board ID Date / Time in BCD format YYMMDDhhmm when REG_BOARD_ID_SVN => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(SVN_VERSION,16)); -- Board ID SVN Revision when REG_GIT_COMMIT_TIME => register_read_data_25_s(39 downto 0) <= COMMIT_DATETIME; -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -20679,7 +20708,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= register_write_data_25_v(1 downto 1); -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= register_write_data_25_v(0 downto 0); -- L1A trigger throttling when REG_TTC_EMU => register_map_control_s.TTC_EMU.SEL <= register_write_data_25_v(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Enable TTC data generator (10 bit counter) + register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Enable TTC data generator when REG_TTC_DELAY_00 => register_map_control_s.TTC_DELAY_00 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_map_control_s.TTC_DELAY_01 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_map_control_s.TTC_DELAY_02 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values @@ -20732,6 +20761,20 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16); -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_map_control_s.TTC_BUSY_CLEAR <= "1"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + when REG_TTC_EMU_CONTROL => register_map_control_s.TTC_EMU_CONTROL.WE <= "1"; -- Any write to this register executes a write enable + register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= register_write_data_25_v(35 downto 35); -- Last line of the sequence + register_map_control_s.TTC_EMU_CONTROL.REPEAT <= register_write_data_25_v(34 downto 34); -- Repeat the sequence + register_map_control_s.TTC_EMU_CONTROL.BROADCAST6 <= register_write_data_25_v(33 downto 33); -- Broadcast 6 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= register_write_data_25_v(32 downto 32); -- Broadcast 5 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= register_write_data_25_v(31 downto 31); -- Broadcast 4 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= register_write_data_25_v(30 downto 30); -- Broadcast 3 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= register_write_data_25_v(29 downto 29); -- Broadcast 2 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= register_write_data_25_v(28 downto 28); -- Broadcast 1 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= register_write_data_25_v(27 downto 27); -- Broadcast 0 + register_map_control_s.TTC_EMU_CONTROL.ECR <= register_write_data_25_v(26 downto 26); -- Event counter reset + register_map_control_s.TTC_EMU_CONTROL.BCR <= register_write_data_25_v(25 downto 25); -- Bunch counter reset + register_map_control_s.TTC_EMU_CONTROL.L1A <= register_write_data_25_v(24 downto 24); -- Level 1 Accept + register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= register_write_data_25_v(21 downto 0); -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index 4e7f59c08..94202ddda 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/pcie_package.vhd.template' --- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 +-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template' -- @@ -1007,6 +1007,7 @@ package pcie_package is constant REG_TTC_DELAY_47 : std_logic_vector(19 downto 0) := x"084a0"; constant REG_TTC_BUSY_TIMING_CTRL : std_logic_vector(19 downto 0) := x"084b0"; constant REG_TTC_BUSY_CLEAR : std_logic_vector(19 downto 0) := x"084c0"; + constant REG_TTC_EMU_CONTROL : std_logic_vector(19 downto 0) := x"084d0"; --** XOFF_BUSYControlsAndMonitors constant REG_XOFF_FM_CH_FIFO_THRESH_LOW : std_logic_vector(19 downto 0) := x"08800"; @@ -1529,7 +1530,7 @@ package pcie_package is type bitfield_ttc_emu_w_type is record SEL : std_logic_vector(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - ENA : std_logic_vector(0 downto 0); -- Enable TTC data generator (10 bit counter) + ENA : std_logic_vector(0 downto 0); -- Enable TTC data generator end record; type bitfield_ttc_busy_timing_ctrl_w_type is record @@ -1538,6 +1539,23 @@ package pcie_package is LIMIT_TIME : std_logic_vector(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized end record; + type bitfield_ttc_emu_control_t_type is record + WE : std_logic_vector(64 downto 64); -- Any write to this register executes a write enable + LAST_LINE : std_logic_vector(35 downto 35); -- Last line of the sequence + REPEAT : std_logic_vector(34 downto 34); -- Repeat the sequence + BROADCAST6 : std_logic_vector(33 downto 33); -- Broadcast 6 + BROADCAST5 : std_logic_vector(32 downto 32); -- Broadcast 5 + BROADCAST4 : std_logic_vector(31 downto 31); -- Broadcast 4 + BROADCAST3 : std_logic_vector(30 downto 30); -- Broadcast 3 + BROADCAST2 : std_logic_vector(29 downto 29); -- Broadcast 2 + BROADCAST1 : std_logic_vector(28 downto 28); -- Broadcast 1 + BROADCAST0 : std_logic_vector(27 downto 27); -- Broadcast 0 + ECR : std_logic_vector(26 downto 26); -- Event counter reset + BCR : std_logic_vector(25 downto 25); -- Bunch counter reset + L1A : std_logic_vector(24 downto 24); -- Level 1 Accept + STEP_COUNTER : std_logic_vector(21 downto 0); -- Step counter value + end record; + type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record CH11 : std_logic_vector(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB CH10 : std_logic_vector(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -2282,6 +2300,7 @@ package pcie_package is TTC_DELAY_47 : std_logic_vector(3 downto 0); -- Controls the TTC Fanout delay values TTC_BUSY_TIMING_CTRL : bitfield_ttc_busy_timing_ctrl_w_type; TTC_BUSY_CLEAR : std_logic_vector(64 downto 64); -- clears the latching busy bits in TTC_BUSY_ACCEPTED + TTC_EMU_CONTROL : bitfield_ttc_emu_control_t_type; XOFF_FM_CH_FIFO_THRESH_LOW : bitfield_xoff_fm_ch_fifo_thresh_low_w_type; XOFF_FM_CH_FIFO_THRESH_HIGH : bitfield_xoff_fm_ch_fifo_thresh_high_w_type; XOFF_FM_HIGH_THRESH : bitfield_xoff_fm_high_thresh_t_type; @@ -5476,7 +5495,7 @@ package pcie_package is constant REG_TTC_DEC_CTRL_XL1ID_RST_C : std_logic_vector(1 downto 1) := "0"; -- giving a trigger signal to reset XL1ID value constant REG_TTC_DEC_CTRL_MASTER_BUSY_C : std_logic_vector(0 downto 0) := "0"; -- L1A trigger throttling constant REG_TTC_EMU_SEL_C : std_logic_vector(1 downto 1) := "0"; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Enable TTC data generator (10 bit counter) + constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Enable TTC data generator constant REG_TTC_DELAY_00_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_01_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_02_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values @@ -5529,6 +5548,20 @@ package pcie_package is constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C : std_logic_vector(31 downto 16) := x"000f"; -- Minimum number of 40MHz clocks that the busy is asserted constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C : std_logic_vector(15 downto 0) := x"000f"; -- Number of prescaled clocks a given busy must be asserted before it is recognized constant REG_TTC_BUSY_CLEAR_C : std_logic_vector(64 downto 64) := "0"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + constant REG_TTC_EMU_CONTROL_WE_C : std_logic_vector(64 downto 64) := "0"; -- Any write to this register executes a write enable + constant REG_TTC_EMU_CONTROL_LAST_LINE_C : std_logic_vector(35 downto 35) := "0"; -- Last line of the sequence + constant REG_TTC_EMU_CONTROL_REPEAT_C : std_logic_vector(34 downto 34) := "0"; -- Repeat the sequence + constant REG_TTC_EMU_CONTROL_BROADCAST6_C : std_logic_vector(33 downto 33) := "0"; -- Broadcast 6 + constant REG_TTC_EMU_CONTROL_BROADCAST5_C : std_logic_vector(32 downto 32) := "0"; -- Broadcast 5 + constant REG_TTC_EMU_CONTROL_BROADCAST4_C : std_logic_vector(31 downto 31) := "0"; -- Broadcast 4 + constant REG_TTC_EMU_CONTROL_BROADCAST3_C : std_logic_vector(30 downto 30) := "0"; -- Broadcast 3 + constant REG_TTC_EMU_CONTROL_BROADCAST2_C : std_logic_vector(29 downto 29) := "0"; -- Broadcast 2 + constant REG_TTC_EMU_CONTROL_BROADCAST1_C : std_logic_vector(28 downto 28) := "0"; -- Broadcast 1 + constant REG_TTC_EMU_CONTROL_BROADCAST0_C : std_logic_vector(27 downto 27) := "0"; -- Broadcast 0 + constant REG_TTC_EMU_CONTROL_ECR_C : std_logic_vector(26 downto 26) := "0"; -- Event counter reset + constant REG_TTC_EMU_CONTROL_BCR_C : std_logic_vector(25 downto 25) := "0"; -- Bunch counter reset + constant REG_TTC_EMU_CONTROL_L1A_C : std_logic_vector(24 downto 24) := "0"; -- Level 1 Accept + constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C : std_logic_vector(21 downto 0) := "0000000000000000000000"; -- Step counter value constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C : std_logic_vector(47 downto 44) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C : std_logic_vector(43 downto 40) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C : std_logic_vector(39 downto 36) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -6302,7 +6335,7 @@ package pcie_package is -- GenericBoardInformation type register_map_gen_board_info_type is record - REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.6 formatted as 0x0406 + REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.7 formatted as 0x0407 BOARD_ID_TIMESTAMP : std_logic_vector(39 downto 0); -- Board ID Date / Time in BCD format YYMMDDhhmm BOARD_ID_SVN : std_logic_vector(15 downto 0); -- Board ID SVN Revision GIT_COMMIT_TIME : std_logic_vector(39 downto 0); -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -7412,6 +7445,10 @@ end record; TTC_BIT_ERR : std_logic_vector(2 downto 0); -- double bit, single bit and comm error in TTC data end record; + type bitfield_ttc_emu_r_type is record + FULL : std_logic_vector(2 downto 2); -- TTC Emulator memory full indication + end record; + -- TTCBUSYControlsAndMonitors type register_map_ttc_monitor_type is record @@ -7441,6 +7478,7 @@ end record; TTC_BUSY_ACCEPTED21 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED22 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED23 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR + TTC_EMU : bitfield_ttc_emu_r_type; end record; -- -- XOFF_BUSYControlsAndMonitors diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml new file mode 100644 index 000000000..726de4c24 --- /dev/null +++ b/sources/templates/registers-4.7.yaml @@ -0,0 +1,2665 @@ +Registers: + version: '4.7' + warning: | + *************************************************************************** + *************************************************************************** + *************************************************************************** + *************************************************************************** + *************************************************************************** + DO NOT EDIT THIS FILE + + This file was generated from template '{{ metadata.template }}' + and register map {{ metadata.config }}, version {{ tree.version }} + by the script '{{ metadata.name }}', version: {{ metadata.version }}, + using the following commandline: + + {{ metadata.cmdline }} + + Please do NOT edit this file, but edit the source file at '{{ metadata.template }}' + + *************************************************************************** + *************************************************************************** + *************************************************************************** + *************************************************************************** + *************************************************************************** + + type: R + step: 0x010 + default: 0 + endpoints: 0,1 + entries: + - ref: Bar0 + offset: 0x0000 + - ref: Bar1 + offset: 0x0000 + - ref: Bar2 + offset: 0x0000 + - ref: Monitorsections + offset: 0x0000 + +Monitorsections: + endpoints: 0,1 + entries: + - name: GenericBoardInformation + record_name: register_map_gen_board_info + bitfield: + - range: 0..0 + type: R + - name: CentralRouterControlsAndMonitors + record_name: register_map_cr_monitor + bitfield: + - range: 0..0 + type: R + - name: GBTEmulatorControlsAndMonitors + record_name: register_map_gbtemu_monitor + bitfield: + - range: 0..0 + type: R + - name: GBTWrapperMonitors + record_name: register_map_gbt_monitor + bitfield: + - range: 0..0 + type: R + - name: TTCBUSYControlsAndMonitors + record_name: register_map_ttc_monitor + bitfield: + - range: 0..0 + type: R + - name: XOFF_BUSYControlsAndMonitors + record_name: register_map_xoff_monitor + bitfield: + - range: 0..0 + type: R + - name: HouseKeepingControlsAndMonitors + record_name: register_map_hk_monitor + bitfield: + - range: 0..0 + type: R + - name: Generators + record_name: register_map_generators + bitfield: + - range: 0..0 + type: R + +Bar0: + endpoints: 0,1 + entries: + - ref: DMA_DESC + - ref: DMA_DESC_STATUS + offset: 0x0200 + - name: BAR0_VALUE + offset: 0x0300 + bitfield: + - range: 31..0 + desc: Copy of BAR0 offset reg. + - name: BAR1_VALUE + bitfield: + - range: 31..0 + desc: Copy of BAR1 offset reg. + - name: BAR2_VALUE + bitfield: + - range: 31..0 + desc: Copy of BAR2 offset reg. + - name: DMA_DESC_ENABLE + offset: 0x0400 + bitfield: + - range: 7..0 + type: W + desc: Enable descriptors 7:0. One bit per descriptor. Cleared when Descriptor is handled. + - name: DMA_FIFO_FLUSH + type: T + bitfield: + - range: any + desc: Flush (reset). Any write clears the DMA Main output FIFO + - name: DMA_RESET + type: T + bitfield: + - range: any + desc: Reset Wupper Core (DMA Controller FSMs) + - name: SOFT_RESET + type: T + bitfield: + - range: any + desc: Global Software Reset. Any write resets applications, e.g. the Central Router. + - name: REGISTER_RESET + type: T + bitfield: + - range: any + desc: Resets the register map to default values. Any write triggers this reset. + - name: FROMHOST_FULL_THRESH + type: W + bitfield: + - range: 22..16 + name: THRESHOLD_ASSERT + desc: Assert value of the FromHost programmable full flag + - range: 6..0 + name: THRESHOLD_NEGATE + desc: Negate value of the FromHost programmalbe full flag + - name: TOHOST_FULL_THRESH + type: W + bitfield: + - range: 27..16 + name: THRESHOLD_ASSERT + desc: Assert value of the ToHost programmable full flag + - range: 11..0 + name: THRESHOLD_NEGATE + desc: Negate value of the ToHost programmalbe full flag + + - name: BUSY_THRESHOLD_ASSERT + type: W + desc: Tohost or Fromhost busy will be asserted in circular DMA mode when the server PC buffer gets full (space below ASSERT threshold).. + default: 0x6400000 + bitfield: + - range: 63..0 + + - name: BUSY_THRESHOLD_NEGATE + type: W + desc: Tohost or Fromhost busy will be negated in circular DMA mode when the server PC buffer gets less full (space above NEGATE threshold). + default: 0x6E00000 + bitfield: + - range: 63..0 + + - name: BUSY_STATUS + type: R + bitfield: + - range: 1 + name: FROMHOST_BUSY + desc: A fromhost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + - range: 0 + name: TOHOST_BUSY + desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + + +DMA_DESC: + number: 8 + type: W + entries: + - name: DMA_DESC_{index} + bitfield: + - range: 127..64 + name: END_ADDRESS + desc: End Address + - range: 63..0 + name: START_ADDRESS + desc: Start Address + - name: DMA_DESC_{index}a + bitfield: + - range: 127..64 + name: SW_POINTER + desc: Pointer controlled by the software, indicating read or write status for circular DMA + - range: 12 + name: WRAP_AROUND + desc: Wrap around + - range: 11 + name: FROMHOST + desc: "1: fromHost/ 0: toHost" + - range: 10..0 + name: NUM_WORDS + desc: Number of 32 bit words + +DMA_DESC_STATUS: + number: 8 + entries: + - name: DMA_DESC_STATUS_{index} + bitfield: + - range: 66 + name: EVEN_PC + desc: Even address cycle PC + - range: 65 + name: EVEN_DMA + desc: Even address cycle DMA + - range: 64 + name: DESC_DONE + desc: Descriptor Done + - range: 63..0 + name: FW_POINTER + desc: Pointer controlled by the firmwarre, indicating where the DMA is busy reading or writing + +Bar1: + endpoints: 0,1 + type: W + entries: + - ref: INT_VEC + - name: INT_TAB_ENABLE + offset: 0x100 + bitfield: + - range: 7..0 + desc: | + Interrupt Table enable + Selectively enable Interrupts + +INT_VEC: + number: 16 + type: W + entries: + - name: INT_VEC_{index} + bitfield: + - range: 127..96 + name: INT_CTRL + desc: Interrupt Control + - range: 95..64 + name: INT_DATA + desc: Interrupt Data + - range: 64..0 + name: INT_ADDRESS + desc: Interrupt Address + +Bar2: + entries: + - ref: GenericBoardInformation + offset: 0x0000 + - ref: CentralRouterControlsAndMonitors + offset: 0x1000 + - ref: GBTEmulatorControlsAndMonitors + offset: 0x5000 + - ref: GBTWrapperControls + offset: 0x6000 + - ref: GBTWrapperMonitors + offset: 0x7000 + - ref: TTCBUSYControlsAndMonitors + offset: 0x8000 + - ref: XOFF_BUSYControlsAndMonitors + offset: 0x8800 + - ref: HouseKeepingControlsAndMonitors + offset: 0x9000 + - ref: Generators + offset: 0xA000 + +GenericBoardInformation: + group: GEN + desc: Generic Board Information + endpoints: 0,1 + entries: + - name: REG_MAP_VERSION + bitfield: + - range: 15..0 + value: REG_MAP_VERSION + desc: Register Map Version, {{ tree.version }} formatted as {{ tree.version|version|xhex }} + + - name: BOARD_ID_TIMESTAMP + bitfield: + - range: 39..0 + value: BUILD_DATETIME + desc: Board ID Date / Time in BCD format YYMMDDhhmm + + - name: BOARD_ID_SVN + bitfield: + - range: 15..0 + value: std_logic_vector(to_unsigned(SVN_VERSION,16)) + desc: Board ID SVN Revision + + - name: GIT_COMMIT_TIME + bitfield: + - range: 39..0 + value: COMMIT_DATETIME + desc: Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm + + - name: GIT_TAG + bitfield: + - range: 63..0 + value: GIT_TAG(63 downto 0) + desc: String containing the current GIT TAG + + - name: GIT_COMMIT_NUMBER + bitfield: + - range: 31..0 + value: std_logic_vector(to_unsigned(GIT_COMMIT_NUMBER,32)) + desc: Number of GIT commits after current GIT_TAG + + - name: GIT_HASH + bitfield: + - range: 31..0 + value: GIT_HASH(159 downto 128) + desc: Short GIT hash (32 bit) + + - name: STATUS_LEDS + type: W + bitfield: + - range: 7..0 + default: 0xAB + desc: Board GPIO Leds + + - name: GENERIC_CONSTANTS + bitfield: + - range: 15..8 + name: INTERRUPTS + value: std_logic_vector(to_unsigned(NUMBER_OF_INTERRUPTS,8)) + desc: Number of Interrupts + - range: 7..0 + name: DESCRIPTORS + value: std_logic_vector(to_unsigned(NUMBER_OF_DESCRIPTORS,8)) + desc: Number of Descriptors + + - name: NUM_OF_CHANNELS + bitfield: + - range: 7..0 + desc: Number of GBT Channels + + - name: CARD_TYPE + bitfield: + - range: 63..0 + value: std_logic_vector(to_unsigned(CARD_TYPE,64)) + desc: | + Card Type: + - 709 (0x2c5): VC-709 + - 710 (0x2c6): HTG-710 + - 711 (0x2c7): BNL-711 + - 712 (0x2c8): BNL-712 + + - name: GBT_MAPPING + bitfield: + - range: 7..0 + desc: | + CXP-to-GBT mapping: + 0: NORMAL CXP1 1-12 CXP2 13-24 + 1: ALTERNATE CXP1 1-4,9-12,17-20 + + - name: GENERATE_GBT + bitfield: + - range: 0 + desc: 1 when the GBT Wrapper is included in the design + + - name: OPTO_TRX_NUM + bitfield: + - range: 7..0 + desc: Number of optical transceivers in the design + + - name: TTC_EMU_CONST + type: R + bitfield: + - range: 1 + type: R + name: GENERATE_TTC_EMU + desc: 1 when TTC emulator is generated + - range: 0 + type: R + name: TTC_TEST_MODE + desc: 1 when TTC Test mode is anabled + + - name: CR_INTERNAL_LOOPBACK_MODE + type: R + bitfield: + - range: 0 + desc: 1 when Central Router internal loopback mode is enabled + + - ref: INCLUDE_EGROUP + + + - name: WIDE_MODE + type: R + bitfield: + - range: 0 + desc: GBT is configured in Wide mode + + - name: DEBUG_MODE + type: R + bitfield: + - range: 0 + desc: | + 0: SMA X3 is constant 0, SMA X4 is connected to clk40 (output). + 1: Debug port module (SMA X3 and SMA X4) can be controlled using DEBUG_PORT_GBT and DEBUG_PORT_CLK + + - name: FIRMWARE_MODE + type: R + bitfield: + - range: 3..0 + desc: | + 0: GBT mode + 1: FULL mode + 2: LTDB mode (GBT mode with only IC and TTC links) + 3: FEI4 mode + 4: ITK Pixel + 5: ITK Strip + 6: FELIG + 7: FULL mode emulator + + - name: GTREFCLK_SOURCE + type: R + bitfield: + - range: 1..0 + desc: | + 0: Transceiver reference Clock source from Si5345 + 1: Transceiver reference Clock source from Si5324 + 2: Transceiver reference Clock from internal BUFG (GREFCLK) + + - name: CR_GENERICS + type: R + bitfield: + - range: 2 + name: XOFF_INCLUDED + desc: Xoff bits (usually full mode) can be generated by the FromHost Central Router + - range: 1 + name: DIRECT_MODE_INCLUDED + desc: Indicates that the Direct mode functionality was built in the Central Router + - range: 0 + name: FROM_HOST_INCLUDED + desc: Indicates that the From Host path of the Central router was included in the design + + - name: BLOCKSIZE + type: R + desc: Number of bytes in a block + bitfield: + - range: 15..0 + + - name: PCIE_ENDPOINT + type: R + desc: Indicator of the PCIe endpoint on BNL71x cards with two endpoints. 0 or 1 + bitfield: + - range: 0 + value: std_logic_vector(to_unsigned(PCIE_ENDPOINT, 1)) + + +INCLUDE_EGROUP: + number: 7 + entries: + - format_name: INCLUDE_EGROUP_{index} + name: INCLUDE_EGROUP + #type_name: INCLUDE_EGROUP + type: R + bitfield: + - range: 8 + name: FROMHOST_02 + desc: FromHost EPROC02 is included in this EGROUP + - range: 7 + name: FROMHOST_04 + desc: FromHost EPROC04 is included in this EGROUP + - range: 6 + name: FROMHOST_08 + desc: FromHost EPROC8 is included in this EGROUP + - range: 5 + name: FROMHOST_HDLC + desc: FromHost HDLC is included in this EGROUP + - range: 4 + name: TOHOST_02 + desc: ToHost EPROC02 is included in this EGROUP + - range: 3 + name: TOHOST_04 + desc: ToHost EPROC04 is included in this EGROUP + - range: 2 + name: TOHOST_08 + desc: ToHost EPROC08 is included in this EGROUP + - range: 1 + name: TOHOST_16 + desc: ToHost EPROC16 is included in this EGROUP + - range: 0 + name: TOHOST_HDLC + desc: ToHost HDLC is included in this EGROUP + + +CentralRouterControlsAndMonitors: + group: CRC + desc: Central Router Controls and Monitors + endpoints: 0,1 + entries: + - name: IC_FROMHOST_PACKET_RDY + type: W + bitfield: + - range: 23..0 + desc: Rising edge indicates the complete packet can be read + + - name: TIMEOUT_CTRL + type: W + descr: Controls the timout mechanism in the ToHost central router. + bitfield: + - range: 32 + name: ENABLE + default: 1 + desc: 1 enables the timout trailer generation for ToHost mode + - range: 31..0 + name: TIMEOUT + default: 0xFFFFFFFF + desc: Number of 40 MHz clock cycles after which a timeout occurs. + + - ref: CR_GBT_CTRL + desc: See Central Router Doc + offset: 0x0100 + + - ref: IC_FIFOS + desc: See Central Router Doc + offset: 0x1400 + + - ref: MINI_EGROUP_CTRL + desc: Controls EC and TTC channels of Mini Egroups + + - name: CR_FALLBACK_OPTIONS + desc: Julias personal register with Hello Kitty options + type: W + bitfield: + - range: 63..0 + + - name: CR_TTC_TOHOST + desc: Enables the ToHost Mini Egroup in TTC mode + type: W + bitfield: + - range: 63 + name: EMU_FAKE_READY_ENABLE + default: 0 + - range: 60..48 + name: EMU_FAKE_READY_VALUE + default: 0x1000 + - range: 15..4 + name: TIMEOUT_VALUE + default: 0xFFF + - range: 2 + name: EMU_ENABLE + default: 0 + - range: 1 + name: TIMEOUT_ENABLE + default: 1 + - range: 0 + name: ENABLE + default: 1 + + - name: CR_REVERSE_10B + desc: Reverse 10-bit word of elink data + type: W + bitfield: + - range: 1 + name: FROMHOST + default: 1 + desc: | + 1: Serialize 10-bit word in FromHost EPROCS MSB first + 0: Serialize 10-bit word in FromHost EPROCS LSB first + - range: 0 + name: TOHOST + default: 1 + desc: | + 1: Receive 10-bit word in ToHost EPROCS, MSB first + 0: Receive 10-bit word in ToHost EPROCS, LSB first + + - name: CR_LTDB_TTC_DELAY + desc: Controls TTC BCR delay in LTDB mode firmware + type: W + bitfield: + - range: 7 + name: EGROUP4_EPATH6 + default: 0 + desc: | + Egroup 4, Epath 6 + 1: Half a clock delay + 0: no delay + - range: 6 + name: EGROUP4_EPATH5 + default: 0 + desc: | + Egroup 4, Epath 5 + 1: Half a clock delay + 0: no delay + - range: 5 + name: EGROUP4_EPATH4 + default: 0 + desc: | + Egroup 4, Epath 4 + 1: Half a clock delay + 0: no delay + - range: 4 + name: EGROUP4_EPATH3 + default: 0 + desc: | + Egroup 4, Epath 3 + 1: Half a clock delay + 0: no delay + - range: 3 + name: EGROUP4_EPATH0 + default: 0 + desc: | + Egroup 4, Epath 0 + 1: Half a clock delay + 0: no delay + - range: 2 + name: EGROUP3 + default: 0 + desc: | + Egroup 3, Epath 0 + 1: Half a clock delay + 0: no delay + - range: 1 + name: EGROUP2 + default: 0 + desc: | + Egroup 2, Epath 0 + 1: Half a clock delay + 0: no delay + - range: 0 + name: EGROUP1 + default: 0 + desc: | + Egroup 1, Epath 0 + 1: Half a clock delay + 0: no delay +# - ref: CR_XOFF_CTRL +# offset: 0x2800 +# desc: Configure FromHost Xoff + + +#Central Router monitors + - ref: CR_GBT_MON + offset: 0x3000 + - name: CR_STATIC_CONFIGURATION + type: R + bitfield: + - range: 0 + - ref: CR_DEFAULT_EPROC_ENA + - ref: CR_DEFAULT_EPROC_ENCODING + - name: MAX_TIMEOUT + type: R + desc: Maximum allowed timeout value + bitfield: + - range: 31..0 + - ref: CR_BLOCK_COUNTERS + + +CR_GBT_CTRL: + number: 24 + bitfield: + - range: 50..0 + type: W + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + entries: + - ref: EGROUP_TOHOST + - ref: EGROUP_FROMHOST + +EGROUP_TOHOST: + number: 7 + format_name: GBT{index:02} + name: GBT + entries: + - name: TOHOST + format_name: CR_{name}_{parent}_EGROUP{index:1}_CTRL + type_name: CR_TOHOST_EGROUP_CTRL + bitfield: + - range: 58..51 + name: INSTANT_TIMEOUT_ENA + default: 0x0 + desc: instantly initiate a timeout for the given epath + - range: 50..43 + name: REVERSE_ELINKS + default: 0x0 + desc: enables bit reversing for the elink in the given epath + - range: 42..31 + name: MAX_CHUNK_LEN + default: MAX_CHUNK_LEN_array + desc: set the maximum length of a chunk, 0 disables truncation + - range: 30..15 + name: PATH_ENCODING + desc: | + Encoding for every EPATH, 8 EPATHS per EGROUP + 0: direct mode + 1: 8b10b mode + 2: HDLC mode + default: + - PATH_ENCODING_array(0) + - PATH_ENCODING_array(1) + - PATH_ENCODING_array(2) + - PATH_ENCODING_array(3) + - PATH_ENCODING_array(4) + - PATH_ENCODING_array(5) + - PATH_ENCODING_array(6) + + - range: 14..0 + name: EPROC_ENA + desc: Enable bits per EPROC + default: + - EPROC_ENA_bits_array(0) + - EPROC_ENA_bits_array(1) + - EPROC_ENA_bits_array(2) + - EPROC_ENA_bits_array(3) + - EPROC_ENA_bits_array(4) + - EPROC_ENA_bits_array(5) + - EPROC_ENA_bits_array(6) + +EGROUP_FROMHOST: + number: 5 + format_name: GBT{index:02} + entries: + - name: FROMHOST + desc: See Central Router Doc, indices [3,4] are optimized out in wideMode + format_name: CR_{name}_{parent}_EGROUP{index:1}_CTRL + type_name: CR_FROMHOST_EGROUP_CTRL + bitfield: + - range: 54..47 + name: REVERSE_ELINKS + default: 0x0 + desc: enables bit reversing for the elink in the given epath + - range: 46..15 + name: PATH_ENCODING + desc: | + Encoding for every EPATH, 8 EPATHS per EGROUP + 0: direct mode + 1: 8b10b mode + 2: HDLC mode + greater than 3: TTC mode, see CentralRouter doc + default: + - FROMHOST_PATH_ENCODING_array(0) + - FROMHOST_PATH_ENCODING_array(1) + - FROMHOST_PATH_ENCODING_array(2) + - FROMHOST_PATH_ENCODING_array(3) + - FROMHOST_PATH_ENCODING_array(4) + - FROMHOST_PATH_ENCODING_array(5) + - FROMHOST_PATH_ENCODING_array(6) + - range: 14..0 + desc: Enable bits per EPROC + name: EPROC_ENA + +#CR_XOFF_CTRL: +# number: 24 +# type: W +# bitfield: +# - range: 39..0 +# entries: +# - name: FROMHOST_XOFF_ENABLE +# format_name: FROMHOST_XOFF_ENABLE_{index:02} +# desc: When the corresponding ToHost (FULL Mode) channel reports full, this FromHost 2-bit elink will transmit Xoff +# range: 39..0 +# default: 0 +# - name: FROMHOST_SOFT_XOFF +# format_name: FROMHOST_SOFT_XOFF_{index:02} +# desc: Transmit Xoff on corresponding 2-bit FromHost elink if configured in 8b10b mode. Transmit Xon when cleared +# range: 39..0 +# default: 0 + + +IC_FIFOS: + number: 24 + format_name: IC_FROMHOST_TOHOST_FIFOS + entries: + - name: FROMHOST + format_name: IC_FROMHOST_FIFO_{index:02} + type_name: IC_FROMHOST_FIFO + type: W + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: any + type: T + value: not register_map_monitor_s.register_map_cr_monitor.IC_FROMHOST_FIFO_{index:02}.FULL + name: WE + format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield} + desc: Any write to this register will trigger a write to the FIFO + - range: 8 + type: R + name: FULL + format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield} + desc: Full flag of the fifo, do not write if 1 + - range: 7..0 + type: W + name: DATAIN + format_name: IC_FROMHOST_FIFO_{index:02}_{bitfield} + desc: Data input of fifo + - name: TOHOST + format_name: IC_TOHOST_FIFO_{index:02} + type_name: IC_TOHOST_FIFO + type: W + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: any + type: T + value: not register_map_monitor_s.register_map_cr_monitor.IC_TOHOST_FIFO_{index:02}.EMPTY + name: RE + format_name: IC_TOHOST_FIFO_{index:02}_{bitfield} + desc: Any write to this register will trigger a read enable from the fifo + - range: 8 + type: R + name: EMPTY + format_name: IC_TOHOST_FIFO_{index:02}_{bitfield} + desc: Empty flag of the fifo, do not read if 1 + - range: 7..0 + type: R + name: DATAOUT + format_name: IC_TOHOST_FIFO_{index:02}_{bitfield} + desc: Data output of fifo + + +MINI_EGROUP_CTRL: + number: 24 + format_name: MINI_EGROUP_CTRLS + entries: + - name: EC_TOHOST + format_name: EC_TOHOST_{index:02} + type_name: EC_TOHOST + desc: Configures the ToHost Mini egroup in EC mode + type: W + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: 7 + name: SCA_AUX_BIT_SWAPPING + desc: "0: two input bits of SCA AUX e-link are as documented, 1: two input bits are swapped" + default: 0 + - range: 6 + name: SCA_AUX_ENABLE + desc: Enables the SCA AUX channel + default: 1 + - range: 5 + name: IC_BIT_SWAPPING + desc: "0: two input bits of IC e-link are as documented, 1: two input bits are swapped" + default: 1 + - range: 4 + name: IC_ENABLE + desc: Enables the IC channel + default: 1 + - range: 3 + name: BIT_SWAPPING + desc: "0: two input bits of EC e-link are as documented, 1: two input bits are swapped" + default: 0 + - range: 2..1 + name: ENCODING + desc: Configures encoding of the EC channel + default: 0x2 + - range: 0 + name: ENABLE + desc: Enables the EC channel + default: 1 + - name: EC_FROMHOST + format_name: EC_FROMHOST_{index:02} + type_name: EC_FROMHOST + type: W + desc: Configures the FromHost Mini egroup in EC mode + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: 9 + name: SCA_AUX_BIT_SWAPPING + desc: "0: two input bits of SCA AUX e-link are as documented, 1: two input bits are swapped" + default: 0 + - range: 8 + name: SCA_AUX_ENABLE + desc: Enables the SCA AUX channel + default: 1 + - range: 7 + name: IC_BIT_SWAPPING + desc: "0: two input bits of IC e-link are as documented, 1: two input bits are swapped" + default: 1 + - range: 6 + name: IC_ENABLE + desc: Enables the IC channel + default: 1 + - range: 5 + name: BIT_SWAPPING + desc: "0: two output bits of EC e-link are as documented, 1: two output bits are swapped" + default: 0 + - range: 4..1 + name: ENCODING + desc: Configures encoding of the EC channel + default: 0x2 + - range: 0 + name: ENABLE + default: 1 + + +CR_GBT_MON: + desc: See Central Router Doc + endpoints: 0 + number: 24 + entries: + - name: TOHOST + type_name: TOHOST + format_name: CR_{name}_GBT{index:02}_MON + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: 58 + name: CROUTFIFO_PROG_FULL + - range: 57 + name: WMFIFO_FULL + - range: 56 + name: MINI_EGROUP_ALMOST_FULL + - range: 55..48 + name: EPATH6_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP6 + - range: 47..40 + name: EPATH5_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP5 + - range: 39..32 + name: EPATH4_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP4 + - range: 31..24 + name: EPATH3_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP3 + - range: 23..16 + name: EPATH2_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP2 + - range: 15..8 + name: EPATH1_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP1 + - range: 7..0 + name: EPATH0_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP0 + - name: FROMHOST + type_name: FROMHOST + format_name: CR_{name}_GBT{index:02}_MON + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + bitfield: + - range: 40 + name: MINI_EGROUP_ALMOST_FULL + - range: 39..32 + name: EPATH4_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP4 + - range: 31..24 + name: EPATH3_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP3 + - range: 23..16 + name: EPATH2_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP2 + - range: 15..8 + name: EPATH1_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP1 + - range: 7..0 + name: EPATH0_ALMOST_FULL + desc: Almost full bits of the EPATH fifos in EGROUP0 + +CR_DEFAULT_EPROC_ENA: + desc: Static CR default enable bits + endpoints: 0,1 + number: 8 + type: R + bitfield: + - range: 14..0 + entries: + - name: ENABLE + format_name: CR_DEFAULT_EPROC_ENA{index} + +CR_DEFAULT_EPROC_ENCODING: + desc: Static CR default encoding bits + endpoints: 0,1 + number: 8 + type: R + bitfield: + - range: 15..0 + entries: + - name: ENCODING + format_name: CR_DEFAULT_EPROC_ENCODING{index} + +CR_BLOCK_COUNTERS: + desc: Counters to count blocks per GBT channel + endpoints: 0,1 + number: 24 + entries: + - name: BLOCK_COUNT + type_name: CR_BLOCK_COUNT + format_name: CR_{name}_GBT{index:02} + generate: register_map_monitor_s.register_map_gen_board_info.NUM_OF_CHANNELS > {index:1} + type: W + bitfield: + - range: any + type: T + name: RESET + desc: Any write clears the counter value + value: 1 + - range: 31..0 + type: R + name: VAL + desc: Counts the number of blocks that were transferred ToHost in the specified GBT + +GBTEmulatorControlsAndMonitors: + group: GEC + desc: GBT Emulator Controls and Monitors + endpoints: 0 + entries: + - name: GBT_EMU_ENA + type: W + bitfield: + - range: 1 + name: TOFRONTEND + desc: Enable GBT dummy emulator ToFrontEnd + - range: 0 + name: TOHOST + desc: Enable GBT dummy emulator ToHost + + - name: GBT_EMU_CONFIG_WE_ARRAY + type: W + bitfield: + - range: 6..0 + desc: write enable array, every bit is one emulator RAM block + + - name: GBT_EMU_CONFIG + type: W + bitfield: + - range: 63..48 + name: RDDATA + type: R + desc: read data bus + - range: 45..32 + name: WRADDR + desc: write address bus + - range: 15..0 + name: WRDATA + desc: write data bus + + - name: GBT_FM_EMU_ENA_TOHOST + type: W + bitfield: + - range: 0 + desc: Enable FULL mode dummy emulator ToHost + + - name: GBT_FM_EMU_CONFIG_WE_ARRAY + type: W + bitfield: + - range: 0 + desc: write enable for the full mode emulator ram block + + - name: GBT_FM_EMU_CONFIG + type: W + bitfield: + - range: 53..40 + name: WRADDR + desc: write address bus + - range: 35..0 + name: WRDATA + desc: write data bus + + - name: GBT_FM_EMU_READ + type: R + bitfield: + - range: 35..0 + desc: read emu ram data + + + - name: CR_FM_PATH_ENA + type: W + bitfield: + - range: 11..0 + desc: FULL mode CR enable array, every bit is one path + + +GBTWrapperControls: + group: GWC + desc: GBT Wrapper Controls + type: W + endpoints: 0 + entries: + - name: GBT_CHANNEL_DISABLE + offset: 0x0400 + bitfield: + - range: 47..0 + desc: Disable selected GBT or FULL mode channel + + - name: GBT_GENERAL_CTRL + bitfield: + - range: 63..0 + desc: Alignment chk reset (not self clearing) + + - name: GBT_MODE_CTRL + bitfield: + - range: 2 + name: RX_ALIGN_TB_SW + desc: RX_ALIGN_TB_SW + - range: 1 + name: RX_ALIGN_SW + desc: RX_ALIGN_SW + - range: 0 + name: DESMUX_USE_SW + desc: DESMUX_USE_SW + + - name: GBT_RXSLIDE_SELECT + offset: 0x0480 + desc: RxSlide select [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_RXSLIDE_MANUAL + desc: RxSlide select [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_TXUSRRDY + desc: TxUsrRdy [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + default: 0xFFFFFFFFFFFF + + - name: GBT_RXUSRRDY + desc: RxUsrRdy [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + default: 0xFFFFFFFFFFFF + + - name: GBT_SOFT_RESET + desc: SOFT_RESET [47:0] + bitfield: + - range: 47..0 + + - name: GBT_GTTX_RESET + desc: GTTX_RESET [47:0] + bitfield: + - range: 47..0 + + - name: GBT_GTRX_RESET + desc: GTRX_RESET [47:0] + bitfield: + - range: 47..0 + + - name: GBT_PLL_RESET + bitfield: + - range: 59..48 + name: QPLL_RESET + desc: QPLL_RESET [11:0] + - range: 47..0 + name: CPLL_RESET + desc: CPLL_RESET [47:0] + + - name: GBT_SOFT_TX_RESET + offset: 0x0500 + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 59..48 + name: RESET_ALL + desc: SOFT_TX_RESET_ALL [11:0] + - range: 47..0 + name: RESET_GT + desc: SOFT_TX_RESET_GT [47:0] + + - name: GBT_SOFT_RX_RESET + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 59..48 + name: RESET_ALL + desc: SOFT_TX_RESET_ALL [11:0] + - range: 47..0 + name: RESET_GT + desc: SOFT_TX_RESET_GT [47:0] + + - name: GBT_ODD_EVEN + desc: OddEven [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_TOPBOT + desc: TopBot [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_TX_TC_DLY_VALUE1 + bitfield: + - range: 47..0 + default: 0x333333333333 + desc: TX_TC_DLY_VALUE [47:0] + + - name: GBT_TX_TC_DLY_VALUE2 + bitfield: + - range: 47..0 + default: 0x333333333333 + desc: TX_TC_DLY_VALUE [95:48] + + - name: GBT_TX_TC_DLY_VALUE3 + bitfield: + - range: 47..0 + default: 0x333333333333 + desc: TX_TC_DLY_VALUE [143:96] + + - name: GBT_TX_TC_DLY_VALUE4 + bitfield: + - range: 47..0 + default: 0x333333333333 + desc: TX_TC_DLY_VALUE [191:144] + + - name: GBT_DATA_TXFORMAT1 + desc: DATA_TXFORMAT [47:0] + bitfield: + - range: 47..0 + + - name: GBT_DATA_TXFORMAT2 + desc: DATA_TXFORMAT [95:48] + bitfield: + - range: 47..0 + + - name: GBT_DATA_RXFORMAT1 + desc: DATA_RXFORMAT [47:0] + bitfield: + - range: 47..0 + + - name: GBT_DATA_RXFORMAT2 + desc: DATA_RXFORMAT [95:0] + bitfield: + - range: 47..0 + + - name: GBT_TX_RESET + desc: TX Logic reset [47:0] + bitfield: + - range: 47..0 + + - name: GBT_RX_RESET + desc: RX Logic reset [47:0] + bitfield: + - range: 47..0 + + - name: GBT_TX_TC_METHOD + desc: TX time domain crossing method [47:0] + bitfield: + - range: 47..0 + + - name: GBT_OUTMUX_SEL + desc: Descrambler output MUX selection [47:0] + bitfield: + - range: 47..0 + + - name: GBT_TC_EDGE + desc: Sampling edge selection for TX domain crossing [47:0] + bitfield: + - range: 47..0 + + - name: GBT_TXPOLARITY + desc: | + 0: default polarity + 1: reversed polarity for transmitter of GTH channels + bitfield: + - range: 47..0 + default: 0 + + - name: GBT_RXPOLARITY + desc: | + 0: default polarity + 1: reversed polarity for the receiver of the GTH channels + bitfield: + - range: 47..0 + default: 0 + + - name: GTH_LOOPBACK_CONTROL + bitfield: + - range: 2..0 + default: 0x0 + desc: | + Controls loopback for loopback: read UG476 for the details. NOTE: the TXBUFFER is disabled, near end PCS loopback is not supported. + 000: Normal operation + 001: Near-End PCS Loopback + 010: Near-End PMA Loopback + 011: Reserved + 100: Far-End PMA Loopback + 101: Reserved + 110: Far-End PCS Loopback + + - name: GBT_TOHOST_FANOUT + offset: 0x0700 + bitfield: + - range: 48 + name: LOCK + default: 0x0 + desc: Locks this particular register. If set prevents software from touching it. + - range: 47..0 + name: SEL + default: 0xFFFFFFFFFFFF + desc: | + ToHost FanOut/Selector. Every bitfield is a channel: + 1 : GBT_EMU, select GBT Emulator for a specific CentralRouter channel + 0 : GBT_WRAP, select real GBT link for a specific CentralRouter channel + + - name: GBT_TOFRONTEND_FANOUT + bitfield: + - range: 48 + name: LOCK + default: 0x0 + desc: Locks this particular register. If set prevents software from touching it. + - range: 47..0 + name: SEL + default: 0xFFFFFFFFFFFF + desc: | + ToFrontEnd FanOut/Selector. Every bitfield is a channel: + 1 : GBT_EMU, select GBT Emulator for a specific GBT link + 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link + + +GBTWrapperMonitors: + group: GWM + desc: GBT Wrapper Monitors + endpoints: 0 + entries: + - name: GBT_VERSION + offset: 0x0600 + bitfield: + - range: 63..48 + name: DATE + desc: Date + - range: 47..32 + name: GBT_VERSION + desc: GBT Version + - range: 31..16 + name: GTH_IP_VERSION + desc: GTH IP Version + - range: 15..3 + name: RESERVED + desc: Reserved + - range: 2 + name: GTHREFCLK_SEL + desc: GTHREFCLK SEL + - range: 1 + name: RX_CLK_SEL + desc: RX CLK SEL + - range: 0 + name: PLL_SEL + desc: PLL SEL + + - name: GBT_TXRESET_DONE + offset: 0x0680 + desc: TX Reset done [47:0] + bitfield: + - range: 47..0 + + - name: GBT_RXRESET_DONE + desc: RX Reset done [47:0] + bitfield: + - range: 47..0 + + - name: GBT_TXFSMRESET_DONE + desc: TX FSM Reset done [47:0] + bitfield: + - range: 47..0 + + - name: GBT_RXFSMRESET_DONE + desc: RX FSM Reset done [47:0] + bitfield: + - range: 47..0 + + - name: GBT_CPLL_FBCLK_LOST + desc: CPLL FBCLK LOST [47:0] + bitfield: + - range: 47..0 + + - name: GBT_PLL_LOCK + bitfield: + - range: 59..48 + name: QPLL_LOCK + desc: QPLL LOCK [11:0] + - range: 47..0 + name: CPLL_LOCK + desc: CPLL LOCK [47:0] + + - name: GBT_RXCDR_LOCK + desc: RX CDR LOCK [47:0] + bitfield: + - range: 47..0 + + - name: GBT_CLK_SAMPLED + desc: clk sampled [47:0] + bitfield: + - range: 47..0 + + - name: GBT_RX_IS_HEADER + desc: RX IS HEADER [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_RX_IS_DATA + desc: RX IS DATA [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_RX_HEADER_FOUND + desc: RX HEADER FOUND [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_ALIGNMENT_DONE + desc: RX ALIGNMENT DONE [47:0] + bitfield: + - range: 47..0 + + - name: GBT_OUT_MUX_STATUS + desc: GBT output mux status [47:0] + bitfield: + - range: 47..0 + + - name: GBT_ERROR + desc: Error flags [47:0] + bitfield: + - range: 47..0 + + - name: GBT_GBT_TOPBOT_C + desc: TopBot_c [47:0] + generate: GBT_GENERATE_ALL_REGS = true + bitfield: + - range: 47..0 + + - name: GBT_FM_RX_DISP_ERROR1 + offset: 0x0800 + bitfield: + - range: 47..0 + desc: Rx disparity error [47:0] + + - name: GBT_FM_RX_DISP_ERROR2 + bitfield: + - range: 47..0 + desc: Rx disparity error [96:48] + + - name: GBT_FM_RX_NOTINTABLE1 + bitfield: + - range: 47..0 + desc: Rx not in table [47:0] + + - name: GBT_FM_RX_NOTINTABLE2 + bitfield: + - range: 47..0 + desc: Rx not in table [96:48] + +TTCBUSYControlsAndMonitors: + group: TTCBUSY + desc: TTC and BUSY Controls and Monitors + endpoints: 0 + entries: + + - ref: TTC_DEC_CTRLMON + desc: control and monitor bits for TTC decoder + + - ref: TTC_BUSY_ACCEPTED + + - name: TTC_EMU + type: W + bitfield: + - range: 2 + name: FULL + type: R + desc: TTC Emulator memory full indication + - range: 1 + name: SEL + desc: Select TTC data source 1 TTC Emu | 0 TTC Decoder + - range: 0 + name: ENA + desc: Enable TTC data generator + + - ref: TTC_DELAY + + - name: TTC_BUSY_TIMING_CTRL + descr: Controls the BUSY Logic + type: W + bitfield: + - range: 51..32 + name: PRESCALE + default: 0x0000F + desc: Prescales the 40MHz clock to create an internal slow clock + - range: 31..16 + name: BUSY_WIDTH + default: 0x000F + desc: Minimum number of 40MHz clocks that the busy is asserted + - range: 15..0 + name: LIMIT_TIME + default: 0x000F + desc: Number of prescaled clocks a given busy must be asserted before it is recognized + + - name: TTC_BUSY_CLEAR + desc: clears the latching busy bits in TTC_BUSY_ACCEPTED + type: T + value: 1 + bitfield: + - range: any + + - name: TTC_EMU_CONTROL + type: W + bitfield: + - range: any + name: WE + type: T + desc: Any write to this register executes a write enable + value: 1 + - range: 35 + name: LAST_LINE + desc: Last line of the sequence + - range: 34 + name: REPEAT + desc: Repeat the sequence + - range: 33 + name: BROADCAST6 + desc: Broadcast 6 + - range: 32 + name: BROADCAST5 + desc: Broadcast 5 + - range: 31 + name: BROADCAST4 + desc: Broadcast 4 + - range: 30 + name: BROADCAST3 + desc: Broadcast 3 + - range: 29 + name: BROADCAST2 + desc: Broadcast 2 + - range: 28 + name: BROADCAST1 + desc: Broadcast 1 + - range: 27 + name: BROADCAST0 + desc: Broadcast 0 + - range: 26 + name: ECR + desc: Event counter reset + - range: 25 + name: BCR + desc: Bunch counter reset + - range: 24 + name: L1A + desc: Level 1 Accept + - range: 21..0 + name: STEP_COUNTER + desc: Step counter value + +TTC_DEC_CTRLMON: + group: TDCM + format_name: TTC_DEC_CTRLMON + entries: + - name: TTC_DEC_CTRL + format_name: TTC_DEC_CTRL + type_name: TTC_DEC_CTRLS + type: W + bitfield: + - range: 14 + name: BUSY_OUTPUT_STATUS + type: R + desc: Actual status of the BUSY LEMO output signal + - range: 13 + name: ECR_BCR_SWAP + default: 0 + desc: ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) + - range: 12 + name: BUSY_OUTPUT_INHIBIT + default: 0 + desc: forces the Busy LEMO output to BUSY-OFF + - range: 11 + name: TOHOST_RST + desc: reset toHost in ttc decoder + default: 0 + - range: 10 + name: TT_BCH_EN + desc: trigger type enable / disable for TTC-ToHost + default: 1 + - range: 9..2 + name: XL1ID_SW + desc: set XL1ID value, the value to be set by XL1ID_RST signal + default: 0x00 + - range: 1 + name: XL1ID_RST + desc: giving a trigger signal to reset XL1ID value + default: 0 + - range: 0 + name: MASTER_BUSY + desc: L1A trigger throttling + default: 0 + - name: TTC_DEC_MON + format_name: TTC_DEC_MON + type_name: TTC_DEC_MONS + type: R + bitfield: + - range: 15..5 + name: TH_FF_COUNT + desc: ToHostData Fifo counts + - range: 4 + name: TH_FF_FULL + desc: ToHostData Fifo status 1:full 0:not full + - range: 3 + name: TH_FF_EMPTY + desc: ToHostData Fifo status 1:empty 0:not empty + - range: 2..0 + name: TTC_BIT_ERR + desc: double bit, single bit and comm error in TTC data + +TTC_BUSY_ACCEPTED: + desc: busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR + number: 24 + endpoints: 0,1 + type: R + bitfield: + - range: 56..0 + entries: + - name: BUSY_ACCEPTED + format_name: TTC_BUSY_ACCEPTED{index:02} + + +TTC_DELAY: + number: 48 + type: W + entries: + - name: TTC_DELAY + format_name: TTC_DELAY_{index:02} + type_name: TTC_DELAY + desc: Controls the TTC Fanout delay values + bitfield: + - range: 3..0 + default: 0 + +XOFF_BUSYControlsAndMonitors: + group: XOFF + desc: XOFF Controls and Monitors, see table 2 of Busy specs manual + endpoints: 0, 1 + entries: + - name: XOFF_FM_CH_FIFO_THRESH_LOW + desc: Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB + type: W + bitfield: + - range: 47..44 + name: CH11 + default: 0xB + - range: 43..40 + name: CH10 + default: 0xB + - range: 39..36 + name: CH09 + default: 0xB + - range: 35..32 + name: CH08 + default: 0xB + - range: 31..28 + name: CH07 + default: 0xB + - range: 27..24 + name: CH06 + default: 0xB + - range: 23..20 + name: CH05 + default: 0xB + - range: 19..16 + name: CH04 + default: 0xB + - range: 15..12 + name: CH03 + default: 0xB + - range: 11..8 + name: CH02 + default: 0xB + - range: 7..4 + name: CH01 + default: 0xB + - range: 3..0 + name: CH00 + default: 0xB + + - name: XOFF_FM_CH_FIFO_THRESH_HIGH + desc: Controls the high theshold of the channel fifo in FULL mode on which an Xoff will be asserted, bitfields control 4 MSB + type: W + bitfield: + - range: 47..44 + name: CH11 + default: 0xB + - range: 43..40 + name: CH10 + default: 0xB + - range: 39..36 + name: CH09 + default: 0xB + - range: 35..32 + name: CH08 + default: 0xB + - range: 31..28 + name: CH07 + default: 0xB + - range: 27..24 + name: CH06 + default: 0xB + - range: 23..20 + name: CH05 + default: 0xB + - range: 19..16 + name: CH04 + default: 0xB + - range: 15..12 + name: CH03 + default: 0xB + - range: 11..8 + name: CH02 + default: 0xB + - range: 7..4 + name: CH01 + default: 0xB + - range: 3..0 + name: CH00 + default: 0xB + + - name: XOFF_FM_LOW_THRESH_CROSSED + desc: FIFO filled beyond the low threshold, 1 bit per channel + type: R + bitfield: + - range: 11..0 + - name: XOFF_FM_HIGH_THRESH + type: W + bitfield: + - range: any + name: CLEAR_LATCH + desc: Writing this register will clear all CROSS_LATCHED bits + type: T + value: 1 + - range: 23..12 + type: R + name: CROSS_LATCHED + desc: FIFO filled beyond the high threshold, 1 latch bit per channel + - range: 11..0 + type: R + name: CROSSED + desc: FIFO filled beyond the high threshold, 1 bit per channel + + - name: XOFF_FM_SOFT_XOFF + type: W + desc: Set any bit in this register to assert XOFF for the given channel, clearing bits will assert XON + bitfield: + - range: 23..0 + + - name: XOFF_ENABLE + type: W + desc: Enable XOFF assertion (To Frontend) in case the FULL mode CH FIFO gets beyond thresholds. One bit per channel + bitfield: + - range: 23..0 + + - name: DMA_BUSY_STATUS + type: W + bitfield: + - range: any + type: T + value: 1 + name: CLEAR_LATCH + desc: Any write to this register clears TOHOST_BUSY_LATCHED + - range: 4 + type: W + name: ENABLE + desc: Enable the DMA buffer on the server as a source of busy + default: 0 + - range: 3 + type: R + name: TOHOST_BUSY_LATCHED + desc: A tohost descriptor has passed BUSY_THRESHOLD_ASSERT in the past, busy flag was set + value: (others => tohost_busy_latched_40_s) + - range: 2 + type: R + name: FROMHOST_BUSY_LATCHED + desc: A fromhost descriptor has passed BUSY_THRESHOLD_ASSERT in the past, busy flag was set + value: (others => fromhost_busy_latched_40_s) + - range: 1 + type: R + name: FROMHOST_BUSY + desc: A fromhost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + value: (others => fromhost_busy_40_s) + - range: 0 + type: R + name: TOHOST_BUSY + desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + value: (others => tohost_busy_40_s) + + - name: FM_BUSY_CHANNEL_STATUS + type: W + bitfield: + - range: any + name: CLEAR_LATCH + type: T + value: 1 + desc: Any write to this register will clear the BUSY_LATCHED bits + - range: 23..12 + type: R + name: BUSY_LATCHED + desc: one Indicates that the given FULL mode channel has received BUSY-ON + - range: 11..0 + type: R + name: BUSY + desc: one Indicates that the given FULL mode channel is currently in BUSY state + + - name: BUSY_MAIN_OUTPUT_FIFO_THRESH + type: W + bitfield: + - range: 24 + name: BUSY_ENABLE + desc: Enable busy generation if thresholds are crossed + default: 0 + - range: 23..12 + name: LOW + desc: Low, Negate threshold of busy generation from main output fifo + default: 0x3FF + - range: 11..0 + name: HIGH + desc: High, Assert threshold of busy generation from main output fifo + default: 0x4FF + + - name: BUSY_MAIN_OUTPUT_FIFO_STATUS + type: W + bitfield: + - range: any + name: CLEAR_LATCHED + value: 1 + desc: Any write to this register will clear the + type: T + - range: 2 + type: R + name: HIGH_THRESH_CROSSED_LATCHED + desc: Main output fifo has been full beyond HIGH THRESHOLD, write to clear + - range: 1 + type: R + name: HIGH_THRESH_CROSSED + desc: Main output fifo is full beyond HIGH THRESHOLD + - range: 0 + type: R + name: LOW_THRESH_CROSSED + desc: Main output fifo is full beyond LOW THRESHOLD + - ref: ELINK_BUSY_ENABLE + + +ELINK_BUSY_ENABLE: + desc: Per elink (and FULL mode link) enable of the busy signal towards the LEMO output + number: 24 + endpoints: 0 + type: W + bitfield: + - range: 56..0 + entries: + - name: ELINK_BUSY_ENABLE + format_name: ELINK_BUSY_ENABLE{index:02} + +HouseKeepingControlsAndMonitors: + group: HKC + desc: House Keeping Controls and Monitors + endpoints: 0 + entries: + + - name: HK_CTRL_I2C + type: W + bitfield: + - range: 1 + name: CONFIG_TRIG + desc: i2c_config_trig + - range: 0 + name: CLKFREQ_SEL + desc: i2c_clkfreq_sel + + - name: HK_CTRL_FMC + type: W + bitfield: + - range: 7 + name: SI5345_LOL + type: R + desc: Loss of lock pin, only connected on FLX711 + - range: 6..5 + name: SI5345_INSEL + default: 0x0 + desc: | + Selects the input clock source + 0 : FPGA (FMC LA01) + 1 : FMC OSC (40.079 MHz) + 2 : FPGA (FMC LA18) + - range: 4..3 + name: SI5345_A + default: 0x0 + desc: Si5345 I2C address select 2 LSB (0x0:default, dev id 0x68) + - range: 2 + name: SI5345_OE + default: 0x1 + desc: Si5345 active low output enable (0:enable) + - range: 1 + name: SI5345_RSTN + default: 0x0 + desc: Si5345 active low output enable (0:reset) + - range: 0 + name: SI5345_SEL + default: 0x1 + desc: | + Si5345 programming mode + 1 : I2C mode (default) + 0 : SPI mode + + - name: HK_MON_FMC + type: W + bitfield: + - range: 1 + name: SI5345_LOL + desc: Si5345 Loss Of Lock pin + - range: 0 + name: SI5345_INTR + desc: Si5345 Interrupt flagging chip change of status + + - name: MMCM_MAIN + type: W + offset: 0x0300 + bitfield: + - range: 3 + type: W + name: LCLK_SEL + default: 0x1 + desc: | + 1: LCLK + 0: TTC + - range: 2..1 + type: R + name: MAIN_INPUT + desc: | + Main MMCM Oscillator Input + 2: LCLK fixed + 1: TTC fixed + 0: selectable + - range: 0 + type: R + name: PLL_LOCK + desc: Main MMCM PLL Lock Status + + - name: LMK_LOCKED + type: R + bitfield: + - range: 0 + desc: LMK Chip on BNL-711 locked + + - name: FPGA_CORE_TEMP + type: R + bitfield: + - range: 11..0 + desc: | + XADC temperature monitor for the FPGA CORE + for FLX709, FLX710 + temp (C)= ((FPGA_CORE_TEMP* 503.975)/4096)-273.15 + for FLX711 + temp (C)= ((FPGA_CORE_TEMP* 502.9098)/4096)-273.8195 + - name: FPGA_CORE_VCCINT + type: R + bitfield: + - range: 11..0 + desc: XADC voltage measurement VCCINT = (FPGA_CORE_VCCINT *3.0)/4096 + - name: FPGA_CORE_VCCAUX + type: R + bitfield: + - range: 11..0 + desc: XADC voltage measurement VCCAUX = (FPGA_CORE_VCCAUX *3.0)/4096 + - name: FPGA_CORE_VCCBRAM + type: R + bitfield: + - range: 11..0 + desc: XADC voltage measurement VCCBRAM = (FPGA_CORE_VCCBRAM *3.0)/4096 + + - name: FPGA_DNA + type: R + bitfield: + - range: 63..0 + desc: Unique identifier of the FPGA + + + - name: SPI_WR + type: W + offset: 0x0400 + bitfield: + - range: any + type: T + value: not register_map_monitor_s.register_map_hk_monitor.SPI_WR.SPI_FULL + name: SPI_WREN + desc: Any write to this register triggers an SPI Write + - range: 32 + type: R + name: SPI_FULL + desc: SPI FIFO Full + - range: 31..0 + type: W + name: SPI_DIN + desc: SPI WRITE Data + + - name: SPI_RD + type: T + bitfield: + - range: any + type: T + value: not register_map_monitor_s.register_map_hk_monitor.SPI_RD.SPI_EMPTY + name: SPI_RDEN + desc: Any write to this register pops the last SPI data from the FIFO + - range: 32 + type: R + name: SPI_EMPTY + desc: SPI FIFO Empty + - range: 31..0 + type: R + name: SPI_DOUT + desc: SPI READ Data + + - name: I2C_WR + type: W + bitfield: + - range: any + name: I2C_WREN + type: T + value: not register_map_monitor_s.register_map_hk_monitor.I2C_WR.I2C_FULL + desc: Any write to this register triggers an I2C read or write sequence + - range: 25 + type: R + name: I2C_FULL + desc: I2C FIFO full + - range: 24 + name: WRITE_2BYTES + type: W + desc: Write two bytes + - range: 23..16 + name: DATA_BYTE2 + type: W + desc: Data byte 2 + - range: 15..8 + name: DATA_BYTE1 + type: W + desc: Data byte 1 + - range: 7..1 + name: SLAVE_ADDRESS + type: W + desc: Slave address + - range: 0 + name: READ_NOT_WRITE + type: W + desc: READ/<o>WRITE</o> + + - name: I2C_RD + type: T + bitfield: + - range: any + name: I2C_RDEN + type: T + value: not register_map_monitor_s.register_map_hk_monitor.I2C_RD.I2C_EMPTY + desc: Any write to this register pops the last I2C data from the FIFO + - range: 8 + type: R + name: I2C_EMPTY + desc: I2C FIFO Empty + - range: 7..0 + type: R + name: I2C_DOUT + desc: I2C READ Data + + + - name: DEBUG_PORT_GBT + offset: 0x0500 + type: W + bitfield: + - range: 6..0 + desc: Debug GBT data bit N (119..0) on SMA HTGx#3 + + - name: DEBUG_PORT_CLK + type: W + bitfield: + - range: 3..0 + desc: Debug clock and L1A port on SMA HTGx#4 + + - name: INT_TEST_4 + offset: 0x0800 + type: T + value: 1 + bitfield: + - range: any + desc: Fire a test MSIx interrupt \#4 + + - name: CONFIG_FLASH_WR + type: W + bitfield: + - range: 57 + type: W + name: FAST_WRITE + desc: Write command only. Only used for fast programming. + - range: 56 + type: W + name: FAST_READ + desc: Status reading without command writing. Only used for fast programming. + - range: 55 + type: W + name: PAR_CTRL + desc: Choose use FW or uC to select the Flash partition. 1 FW | 0 uC. + - range: 54..53 + type: W + name: PAR_WR + desc: Choose Flash partition. Valid when PAR_CTRL is 1. + - range: 52 + type: W + name: FLASH_SEL + desc: 1 takes control over flash, 0 gives JTAG control over flash + - range: 51 + type: W + name: DO_INIT + desc: Untested feature, don't use it yet. + - range: 50 + type: W + name: DO_READSTATUS + desc: Reads status from flash + - range: 49 + type: W + name: DO_CLEARSTATUS + desc: Clears status reading from flash, back to normal flash operation + - range: 48 + type: W + name: DO_ERASEBLOCK + desc: Erased the current block of the flash, this register has to be cleared by software + - range: 47 + name: DO_UNLOCK_BLOCK + type: W + desc: Unlock writes to the current block, this register has to be cleared by software + - range: 46 + name: DO_READ + type: W + desc: Reads the 16 bits from current address, this register has to be cleared by software + - range: 45 + name: DO_WRITE + type: W + desc: Writes the 16 bits to current address, this register has to be cleared by software + - range: 44 + name: DO_READDEVICEID + type: W + desc: DIN should return 0x0089, this register has to be cleared by software + - range: 43 + name: DO_RESET + type: W + desc: Can be used in the future, currently disconnected in firmware + - range: 42..16 + name: ADDRESS + type: W + desc: Address for read and write operations (25 bits, upper 2 bits are controlled by uC) + - range: 15..0 + name: WRITE_DATA + type: W + desc: Value of data to write towards flash + - name: CONFIG_FLASH_RD + type: R + bitfield: + - range: 19..18 + name: PAR_RD + type: R + desc: Show which Flash partition is selected. + - range: 17 + name: FLASH_REQ_DONE + type: R + desc: Request done + - range: 16 + name: FLASH_BUSY + type: R + desc: Flash operation busy + - range: 15..0 + name: READ_DATA + type: R + desc: Value of data read from flash + - name: SI5324_STATUS + type: R + bitfield: + - range: 15..8 + name: LOL + desc: Loss of Lock Si5324 + - range: 8..0 + name: LOS + desc: Loss of Signal Si5324 + + - name: TACH_CNT + type: R + desc: Readout of the Fan tachometer speed of the BNL712 board + bitfield: + - range: 19..0 + +Generators: + group: GEN + desc: Specific registers for Hardware based Generators + endpoints: 0 + generate: EMU_GENERATE_REGS = true + entries: + + - ref: FELIG_DATA_GEN_CONFIG_ARR + offset: 0x20 + - ref: FELIG_ELINK_CONFIG_ARR + - ref: FELIG_ELINK_ENABLE_ARR + + - name: FELIG_GLOBAL_CONTROL + type: W + bitfield: + - range: 63..36 + name: FAKE_L1A_RATE + default: 0 + desc: Sets the internal fake L1 trigger rate. [25ns/LSB] + - range: 35..14 + name: PICXO_OFFSET_PPM + default: 0 + desc: When OFFSET_EN is 1, this directly sets the output frequency, within the given adjustment range. + - range: 12..12 + name: TRACK_DATA + default: 0 + desc: FELIG GT core control. Must be set to enable normal operation. + - range: 11..11 + name: RXUSERRDY + default: 0 + desc: FELIG GT core control. Must be set to enable normal operation. + - range: 10..10 + name: TXUSERRDY + default: 0 + desc: FELIG GT core control. Must be set to enable normal operation. + - range: 9..9 + name: AUTO_RESET + default: 0 + desc: FELIG GT core control. If set the GT core automatically resets on data error. + - range: 8..8 + name: PICXO_RESET + default: 0 + desc: FELIG GT core control. Manual PICXO reset. + - range: 7..7 + name: GTTX_RESET + default: 0 + desc: FELIG GT core control. Manual GT TX reset + - range: 6..6 + name: CPLL_RESET + default: 0 + desc: FELIG GT core control. Manual CPLL reset. + - range: 5..0 + name: X3_X4_OUTPUT_SELECT + default: 0 + desc: X3/X4 SMA output source select. + + - ref: FELIG_LANE_CONFIG_ARR + - ref: FELIG_MON_TTC_0_ARR + - ref: FELIG_MON_TTC_1_ARR + - ref: FELIG_MON_COUNTERS_ARR + - ref: FELIG_MON_FREQ_ARR + + - name: FELIG_MON_FREQ_GLOBAL + type: W + bitfield: + - range: 63..32 + name: XTAL_100MHZ + default: 0 + desc: FELIG local oscillator frequency[Hz]. + - range: 31..0 + name: CLK_41_667MHZ + desc: FELIG PCIE MGTREFCLK frequency[Hz]. + + - ref: FELIG_MON_L1A_ID_ARR + - ref: FELIG_MON_PICXO_ARR + + - name: FELIG_RESET + type: W + bitfield: + - range: 63..48 + name: LB_FIFO + default: 0 + desc: One bit per lane. When set to 1, resets all loopback FIFOs. + - range: 47..24 + name: FRAMEGEN + default: 0 + desc: One bit per lane. When set to 1, resets all FELIG link checking logic. + - range: 23..0 + name: LANE + default: 0 + desc: One bit per lane. When set to 1, resets all FELIG lane logic. + + - name: FELIG_RX_SLIDE_RESET + type: W + bitfield: + - range: 23..0 + default: 0 + desc: One bit per lane. When set to 1, resets the gbt rx slide counter. + + - name: FMEMU_EVENT_INFO + type: W + offset: 0x1800 + bitfield: + - range: 63..32 + name: L1ID + default: 0 + desc: 32b field to show L1ID + - range: 31..0 + name: BCID + default: 0 + desc: 32b field to show BCID + + - name: FMEMU_COUNTERS + type: W + bitfield: + - range: 63..48 + name: WORD_CNT + default: 32 + desc: Number of 32b words in one chunk + - range: 47..32 + name: IDLE_CNT + default: 3 + desc: Minimum number of idles between chunks + - range: 31..16 + name: L1A_CNT + default: 256 + desc: Number of chunks to send if not in TTC mode + - range: 15..8 + name: BUSY_TH_HIGH + default: 20 + desc: Assert BUSY-ON above this threshold + - range: 7..0 + name: BUSY_TH_LOW + default: 15 + desc: De-assert BUSY-ON below this threshold + + - name: FMEMU_CONTROL + type: W + bitfield: + - range: 63..56 + type: W + name: L1A_BITNR + default: 32 + desc: Bitfield for L1A in TTC frame + - range: 55..48 + type: W + name: XONXOFF_BITNR + default: 32 + desc: Bitfield for Xon/Xoff in TTC frame + - range: 47..47 + type: W + name: EMU_START + default: 0 + desc: Start emulator functionality + - range: 46..46 + type: W + name: TTC_MODE + default: 0 + desc: Control the emulator by TTC input or by RegMap (1/0) + - range: 45..45 + type: W + name: XONXOFF + default: 0 + desc: Debug Xon/Xoff functionality (1/0) + - range: 44..44 + type: W + name: INLC_CRC32 + default: 0 + desc: | + 0: No checksum + 1: Append the data with a CRC32 + - range: 43..43 + type: W + name: BCR + default: 0 + desc: Reset BCID to 0 + - range: 42..42 + type: W + name: ECR + default: 0 + desc: Reset L1ID to 0 + - range: 41..41 + type: W + name: DATA_SRC_SEL + default: 0 + desc: | + Data source select + 0: Data input comes from EMURAM + 1: Data input comes from PCIe + - range: 40..32 + type: R + name: INT_STATUS_EMU + default: 0 + desc: Read internal status emulator + - range: 31..16 + type: W + name: FFU_FM_EMU_T + default: 0 + desc: For Future Use (trigger registers) + - range: 15..0 + type: W + name: FFU_FM_EMU_W + default: 0 + desc: For Future Use (write registers) + + - name: FMEMU_RANDOM_RAM_ADDR + type: W + desc: Controls the address of the ramblock for the random number generator + bitfield: + - range: 9..0 + - name: FMEMU_RANDOM_RAM + type: W + bitfield: + - range: any + type: T + name: WE + value: 1 + desc: Any write to this register (DATA) triggers a write to the ramblock + - range: 39..16 + name: CHANNEL_SELECT + value: 0xFFFFFF + desc: Enable write enable only for the selected channel + - range: 15..0 + name: DATA + type: W + desc: DATA field to be written to FMEMU_RANDOM_RAM_ADDR + - name: FMEMU_RANDOM_CONTROL + type: W + desc: Controls the random chunk length generator + bitfield: + - name: SELECT_RANDOM + range: 20 + desc: 1 enables the random chunk length, 0 uses a constant chunk length + default: 0 + - name: SEED + range: 19..10 + desc: Seed for the random number generator, should not be 0 + default: 0x200 + - name: POLYNOMIAL + range: 9..0 + desc: POLYNOMIAL for the random number generator (10b LFSR) Bit9 should always be 1 + default: 0x240 + + +#Registers that are replicated 24 times under Generators: +FELIG_DATA_GEN_CONFIG_ARR: + number: 24 + type: W + entries: + - name: FELIG_DATA_GEN_CONFIG + format_name: FELIG_DATA_GEN_CONFIG_{index:02} + type_name: FELIG_DATA_GEN_CONFIG + desc: FELIG specific configuration test registers + bitfield: + - name: USERDATA + range: 63..48 + default: 0 + desc: Sets static payload word. When PATTERN_SEL=1. + - name: CHUNK_LENGTH + range: 47..32 + default: 0 + desc: FELIG data generator chunk-length in bytes. + - name: RESET + range: 19..15 + default: 0 + desc: FELIG data generator reset. One bit per group, 0:normal operation, 1:egroup emulation held in reset. + - name: SW_BUSY + range: 14..10 + default: 0 + desc: FELIG elink bus state. One bit per group, 0:normal operation, 1:elink enter busy state. + - name: DATA_FORMAT + range: 9..5 + default: 0 + desc: FELIG data generator format. 0:8b10b, 1:direct. + - name: PATTERN_SEL + range: 4..0 + default: 0 + desc: FELIG data payload type. One bit per group, 0:byte counter, 1:USERDATA + +FELIG_ELINK_CONFIG_ARR: + number: 24 + type: W + entries: + - name: FELIG_ELINK_CONFIG + format_name: FELIG_ELINK_CONFIG_{index:02} + type_name: FELIG_ELINK_CONFIG + desc: FELIG specific configuration test registers + bitfield: + - name: ENDIAN_MOD + range: 39..35 + default: 0 + desc: FELIG elink data input endian control. One bit per egroup. 0:little-endian (8b10b), 1:big-endian. + - name: INPUT_WIDTH + range: 34..30 + default: 0 + desc: FELIG elink data input width. One bit per egroup. 0:8-bit (direct), 1:10-bit (8b10b). + - name: OUTPUT_WIDTH + range: 9..0 + default: 0 + desc: FELIG elink data output width. + +FELIG_ELINK_ENABLE_ARR: + number: 24 + type: W + entries: + - name: FELIG_ELINK_ENABLE + format_name: FELIG_ELINK_ENABLE_{index:02} + type_name: FELIG_ELINK_ENABLE + desc: FELIG specific configuration registers + bitfield: + - range: 39..0 + default: 0 + desc: FELIG elink enable. One bit per elink. 0:disabled, 1:enabled. + +FELIG_LANE_CONFIG_ARR: + number: 24 + type: W + entries: + - name: FELIG_LANE_CONFIG + format_name: FELIG_LANE_CONFIG_{index:02} + type_name: FELIG_LANE_CONFIG + desc: FELIG specific configuration registers + bitfield: + - name: B_CH_BIT_SEL + range: 63..42 + default: 0 + desc: When OFFSET_EN is 1. this directly sets the output frequency. within the given adjustment range. + - name: A_CH_BIT_SEL + range: 41..35 + default: 0 + desc: Selects the bit from the received FELIX data from which to extract the L1A. + - name: LB_FIFO_DELAY + range: 34..30 + default: 0 + desc: When the GTH or GTB loopback is enabled, this controls the loopback latency in clock cycles. + - name: ELINK_SYNC + range: 7..7 + default: 0 + desc: When set, synchronizes the elink word boundaries. Must be set back to 0 to resume normal operation. + - name: PICXO_OFFEST_EN + range: 6..6 + default: 0 + desc: FELIG TX frequency override. 0:frequency tracking enabled, 1:TX frequency set by PICXO_OFFSET_PPM. + - name: PI_HOLD + range: 5..5 + default: 0 + desc: FELIG phase-interpolator hold. 0:frequency tracking enabled, 1:freeze TX frequency. + - name: GBT_LB_ENABLE + range: 4..4 + default: 0 + desc: FELIG GBT direct loopback enable. 0:disabled, 1:enabled. + - name: GBH_LB_ENABLE + range: 3..3 + default: 0 + desc: FELIG GTH direct loopback enable. 0:disabled, 1:enabled. + - name: L1A_SOURCE + range: 2..2 + default: 0 + desc: FELIG L1A data source select. 0:from local counter, 1:from FELIX. + - name: GBT_EMU_SOURCE + range: 1..1 + default: 0 + desc: FELIG emulation data source select. 0:state-machine emulator, 1:ram-based emulator. + - name: FG_SOURCE + range: 0..0 + default: 0 + desc: FELIG link check data source selection control. 0:normal operation, 1:PRBS link checker (not elink emulation data) + +FELIG_MON_TTC_0_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_TTC_0 + format_name: FELIG_MON_TTC_0_{index:02} + type_name: FELIG_MON_TTC_0 + desc: FELIG specific configuration registers + bitfield: + - name: L1ID + range: 63..40 + default: 0 + desc: Live TTC data monitor. + - name: XL1ID + range: 39..32 + default: 0 + desc: Live TTC data monitor. + - name: BCID + range: 31..20 + default: 0 + desc: Live TTC data monitor. + - name: RESERVED0 + range: 19..16 + default: 0 + desc: Live TTC data monitor. + - name: LEN + range: 15..8 + default: 0 + desc: Live TTC data monitor. + - name: FMT + range: 7..0 + default: 0 + desc: Live TTC data monitor. + +FELIG_MON_TTC_1_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_TTC_1 + format_name: FELIG_MON_TTC_1_{index:02} + type_name: FELIG_MON_TTC_1 + desc: FELIG specific configuration registers + bitfield: + - name: RESERVED1 + range: 63..48 + default: 0 + desc: Live TTC data monitor. + - name: TRIGGER_TYPE + range: 47..32 + default: 0 + desc: Live TTC data monitor. + - name: ORBIT + range: 31..0 + default: 0 + desc: Live TTC data monitor. + +FELIG_MON_COUNTERS_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_COUNTERS + format_name: FELIG_MON_COUNTERS_{index:02} + type_name: FELIG_MON_COUNTERS + desc: FELIG specific configuration registers + bitfield: + - name: SLIDE_COUNT + range: 63..32 + default: 0 + desc: Counts the number of rx slides commanded by the GBT logic. Should be static once a link is established. + - name: FC_ERROR_COUNT + range: 31..0 + default: + desc: When FG_DATA_SELECT is 1, this counter reports the number of detected data errors. + +FELIG_MON_FREQ_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_FREQ + format_name: FELIG_MON_FREQ_{index:02} + type_name: FELIG_MON_FREQ + desc: FELIG specific configuration registers + bitfield: + - name: TX + range: 63..32 + default: 0 + desc: FELIG regenerated TX clock frequency[Hz]. + - name: RX + range: 31..0 + default: 0 + desc: FELIG recovered RX clock frequency[Hz]. + +FELIG_MON_L1A_ID_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_L1A_ID + format_name: FELIG_MON_L1A_ID_{index:02} + type_name: FELIG_MON_L1A_ID + desc: FELIG specific configuration registers + bitfield: + - range: 31..0 + default: 0 + desc: FELIG's last L1 ID. + +FELIG_MON_PICXO_ARR: + number: 24 + type: R + entries: + - name: FELIG_MON_PICXO + format_name: FELIG_MON_PICXO_{index:02} + type_name: FELIG_MON_PICXO + desc: FELIG specific configuration registers + bitfield: + - name: VLOT + range: 53..32 + default: 0 + desc: Value indicates TX clock (recovered RX clock) to RX reference clock frequency offset. + - name: ERROR + range: 20..0 + default: 0 + desc: Value indicates RX to TX frequency tracking error. + diff --git a/sources/templates/version.txt b/sources/templates/version.txt index 07de8fc4e..f5ce831ef 100644 --- a/sources/templates/version.txt +++ b/sources/templates/version.txt @@ -1 +1 @@ -0406 \ No newline at end of file +0407 \ No newline at end of file -- GitLab From 053264016856959cd3218909249fe10265552c00 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Thu, 28 Mar 2019 17:27:16 +0100 Subject: [PATCH 02/19] Changed comment of ENA register in TTC_EMU --- sources/templates/dma_control.vhd | 6 +++--- sources/templates/pcie_package.vhd | 4 ++-- sources/templates/registers-4.7.yaml | 2 +- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 862cc9923..807ec5846 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6941,7 +6941,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= REG_TTC_DEC_CTRL_XL1ID_RST_C; -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= REG_TTC_DEC_CTRL_MASTER_BUSY_C; -- L1A trigger throttling register_map_control_s.TTC_EMU.SEL <= REG_TTC_EMU_SEL_C; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Enable TTC data generator + register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence register_map_control_s.TTC_DELAY_00 <= REG_TTC_DELAY_00_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_01 <= REG_TTC_DELAY_01_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_02 <= REG_TTC_DELAY_02_C; -- Controls the TTC Fanout delay values @@ -13575,7 +13575,7 @@ end process; register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY; -- L1A trigger throttling when REG_TTC_EMU => register_read_data_25_s(2 downto 2) <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL; -- TTC Emulator memory full indication register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Enable TTC data generator + register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence when REG_TTC_DELAY_00 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_00; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_01; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_02; -- Controls the TTC Fanout delay values @@ -20708,7 +20708,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= register_write_data_25_v(1 downto 1); -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= register_write_data_25_v(0 downto 0); -- L1A trigger throttling when REG_TTC_EMU => register_map_control_s.TTC_EMU.SEL <= register_write_data_25_v(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Enable TTC data generator + register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence when REG_TTC_DELAY_00 => register_map_control_s.TTC_DELAY_00 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_map_control_s.TTC_DELAY_01 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_map_control_s.TTC_DELAY_02 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index 94202ddda..273face1a 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -1530,7 +1530,7 @@ package pcie_package is type bitfield_ttc_emu_w_type is record SEL : std_logic_vector(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - ENA : std_logic_vector(0 downto 0); -- Enable TTC data generator + ENA : std_logic_vector(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence end record; type bitfield_ttc_busy_timing_ctrl_w_type is record @@ -5495,7 +5495,7 @@ package pcie_package is constant REG_TTC_DEC_CTRL_XL1ID_RST_C : std_logic_vector(1 downto 1) := "0"; -- giving a trigger signal to reset XL1ID value constant REG_TTC_DEC_CTRL_MASTER_BUSY_C : std_logic_vector(0 downto 0) := "0"; -- L1A trigger throttling constant REG_TTC_EMU_SEL_C : std_logic_vector(1 downto 1) := "0"; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Enable TTC data generator + constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence constant REG_TTC_DELAY_00_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_01_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_02_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml index 726de4c24..4def8602e 100644 --- a/sources/templates/registers-4.7.yaml +++ b/sources/templates/registers-4.7.yaml @@ -1458,7 +1458,7 @@ TTCBUSYControlsAndMonitors: desc: Select TTC data source 1 TTC Emu | 0 TTC Decoder - range: 0 name: ENA - desc: Enable TTC data generator + desc: Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence - ref: TTC_DELAY -- GitLab From fa19fc4ef4dc925f78f08f9a5925805220f283a5 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Thu, 18 Apr 2019 13:08:20 +0200 Subject: [PATCH 03/19] Removed BROADCAST6 bitfield as requested by Israel, regenerated VHDL and doc --- sources/templates/dma_control.vhd | 3 --- sources/templates/pcie_package.vhd | 2 -- sources/templates/registermap.tex | 27 ++++++++++++++++++++++----- sources/templates/registers-4.7.yaml | 3 --- sources/templates/registers.pdf | Bin 197747 -> 199259 bytes 5 files changed, 22 insertions(+), 13 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 807ec5846..1a2a29400 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6995,7 +6995,6 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C; -- Number of prescaled clocks a given busy must be asserted before it is recognized register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= REG_TTC_EMU_CONTROL_LAST_LINE_C; -- Last line of the sequence register_map_control_s.TTC_EMU_CONTROL.REPEAT <= REG_TTC_EMU_CONTROL_REPEAT_C; -- Repeat the sequence - register_map_control_s.TTC_EMU_CONTROL.BROADCAST6 <= REG_TTC_EMU_CONTROL_BROADCAST6_C; -- Broadcast 6 register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= REG_TTC_EMU_CONTROL_BROADCAST5_C; -- Broadcast 5 register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= REG_TTC_EMU_CONTROL_BROADCAST4_C; -- Broadcast 4 register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= REG_TTC_EMU_CONTROL_BROADCAST3_C; -- Broadcast 3 @@ -13631,7 +13630,6 @@ end process; when REG_TTC_EMU_CONTROL => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_EMU_CONTROL.WE; -- Any write to this register executes a write enable register_read_data_25_s(35 downto 35) <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE; -- Last line of the sequence register_read_data_25_s(34 downto 34) <= register_map_control_s.TTC_EMU_CONTROL.REPEAT; -- Repeat the sequence - register_read_data_25_s(33 downto 33) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST6; -- Broadcast 6 register_read_data_25_s(32 downto 32) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5; -- Broadcast 5 register_read_data_25_s(31 downto 31) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4; -- Broadcast 4 register_read_data_25_s(30 downto 30) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3; -- Broadcast 3 @@ -20764,7 +20762,6 @@ end process; when REG_TTC_EMU_CONTROL => register_map_control_s.TTC_EMU_CONTROL.WE <= "1"; -- Any write to this register executes a write enable register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= register_write_data_25_v(35 downto 35); -- Last line of the sequence register_map_control_s.TTC_EMU_CONTROL.REPEAT <= register_write_data_25_v(34 downto 34); -- Repeat the sequence - register_map_control_s.TTC_EMU_CONTROL.BROADCAST6 <= register_write_data_25_v(33 downto 33); -- Broadcast 6 register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= register_write_data_25_v(32 downto 32); -- Broadcast 5 register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= register_write_data_25_v(31 downto 31); -- Broadcast 4 register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= register_write_data_25_v(30 downto 30); -- Broadcast 3 diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index 273face1a..e9badc7b7 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -1543,7 +1543,6 @@ package pcie_package is WE : std_logic_vector(64 downto 64); -- Any write to this register executes a write enable LAST_LINE : std_logic_vector(35 downto 35); -- Last line of the sequence REPEAT : std_logic_vector(34 downto 34); -- Repeat the sequence - BROADCAST6 : std_logic_vector(33 downto 33); -- Broadcast 6 BROADCAST5 : std_logic_vector(32 downto 32); -- Broadcast 5 BROADCAST4 : std_logic_vector(31 downto 31); -- Broadcast 4 BROADCAST3 : std_logic_vector(30 downto 30); -- Broadcast 3 @@ -5551,7 +5550,6 @@ package pcie_package is constant REG_TTC_EMU_CONTROL_WE_C : std_logic_vector(64 downto 64) := "0"; -- Any write to this register executes a write enable constant REG_TTC_EMU_CONTROL_LAST_LINE_C : std_logic_vector(35 downto 35) := "0"; -- Last line of the sequence constant REG_TTC_EMU_CONTROL_REPEAT_C : std_logic_vector(34 downto 34) := "0"; -- Repeat the sequence - constant REG_TTC_EMU_CONTROL_BROADCAST6_C : std_logic_vector(33 downto 33) := "0"; -- Broadcast 6 constant REG_TTC_EMU_CONTROL_BROADCAST5_C : std_logic_vector(32 downto 32) := "0"; -- Broadcast 5 constant REG_TTC_EMU_CONTROL_BROADCAST4_C : std_logic_vector(31 downto 31) := "0"; -- Broadcast 4 constant REG_TTC_EMU_CONTROL_BROADCAST3_C : std_logic_vector(30 downto 30) := "0"; -- Broadcast 3 diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex index 4cf0db475..faf9a73c5 100644 --- a/sources/templates/registermap.tex +++ b/sources/templates/registermap.tex @@ -6,11 +6,11 @@ % DO NOT EDIT THIS FILE % % This file was generated from template 'registermap.tex.template' -% and register map registers-4.6.yaml, version 4.6 +% and register map registers-4.7.yaml, version 4.7 % by the script 'wuppercodegen', version: 0.8.0, % using the following commandline: % -% ../../../software/wuppercodegen/wuppercodegen/cli.py registers-4.6.yaml registermap.tex.template registermap.tex +% ../../../software/wuppercodegen/wuppercodegen/cli.py registers-4.7.yaml registermap.tex.template registermap.tex % % Please do NOT edit this file, but edit the source file at 'registermap.tex.template' % @@ -20,7 +20,7 @@ % *************************************************************************** % *************************************************************************** -\section{FELIX register map, version 4.6} +\section{FELIX register map, version 4.7} Starting from the offset address of BAR0, BAR1 and BAR2, the register map for BAR0 expands from 0x0000 to 0x0430 for the PCIe control registers. BAR0 only contains registers associated with DMA. The offset for BAR0 is usually 0xFBB00000. @@ -176,7 +176,7 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA \multicolumn{7}{|c|}{Generic Board Information} \\ \hline 0x0000 & 0,1 & \multicolumn{2}{l|}{REG\_MAP\_VERSION} & -15:0 & R & Register Map Version, 4.6 formatted as 0x0406 \\ +15:0 & R & Register Map Version, 4.7 formatted as 0x0407 \\ \hline 0x0010 & 0,1 & \multicolumn{2}{l|}{BOARD\_ID\_TIMESTAMP} & 39:0 & R & Board ID Date / Time in BCD format YYMMDDhhmm \\ @@ -805,8 +805,9 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA \hline 0x81A0 & 0 & \multicolumn{5}{l|}{TTC\_EMU} \\ \cline{3-7} + & & & FULL & 2 & R & TTC Emulator memory full indication \\ & & & SEL & 1 & W & Select TTC data source 1 TTC Emu | 0 TTC Decoder \\ - & & & ENA & 0 & W & Enable TTC data generator (10 bit counter) \\ + & & & ENA & 0 & W & Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence \\ \hline \multicolumn{7}{|c|}{TTC\_DELAY} \\ \hline @@ -827,6 +828,22 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA 0x84C0 & 0 & \multicolumn{2}{l|}{TTC\_BUSY\_CLEAR} & any & T & clears the latching busy bits in TTC\_BUSY\_ACCEPTED \\ \hline +0x84D0 & 0 & \multicolumn{5}{l|}{TTC\_EMU\_CONTROL} \\ +\cline{3-7} + & & & WE & any & T & Any write to this register executes a write enable \\ + & & & LAST\_LINE & 35 & W & Last line of the sequence \\ + & & & REPEAT & 34 & W & Repeat the sequence \\ + & & & BROADCAST5 & 32 & W & Broadcast 5 \\ + & & & BROADCAST4 & 31 & W & Broadcast 4 \\ + & & & BROADCAST3 & 30 & W & Broadcast 3 \\ + & & & BROADCAST2 & 29 & W & Broadcast 2 \\ + & & & BROADCAST1 & 28 & W & Broadcast 1 \\ + & & & BROADCAST0 & 27 & W & Broadcast 0 \\ + & & & ECR & 26 & W & Event counter reset \\ + & & & BCR & 25 & W & Bunch counter reset \\ + & & & L1A & 24 & W & Level 1 Accept \\ + & & & STEP\_COUNTER & 21:0 & W & Step counter value \\ +\hline \multicolumn{7}{|c|}{XOFF\_BUSY Controls And Monitors} \\ \hline 0x8800 & 0, 1 & \multicolumn{5}{l|}{XOFF\_FM\_CH\_FIFO\_THRESH\_LOW} \\ diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml index 4def8602e..320f00785 100644 --- a/sources/templates/registers-4.7.yaml +++ b/sources/templates/registers-4.7.yaml @@ -1500,9 +1500,6 @@ TTCBUSYControlsAndMonitors: - range: 34 name: REPEAT desc: Repeat the sequence - - range: 33 - name: BROADCAST6 - desc: Broadcast 6 - range: 32 name: BROADCAST5 desc: Broadcast 5 diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf index 7f18b070c1798ea358b4e8bc6966a46ccdafb2cf..b18942337de4300233f4e74f37253a1a015d17bc 100644 GIT binary patch delta 93897 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"fA{RozzetJ+a{QFHH>=Dv<=;S_c_`^ zp5L~c)A2~*i7U4-<~yi2y&>zoJY*DCE>znsKJD4YzgX=hZIz=en2R-Td{+Ww47Njw zpyxKf3QA0m$~6D`Xp(Lzr+Z+NUY5?KuDXb~B^$7B<!Jz>vHwQ&Bc_P|7@Sl;=?VU$ z2jlJN=lsh!i23G8LA;&GoWn8OyUZ}4rt|Ca!c^)_NtMMd+VvW;kK9k(Os#I*bYgm% zm4Vtk65SZherL1(?K+I<9njn_QBemT?Nw2Sd%NXIbpixsO$P;;?4e=*PI=XX0NVP> z%`lUg#!!vGc#tI;!+EXO5qI>wj)jIERoD9LtyGAmjr098Df|f+WmPL`<}z##J&dbS z=G3|x(q@b<FJg{9|8-tle6ax$Pn!-tVl@ZvNFRJ!=``(Z%^PX}NL@i0h=VO@W0d5) zeUz3vPYQ+I2~1LIwH~jaj3eMPhQ#*}7&!lqKgCxux-t-R=11uYY%@`bVKSQpFXkMb ze0?f|S!*4xSj?v0n;TRr=TPe}3@x_5QRl}uiE8RJ+!J3FZ*XKALWR_p2q$rX(Iv2i zy7`gN2EvW&;Bw^!3_^7FD6QzA9okoo@K4TM-(wP3rTdlL=xX|nQh4}>SZPYZ@%K~; zQ0dWY4HW$6mRbidm6)z>Ynu=*vH~s;u;j(%Rz|c@Co24vnYkGewKGSie@eAZdQ8za zZcN#>-DSkZHW@NvvTUEc=Q5L((xxejL1=Pd2KD*^&M5&n+v^g#9Ec)Z=eCY;i}Cx+ zva`R4tgL!zZQOj)pxP1XX+1ee1aO1ZG&Z>LN2>~3?vdcsL?XcpSTQSQWsi6}zyAr5 zCPjyL)fYl>Yz?EVlj`K5ZPIDC-7K06fN{z^2BeU2-X)ElkkhHUyWH<Ct{lu!0rf1k z)dDAjKXL+ekic_zgjzV(z!%}2;n2eZi^GdHly6T?Kh_0wqpfywbIGhmSSi<ir$?&B zh91+OEvO^5R~oEaQPFW}(fMj999cuxg7wZ%r(}Sv%j2+``E?6+sd$!SZyN*w@@iX3 zIyWe|s`PrOuUEAOQ%ND6X(gq!T9%g3`jbgvVQB!uvP@^YQ=&-)<u-{`r<EoFS%DXI zAlZpJ%NXxngghJ=z%i=K31T~pE2`)cJbA`>mT{lp(_iw+@;@2C<$Gl|FyBC~@loE< zNjY_upRkK9q+`F25MTTD&M<LXiRuTLRy^;w$Nv6#Z$1o2{|jH(4U*Qs(9V0?q(b@a z2*?E-$VJ`|U2saGe0w#YDI!jb0^sx6T$2{O!)20^If$|3aF3lBkN^sf+N&E)IeS0- z6h>SFRw6b-&Kizc%g-BsPItU(T;5U>AKbd|xj9DB+AfoR5wk=u;7Fp1uGF>|wb4Yt zA@k|S0y+H_GzC2k+o&UK0(Olb_m0-F?g|2o&#@YqD7$SV86a+j{v;`xgHfuZ#!Kom zT)?22CuyxPcZzGhZ*b{t<A;X){=Pw8*W@-XMA*srv{}$Z$9&{0d*3>EA!yZp+9M$| zHfg`<cbO(}*;+#9!OAyaTN2GSsvk1W3FpD8Br}_{iH$0qceh18x^2zg-}>NM7*hfm z&x{&n+owtzbI_Lbm|1K}%vUJj0yJs=mJ2yI#2l|CjRGB@NPV&iPJR_#qCy~9ej47+ z()W%w7n3ALmcKWmG8BPoKYtAS7=gg<B>+z6m^Kkyd2D&K(LQ;WjV*LqAnjNEJUKTI z@5~bx-vlF~^2pgCS_Ai7Gy&vIdZmCnSi_h6da;9wqk)UjOY_^&NNp(a5I&+Mzx43| zcK8yR6DN-n-`_H#D@{DV<%Dow8=x+5^{B>OT^{S|FoQr{9#+9znikTe!JXVo;gex@ zuB35@bIav&FZheo3*~Yxk!&DaCX&21(17x#vw=$HPtXOi?O+HGxQSq<m_z|GA&#T* zTShp&IRXV#in!BN479QEf;dSz<)VTu5|LYbX(Xrd#xSV;@v?h&62u~--kxiu1*au% zK{=5expwi|X-myHExZ}%Q#uyXf99-$Wt<eqW}|rydf8u&^miAi==T$qzvrvm=z{<I z4cmDZQfZ5q#ht8tw{g$4$_J!ZSh(k2>(4s3&2cb_lw=G~!}|GTykfi;Tq6gVZ`%Ka zK&~-$&x%jYJLblc-a`2UpA8FdEuC)9xC@X`XU0T0IARj)?e({c*A3F5eQ1&E>|=Ep zZnwDmB)L0RR<=b~m|EE5h!*1h$3Rc>tmKzx*9gtGe<i^!6=*U841$G4u|OPMKs$le z`Q7Vy4<dH$#)7OC@8O^W`Fqz+^HnoJGH5f$CL)E#I?^$p{`0Pc@~H8i_sn;BAqQ_) zsp{mMO?c8;jK<)08d^q8>fb0%qcdM$3wjo-_{49~11D>N$J7XS^nN<I^BCu?N{gTC z7G>Cq=8<)pP)Y#BXCkAph8M3nTi@(0VDMZW-|#I7VLvknZAp=vtS^U7U3U9TI{e$$ zu0e#Gax-|kdbklCxILC>A>$gM$&9wbAw{rCmjv=mPhjk1CZ0DC21(`Zm2qvAvK!J+ z$**FwoN_xUpqz0X7s1R@h&jHj3p$vCEbGR_B_#@fQ~)n{_<5W=d^g`P<i@T}etHey z9V3(?rOO~~)q57Y%*8p_keQVZ+2{1lXWT}_X3BNkrl8e``-p9BgK?X;{+O8$?)?gG zr1)1`C63(LM<CqcN)L2zi3)AzX7*lcYDPnVD<FNc$Mk3rQlP-YsL%n+VMzB;l+2O8 z*ThKU5D-%VbQ;!q5(yJ<gS2evB%}8z+PWGV2|<&z2+1aXVmTX4mG-W#A4~<oK!13h zqgYd{N4o>heCUqfVf%U}iKl-LMn{;6r+7GD3jBB3O(2+r{|7&bgLcK*X)~o!+9f+d z(2LurWi)A)>bBbw=gy?(*k~iA47Fx+r7bPz4Dd3ov=X1H-W&lVA32f_ThL5Di@tsd zCa=pmsFBvH&#YrQ4hqSytC#zy3@XEAi0+HGZ(3@&fq|O!3fVLd$tFV1a&iDkTEf+> zKh~ozw3w{)F?;NEOp(Y2-?33jo$1~q1Q#-qy9C21%Hh8F@8aYeNbCrd?*9Z4F#mtX zHZ$Y@VSLy)m>APjTtGws$9h^Wq!P&fn4eI5ZBT7`uLIc%j03SyvWEDEnDy{!@E8qu zw-cRxSLgUrY}$lDYvI?G6X)+$)Q?le)!Kj_jOuQTbAzw%<LzahzKGTO+xp?>%j!P; ziO*xVuiNA8XP<UbL4s1PR;P>im*(mR885nGonX~f{wg-=_lq0AMf+5}LyBJU($ubl ze#A1&b*jNX<+@ZwdOe!Htb(D3v8DgC5a@Tey5}ZqiK~vqtp9^*cWn}s?V#^#6-O{X z|39eq3;Oe`&wK7l^}PL?*3A!8yWRg=yk^u>rv2mZNvLk9@=h5-vg4EYTL4%|)6(g~ zA)E-8!xG@ZK8eu=<jW`w*#ye|jam<<Is|sg=Dn0r$%-bOVWB4#nx8RoBi_~jjdphg zMq<HWx1u4+wa-DCgEj7$1gW1MplX<nwE?woOyL#7<eg7(I<#4xZ&1k=a>>yWu-jKu zSyBnV$`7VM<LhBox>{|W-`D+qoT?Q{c20lpstt%Gt%7&6_m)BNFHudXPQBS!6rIbE ztZL`9vyy6BDs&FL{4HLdBXkT?;-Ecl;{e^4DAuv_r<fzCBweGvS1R8$LTR*0TA7+G z{lgUxD&~4s-gEU-hPqz89@yR?GmIt~0sGIsc_`c@1YWc7g7$ER`u`xcJ7NBZsO<-k z7!vlZHN($~u7=MW`jEQN<)p|}GnEKYfHe7XP8YJujsZG-&gI=*IWv^9QE_Q7l`=TG zS9HOVyVIvPcv;cl@Utv=bbn@ST4CgCD2d$><!^Y6%96Z<FZj^GHcDB@C_~Rfvo(B7 zyTWWOYM(A9VNrB0MsMdxWK5=~{gwuhma^?D)KpZeSw=Rm4P@3BRG{{lVdo^4pgI?$ z5}@V&r-HD8T4w8&S;v=HJ|(+S-a69?XC=tE-MalY9jFy)x|BxQj5ueFXIW(!&;t&! z_WyX=6>YpiRZ1yn*308sN7<IHS{0}ws3133!hd+X<{I{h(CGXs1uFn-0dxBxRXyOU z!gb<vc$P)u5!vo!n8qonae96E@GFT#h<!r*?s6NIB9e}`6(fo=4jBO@a9rQxMCjia zp#@~$R`>3c5ea$?DB5EeHl@U49)sw1y$~L<@*3qZ!{%Yoolb9jhW&bxDl2D<kg?MT zwk1rC%BpT3<?yI22!Q}>a-J*E092JHF`oKy)5Qo&H)Ck$2vAB*Vt%<~Q(iH$Ofbp~ z;@Ox5gEGpoy0|ig5P@)?Bf-dnbW50ZEa#<?8jsM>AQBjcK-1J&{Si?i1S&CqDzt?l zVS(R%2u*NIe>hq_(9;FB6vw3!^@(+li`~iT3Q}m+_nxog>+Au2i|`VXHtWwHZ04%V zi_1HgvPee5C_CyQfK!$f|BIr!iWXM7Cz&cXLo=@Zqlf6HM@kjO2-F8}S?gAE7;d_3 z5TJR8Q&HRE4_B)F$_QZw=dJ5pU#a~REW7+2xOJ5vdvC~??dLkB3Rv!Ypd{<JU(Odu z8x6G1)KE@oV)6iRqM4@0oC{*VO54Uzg#~UaF)Q$eRfVV|#oqlauu?wCdnF?_RKMX% zx)J!lIgck)afOf|&4|i5d}W*g6H*R&2SBF?Be4h^B^(M)w#HH4$c<v$%PapJ4gb_f zr$X#YW1JMBvEw!#@)W-bzU!=ef}SrU;P|PhQAkeGB7*_k@0$YJz;K|Ev@U>fAH+*l zX-Fx4_mQQ#i=PWCgf-be`m!>wxQo!nh_}GofMFCGXw4AGfk=)xgPfxTE74lS(=(kN z1$w^ox+#uc$5L^>FlGEg5udtgg;0P^{KZ92uuw~x;>N}7!sTp7$5NQ7W7jbhz)>`K z;sqCtj>!k85V}?rA!}d{4xTe7Z)nCO2D4{IY)a=E(#Jb2Xr@Yt?SvTTyRhy7PXF_? z;ssj{W*c)dFqcve1=@OfDWt{_xXzxaL4la^#&YETI?n5n@aqN)%NcX2OVAICtd!W0 z(2qS)iNSfPT3v*PfOnx=G(E&)0^VN>HZ+m;2L2S#(UXlRzG4^h1pypv0<~747Qe3e z^^gLVod!hnaI{1vHc>AOGu;=N1Kx#pIx?Q=D9L0WlLH@)b~xq<O@i_)X;;9hqITel zPgc1E-Qy}5<6w^D79}JqNcb)kHE%&_zGqs(0^Tw|{Sz@^>5-7<W#MzL8mQ!wl(@MU z`Q!ZK9CSn4d@zBr5TqCi&*5n;q&@blPM}*{l_I9=C?2ts6ls?VWlQzBByGy38>=ss zWQD>}wG@#r)0#>aqN`O(WhYWI>1c&1;jh20QD7_r7edSJpJN1jPV1{Wnlkw~i8RLt zqS{#^ST<(>yUrSW$4`fqd0$}!t2~NE2XX?CcrDqmYP&BXOw8fR;?pt}@$6U-t9vAD zDg}gXDv5Otg;cDFai)ZLe#YiZ4iuU5oW{aZ7c}MZC(E<#>;iR>i5KVWI^hNg5@e`m zsv6?d!p+~TRA}ZZOAV7djDfNgk4OFfnV={RB8K+%9CsY7WE&*J)fFSUAd%)esQ{iU z6A<@b7r#qWI^A)CGLMt{=Ye#_A>TytAEiJ$3e&xqfm3))mAf{br)ZOZ*YdwU41*HY z!c6g*zGJnTm|+Zk3an6*mfpu?HDCu^GjRE-fms1lQXvKX7FoZ<<TLhn%P8ZuQpH5m zMP{6aucl=Q>Rp$zZh&!7JnW@Gtpxm3zn7ppabZ{iz%wyCA!TC)KU>gR^0mGkW)BxB z7zAkQUwNSL3bRoaG~}Ev|7K(tOIo4-En)bM=;)vy#3gWX5dp*d-*Fe*UjB`ZUsWk6 z+;1p%+)xVm41)DQTO!FFzOj9JDbe!5c&}hC7cKu%YI7dZ!|@M(Pyrydu5Ymf5wrz9 zE)7zM=bU+WCfMECjoW!{@AVFuY>&q&$j@w^W(IN@4&gUv<1H8g<tQ5kr(lszcRw`o zWNt}u*U%1=OTuH|v;Np-Kla3}8hq*((Y~7Z(x8Mou!ujm3gxUATi2FL+BS)S>EgaN zL}g!Wd9EE;`Oz9?*gSwNsTex+_J&hWx)<J9l4&%>mjFzX$V$2w8KfkE<Cu(xs76x0 zdQ<^YVb}dyr<4aQ+a8HU#`?Wta_m=B2`O<-AgC(~A*qW?uLxraqwA&?lz3g!r>~$V z$Uc?CdMSZrPI3IBWsXj2Gwz?fp{f>cSI|fgX*TX<<JI>8Ur<2S?A1F^j%2TkAkHR2 z0T0#KSz_ajYJ9GFM;6LC#O=2Gl<>L~Q}51jw9jyO4a|r)T*R%7PePo4F7KLN&@e(a z@g7R1n@Chn5Xafei?%QDI#SZV#LM3TAJZ;1cqHZ%ukuJR*(m?IQ0>iSw@TZ#rZYSx z?S5x6-6w1~KJo%kac(W^4takbk>6+uPBxjRha!rnf3X5orF(%S&CDQ7gHnN2$WCAx z)$Ac;`*~s$x}t2cyz>&)ae=n+uauB2G(7`0?;dzzZ)e3V_ID1`(oeNKi*vqlXg|qw z-5R*daP7mxSeWu2jHl+lH+?rXtfu;Z%Vd;Tf|FgL*aPSk60Bu&t1d^0J$Q;(_?lDO z@B#`3=Hb!!-&d7Cj`RH(Onk1$W1M8x{4zRB__iHfr}uQonc7v5d@{6l|KP;-hL2@k zci}r3`e`J2NN0%GJyoh*l%TyB&7jjC=brbv!%JnOS?O>)FKU~2o0ibBIoC7*L)rwl zj*3j5I0437*DWlKOLCl4_-oYA<lc(J*G&1Vd%#-V&adW71aG-j6{zjdh+)oEwYtHS zsiEwi;GG0h(N1or^@9r&haTmqP2F9y&!ZGP>_O)oJ(?q$Tv(v2W;>qo2e##2G;?(J zlJ8`7rozi9<CGS>1-ex%RTu`Z#U=1veouTj69BGhjRS>WXIMhQiHtm;5IuAo^(s04 z);~H)+Z?)MYE*@YWf{{BJ@(w2p}sTqj&(STel8D$*h~M55?<~PiD%C$H7bua-ng(c zE>9&!c$TQ#)hIXNf+m<*SxVuZAn<aX{{waqYfsK+FWDin-K2aNw($T~i6Il=N(<?+ zoc$w7)koQxka8!+hpcy%R;^GR9rx=XR%)8Bb8Vm-M=z#VqMK>cBbvV9_B4jxl$-sU zv9p2>Qxr4enNAE7)IFB|L}~Tx0J-3`DB3>6Z+<}WqbQm9_Y<8|hx1V_j;@_h@S^@I ztB*~PX4EfbozgL7I7z!DR2e41WoaftHVr`3eB#o;3JYQ%Kfe{nyM5uT>nh!tg`P%R zYf1>4ySjeZpF&!UPoNTv&uNpYOunHOjbMAF*|Y93p~c*G(tNi#>e!nqJV;n~FBjF1 zqX{SfbU`>soM8lB-kqD?tzh#5x{~wqd(dj8BR?JL?7!xl7-F=X5>)H6=t%r!l@EYB zE2_eo0QKMVABm5<H*0PDyjFNS-lP#e8^1IV;CGuSOoUM7sF`-0^q+7ru9Raizrw)7 z(H@F+8}<@}^`9^s3rJ8gt{iQ4L_a_s10>>*>t`L(WQ4s`CuSo)k7$qE7GBbRjY)bd z-Y|;a?fvTs<{PrW?~K)w2xnwF&;14<Gp7_IEbNW(xq{}Lk)H&xmoo<3m<|_9oZ$Ri zQ+Yt;5bkk!*ZgaZ@3Nw~d`Bv|BT8+mK4kG%1Q%?$=6963xV)u^@1I;_<!0rvEDUSC z<2gc`yeJ6qvirk(njXr3=rU9;uBk`H*BmM|%5EF-w*1E`+GXq}GL&u;HWC0##XCf; zM2D~y8WPxRPxRNL;&|&}_4EZ4VD9rIltAr9m9U&v1)GN@KPS7Cey>D=UNv&cIZ!I} zcyprLB!V8_3eaBbiSo+~!AcC@=pB|w*cUAqZ;e^=i0YUTDz@7l#)GZvRs24k-q&+Z zf5C^L2CLIXSv@C4XW^UJ0Rzykgyup^hgxk$6;7DJeSL)XV(PIakCx04k@mC$@#yI7 z5E^AO2b6syNQYS<Z=?tp57HAYnc6N3MBD`QK0=ld;n<ptySQEs>Gc3{p`v~(-f`?z z^HRFOL58j9Yx$pf`6n3h6vgy}#9Ye65@=oxUB<#VGrI(KU2Gi$3SjYUkeaR~{~hjC zPY&gW*vGl)Q48JFo8L$-`3ishrB+M6rhQ@)1b4Yv2@P_kjM@$4Rte2KmoR<R9ZMEG zx_#og2XpL^)NbFbC(&Qm71x4d>@8=qAti9t+*;t5M4U0~<FRE-qL3Gk)|@z=Y>^;r z7su-bQHe1SxTFhK4lqUt$`g22&033-%;9c0pO@M&70bHNb;w*d6)UFmz$(bsShfM< zF6#^}S!CH3R))~dEnUR00*S)#nHj2Rr08FZ<dcZ!d&#+J9LclYYYGp;B(FT2xASrK z5kkLlQs9{FAw8sQ-trn!;IF$o%}d6Qg=G>-ef*J1p?f7c1dxSZxJkLI2j(AFu_>uX zt$DGH4iGVcdAOPzKduSX2QGbIXL8>|iyUXBNAMbGOoCtFto44yHTtD*JP4S45Vh_D zMqfm%hrTfzdgOGZm$ll$rv|bqKGz29pdLZ|MQtCb&_`V0xE<{|pFtq-1YfaQUVk4i z!D6{utb?qh0uJYTqBMNNsJB>LPR3Ulw#kyVBHk42P^iFc&QXzfPCthDxc8o;nrGdw z3|J<q>*MDrQj?XT_#ee13O#kqMevh*yRr7;ShA0K*-NmRwPs8RL#NHT;seo`H<$Ed zXG|9Al_@<jJ@`z<9s>%-!CW={U63$~Sj+4^kuXgr0f!!xF+#*b^0AGNL~-}$U9iB& z&il9}qrRXE2#>M&zcA&W*D`NEh0{6zT?wCptP3s8?u<5Roqd)=b^}J`+>z-1<=-^% zG^+vWhbpFQ93MEXUz{<4j~vk9GLI#htjj0-g9<ihsN?3`MAGTE%?sX$-|2q~GY{>R z1rQYr0Jx^m+uJ6Ve*{C)$4Ufj<2rz++Nmd9L!e#>SHi|7dB4QCR_5Sw*Xu6pM;#D@ z9GeyY+&-8WGHVR*aNrBWba*-Fcu9nrNOZr@p#SxbRIuh0#dh&Wl)VYN&ZDw64qcBF zSct?Mn)N)~`?oMt<3d)$EAkps6VmE()A#Q!9?&Lw{$(dWu=~#v-eNUEJ84}j(&lLK z{-Xt*iPTq7k|?4HyIVD`!sAV%2&RwQ7%7=T1YE&sH7k8)op7Pr$RNRybdnxcMeJb^ ziw@-6Q9tuZz3lw}5jFC_@8^AkI@^F=NaZx;riZ5~YxfkL>|=78LM~y6hDuCd7dd4J z_LAR8;77qT4Q13nJre+e1H#JD-Ua~qM*|@(Dk`lhpWaywVv|l%1A?B;T?6tAqaZ1z zsX`+nr=pTRPz{3GE?Wx{4FaJeB(5m^Q#Vu(A_MY&3+bCc_QA~D&Fs^Wn?Vc#%v|go z{QNGi&Spk-FrGQF>d>w#W*GiN$Hz+6N~092GWwdLinM4#g8ksM;bQF3b4}Qt?XC(s z8)bH#W?l7GS*+Vca)B5$tajibAWf0Xl(?;vK;8+&5qr~6ht39HJ}1-pWt=ZD7Us_K z@;g3KH-KA@z7Ic*(Z6s;rp)VrhR`Vy5zG*9g~u(~l)MC~K#>wAXTr3dx}BoJJqk#H ze80edE)oYF5)GbU_Ffr@Q>K;cqoEU2>sC%ojo8a25ffE=TrTEvN^<$^c5xS}!xb&R zq1=+JJG4=8QY%*GvhAwojv{_j%C%W9bZf?vABR?|G&eN`Ek&LSO;|Aj807PcCZiUI ztMucg<E5u!qEzXm<rgZ{D^QD75g%Z^9UB?Bn8-v>Q_HmTaDSzy4Kq&v)<_z}AZ3vC zVk5Ov>NJ-sdvCpp7)MvCHa=LfmC0eUk)B&Jd?zs{V+sE?TVqVlSe;3c87WKoh}InD z73`IzHAZWgXSTvp&rCE8P&G$Jou)NUV`j-bo`wmt5NAPTBFPBPOq}+F`E@vCnE~5m z)>JGK1}BC4km{S&E$zQev3B}7rzJuXj&B~kuK5y2EbEkpGZm>j%lO)$zYE?w(c6cx z%les;pT8^HN7{FoG~dU8j(y*VZxyLRPWBAb{i29s3jB(j4K7sx@Jk+k+QzA!g+x8; zNZD4bc5UV<K)2pK7k#tzjo$v2b*rJfqy)<`w($^YMxT6Q6DA;$JG$JdJ#XmZN^C6) zo~Y}Pd5I^Ftm$*bz$WXnUk}HMcw|(h|8)=Z9Zv_Dhui*En&Mmf#`)nc^`&lxi=$Ey zjq&b_#-s**J?XIqK#-8j4ycU6u|Uk>yqF82l8PoCNb}hn(D({{igTNMd6rL;Axc7w z*O}MTqKh(wwVVv#J)W{fI0|4-jv=OzNTzV~l2_q374ElXXFz3^9yp>zV$5to#p_U3 zHDni&3K$im=^efaeu%oj<3x=XKh#xLPFF(YA=<;%Sp=g8WbfEFyyWi$k8EQtl6+u{ z9Y~=aQ9jWh_o!_>s|WtM!u+cZPe0Ho>L{iG)sCZ(7eIqcPwrHpo@6oMgm2=QQH08M z*c?JuOejZ)`xY@~j9Y0b0t_V}q}C*Km)_~BacACMlRB8O7ublv;+ezO9zIR%Vvr+m zo}|SG%ZL>WaBw}eC1XlB=QY|}Nl)KDVHodsc|09pMVI4gxr3~H&%45vPkQB#I`s09 z>LB8?qDp9#ez4|b{>v)QFD78VdlmJ^5`+2)BN%>iz#4rjHwD<ZqoaGRX|lD*o!@a- z5}#;D3Ylp?A1XTRlHvylPrp`6jsqltqp-q$@VM;>xQ5}QM=~haGV!DUaDK8bfrK{( z*u)Wl>dK|nXlLVNlC+$19i+^I@^W%TKqj539IvgqLjC?AzTZXxK2l;<O}4A2MOwh= zhvDJ;-eEsWbocIL0tSpi1D0YTFk)Aoh{N>$eA}E^3{LGL_g$2>#CZ7$+%L%css?US zOCj9@h(z2>c_WK0?*$9joFUWy2_N#4jS-jBR$A!b*xt6B@)(0F$4|vKYV1|r!#LW> zIjT0$yq|Azm>0xt?lhND?Fd_=ORypJ(NBY2rdTl!<k*!7I=K?xZkG~*k2}$w+&R8l zpT0fd8UO0Xuansa({X<Y5+1Zw%@TN#ml@mxSXmKZK|@=Wtngs{I}CPJxU2Zm>(qu5 z7}gK!!(sq#|9(B^XXV^}#Rtm~(ek)t(fWwzyuNjo3N`WK{E>LnBiN6tRoq<VB)*!P zz+1Dp?LL#AS}S%%OH*p%ET~bYWoYJ^nOj+^uU$@+P$i3~?6)J22mRHzle(5e|D$gS zNb9cOtOnFWwK?LD$Pl-OtmLd$Ea}9iDN}-}Bz7#NXxwr4O#c%m$x=AQ4S?9&8A?3n zj3j4|BwyK%buPcc@s*8}S}^&PYukXg_kcr#TCDeS+Bl)JX%jDu4$HveP=%FO9*}qK zdy_iuQUnOE8}fAp&$Nx0(%3EW$f1h?3Lu+1T2wW1k_sW{^)?-a?#68NOFOOyT7JJe z^$NIS@kHqL37MC8b1YJAl7vo{YFbe{)P^!QIMP`asF^oe&sjw$Q6w%FQ|zB7jiRhV zKuKD(S|!+mC9^5?@B4|^EY~)Gg7Cjm-wI74rPtxy>J<!qW6eCn0Z9D^4_%o7VsN`y z_LBNF)3ggXLXc$W)g#7@OI7Vkdvs53XLnAk`GGuY1bxyGYQss~s9w}Z(=@wReMf&w zWX2z0E`WR__hx<P&={*!w(tNV11rSTU!_xy3hzr?{bfGgu8Q{(t%ry^NU2fek2i8p z4&p_<^ttYnTMJ3RNY<24>UCTI@Q2i2w)Ca}>LyElg38a)TrAZBZO>gCeG2>r%9sec z)Y<6}l@Kygnfm?9ek@TevD_v`f<nGCCme+MtgYPHJH{xn{pZoK;3MeKv=D_&dnuLp zcSf9Hy)SxbjC7@t%en4|n%QxWie{X~Rr|E$5`_a`p`nww*Q2#A0XT?&SN`|O_vf$p zY!}pR;no|0H61PGJd@o$Y1a_N+zebaVT>e9Z~ak=ECIAv12pZ6icL;lWr+`$W}IdD z*~q^Tc%~C~0TlDLsz&^|J+vbyBKvK2tTPydHY*Mw4-j<%o)z!oL`0o!j^Ch_B!TH( z);eNRT2>v{D!`7Y`!A&c8AnLJ7j{hZPO$j7=jMAIT%rlb5Zu|PxI>m*si)tbb9=q4 zh!y2Bs)jPVI<d$Ofv6z8IG*0Cn^R~G{(kh$g9c5D!g+j=f%wJyOen|BRz#zZa$O@s z<MmfW$rCYN1Ew&UejfA?9^DSx9zu?4>$HmS?1%cz+jG_!(fxvec1XSbs)kfDXu&Yy z0l7no9M7co92fmgU<2W8>nY!=)q0iMplZ#_#H;d#0h0o;wedqVjNn_{0_uO$NAXe# zg0uimi!+Lz*~5ygRHA6NsqsUQ`!VfKTi3+eZB95diB2c8_A4a*sI(8~Ezj)uK;H3c z_LS450sMwYGh;D;#s%aY)RvGhg5%73Oj{9kA@IgtK;4!pi&j9h4vp>cyB>MC;TpKv zdIS6*Y!NGt&T48ObWRp8q^Z29nx{l}0t$ShDtnv8Fh`lC%&OTC^O}15jqk!oCFUQ! ze!qai9~wONFW4jKfq-7$h{nSwE1A>seC?u@8Yb~DsB%dF#`p3-cg9FaXb2R#@5VBW zoT|swm+}K>-1%$RN6*yXkgWwMqh#WN#N9gH0sPQW`u80|TtYm=@fAdjw^KutyDRC1 za8A)M3EpI1(f6!d7sNpoXPO=GC#GIl-Ko0WUqez3{l+6<dUHir3KJsy^%`H<2f^A; zo0WZ@>V46Guj*ajTb-RvwuXN_o#g&fG0d+Yr*zh92-a)3eR9dEibco&PQ^Vhb;lZu z)iQ1PaQ467(8(aoHqUq#WaNM4Nf>xhtlW=iGYYe(pQs5<V~xESw0M3$EDDV{^j4;g zHrwmDwKxNJ;k76h?2nK4dhyQm*G;P1fKnuN;oqDCuuB;d68AlEDbkP7Op1trhGC3! z0Y@aZUz>AOnu^^*8o~m;qc=c2YTlTv)gzpVwn5MRJ)`#HLGZ%8AkIcUCW(I<;+tBa z-6Q2(%LkiHaOw{!*Wq!+_--Zq<F#bfddJJM{!|V|N2$(tD`;g^&(i&&TgD&{j-2uk z>}mRGSP!D)zVKk>Xkl$p^}ebYK!y3IQ@}Slb%n3Abr=|@i4A}+<xAI3lF96;ze9Hu zOt+m$y_Qv=mZf2)o~Q*tq*xC$3t3!^Z?vv9b}bY=8Sc<6`#Q!5=Y^OYMf5EG&28|I zNgGgAESR2&jmk4UXi||$GTtaSsb#PBtDn>0Wid!3kjc&BM{WqNwJs0Chvy~=d7gEY z%En<_A4#fRj^gRX;?zCAWSKhWfCH`m#7Fu1{B>fWq4Z=AlRobSjGC_02SN${KmLEa ze;)`s$d9Uj$^Zx%AcdSzQb`F|Bz*@A8CVD$jK3eH1gevey@oQ1P06Yb1Va%TLXmhL zODCy%MyrqP^&4Z!=kfcMfA$+_*7@Zs)4_Zv(_=>qzqCsD-jlbmwK+VzFz{j5;ddkN z4GsE@O)nz--vruSTEPq7k~;5Cnt41s`w2--b`W)IC0~3705{PPH#a#Iy{nvLcb$Ge znx2S?%HesZI0QslCoFOBfiUQ2k!$YPfk+VX*TIBXNS%bMprxX3QeB>xq_1yGX0N}o z@qujLcq>cs;fkhwW?eQGHbK!PehWLLy`Ex0ot~>|cU`oBX~Io{2TQnqO)-fH%0cjf zYi==U@IetJAj(+>snyu%N%}HFjlHqW$=&Aq5R;6v#zpqYMf<jold9iKq(Eja$#9j; zp6I3!-$-UCU5qyVNtP*#ZPRx~*93JDI?Ws-`MFH?SvkLMpT(rCH*nuE3R{7$P__~} zg~m)=u4JpiYl(C+_dV>PfLuj}iqHBNTd20YTq$oQz-kG`nusk|TS`lXr9v$Qo-O&I z$d<})GLE_6ib}*9*-Vs6v6)iBn*CVxPa%ei3zfxWhI6581+Fz3Tb41Efi>JSI9ZWv z1p}2Dbtbk<Bvlx;c%{-1l?!#!LO~IwjC3-#kd+b%m0ce8v3vpvfm;c?@~Ky`*G@OF ze*PpbAQdVV)fc^&Od#Srm)c-ir&aSg>w;&%F|d?SdQK{Pe*X#hy*2?I0veG;cr=O1 zR69JDAdUBGi&2q>Q<rti&2#;3>LTm{`QrG34jUx45&H%kl2yXmzc`ZBAU=b4&`dOR z1&ofN7Ka3{)vbl3#id23B|kQco!Y!*<7}cBup0l*-u3ki@d`>kU2kFshXf0C!pvsU zq6o&(`bW>dTV%_JznsX!)MEa(Yrm3X{y$`2aL2ft;ocw%R`+lejMMqrJ;iz7qx%`` zTwZPgH;XNPNbzJEA@nWAU-ezE>TdU3K7Rx4WW1u-;5F7ACeYe-Xwp1{;u`D#4yVz) zfNV!5{#7zuUM+t4Nt#rfM=s#<L1A)N*s}RG^z?&cMd}Q}A&=iU8q}&_43-fA<`F}G zf&g=q6gYbYaEhR}W(=S6e*jWB_>LjYM6$jgQ`Pwv?eR3}yxXq@&~D7Lu0D63OnH$w znt}y%VE>Yj5oBzy8a0D{eTIYvGfMrv0i;gxR%_X3Bw0GIpVQrmk5=CVC6gv8Mi}i+ zP2Ao)@)}dC4;UEE6L>SiE$x0Hm<)45%$i)+;0S`Uax=8=T;B~_YyR1B3p{dhRa_lQ zSHO|3;@3}4O>8A2(Hk>+e<z^?h@>LugS!RYvo2Aa!`>zGSCD)CO5K^{v)*t00t}ww zgZ$})2&-EZfy=XmQZXX-U4{)~EdKfoOYoMmigyS#i$q-*nDOLg?;lu$3Og)C`g^6S zWk&;D2F6ey(827vGkAF(R71}{-P?~J$&KlU$Hb7|9aJyq$5bJ&bI?XVC*izqE!ZV9 zu2!j@%h^+pz?8dsda2OT*a{Pq2*8(3vE7J$n8ycUD`3Alf!7C3A3OC=h&P#~Ov)M1 z(Ts_Dj6w!An1@lnZ|+Z@vdJdTiH&hKCn3)<#E8NE9S+}(>9_Tp|6epw|73`vly3%t zeFJWMsMeZvkR3#e7RoCe(b+#x8$%phE@0Tko84e8E-W~UF|S7Tm#4BMHNZ1QL?*8U zV*E()O)OyE(QUV~86{_%tR*O4D<#C4-7W?mYNr8$=`r2)>s?~(+Q%bq4GbxJc3zJ% zP3YZj=h2_P9oAd(*G;G#q55cYb<9|$+CIPG>|2|O9XEXGaTzjYP(j8@$Z5%m)aDcK z9;)b|=2Kbmp&Gx7jAcrfD?lv-@o`DL@iR~{*@gt(T?qnQM1pj{&RLYtHkg5*z-Y0m z;a9_L_+|?^2lW^E=lV~D9Ky`Cujc@rAz$@ppH5%~CojT2gE}6<ZlAt0X`!=?-}^*N z8EZ>UBZ~x;IX>Hn)B)>9@x=4|wxk7Om4ur_ylU!d5w|LVFK;>F9YAzCE;Upp+Sk2s zYC0A{)%odSWlp@YOgBH};{fMQho+Jv?lobyCxnJp{}7JYRu;0v+w5<Wr&zKe<Vnyz z4oF%>ms9O7V#yP)yk-h_!h%ki*cvvEk;L3UTf@^2Qes~RMGlKF>?3PO#tYznH;{!h zH29mG7eRb|U#WQ;A7Dh)Q?m3jvrX`leuYWFF;)kw04u>gP`Rujby-9BtBWW&SviSG zkz7uGas-NF?{v<Pb#D!^=MMMvCD}H$WYtA`VYX$cqY2}8T-yVbQ_}>eB1M=4#^1;} z?|hBh<(H<;DPx8pNL55O@<v#B>8@eI#v_UT9NF=R=6#o&VL%+ZT^#5tT`c3~L2a^( zMP5u#^ZA}CC5G0VVW}fJFHyWG>G%<eWccdqJr{B#tAtb5PC%Ivo4_nzx$sD(x|$US z2?0^A08f^n;9%DGJ=B|L?^XbAV}ko2(YX!rbCd4`vQGT)vxDW2r=Cc69jCV_BHZYB z3FAz1sf-1c1i0ig3bf>hH%J~LSlFDB53n}VI1d%6hqcBU9GX9NC+mH6%#%FV^zDQr z*9ZSH-|0ZOBZ<revRD_u*je__&BZ;W+u3(4J^4tQk~}rG>j#OfM^gARQ2aSZJNjC% zK3h8bILi^a%8R5O5FvJ{q<i*WQBttwI_z1y<MBd24cOL7S1@+Ml|G0blfGa#Dg;4* zF<<zb4^tR`I)mrv3l}M@%wixC7ew5A=;DujIu(v0X*>Wu2wuke4<*}}DFa5<(s5+p zlS>}uX^s(E*NEC3{RzRCHaML*Lfswv2nmLTw4)8%@v2i$gKQ~uOL#iFm*bAiavhY7 zWX@}`>L-N^g4tGcaTMu2%<A!eFz*@DSTAF^mIv!pa;Q*<ar3picUsmmFWzwk$yA+^ zXWS=#6PNPZ2zQ6Im3NqoGn+vDn+;L74TC;7k=O-0jYfBo7)8T=y9V{L4Y;((6s?!8 z$uqpTg85R>os2usI%@V)=<h-*>!1vo*?mXm7C?99+0(KR_M9s6mk|eB%`@7g;Zf`R zLY7U^v<?kOT4|jiH#t6DeW$g4cbBv8RF-$rH2}fvLk_b&Tayc_KMc#$q}J8pK=nr& zM{ZK<|7+~4qoQoL_GM6zl8}-H>6{KyS_DKuKoF!$x<QbUPC;^Lqy$8|L+Mfk2?Z2M zDQW2tzVSWh`<?fl`PTZK=O5PE>$!Ja`?~ku&oJ}c_I)=Z<k0jc1S-)P@AJHZ$IYe* zd_QTggl`UCj+}`-pxvAi_&n)xWYT-^)Tc3*;5AxxGu*c0p63dYJ3QgIyl0u$ReNIe zC`jnGH0TM#^Ma$KwruU@06sDqt=Xwo0{Io>GC__x5AcZV?OBGhCeUn8nAe0Jy|a)% z69Z#-WcR|`GcGs2f**zukQ9^#IjRbqWiULtEJC%PX)A5a%Kiv7b{3TM`AUijtGt?- zh$UL>O!7(j#bl$zh>D5>RY3C8u-UV0)pD7ILu9oL@FTdQh}hxARu|!|=YE4%bM@UN z4`pXPE|^6XgHJ#+&MYps_sk@VX6)aHyJJ88ZkiZ1wUZo44a@jiZ4COhHd!@TGK0t! zD&nkB$R1AY<*RYsGVrGOo$*k{Seo)tB~>(<ubss{RHVNT))RodyjLO3*eR)18%ibI zBhrx7{dmEYTbM_u3?O;$%90eliSK%Zz?%qLxmfjlc5n4rk%ixPm%^UMv+JZ)TnZgM zblQ;QkV;8#HS|+W(WTnKo&Z8_m)=j)dByRN&irane=UiOF0>uB2n~sGly2eqO<}Nw z&I<hL`*tSrJ+E<pytOS=CwteX1Ez5)inZdN+|eNmfhhASq65J?&diw~=d~a@F_SdS zqtsAo&m&$_O1dFiSiP%xq8=yW`jEZR#mHx6^HSG<zKsKwVU-e-P{c3g0DiJ=dZncD z-RRr9vX#-F*LYr%+<b(%xJn~Qc_q?%7|pDgSEBgsy(j%0L9LjAFC0sl=EGAlp0WI` z<XO#$Y>I=a@o&DC#_Hd@ZOF*BY>fMT)_ZgVFHJtRW3YN`<@Upj;PD0*9d)d-?%s=6 zJitAdtYG_+*vd9vL&CHbk=>bD{*r#7^6Q7D6z$p2N0e}T(a7&CijlV{v=v$#+i1{% zQR2Xt=P?}f>nWi=p|5Cm>j5`U64G>ZJr4=DkG*8q*6HThMMLR%F3yY<OXQz53J1l@ zny`89qRhSf&h?*`uzEnsL0i_6ve6J?meW~LMuFqavX|Mq6K-k3Ib9KQCSMI5>@y52 znTlgS2KkXBoJNrO0h80Km6U$F6J?<X;&*nR9eMN2T|0dBe0-bgZd@@dcXq$1R9%f< zPQ1RA#_+Dle#w49hS5{eQq=xVlhI_@d_J>a=L@lgim~>#8E3ubN@VwX|46o$6BjF$ z)G6zIgPWo}_f=Y2DTT&nmUYuwM1I}siCO7fVHx$?IH^{~bZ|ZHN~>Tvt#wAAiM|8a zcI<YPTb&1Q5%>z6$So0cO|`fzHU`V<M#|-kzW+F^S*bX3nF~6ga;yBCk8|pPn{L_r zgVF3CLzvRY`j~B=-*Ha<H}2_N`;o}W=B+T+=`t}Ch<ZRmZhIzjjn=uOl$d3!4LPTQ zJ(GB$zwJ}vLq2GqG9_tf@8xpitF#Ue_|I&G!Ja@k>@A6TcSdVmhXw{T1mH#YpX+*0 zTCszZ>c>t3-!BQaJbNgZrqW4JB^C$bliBg1{H1mNYf(Di)sg2S5SHw%Bt}Nx>-lx_ zs`8h<Z!%UCqdP8QO;0OM&&$8D1|{n3wTgzMvD-^O`DF^e=wz9XfH^#K>SppW-4!m7 zyycUs$71rE)>{;uN8w@@xOm4Now=BEpSBiMUdOT<>ca&=a;C_4)_3(go=~(DH|P;- zdm3_*P1W_iUL`IJx(8C(gOna~Ua7K_+~Z8W;Ji_#KWW@AY9VQn=UG-4(!1k(R6%7( z!fq}Sa2=7uD&fyWoTAJwHFiAPH}}@pAKC0Rbi6xWmfK5y_2V>^%WdBW=mC8p(dh~) zh>V1c^>~j_@d!Jmhm_*LF8dqdrKaX)QOz<V5-`$(EI!RU<FU-e4ZSY5ci*09g{BB$ zZe|*u85wEuq&A}ZcoSS~82~ycw}Oz^go4cDh;K7@Mle(9JNDWl#TFm=#Ac*x-<le8 zu1dPi!<+i|QfpTAMae7n(bt6*ik=mN@5bJ)6FNM?o*6bd4wf36de$RBy98jE2wIk* zoqzkH<I!r6O9crGOe&JgDA70H-mQ|o|LayMhEm!PZf7>4>eOyN*`)ZcLnJaqHYb;S zj_*cF-FA}%$Fr5F8-_AumLf+Ha-Wni<6kly<p#R#&L3ocO5*+6(uZE$tL0Zo>Ai6% zajsC)xs527WmX#Wkpgk>^T2<aYn{gjXkOp4XMf2ijZi(OXqNk_F-8>BYwGZeAx0xG z`NP7R$LU~pa>j+})|I^%0mIiUipjEDyWcAs0^Hcn_sBEllp%NX!AH?@QHllpGUX|a z=<~v9)v)=%g89hVGb(fqQwUdf?KyL<x%~HGWFjD;Iu`WaqakpO!$IOVHM>>=+remB zp{%)-y?yXo>ghhoTx!D*5~?rz!L~XBRn-1n+C;Wp`;HT`R%24R1}Bv4PV#!G%Wlp6 zEcaosVPpTP9GN@ztji6IA9)q`?0K)6dS66&X*gI$9Yi>k=&Pc)K6q^!zH`5r^U+XV zqm%wZb7t^)aARb*p0%(H_MIdJ`Prv-v{zyEL*K2%%ngFE-mN0D*xt`?nq^sj2MRCK zga?{?AAM}BJCAGUjPE``T?;1NS%JSfnOFKSXXi2RF4;RWl9A7`-VFOpetV8E9TNc0 zA@6bj3~<|8c?w%Ycaapj+4V_#h;9w!xQ%p%T{Ds`zlS;(MAHqE940l}%8Lw?g(wM> z%d+(?dlIIulDMxv;!Y}47NB8~%MO_YROEY6zD*KruU=uFbARM73;Oy>yQUE+h4M9j zQs>R~POz=);<qj!vx$v|cT=&Mhf3~rZW3UxQb_(*M=(GiUBe@tnVygtTK6-b!BJFD zh+jaE>f*BAmDv+^r@8VuJ<m^waalWy+ID}iV`|krb5q&(dHKoScw$}6Ht{E7U*&#` z&8HALFnD1$L=$Q}S-c}2ft48=$>Q`PQ{NhCX(?Q;G9CCy|4esx<9ne&_xsushM2uy zkK&086oP9<($FN*9cg<9@$HSoJ^XIUG>9Ov`p`!QZjrQN=XAn{%m-F7%i23<#-QuF zQ=yS)Kk!hc6ff^-h>LgrEV->3wP?}NEa##WcVN|>cc~PyhCk+mlrOJXMaz>>Zw5y^ zSRSd5jy`A#Rwjsgc^yXERsnhGNtDvF)|>cryPt^r`b~7FGl6f-N%A@%y69=^E^CuA zTl;m{-Zhp5Ipbe}nkhV1amsMErP$ABpoMqb!fKOhpClWu$R4puBZ7RplIb?T#vFik zBD#xLA66p@A`3;{mrw6p-55uuY#SN;I#G9Vk%->C*{!{qPisllUyzWNQU`Z9UFuNl zAADop|9u8+mQ}*<v-?W8CQDyPT}b4sZbixcvw7XS7Oy~&qY=eZT84FA<LAFqV_jc& zw~8k@O(h!zyWc73*6G#{N%y)9t_w>_%`}J3k&C`~dM|G0oMXXLEaL8~3)#g~^7OML zxhKaHFLYsBJO*^S*K@XRdNEyg7J{?K-)t}tF!`KTfhOV%O-^V&)Vpt$kBM?3gX}Jl zM*K9GeJr7Gwyn}82h()VZhL<!q1$_|&LA|z6yI}UrEid$`Y!DD!iB|+*D{pbL(~N7 za;}_3=GQUS=;D>;XC#f^h(DxxD^`S2hMC^@7JS%1;Sbp!E}U*(NtE-sx<|B0CcVsm zXjPAS2|y<f@t=Y`)?TSknw_1Mhv+kF!r$LmFC1}b_M{6ZJ`VTgSjhbCux%&Eo(mZ6 zENwmUIF+d=F$ge>bBJ!$oahj~4y8<WdidaNg{OhF+D(DHbnBSuV#n{FL#H9gOXF2p zeHZu5lwHj?VPheVxoeC25(k@GtGo=vOIvDR*8<S=oYp^{(esJKz#e3=#3aH((;A{* zk>&T9vHhBhoQhV@H!@PIdh5!Fn5%42J)Y46M!HIlP&`T7z8$!!aRFMm7_z+l`huNZ zmxc2s-+kAz#aVrQT@~{SvmCWjyM_nqpC7!IR?~f1Hm#FiCaZZth{$szCjH;v{Wy?f z>`(+Gn4vEKzW@D##Mu`>CIR|op&}zDpQ0$0jV3QVvf)xBqlE{fWr9(lePB4pWoiZ4 zE-G13CXiqh)2#?iXJthaUcfcNaQizPx5r2}(^6Vmyq~y+wOqu+kNK9Lzt)54K%~Au z-9*hCzuRI-8yU~DNu!tWJvtdoEjdN$q$rRj><4=(URAbnwCx~&5qA}RV>LTX@}S52 z$c=?ICSbNQG5pna#1fK^w}7wQ=z2OABsNVnz1lfvLv7Mfs3Zj38@%$PR+D<ol8suR za+ri#;0M>ErF6zxxHylIl_Pt4e7pt1*VDit%~GL*=tI{J82jC90o8};G(r!l-*Sqh zU{7iXL|mRm4nVj#4GwtG5+4x8gApVu%-XpLmTVCvc?sj%w3Z7E(tQHMsQzx)q(kQj z?Xl9~SWUS4htWJqUFBZy@(82KFXLj;oX(pq$6w%e*!Rz-!QGMzK4%Qm?z1f_isVlh zwiF8_QtlJLl71Du()3S6Eo!J20{F=UUy$Zz6q!7xuZ?%j5f;!xzkhCU=VQ)~L<v}| z*1cT;yZ1rA^6Bq6X*y}Mzyh9xfw7;uMvPfR7DNk>z(SdnpBGXHJOn@sG$yrG?$dqz z#O4nAEjOekcDMZA*2B0){)hL)p5)7D&fJl?V{8lT<oIe5)-GZN-UW?vBuB`16}(|c z|8P*z`aF_VNAhP4rvp00Vgh*bdzd<Jh*_VRhw-UX%Lww@QN@nsLVAxE&vd+DzbdCj zZffv**<tPhp}bfUN`=7Nd9zC(@1cs0mzYKhQzGZI)oxQFN=84Uyxsuna}2?GaNO17 zB16W4+|yHz3JvZFdBX9keGvSBLgiXSvS*Xc?^6>@!+ziQcYN4W6)Uw2$NBu9CilFF z7NtI?ZD$8W)X@=92;XQS$Cx?s!&2T~>IiChP-4BE62NE^>OEz@9Uo^it*E}8M0)S~ zZwsm{itwx#&@ejZTjW+3-bbUK&awoEeHe9~HWCU<hOtj|T4~t_q$6(umCo+4&Tc;5 zFz;EY^bQXyZ@W*9o?^Au(`#OQkd3*TI$64{rI@`EbUi;FczfO?{@Ce3G=<1Og@FHZ z0SahxG|w=bkG%HHZP1mDF>uGrxZcBqcwW;xIx0H@W0SH`+7Vm2_wke~hp;PS`E~fm zUFs;lluqu7P?aDcrPXvxTHS%5@kvmw>!LKmB2uPHTO~^qjii24N&D*E8~!)!+&2~% zp1D@&v{&n%oJvo8;RAg5FjagM#mq!?YWN$#8?*!dR2^+t2NQl#?#9A4!$%*p%8v3V zn+KTr>Zn@Xb#wDno2qH$&eSODlZd`nMf05fF%41Lit=G_#GwNAt7i4a<WVME1JCHF z!qrVh>y|+gJ!ld_6VA|x*6ZX`DsBqeK;^2YAo1Ckq|&y9?5`E&*rpcmH?X^!R5e_s zTV&v*|KVWJU14~2y=x1o&o3ksHP%XV4NTLZF##@&K7Xfo8NwMS-@5nR??Ibqc<C=f zK)i0XyraRzqe_JarM{zDQqmcgxJyPq!b>U`8d_tW?MKmHDL;Jvq{xp<gKlE1PAnK2 zydq`;DuN$+cC>O_sT4?2_LiF%4jxfESMytpS$dOzdM`}d)+C~oswqu8c&b{RyxG4N z?H8>UP;&C_IQ{77l$75<W3b#%F3dORAg{#U4k7r?6C~8AD>$6u;6%7Z?>(YaUqWyg z73}+|YmOhSk@9RKwQs#|Jt_Z_Kpl|TI|X^WNvgVB+EVAHZOvJtaWSE7jTl?l;snJ9 zQx?xF7n@l@pB-8*`}5JA75V8XwXRbK1OWpGi{q*0L=b1mr9+erfja`8Yd;%Yf0!ge z<!>;vC#1)ybxM~?sIM$3ynL+Po(cxg6_FUks%Vs=U9RiOC+t_qQ5@cSzE$jT=c6NS zPvY;=`|as&ZOb>po-u~l4Pt7wj@k)Ix(AhY&$mCfW%bb80&Oq*?I;!Jlg;KvsRH6} zzsrvrbw8=4BPrt^r0F3Ev%eMrI)(N?vnO4|OF;`G_7hH3DFGn{PV+ZtKE8?5gPJQc z3HWqJpm#b<Q#m85T|4`Qe3a|m^A8&2Uq>)k1BeTJ?JEYOI4+jal^b7QU1PY#dyQO; zJLe?T4fu#eh_rbUV5Mh~x;vf7*7D6FoSQDaG;nn$FeJWgBOvy6NWv`X;Z*6j5j!2L z`8&2bz7G3Iop&sr6!7*$#L||3T}@g};?>Y+4MGP_R)}qEB0SmOhzmVmrITn=xK@xu z;bN<jKE7nh@kM6oX!7o?>cgW}Rpr3)@NG~gq22>)lMk~y6GW|qa3VN4|F-yg$SB1o znB$6uH>EGr)Xig^TwU2CO8zU=%mXc%yTg)Qp)2>g=kDa>MY9D!X_@`QgIqK918v+c zrTC$>mH>mi2jt$5-<p@giLBQ-xcd~=JbM}F1l34)HJ0w@<rQ5s0!Zm{3G+ms6emfm zJ0D%*7lrcLB#4<Y938%Ec(}V_*{k>Pi}8Ha*Qa;8pKhw#2pC24q_jK9_)|vzOpkob z<WnP2E_eZ%XP}$`&g!>Tlo($g=5`w(7di<+&jDUp2u#>uGSYjdt?s@y&Eb$aV}1DY zceQa|8@YT(?PascpNCcQ9u(3w`|DqJS1D}9lgZx1L<)N61m=U|IqbLSNTO~VD*L69 zNHIL1iJ3@^l4-jR9G6&}oP3pgQsQ@yeKnG^o>LNzBCpIE^Z?SUZH@B}=@oYCY&SjD zLC;QIQW8A*;q_uvn8vD2>6+1d2YoM*st^0S`wGcp8HXyj6PC4~y&ZY*rewRiMX*Mw z)x`SB$$-R!1RufE@Tq3cbL{b!&SBy|%V2qeV@W=J(MfIf`KvWF(ptkZ*B4y5Py7nH zpp4jml0@CjD*IZOcl(KUMzzr9E@S+O79SbfKPF+wVdF9v$8)wg>qeT#9x-IBgj|e) zQ3~IO{LeSMqL#hEvAga}Z~NM?FCrz*ODt1ems(7j15wrnUr$BmQV%%QLgm~c-$$+t z8ih40Zr^|5dUfNgenqvPUiW6T4MIFn(96*dG#Q+{)Lb5QD)?A~$!xh<{NqD6jxw$Q zw1)nnE#T`jvpeyW_7ssHNR=brj6yVCJp19}#@<&!5t;ZEm^!y&&}|(Oa(X1M&xaW2 z(EUETyE5>ly13W7BZgm8cwJ#8=vAjqZ7s<)x2K~E$59jMC6}ar(Ep^b_pY?l`RzD1 z-Fs0>v(j`r^DyAy%Fkd5EgKIO-7^`x08VuK>ql33$}4}ee)4d6M%eVak#fIE%u?p( ztK&M;ZmAU_AtFiV`hc`y@vA*7iO*6Qqth|{QfHX?ovwR`)?@)Sy;e4u8!QTGX9wFA z$QndFe(Ot80V`(h5Zl0>9FV~!&6ZpFgG(qd_9Kr%DiYlT#i-`^dT#Hx7uL;8xXPew zx$DI@?>$)+r~S}W`oL<V=Eys!9@@DXH~#5BsHuHt#hU7S_{9@*9(DuvYGZ$!)tnz4 z&lex6#tRNx))iFxteh`4cv$zHrKne()Fy-)n2q)@fe>A1u)%5DQE8)VyiIEWS1G74 zuXIU?T;bdCQ7yg~rdL#qv`-Fu=<-j|;ZU~A(`9?U-iaTTr<o!7s}BBQgu`;QY!#@a z4W`L9M}L&_=}y)nNWAD`O-uN=)69bNRG#a^9E|FZsO$*Roba=|9jdX(lv!vzRW$vk zBQ!7}g2MdyH&?j#+&+rbmG98+SJagJ9B`(KzHDt>Ec{KhS8CyQ{;zhFcl|ax&6XhO z*CEkoQ{tDkRpYvu5#k}LrBIu#@Soor7CZ9quJf|#(^?E*db1=Q^$zOlYjb;r!==yY z(oNnEb%Rw5SVKHFKfLzysC$R0s8(@gP5F7#YrNF4SP)ql_+|}yR!lENb>NbOFc9_N zI7lxa7y6Oof3ANPbG9f^wX0u_X4{bwTt1#G-E)6rW&Bhqac1eew3m&l)apV}j&<uH zvBy`I<>sNxty>8FTBGJ}E)4L{rdV{*H6>?6UuKM^HP@8nP|lK5IIVLQu)#$r#^0ez z)YWhq+^{f{(dx2ucR0?IF=(*LAmT{f-|K!wQ4-rqfHRmtI5>=D-KjeWZSdRk)vqU| zj;1Be^a08XJA<0i{+oPXzwEf2Bdn#qyF^=99nD)a5--@J)0pTI;xdq06}ne;%SRcu z<jU>}rU@8Yte!|!2Dc~l#kVJL-X~n}BfgJ`d4w7=cH}RXuYchEjnzg-c?MQumQUQ) zvfMwkLi75)^t<QX)-~p+Jv2&CbmD{O_>@len`t&bLj!6Zsu110+q78~f>Hv<3rQ<a z6A4Ctz1IKUWGFhtYf;BYE1TvV%bX+Xq9~@f9xlVhEGf~)!S8>?PL>i`r!HY$d^F?h zVS34vTG>8K&+r?=YbCB<g>_y76<OZ_B|IYjrK?)a+%hPGuJ>#MBM#{4pUW353*)9< zYJxKDlVQfq!{g4C3tv9#-2L@wmPhhj#dvdfe^jr2(C^z=?a5QJA)OD(CTV$rXzCOq zljWC1h4IZSzNQaFRCYxe)g=+sf|W&fS#Ao33c~DFX1<pU+RZk3U$K986gTp^dqR>d zFkpTC(tK3HJBx@Rn}$FZbmDW@2Vu^qSJFH0xn;PIrcNys5qzdMlyqsVnSbCx_$21q zoJzB9e7_5Atk8u6)m_Swp{r`578TznDZrjz$;(0;FD+1PPE6{=!`6yk$g(l}EKzRm zxAuEy$WrX;g(D70&v(CEIucqXyeAx(H#;QYQW+~s&*bC1y{}&`OND--vlk+Ll;K^; zzH@&pZv4VU1Gyq5P4kS_#>X)FX~u^_&psy8C)vuiYb1xvnwcxSk0sn*uiYP-{<gwL zA2!Eyt@Sy_ysgAzlwYRIS8d<K7xdFg6K)6KA6c92d>^;JAAm+Q2?atnK4Kzt=UW+M zGpz{fBPOeOe%w^suz>8McSn!;UC5fW4Bo|lPBx36^egNVPjWy1mJ%`>r$UxUvqr7u zQNJ$ZztmO7+HEmrwGlI;8t%Bb4&UF>R0W>RP}-IBsofP}Xi?=XI&($^-MkjA6Z$l- zAoQfpQYnv#^m+8j0rL&*u?vFz+{cuEdmzR>8atUi#`rD+zyyf;vSontWifLU9Bg3) z0*atemT(ae$O<X~#9kui7GNY24uQbIR$x93ZwGrvH*seRE6m+Z06oTh9gxiZ->k&2 zZUAJdpdujTeGo((h!h7xg@9m;;|4$oUs}8YaR2YL%5DOb|GPWiYyx=xt2^uWHvtI% zQ78xrf&h_!xyc6v@(GZNsXJLHn7Ui?D~N-EAQbTLcVOyv0262g2n2+4{6P)K;mASy z=Pw8ag}||I8~JnnKN$jufWmNOa2Ny(!I7arC<xwK5Eudd=Y4;4gRuHA6uSUUEd&Sx z!Bvhxz(Kgmkq8(9SB8M2AmD#0$HIW&I0n$7flypmP#`1}#}yFPIsz901PF>B1{?;% zTZ;rC@z=tzz+nSa`#XLh7#!D41PF%0mBC?9BwmOhI24XC-UA?Sfe=6xPOu0N0)i`p z!{B(?!rq61V8*dp03alW^B8bl8=EXVWhf-BO9(7=aAj~95{STE3kJgB7_WV-n_v(a zPcs-BEzSx!3<bxPA;4e|1he&*7BGHZzz{sT!m&gF;b=yHA#fnZ`rwZ*P&|?%z)%=2 z$Z$9qg)2jVVL$|C<}WQU#9ul6drHCZf93gaGB_4@JSKy&NyX?L{_zEy1Uyd>P+S=t z8xpPz0Y(Brn4!P4AmMmC1S3(nGB_N8z(*GaMPihXu)aWmAUxC{*b0H;9~_RtlOZ5L z6b#e)mlhBVcaI?;ASA8~j(uqn9=Z^0YA}f7KfXYKc&I_}YXTgBg%Za<1O$RaVaor~ z0)^r76aj(a@fnVQg7MIWz#wo8-^m|eU?@D)AaDq7_TdN^3KuH`wr;{O*?(z4z;IU} zAP6Mx3T%pC_`V>qzA&8r@dX9MU4h-~c=ZmBK;d&7f<huNv46Bcf%v#!PdLEM2OJ4R z;zbSxL68{YGXOXCM|cptN(TkwXBE5M@R*1M<L?S6ma_lMB@hKh;j#&cLPEfQ*o6K^ zH-ci1z5VB65CU7VamfKkLcw?dLZMKc)ci4mmoDt~0R4@|f9wOXMqv0%#TFA>WUxFy z;^h^J&ls!`TxYNw1-miuf<t3#I-U@YX9O$3D{a^U1I67KSR+teeLy5OK0F)$F7(*= z|1%6=d(_{c`3o61^8e^2P$XVW#Tr538pgJNJZBKle{$gu{#f@=xTFEWQ9!)BV>cgO zo5vc#n`%JVDFcUuAOsAA-(z7QG+v(IC@>6<Trdy{mxNd&c$ESSLHwOu|Kb)5+fZ=f zhk^gS7X2Ui|5Ri=a>4K+#2UeK8jM8Xw`Ld=zZJlsxSRoEp@!jA4Fn8|!gU5~1O`gd zCgi>a`#+{07z~dTa1=JPc%j3g$fSBgZZs0{=jC^QuKzF)`xZRh`h~5ecu9w&P=Cfu z+_iWW9)iU7G@SdO5NvP3%Klk-VE;$+g(2~hjsRkbj-wFUG4QGk)(Bo{gkq=EzXkX2 z$^-vvVE$($a3KD^0fO=73G671*GHfzFkU5tLGcR;0*(g3aW^bhAzsoE*xBK4UjK0v zgn)zbS`Q40Kf_|<z~cl04*3_$|5171*oKY^D-ec1=fI(Ooe2(v;c)@`2!n?V0y}O0 z-NwHv4;+d|8UzxCX9NibBL2Sk4+=;G3cp(+pm5x6gTOXmTp0=s2f)FYaY91rM_`Do zJWxp%g@nUpQF3y!ve@}lNl6|C0>j}*u#&W-?Emi$BT{K;Qa5)~S9fn$ODj_BlO7xj MCgtH#)KDV*AKC{N&Hw-a delta 92330 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	%k8!e@}P!B3YqY;<o@%2IsJJI(on}`zAI) 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 -- GitLab From 7552244e07f414da5c7d49f9b054af44f6c84a21 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Thu, 9 May 2019 09:15:06 +0200 Subject: [PATCH 04/19] Added bitfield BCID_ONBCR in TTC_DEC_CTRL register --- sources/templates/dma_control.vhd | 7 +++++-- sources/templates/pcie_package.vhd | 2 ++ sources/templates/registermap.tex | 1 + sources/templates/registers-4.7.yaml | 4 ++++ sources/templates/registers.pdf | Bin 199259 -> 199485 bytes 5 files changed, 12 insertions(+), 2 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 1a2a29400..b7d17fdc3 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6933,6 +6933,7 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- + register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= REG_TTC_DEC_CTRL_BCID_ONBCR_C; -- BCID is set to this value when BCR arrives register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C; -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= REG_TTC_DEC_CTRL_TOHOST_RST_C; -- reset toHost in ttc decoder @@ -13564,7 +13565,8 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal + when REG_TTC_DEC_CTRL => register_read_data_25_s(26 downto 15) <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR; -- BCID is set to this value when BCR arrives + register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal register_read_data_25_s(13 downto 13) <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_read_data_25_s(12 downto 12) <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF register_read_data_25_s(11 downto 11) <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST; -- reset toHost in ttc decoder @@ -20698,7 +20700,8 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) + when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= register_write_data_25_v(26 downto 15); -- BCID is set to this value when BCR arrives + register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= register_write_data_25_v(11 downto 11); -- reset toHost in ttc decoder register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN <= register_write_data_25_v(10 downto 10); -- trigger type enable / disable for TTC-ToHost diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index e9badc7b7..5c5d96bf8 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -1519,6 +1519,7 @@ package pcie_package is end record; type bitfield_ttc_dec_ctrl_w_type is record + BCID_ONBCR : std_logic_vector(26 downto 15); -- BCID is set to this value when BCR arrives ECR_BCR_SWAP : std_logic_vector(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) BUSY_OUTPUT_INHIBIT : std_logic_vector(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF TOHOST_RST : std_logic_vector(11 downto 11); -- reset toHost in ttc decoder @@ -5486,6 +5487,7 @@ package pcie_package is -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- + constant REG_TTC_DEC_CTRL_BCID_ONBCR_C : std_logic_vector(26 downto 15) := x"000"; -- BCID is set to this value when BCR arrives constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C : std_logic_vector(13 downto 13) := "0"; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C : std_logic_vector(12 downto 12) := "0"; -- forces the Busy LEMO output to BUSY-OFF constant REG_TTC_DEC_CTRL_TOHOST_RST_C : std_logic_vector(11 downto 11) := "0"; -- reset toHost in ttc decoder diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex index faf9a73c5..536b2819a 100644 --- a/sources/templates/registermap.tex +++ b/sources/templates/registermap.tex @@ -777,6 +777,7 @@ BAR2 stores registers for the control and monitor of HDL modules inside the FPGA \hline 0x8000 & 0 & \multicolumn{5}{l|}{TTC\_DEC\_CTRL} \\ \cline{3-7} + & & & BCID\_ONBCR & 26:15 & W & BCID is set to this value when BCR arrives \\ & & & BUSY\_OUTPUT\_STATUS & 14 & R & Actual status of the BUSY LEMO output signal \\ & & & ECR\_BCR\_SWAP & 13 & W & ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) \\ & & & BUSY\_OUTPUT\_INHIBIT & 12 & W & forces the Busy LEMO output to BUSY-OFF \\ diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml index 320f00785..21935779a 100644 --- a/sources/templates/registers-4.7.yaml +++ b/sources/templates/registers-4.7.yaml @@ -1540,6 +1540,10 @@ TTC_DEC_CTRLMON: type_name: TTC_DEC_CTRLS type: W bitfield: + - range: 26..15 + name: BCID_ONBCR + type: W + desc: BCID is set to this value when BCR arrives - range: 14 name: BUSY_OUTPUT_STATUS type: R diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf index b18942337de4300233f4e74f37253a1a015d17bc..7d56a13f99230daf1d7788caf5a1eee447a86f8a 100644 GIT binary patch delta 29918 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 UeN2J9P(#2F6#V>3n)fOG7sxhnIRF3v delta 29673 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 -- GitLab From 2645e94a1a762e9a705cb8294eddd297f3f62a8d Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Mon, 20 May 2019 13:05:30 +0200 Subject: [PATCH 05/19] Moved some checks from combinatorial processes into clocked processes for better timing --- sources/pcie/dma_read_write.vhd | 19 ++++++++-- sources/templates/dma_control.vhd | 42 ++++++++++++---------- sources/templates/dma_control.vhd.template | 42 ++++++++++++---------- 3 files changed, 62 insertions(+), 41 deletions(-) diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd index 9f68ac642..c3e186c5f 100644 --- a/sources/pcie/dma_read_write.vhd +++ b/sources/pcie/dma_read_write.vhd @@ -117,19 +117,32 @@ architecture rtl of dma_read_write is signal current_dword_count_s: std_logic_vector(10 downto 0); signal s_m_axis_rq : axis_type; - + signal tohost_start_condition: std_logic; begin m_axis_rq <= s_m_axis_rq; + + + tohost_start_condition_proc: process(clk) + begin + if rising_edge(clk) then + tohost_start_condition <= '0'; + if((toHostFifo_prog_empty = '0')) then + if((dma_descriptors(active_descriptor_s).read_not_write = '0')) then + tohost_start_condition <= '1'; + end if; + end if; + end if; + end process; re: process(rw_state, m_axis_r_rq, dma_descriptors, active_descriptor_s, toHostFifo_prog_empty, current_descriptor) begin toHostFifo_re <= '0'; case(rw_state) is when IDLE => - if((toHostFifo_prog_empty = '0') and (m_axis_r_rq.tready = '1')) then - if((dma_descriptors(active_descriptor_s).enable = '1') and (dma_descriptors(active_descriptor_s).read_not_write = '0')) then + if((m_axis_r_rq.tready = '1')) then + if(dma_descriptors(active_descriptor_s).enable = '1' and tohost_start_condition = '1') then toHostFifo_re <= '1'; end if; end if; diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 107bd8825..6f701f3b1 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -261,23 +261,6 @@ begin end if; end process; - -dma_wait_proc: process(dma_descriptors_s, last_pc_pointer_s) -begin - for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop - --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - if(dma_descriptors_s(i).current_address<last_pc_pointer_s(i)) then - dma_wait(i) <= '0'; - else - dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write - end if; - else - dma_wait(i) <= '0'; - end if; - end loop; -end process; - comp: process(clk, reset) variable request_type_v : std_logic_vector(3 downto 0); variable poisoned_completion_v : std_logic; @@ -289,12 +272,16 @@ end process; variable dma_descriptors_enable_written_250_v : std_logic; variable tohost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable fromhost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable evencycle_dma_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable evencycle_pc_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); read_interrupt_250_s <= '0'; write_interrupt_250_s <= '0'; + evencycle_dma_v(i) := '0'; + evencycle_pc_v(i) := '0'; end loop; else if(rising_edge(clk)) then @@ -385,6 +372,8 @@ end process; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around + evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle. + end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. @@ -411,13 +400,16 @@ end process; if(dma_descriptors_s(i).wrap_around = '1') then dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around + evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle. end if; end if; end if; else dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; dma_descriptors_s(i).evencycle_pc <= '0'; + evencycle_pc_v(i) := '0'; dma_descriptors_s(i).evencycle_dma <= '0'; + evencycle_dma_v(i) := '0'; end if; if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. @@ -425,15 +417,27 @@ end process; end if; + --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. + if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then + if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then + dma_wait(i) <= '0'; + else + dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write + end if; + else + dma_wait(i) <= '0'; + end if; + + end loop; - if(tohost_busy_v>0) then + if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then tohost_busy_250_s <= '1'; else tohost_busy_250_s <= '0'; end if; - if(fromhost_busy_v>0) then + if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then fromhost_busy_250_s <= '1'; else fromhost_busy_250_s <= '0'; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index fee53eea1..ce5afa2eb 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -240,23 +240,6 @@ begin end if; end process; - -dma_wait_proc: process(dma_descriptors_s, last_pc_pointer_s) -begin - for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop - --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - if(dma_descriptors_s(i).current_address<last_pc_pointer_s(i)) then - dma_wait(i) <= '0'; - else - dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write - end if; - else - dma_wait(i) <= '0'; - end if; - end loop; -end process; - comp: process(clk, reset) variable request_type_v : std_logic_vector(3 downto 0); variable poisoned_completion_v : std_logic; @@ -268,12 +251,16 @@ end process; variable dma_descriptors_enable_written_250_v : std_logic; variable tohost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable fromhost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable evencycle_dma_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable evencycle_pc_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); read_interrupt_250_s <= '0'; write_interrupt_250_s <= '0'; + evencycle_dma_v(i) := '0'; + evencycle_pc_v(i) := '0'; end loop; else if(rising_edge(clk)) then @@ -364,6 +351,8 @@ end process; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around + evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle. + end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. @@ -390,13 +379,16 @@ end process; if(dma_descriptors_s(i).wrap_around = '1') then dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around + evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle. end if; end if; end if; else dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; dma_descriptors_s(i).evencycle_pc <= '0'; + evencycle_pc_v(i) := '0'; dma_descriptors_s(i).evencycle_dma <= '0'; + evencycle_dma_v(i) := '0'; end if; if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. @@ -404,15 +396,27 @@ end process; end if; + --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. + if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then + if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then + dma_wait(i) <= '0'; + else + dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write + end if; + else + dma_wait(i) <= '0'; + end if; + + end loop; - if(tohost_busy_v>0) then + if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then tohost_busy_250_s <= '1'; else tohost_busy_250_s <= '0'; end if; - if(fromhost_busy_v>0) then + if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then fromhost_busy_250_s <= '1'; else fromhost_busy_250_s <= '0'; -- GitLab From f4569cc94ab27b51d249ebf857fc5eaa44f61a8c Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Mon, 20 May 2019 13:15:07 +0200 Subject: [PATCH 06/19] reverted dma_read_write.vhd to master --- sources/pcie/dma_read_write.vhd | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd index c3e186c5f..9f68ac642 100644 --- a/sources/pcie/dma_read_write.vhd +++ b/sources/pcie/dma_read_write.vhd @@ -117,32 +117,19 @@ architecture rtl of dma_read_write is signal current_dword_count_s: std_logic_vector(10 downto 0); signal s_m_axis_rq : axis_type; - signal tohost_start_condition: std_logic; + begin m_axis_rq <= s_m_axis_rq; - - - tohost_start_condition_proc: process(clk) - begin - if rising_edge(clk) then - tohost_start_condition <= '0'; - if((toHostFifo_prog_empty = '0')) then - if((dma_descriptors(active_descriptor_s).read_not_write = '0')) then - tohost_start_condition <= '1'; - end if; - end if; - end if; - end process; re: process(rw_state, m_axis_r_rq, dma_descriptors, active_descriptor_s, toHostFifo_prog_empty, current_descriptor) begin toHostFifo_re <= '0'; case(rw_state) is when IDLE => - if((m_axis_r_rq.tready = '1')) then - if(dma_descriptors(active_descriptor_s).enable = '1' and tohost_start_condition = '1') then + if((toHostFifo_prog_empty = '0') and (m_axis_r_rq.tready = '1')) then + if((dma_descriptors(active_descriptor_s).enable = '1') and (dma_descriptors(active_descriptor_s).read_not_write = '0')) then toHostFifo_re <= '1'; end if; end if; -- GitLab From f44bccc4b576ec4edb055c3ec950f042e29e49a1 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Tue, 21 May 2019 11:25:02 +0200 Subject: [PATCH 07/19] Using variables for current_address, so it can be checked in the same clock cycle for dma_wait to update immediately --- sources/templates/dma_control.vhd | 60 ++++++++++------------ sources/templates/dma_control.vhd.template | 60 ++++++++++------------ 2 files changed, 56 insertions(+), 64 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 6f701f3b1..7a189f339 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -214,7 +214,6 @@ architecture rtl of dma_control is signal read_interrupt_250_s : std_logic; type slv64_arr is array(0 to (NUMBER_OF_DESCRIPTORS -1)) of std_logic_vector(63 downto 0); signal next_current_address_s : slv64_arr; - signal last_current_address_s : slv64_arr; signal last_pc_pointer_s : slv64_arr; signal dma_wait : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1)); @@ -274,6 +273,7 @@ begin variable fromhost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable evencycle_dma_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable evencycle_pc_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable current_address_v : slv64_arr; begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop @@ -335,9 +335,6 @@ begin dma_descriptors_s(i).pc_pointer <= dma_descriptors_w_250_s(i).pc_pointer; dma_descriptors_s(i).wrap_around <= dma_descriptors_w_250_s(i).wrap_around; - last_current_address_s(i) <= dma_descriptors_s(i).current_address; - - last_pc_pointer_s(i) <= dma_descriptors_s(i).pc_pointer; @@ -358,7 +355,7 @@ begin end if; --Then check fromhost busy if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then - --FromHost direction, so the nex_current_address has to be > last_pc_pointer_s + --FromHost direction, so the next_current_address has to be > last_pc_pointer_s if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then fromhost_busy_v(i) := '1'; end if; @@ -371,21 +368,16 @@ begin if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. - dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around - evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle. - + evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around + end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - --if(next_current_address_s(i)<last_pc_pointer_s(i)) then - dma_descriptors_s(i).current_address <= next_current_address_s(i); - --else - -- dma_descriptors_s(i).current_address <= dma_descriptors_s(i).current_address; - --end if; + current_address_v(i) := next_current_address_s(i); else if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then - dma_descriptors_s(i).current_address <= next_current_address_s(i); + current_address_v(i) := next_current_address_s(i); else dma_descriptors_s(i).enable <= dma_descriptors_s(i).wrap_around; if(dma_descriptors_s(i).read_not_write='1') then @@ -398,28 +390,26 @@ begin --When wrapping around, regardless of the cycle, when the end address has been reached, the current address must be reset to start_address. if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then if(dma_descriptors_s(i).wrap_around = '1') then - dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; - dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around - evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle. + current_address_v(i) := dma_descriptors_s(i).start_address; + evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around end if; end if; end if; else - dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; - dma_descriptors_s(i).evencycle_pc <= '0'; + current_address_v(i) := dma_descriptors_s(i).start_address; evencycle_pc_v(i) := '0'; - dma_descriptors_s(i).evencycle_dma <= '0'; evencycle_dma_v(i) := '0'; + end if; - + dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); + dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i); + dma_descriptors_s(i).current_address <= current_address_v(i); if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; - - --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then + if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '0'; else dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write @@ -814,7 +804,8 @@ begin regrw: process(regmap_clk) variable register_write_data_25_v: std_logic_vector(127 downto 0); - + variable register_read_address_v: std_logic_vector(19 downto 0); + variable register_write_address_v: std_logic_vector(19 downto 0); begin if(rising_edge(regmap_clk)) then if(reset = '1' or reset_register_map_25_s='1') then @@ -9000,7 +8991,8 @@ begin register_read_data_25_s <= (others => '0'); --default value --Read registers in BAR0 if(register_read_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then - case(register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is when REG_DESCRIPTOR_0 => register_read_data_25_s <= dma_descriptors_25_r_s( 0).end_address& dma_descriptors_25_r_s( 0).start_address; when REG_DESCRIPTOR_0a => register_read_data_25_s <= dma_descriptors_25_r_s( 0).pc_pointer& @@ -9125,7 +9117,8 @@ begin end case; --Read registers in BAR1 elsif(register_read_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then - case (register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is when REG_INT_VEC_00 => register_read_data_25_s(63 downto 0) <= int_vector_25_s(0).int_vec_add; register_read_data_25_s(95 downto 64) <= int_vector_25_s(0).int_vec_data; register_read_data_25_s(127 downto 96) <= int_vector_25_s(0).int_vec_ctrl; @@ -9179,7 +9172,8 @@ begin end case; --Read registers in BAR2 elsif(register_read_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then - case (register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is --! --! generated registers read ------------------------------------ @@ -16276,8 +16270,8 @@ begin register_write_done_25_s <= '1'; --Write registers in BAR0 if(register_write_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then - - case(register_write_address_25_s(19 downto 4)&"0000") is --only check 128 bit addressing + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is when REG_DESCRIPTOR_0 => dma_descriptors_25_w_s( 0).end_address <= register_write_data_25_v(127 downto 64); dma_descriptors_25_w_s( 0).start_address <= register_write_data_25_v(63 downto 0); when REG_DESCRIPTOR_0a => dma_descriptors_25_w_s( 0).pc_pointer <= register_write_data_25_v(127 downto 64); @@ -16345,7 +16339,8 @@ begin end case; --Write registers in BAR1 elsif(register_write_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then - case (register_write_address_25_s(19 downto 4)&"0000") is + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is when REG_INT_VEC_00 => int_vector_25_s(0).int_vec_add <= register_write_data_25_v(63 downto 0); int_vector_25_s(0).int_vec_data <= register_write_data_25_v(95 downto 64); int_vector_25_s(0).int_vec_ctrl <= register_write_data_25_v(127 downto 96); @@ -16399,7 +16394,8 @@ begin end case; --Write registers in BAR2 elsif(register_write_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then - case (register_write_address_25_s(19 downto 4)&"0000") is + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is --! --! generated registers write ------------------------------------- diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index ce5afa2eb..d09079ca3 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -193,7 +193,6 @@ architecture rtl of dma_control is signal read_interrupt_250_s : std_logic; type slv64_arr is array(0 to (NUMBER_OF_DESCRIPTORS -1)) of std_logic_vector(63 downto 0); signal next_current_address_s : slv64_arr; - signal last_current_address_s : slv64_arr; signal last_pc_pointer_s : slv64_arr; signal dma_wait : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1)); @@ -253,6 +252,7 @@ begin variable fromhost_busy_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable evencycle_dma_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); variable evencycle_pc_v : std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); + variable current_address_v : slv64_arr; begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop @@ -314,9 +314,6 @@ begin dma_descriptors_s(i).pc_pointer <= dma_descriptors_w_250_s(i).pc_pointer; dma_descriptors_s(i).wrap_around <= dma_descriptors_w_250_s(i).wrap_around; - last_current_address_s(i) <= dma_descriptors_s(i).current_address; - - last_pc_pointer_s(i) <= dma_descriptors_s(i).pc_pointer; @@ -337,7 +334,7 @@ begin end if; --Then check fromhost busy if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then - --FromHost direction, so the nex_current_address has to be > last_pc_pointer_s + --FromHost direction, so the next_current_address has to be > last_pc_pointer_s if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then fromhost_busy_v(i) := '1'; end if; @@ -350,21 +347,16 @@ begin if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. - dma_descriptors_s(i).evencycle_pc <= not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around - evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Do the same thing but in a variable, because we need it this clock cycle. - + evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around + end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - --if(next_current_address_s(i)<last_pc_pointer_s(i)) then - dma_descriptors_s(i).current_address <= next_current_address_s(i); - --else - -- dma_descriptors_s(i).current_address <= dma_descriptors_s(i).current_address; - --end if; + current_address_v(i) := next_current_address_s(i); else if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then - dma_descriptors_s(i).current_address <= next_current_address_s(i); + current_address_v(i) := next_current_address_s(i); else dma_descriptors_s(i).enable <= dma_descriptors_s(i).wrap_around; if(dma_descriptors_s(i).read_not_write='1') then @@ -377,28 +369,26 @@ begin --When wrapping around, regardless of the cycle, when the end address has been reached, the current address must be reset to start_address. if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then if(dma_descriptors_s(i).wrap_around = '1') then - dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; - dma_descriptors_s(i).evencycle_dma <= not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around - evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --do the same thing, but we still need it this clock cycle. + current_address_v(i) := dma_descriptors_s(i).start_address; + evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around end if; end if; end if; else - dma_descriptors_s(i).current_address <= dma_descriptors_s(i).start_address; - dma_descriptors_s(i).evencycle_pc <= '0'; + current_address_v(i) := dma_descriptors_s(i).start_address; evencycle_pc_v(i) := '0'; - dma_descriptors_s(i).evencycle_dma <= '0'; evencycle_dma_v(i) := '0'; + end if; - + dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); + dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i); + dma_descriptors_s(i).current_address <= current_address_v(i); if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; - - --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(dma_status_s(i).descriptor_done = '1' and next_current_address_s(i)<last_pc_pointer_s(i)) then + if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '0'; else dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write @@ -793,7 +783,8 @@ begin regrw: process(regmap_clk) variable register_write_data_25_v: std_logic_vector(127 downto 0); - + variable register_read_address_v: std_logic_vector(19 downto 0); + variable register_write_address_v: std_logic_vector(19 downto 0); begin if(rising_edge(regmap_clk)) then if(reset = '1' or reset_register_map_25_s='1') then @@ -888,7 +879,8 @@ begin register_read_data_25_s <= (others => '0'); --default value --Read registers in BAR0 if(register_read_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then - case(register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is when REG_DESCRIPTOR_0 => register_read_data_25_s <= dma_descriptors_25_r_s( 0).end_address& dma_descriptors_25_r_s( 0).start_address; when REG_DESCRIPTOR_0a => register_read_data_25_s <= dma_descriptors_25_r_s( 0).pc_pointer& @@ -1013,7 +1005,8 @@ begin end case; --Read registers in BAR1 elsif(register_read_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then - case (register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is when REG_INT_VEC_00 => register_read_data_25_s(63 downto 0) <= int_vector_25_s(0).int_vec_add; register_read_data_25_s(95 downto 64) <= int_vector_25_s(0).int_vec_data; register_read_data_25_s(127 downto 96) <= int_vector_25_s(0).int_vec_ctrl; @@ -1067,7 +1060,8 @@ begin end case; --Read registers in BAR2 elsif(register_read_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then - case (register_read_address_25_s(19 downto 4)&"0000") is + register_read_address_v := register_read_address_25_s(19 downto 4)&"0000"; + case(register_read_address_v) is --! --! generated registers read ------------------------------------ @@ -1251,8 +1245,8 @@ begin register_write_done_25_s <= '1'; --Write registers in BAR0 if(register_write_address_25_s(31 downto 20) = bar0_25_s(31 downto 20)) then - - case(register_write_address_25_s(19 downto 4)&"0000") is --only check 128 bit addressing + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is when REG_DESCRIPTOR_0 => dma_descriptors_25_w_s( 0).end_address <= register_write_data_25_v(127 downto 64); dma_descriptors_25_w_s( 0).start_address <= register_write_data_25_v(63 downto 0); when REG_DESCRIPTOR_0a => dma_descriptors_25_w_s( 0).pc_pointer <= register_write_data_25_v(127 downto 64); @@ -1320,7 +1314,8 @@ begin end case; --Write registers in BAR1 elsif(register_write_address_25_s(31 downto 20) = bar1_25_s(31 downto 20)) then - case (register_write_address_25_s(19 downto 4)&"0000") is + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is when REG_INT_VEC_00 => int_vector_25_s(0).int_vec_add <= register_write_data_25_v(63 downto 0); int_vector_25_s(0).int_vec_data <= register_write_data_25_v(95 downto 64); int_vector_25_s(0).int_vec_ctrl <= register_write_data_25_v(127 downto 96); @@ -1374,7 +1369,8 @@ begin end case; --Write registers in BAR2 elsif(register_write_address_25_s(31 downto 20) = bar2_25_s(31 downto 20)) then - case (register_write_address_25_s(19 downto 4)&"0000") is + register_write_address_v := register_write_address_25_s(19 downto 4)&"0000"; + case(register_write_address_v) is --! --! generated registers write ------------------------------------- -- GitLab From 136c0ac79f5ec6c61db14fd9d0308af94250f960 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Tue, 21 May 2019 16:00:58 +0200 Subject: [PATCH 08/19] Deleted version.txt dependency, version register is now immediately put into the version register from .yaml The generated filename will only include the git tag, which already includes the version. Make sure to fetch all (including tags) --- scripts/helper/do_implementation_finish.tcl | 3 +-- scripts/helper/do_implementation_post.tcl | 8 -------- sources/FelixTop/felix_fullmode_top.vhd | 2 -- .../FelixTop/felix_fullmode_top_bnl711.vhd | 3 --- sources/FelixTop/felix_top.vhd | 2 -- sources/FelixTop/felix_top_bnl711.vhd | 3 --- sources/pcie/wupper.vhd | 3 --- sources/pcie/wupper_core.vhd | 3 --- sources/templates/build.sh | 4 ++-- sources/templates/dma_control.vhd | 3 +-- sources/templates/dma_control.vhd.template | 1 - sources/templates/registers-4.7.yaml | 11 ++++++++++- sources/templates/registers.pdf | Bin 199485 -> 199485 bytes sources/templates/version.txt | 1 - sources/templates/version.txt.template | 1 - 15 files changed, 14 insertions(+), 34 deletions(-) delete mode 100644 sources/templates/version.txt delete mode 100644 sources/templates/version.txt.template diff --git a/scripts/helper/do_implementation_finish.tcl b/scripts/helper/do_implementation_finish.tcl index 4c674c9f7..b78d7b121 100644 --- a/scripts/helper/do_implementation_finish.tcl +++ b/scripts/helper/do_implementation_finish.tcl @@ -67,7 +67,7 @@ set CARD_TYPE_STR $CARD_TYPE set GIT_BRANCH [string map { / - } [exec git rev-parse --abbrev-ref HEAD]] -set FileName FLX${CARD_TYPE_STR}${FW_MODE}_RM${REG_MAP_VERSION_STR}_${GBT_NUM}CH_${CLKSRC}${SICHIP}_GIT_${GIT_BRANCH}_${git_tag_str}_${GIT_COMMIT_NUMBER}_${TIMESTAMP} +set FileName FLX${CARD_TYPE_STR}${FW_MODE}_${GBT_NUM}CH_${CLKSRC}${SICHIP}_GIT_${GIT_BRANCH}_${git_tag_str}_${GIT_COMMIT_NUMBER}_${TIMESTAMP} write_bitstream -force $HDLDIR/output/${FileName}.bit @@ -94,7 +94,6 @@ COMMIT_DATETIME: $COMMIT_DATETIME GIT_HASH: $GIT_HASH GIT_TAG: $GIT_TAG GIT_COMMIT_NUMBER: $GIT_COMMIT_NUMBER -REG_MAP_VERSION: $REG_MAP_VERSION GENERATE_GBT: $GENERATE_GBT NUMBER_OF_INTERRUPTS: $NUMBER_OF_INTERRUPTS NUMBER_OF_DESCRIPTORS: $NUMBER_OF_DESCRIPTORS diff --git a/scripts/helper/do_implementation_post.tcl b/scripts/helper/do_implementation_post.tcl index 6a15f2de2..9a9c3ba1e 100644 --- a/scripts/helper/do_implementation_post.tcl +++ b/scripts/helper/do_implementation_post.tcl @@ -24,13 +24,6 @@ set systemTime [clock seconds] set build_date "40'h[clock format $systemTime -format %y%m%d%H%M]" puts "BUILD_DATE = $build_date" -# Read Register Map version from autogenerated file -set ver [open "../../sources/templates/version.txt" "r"] -set REG_MAP_VERSION "16'h[read $ver]" -seek $ver 0 -set REG_MAP_VERSION_STR "[read $ver]" -close $ver - #For 711 / 712 cards the core location in the PCIe endpoint must be selected correctly. if {$CARD_TYPE == 711} { set loc_7039 [get_property CONFIG.pcie_blk_locn [get_ips pcie3_ultrascale_7039]] @@ -171,7 +164,6 @@ COMMIT_DATETIME=$COMMIT_DATETIME \ GIT_HASH=$GIT_HASH \ GIT_TAG=$GIT_TAG \ GIT_COMMIT_NUMBER=$GIT_COMMIT_NUMBER \ -REG_MAP_VERSION=$REG_MAP_VERSION \ GENERATE_GBT=$GENERATE_GBT \ NUMBER_OF_INTERRUPTS=$NUMBER_OF_INTERRUPTS \ NUMBER_OF_DESCRIPTORS=$NUMBER_OF_DESCRIPTORS \ diff --git a/sources/FelixTop/felix_fullmode_top.vhd b/sources/FelixTop/felix_fullmode_top.vhd index bd1f454bd..1ec487e3d 100644 --- a/sources/FelixTop/felix_fullmode_top.vhd +++ b/sources/FelixTop/felix_fullmode_top.vhd @@ -74,7 +74,6 @@ entity felix_fullmode_top is crInternalLoopbackMode : boolean := false; TTC_test_mode : boolean := false; generateTTCemu : boolean := false; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; useToHostGBTdataEmulator : boolean := true; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; @@ -697,7 +696,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7038", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, diff --git a/sources/FelixTop/felix_fullmode_top_bnl711.vhd b/sources/FelixTop/felix_fullmode_top_bnl711.vhd index 37d05a193..c46dc5314 100644 --- a/sources/FelixTop/felix_fullmode_top_bnl711.vhd +++ b/sources/FelixTop/felix_fullmode_top_bnl711.vhd @@ -77,7 +77,6 @@ entity felix_fullmode_top_bnl711 is crInternalLoopbackMode : boolean := false; TTC_test_mode : boolean := false; generateTTCemu : boolean := false; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; STATIC_CENTRALROUTER : boolean := false; -- removes update process from central router register map, only initial constant values are used @@ -814,7 +813,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7038", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, @@ -1056,7 +1054,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7039", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, diff --git a/sources/FelixTop/felix_top.vhd b/sources/FelixTop/felix_top.vhd index a834cd60e..0780018de 100644 --- a/sources/FelixTop/felix_top.vhd +++ b/sources/FelixTop/felix_top.vhd @@ -77,7 +77,6 @@ entity felix_top is crInternalLoopbackMode : boolean := false; TTC_test_mode : boolean := false; generateTTCemu : boolean := false; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; useToHostGBTdataEmulator : boolean := true; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; @@ -805,7 +804,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7038", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, diff --git a/sources/FelixTop/felix_top_bnl711.vhd b/sources/FelixTop/felix_top_bnl711.vhd index 9a4167e1d..027e4359d 100644 --- a/sources/FelixTop/felix_top_bnl711.vhd +++ b/sources/FelixTop/felix_top_bnl711.vhd @@ -77,7 +77,6 @@ entity felix_top_bnl711 is crInternalLoopbackMode : boolean := false; TTC_test_mode : boolean := false; generateTTCemu : boolean := false; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; STATIC_CENTRALROUTER : boolean := false; -- removes update process from central router register map, only initial constant values are used @@ -990,7 +989,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7038", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, @@ -1467,7 +1465,6 @@ begin BUILD_DATETIME => BUILD_DATETIME, SVN_VERSION => SVN_VERSION, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, DEVID => x"7039", GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, diff --git a/sources/pcie/wupper.vhd b/sources/pcie/wupper.vhd index cde0b63cf..04fd556c9 100644 --- a/sources/pcie/wupper.vhd +++ b/sources/pcie/wupper.vhd @@ -63,7 +63,6 @@ entity wupper is BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; SVN_VERSION : integer := 0; CARD_TYPE : integer := 710; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; DEVID : std_logic_vector(15 downto 0) := x"7038"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; @@ -201,7 +200,6 @@ architecture structure of wupper is SVN_VERSION : integer := 0; BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; CARD_TYPE : integer := 710; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; GIT_TAG : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000"; @@ -360,7 +358,6 @@ begin SVN_VERSION => SVN_VERSION, BUILD_DATETIME => BUILD_DATETIME, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, GIT_TAG => GIT_TAG, diff --git a/sources/pcie/wupper_core.vhd b/sources/pcie/wupper_core.vhd index 98b71f056..d5b96e325 100644 --- a/sources/pcie/wupper_core.vhd +++ b/sources/pcie/wupper_core.vhd @@ -63,7 +63,6 @@ entity wupper_core is SVN_VERSION : integer := 0; BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; CARD_TYPE : integer := 710; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := X"0300"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; GIT_TAG : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000"; @@ -145,7 +144,6 @@ architecture structure of wupper_core is SVN_VERSION : integer := 0; BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; CARD_TYPE : integer := 710; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := x"0340"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; COMMIT_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; GIT_TAG : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000"; @@ -214,7 +212,6 @@ begin SVN_VERSION => SVN_VERSION, BUILD_DATETIME => BUILD_DATETIME, CARD_TYPE => CARD_TYPE, - REG_MAP_VERSION => REG_MAP_VERSION, GIT_HASH => GIT_HASH, COMMIT_DATETIME => COMMIT_DATETIME, GIT_TAG => GIT_TAG, diff --git a/sources/templates/build.sh b/sources/templates/build.sh index c8b84c020..d10e04293 100755 --- a/sources/templates/build.sh +++ b/sources/templates/build.sh @@ -27,8 +27,8 @@ $wuppercodegen --version echo "Previous version: $prev_version" echo "Current version: $current_version" echo "Next version: $next_version" -echo "Generating version.txt, pcie_package.vhd and dma_control.vhd for current version..." -$wuppercodegen $current_registers $template_dir/version.txt.template $template_dir/version.txt +echo "Generating pcie_package.vhd and dma_control.vhd for current version..." +#$wuppercodegen $current_registers $template_dir/version.txt.template $template_dir/version.txt $wuppercodegen $current_registers $template_dir/pcie_package.vhd.template $template_dir/pcie_package.vhd $wuppercodegen $current_registers $template_dir/dma_control.vhd.template $template_dir/dma_control.vhd echo "Generating html documentation for previous, current and next version..." diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index b7d17fdc3..538040a42 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -85,7 +85,6 @@ entity dma_control is SVN_VERSION : integer := 0; CARD_TYPE : integer := 710; BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := x"0340"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; GIT_TAG : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000"; GIT_COMMIT_NUMBER : integer := 0; @@ -14648,7 +14647,7 @@ end process; -- GenericBoardInformation - when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= REG_MAP_VERSION; -- Register Map Version, 4.7 formatted as 0x0407 + when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(1031,16)); -- Register Map Version, 4.7 formatted as 0x0407 when REG_BOARD_ID_TIMESTAMP => register_read_data_25_s(39 downto 0) <= BUILD_DATETIME; -- Board ID Date / Time in BCD format YYMMDDhhmm when REG_BOARD_ID_SVN => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(SVN_VERSION,16)); -- Board ID SVN Revision when REG_GIT_COMMIT_TIME => register_read_data_25_s(39 downto 0) <= COMMIT_DATETIME; -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index fee53eea1..f11280850 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -64,7 +64,6 @@ entity dma_control is SVN_VERSION : integer := 0; CARD_TYPE : integer := 710; BUILD_DATETIME : std_logic_vector(39 downto 0) := x"0000FE71CE"; - REG_MAP_VERSION : std_logic_vector(15 downto 0) := x"0340"; GIT_HASH : std_logic_vector(159 downto 0) := x"0000000000000000000000000000000000000000"; GIT_TAG : std_logic_vector(127 downto 0) := x"00000000000000000000000000000000"; GIT_COMMIT_NUMBER : integer := 0; diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml index 21935779a..2902fbf50 100644 --- a/sources/templates/registers-4.7.yaml +++ b/sources/templates/registers-4.7.yaml @@ -81,6 +81,8 @@ Monitorsections: - range: 0..0 type: R +#Bar0 contains the registers dedicated to Wupper. Please only edit registers in Bar2 +#Registers in this group will not be generated with WupperCodeGen Bar0: endpoints: 0,1 entries: @@ -215,6 +217,10 @@ DMA_DESC_STATUS: name: FW_POINTER desc: Pointer controlled by the firmwarre, indicating where the DMA is busy reading or writing + +#Bar1 contains the registers dedicated to the Wupper interrupg controller. +#Please only edit registers in Bar2. +#Registers in this group will not be generated with WupperCodeGen Bar1: endpoints: 0,1 type: W @@ -244,6 +250,9 @@ INT_VEC: name: INT_ADDRESS desc: Interrupt Address +#Bar 2 contains application specific registers, used in the example application. +#Registers in this group (and it's referenced subroups) will be generated with +#WupperCodeGen for wupper Firmware, Software and Documentation Bar2: entries: - ref: GenericBoardInformation @@ -273,7 +282,7 @@ GenericBoardInformation: - name: REG_MAP_VERSION bitfield: - range: 15..0 - value: REG_MAP_VERSION + value: std_logic_vector(to_unsigned({{ tree.version|version }},16)) desc: Register Map Version, {{ tree.version }} formatted as {{ tree.version|version|xhex }} - name: BOARD_ID_TIMESTAMP diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf index 7d56a13f99230daf1d7788caf5a1eee447a86f8a..1f7138f2347ffe4b6c4cd053fba5d8b78338b7f2 100644 GIT binary patch delta 264 zcmdlxjc4yPo`x32Ele*y@tT<!CnZ^!TIePjr>0E5@R><|y2xjy^_b#O+(w2WhGtd< z23Dqq(@noH8K4Lhd|@ib)TA(7<SUaMrntoP@~=!PnBwx=kAG$AVd5|{G&D0X0NNA% zgGma`+g|&FDN)GDz}3vs$iU6m(bCk|)ZE3{z}dvm$<@f*)zQ?<$;8#%&W4bR=?dJ; FvH+=zPk;ab delta 264 zcmdlxjc4yPo`x32Ele*y@fswjq!=Wd8R;e_nwU+$@R><|y2xjy^_b#O+y<5*29{Qa z23Cd^(@noH8K4Lhd|@ib)TA(7<SUaMrntoP@~=!PnBwx=kAG$AVd5~bG_W)@0NNA% zgGma`+g|&FDN)GD$k5Ef(9zP!$k5o_$i>mZ#l+CX(bU+)z{JGT$-vdj&W4bR=?dJ; FvH&AePpkj{ diff --git a/sources/templates/version.txt b/sources/templates/version.txt deleted file mode 100644 index f5ce831ef..000000000 --- a/sources/templates/version.txt +++ /dev/null @@ -1 +0,0 @@ -0407 \ No newline at end of file diff --git a/sources/templates/version.txt.template b/sources/templates/version.txt.template deleted file mode 100644 index 27e9c34fa..000000000 --- a/sources/templates/version.txt.template +++ /dev/null @@ -1 +0,0 @@ -{{ tree.version|version|hex }} -- GitLab From 66249e1f75b56f1f1adb357c2b0c23059868d27f Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Wed, 22 May 2019 08:42:07 +0200 Subject: [PATCH 09/19] Changed < comparison to = for better timing --- sources/templates/dma_control.vhd | 6 +++--- sources/templates/dma_control.vhd.template | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 7a189f339..24c4b5bc2 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -409,10 +409,10 @@ begin end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then - dma_wait(i) <= '0'; - else + if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write + else + dma_wait(i) <= '0'; end if; else dma_wait(i) <= '0'; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index d09079ca3..080ce3868 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -388,10 +388,10 @@ begin end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)<dma_descriptors_s(i).pc_pointer) then - dma_wait(i) <= '0'; - else + if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write + else + dma_wait(i) <= '0'; end if; else dma_wait(i) <= '0'; -- GitLab From 35d84ab8efbda8e286279b5a51c1d5b59229c531 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Wed, 22 May 2019 11:26:47 +0200 Subject: [PATCH 10/19] Moved dma_busy to the 25 MHz clock domain --- sources/templates/dma_control.vhd | 115 ++++++++++---------- sources/templates/dma_control.vhd.template | 117 ++++++++++----------- 2 files changed, 111 insertions(+), 121 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 24c4b5bc2..666f23e58 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -222,9 +222,8 @@ architecture rtl of dma_control is signal fromhost_pfull_threshold_assert_s : std_logic_vector(8 downto 0); signal fromhost_pfull_threshold_negate_s : std_logic_vector(8 downto 0); signal dma_descriptors_enable_written_25_s, dma_descriptors_enable_written_250_s: std_logic; - signal busy_threshold_assert, busy_threshold_assert_25_s : std_logic_vector(63 downto 0); - signal busy_threshold_negate, busy_threshold_negate_25_s : std_logic_vector(63 downto 0); - signal tohost_busy_250_s, fromhost_busy_250_s : std_logic; + signal busy_threshold_assert : std_logic_vector(63 downto 0); + signal busy_threshold_negate : std_logic_vector(63 downto 0); signal tohost_busy_25_s, fromhost_busy_25_s : std_logic; signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; @@ -339,32 +338,6 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); - - --Create a a busy signal if the pc pointer comes too close to the current address. - --First check tohost busy - if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '0' and dma_descriptors_s(i).enable = '1') then - --ToHost direction, so the nex_current_address has to be < last_pc_pointer_s - if((last_pc_pointer_s(i) - next_current_address_s(i)) < busy_threshold_assert) then - tohost_busy_v(i) := '1'; - end if; - if(tohost_busy_v(i) = '1' and ((last_pc_pointer_s(i) - next_current_address_s(i)) > busy_threshold_negate)) then - tohost_busy_v(i) := '0'; - end if; - else - tohost_busy_v(i) := '0'; - end if; - --Then check fromhost busy - if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then - --FromHost direction, so the next_current_address has to be > last_pc_pointer_s - if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then - fromhost_busy_v(i) := '1'; - end if; - if(fromhost_busy_v(i) = '1' and ((next_current_address_s(i) - last_pc_pointer_s(i)) > busy_threshold_negate)) then - fromhost_busy_v(i) := '0'; - end if; - else - fromhost_busy_v(i) := '0'; - end if; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. @@ -421,20 +394,6 @@ begin end loop; - if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then - tohost_busy_250_s <= '1'; - else - tohost_busy_250_s <= '0'; - end if; - - if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then - fromhost_busy_250_s <= '1'; - else - fromhost_busy_250_s <= '0'; - end if; - - - dma_descriptors_enable_written_250_v := dma_descriptors_enable_written_250_s; case (completer_state) is @@ -695,9 +654,6 @@ begin read_interrupt_25_s <= read_interrupt_250_s; write_interrupt_25_s <= write_interrupt_250_s; - fromhost_busy_25_s <= fromhost_busy_250_s; - tohost_busy_25_s <= tohost_busy_250_s; - if(fifo_full_interrupt_v(2 downto 1) = "01") then --rising edge detected on full flag fifo_full_interrupt_25_s <= '1'; else @@ -743,8 +699,6 @@ begin variable read_interrupt_25_pipe_v : std_logic; variable cnt10: integer range 0 to 15; variable dma_descriptors_enable_written_v: std_logic; - variable busy_threshold_assert_v : std_logic_vector(63 downto 0); - variable busy_threshold_negate_v : std_logic_vector(63 downto 0); begin if(rising_edge(clk)) then register_write_done_250_s <= register_write_done2_v; @@ -769,12 +723,6 @@ begin flush_fifo_v := flush_fifo_25_s; dma_soft_reset_v := dma_soft_reset_25_s; - busy_threshold_assert <= busy_threshold_assert_v; - busy_threshold_assert_v := busy_threshold_assert_25_s; - - busy_threshold_negate <= busy_threshold_negate_v; - busy_threshold_negate_v := busy_threshold_negate_25_s; - -- dma_status and dma_descriptor can be changing fast, so only update at rising edge -- of regmap_clk, then synchronize to regmap_clk if(cnt10 = 0) then --rising edge of regmap_clk @@ -802,6 +750,53 @@ begin register_map_monitor_s <= register_map_monitor; register_map_control <= register_map_control_s; +dma_busy_proc: process(regmap_clk) + variable tohost_busy_v, fromhost_busy_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); +begin + if rising_edge(regmap_clk) then + for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop + --Create a a busy signal if the pc pointer comes too close to the current address. + --First check tohost busy + if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '0' and dma_descriptors_25_w_s(i).enable = '1') then + --ToHost direction, so the current_address has to be < pc_pointer + if((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) < busy_threshold_assert) then + tohost_busy_v(i) := '1'; + end if; + if(tohost_busy_v(i) = '1' and ((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) > busy_threshold_negate)) then + tohost_busy_v(i) := '0'; + end if; + else + tohost_busy_v(i) := '0'; + end if; + --Then check fromhost busy + if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '1' and dma_descriptors_25_w_s(i).enable = '1') then + --FromHost direction, so the current_address has to be > pc_pointer + if((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer ) < busy_threshold_assert) then + fromhost_busy_v(i) := '1'; + end if; + if(fromhost_busy_v(i) = '1' and ((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer) > busy_threshold_negate)) then + fromhost_busy_v(i) := '0'; + end if; + else + fromhost_busy_v(i) := '0'; + end if; + end loop; + + if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then + tohost_busy_25_s <= '1'; + else + tohost_busy_25_s <= '0'; + end if; + + if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then + fromhost_busy_25_s <= '1'; + else + fromhost_busy_25_s <= '0'; + end if; + end if; +end process; + + regrw: process(regmap_clk) variable register_write_data_25_v: std_logic_vector(127 downto 0); variable register_read_address_v: std_logic_vector(19 downto 0); @@ -829,8 +824,8 @@ begin tohost_pfull_threshold_assert_s <= std_logic_vector(to_unsigned(4050, 12)); tohost_pfull_threshold_negate_s <= std_logic_vector(to_unsigned(3744, 12)); - busy_threshold_assert_25_s <= REG_BUSY_THRESH_ASSERT_C; - busy_threshold_negate_25_s <= REG_BUSY_THRESH_NEGATE_C; + busy_threshold_assert <= REG_BUSY_THRESH_ASSERT_C; + busy_threshold_negate <= REG_BUSY_THRESH_NEGATE_C; --! @@ -9106,8 +9101,8 @@ begin when REG_TOHOST_FULL_THRESH => register_read_data_25_s <= x"00000000_00000000" & x"0000_0000_0"&tohost_pfull_threshold_assert_s& x"0"&tohost_pfull_threshold_negate_s; - when REG_BUSY_THRESH_ASSERT => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert_25_s; - when REG_BUSY_THRESH_NEGATE => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate_25_s; + when REG_BUSY_THRESH_ASSERT => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert; + when REG_BUSY_THRESH_NEGATE => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate; when REG_BUSY_STATUS => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"& fromhost_busy_25_s& tohost_busy_25_s; @@ -16332,8 +16327,8 @@ begin fromhost_pfull_threshold_negate_s <= register_write_data_25_v( 8 downto 0); when REG_TOHOST_FULL_THRESH => tohost_pfull_threshold_assert_s <= register_write_data_25_v(27 downto 16); tohost_pfull_threshold_negate_s <= register_write_data_25_v(11 downto 0); - when REG_BUSY_THRESH_ASSERT => busy_threshold_assert_25_s <= register_write_data_25_v(63 downto 0); - when REG_BUSY_THRESH_NEGATE => busy_threshold_negate_25_s <= register_write_data_25_v(63 downto 0); + when REG_BUSY_THRESH_ASSERT => busy_threshold_assert <= register_write_data_25_v(63 downto 0); + when REG_BUSY_THRESH_NEGATE => busy_threshold_negate <= register_write_data_25_v(63 downto 0); when others => --do nothing end case; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index 080ce3868..38a0e688f 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -201,9 +201,8 @@ architecture rtl of dma_control is signal fromhost_pfull_threshold_assert_s : std_logic_vector(8 downto 0); signal fromhost_pfull_threshold_negate_s : std_logic_vector(8 downto 0); signal dma_descriptors_enable_written_25_s, dma_descriptors_enable_written_250_s: std_logic; - signal busy_threshold_assert, busy_threshold_assert_25_s : std_logic_vector(63 downto 0); - signal busy_threshold_negate, busy_threshold_negate_25_s : std_logic_vector(63 downto 0); - signal tohost_busy_250_s, fromhost_busy_250_s : std_logic; + signal busy_threshold_assert : std_logic_vector(63 downto 0); + signal busy_threshold_negate : std_logic_vector(63 downto 0); signal tohost_busy_25_s, fromhost_busy_25_s : std_logic; signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; @@ -318,32 +317,6 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); - - --Create a a busy signal if the pc pointer comes too close to the current address. - --First check tohost busy - if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '0' and dma_descriptors_s(i).enable = '1') then - --ToHost direction, so the nex_current_address has to be < last_pc_pointer_s - if((last_pc_pointer_s(i) - next_current_address_s(i)) < busy_threshold_assert) then - tohost_busy_v(i) := '1'; - end if; - if(tohost_busy_v(i) = '1' and ((last_pc_pointer_s(i) - next_current_address_s(i)) > busy_threshold_negate)) then - tohost_busy_v(i) := '0'; - end if; - else - tohost_busy_v(i) := '0'; - end if; - --Then check fromhost busy - if(dma_descriptors_s(i).wrap_around = '1' and dma_descriptors_s(i).read_not_write = '1' and dma_descriptors_s(i).enable = '1') then - --FromHost direction, so the next_current_address has to be > last_pc_pointer_s - if((next_current_address_s(i) - last_pc_pointer_s(i)) < busy_threshold_assert) then - fromhost_busy_v(i) := '1'; - end if; - if(fromhost_busy_v(i) = '1' and ((next_current_address_s(i) - last_pc_pointer_s(i)) > busy_threshold_negate)) then - fromhost_busy_v(i) := '0'; - end if; - else - fromhost_busy_v(i) := '0'; - end if; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. @@ -391,7 +364,7 @@ begin if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else - dma_wait(i) <= '0'; + dma_wait(i) <= '0'; end if; else dma_wait(i) <= '0'; @@ -400,20 +373,6 @@ begin end loop; - if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then - tohost_busy_250_s <= '1'; - else - tohost_busy_250_s <= '0'; - end if; - - if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then - fromhost_busy_250_s <= '1'; - else - fromhost_busy_250_s <= '0'; - end if; - - - dma_descriptors_enable_written_250_v := dma_descriptors_enable_written_250_s; case (completer_state) is @@ -674,9 +633,6 @@ begin read_interrupt_25_s <= read_interrupt_250_s; write_interrupt_25_s <= write_interrupt_250_s; - fromhost_busy_25_s <= fromhost_busy_250_s; - tohost_busy_25_s <= tohost_busy_250_s; - if(fifo_full_interrupt_v(2 downto 1) = "01") then --rising edge detected on full flag fifo_full_interrupt_25_s <= '1'; else @@ -722,8 +678,6 @@ begin variable read_interrupt_25_pipe_v : std_logic; variable cnt10: integer range 0 to 15; variable dma_descriptors_enable_written_v: std_logic; - variable busy_threshold_assert_v : std_logic_vector(63 downto 0); - variable busy_threshold_negate_v : std_logic_vector(63 downto 0); begin if(rising_edge(clk)) then register_write_done_250_s <= register_write_done2_v; @@ -748,12 +702,6 @@ begin flush_fifo_v := flush_fifo_25_s; dma_soft_reset_v := dma_soft_reset_25_s; - busy_threshold_assert <= busy_threshold_assert_v; - busy_threshold_assert_v := busy_threshold_assert_25_s; - - busy_threshold_negate <= busy_threshold_negate_v; - busy_threshold_negate_v := busy_threshold_negate_25_s; - -- dma_status and dma_descriptor can be changing fast, so only update at rising edge -- of regmap_clk, then synchronize to regmap_clk if(cnt10 = 0) then --rising edge of regmap_clk @@ -781,6 +729,53 @@ begin register_map_monitor_s <= register_map_monitor; register_map_control <= register_map_control_s; +dma_busy_proc: process(regmap_clk) + variable tohost_busy_v, fromhost_busy_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); +begin + if rising_edge(regmap_clk) then + for i in 0 to NUMBER_OF_DESCRIPTORS-1 loop + --Create a a busy signal if the pc pointer comes too close to the current address. + --First check tohost busy + if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '0' and dma_descriptors_25_w_s(i).enable = '1') then + --ToHost direction, so the current_address has to be < pc_pointer + if((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) < busy_threshold_assert) then + tohost_busy_v(i) := '1'; + end if; + if(tohost_busy_v(i) = '1' and ((dma_descriptors_25_w_s(i).pc_pointer - dma_descriptors_25_r_s(i).current_address) > busy_threshold_negate)) then + tohost_busy_v(i) := '0'; + end if; + else + tohost_busy_v(i) := '0'; + end if; + --Then check fromhost busy + if(dma_descriptors_25_w_s(i).wrap_around = '1' and dma_descriptors_25_w_s(i).read_not_write = '1' and dma_descriptors_25_w_s(i).enable = '1') then + --FromHost direction, so the current_address has to be > pc_pointer + if((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer ) < busy_threshold_assert) then + fromhost_busy_v(i) := '1'; + end if; + if(fromhost_busy_v(i) = '1' and ((dma_descriptors_25_r_s(i).current_address - dma_descriptors_25_w_s(i).pc_pointer) > busy_threshold_negate)) then + fromhost_busy_v(i) := '0'; + end if; + else + fromhost_busy_v(i) := '0'; + end if; + end loop; + + if(tohost_busy_v /= std_logic_vector(to_unsigned(0, tohost_busy_v'length))) then + tohost_busy_25_s <= '1'; + else + tohost_busy_25_s <= '0'; + end if; + + if(fromhost_busy_v/= std_logic_vector(to_unsigned(0, fromhost_busy_v'length))) then + fromhost_busy_25_s <= '1'; + else + fromhost_busy_25_s <= '0'; + end if; + end if; +end process; + + regrw: process(regmap_clk) variable register_write_data_25_v: std_logic_vector(127 downto 0); variable register_read_address_v: std_logic_vector(19 downto 0); @@ -808,8 +803,8 @@ begin tohost_pfull_threshold_assert_s <= std_logic_vector(to_unsigned(4050, 12)); tohost_pfull_threshold_negate_s <= std_logic_vector(to_unsigned(3744, 12)); - busy_threshold_assert_25_s <= REG_BUSY_THRESH_ASSERT_C; - busy_threshold_negate_25_s <= REG_BUSY_THRESH_NEGATE_C; + busy_threshold_assert <= REG_BUSY_THRESH_ASSERT_C; + busy_threshold_negate <= REG_BUSY_THRESH_NEGATE_C; --! @@ -994,8 +989,8 @@ begin when REG_TOHOST_FULL_THRESH => register_read_data_25_s <= x"00000000_00000000" & x"0000_0000_0"&tohost_pfull_threshold_assert_s& x"0"&tohost_pfull_threshold_negate_s; - when REG_BUSY_THRESH_ASSERT => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert_25_s; - when REG_BUSY_THRESH_NEGATE => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate_25_s; + when REG_BUSY_THRESH_ASSERT => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_assert; + when REG_BUSY_THRESH_NEGATE => register_read_data_25_s <= x"0000_0000_0000_0000"&busy_threshold_negate; when REG_BUSY_STATUS => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"& fromhost_busy_25_s& tohost_busy_25_s; @@ -1307,8 +1302,8 @@ begin fromhost_pfull_threshold_negate_s <= register_write_data_25_v( 8 downto 0); when REG_TOHOST_FULL_THRESH => tohost_pfull_threshold_assert_s <= register_write_data_25_v(27 downto 16); tohost_pfull_threshold_negate_s <= register_write_data_25_v(11 downto 0); - when REG_BUSY_THRESH_ASSERT => busy_threshold_assert_25_s <= register_write_data_25_v(63 downto 0); - when REG_BUSY_THRESH_NEGATE => busy_threshold_negate_25_s <= register_write_data_25_v(63 downto 0); + when REG_BUSY_THRESH_ASSERT => busy_threshold_assert <= register_write_data_25_v(63 downto 0); + when REG_BUSY_THRESH_NEGATE => busy_threshold_negate <= register_write_data_25_v(63 downto 0); when others => --do nothing end case; -- GitLab From 6ef98463a5e4ff5208d3d06dbd0792231d8267d2 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Wed, 22 May 2019 15:31:35 +0200 Subject: [PATCH 11/19] variables => signals for odd and even flags (dma_busy) --- sources/templates/dma_control.vhd | 4 ++-- sources/templates/dma_control.vhd.template | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 666f23e58..ef32f6aa1 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -381,8 +381,8 @@ begin dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then + if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index 38a0e688f..db4bf5663 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -360,8 +360,8 @@ begin dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then + if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; -- GitLab From a0897a1ab773374de562c56145f577112a26bf91 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Thu, 23 May 2019 09:51:05 +0200 Subject: [PATCH 12/19] Using variables seems to be needed here --- sources/templates/dma_control.vhd | 4 ++-- sources/templates/dma_control.vhd.template | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index ef32f6aa1..666f23e58 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -381,8 +381,8 @@ begin dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then + if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index db4bf5663..38a0e688f 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -360,8 +360,8 @@ begin dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then - if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then + if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; -- GitLab From eba33f1ca3924a1b02c8755a02ad5bf4e2e37a17 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Fri, 24 May 2019 15:24:29 +0200 Subject: [PATCH 13/19] Added simulation testbench for wupper, and a behavioral model for the axi side of pcie_ep_wrap (circular DMA) Use the signal again for current_address (dma_wait), for better timing --- .../Wupper/pcie_ep_wrap_sim_circularDMA.vhd | 326 ++++++++ simulation/Wupper/wupper_tb.vhd | 261 ++++++ simulation/Wupper/wupper_tb_behav.wcfg | 764 ++++++++++++++++++ sources/templates/dma_control.vhd | 7 +- sources/templates/dma_control.vhd.template | 7 +- 5 files changed, 1361 insertions(+), 4 deletions(-) create mode 100644 simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd create mode 100644 simulation/Wupper/wupper_tb.vhd create mode 100644 simulation/Wupper/wupper_tb_behav.wcfg diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd new file mode 100644 index 000000000..8535ad370 --- /dev/null +++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd @@ -0,0 +1,326 @@ + +--!------------------------------------------------------------------------------ +--! +--! NIKHEF - National Institute for Subatomic Physics +--! +--! Electronics Department +--! +--!----------------------------------------------------------------------------- +--! @class pcie_ep_wrap +--! +--! +--! @author Andrea Borga (andrea.borga@nikhef.nl)<br> +--! Frans Schreuder (frans.schreuder@nikhef.nl) +--! +--! +--! @date 07/01/2015 created +--! +--! @version 1.0 +--! +--! @brief +--! Wrapper unit for the PCI Express core, and the clock generator +--! +--! @detail +--! +--!----------------------------------------------------------------------------- +--! @TODO +--! +--! +--! ------------------------------------------------------------------------------ +--! Virtex7 PCIe Gen3 DMA Core +--! +--! \copyright GNU LGPL License +--! Copyright (c) Nikhef, Amsterdam, All rights reserved. <br> +--! This library is free software; you can redistribute it and/or +--! modify it under the terms of the GNU Lesser General Public +--! License as published by the Free Software Foundation; either +--! version 3.0 of the License, or (at your option) any later version. +--! This library is distributed in the hope that it will be useful, +--! but WITHOUT ANY WARRANTY; without even the implied warranty of +--! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +--! Lesser General Public License for more details.<br> +--! You should have received a copy of the GNU Lesser General Public +--! License along with this library. +--! +-- +--! @brief ieee + + + +library ieee, UNISIM, work; +use ieee.numeric_std.all; +use UNISIM.VCOMPONENTS.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_1164.all; +use work.pcie_package.all; + +entity pcie_ep_wrap is + generic( + CARD_TYPE : integer := 710; + DEVID : std_logic_vector(15 downto 0) := x"7038"); + port ( + cfg_fc_cpld : out std_logic_vector(11 downto 0); + cfg_fc_cplh : out std_logic_vector(7 downto 0); + cfg_fc_npd : out std_logic_vector(11 downto 0); + cfg_fc_nph : out std_logic_vector(7 downto 0); + cfg_fc_pd : out std_logic_vector(11 downto 0); + cfg_fc_ph : out std_logic_vector(7 downto 0); + cfg_fc_sel : in std_logic_vector(2 downto 0); + cfg_interrupt_msix_address : in std_logic_vector(63 downto 0); + cfg_interrupt_msix_data : in std_logic_vector(31 downto 0); + cfg_interrupt_msix_enable : out std_logic_vector(3 downto 0); + cfg_interrupt_msix_fail : out std_logic; + cfg_interrupt_msix_int : in std_logic; + cfg_interrupt_msix_sent : out std_logic; + cfg_mgmt_addr : in std_logic_vector(18 downto 0); + cfg_mgmt_byte_enable : in std_logic_vector(3 downto 0); + cfg_mgmt_read : in std_logic; + cfg_mgmt_read_data : out std_logic_vector(31 downto 0); + cfg_mgmt_read_write_done : out std_logic; + cfg_mgmt_write : in std_logic; + cfg_mgmt_write_data : in std_logic_vector(31 downto 0); + clk : out std_logic; + m_axis_cq : out axis_type; + m_axis_r_cq : in axis_r_type; + m_axis_r_rc : in axis_r_type; + m_axis_rc : out axis_type; + pci_exp_rxn : in std_logic_vector(7 downto 0); + pci_exp_rxp : in std_logic_vector(7 downto 0); + pci_exp_txn : out std_logic_vector(7 downto 0); + pci_exp_txp : out std_logic_vector(7 downto 0); + reset : out std_logic; + s_axis_cc : in axis_type; + s_axis_r_cc : out axis_r_type; + s_axis_r_rq : out axis_r_type; + s_axis_rq : in axis_type; + sys_clk_n : in std_logic; + sys_clk_p : in std_logic; + sys_rst_n : in std_logic; + user_lnk_up : out std_logic); +end entity pcie_ep_wrap; + + + +architecture structure of pcie_ep_wrap is + + signal user_clk: std_logic; + constant user_clk_period: time := 4 ns; + + constant BAR0: std_logic_vector(31 downto 0) := x"BA00_8000"; + constant BAR1: std_logic_vector(31 downto 0) := x"BA00_8001"; + constant BAR2: std_logic_vector(31 downto 0) := x"BA00_8002"; + type slv256_array is array (natural range <>) of std_logic_vector(255 downto 0); + signal ToHostMem: slv256_array(0 to 127); + signal FromHostMem: slv256_array(0 to 127); +begin + user_clk_proc: process + begin + user_clk <= '1'; + wait for user_clk_period / 2; + user_clk <= '0'; + wait for user_clk_period / 2; + end process; + + cfg_fc_cpld <= (others => '0');--: out std_logic_vector(11 downto 0); + cfg_fc_cplh <= (others => '0');--: out std_logic_vector(7 downto 0); + cfg_fc_npd <= (others => '0');--: out std_logic_vector(11 downto 0); + cfg_fc_nph <= (others => '0');--: out std_logic_vector(7 downto 0); + cfg_fc_pd <= (others => '0');--: out std_logic_vector(11 downto 0); + cfg_fc_ph <= (others => '0');--: out std_logic_vector(7 downto 0); + --cfg_fc_sel : in std_logic_vector(2 downto 0); + --cfg_interrupt_msix_address : in std_logic_vector(63 downto 0); + --cfg_interrupt_msix_data : in std_logic_vector(31 downto 0); + cfg_interrupt_msix_enable <= (others => '1');--: out std_logic_vector(3 downto 0); + cfg_interrupt_msix_fail <= '0';--: out std_logic; + cfg_interrupt_msix_sent <= cfg_interrupt_msix_int;--: out std_logic; + + mgmt_proc: process(user_clk) + begin + if rising_edge(user_clk) then + cfg_mgmt_read_write_done <= cfg_mgmt_read or cfg_mgmt_write; + if cfg_mgmt_addr = "000"&x"0004" and cfg_mgmt_read = '1' then --read BAR0 + cfg_mgmt_read_data <= BAR0; --BAR0 address + end if; + if cfg_mgmt_addr = "000"&x"0005" and cfg_mgmt_read = '1' then --read BAR0 + cfg_mgmt_read_data <= BAR1; --BAR0 address + end if; + if cfg_mgmt_addr = "000"&x"0006" and cfg_mgmt_read = '1' then --read BAR0 + cfg_mgmt_read_data <= BAR2; --BAR0 address + end if; + end if; + end process; + + reg_write: process + procedure w + (RegAddr: in std_logic_vector(19 downto 0); + BarAddr: in std_logic_vector(31 downto 0); + Data: in std_logic_vector(63 downto 0)) is + variable bar_id: std_logic_vector(2 downto 0):= "000"; + begin + wait until rising_edge(user_clk); + m_axis_cq.tdata <= (others => '0'); + + m_axis_cq.tdata(1 downto 0) <= "00"; --address type + m_axis_cq.tdata(63 downto 32) <= x"0000_0000"; + m_axis_cq.tdata(31 downto 20) <= BarAddr(31 downto 20); + m_axis_cq.tdata(19 downto 2) <= RegAddr(19 downto 2); + + m_axis_cq.tdata(74 downto 64) <= "00000000010";-- 2 words, 64 bit write dword_count_s; + m_axis_cq.tdata(78 downto 75) <= "0001"; --Memory write, request_type_v + m_axis_cq.tdata(95 downto 80) <= x"0000";--requester_id_s + m_axis_cq.tdata(103 downto 96) <= x"00";--tag_s + m_axis_cq.tdata(111 downto 104) <= x"00";--target_function_s + if BarAddr = BAR0 then + bar_id := "000"; + end if; + if BarAddr = BAR1 then + bar_id := "001"; + end if; + if BarAddr = BAR2 then + bar_id := "010"; + end if; + m_axis_cq.tdata(114 downto 112) <= bar_id; + m_axis_cq.tdata(120 downto 115) <= "000000";--bar_aperture_s + m_axis_cq.tdata(123 downto 121) <= "000";--transaction_class_s + m_axis_cq.tdata(126 downto 124) <= "000";--attributes_s + m_axis_cq.tdata(191 downto 128) <= Data; --register_write_data_250_s + m_axis_cq.tdata(255 downto 192) <= (others => '0'); --register_write_data_250_s + m_axis_cq.tuser(3 downto 0) <= "1111";--first_be_s + m_axis_cq.tuser(7 downto 4) <= "1111";--last_be_s + m_axis_cq.tuser(84 downto 8) <= (others => '0'); + m_axis_cq.tkeep <= "00111111"; --64b writes, don't care about the MSB 64 bits + m_axis_cq.tvalid <= '1'; + m_axis_cq.tlast <= '1'; + wait until rising_edge(user_clk); + m_axis_cq.tvalid <= '0'; + m_axis_cq.tlast <= '0'; + while m_axis_r_cq.tready = '0' loop + wait until rising_edge(user_clk); + end loop; + + end w; + begin + wait for 1 us; --startup time + w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address + w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes) + w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address + w(x"00010", BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes + w(x"00020", BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address + w(x"00028", BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes) + w(x"00038", BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address + w(x"00030", BAR0, x"0000_0000_0000_1840"); --wrap around, FromHost, 256 bytes + w(x"00400", BAR0, x"0000_0000_0000_0003"); --Enable both descriptors + wait for 1 us; + w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --increment PC pointer with 1 TLP + wait for 1 us; + w(x"00038", BAR0, x"DEF8_0000_0000_0300"); --increment PC pointer with 2 TLPs + wait for 1 us; + w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --Wrap around to 0x100 + + wait for 1 us; + w(x"00018", BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer) + w(x"00038", BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost + + + + wait; + + + end process; + s_axis_r_cc.tready <= '1'; + + g_FromHostMem: for i in 0 to 127 generate + FromHostMem(i) <= x"DEADBEEF_01234567_AABBAABB_00000000_01234567_89ABCDEF" & std_logic_vector(to_unsigned(i,64)); + end generate; + + response_proc: process(user_clk) + variable ToHost_tlp_busy: std_logic := '0'; + variable address: std_logic_vector(63 downto 0); + variable dword_count: std_logic_vector(10 downto 0); + variable request_type: std_logic_vector(3 downto 0); --"0001" for write, "0000" for read. + variable ToHost_pipe_data: std_logic_vector(127 downto 0); + variable TLPsToSend: integer range 0 to 65536:= 0; + variable FromHostIndex: integer range 0 to 127; + variable ToHostIndex: integer range 0 to 127; + variable FromHost_pipe_data: std_logic_vector(95 downto 0); + variable TlpIndex: integer range 0 to 127:= 0; + begin + if rising_edge(user_clk) then + if s_axis_rq.tvalid = '1' then + if ToHost_tlp_busy = '0' then --first word, decode everything from header. + address := s_axis_rq.tdata(63 downto 2) & "00"; + dword_count := s_axis_rq.tdata(74 downto 64); + request_type := s_axis_rq.tdata(78 downto 75); + ToHost_pipe_data := s_axis_rq.tdata(255 downto 128); + if request_type = "0000" then + FromHostIndex := to_integer(unsigned(address(11 downto 5))); + TLPsToSend := TLPsToSend + 1; + end if; + if request_type = "0001" then + ToHostIndex := to_integer(unsigned(address(11 downto 5))); + end if; + ToHost_tlp_busy := '1'; + else + ToHostMem(ToHostIndex) <= s_axis_rq.tdata(127 downto 0) & ToHost_pipe_data; --write the TLP in the host memory. + ToHost_pipe_data := s_axis_rq.tdata(255 downto 128); + ToHostIndex := ToHostIndex + 1; + end if; + if s_axis_rq.tlast = '1' then + ToHost_tlp_busy := '0'; + end if; + end if; + if(m_axis_r_rc.tready = '1') then + m_axis_rc.tvalid <= '0'; + m_axis_rc.tdata <= (others => '0'); + m_axis_rc.tuser <= (others => '0'); + m_axis_rc.tkeep <= x"00"; + if TLPsToSend > 0 and TlpIndex = 0 then + m_axis_rc.tdata(255 downto 96) <= FromHostMem(FromHostIndex)(159 downto 0); + FromHost_pipe_data := FromHostMem(FromHostIndex)(255 downto 160); + m_axis_rc.tdata(42 downto 32) <= dword_count; + m_axis_rc.tvalid <= '1'; + TlpIndex := to_integer(unsigned(dword_count(10 downto 3))); + FromHostIndex := FromHostIndex + 1; + m_axis_rc.tlast <= '0'; + TLPsToSend := TLPsToSend - 1 ; + m_axis_rc.tkeep <= x"FF"; + elsif TlpIndex /= 0 then + m_axis_rc.tdata(95 downto 0) <= FromHost_pipe_data; + m_axis_rc.tvalid <= '1'; + if(TlpIndex > 1) then + m_axis_rc.tdata(255 downto 96) <= FromHostMem(FromHostIndex)(159 downto 0); + FromHost_pipe_data := FromHostMem(FromHostIndex)(255 downto 160); + m_axis_rc.tlast <= '0'; + m_axis_rc.tkeep <= x"FF"; + else + m_axis_rc.tdata(255 downto 96) <= (others => '0'); + m_axis_rc.tlast <= '1'; + m_axis_rc.tkeep <= x"07"; + end if; + TlpIndex := TlpIndex - 1; + FromHostIndex := FromHostIndex + 1; + + + end if; + end if; + end if; + end process; + + + + + --m_axis_r_rc : in axis_r_type; + --m_axis_rc : out axis_type; + s_axis_r_rq.tready <= '1'; + --s_axis_rq : in axis_type; + + pci_exp_txn <= (others => '0');-- : out std_logic_vector(7 downto 0); + pci_exp_txp <= (others => '0');-- : out std_logic_vector(7 downto 0); + user_lnk_up <= '1';-- : out std_logic + + + reset <= not sys_rst_n; + clk <= user_clk; + +end architecture structure ; -- of pcie_ep_wrap + diff --git a/simulation/Wupper/wupper_tb.vhd b/simulation/Wupper/wupper_tb.vhd new file mode 100644 index 000000000..81f80dfc2 --- /dev/null +++ b/simulation/Wupper/wupper_tb.vhd @@ -0,0 +1,261 @@ + +--!------------------------------------------------------------------------------ +--! +--! NIKHEF - National Institute for Subatomic Physics +--! +--! Electronics Department +--! +--!----------------------------------------------------------------------------- +--! @class felix_top +--! +--! +--! @author Andrea Borga (andrea.borga@nikhef.nl)<br> +--! Frans Schreuder (frans.schreuder@nikhef.nl) +--! +--! +--! @date 07/01/2015 created +--! +--! @version 1.0 +--! +--! @brief +--! Top level for the FELIX project, containing GBT, CentralRouter and PCIe DMA core +--! +--! +--! +--! @detail +--! +--!----------------------------------------------------------------------------- +--! @TODO +--! +--! +--! ------------------------------------------------------------------------------ +--! Virtex7 PCIe Gen3 DMA Core +--! +--! \copyright GNU LGPL License +--! Copyright (c) Nikhef, Amsterdam, All rights reserved. <br> +--! This library is free software; you can redistribute it and/or +--! modify it under the terms of the GNU Lesser General Public +--! License as published by the Free Software Foundation; either +--! version 3.0 of the License, or (at your option) any later version. +--! This library is distributed in the hope that it will be useful, +--! but WITHOUT ANY WARRANTY; without even the implied warranty of +--! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +--! Lesser General Public License for more details.<br> +--! You should have received a copy of the GNU Lesser General Public +--! License along with this library. +--! +-- +--! @brief ieee + + + +library ieee, UNISIM, work; +use ieee.numeric_std.all; +use UNISIM.VCOMPONENTS.all; +use ieee.std_logic_unsigned.all; +use ieee.std_logic_1164.all; +use work.pcie_package.all; + +entity wupper_tb is + +end entity wupper_tb; + +architecture structure of wupper_tb is + + + + component fifo128KB_256bit + port ( + rst : in std_logic; + wr_clk : in std_logic; + rd_clk : in std_logic; + din : in std_logic_vector(255 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + prog_empty_thresh : in std_logic_vector(11 downto 0); + prog_full_thresh_assert : in std_logic_vector(11 downto 0); + prog_full_thresh_negate : in std_logic_vector(11 downto 0); + dout : out std_logic_vector(255 downto 0); + full : out std_logic; + empty : out std_logic; + prog_full : out std_logic; + prog_empty : out std_logic; + wr_data_count : out std_logic_vector(11 downto 0)); + end component fifo128KB_256bit; + + component fifo16KB_256bit + port ( + rst : in std_logic; + wr_clk : in std_logic; + rd_clk : in std_logic; + din : in std_logic_vector(255 downto 0); + wr_en : in std_logic; + rd_en : in std_logic; + prog_full_thresh_assert : in std_logic_vector(8 downto 0); + prog_full_thresh_negate : in std_logic_vector(8 downto 0); + dout : out std_logic_vector(255 downto 0); + full : out std_logic; + empty : out std_logic; + prog_full : out std_logic); + end component fifo16KB_256bit; + constant NUMBER_OF_INTERRUPTS: integer := 8; + constant NUMBER_OF_DESCRIPTORS: integer := 2; + + signal fromHostFifo_din: std_logic_vector(255 downto 0); + signal fromHostFifo_pfull_threshold_assert : std_logic_vector(8 downto 0); + signal fromHostFifo_pfull_threshold_negate : std_logic_vector(8 downto 0); + signal fromHostFifo_prog_full, fromHostFifo_we, fromHostFifo_wr_clk: std_logic; + signal pcie_rxn: std_logic_vector(7 downto 0); + signal pcie_rxp: std_logic_vector(7 downto 0); + signal pcie_txn: std_logic_vector(7 downto 0); + signal pcie_txp: std_logic_vector(7 downto 0); + + signal sys_reset_n: std_logic; + + signal toHostFifo_dout: std_logic_vector(255 downto 0); + signal toHostFifo_empty_thresh: std_logic_vector(11 downto 0); + signal toHostFifo_pfull_threshold_assert: std_logic_vector(11 downto 0); + signal toHostFifo_pfull_threshold_negate: std_logic_vector(11 downto 0); + + signal toHostFifo_prog_empty, toHostFifo_rd_clk, toHostFifo_re: std_logic; + + + + signal clk240: std_logic; + constant clk240_period: time := 4.17ns; + signal reset_hard: std_logic; + signal toHostFifo_rst: std_logic; + signal fromHostFifo_rst: std_logic; + + signal toHostFifo_din : std_logic_vector(255 downto 0); + signal toHostFifo_wr_en : std_logic; + signal toHostFifo_prog_full : std_logic; + + signal fromHostFifo_rd_en : std_logic; + signal fromHostFifo_dout : std_logic_vector(255 downto 0); + signal fromHostFifo_empty : std_logic; + signal register_map_monitor: register_map_monitor_type; + +begin + pcie_rxn <= pcie_txn; + pcie_rxp <= pcie_txp; + + process + begin + sys_reset_n <= '0'; + wait for 100 ns; + sys_reset_n <= '1'; + wait; + end process; + + toHostFifo_rst <= reset_hard; + fromHostFifo_rst <= reset_hard; + + process + begin + clk240 <= '1'; + wait for clk240_period/2; + clk240 <= '0'; + wait for clk240_period/2; + end process; + + pcie0: entity work.wupper + generic map( + NUMBER_OF_INTERRUPTS => NUMBER_OF_INTERRUPTS, + NUMBER_OF_DESCRIPTORS => NUMBER_OF_DESCRIPTORS, + BUILD_DATETIME => (others => '0'), + SVN_VERSION => 0, + CARD_TYPE => 709, + REG_MAP_VERSION => (others => '0'), + DEVID => x"7038", + GIT_HASH => (others => '0'), + COMMIT_DATETIME => (others => '0'), + GIT_TAG => (others => '0'), + GIT_COMMIT_NUMBER => 42, + GBT_GENERATE_ALL_REGS => true, + EMU_GENERATE_REGS => false, + PCIE_ENDPOINT => 0) + port map( + appreg_clk => open, + flush_fifo => open, + fromHostFifo_din => fromHostFifo_din, + fromHostFifo_pfull_threshold_assert => fromHostFifo_pfull_threshold_assert, + fromHostFifo_pfull_threshold_negate => fromHostFifo_pfull_threshold_negate, + fromHostFifo_prog_full => fromHostFifo_prog_full, + fromHostFifo_we => fromHostFifo_we, + fromHostFifo_wr_clk => fromHostFifo_wr_clk, + fromhost_busy_out => open, + interrupt_call => (others => '0'), + lnk_up => open, + pcie_rxn => pcie_rxn, + pcie_rxp => pcie_rxp, + pcie_txn => pcie_txn, + pcie_txp => pcie_txp, + pll_locked => open, + register_map_control => open, + register_map_monitor => register_map_monitor, + reset_hard => reset_hard, + reset_soft => open, + sys_clk_n => '0', -- not used, 250 MHz clock generated internally + sys_clk_p => '0', -- not used, 250 MHz clock generated internally + sys_reset_n => sys_reset_n, + toHostFifo_dout => toHostFifo_dout, + toHostFifo_empty_thresh => toHostFifo_empty_thresh, + toHostFifo_pfull_threshold_assert => toHostFifo_pfull_threshold_assert, + toHostFifo_pfull_threshold_negate => toHostFifo_pfull_threshold_negate, + toHostFifo_prog_empty => toHostFifo_prog_empty, + toHostFifo_rd_clk => toHostFifo_rd_clk, + toHostFifo_re => toHostFifo_re, + tohost_busy_out => open); + + + + toHostFifo: fifo128KB_256bit + port map( + rst => toHostFifo_rst, + wr_clk => clk240, + rd_clk => toHostFifo_rd_clk, + din => toHostFifo_din, + wr_en => toHostFifo_wr_en, + rd_en => toHostFifo_re, + prog_empty_thresh => toHostFifo_empty_thresh, + prog_full_thresh_assert => toHostFifo_pfull_threshold_assert, + prog_full_thresh_negate => toHostFifo_pfull_threshold_negate, + dout => toHostFifo_dout, + full => open, + empty => open, + prog_full => toHostFifo_prog_full, + prog_empty => toHostFifo_prog_empty, + wr_data_count => open); + + fromHostFifo: fifo16KB_256bit + port map( + rst => fromHostFifo_rst, + wr_clk => fromHostFifo_wr_clk, + rd_clk => clk240, + din => fromHostFifo_din, + wr_en => fromHostFifo_we, + rd_en => fromHostFifo_rd_en, + prog_full_thresh_assert => fromHostFifo_pfull_threshold_assert, + prog_full_thresh_negate => fromHostFifo_pfull_threshold_negate, + dout => fromHostFifo_dout, + full => open, + empty => fromHostFifo_empty, + prog_full => fromHostFifo_prog_full); + + +toHostFifo_din <= fromHostFifo_dout; + +process(clk240) +begin + if reset_hard = '1' then + toHostFifo_wr_en <= '0'; + elsif rising_edge(clk240) then + toHostFifo_wr_en <= fromHostFifo_rd_en; + end if; +end process; + +fromHostFifo_rd_en <= not fromHostFifo_empty and not toHostFifo_prog_full; + +end architecture structure ; -- of felix_top + diff --git a/simulation/Wupper/wupper_tb_behav.wcfg b/simulation/Wupper/wupper_tb_behav.wcfg new file mode 100644 index 000000000..4ff1be945 --- /dev/null +++ b/simulation/Wupper/wupper_tb_behav.wcfg @@ -0,0 +1,764 @@ +<?xml version="1.0" encoding="UTF-8"?> +<wave_config> + <wave_state> + </wave_state> + <db_ref_list> + <db_ref path="wupper_tb_behav.wdb" id="1"> + <top_modules> + <top_module name="centralrouter_package" /> + <top_module name="glbl" /> + <top_module name="pcie_package" /> + <top_module name="wupper_tb" /> + </top_modules> + </db_ref> + </db_ref_list> + <zoom_setting> + <ZoomStartTime time="9149400000fs"></ZoomStartTime> + <ZoomEndTime time="9432600001fs"></ZoomEndTime> + <Cursor1Time time="9302000000fs"></Cursor1Time> + </zoom_setting> + <column_width_setting> + <NameColumnWidth column_width="194"></NameColumnWidth> + <ValueColumnWidth column_width="264"></ValueColumnWidth> + </column_width_setting> + <WVObjectSize size="4" /> + <wvobject type="group" fp_name="group33"> + <obj_property name="label">wupper_tb</obj_property> + <obj_property name="DisplayName">label</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/fromHostFifo_din"> + <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_din[255:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_prog_full"> + <obj_property name="ElementShortName">fromHostFifo_prog_full</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_prog_full</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_we"> + <obj_property name="ElementShortName">fromHostFifo_we</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_we</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_wr_clk"> + <obj_property name="ElementShortName">fromHostFifo_wr_clk</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_wr_clk</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/toHostFifo_dout"> + <obj_property name="ElementShortName">toHostFifo_dout[255:0]</obj_property> + <obj_property name="ObjectShortName">toHostFifo_dout[255:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_prog_empty"> + <obj_property name="ElementShortName">toHostFifo_prog_empty</obj_property> + <obj_property name="ObjectShortName">toHostFifo_prog_empty</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_rd_clk"> + <obj_property name="ElementShortName">toHostFifo_rd_clk</obj_property> + <obj_property name="ObjectShortName">toHostFifo_rd_clk</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_re"> + <obj_property name="ElementShortName">toHostFifo_re</obj_property> + <obj_property name="ObjectShortName">toHostFifo_re</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/clk240"> + <obj_property name="ElementShortName">clk240</obj_property> + <obj_property name="ObjectShortName">clk240</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/reset_hard"> + <obj_property name="ElementShortName">reset_hard</obj_property> + <obj_property name="ObjectShortName">reset_hard</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_rst"> + <obj_property name="ElementShortName">toHostFifo_rst</obj_property> + <obj_property name="ObjectShortName">toHostFifo_rst</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_rst"> + <obj_property name="ElementShortName">fromHostFifo_rst</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_rst</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/toHostFifo_din"> + <obj_property name="ElementShortName">toHostFifo_din[255:0]</obj_property> + <obj_property name="ObjectShortName">toHostFifo_din[255:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_wr_en"> + <obj_property name="ElementShortName">toHostFifo_wr_en</obj_property> + <obj_property name="ObjectShortName">toHostFifo_wr_en</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/toHostFifo_prog_full"> + <obj_property name="ElementShortName">toHostFifo_prog_full</obj_property> + <obj_property name="ObjectShortName">toHostFifo_prog_full</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_rd_en"> + <obj_property name="ElementShortName">fromHostFifo_rd_en</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_rd_en</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/fromHostFifo_dout"> + <obj_property name="ElementShortName">fromHostFifo_dout[255:0]</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_dout[255:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/fromHostFifo_empty"> + <obj_property name="ElementShortName">fromHostFifo_empty</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_empty</obj_property> + </wvobject> + </wvobject> + <wvobject type="group" fp_name="group120"> + <obj_property name="label">dma_control</obj_property> + <obj_property name="DisplayName">label</obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar0"> + <obj_property name="ElementShortName">bar0[31:0]</obj_property> + <obj_property name="ObjectShortName">bar0[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar1"> + <obj_property name="ElementShortName">bar1[31:0]</obj_property> + <obj_property name="ObjectShortName">bar1[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar2"> + <obj_property name="ElementShortName">bar2[31:0]</obj_property> + <obj_property name="ObjectShortName">bar2[31:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/clk"> + <obj_property name="ElementShortName">clk</obj_property> + <obj_property name="ObjectShortName">clk</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/regmap_clk"> + <obj_property name="ElementShortName">regmap_clk</obj_property> + <obj_property name="ObjectShortName">regmap_clk</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors"> + <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset"> + <obj_property name="ElementShortName">dma_soft_reset</obj_property> + <obj_property name="ObjectShortName">dma_soft_reset</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status"> + <obj_property name="ElementShortName">dma_status[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_status[0:1]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo"> + <obj_property name="ElementShortName">flush_fifo</obj_property> + <obj_property name="ObjectShortName">flush_fifo</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/m_axis_cc"> + <obj_property name="ElementShortName">m_axis_cc</obj_property> + <obj_property name="ObjectShortName">m_axis_cc</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/m_axis_r_cc"> + <obj_property name="ElementShortName">m_axis_r_cc</obj_property> + <obj_property name="ObjectShortName">m_axis_r_cc</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset"> + <obj_property name="ElementShortName">reset</obj_property> + <obj_property name="ObjectShortName">reset</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_global_soft"> + <obj_property name="ElementShortName">reset_global_soft</obj_property> + <obj_property name="ObjectShortName">reset_global_soft</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/s_axis_cq"> + <obj_property name="ElementShortName">s_axis_cq</obj_property> + <obj_property name="ObjectShortName">s_axis_cq</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/s_axis_r_cq"> + <obj_property name="ElementShortName">s_axis_r_cq</obj_property> + <obj_property name="ObjectShortName">s_axis_r_cq</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_full"> + <obj_property name="ElementShortName">fifo_full</obj_property> + <obj_property name="ObjectShortName">fifo_full</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_empty"> + <obj_property name="ElementShortName">fifo_empty</obj_property> + <obj_property name="ObjectShortName">fifo_empty</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_interrupt_call"> + <obj_property name="ElementShortName">dma_interrupt_call[3:0]</obj_property> + <obj_property name="ObjectShortName">dma_interrupt_call[3:0]</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u1/completer_state"> + <obj_property name="ElementShortName">completer_state</obj_property> + <obj_property name="ObjectShortName">completer_state</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s"> + <obj_property name="ElementShortName">dma_descriptors_s[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_s[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_r_s"> + <obj_property name="ElementShortName">dma_descriptors_25_r_s[0:7]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_25_r_s[0:7]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s"> + <obj_property name="ElementShortName">dma_descriptors_25_w_s[0:7]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_25_w_s[0:7]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_w_250_s"> + <obj_property name="ElementShortName">dma_descriptors_w_250_s[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_w_250_s[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_sync250_s"> + <obj_property name="ElementShortName">dma_descriptors_sync250_s[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_sync250_s[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_sync250_s"> + <obj_property name="ElementShortName">dma_status_sync250_s[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_status_sync250_s[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_s"> + <obj_property name="ElementShortName">dma_status_s[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_status_s[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status_25_s"> + <obj_property name="ElementShortName">dma_status_25_s[0:7]</obj_property> + <obj_property name="ObjectShortName">dma_status_25_s[0:7]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_address_s"> + <obj_property name="ElementShortName">register_address_s[63:0]</obj_property> + <obj_property name="ObjectShortName">register_address_s[63:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/address_type_s"> + <obj_property name="ElementShortName">address_type_s[1:0]</obj_property> + <obj_property name="ObjectShortName">address_type_s[1:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dword_count_s"> + <obj_property name="ElementShortName">dword_count_s[10:0]</obj_property> + <obj_property name="ObjectShortName">dword_count_s[10:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/request_type_s"> + <obj_property name="ElementShortName">request_type_s[3:0]</obj_property> + <obj_property name="ObjectShortName">request_type_s[3:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/requester_id_s"> + <obj_property name="ElementShortName">requester_id_s[15:0]</obj_property> + <obj_property name="ObjectShortName">requester_id_s[15:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/tag_s"> + <obj_property name="ElementShortName">tag_s[7:0]</obj_property> + <obj_property name="ObjectShortName">tag_s[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/target_function_s"> + <obj_property name="ElementShortName">target_function_s[7:0]</obj_property> + <obj_property name="ObjectShortName">target_function_s[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar_id_s"> + <obj_property name="ElementShortName">bar_id_s[2:0]</obj_property> + <obj_property name="ObjectShortName">bar_id_s[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar_aperture_s"> + <obj_property name="ElementShortName">bar_aperture_s[5:0]</obj_property> + <obj_property name="ObjectShortName">bar_aperture_s[5:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/bar0_valid"> + <obj_property name="ElementShortName">bar0_valid</obj_property> + <obj_property name="ObjectShortName">bar0_valid</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/transaction_class_s"> + <obj_property name="ElementShortName">transaction_class_s[2:0]</obj_property> + <obj_property name="ObjectShortName">transaction_class_s[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/attributes_s"> + <obj_property name="ElementShortName">attributes_s[2:0]</obj_property> + <obj_property name="ObjectShortName">attributes_s[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/first_be_s"> + <obj_property name="ElementShortName">first_be_s[3:0]</obj_property> + <obj_property name="ObjectShortName">first_be_s[3:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/first_be_25_s"> + <obj_property name="ElementShortName">first_be_25_s[3:0]</obj_property> + <obj_property name="ObjectShortName">first_be_25_s[3:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_be_s"> + <obj_property name="ElementShortName">last_be_s[3:0]</obj_property> + <obj_property name="ObjectShortName">last_be_s[3:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_be_25_s"> + <obj_property name="ElementShortName">last_be_25_s[3:0]</obj_property> + <obj_property name="ObjectShortName">last_be_25_s[3:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_data_r"> + <obj_property name="ElementShortName">register_data_r[127:0]</obj_property> + <obj_property name="ObjectShortName">register_data_r[127:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/tlast_timer_s"> + <obj_property name="ElementShortName">tlast_timer_s[7:0]</obj_property> + <obj_property name="ObjectShortName">tlast_timer_s[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_address_250_s"> + <obj_property name="ElementShortName">register_read_address_250_s[31:0]</obj_property> + <obj_property name="ObjectShortName">register_read_address_250_s[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_address_25_s"> + <obj_property name="ElementShortName">register_read_address_25_s[31:0]</obj_property> + <obj_property name="ObjectShortName">register_read_address_25_s[31:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable_250_s"> + <obj_property name="ElementShortName">register_read_enable_250_s</obj_property> + <obj_property name="ObjectShortName">register_read_enable_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable1_250_s"> + <obj_property name="ElementShortName">register_read_enable1_250_s</obj_property> + <obj_property name="ObjectShortName">register_read_enable1_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_enable_25_s"> + <obj_property name="ElementShortName">register_read_enable_25_s</obj_property> + <obj_property name="ObjectShortName">register_read_enable_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_done_250_s"> + <obj_property name="ElementShortName">register_read_done_250_s</obj_property> + <obj_property name="ObjectShortName">register_read_done_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_done_25_s"> + <obj_property name="ElementShortName">register_read_done_25_s</obj_property> + <obj_property name="ObjectShortName">register_read_done_25_s</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_data_250_s"> + <obj_property name="ElementShortName">register_read_data_250_s[127:0]</obj_property> + <obj_property name="ObjectShortName">register_read_data_250_s[127:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_read_data_25_s"> + <obj_property name="ElementShortName">register_read_data_25_s[127:0]</obj_property> + <obj_property name="ObjectShortName">register_read_data_25_s[127:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_address_250_s"> + <obj_property name="ElementShortName">register_write_address_250_s[31:0]</obj_property> + <obj_property name="ObjectShortName">register_write_address_250_s[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_address_25_s"> + <obj_property name="ElementShortName">register_write_address_25_s[31:0]</obj_property> + <obj_property name="ObjectShortName">register_write_address_25_s[31:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable_250_s"> + <obj_property name="ElementShortName">register_write_enable_250_s</obj_property> + <obj_property name="ObjectShortName">register_write_enable_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable1_250_s"> + <obj_property name="ElementShortName">register_write_enable1_250_s</obj_property> + <obj_property name="ObjectShortName">register_write_enable1_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_enable_25_s"> + <obj_property name="ElementShortName">register_write_enable_25_s</obj_property> + <obj_property name="ObjectShortName">register_write_enable_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_done_250_s"> + <obj_property name="ElementShortName">register_write_done_250_s</obj_property> + <obj_property name="ObjectShortName">register_write_done_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_done_25_s"> + <obj_property name="ElementShortName">register_write_done_25_s</obj_property> + <obj_property name="ObjectShortName">register_write_done_25_s</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_data_250_s"> + <obj_property name="ElementShortName">register_write_data_250_s[63:0]</obj_property> + <obj_property name="ObjectShortName">register_write_data_250_s[63:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_write_data_25_nobe_s"> + <obj_property name="ElementShortName">register_write_data_25_nobe_s[63:0]</obj_property> + <obj_property name="ObjectShortName">register_write_data_25_nobe_s[63:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_word_address_25_s"> + <obj_property name="ElementShortName">register_word_address_25_s[3:2]</obj_property> + <obj_property name="ObjectShortName">register_word_address_25_s[3:2]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/register_word_address_250_s"> + <obj_property name="ElementShortName">register_word_address_250_s[3:2]</obj_property> + <obj_property name="ObjectShortName">register_word_address_250_s[3:2]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dword_count_25_s"> + <obj_property name="ElementShortName">dword_count_25_s[2:0]</obj_property> + <obj_property name="ObjectShortName">dword_count_25_s[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar0_25_s"> + <obj_property name="ElementShortName">bar0_25_s[31:0]</obj_property> + <obj_property name="ObjectShortName">bar0_25_s[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar1_25_s"> + <obj_property name="ElementShortName">bar1_25_s[31:0]</obj_property> + <obj_property name="ObjectShortName">bar1_25_s[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/bar2_25_s"> + <obj_property name="ElementShortName">bar2_25_s[31:0]</obj_property> + <obj_property name="ObjectShortName">bar2_25_s[31:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fifo_full_interrupt_25_s"> + <obj_property name="ElementShortName">fifo_full_interrupt_25_s</obj_property> + <obj_property name="ObjectShortName">fifo_full_interrupt_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/data_available_interrupt_25_s"> + <obj_property name="ElementShortName">data_available_interrupt_25_s</obj_property> + <obj_property name="ObjectShortName">data_available_interrupt_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo_25_s"> + <obj_property name="ElementShortName">flush_fifo_25_s</obj_property> + <obj_property name="ObjectShortName">flush_fifo_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset_25_s"> + <obj_property name="ElementShortName">dma_soft_reset_25_s</obj_property> + <obj_property name="ObjectShortName">dma_soft_reset_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_global_soft_25_s"> + <obj_property name="ElementShortName">reset_global_soft_25_s</obj_property> + <obj_property name="ObjectShortName">reset_global_soft_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_register_map_25_s"> + <obj_property name="ElementShortName">reset_register_map_25_s</obj_property> + <obj_property name="ObjectShortName">reset_register_map_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/reset_register_map_s"> + <obj_property name="ElementShortName">reset_register_map_s</obj_property> + <obj_property name="ObjectShortName">reset_register_map_s</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/next_current_address_s"> + <obj_property name="ElementShortName">next_current_address_s[0:1][63:0]</obj_property> + <obj_property name="ObjectShortName">next_current_address_s[0:1][63:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/last_pc_pointer_s"> + <obj_property name="ElementShortName">last_pc_pointer_s[0:1][63:0]</obj_property> + <obj_property name="ObjectShortName">last_pc_pointer_s[0:1][63:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_wait"> + <obj_property name="ElementShortName">dma_wait[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_wait[0:1]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_25_s"> + <obj_property name="ElementShortName">dma_descriptors_enable_written_25_s</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_enable_written_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_250_s"> + <obj_property name="ElementShortName">dma_descriptors_enable_written_250_s</obj_property> + <obj_property name="ObjectShortName">dma_descriptors_enable_written_250_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/tohost_busy_25_s"> + <obj_property name="ElementShortName">tohost_busy_25_s</obj_property> + <obj_property name="ObjectShortName">tohost_busy_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fromhost_busy_25_s"> + <obj_property name="ElementShortName">fromhost_busy_25_s</obj_property> + <obj_property name="ObjectShortName">fromhost_busy_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/tohost_busy_latched_25_s"> + <obj_property name="ElementShortName">tohost_busy_latched_25_s</obj_property> + <obj_property name="ObjectShortName">tohost_busy_latched_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/fromhost_busy_latched_25_s"> + <obj_property name="ElementShortName">fromhost_busy_latched_25_s</obj_property> + <obj_property name="ObjectShortName">fromhost_busy_latched_25_s</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/mask_data_available_interrupt"> + <obj_property name="ElementShortName">mask_data_available_interrupt</obj_property> + <obj_property name="ObjectShortName">mask_data_available_interrupt</obj_property> + </wvobject> + </wvobject> + <wvobject type="group" fp_name="group162"> + <obj_property name="label">dma_read_write</obj_property> + <obj_property name="DisplayName">label</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/clk"> + <obj_property name="ElementShortName">clk</obj_property> + <obj_property name="ObjectShortName">clk</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors"> + <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_descriptors[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/dma_soft_reset"> + <obj_property name="ElementShortName">dma_soft_reset</obj_property> + <obj_property name="ObjectShortName">dma_soft_reset</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status"> + <obj_property name="ElementShortName">dma_status[0:1]</obj_property> + <obj_property name="ObjectShortName">dma_status[0:1]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_din"> + <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_din[255:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_prog_full"> + <obj_property name="ElementShortName">fromHostFifo_prog_full</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_prog_full</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_we"> + <obj_property name="ElementShortName">fromHostFifo_we</obj_property> + <obj_property name="ObjectShortName">fromHostFifo_we</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/m_axis_r_rq"> + <obj_property name="ElementShortName">m_axis_r_rq</obj_property> + <obj_property name="ObjectShortName">m_axis_r_rq</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/m_axis_rq"> + <obj_property name="ElementShortName">m_axis_rq</obj_property> + <obj_property name="ObjectShortName">m_axis_rq</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/reset"> + <obj_property name="ElementShortName">reset</obj_property> + <obj_property name="ObjectShortName">reset</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_r_rc"> + <obj_property name="ElementShortName">s_axis_r_rc</obj_property> + <obj_property name="ObjectShortName">s_axis_r_rc</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc"> + <obj_property name="ElementShortName">s_axis_rc</obj_property> + <obj_property name="ObjectShortName">s_axis_rc</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_dout"> + <obj_property name="ElementShortName">toHostFifo_dout[255:0]</obj_property> + <obj_property name="ObjectShortName">toHostFifo_dout[255:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_empty_thresh"> + <obj_property name="ElementShortName">toHostFifo_empty_thresh[11:0]</obj_property> + <obj_property name="ObjectShortName">toHostFifo_empty_thresh[11:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_prog_empty"> + <obj_property name="ElementShortName">toHostFifo_prog_empty</obj_property> + <obj_property name="ObjectShortName">toHostFifo_prog_empty</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/toHostFifo_re"> + <obj_property name="ElementShortName">toHostFifo_re</obj_property> + <obj_property name="ObjectShortName">toHostFifo_re</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/rw_state"> + <obj_property name="ElementShortName">rw_state</obj_property> + <obj_property name="ObjectShortName">rw_state</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/rw_state_slv"> + <obj_property name="ElementShortName">rw_state_slv[2:0]</obj_property> + <obj_property name="ObjectShortName">rw_state_slv[2:0]</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/strip_state"> + <obj_property name="ElementShortName">strip_state</obj_property> + <obj_property name="ObjectShortName">strip_state</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/strip_state_slv"> + <obj_property name="ElementShortName">strip_state_slv[2:0]</obj_property> + <obj_property name="ObjectShortName">strip_state_slv[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/current_descriptor"> + <obj_property name="ElementShortName">current_descriptor</obj_property> + <obj_property name="ObjectShortName">current_descriptor</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/downfifo_dout_pipe"> + <obj_property name="ElementShortName">downfifo_dout_pipe[127:0]</obj_property> + <obj_property name="ObjectShortName">downfifo_dout_pipe[127:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/upfifo_din_pipe"> + <obj_property name="ElementShortName">upfifo_din_pipe[159:0]</obj_property> + <obj_property name="ObjectShortName">upfifo_din_pipe[159:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/descriptor_done_s"> + <obj_property name="ElementShortName">descriptor_done_s[0:1]</obj_property> + <obj_property name="ObjectShortName">descriptor_done_s[0:1]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc_tlast_pipe"> + <obj_property name="ElementShortName">s_axis_rc_tlast_pipe</obj_property> + <obj_property name="ObjectShortName">s_axis_rc_tlast_pipe</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u0/s_axis_rc_tvalid_pipe"> + <obj_property name="ElementShortName">s_axis_rc_tvalid_pipe</obj_property> + <obj_property name="ObjectShortName">s_axis_rc_tvalid_pipe</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/receive_word_count"> + <obj_property name="ElementShortName">receive_word_count[10:0]</obj_property> + <obj_property name="ObjectShortName">receive_word_count[10:0]</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/active_descriptor_s"> + <obj_property name="ElementShortName">active_descriptor_s</obj_property> + <obj_property name="ObjectShortName">active_descriptor_s</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/current_dword_count_s"> + <obj_property name="ElementShortName">current_dword_count_s[10:0]</obj_property> + <obj_property name="ObjectShortName">current_dword_count_s[10:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/s_m_axis_rq"> + <obj_property name="ElementShortName">s_m_axis_rq</obj_property> + <obj_property name="ObjectShortName">s_m_axis_rq</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/dma0/u0/NUMBER_OF_DESCRIPTORS"> + <obj_property name="ElementShortName">NUMBER_OF_DESCRIPTORS</obj_property> + <obj_property name="ObjectShortName">NUMBER_OF_DESCRIPTORS</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/IDLE_SLV"> + <obj_property name="ElementShortName">IDLE_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">IDLE_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/START_WRITE_SLV"> + <obj_property name="ElementShortName">START_WRITE_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">START_WRITE_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/CONT_WRITE_SLV"> + <obj_property name="ElementShortName">CONT_WRITE_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">CONT_WRITE_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/END_WRITE_SLV"> + <obj_property name="ElementShortName">END_WRITE_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">END_WRITE_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/START_READ_SLV"> + <obj_property name="ElementShortName">START_READ_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">START_READ_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/CONT_READ_SLV"> + <obj_property name="ElementShortName">CONT_READ_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">CONT_READ_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/END_READ_SLV"> + <obj_property name="ElementShortName">END_READ_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">END_READ_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/PUSH_DATA_SLV"> + <obj_property name="ElementShortName">PUSH_DATA_SLV[2:0]</obj_property> + <obj_property name="ObjectShortName">PUSH_DATA_SLV[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/req_tc"> + <obj_property name="ElementShortName">req_tc[2:0]</obj_property> + <obj_property name="ObjectShortName">req_tc[2:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/req_attr"> + <obj_property name="ElementShortName">req_attr[2:0]</obj_property> + <obj_property name="ObjectShortName">req_attr[2:0]</obj_property> + </wvobject> + </wvobject> + <wvobject type="group" fp_name="group372"> + <obj_property name="label">pcie_endpoint</obj_property> + <obj_property name="DisplayName">label</obj_property> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/clk"> + <obj_property name="ElementShortName">clk</obj_property> + <obj_property name="ObjectShortName">clk</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_cq"> + <obj_property name="ElementShortName">m_axis_cq</obj_property> + <obj_property name="ObjectShortName">m_axis_cq</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_r_cq"> + <obj_property name="ElementShortName">m_axis_r_cq</obj_property> + <obj_property name="ObjectShortName">m_axis_r_cq</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_r_rc"> + <obj_property name="ElementShortName">m_axis_r_rc</obj_property> + <obj_property name="ObjectShortName">m_axis_r_rc</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/m_axis_rc"> + <obj_property name="ElementShortName">m_axis_rc</obj_property> + <obj_property name="ObjectShortName">m_axis_rc</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_rxn"> + <obj_property name="ElementShortName">pci_exp_rxn[7:0]</obj_property> + <obj_property name="ObjectShortName">pci_exp_rxn[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_rxp"> + <obj_property name="ElementShortName">pci_exp_rxp[7:0]</obj_property> + <obj_property name="ObjectShortName">pci_exp_rxp[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_txn"> + <obj_property name="ElementShortName">pci_exp_txn[7:0]</obj_property> + <obj_property name="ObjectShortName">pci_exp_txn[7:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/pci_exp_txp"> + <obj_property name="ElementShortName">pci_exp_txp[7:0]</obj_property> + <obj_property name="ObjectShortName">pci_exp_txp[7:0]</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/reset"> + <obj_property name="ElementShortName">reset</obj_property> + <obj_property name="ObjectShortName">reset</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_cc"> + <obj_property name="ElementShortName">s_axis_cc</obj_property> + <obj_property name="ObjectShortName">s_axis_cc</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_r_cc"> + <obj_property name="ElementShortName">s_axis_r_cc</obj_property> + <obj_property name="ObjectShortName">s_axis_r_cc</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_r_rq"> + <obj_property name="ElementShortName">s_axis_r_rq</obj_property> + <obj_property name="ObjectShortName">s_axis_r_rq</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/s_axis_rq"> + <obj_property name="ElementShortName">s_axis_rq</obj_property> + <obj_property name="ObjectShortName">s_axis_rq</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_clk_n"> + <obj_property name="ElementShortName">sys_clk_n</obj_property> + <obj_property name="ObjectShortName">sys_clk_n</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_clk_p"> + <obj_property name="ElementShortName">sys_clk_p</obj_property> + <obj_property name="ObjectShortName">sys_clk_p</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/sys_rst_n"> + <obj_property name="ElementShortName">sys_rst_n</obj_property> + <obj_property name="ObjectShortName">sys_rst_n</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/user_lnk_up"> + <obj_property name="ElementShortName">user_lnk_up</obj_property> + <obj_property name="ObjectShortName">user_lnk_up</obj_property> + </wvobject> + <wvobject type="logic" fp_name="/wupper_tb/pcie0/u1/user_clk"> + <obj_property name="ElementShortName">user_clk</obj_property> + <obj_property name="ObjectShortName">user_clk</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/ToHostMem"> + <obj_property name="ElementShortName">ToHostMem[0:127][255:0]</obj_property> + <obj_property name="ObjectShortName">ToHostMem[0:127][255:0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/FromHostMem"> + <obj_property name="ElementShortName">FromHostMem[0:127][255:0]</obj_property> + <obj_property name="ObjectShortName">FromHostMem[0:127][255:0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/u1/CARD_TYPE"> + <obj_property name="ElementShortName">CARD_TYPE</obj_property> + <obj_property name="ObjectShortName">CARD_TYPE</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/DEVID"> + <obj_property name="ElementShortName">DEVID[15:0]</obj_property> + <obj_property name="ObjectShortName">DEVID[15:0]</obj_property> + </wvobject> + <wvobject type="other" fp_name="/wupper_tb/pcie0/u1/user_clk_period"> + <obj_property name="ElementShortName">user_clk_period</obj_property> + <obj_property name="ObjectShortName">user_clk_period</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR0"> + <obj_property name="ElementShortName">BAR0[31:0]</obj_property> + <obj_property name="ObjectShortName">BAR0[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR1"> + <obj_property name="ElementShortName">BAR1[31:0]</obj_property> + <obj_property name="ObjectShortName">BAR1[31:0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/u1/BAR2"> + <obj_property name="ElementShortName">BAR2[31:0]</obj_property> + <obj_property name="ObjectShortName">BAR2[31:0]</obj_property> + </wvobject> + </wvobject> +</wave_config> diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 666f23e58..effc17ae2 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -227,6 +227,9 @@ architecture rtl of dma_control is signal tohost_busy_25_s, fromhost_busy_25_s : std_logic; signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; + + constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + begin tohost_pfull_threshold_assert <= tohost_pfull_threshold_assert_s; @@ -340,7 +343,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); if(dma_descriptors_s(i).enable = '1') then - if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. + if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around end if; @@ -382,7 +385,7 @@ begin end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index 38a0e688f..00940c0e7 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -206,6 +206,9 @@ architecture rtl of dma_control is signal tohost_busy_25_s, fromhost_busy_25_s : std_logic; signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; + + constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + begin tohost_pfull_threshold_assert <= tohost_pfull_threshold_assert_s; @@ -319,7 +322,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); if(dma_descriptors_s(i).enable = '1') then - if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + x"0000_0000_1000_000") then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. + if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around end if; @@ -361,7 +364,7 @@ begin end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(current_address_v(i)=dma_descriptors_s(i).pc_pointer) then + if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write else dma_wait(i) <= '0'; -- GitLab From 1d8552209ecd913c192931c6ea5bc3e3d07efc7a Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Fri, 24 May 2019 15:48:52 +0200 Subject: [PATCH 14/19] Added pc_ptr_gap register to define the gap that the pc_pointer has to go back in order to flip evencycle_pc --- sources/templates/dma_control.vhd | 11 ++++++++--- sources/templates/dma_control.vhd.template | 11 ++++++++--- sources/templates/pcie_package.vhd | 1 + sources/templates/pcie_package.vhd.template | 1 + sources/templates/registers-4.6.yaml | 6 ++++++ 5 files changed, 24 insertions(+), 6 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index effc17ae2..dcde9ec3e 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -228,7 +228,8 @@ architecture rtl of dma_control is signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; - constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + constant PC_PTR_GAP_C : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + signal pc_ptr_gap_25_s, pc_ptr_gap_250_s: std_logic_vector(63 downto 0); begin @@ -343,7 +344,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); if(dma_descriptors_s(i).enable = '1') then - if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. + if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0). evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around end if; @@ -726,6 +727,8 @@ begin flush_fifo_v := flush_fifo_25_s; dma_soft_reset_v := dma_soft_reset_25_s; + pc_ptr_gap_250_s <= pc_ptr_gap_25_s; + -- dma_status and dma_descriptor can be changing fast, so only update at rising edge -- of regmap_clk, then synchronize to regmap_clk if(cnt10 = 0) then --rising edge of regmap_clk @@ -829,7 +832,7 @@ end process; busy_threshold_assert <= REG_BUSY_THRESH_ASSERT_C; busy_threshold_negate <= REG_BUSY_THRESH_NEGATE_C; - + pc_ptr_gap_25_s <= PC_PTR_GAP_C; --! --! generate registers initialization @@ -9109,6 +9112,7 @@ end process; when REG_BUSY_STATUS => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"& fromhost_busy_25_s& tohost_busy_25_s; + when REG_PC_PTR_GAP => register_read_data_25_s <= x"0000_0000_0000_0000"&pc_ptr_gap_25_s; when others => register_read_data_25_s <= (others => '0'); @@ -16332,6 +16336,7 @@ end process; tohost_pfull_threshold_negate_s <= register_write_data_25_v(11 downto 0); when REG_BUSY_THRESH_ASSERT => busy_threshold_assert <= register_write_data_25_v(63 downto 0); when REG_BUSY_THRESH_NEGATE => busy_threshold_negate <= register_write_data_25_v(63 downto 0); + when REG_PC_PTR_GAP => pc_ptr_gap_25_s <= register_write_data_25_v(63 downto 0); when others => --do nothing end case; diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index 00940c0e7..ddd9a465e 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -207,7 +207,8 @@ architecture rtl of dma_control is signal tohost_busy_latched_25_s, fromhost_busy_latched_25_s : std_logic; signal mask_data_available_interrupt: std_logic; - constant PC_POINTER_EVENCYCLE_GAP : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + constant PC_PTR_GAP_C : std_logic_vector(63 downto 0) := x"0000_0000_0100_0000"; + signal pc_ptr_gap_25_s, pc_ptr_gap_250_s: std_logic_vector(63 downto 0); begin @@ -322,7 +323,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); if(dma_descriptors_s(i).enable = '1') then - if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + PC_POINTER_EVENCYCLE_GAP) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. + if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0). evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around end if; @@ -705,6 +706,8 @@ begin flush_fifo_v := flush_fifo_25_s; dma_soft_reset_v := dma_soft_reset_25_s; + pc_ptr_gap_250_s <= pc_ptr_gap_25_s; + -- dma_status and dma_descriptor can be changing fast, so only update at rising edge -- of regmap_clk, then synchronize to regmap_clk if(cnt10 = 0) then --rising edge of regmap_clk @@ -808,7 +811,7 @@ end process; busy_threshold_assert <= REG_BUSY_THRESH_ASSERT_C; busy_threshold_negate <= REG_BUSY_THRESH_NEGATE_C; - + pc_ptr_gap_25_s <= PC_PTR_GAP_C; --! --! generate registers initialization @@ -997,6 +1000,7 @@ end process; when REG_BUSY_STATUS => register_read_data_25_s <= x"0000_0000_0000_0000_0000_0000_0000_000"&"00"& fromhost_busy_25_s& tohost_busy_25_s; + when REG_PC_PTR_GAP => register_read_data_25_s <= x"0000_0000_0000_0000"&pc_ptr_gap_25_s; when others => register_read_data_25_s <= (others => '0'); @@ -1307,6 +1311,7 @@ end process; tohost_pfull_threshold_negate_s <= register_write_data_25_v(11 downto 0); when REG_BUSY_THRESH_ASSERT => busy_threshold_assert <= register_write_data_25_v(63 downto 0); when REG_BUSY_THRESH_NEGATE => busy_threshold_negate <= register_write_data_25_v(63 downto 0); + when REG_PC_PTR_GAP => pc_ptr_gap_25_s <= register_write_data_25_v(63 downto 0); when others => --do nothing end case; diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index 4e7f59c08..69e568fab 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -194,6 +194,7 @@ package pcie_package is constant REG_BUSY_THRESH_ASSERT : std_logic_vector(19 downto 0) := x"00470"; constant REG_BUSY_THRESH_NEGATE : std_logic_vector(19 downto 0) := x"00480"; constant REG_BUSY_STATUS : std_logic_vector(19 downto 0) := x"00490"; + constant REG_PC_PTR_GAP : std_logic_vector(19 downto 0) := x"004A0"; -- BAR0 registers: end diff --git a/sources/templates/pcie_package.vhd.template b/sources/templates/pcie_package.vhd.template index c546d4ca0..33bc46321 100644 --- a/sources/templates/pcie_package.vhd.template +++ b/sources/templates/pcie_package.vhd.template @@ -173,6 +173,7 @@ package pcie_package is constant REG_BUSY_THRESH_ASSERT : std_logic_vector(19 downto 0) := x"00470"; constant REG_BUSY_THRESH_NEGATE : std_logic_vector(19 downto 0) := x"00480"; constant REG_BUSY_STATUS : std_logic_vector(19 downto 0) := x"00490"; + constant REG_PC_PTR_GAP : std_logic_vector(19 downto 0) := x"004A0"; -- BAR0 registers: end diff --git a/sources/templates/registers-4.6.yaml b/sources/templates/registers-4.6.yaml index c2b52cb1f..4695257e2 100644 --- a/sources/templates/registers-4.6.yaml +++ b/sources/templates/registers-4.6.yaml @@ -169,6 +169,12 @@ Bar0: name: TOHOST_BUSY desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + - name: PC_PTR_GAP + type: W + desc: This is the minimum value that the pc_pointer in a descriptor has to decrease in order to flip the evencycle_pc bit + default: 0x1000000 + bitfield: + - range: 63..0 DMA_DESC: number: 8 -- GitLab From 115038173a1a71e15362045711ecfa6ae602c209 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Fri, 24 May 2019 15:50:25 +0200 Subject: [PATCH 15/19] Initialize pc_ptr_gap register to 0 in simulation model --- simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd | 2 ++ 1 file changed, 2 insertions(+) diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd index 8535ad370..ae0781666 100644 --- a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd +++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd @@ -201,6 +201,8 @@ begin end w; begin wait for 1 us; --startup time + w(x"004A0", BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0 + w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes) w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address -- GitLab From 706703eb6765fb22b971b3cc08a824222a002718 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <f.schreuder@nikhef.nl> Date: Fri, 24 May 2019 16:43:11 +0200 Subject: [PATCH 16/19] regenerated registermap documentation for 4.7 --- sources/templates/registermap.tex | 3 +++ sources/templates/registers-4.7.yaml | 6 ++++++ sources/templates/registers.pdf | Bin 199485 -> 201491 bytes 3 files changed, 9 insertions(+) diff --git a/sources/templates/registermap.tex b/sources/templates/registermap.tex index 536b2819a..642d4dc08 100644 --- a/sources/templates/registermap.tex +++ b/sources/templates/registermap.tex @@ -124,6 +124,9 @@ any & T & Resets the register map to default values. Any write triggers this res & & & FROMHOST\_BUSY & 1 & R & A fromhost descriptor passed BUSY\_THRESHOLD\_ASSERT, busy flag set \\ & & & TOHOST\_BUSY & 0 & R & A tohost descriptor passed BUSY\_THRESHOLD\_ASSERT, busy flag set \\ \hline +0x04A0 & 0,1 & \multicolumn{2}{l|}{PC\_PTR\_GAP} & +63:0 & W & This is the minimum value that the pc\_pointer in a descriptor has to decrease in order to flip the evencycle\_pc bit \\ +\hline \caption{FELIX register map BAR0}\label{tab:dma_register_map_bar0} \\ \end{longtabu} diff --git a/sources/templates/registers-4.7.yaml b/sources/templates/registers-4.7.yaml index 2902fbf50..7a7c1d400 100644 --- a/sources/templates/registers-4.7.yaml +++ b/sources/templates/registers-4.7.yaml @@ -171,6 +171,12 @@ Bar0: name: TOHOST_BUSY desc: A tohost descriptor passed BUSY_THRESHOLD_ASSERT, busy flag set + - name: PC_PTR_GAP + type: W + desc: This is the minimum value that the pc_pointer in a descriptor has to decrease in order to flip the evencycle_pc bit + default: 0x1000000 + bitfield: + - range: 63..0 DMA_DESC: number: 8 diff --git a/sources/templates/registers.pdf b/sources/templates/registers.pdf index 1f7138f2347ffe4b6c4cd053fba5d8b78338b7f2..55edfea6510cf3ba8ee3804db493411615b44a78 100644 GIT binary patch delta 115358 zcmZUaQ*dTq(C(9oZQHhO`%NacZR?FQaVEBH+qP|cVoZGI|J8RcPMw=wtM=8Zy}SF@ zy`E=vr@$wcz}K~71J_%~xsv^QKha)T7^7g>k-F9)7q21M2O$>WUclUqOj2qQk~x<@ z1Wu{hZHMD$)K&~FQ;4!Ois9{Kq<n4)mBqiF^r!CiZ-KAhx%}Iodm49Njf>fB-&fbQ z9;}~-eqXy(N-sBp0Ejo$3@yCUYa*d;ogSJSGgp`RiybKrpp?Y-qwCB2`5=_pDfQFi z^dK9HPJZ|OqCv{6EcIw^a<0Oh(Hj|-&5d8vVpO<=cDt51hrppRMd9-I`(J~t4pM#> zbQR}I&Y6A)F=)bERUcs9jg<i2pAv&2^{P78^B2M)+vrx;b|k`_aV_d&2ClK>!qvsN zvLLmTjV%8ZXhZ7Ln2eo$+{A7iJYY`?Ykzo+ti2SkkY7fPacJR&fj}8ET+dEaG0w&4 zqo7(JC9tE9lO>7pc67H`aOBJnH;YJU=ks21nq;fD2<Bs)0D%I*uI+`yGh@G$kFGoC z=j(e^r@?NzmS%;X4exX#=ua2W)$S@ld}H$U&LXpNTp57DX=5RzNIN_q19*LipY04O zMyK3lMRL<!yb`S|dYQfCL00zs`0)z&B^QQmHWf%-3~=VXI~6vx{k#hCaBC{Mw|>Um zTS+i#OCXy&BeaJd&9j|j2_=isjpk1^c5g~5n5>hCM%kP1RcS@mr@;w7J+KYF+5gPK z!<vz?z^Eo2C=IUn_m<6T0v=NY9KHp!@2s2|(wMh%Yidj7mVPNaoh#hxD;g{<oFX;b zXumQ0!0A;|4C*aL9;~nR*xWD%l2&sC+}K>3BrT+&V&#Zd<rhX|xQV+Ko8o7)H6e?} zUEh&JuB)=k11%C3HZsSm%F5L&BM#U4Bu>qPMRerC`f)^t^3`pwfKqa5mP|31=ICLz zZy`cHq)Mr2Rfsl(HaKl!%v<eSuS0<}(WXl&)Q#@(o}s^%#Gq_oT<h*ps_kPlN2J>K zFf?fSB`1^75z}KHqa^n}$|@VDN(SX^9B|y~!Go6k--O=Ee2d2V0o$Y!&2a_(TMas) z@V;Eo?G2lVreSw}KtuR;u<~1t;3aN*bbt|iNK#676kx5+G8B%*Qs6UENUA)Dli3@= zfL&blTsu$&rDv?k)OsAG=S(Zu+qc&b+L|*VYl1JJ>5L!rQ=tKw5jt}_T+I}s<wFY! z72C~`m<~v){HujCcM-`b!-KT8!Axuw+YMcBUr9W*bP>80SUkGoPBzuwg5|B|w|PUc z??V1d+>{@jT}*!G$P$A?BDx1#zVvQaNN<a9`hrtDb+%pU3KT<wQmndD?n5e}DGy`# z_B>85OY@$i$hurY3Xxrf#Y^8=TD69>%W=H!WO8Z}A2KqN;c2BGjI}0M14b2(O{yuV zeeYg2T}&?zNE3;v^%HOU`VmsS*s<kA6u{vl?;Wd#XPmb#GL)>=`m1(NO?XMu9bIK# zO?XHv0rg*iG?Fuc!*JEn%~3P_uzS7C(I8wbD@Oe(Cuy0~<k>zzSTyo`v3Bw8mJ=Kz zs;O97b^(_KL=ok1p`!;BU(aZzCXPoq>4QUWYk_naSp0P@_>#N-&N-e35}c^}N+|qZ z$wP?Du|g!F#@$1jA?WM*;i7akXIS{w4@p;lGpjRkC_wSTcz^Q4VpBWb9N3ivCn4h} z>mZMwgp;hhD<#veSQ!NF`vwlp*Vt4?N<XqDPFJM=EPbEatGH;$Pw`<j+edxQ>n-F| zn6g+8<oAi#ez>wa*2@tf_hURsPfCykYzuuoUf=oj=6?CWEK1unyLRs>v5LnS&7$0` zYOPR{94Tb?xyi5IVM$C5;NfTf^k`2c-ZbblLm4H~9CTAVQI^bQ+CJV6PX+RxO{dBc z?3<p@pvVz6UpV08ZY&*tx?%QemMleRo;<n$p=TFSbI=*kf=0$htVXSPacQeuW|W&G z;4ljrHx4k$FcB*3_4Cnn^~<qg2Z{KxVJjr&u^gDulNu8o>R0(-z0wQI;`>eDMHyp_ zk?uKC3Ph|aP0#@?=mbTeO8Z@jUE}Ng5;Qn3=maG%SYIBI&{tsCr7!6iqU?eXML#8h zO~M)rnLNb&5?I7e?VyBufu#OKIT3<{$5EC6UoQKubXA)f5xm`oOpv9mX%UDv=9o63 z80g1l(wTabk?R`~VdXf{D)Q@!u4#m+pepuM79k^<>)5tkno)z}Vu!Z~b7$vD61pFc z^G#ba$SP-IEWG<f#3)1peW?*yG4)-*$~7M4qxXcm1=H>=l|pcIMx^x971_LoYJ31w zqoikhGh0|H7H12pmOE+_x{4+nkQ&Xl-DNN+Y?#`Wx}F(&n8J6t4fPZfIiIn%f|>W` zXS$t(8ohkNho(7d1!$}dT{;K0h`0^2ItMv()-*fE6hx{9?T>Qu;c)SB_8k|XzH6}Q z1v4BAaeC?>Th1{BaVZjw@vT7L7*kH^pW@*p7~|s7WC`WL8KF|+Qxsg%l*R*k%M^YK zk?b^=$T$KKTFZ=JSfCYytK!zKe=EpImQZA@(<-D9OlT8A(q?1<HeHcRmWMwR+)rkp zJ=E0z`f}xK;Zu4=7A0iey^py-p6|kume<^z;BlNZcl~4fk$7hOUz_S$yfV6&!3ZNa z54~4-l~%W@?^&_Ld7P9&QpV55;{(~z1b+@ug+r*&PZ^$8WgLv>D7zbY9ZbEDs&e2M zYm*{!K(u?t??Q})OP04pKV3n|4xg54nF_ujafS?$or}K+#x#_LgsqJer--qD9ch_A z7fPfT#m_xyaOMO1<O-mmbsM(hx+Nhul!KVz5zUf8#d(Rr0?J_qsY^(~ew}B*3m+<A zL*mu42E=?H<qOsQK1b9<ZvC2*0sfAY`E4}Ira)-wH(O~7kFuHI&kehgdJd9Q$AhpY zD_o!&Y1u~PF0<0O5qdFvr~@DZicI+$T_ncZ4j<y#N!=<UQ4IGX>z<!px8ND~#{jb6 zETJojsCUobC#h9=H;lqbbhnw0&=(~9DA{!2xNIc`X6SaByM&{-_9X=ew4>qA_C<PH zP%jG^4iv*TE5OWZDr=<amr3~*j2?DV)oF06s*e$hsMO4O-hamw7WA(Gf7c~1rmb4u zUjLb^hSV6#n+T4Ng1iywkqpKwDw!yZZ-DfOcLxy2xCVVhWQI|%6Hlj69Mj2CkzP@v zj`NKwBnrBCpy$@Pb)>*wQOe4`X7Bu&p;Nx%z0KPX1~WkK6yq&eLr`73Rgu@K=aaX< z=;YX8_pQ4tSd&uqNWY~Aasjv2?Kpb8&KY?Gg5E7kKlS>Z8`jbGOB0KZ=}8v6)cJab zJCZMtJJhjT&?f(gP1MHP6ESiQTJHM{3ybtUR+~021^04@>RKuMIpTt<&PkwO*hsS2 zf(Sd4#bA2In_R-DCih1%hY_ryG<SJlBdT~i!7SKM>)m+G>J(T5V!}x~=+Xa_XkJDK zB`*9A4HDYP@Q<LwDWY{*vbg9v5{eV>zpA_CZRt$ocSXj2+IkQhkhLHH5_eUkC2Ubp zcOu31r@8iu;5#<KLo@X}6KfV51!mMI?)BlhuK#}fJ}@drR8Wv{-B5RH)zqCUcYFtX zT<uBfzpw3SCD;Qu`y0b#?Sn>jeq164)YF)x&(H@-@bFqTd*s&F9OF{e?bu{VyR#>( z#<@QELosY=$~hiq7%pAij`(+U=rAU0NLDUY6KZV8)x#z;=eSS+NOq{hW!u4N^>_|~ z7VJc@;;k{AI-h(7e|hvH)-PRSG-;CR=WqloPnOFM$K3#Lla3MsV|fH|F5YAFF-b4L zY+%e!vL<a8RrF5IT-6dI%Jy5(d_VRX2^6pYD&z0b&$wV)u;d_|&g64j*0oK~LsqWy zXUr^~kI5y0jX4deBwPG(N0Kw>*`M1wbk1D%@o1{uO$X>IDxW?+9mGl7-mhN|P6n>? zZgib#PXU48RMowYo+LX?r-J6QbXl-If~{K()F$uqa5*X12N%L7!9655m|6tcojJ(} z5PEZc6X!Pm5|hp9QcM2Blhv54%?2ngm7!{X9E{8ly~@X1C#S#%W*0!%QWKoauX)45 zf9HeM1>Pxob4#ShM$Kl++9%GVJk6P+>t8c>`mq89UFdO$NvPsPCeY#IpQ+oLe--gB z8Sn3PN5~nu#U~S8L7aZDNWc7Jjpt72x4}@f>4%fxiS1KIqr<OMn>IK3?7?c&LAA*# zk`~*x|4@b8p{|C9v%?L$@SBaC!i3ZGqdH~PVoDgwg7qX4`_Tf~Nha+D+2A)bm$<^E zBoO7;w_PmhT>D~fn`q}^9+1N^DF+DZejkyAwNKw9Hj_;tcRMOvDK<65(w=3hk#uHe zSV8YC2$q`k#^mZ}3qr!YM!c+4jIv?xOQ@MwZZNJmvf?JDW29)~c5Cu(LDaD5@Vxra zs9a|Hz4ppfwj64A^?|iS`vqr>@WxbZ0hFn~bN@`0MY1dSo}l3R%XGDNIUc>~s|Lr( zPqZ9FVmlU&M2Ol+&jFb?oE8JdFj57&&0;=h%wj&spl;&MUby?`2>Y6kzhNB7Hy)|R zYsDscw6jN5#_@*Up!bh;|I(tTLyDz{r@!`FxrL>Lk6=wRZx~}UEK#fW*j%ytKJZW- z4rc@54}yi@O8*Rv@eU;s+ArZ%a6v|jL*Fg8D~_W<J62wA!i;Fq5d!nPjmzB$khA#2 z(K$0nNLL^DEp2f{LhE|w+a3I`#*&e5@g`p_*pCsdc1X?9#hQQpk@fnzSdI?tKP;^4 zh87)--5hO=JbTM>%Kv8V4BQ;u1CGp)4<fLX%@Q9ZAlwl5km5j!E1XNB9NS`}>`!9E z=EQ#Fs#$z4MIRSV`&KhonuYU#&$P*ouUVbf>E<8!JOo+OsCNg((g^;zIz}KUq?=lJ z>3{b|&BA2NYY5&4a9}78<|OoJ13-1r)>RxO0Ca5x5}}ZpBZ!=u7|n1qKmr_5jLqL9 zsYIvq3r&RvUlZFqjdr&xX3J)f+rf>SF6s)w`Uf;60{is}vngB}NnBoe;MpC63YAy( zH$_f<D&oNCiY~kX52T5Mblxt`6`qCJZ4dRN?K20Ud`o6<?ShRKL$ABF+e%HA=zB}5 z{%sUX*wyU*-yoh%KI5`wocq}6E6ttB)7NFErahge=N#2U`_sp*>-@xPDomjF?kF7i z`RF^7-Z{}R_3TFXl+@R+UH3L#f$qRuHjUEJsJ*dI>rqdR-;S<m7T>pXd;J}wh=%kh zqo-$^qWdUcjivB-RzVI+mpYVca_+T(^#8RWj4I%Q&IpVu5E$z|F`eSW)iS_t1^CqU zA=q}DQI)Y_%4?CH5h_mUWgrit*o0txuxq7CQ4|V9fYKDiA!mK?%Zjh@AC3Bm!B1Mo z`pZ?DH4m%&1>Hl-GW57Lqn>GUPS<5l#KK8Rl(|3cLo3ElF@+46scn(dz|EnmzDlf; z?DZg7UjH2?Sc~sJSl`W`2mJyFvMhx5yCR*#vNiStj%9T7fB3HB?0_(YTTv31Z4~a! zUX+ZVzQKIHsK;)dqtzx=;2Zp=WOLS#<r=yxQ-+LfU4ZBC<DF?V@3D?|?i1|9@^~<& zffy{F5l9^VBjTe2>=$B#eQZ#`L;OFcnp_cYUtpU>H__v3jsRG%argp0O-ifg1-rdD zyIr%mi9VMUp**APfsL3OWdj#wh1xTf$_)K0CD|G@6na^Bmw$^U7b)-WzAP)75jner zV4Kw+;$Eck)oB8?O<trZ+;%-%1qQ)&GCX&zPgRPK{A<0{#(4#O6%;y;8ABV`?^ae5 zeoF-&;HS_vUF#Aal+TPrw%*lH3?AxLc|ti_d}8S!*rg`i0b3g9uQvoAHoPo5li*wR z=si~5S&S-nojcaq@%)3HV!G2kY@FP6CuUOUK&tGOFPvlS<`}7+RF3nSZ~6F+6v2C! zM0n4!nz^)9BC06BTuNUdY$9u!byjn&<m{nbT-JVyjfP}8@>y^%o+{AJ)^tBb2cdUj zAbcMzGi*m50crnj(7roEVW{AG_?JM`$D5eXchwNg_t0v3k-gLH5o6p95tE`Gfj~i5 za#u&%D(PB8dLGgbB7d3PsLw&BYIQ1ydf;CO>-?_auYIht(0fjI$@*V7#nbb)ty%7f zs0K{hVblTBfhBcX`t1(%-yd2GI6UPxr|~s&j=S{QKsQ}J96a1rTJ3<FsS{-O7+TI1 z*Lix&w=C1<5|yE_jG6=p1vG)WVd8>ov;71FGT6d(z{uxDXat_KqCb_XG|o6vEF{jq z!a5djd=TgGGfcZR5<bSGatzu1(m*5Z;>Vv5n&+45qP<a)y*&WUp6sg!$)*m;_7!>; zc_DfhFdLS3pQR49bihaZ>;oC)uD#Y`I9H|;!p%!2stH!`=!F7@K{QFOk9ru-iHKfq zdF<?!i=nxJ?HiHgxY`x8^nRbU+|uj5hXM*0!Tr8P4f~KjwLEEHoVs%ZsN*lg4$G5n zrY)iTN}2Bw67eFKlWg!&1@=AJ2?UvVY1uL(us3yabv84ygEg}^buhMuW#uGhCjM{1 z&cnu@=twUDtk&F&#pgiw%dI_=LNX@Mc-8KrAQ#UIkj927>JwX2NXfHh%nX^_b(y%1 z^06?-fNVm#EU$6T?jT5g-`=A~Q2ZYGKGn$NQ!;Jy?R6SFKG_bt7&Q9u@aNdt6af{Y z(Ii4e>cq-?rbHkg$2=f`(=p=j*x=_7vggqzaS*fz&Su5TSj?Q*=`<b|+01aF8%()i zyk|9vyL1aYWL2SYTF{y&oB`MU3RiGEtGG#;35QeEejr~l8s6aSJnTT`PQ5J4x}xX+ z+ub-r@awl%H`y9ud89bXCK9^aksuDBGfy^QgH;i2uPY?$VBbVSNdU5}wQdBYooZ7Q zJFX(YH7QmmHwQ$D)Z_`vZ~!OM1>-!0W$(Ikz2Zx!z4>1FYlZ5Wf}nL>aMC!K-j|vm z`gl9!X}|r0=U_|Hz7qNEK4iYQ<z&3v_}J|-CEz)wbhnmM$Tr9gWuwvjJ|jla4ZZBT zlm?^W_d+}hq$hZ>R)Vj%XvNC>0&TFSOqM9nKpSHDgaCnOKs!%e+oSTPUu08PSND>M zmXzFt1cfEhtM>8-vy(nm>LNbF!4&5^;x#=F4x<$WWN(<xWW6K3zBLc2GiipL1)8?Z z0`z8tG!)Y8o;s34LKY%ZL<~jkzF+Bxo@^3nVN}3uDsp3cMV{{x=Gmcl=?EXB0jV`m zeVC#kPG22JoYO_aljy}E$JEkjljB^^<6bkJkf`?%?TzU4XQNx48r|jW)=!xzlscrG zkyX}KBwSpJNuWc<nYROd4%#fnz7@lQt)l;<n*7)gv7qXV#4YEIn{khv0`ILLn}RAB z4socT%lpc|5;m9S-|XHQpYEb(5pMykkmn3{i{`*^D}#HXR%&-PWFSK&5=n0i-orq) zy2j6<$PQ*B%I|Ep#}vec_-<SnGl79pRJ~}MA^XuPmF-~0X+ZB?E3w@yN}M}wpy`aM zrpSaKSFDC9FUpuA19l+bt;6gQ;z4?nzJq9}E}iR<BmzYo1HK}nEq$#fjaCeNil;ps zfW_@)WfV<iW#Wd7a(l`ySP3jN%y2YH$qE2lCbbJ6<aU3OMk3aD5Kk5DXRwX4>R;ZP zieIDQ`+yQ(Gjw$ZeRSk|xziLB<UMz~{{5Ix72BdDzaqaNP|~y%XOLpxTI`zFK_z=V z$I#?Q+YwQO<(g*f(Oa9|+Smqkyo<oZd${K%G|6{#9{*5>SuxR_iQy0C&Ki&%;N@%( zB7Vl@#COK+jc1{K&Wr}L8kuuiX8UN9bH!dWAY$q8-ZxSG0X1<EX#Q(Vc8Ftd-uz`< z^<h-hbarFzf*|ZsBYQaR9h!xS;30qaSZq;IxqaFsL`$^W2|YR7-5CNn6|9E@Nxneo z3QsmjLo!HGc<{SH##uDXWrU&lIsid*(lPu{fx&K|tQXcTH)y8z6u}Mr+I{E1IG9CK zfO`_9I#io?@r;V<kGiXgDg$n6X=g$}6yr*MMv(DN?#-t2eDcrYE&=#PeTN^5zTNYb zf+_vwNi4oKEolc02FjyAVj|(Hd9Cv*`q^T4a`|Z_C8OqTmWRaJ{V=k`nB3ZClp<;E z(+;?Tw+h0Rm%_n1@1i81!RmfdX@81qn=-l=UfbA<?zWpz`^;iK$B7FCB`U-%k!C(r z5mbwDnC;)tYPfY^@sU?<qpw5irvBSh#jtMh%^q6M=3}81o#oEJk_)T*V0BUdlyL`C z--d-={?v39B$MzgkYS}FgU4q=i`eKiAXO=kD$YYNA3bBY>b@~}>GE$J(I)Tws$JAy z!KPNbsB<#KQ@N;J4y#Hxa5Ju-DS63sZ7%qinUlj)7k%fnPs&WUzSd17WggdmmMnU< z7e`cDa^*%uB7`k~;b8%HKBHM=$C}rI?(#u8F5nRjaz%nthIaD|PQ)Mvaw-sDzt~#@ zoJdE{df3RJTXEy|yZnV{+rdq2E&%k(PSAW*{dpUxY!ypGdCqVXo#tUU?e^&~sM5~U z@MOirQfknmscW+<XcOOB)6^XWIRoh3gJe@G9PKr?3%zk7T;Cw=b4Y&w`0)Rdf{pcm zNx{Ow#`b^l!N&E!FZubI<jw3YTrG*&ev?q>FYB$RkhePdIed%vwr`AP5A>`l6-mo3 z<yVK=P4XrXmEky36CuhtwMheS`Y_wZic4TQ#AL#erbNgBqlAZIKu`nU9=bJ;x~0FD zzlD6fUJ`eQ-mz-0hd!e^g?1B>7%=6pYP$ZDVdVakVVcDyfZkp&?~4vZNqPlKr8k6x z!^WY{6S+N%|5TXNe-xCT+kdp8UD<iJRNCd|w?4*1Sw3gMpu?&D+ATFGN_1jC!-nZD zeKKz1`=os_4lOPLz7b=ZbQPZn`X**E(8!cnm?S&yKL+ifQ_|WUpDUHynFS$<C2z#J zem!d055r0|_j)TEp_F$!$a1mAE<!1Tc7BxoQ(Br(iblW3O`_-D>9byPul@ZJ5gGBp zqdMbe6B!vvKot^|88JXJ6U`a95y_)69@$&eoAPA_PHQ6*s~E|FvpP@p!?XFrN>OFd z`Tz`T7GASRQCYJpp%6f5Jf)-O7vhDl0DIyai%L$9Qt|I4&X9bGB<R?Jnbx}{C4jC( z)_$|SdKW+co8=hu^m+LnvB?%uk&_i<!b(Ju;CE84OvnI2qnZd!rRZq&IDWYr9?=m9 z&1EGyTvf*(ld1|}HeY$iAM%*2WWFVu#`&@Q8}=S4hD3_WcPUau6M6bW@&1AoW3Qhg z)rtn_$;guL&socdwGnim2lD(8#y`Y`PaacQsU(sA_<|h2KSw&~zjqz+ICDY|)0<)% zMTDjWCY30HDJwHb<GX4V6JybBcVmf=hxx3_q2HCYo}SYKw?;#+`f!RG4HuFoe3*W+ zz6@C0m@0AvS?A^m&AJndMK>hGq!dXu$ZOnEYWlkm@DcW^36`_>9Vb||v3hY9O11UU znwx>8|8#aC=UG^>{Tr+6>Wb0wi{%IZ8y*7OeshACCnF>0Uz8nS$qa;5Lt~^XPr8ou z(Om;}wL%RB@c1o}-oeJTuBf@3Thrh?sY<MM9$bn16(Us-xR-Br{s8he*JkQ%sr_3J zj}P(Bb^-MQs)C#EZV8JdO^lWIzRWN$Z$_Dfl=!Ob$vlr(7_y|R64LMJgr>m1fxZDN zIe!D!GU+Ga7*t{jbX|v{%9?ap5oVy1@vot;y9+QjfO3anI1s-vPWNf3T{!5=jH??` zND!ch^d_@s>wl_~;WSgsj)IZv=YvcSg0zD}j`@n`BZdn1Nj3jF^-3<#WjF1>l!+P( zT6^shUd|DYaG^PBUMevtaK{djfNcY`iR=V$3t*P3tjU>5##UJMOX3pfr7B6SLdrHn zcU*wk0sqZ*)(g-B41geZd<cjk0=5NWBRJZEwe&|}EGu8=qXZb~-^kQ`-n6q55i=pQ z+JLDo5C#bRKv^f0{DTA-Wfo<4CMo4_1l31>r(5)Oi<uPwUv107fb#|0^6?NU5-FMo zmKVdnQ7aSTRP?TwSv7LXQWSi;nKw5@#I2kd7>OtgYxpG^H<9>-OOKIV;ZDSL-7I#J zU^O<~eJ!HM{DskEJ(`gL1|eN-N(gW(2P-1@Q<68&@rM#>lLg`wD|go;O3qv+A3hnI zF})9+ba<SO#V$GXgGZu)ZzEeBL=7@6Nv$YhA5wnl2M11EiM@>$zm%a3zZAQ}`gK_f zP);x(N8u=;-@2+~xK654raE!SMMr_5eI>7>T75A|AFjE4SyrtWW5t?6`BHWqraeBY zgwtxc@JIre^PURAa{Q+<7&&QniK>ito+M*BNU?N0OLSf&El(sWij-Eggv=!V4%xgn z8oc{&r}3sSZD#Jg%MeGv=lshk5G;KJsDITWyYWM`Z%g)sWfd8PIoJRF_7P~Z1trju za84+<<sn&r9|jKLJ+Vvxqa8ll;b%x4jpqN$;P#cz^Xalay=h)@o&XtXI7nvb$nH=j zca3xDtKcd}ljJEyL{kl{R855i?aUJEI3BM`9lb7ktFJkL!Ml0{yj$HOO23i?C{nw; z9%Q57EC!1-&9G(Yx<a`ZrtJ*IMO^l>pk5(Q_v}GP?a2lx&Mu5^5v``7dppQ#8S1<L zQIVE}g$5=HrqlXvJ4dr;I#VYCwef0%X=xIS=o*LM9hXf+>0`>t4JdA%gtYQ8fI+cp zewER0mSSicjLq}3xul1#^Tz}S>a;Wj<`q=0zCh}nYTH~A*><mLYkeDDcCSplIn=pf zphZk)@}gMaVx)O9wD&K8qOGycSbHt;zF{IuOI3hgR>eJl```r)oHCHqDX*eCfsyoq zxL5n_1!uP<EA#~G%nu-t_w7A%=XtalhvISX2@mfuLgXFrhtvLzRxoY_*6Q1}#&?*m zu(MQkCc7Q_OaB+EWN0$t$l=574eY^A*1#b8kRU9oPg2qJh|nMlZF*b>^*B5K7F0uV zVl>I2;6(A{`TjlY{^R5e&qa@!;R8zCWm(W~hD|ilQl#}&2PI$Sv|+sEXDaze_eP<4 z7Pf6AlatQ~f+>wFB@kfIiOva0^CwIQd!rCZ6NN<IXN0!%;1{@Y#(J)ye3uYQOvDQn za^hALJeT@PDcn_TX{FsyWd<Ei)eUtCIvjdx?s{-A%p@JED(r$s?O@DSZG{+b2DK{n zN=S0$%4Ff{cI4p&@KMio^ELZuV=^z&d}2u}iU*bnkc*P)NJbzlV>+f5oG_%TgHh!V z=GFwSDGo-^DZW6M$2Hj!AKSq3eB)0Oho7!02w4D$Vfnqr8e*=c7fAa(ZJQSCw)|D? z`r$r=?v+Re`#s2;h4K)*wtl|Oz58O!tv+~YEC0d*IU5CZuDKtgKB{;aAg;rRT#h18 z9itH4qZoW!eGovY$j6s1m3fHzme2kL8sozGyyDWAB0`328-$i!YmUzA=DBB`YV*}@ z%#EHb)=KkpMTVK3I#m&bkS0w~)mjR!HQpfaOC1coDli%Oh-4a2DaS>9h&(a#G_h6B zyu!`Hz#THyLAAIkFe&TjxMrPs2{uOw3<aGqRfbH;$W-8d^}j+Iqf&HRo|-zwTLjK# zkg%b>joUCo%%oc>mgKXp5`>6D?TG5EQ}It>F)!aCaqGzrRZG19D~c%Q?Y_B;tYKW% z8UFzI^{EY#oI;WXfGM^CN{5+<3(Q({LV7_}w970=rNo7&Ju}Wg2&?|=O*42sZ2ibq znqf%fDgX*<&SjfiA(p%Rr7s#;BUm6bc_HKrS9%_c_AA<RNUg8jcq0+z`$VA~#H}t4 zDKhzJ2JVOA5wDp4TKmvv6O|2JTeLliMsWLnoZnvT{qTn-t4qW{WCTJ6fxLdeyuJ6R zGDISfd^R67gdp!ej#0~6i}}1SZe*-K6jwFv=>fH@))i2(l=1c`ZTg3kYY;>*80gC( zL>efr#Tbi=&62&0M<`v6&B|Djc6dT%%OUTjaj4G8y|y1Y+1;cgg+1Mjf2e57D#~Uc zH*dlHY*6ny+s@1ArbROh#o>6&Oo=U?cy-zjN?bt-e(zX9(MKxM9naW^7F!eW-gVnq zGyytO({x|Wmq|eUT;SBtyepD6CG~@G;xgxlfh7xhRbkCpa8h1nHBP#b;iXuR2U7KV zaGw8~;}xL%OxnsypuDF@GGRq7!8Q71l1=QVn;INY&skNJQD_k4Hfgqn5upf1s=PT; zJ9fH4ME~upek`W?{!nE-<6|{J<BnTT+z#|p%cH*VhoCSEFTN^14LItYqRo(B`8`^p zr9@F$dW2+$9_ZcbF3s}hTs2UxsCoK215eYaNG-?4sQbtrK@<QlM_C;AoBXk{ON$2H zN`3YhEsY{2#l+apNVLfM@h#8x6#_N6KQx|E=1R*|F<D8a<;hH{c5+5mRp}+P*Ji-V z<5k%b8VJwlImDE3DLmcCEtiwhQo{tx`ku0;+6>Y8;k+hj^x|H?7ds<sRkL}qaXu1) zP4dr@hn}UiZ$yft5f5q-o3ZqdUT{fXjx$F^gAd$`PnT=HQy&)ch45_O&O&lw<e!19 zC_g6*T-7KxWdtE_GP501y{mVn;X8pp#HrJg(;1AGg-3)ZoRi4X#4#cuT3j_6z&*}p z5)!xaI|1KO3l!DiuuV+;%trjfD;46BI-C1_2zS?x#BYTYfsvLPcGU4_w4t_qqO*|d ziNY=eB<>IJ7gb&{y!Y-`=bhDCtfH>g&97Oo?I+x#?TXHNd=-y88fheS4bDJ(h)M5B zC)zg0w-;Kh)(O}dV-g~_GoD2`XSLdl%=8Dd2h+o){Boll3%smYK3{{1EA~Xw`c+t& z$HS}|!sz08EMSs5i(X?RlH7FOXN_ozy6q$jC+kUH_|t1?F|1d-7+W>&VR1^hdB;K; zdso_QanWbx*`Id!{dx0?vsmD#ssbS;#wE=TOYHT*rZbBO^0VVWIfpaba{)68#WifJ z`NdMO4u$?<(#;VRmD!M055EXE-M(UwqpWwV@<$0<$R_R>G_1YxjI%6B2&--oUGeHt zMP@X+mpe+DmSppNDD=a4Kd&DK;+q{glt<gYF2;V-8Gmml1t0#_dK`#wd+~e-a^nz> zUu8veX=K`L=x->4XZ6I5Xv@g4w%LR!;n;ix>1qloThnAr$+2eoDVl9b@vt{$79UgN zdf<?PD}N<l5CqzSif>p*R#CjD=u%p!?krI)sm+ct)GDm4CdcS(jYZ8HBv1Neg=f{4 zf2`|Vw_y+4$d64R{R=pMC*9q2yv7yRl%lIr8I!Xm{<bNXgghKk+g@jGKxisF4}eo- zRNNqq!{5ay=G`dJ{li<I=a_n-wH;F+m2|7IT@qPWh!gjRzm`v}|N4)~iC(*}0&>Jy zxpEB*tCa~To)-_`l+2-QU<D@#LXCOmk8R_X(U;aUf80vASsHKz;OLaiS*xvTmUZTP zb&wJl(xgnL)BQ-czx+B9od#Ee(m1#y;ycVW5L<>ZMP@CCi?Tcoz-YozoN*@$QVLO_ za4y77M)F&L75=XQ6j!L&`e8_`;p#=wM9?#E>^K^_2kuK=gv?z@6in*hq}5m|q5@Y` zV-4;Wzl#(u2)u;Cu^SsbkbGrYY-DX(!mgoP181-++3YQ)$}qtk>h-~YZO%p1nHpHr z?&ojAY`C(_4|L(j|J_v6ZrEXiDDB>%h}B>xq<1u!nr!g^)vPg^o7d3DTwzsPaNK`e zUFX;St4Ma-ftmpEbB^w+(XmrCW<5fN&F{=rH#;l+9H?v~2<3&NA%t9dkj-S98|aUT zWO|$fM(ecEuhk5ur3RJeZhkwgar}Tr<FVWn?J2g^jvfYHeE3Upbfu}tr=y1As!_U~ zhFi4sr(8|hPrdX=K_HrM#7^vqNtnZ0dwG^Ju-Rc#0Iu=Qj)29pQ)cLDtL0bitzAHw zPp6jnG_W0%6n@h`-8Obi4uKG&+kmIdB5Obwg>0M{P)JE&Lw-uyB@d!AJ_RbJG~bL9 zV4SrUhZ+<|xB3JEPoc}Z;0XqwtZRjDXvhjCDhl*<jIH;LXrT*_VY=qIxj642bk*Q4 zhrD_-)a;-$@7j0(ZMlZC=;v64+MDt0+2Qy*035Gbe<DbOI>KH08MEqBnSt%A8gpg3 zQ>hq()RV)vxrInv*0flt3YizJa1IXquA<A>2k$E#-fYi@Y#aP@j*X9RYRKL-(}RMQ z_NLJNiRk^ly#nG)A26HwFz|ZkqM3j200RD9?-Z<O*2mH?!Hy)=Y}#I%@74BSj+{UN zgWaS07Efp?X?yw+O7P}P>sH@I+|r3mhql=iN$u?&k?uJB>&T2}xueQD`a$RM9)g!D z7+)?pgw|wFKKBA1MWvv*E6BP)rQAZm5MAxsZuuI0FB8Y~?VJ%ak?@eWn|#4+uU5?a ze-d#9@SP5|U0$zHcG?SGDYxzhpjDy)iO!fVBa~_?Gbg;ep{1z8pAOs;?X$mHDV#91 zO5HGV8eOPQVevS^m*)oud%03pR$^B(R4|sGYp5bNOMNJ*I8PtVhNj~KC#Xo+TyBJW z!rJ+YW{w-<aoxzs*Cr+HL-JshZc7{W&Ocq9+<E$yD0G=U0t`A)P{38&>O=E^f`W&V zYxW)LyqBUK>nd~#O4>UhncBo6RgZTa!_#5gUIl#HN;7PWd<C6$F$?`}1Gy5be+lNZ z4?V8&uz?K@l%7}b2xuQGdCoDV0J33;_ty;{7Ei5A;=wq&;N_gn{`~hpqN7DOO>3_f z!|&W!8#G^6F1Nn#^EjScX*vYJ;#q|-M^Eq0Hg=P(zvbsYQdiE{B3hWHUD1Y?>4raC zUq$ERdqSQ7^;x(=`dG$wUJr;?D-_zNpW9V%>#`(c%9l6mYL&-Wt#$eT6)*`jz{Xt< zXhrct>I>chTyjbS8l0GmmT!MN$w6Ak)ZH-Rk<CFAV!0H4W4yL+U_8+LAj;L}XXg~v zC|0wfV2`kP8c~{1;+21tt$y0^;^$+L=NbbUb}L??{zVF3+jW`6JV$Hv*-X3HH6H$x z>F!lZy@M__!InWoqeiOLr9`poIi$n$+oZ}Z{*cOH+uw~#H7#3|b#&cbcfLD@w(V6Z zQi0Q3f-mDX6FB*E{!^gvJO8QtF5trZ(zozN`(I4Tp0j#3QXhHB7$<U7lZ5Iv{akhF z>i%_z!xH~RZd~%0U`RvRS89m|h^b=YDb7B4tEOEWUkPsjcY;HR(p`-~UU-6W#BQrE zLTWFM_+4wfD^e9;;@R#aYx<|(^Q}`VGt1B2@E1;3O4ml9n=Np=a5~853$8!=&R~m! zyXjv#`u&+Q>p=j0^@T3~{(GAS<QN%x5{bEzoidM*Z2H5r_XJkUMQ;j8{4O_@(Z$b8 ztNUvY^<=9(ISK8`Ul*%&pAhXKzfv6Au9v%nNFPp@mF0mYdu*J6-elylm@#=7*_Xc3 z=pk86W|_#Kyhpqt`QKmjQmb9^tO~I{-gsc-@MFJ2>uk7Yjhpz@Kl(2R8Qq}nI0&1` zE(F~%Rou#dSq>B~T(WGB3=%eD$or^)Ke{Adi-;4Q`q?}pm2Nd)sGRW%tb>+c!{6>8 z>H>ap6@<o>3h_6pi1z;ge&Y|E6guMOzA!loj6U!$X8)z4%J3o_W$k|;P_g*Zl8!k= zS>VYz?FoFPdN<DzT6o9FNsU$K^jCOf)vK~}ERXOZQz{PoO(--#WQSwY@j8D@<5~JZ zc-e^Fk5q@AJ}bd{&wJ&tl%Pg;bMy()TaxB4E|@EC)mx$oJ2Mjn?6U!Gb`{|fJ{+4w z{H%EAFr`y3l}ibiTWsLKLA6R6&Pux1Mo2v@evijs;Ii9Um2VxZxbx;~n~0%Ihc(eP z?PQ)AUw(?%P4zjDZh}d)T)kedT!BV2=ucsEG8_MXyZ#0h{Q02u|DWt~|IZ;Vq%|xj zI~QA`lD250hNKM|aIYmA{qbrm3cy3NAXI)Us(Qp-shY2dpwS<GKhn>KCth)E5bs=+ zHVIBg>k@}^QAX{eMt$5o(K$;Ah<<xy$~t@O+~xe-^a#v5zEGlE1j}AJFKwsJu+%*H zTQm%xY?5%|&>*U$?uYw%f6`0dJks|6Yz^gqWXb=lPjWDGb0^+fivo3Z5_OwV{CAI} zrVeds1@X6wyPOoD5n<|*%7gd=Vh|uEhi!;I-d!)>&Zl@9`EXa%ehh<|*u`}$Tl;-B zGd_IU=M34OeBXZ)85nfk`>zRfwx@Z_GWPT$-^F!)^p37}uGUBge9=4>H6?demSUY} z8dC*jcg6Ez9ifwdo&(<w4nGU!tV)QNzQQM=9!$-Ti#CC&f|FX>U-a8W-S_Xa?OHsi zLF+=jzIjF2C&VvEZCa6rOTD#UGaD4^Y@s~REA|6N)vKoc%V-NPG=56uGIX8a8cW9J zVtT#)JWASpV%yz*ufp<;Ni%h#n23shc8Nhr5YD&0$udZ)7lF>-v~p(=G5%~BC_yjo z-w41J$(fa#+<7hwf+AMqZ;BU&W{)1Uaqkef_tJVSHl2j8XTY1)$yW{)2Yc+N4sif2 z5oM#>tr_^oT_N`fa#qxg*Tcm@Hyn>w?|TI0Z7tT3taJ4)&ke!!?Nca<qC&&R`(+do z<0Cs>LQR7D9niL}Y@tYZ6%(_kFbOLW#r<>)g`F~?f<YZ8BZ0aZN7o;##ISf7TQ}!G zVcPf<e!W%#wnpRd>`8v%ok}U^p*I9cBm`epRGQ|Q>tj8UrNqCbv2oczl$VDG;$$Vo z$OU3FPrbXHg}9qtKNLHj9gF1Fb|$fS7~PiB2azPe3;4)|i<zOJJu=;B#Jclz(mgq0 zVH3)cu!6E)+Qn%PB!~foVS&CqC7(GICUc=TZ(Si&7cm`rmbFKZ@KHS*tgcX{x>=$> zm^(8!EHLvk$4Zup3DvCv(x4C7HD7|HutVlL#6t@~Y+884F0l#=TB3ENCWRv<)O7VA z8`6!9fZuGvNdQx!!h(VoEtp4R4#m;G18HRpgCkZVEF_pLcao7X$004-zCn}Eaj%VJ zw@oPH6*`Tzp{JmMoi3ejC}1YY5qa<;<^*{v6N#0E0nHGQn)|<2o{!)MRP1>~Duk1k zIAuViX>j$ED#nzHK?E|?wDJ@x7!D{gqKo*0fq-I&B2Frm8ij(a;UbHRz$^*4c5&=d z6ox;xFW>UHVtJvTt&iyg8^`WsPggHQLr(`uC1=4mE#QST4lw<){74rW+VB<)8?1)h z48FPEmSMAYB4clNAOaQdxLNStwFOYP`5Nq4<dzk9+R+z`YXKd*7B^7&{jYBM8rvX{ zz~GL{g`2_=wnSpu2fN1rVp4!;m~`^+NhVfAAGR#S?<Q!9WLcP5Z@Dp@Fw!gh4q{&c zb40W3sYL?5q;wCM^f}S+^aR9w#CMTj5ttL#7yHA@xq{bUgfgjQl;&ch6bk7%1z$Gt zuO#EhFRn>Z8>h30UHJ}<e3eK$44tRuI;fr~`O16+h6ch!-POMzX<`UpFU=(87{YzA z-yIwClc5p$Lq>2xKvFnBXg#OdP)x%eM|Q~uw)(Y_FF<OfF>b8^(2f!n0UC*-0h54W zN6BNz`3|2jHd(Q	e({P`AW4eSF~KjiWnV)-uQ$2qTm*DAOf$&W{4EFWdqx4DA8D zAT2cQJUrun&wx$tq;+99v55CjR=~hJ8;Du48U6(CAn3#gWzx?ZhCDm`abCO?YNL_r z5-(7@L*bQj!5^kSpHSCFoNQ58dr4zocb%>{@hcyC!CMeV%G7h9;cKw^{`s`<D**xx zp@d@@YEX9hQVo>LMmpS36IGdINj(<SWPDV|$P><!ILcvRQIKZtcoP-xyta6E`oj%w zWQg@u<=1m|(jK5}OMdWE71xA2lCB!;mxU*0h3S?A8@uyY>g<)EbB8)-`_WzFqtL5R zAglkrj`j~-C<_H^P)C9+4q!P%UpA<PHp+I_sQ_E0)vL`G8y$m19}aFT<b8fhRx)f2 zA(4t_(Xe4?5)`#YcSk@sn=+zZW?Y`GYIom%Yd0dX_6nZ}AB#L)B6$<)a8fJA(>yz& z)N^pvzdtpVPkQ1jn|5K7sf^Q4LR}0D)la=(96aTP0rse<u`sf{lP~}XNDJ-5f<rIX zG%LdK++*-1KnPD^2L?sb=65*Q5QG^=%a2Z{KZg^dRcX2kkXwZ8?O8!J=~Ic*hB!bx zc+j~iBkCdB43++~aj0wJTOM=^;tX5|o5=u`{zX#eZk2P~A3u?rez7d#uTcfRKuPQC zt>pR5nP7~sQr#hsXI_N;DeQntD7-e2)^`JILAt1sj_m-AIVfjMJ}F9I6FjVjsSJ>u zM4rd&`@#zt5W4SzB!bS&<$wt}JcR+C{v8<P{hg#^3H-GX*HDxms(s+waYwq?59Imy z<lI?g5h3`M8c1+pmyIC2$BTy{L(^HTIuu#dehgk7UBmmA2O}z=F9iD;zKg@Op}BOh zx)*JWGYT{Sih<Fw)A$a?5)PB&gP@tZkU_gCw$_X1b&sYGAlm9*a<rqad$<5(dmx+c zejBGfS!gWARMC-)1mUw<oPE}U-r8Ct_L_@=2wXjV0tpat2|iL;#tBe)Liw<(0R0X1 z6YE0&-wk}ES66WENCQu;yqnrtEuF1ALhy9brxE2mM;Fp&czS4bkjK&wEaZ8yOsGt2 zUGYR>0yY*I6MlA5dE6DEI{X-j7G401$oF-DK4q!i(=ckHOSfo&q{tv7Bu26+Ui%es zT3N=sjlVG6(SDq#^sKTqWu(p>K;$iiwY)3x5H?1YS})aLp7MU~$XeDx-AJN7h(OCS z=Kns+sU{?+vUlpby6n=a=pj_@ux<8)&yq6LC3i2uake4>xE8B=ptc9<R1M>u3u^N6 zW7gw5D&6a80Pj0OK*n6q?R2B^tFjhqD>=;faHy}Rx$O0jJ+wfP3ApiyV|IqEy<)=F zdw%t3?VIv2JEqf%A_dW(VwakoNmHeC(`f<la%d(J0B}3RWb<+TwONeWnGvw9k1Z zd3)+MJHX)z{!*Bp(JUa>khzgI!7x`3mBSprL%BqbNlt5GoB;cSz1fx24;(HYLQO6j zxydsTEkz|p|9LA^fIOiE4M!G>jBVLN?-c#d%L#G>9gP#{>fleWwJmQdulbO{g#r`= zYEIgDYKdS<h$*1<yt1}p{6uI7YlZ==u$2hF9hc@s&aB@<M*zt4a<o9YRo-NY*=lSu zcL30;(()Cx0>xZ5Hd!jr)pEt`PX6afNCI_~qk?LGluZ>E2fRzA=AbTLxp_;+ui6y0 z+Fa?Q;>FfHq6Y|GAF5Wd?#?2B6^Ae3Pi#xi&<bQ^+Ay%59Rs{vTbl7qry?s7<J8Cv zm8(@G873fPEP(UBBa6!IIVSQh0P$7yK@<{Q9Ov-1)sOV{*%>_$JZEBglpqyIXmTne z(YQwApX;#g*27|g*J-c1XaLxfiB(p!#Df~np;Z<6o!?#dJ~$7WH?3$-pCL!pLW9zw zacc)jW2nHHQg(ez&4Zvq!X0Th4b%ZL;oJj@GX%FoK_Jm{bnz;}ia4FA+BUAOw7=so zUMzTL?v0J5^PhCecpZn?QzLF3luPYk_w<;~eNR!d(`DB5ft(fa(RDX(=lb%&0#>+& z(}np05DJ7fm+Rg9YBI-K2BN36CF$BU_Jwhd<*u2Cy2@xV5W9qPBPj^DzpK{sZbeW@ z|1R`F$zlB~U+HABgG|xvb&?4MEU{ZOOie0Qf{AWsw7^zInu_jZP)5}%HAelx5{_d* zSRM7s2MFZyvf-5!l#{X&o~OC61d>tZ-_6dlIh@OZhXWujIA#yP!nELPrlf{Ott@$( z{sKu>DTRrw2DWqPQrnI|GsFwVB4@KedZV^&(*DQ#VSIbXUAWeA=G_m^c+f&=-&jRi z2~9qiXrO?g!dRvGYOBL|p;es7GH$Oe4$?D(BNU?rM&+9gy}@yp+yWP#&amaqfQZv* zx~3T}&Tz=)7DCs|daNb_rRO6(Go+!Cuu(>z-uS13(bqQ-m0r#Cw`^T4mTGUP)=eSM z^Ghjns5;7t32{_&OVww{X<w}>2~kI<KSH!^OmNI)zeR6nfRO?4AupEI>jw6;Cth4Q z%#aVNQUg=XtpBwi3FBaR6vj7+u2|JfWfF*%7@xKU4Mv-#2}tco+%%^FP6}h-14k8E z^+O)Qv~BHh>VglLiwH9a>Ja0Ddo$bYy6`vC=m0ufKOi&Uz+W9H)Jg|7$`mQ2bb5vq z0KP*(MmajnGZJ+l!P3~LTRz|S9WZYBD?(k6Bv~I{+Z@oxn8>)DC`_+8F;gB)g2r_! zfLD7l-WvpE9D-Z6B!O7qd{U=#;*p1n+S9GtQVQq;`u73AfndfhHrf-yp8&faQ+pc_ zzGB9(^r0JBsKS*BD8n23tr3>|l^A;WEBhE(o}1Uv7rR{i#QrBjLz_9p?HO?%qvM ztFcE(SYq=}m^WLv<|h0Oe1Ue1gYg=jEmyq}lVWbU))(d)?3@KAZ#k|gDkW{*enPd$ zcSuaPSk8>7<GD9Bh<xIJg*LgZZdO!pe&?oM%Hf{Pak|*l@V&VYD54j(-8y-Cv_030 zo;h*`)`Ky0ep)X;8VE{@*p<7<l<#Vwn=Xd*R$=xo3lUYb>eZYR#c|@ub9^q&QwFD> zWQ7+7{S}En*%K5v+pO!kt%urUmA|}Tqx+#~-Y~%TqwR6Z`s7JfM>0oi8s*3QS^b07 zL}&t=G~0~IUmcHFrw<?hdZ@Z<io`xkKC=Ok=~MPmV*c!-K2WBW6`fklmD<!CKjY5i z!qyg2LtV?Kk@9QF`rezkh;i{svqD5Qzb|y)W#R<pRem>nSW$yp96HtKrJ^2gC-<LY zf}<TDxnw)k8!FY5<hA0NFDqwga{y$bp%o5LE%0rA8=+LwUZgncls`U$m;qoh;$&c+ za5svcg!&Oy&=jp^WR1G<_)H)erzp9fzhu4Bl2qI*4z@l{n`M%BybFrh9mvGQ(V~3j za*WfC0_A*U3(x+tejk1Gt0Inkw8Z;2<Lp>0-QtT-8i5k6qk4_@_OmX(s{;||$eRSP zGYiR&e_9WJ7Q+ggiA2Np@2UN`D9wGsqs}Ym*Y?Hxy8u$l7LmCzCa*dq(`;W0C%8Rx zTW+;;QZW1a$`Ps4!H6GplQx9D1q}mzG7!)u;NO~<eCu;iynjYpikV|U=9tVk`cm`} zOS`pxO!uAwvUbauFY~G>bK~0+kiV>R^)JX7+I?l?^T7H;5ADb)riX+K{oKx9-9x8p zjY685(ztP<H^&v6x>Zb|RR#4?8Zks%7lcZP@=LvrqHN*$8&f$2aGg_Z4^%@fiN7^{ z-9CJ<z9FEKW&R}6`Qw4HaB?Qf_=^E2|1*4Tzi2!*Y=kEcyzdi8TzuA%w=k^p>MOIM z%KWa*FR@a6T;&T82f<1oyJl2Fk^u1P)<L2rw}Je4kp%h80qn+%>cTwlz5h=2(Aa%f z==wVQlGO#eKCRNF|I5*jo8#@L7l-kHFY4)n7}eEQV25@uP3`|!z&50S|9QaNJf8k} zz#RU^1NPnSMS@A!r1ACm`lbbQykK#Rh33lr$-?p9Rs2#eE~X~us9zV4q#Xa5z-~5k zOLj2!wF-W*KG`3l>N1DyJ!3q*koYNG4qJM>{k$HAm5cMgk)$8-l#6>GpN4CPF78qw zp!_%2p8K)JPXKa(r3R+h6JCXiH<WOV<a0t}%*OEj*<T5Qc$Fb=rEzDO1LDQi{C){J z)$+IbZ2yO>cL0*CiMB@Dwr$(CZQGi*U2WU8ZDZP)Hm7ZK+V0oiz5n|oUc87CJL6<j z#Hq^KnR#;Uz1F7wlsZuaOe!`GCO%%^qGKfHJzHFbjXJ#%V;Q9j8X9L~d4ioC+}vTA zJ_snzAllda`<134)%BNvf6SxHlgrz6JP~{9>~+)9_8OplzcyDR0_vtn=(IIu%NK3P zRP8EURCSa7q1FcJ)wr(aQ3Q>OX|#@5%gQFzBIMHQjgj*l!SQGk0Tx9Jd}Lo@^>Qz^ z_`FHS-yY7FvmYq2O;Q>=l2T+Q7X9AvpkiwCb8qWr($x&;4L~>7S>QD(2-&*Av+-G| za9yVmq<<ls>c}^80oLW_(f^W+LfxL;SZP7U>mKiQcKqG-@$8q&g*_>0j(S4gTO7~= zbp0u4k<SJ?dGzt>tDPT6S}i*^vZnM)8WWx7%i8Vb^V85Z+*&G3oZT218t*XnHk!cg zjr{!G*WVS{vJKS5xByk0GTNZ&>D&-Dt-IcTir#8YfNuv%4&XF!@<D}WeH}cj7E{qd z{ThzS(g{uDibl_w_zD$J)-4;rmKGr96!`abj=C;;(DfKX&D$%N&!1TSM^2->b*dH4 zT8L?@bnA60a4qtGNcsqKHuzRm|9e6|i+Fn4r(aOE_Hw7CU@_mc0XHkRMj^=ad?ad} z2eQ7eH9=+6Ficp_|B@g~jbF#MO`X=>{*$f9TmLse=lMZ{7<5lwr0#(uAP1=zG=&&4 zA>%hriG*`=LdF7;%JwURj4>!|MeFs0gSMu8%&<L^m!NKK?CSA@@G+c&s1mJc`uvAx za-2OjpdQF&7c#XEr$fT2`7~n=Y0Cj6jw;sCr?1KnG+6#g{}tx_>!_;<?V*!>pDd_I z%6^&YxKU7P92+W(+9{~eQ7DB-ju9=mccxiV7FV?=jfB-XMQ~FoM`mwN(~j3a(Q@+z z>qR(?Ahm<pPjWt;WjT{didj`GBWq%Jh}~upAaX*T<Q$o{f0S>y_4VflwF~CG`SC(S z3Fwmta&kqL?gd2&us-#Csa=ly(xTvD&Swr6N<QvcdIVQJ7&OCs-U$1eG68%B-Xql+ zrvBz@AjjN`qBFMVZ-il+5J*i)tZ9HJBoK@VtYSK;Ej1MlMJ-vxz_o@-gt9ehk9H0X z*tiuxlNw%ZwxTuLjyp8APL=%w)+gnK=+`_1nR}l`QFqr-#1)b{TgyUnixpIY2e-EC z{#k=Jr(%4<u@&1-Y1zH-_!rpS3{IcZJMSuc0_)vBAVzmbXg1kTlV!B;kBZfi?5LjB z6}s;i7#4yxJQa#HNBLCP{wOCsGhq`u!1u)Tw9af_piA;e=!sA%oL{ln6)*PszKkuv znG|OE?Z@9>acZM&hj+UjA^fsuAzB1ppTyS$II0evxRAYwK3kGUPhE+UK)u%8QuIAU zL7d)EAQu!pF?c8|Q}a&XrZ3W88-kziFG!ltucnBCI}Ed)uP_zWkg6rEt*gEOw6Ln} zi%V_4gv>AMj9bZQ7cG%Dox{+7RjE47XZ%V?H96vU$fpr^&CNfv%1<k>e)N}={@hEd zLH!kahF^TCa#w>_eR$RkBUMh9rHU6z%{WA4e-6TQhO}@&k*_EOwvr#1Y*yczVioo{ zS7BQeyIQ-KNlzJI0QG~Q?sWSD!kWC3oti-1`W0<Aih@il?dHTa{FzbkOImV_M-+<n zv`D;>Cm60CVM$mmsSRKdB`lg+Mex`@I^w6Woa{0rer6ZcKkh(n@nQJ;2pPQ<;z6Jq zYn5PO7a4@CzGQ`7)VP9*k)<?fJYjloKart-L+q_?GFaPFG)fwJAoSD#=_1GE4=fWl zxKSC5+DO@O;EaX5L*apd(_blv!>|w~Do||#h481EoNRK*Pfy+2dupAiRCuZ^-$rC+ zk1<+O8zM%j_MACl!@|@$6S7FC9IfJTcyInB=%rTn-_1^|3=!t5hk}Ye7IDUQ@e-}I zMY94<R&yQ31iEofybk<;&!^+3+3fK&-WvEt{JKCpth!iT2j8r5yijt&RHNkwkoPLq z$^rREWl(K60;wr{No3bHY_U1*Y(%hhQ|?cto}T!CM=Ix#(;B?Cn!?AE_k$QXbVNCC zPrTIwPG)>h=$#KX!pRV;ZYL)qdE$@xm|J7H!$qR~-&a<PNXnytZ_isgt=OOGOB-~n zsaXS3M}-%S0N(T8=vOIN-<#l{_c*&FzoF!ox9nUv_Rah$Kl2TRn-qlZg!u%z;}+Q= zVn53d9hQkth-#C<=b4vO9uY<2Yy5g%h7T^76;)2vP<70Ii~glmAysd^vz!JUnH0!j zbvXtE0>h=$sRJ<S+QD)QGp=63F4I<wgwal{&<PeW)R{Y}edZVu_vqG7$XCy)(ze5| zf5=$HuHooQsEzod@)oLI2-2{esZBu3nnMMnN67;m5rM_`Gr3{w*_C{Jzo--mA43`A zFy}i1n?%4YIgtTjaiL{ED#vxxL<kejy;Udvb_Mtjg9C!o;t9+P<lqpVJY+ok1sVk( zc({Ipz{UXcJc6r_UL-s%f6hbkxhI@kf{%)J7bo5V=WdR240)~ly8OKu@Pw2!?^{|+ zG3Dc9JETOM8L(H4LlXHC@jHy)%Ye_i>8GNM9eDDPJxZgn*#fuD9xpN-JTB3-zvP-h z0@v-)-UHmY;c3>k)vP+{HLo`qj5$r)40+$<S>~2+in!xsh#wduPsv3@9+~2d=V*pE z5D$3GTu2mz7tWwAk^r?Aj(M?wxsvkK@Y_Q>=OJ{zdPc9-m$65=D`@G7XBu_az5zyt z*BC&tHp?N-Zv)?#@^I%Jdm%YS&xRNzI@7L_u>psb!54>|^n@QMrA7%a=I`;ium}uU zk-89a04gG`5L4!fUua%3XQ(q!CPO!FlqIs+;rzlH?OQ4oWs+t`7~zE^?LV%vRCO9W zOzP1j^PIxEbh4;WTq~WUu-FKj3(4t9)6pWlph;3%@tQy#=ISs@&l)aw=4u0aAj#QU z0H_{LUSF_@LFi)>&(fx*p^$l6h<pRjIE7~Gd~&pznWb4D47^_otyU0{{`JP|7_{)S zIPr$DMMll3rzl#Yu>LxHKp}OidU#0pPKW*NJm89V6m}HE$_3mRz{JAcoeH*6dMOLb zxEM&$E>}}@8$G26wAA4W<@i+6!C;wt4QM;G`vIV(aV&nnnb~s>MWw4kwVyKFCS^S> z$TflzR%i*!6zroSs)dzPA>voCjklWPun<<n5al}+fFyL76R2=2oe>S73v6n!;R%aR zW-WNg!I&>DN0wq}>RQw(&{fu4IQ<@&`F-Q!=)3|iorIWG8m60=RqiwBwfO+11AtjR z@YjPOa1scT_mdVoUw{dhO`s6b%b!aSfFwpZa7H$taXts4S}APcF<=7n7NIF7>^!d- zT#j9$YP2I0;3TCLrDjyowHCH1{;OV7{tJICQ=r^d1HV5*pd5^L^R8@`dLYV0rXlMO zHMOn2NXk2|+LS~?o`?K{YDN^K4Zw4bV>41hwam1l`{5~Z#v_&bIkDCJxQ=Bt$(7VI zTDvi7l7cXRSWK4wJn6^6c4>!>%`&!Udb_~QER}x-u|6UoFG+_xmDx*nelS===H#@@ zg3?R#0^yTg)sAJgC_ax%`*5;LrpG)d5SmPSD>;Tn-e?|;@Zcik`z!GR!luVKGhWR* z308K6Zr1KMibciy8ht;eFycgz7rxt?LxNEk!Y>dZHA^?N-#Y*r<<!$7JgL+S8p|Tu zI1~}$Us;R2S`EtO1PaeO%CSm(e<MnZa0=Z!sN+mZ8?pw$`)M11y510#z^oWXlX|L? zlLp+PStzz%R1Dh=uSdfHp@Zu7nTgQ(2xUGW0SMOsh`030cD0Vbf2H^0LcL}ZQ_IVG zl9)u=hQuJG|HholJ(1}dlhDrYnIYJ7N#af6yO;1S8<!g8WLWkJ6iF>s&fwkrDj0vM zXxj^j?Yi$8lhLQb$?OR7$`L|FqM1R?Q+#Do!|#c{uRXGLpNJa<M9Z>>Ubxy;+&WhI z!c%u++ezV3<HmTSNKQf&=M6I!*h=#aGol$m#T35Z=nTR{vN9(~y~i$meAGp$#PPti zn%8;rg#8T;vPD2_XTl&vWj32(DM6(RIF}MVT?ALs_vZZbq!jK35@BBrX(#Lx*dc_7 zgxJuFb1`rmWLFLe0BY8ZfPE;~!#fqea4bf`JOx&m`V?m0I51n@YB65=YM0OqHu7xU z(OWBx@*<C`fAQI_C-ags!fhkmzE35*jp(Z18rma~lcQd#?tbKd@K`Tt_27>);OiQT z<njJ)>Yws)-Wmq7{rU(|nLeNi7ge{4>zt2NK)32$q<!!J^eQ|A`m&z879k!EK)L;| z-A@uSfOOVzcxv4`OI9o66$927HC4}4FgO)v<LD=-o^(AKrFR*ta`qDe^>9Q1DGG$- zy7fPp_ldbkEMM&Y+bhqS^i1C9!-@21bt&LW>o>a$Pto+#!@G;;<aX6ydLwJ{JOJ}c zyvQ5S(!bIBf(&{ka{Ac!-3S`aTKx2M{#JkkG}?GgwNCPmpUMbw%W{zGjN<}x7Ob;S ze<LSw9xU=nbNdUBU397ZGzW#{y|n{-IOPXm-VH6agRBp7-fFk<l@+kJ5>@u~>hN{g zHLgfF1rr}twfNDWYD-k$4#Cu+t-`{Jo-qOV)vHbKTdUTGIXc>DTA<FmI#l<y&qOAC z?bCF%P4m)U-V>u!2O)ayCH8An32L2YsZ)m8s;3~-D8a8)N#Sc1;$c*CKdR1`?tH96 z!}ZPgbR+13mz^Q>1e?pzz?7Fm=%mqwZkNzf{CK&D;ujJ^qQF0u0(k<P&85x8GB-ek zP~()=A_3J7s3Vn~%V|^+a93bbD*>-v_IYBdZG#9ewGSE3agUL_@S!NBB6ZX9;F!0P z`4Xs_;Uq9G`<mBF++WBWc^1+Z=u0hART2q}Y(t*CG}f97$Dlc~P9ZKc_E%ik;ks9R zICLpeb1z6!VivcSwVpL!Gt6y8kx&5GVv|o`ZVlOE*w9ZvNb6rhZu5nksog)eH0<^x z5S*h`t@le1oaYjdtgw!@DU##2Oyqsmb4wuPb~#d-BUbz(%Cy-z57$@oEERzv`um@r zxOO#xMMsy{DL#9K{4+;E-B&mw`Xg4%{|x?uC3U_Ns6O2hs~wP@0IMJXh#?=l<J|03 zZbP!Q^oq1DkGNQ@QR-J|X)!zci1!er*a??W)v$7HfL<25!?DFOhi~(~QIob4td=}P zavGWPdwsRHgtm?hexY}mZdtWu7qTz>GAmPv3ct$$lFXwVXIP|ACl3Ut+`Bk@3i7;* z`Ye!weJ122vkNFsROT;0e5-la7!K>fl5cyJW!Tu-PUb!~myp+J_TOU@B9`S5EnG5b z)wj}~?p*%@9k%M)9~-bNA*e+E+oqWChp;a9ocNwk<%NsRM)S#LBrv}RgJYjrUvPHY z9}APkafWNt7Z8bj?~*zPGy~6R_<I=sG$2wpUf2Go+sWpu5D;w@HvEZSRp`aLwB_q8 zdyMa<d!bt8vzqKx`KMw@zm|tZv#tEvBGha~LvCvtX2Q1)r9|oZ&0jO8zN8Q`1g)W6 z=D!D)oC)z8lEVwpr?O%GXYiMrX|30zij?H&sV+nyPdjC-fhcK4@aBqOfm};qTgMcr z%e>9>PXT4e`6FyQc_vx&-DiM)o2=ukT%(Gse(*$lCiF?sSAt2==5-i|Nl-02Fwi65 z8jc{RK)#HeCOti6(OKo_1tsO5KOLPt;_8C7!n(O<?-rH{7vfG2oE^wzXb+RgeT19n za%C@Vkdf$e3kDzyYZG=vwNvJelaOLbTe0@_1bE`CZaKzPRRmT2hNr5q-teUjx6V!n zm?8LQJ3GOAg>u__CZJT1dxfP+L2olM^C#`Q@BJ%@L_yOgl7)E?mmxGfeR#jqQ2of} zXoC?**>JeAMLHuC^A;XW)Ux<gJ}^nr-$;;@>{Kx9qM{T0av*6;QmjnSV7uWk^imSr zBTcF6<-MCiyl+|LJ2vD?)qs7gPBz4r09!75Sk?SST$<bXNcN4x1?A#kPR@!G1xzI2 zwIlb=YCbfM5vMgU_C>B(=o*m4+KE&7Hb^IymClRkG`&2})C}G!g%T(fhqZ_?duC*r zVcaH2^~e#;^Y7pflOYCum*ykZF>Zg65fBJ=BZZG)?&y!d3L>731z!w((y9~~mS(m% zojX3Bns})an7OJZobMKA6%~DV0s3A(UfN~N%c&m!z5nqsX%g`{ir@K<6*)FLsYr3^ z_z^U+?n8L>@9c=bc9X1#XWO(fY5u(5@H5UwGsH5AMCN*Hl)A$RYG7IP{D$x$ZzXyD z`sJh(la`MCGh3D!`+%PPdE<|dGm4DYAN(fghqo67YAN%|*#kn0|KKn{+)YDRCf0)w zYYdjC<5>Ocnijbpmp~b3Xrzp;m+zn*Evm1Tnu_4U>p^iRIxU_xz@>7KtfRMF_J>A! z@Lmw0@89x6qdY{uJ+Qq0LBsqxW_&a;2@NZ#Lxup>Ac7r4s!7&E1L3>YVfBnP58f)T z&-Dxfy-djsCHic+$7=v1_5Z*yvKn96S|Uo?t$}1>E4dPNG6mhNB<+h5mr&81BGs7! z7w|hy`ojU;L5IVAy_>0G&Y+ffL_&e19kU4K(L)&(8uIwr7j7gh-Mk+x?5`|MJw-jR zeIndY>SeG*yQ5_|+$03PWq3(vM53jtTpWg~EA;=83<Uu=7=wS3oIDv6I9@Qe2|Hc( za$Gg$c}RSDurA_PS*h&2kPGy8@~-S+5z>0nMg|sSyjkMIhrQSae7ruYqzDbt{)56M zhQ^zWJdG}6w};)0o-sKSS8#=%2?>mU1S>Dm^YCg+?$cHny~Pt_ii^z)4ku~r7)XsN z47mg>lK=}@x2&`_Nig*DQQ$e5pRj&KQa^f?KS-FSz`yJL|B$e(SFmJ!!rNxbJ6G0Z z^kxd(KfggiTqry5Ss`Z>$co#<GR*@tE`-X0fH9!q8s?B|uO@U$ipjV|X;sl`#b6Aj zbkK6FJexI)!-~K!m0RyXYIWR@HEXTVN3fSB0Vs1k+>uqBkuu{GQ1+~HEeYw;IYSX@ zXc8DO&I9v0T>gWz$~b#*0G*&X78B@H9Uh&1_981&3TJ2=_FJkt>HWwA(L^|+BhSW` zIdPum#G(ZHkHPyNylg0pH|ifvCfs_RBP2<Zn|#*W%dY}4<ze0Hid~xQn4&+M%Ja(3 z0Jp~*bmA0(KoSTax{!uk;@TDi7CaK5$rP@ueLk@tdh{3cUFMTK8XB`R#$mCoS{@yZ zhSafHTlM^)qy^SYB$~N#4k^S6CoCj()DDTcymwIvw2~X29uIPIbT*cBUq^?#fgN-? z77|qjR)Z2WW5nM>L22hOjWSGfE-cbLKms@yEv}YY+HapM7IUgyyOkx#^w56JXh7qX zA;vv~@a#m=KxEgs+JhKV81L@UpFH{uXR|~&&$f({I^fSQkaaQV5LBgfwk=rU!~;<x z*uy48%XTv#nW*OGIOjn-%ibyA7vaocmV6mc1b(Lc{~n!ZDr_vOljBByc_;zEu$hRp z)<qN3sfbJ~c^V@;Q+}<;op2phG2$>J<h9ix(F@cg8%mJ%-wd2$+6D<q#h2pF(U8(+ zL7+YvhN@%{cNax(spJZZ60>?h=p`dLfNCLrtdoLpR8l}W!2pufK~z8n2T9;HL`r%2 zH%b6e0;imo#tTux<)u`GkE8^c|0M7FB}<pf1Z_><B|1inE~)lgT*|M&V~C(6@9Dt% z2*hI`e~V1mnj0K1Ktn;ne-`LvTx^Ek);9x{C&w92SU`8q`%jE{D6nQ4x<qvxPfqJg z1OzvubizHJos-vOoh}BMom_3ThA5vlZLQ0k2*bDzbs|J<j!y83mdzEQ=mguq7FGgG z@b%ZUrgF@glupEtk|#|Af_w(a^O2PU7o+H%yh%A7wsx35j4Uj=U_rG)1D-V5(+J<k z^Pdh|*9bsvl4kKqitpcJZgK~v4a~B`GR$?3HSXQ1wO6jWlw8m`1$P4<y0urwcy3+? zx!^S?O8#=Z-#aOJ_uXlLZHCTvRnF4$9N+GObbdjv2;@fL+o2o}tb+$0JI3?bJRlIU z4=(&36b}I%3l5}4ddad;8QTy_4Vfk+<>O^ZOwIl`z8g|sxG{imu{q>Ej*#I%gTmgc z^8hL}vQ}k7hTPLW1L16)R5U$@d`<(3YaXPPIsqY#zmG}YdjJOj%+Rl?@Z&H!v!WIq z$J58Zvh=ECzQI#=O&b)ur}UyG@Ul0$s*?*zPQVX7s$`pBCo|v5V}4jvDw77DR#4LH z1T5cu8j^6StzDeO`F4P^zYW}De-~7Q)51xwMoHx2lvRB;nzYwC)Qwu*$$MyKVsw1D zI|Ex1xaZ<+3N9Of;FFcfDnWLxU!y1NuEqVhlJLMFv8`}<+;a#_x9e~WlhOL`<rZw! zK0?{W-6ILhW#n9r!QY@Q5?{hjLCf=XZt^cf3Ae*H(&lZg+Fu?Be<jpa3yADDHuMX% zjy*mrd{i29k@^ibe;1LK!+!=^^EsLBaHKTV$;G%j>Mf}NZti5oLVdW7Q$*?}=hJLi z#@84ASLr3Yd!xXs3Uf^T3Kh7U0y>;n?mOio9-wgH3I?d0jnFwUwhm0<r)+rQ5<+&c zDO9l?)z`_$(@t*ZlI7Cn%7A#vLc{Vd#v`e&U!V_ezV?Vz8`S)ZXl~E~qGy<?61y>= z`Y6(nqfw)Pp+*y$OpRrg1BQdIzMWlo+Klk%A(>(~p8cS;61K>>Y&gr*8LJbDntxOE zY-e&SR(IJHxzsorJ3lw`zdtPaa*3PeR%}_r{KWBXQazBAmL`(^70pnWw9}oV4H?g{ z<Q217xud(%FiokAqM{0|$jUi8$d|F?Ww=@#J<<aX(GJ*a0w5ntge&;)bj&BPbutC5 zT=mGhB%%u01zR>v$rckgP*y|rkTR+0cy#o(YY3V*?BSJ&0;OR}SolVw$@XuP4&iF~ z%yj-FM_GZ1^S>igOt8b#M(QrVlE=QM>f2XYtBs4Zz;Um#@g&SrSpyZ(VN0gS;6$9J zp~C~b#T8{l#YtsHX>p(q)G^u4J)MP3efc^I0uMTyy&-_)A7k)^RQW*zx23s<Tt&=i zEY&_bbC}}<(^=cTc(tZ0qN|(C^z}Nkgmt_Z5Y`x^6Ru*)Q%xFzc-!kllO;83!<?Hm zboL8E*%De+-k@~23&Cm!a#WCFAs=O`u$KUuB}9nJF?87V7Hltu670n|{FKE*9E`72 zCVka55W7>IXIyhRc^U<|4=qnxcZ+)jvQbfGUaHfcs?%J}S;{|?$9K!1b0IBq8^~?; zX05GAxfO?{-A)~}C1J`=cMXW1%%!`$OPC|i4DP)ecPSxoVf5p|Q@=Ry@%$WTc@QAA zDGD*ew-s|(XM-Dnn&|^)wQmiyzIV26I<zUuZ;^K`cbAPbcA<LkQi;KV$NjEY+BBc_ z^{sl~2@iwY@Z~R@8oS~JVS|^tl)W_8=7s=M>eN}bRU%MT>!wyq@u+Oq3);f;(@g)@ zVDt7#MIsoEAh>5MUsn6fA$kLJMYeth|AL@AVY}&CIW}B+`tQ8-q%n?Iw+$f>f@&tS zE434_YwvLB!`~7XQU2rMQdZG=2lx`4hC=w|G$5{>V{qm8?xr6PkYk+OpyndO!>32y ziQ|b_aZY*-J9u?VfPtP;Axhn&R`g0A-6Q{TFt72XH*4*54;@j?1pxJIT;iq%%Ro<z z;zI)AWF${1!Dh+lM<fA=EL#RSY5wUyHq$2Y*luO8j^}3H<#ncmwRQ7-t3bJz%p9_g zR)svNua@NBD45jPFsr;Wdc&+@kDO{9YN=HW!8=O3RRPgvSdI*icEI_{J0L<oyB5`Q zJJ1~cAKeFu9I&+ZCV*K_4>(m)f0E^sp5Hb?j{2}k5;TSq?KNEme#L8t1S7rKQhSAQ z;P;sVe6$IwHlC9T!5>4(Mo>!D-35`+*9Cz@(xM#J6_ES|pNYpJr<WxVK>Xl}I3%r> z+bhs_>QOSS78(yJGn1os8c`;7IbA1F5_UVo28_nC4VQQuI)H9&F!bjZ!|G@Y*edo4 zL5<8sr}uB0>cs>kZK;sk$QV=LY!MN<gUW+Hai+8HY#5sRt7kb&il3)88L2qk*h&2~ z)Ev1Zn-*L+cmP{a-8Q}m*#&O2Xha&B%`6gCYLf*!?8%L9mFZ#bY=hxpu3|7$m2F}F zJ#ehT!=x?&;CCjc@PW`G1yq1Lhj8my6Ew~>vqKQhqN|OV7<h|$U~<gzn&M3Z=pTjI zMP>^6YSr3eJRRYGXR6h&OXZ=h{A%3uHauoJPih^&yncB@TgbXSr&Mp`t5eq<DjJ_v z(DY5UDb!I#f9mR?ak^?#)N3iMPTN!<bg<Z5b*Vw=0dP2`<dt|N6~s6Dw4H}Sej`t$ z+1f1r6NLlcEDYRg#iWFYYdv#}CT+dFla;avxx-C!4kM8vd=PAl4&dv>I}4_w<D&c+ zZ{mv|MU338Yj5nG2ac=0`go1Tj#~sTf0zKTBzJD!h_78Xwb*#CI4v4*alY_6v=BQ3 zs|zX~0C#Poj2Dx^FYT?OL5a-2l2Z0U_if2iTAkxN9m(XN1u4Z4Ca^G1j-LLZ*q-^J z#`ScdJJ(<paUf9QhxkgldpDT2g(3;3Cr1}XN|vtZ`0ik!U|?$XZv#R*G?<V%)wd0# zSZW2iMoK<<;o<lLK=O-dEUfyd;e8oZS?kngfD1v5rt^}4Xo2JI)y=Y_UtE-;^0IHC zB#NlovX2Q?f-)1WvpX9&ZdP@0yH?2L_T+sz`RVn9zSZk;B|%X<UY2`nurU11C^O^D ze`dr(P|*(&)~9PTP>q33pkrF280B3n@;c)%<z0!kOW=TuKzqm15!X+ZT8IqPYVq)^ z02;BF>a>#KRq6-g^ElB63yYKU_TRmnHsgvsgUju7*!`a?0X}Z+J5{-~k%(E`F7B)- zpMzju?(I83mgfJI3nH6=t>T+y<A3i5^IOdPtX8uRPrA?7e`k;GHnQU%zd;07cEWm_ zI*5_dMskDo)X=!_2uzNinJ(39-H3)80FXM>LJ`J@EgFH2e3#;qX;B-Z1%B-X6}%QG z9pI_t2kiw4#J%S91vn1qo1>=M!B(sER6y-8)(60Fb8aA7S5Ei~qo7)rVFo+8O3MMi z)_-phCdx1R&hX04%uO2plF~LCc6f+QinJTUuPCs#hT-;xtOBCps0^5VUXhR`20(<T zk=LYtRfuU&<Rq)!Vv;xQjuIz@3}vKpi7C!?NTX8hsmezsL0iB21YX?<8`lQS3JBMs zjqe->3}TWlCDCU~&0M{zNzq1$x!2vRfGU*wO3_GmbGZM45j!kPEJlRxWa#TiMN^Pi zv-)oMz(%=q-;Y}BBcW>lyS~V<$cVLVc`S&ja{2Xd<Qu2~%V_5R!*ThK;=;l9|4Q&N zaj_>K<%t5c)A4^8F8PK|gg(xW#eNgG7K%{NOwwH8$&f*f#GW9H#DRePg|Eu=%+B)x zTLJ%!yeykD)yfBT=~AE1eAMjM$WXxRiRCJ0z5l7AVxD2cVsiAi-tEhn>es)u$Fn_j z>bZKoX%%dzE^pt&?L*4z>B|l-ZAJ^mQ^i%xd^rH1AI<woPhm%2z^K_`0fyHvIS(9_ zf)AFLmU8RC3rY4@?doFlA4rvqOfP1BD3gKSwC|2L(Nle-yfxNY(VO+z87^_CIs)aN zFX^K)Ba?N;*ogU~R{r@$o}Jp1mF4q%2b`aYq!Eq~+|=&u9gNm7w{-GQ4ke0JJ^Y|E zrvz{T`m_ky>vges^YGNrVLB+Ie4tP@keV)M6x|TvzTipSMC5e$#?zgjN_bjLADpIZ zd8Ts{J;>Mw0l&QK1=ID?lt3a7j5B@MUbo8O{J{e{keXe}zvsdF{DjNM7Q2$&W)|QK z4Xx~t=q7Iz83nqOSQkt5*<<0Fk=06zW&rA`U`M<*+ycMs71H2@O-X8Lm{k^2#A@|V zoGAr;NMl4!oDUt6{v|Jm82&rds~?%Cl~`XamYf}Q*z}t9b0?n(-CexDy@ZOXn+?-e zy&4HcZ%zejmkHau+YOd^ax50*Da?JCC$?tjL2RC|5RIP5hRgQ40Vep24GX=EG6Ue{ z{cCn_3xD=M&A}du#b}9x%6FC7IO7RQ;-Ld+xu~As){!os_!a!uT1VP&^j|_p%&7LC z@^baJ(<X#iUxQf;2@S9zP}ps&)EmerrcUTp4d5<^At?S68T9&wLnHX?<re>W+A6c3 ztsHa!)4<8??7zI32T>wwYG{CwI6zv3f?KCCNOit{j<U)OD`)=@)prlofh<2EjdpRG zGQ;+bj!*Yz1<S0-V&BN>W+GzpNW;bDX5vA9RzWpi0k)yW&xC={B4_$7BiYhsS)CZy zbhzCLlPHa^g;N<Tf`z?jF%*qk84Dp5&4`^xZn(Rku(Md)V1UCONr67C4IqKXnay-R z;zy}}tu=ud#U0jrwF7ktcz|()*a=X>su8xK<AkYn#1Zl4ze{4%kRybU%7dj;AKDAa zuSLA+nB(1ZOi|KOB?sji*Y&k2-0O%+%)zM4{>mZfrL^&*<X4R|Y0`ro*?dqoqoYNy z{r;$8su=;BG&sCu+r>yq1c>4NmZzU$X`OTI_tVz=7&<g(Gwm}n(fj2p)|qGh6Zmry zvnfHuo&+ulb8cG_5yf#KXON03xG$l#;OYKmr?4Dl_Ks6tQ;HII=ez(`VmnTO9|R)9 z6g&9(4O9_|q}Q&utYkGpJ%*furZmZ}xDpCBrHzR~&%k<LP^yOo3vkp;BWlNXSgzr6 z*0s{FTGBX<D_j02J3sjcyTx$=lfGX36u+ejtaZi}VbpS@0({*A>LST*2b{;7a7E9+ za=p{YRWh@Ag+JfI4(8L{hn!~8rxs?blDn&&g=|-xi3!NuVsL9uGW>UANo|yQOc5m= zPzj3b<2116xs)|l0AQ622@+zLTBv#i4v2@1I>S2?ouiyed#^!psRjx8Y*e?7|BIjo z76+HPrX)C^nJnT!NH*wizyiYCxuM_6s&|d{j$=Igh3Miin7o&Sm;d^h$~&4t`N@vN z1(huCtm5KK@?ab_PfKn)Y6YMCwAHAneRkV=OUaXtBzH^DK46oYTvT5&|K!RAk#-90 zgw5<&QS(M$@AEpj*P>oE?E=mYStYI7DqQN<)dknpVVgj%VGDEER|E|KrH50F`-c;6 zJyp5i3Icq=5Mx20FOiY;pXU;{z=SW{WP#F{OQ68gKesIj=AIR=@UHEqZH#ZDT>%Te zHL%QUV>T6Y+W=&MNJYfWnShE~DTDi|fD#)y9DY|ksysC57=3px?obHyJ8XT@j%W>d z-y3cSD3YbQ!u9e<Vi|~VP*Dw{-#j8}Fc`mboemkP@}LTe`A?v-?g&PAfYJGeaIvH1 zW`8#-ta>^zT~f|Kt0Nc=?@yby)>ek028KOTVtTlv1poyiN0&^G_tMI%WN2_8*VtXd zuRZM>`mS7v;8kDVAw1Tbh}2lD{EOW2zCAKFCfWL3;kq#62I+DRxk_+n_wny?vRrsd z%;mhf^`XV&wy_de2(cyNtR{4PIscvrdBhrHW=plAJKHv)K9&rSWmtLBQEOaF^-9tx z?~1(+EP&v~s@s}A;seNGk>unx0jAk#YD>_bSK}`?Dr}<>%{t>E2_*wY*qf6&OMo<% z&2NtkBhF_8M+S?74LvwsO9j<aq{>1jk?bB&saP1uIee7}v<>Mu8j__my^sh{V&Ge# zo#?9wqMNjI&Wva*Cn7Sn99`s}7;p?SqzDMsF@T#ze9x9-VdISEr2PyH6ZQE9*VyiG zNSY9J=VFe+4lQFdmXrTpGi%eb0enYv@{_B4txfH*$Mvj%8y7e{n#oD?pSrI?_+mX< zapQy3>w0l+#S0#ME3$Plio(SGA9(k0C)0*aA>4c?S6*NsN|=~dC>B4xpZBO3G%PHr z3;;at_l1DktpF2SEyI6J07e+hHYCK{pwa*$IE2DGhAOSSLc&s52U1>#(v~)i5^G-V zog<Jad}iibgk?1!8c>wkrEO|C22MvVDRKm!XB;ZbQp<HoJ9%NeHd>xVsf!}1Cbw@h ztIA74Cavj#)M2f(?}7FBi)IQuSK=^WEC6HDUWk*c`|)q%i&A`Q^J+33xcF+X+m~Ap zFfszcbA?r^JgU=tbUVI4PUi1#r3*RS7Ptec=qQZ|Z{?97APjbc2};&vSVR+q*4KeD zfk|ee4o}Nr@ZgHx0XB+ltlwP%NSyyJKmyIPGz=J!LWT<GY^`G0x5*hbTgs>a)0??{ zmUCEPGOj^*vqKb>(S2*&J(t<x#tw2AJ0T}oXhYak%?hOUNjX>}i*k${d%K$y&ZY*& ziNP66>mg3OL50x)cDWwRiHsx#4TWfk$V`3ZUWCBa8knfj8j%6=u%;&SG{_Cs#&T0S zrpQXF4gc)*F+c?kR!3A4tQ*S#p`w-h!Ubt;l`Rv{dkIe|3+fY6TqP3`^tPnErlAGc zhzFYqS29``NWya}8^(6U>jtLUpyBg&aQboP0rs?M%LLu0980E==D4gaQReN36XxLw z9Hbv*suc<QG8TUPEh_sEb@9eZk9%fEd$bk~oFFS?%J6^ZB{+;aiHbr2PDe5_G({Lc zN7+z=K{05)XkvO*hU}cqik8gYQtAVWkhS;fDACFU7E^K3J&qSsM>`CzaLtK;U(H-z z{O9c`HsU_{{577(!H{$(n?)7PdX|M=BH5ul#d>#2-vQXuNvth*bm7cX275h=WZ<%K zhJ;b!BJR6ybD~@<-Ft5Ur6IkcZKh*qKP%XK?A34}mB_|}guBN=ga!P1#ChJpjomk; z#27=ubH_t)W3Wadpw4G>Vzr)Ccu<t6!Tv)?2r`i`A~C^&gXbs_C2+lvB_0fof50Ux z({c=Yy9U?jc1O@bRs(xLB~1TzjeUXkM)?%!>HIuz4U~0_W9c>kFtpE6Qn1*JU+eSu z+}API?ABN;Zs{7D<U~1TY8t-kHfVDx&M;dkQ9vo9&NfFMmnA;L<|Z<kS~R`sEKZ3r z>5;r2f)be>>pdR=ws%QU9tn@Nm0S^5{u<jx7z120IVqqsu_Zn3THr(YX*oTtQx08n zn{inFx#}id3!P&C8YeetqSy1J&_Z(YNNmQZ!}f&6>Y1Ry#D;8z+1>F~`EtrzP*?dY zsM<J8;0oeYn)6a9C9(tY0EEqGS`anb=NP|$0w+A7ev9ma8x0UEDxXn--?Q+?5Q3{; z7$JTEd8>=>u>4;?LZIK|xnB;ejB)ti&tb2f=pg<a<=;ktxBTOm{(MTP5ueUKUt9ZM zbBP$~Xg>1*Ct4o=^YlCNPHT`K(C<2)3iN|@YzM=@!}9Qc6yLF-(ZkF1<QOClDS4tN zW#J_2!m5A6{`UF;Lox%>zGMu&dD4NVlo2J5p%*zt%m?vR-uurpw8HYaD#1=UmwdIX zw{QO8&yoYU!se+Mw^le@a$G$$pyfX#<?~CcQ1gy5>se?He~3%Xv*=;S#O5KLSd$Gu zRVs!2?It~i)Rof$)Kyzj`t-M)nUp`R#oRQ^zxU^(zw_99J<=3)7<_p}c-Lrtd=IAA z(e&+)dI`HX)e(PYyk3S?Y)oRAZP{;Yt48fsPdWfY4~Ix7n1wa&01KbJ+P6BQ_)k;; zn+3J6-&;;+e<i+pN9(De7vXjJRXyIf#6FcOGyYDazKQ_eITcQnK|LOR+!Bo+NI5Zv zbW$8q%yldave(3dvG7=#?0_9H<X@32fgNAzA+tc9%H8jOo4O;Q0mo5ezy+QAfkHQ> zyM+LbL30LAwvW<X=D2<|zLg&s@Wv_{R;!7jPUVJ(p4WxW3k|v{m+4<NTf&vdMf7`% ze06coh@Z}!2#(ffIe2Z7Y0!#R95tVvaf>H$D&n~;gl_w!WMYh_0MCzK9u;Hv9+v%J zfSuOiuYEFv0nH_q2SP4cFhZOQODm@Gs(^4GI%^xttn`uipNln`aGH{L(ohfVh{pG) zkducOV&%{7_#>B!+k#;hw*;>P%OWVWr8B$UaiET5GhP<$R0^X)cA%c{<BiopY`l!8 z??Ac-QrFc8AY7OqegU<(bMS5U{0y%@-Sw2O=JbdEdzDv&j;D_xC42!SqKIRc)3KG( zZ;-G{W-~mn6K)(%*=rd<?>^D_=LX@%pFJLgU|9<qRbz5)=FnzD)_oYlm8xyhUIx-h zuo=TIiF-}CORy1}vl>xTa)w<a5K={f@QztbPo0lJPTN@0*G<#^z&&cQq{m{vJ*J6f z0rRfk`jH2;SaIym(ZT|*Yg8-9@t$>RdYz>;Fhvc653RE3=>3Q-3<O-FPq=Z5F$7}h z`$+F0d;B_7&Z^By$PO%S^y5JVM}u%v+ZiG|_5bSK;HlM9R%F%4YqM&z3m_W4TFt*{ z|F}^m3PvB+!Y-MUw<GDVsuUY87vhm#(^`m(a6A4w8TS8N2=F5=mqkBrxnu*Rk{Ba8 z*_ws0KwmdAQN<d4lfk`gGd`3_6O^a|4}P&EB<kc+D*^f4m9G=q;?7Y7FF8DW^7?Nt z!~wLaGH}`Py3Ky?-8&?YJBYRA-CXiF_By{L<GTA`Y^%~)ArFC)lv|I=7!f@x2%C~{ z8d&YeHx$}75x~{V=S2}LYIig+k<3<rZ7gt}?ro0D*i1vjIxq=8FWJMHa%RwL4^&#C zJSP>3ST59Y<*2KTeLWGT*e;1FPeU@Rvj$~|R9s!Mkn_4^Fr6Zrt#DE`r+p8$h)iDR zrSH93R<h1Aq^1`aW;%ZqA4}Yp&>dfIOp#VW;1$fJh^q4#67w7K@6{{q{|_wS{5fp> zuU<bBCs#6flPEwpnS8{_KYuPhV~ilYP5n7~TZr>O2y>3=ci>~d0MQzp79Gn<zov$p zeqYVv$z{%YuJA91Q(?>K%bEHrmj0>9nd{d-wOU8DQs1=S-)lqDiUKk1hJ8KA?S|VQ zM-s>1p1NN*&EXp!H_|_<7}Hg;s_oB)o3@&hy4YJdC0)NBm1~vf0p1<2X0N9TYwR+; zACK3eTD5ZquSfmuJ3s2n{<QsB1w(g))>=RHHud{@eF{@`#nt{qv(=cjyv09%C$-QH zHcKFzFW4X8{71a`a`}<P&@X?qY0>phZ`CqBTM_I=t!Ca{xJpJYU;%WgWK^`I{>fkL zO@$U<N-UD(>Gw^%F$pC-bGTO167Sk+&&J6byOTu{O1*JtkcV@FI6E2hievW9$2`G& z<|N##U=P{2u?7XWiONdL;@bN`<+;D?jmp$(s(*hjPv1C9(a=eAN|!I%lPTLtby|~3 zza**%*J*U=D#8l8kN_$<_FGEnCsZtBX*WmNe~2_VnnXT}BHP|SM4HW*i(Eb*QYr7( zk9&v3{{NB(O#VwANKZfWAYy9!bRX<)Gf?qr^@exc7-!SVw4Jj;;KVgk;yBHKPkJI5 zZOJxqJN&;qn*R9~Bm?}+pL&-z!6&!=$tnNwXaG?k5w~YXHHHK%RCdXzyIo&o_3i9D zT21S0cywM1`S-q79WxZ3jOq33rzakEHfHzkk4()xO#F>zvD;z-jUJq=|C2qSpY>n% zfDL*cT#e~{+6QKBQS4MPDW{TiL)3e>RK^5GT0eQxPx1hz#u6J%%doobu3Q^qOC$&2 zN1<4%37Y%w@GNKcoB__*6Kb06E8XXlSRMnbw(d&P3QGy}fOERj2`i)pX_B&T(G-Vp zwOc`H5Of=I#*Yf!-PQ6>`T&b_s9GsiB{{J80u5G@nrRpXdy`~Z6~cNc1m%p%JWUiU zmAa(R`6WeFue_Q_ox~izt6pdgGuIdZxsoa_r^8^8|7HKND*K}FT(SMd?5s{#>_Nv1 zyQz|vu$8qOVU-x3fh(|*2hXHyR(Y9<a<fvD{irxvzrKeXjb@hkk2tk$1+0j6LOJ*Z zbr2E5r@%WBIW5{>4nt;Tq$3nl@^4mww3r|ih&Slsof2i4J}RKW(|jTL?du~@cSN1! z-$gh8*jo;3^HRNu0*9NO{?6}m#k3pcXHCcUdK3iNkOJh#PH`ZqTNj~37mi{Z4lHU= z-%0gQa@l)@=Fg*JXRsnM&%wf;Vy8)W(FdE?D~m8@9e|9_G@K-fSd}xeiUwI?)q-1; zs(QM~VJVk-AX-xTz8biSl)*WYI&`m1Ip;Hg>W@WH{2#(Lb@(9Xgse{+ctJ^)i_?Uy zvfu11qK<_lC#VY`%TlH;U9{GP*NBTIV%F|l)fX0Y9Hre(7&|Fu&3QG?^+per3^{r; zjNeaoMNe2o(W#%UbCEJlv=HK7OPf#8S3K*x_j##xcPY5v6+6$-(}h6~z&B3^&YYG2 z>WRzeQ<U<OhsQcSk>q6<KYE7(v0Qw7OY))LzP%2F_x|iJUF~`P0rjgF8TFi%^Y5AU z9+d<C$Da6YDbq+i*LITQ1I&54dtES>Y{svsIl^6iTf@L7pN;wf&GQua7h93voWr2R zQ}2SHmp=Yqs$8g%uq|`Q@L~XFMOYx~*VF4SK}Z%W97*pC%3$MFtJly7R|27D2!{$` zO(zGcI*Bseb`T{e-ouoA4~BEUG*5EK9B)nC`1ze%D<KuvpEO>!3Q|oe^?p|x{HuA@ z#l)zzr#Jixb;J|fsyka=rAv96{tpM)V$5Yp`F7Pcz;%W-X(R-8gc$(Exz_jcM}yiQ zE|1iMNL}JQf#=t>2+cAA#2NqZf6aQmb2HU(!5VJpuUSHC5`)NSu^AjJfx#W}4j!jm zlh$G?Q83thceA<2lO5_3AxF<^Cp{D{JN)BRrJpqHyBddD)qFtN_6<LULYWms-3b;q z;JSiY&F10)o0BBs0-6D6+IoDyeh%e35e1o83F55GEWGWLWaQK`*sgCZgE<D=)3Ujb z*K~Y8BY&^ud94!6+HkvBdJZKeA7<H==<Gbjm45#i99M)O7i>k0DJ-{y2&96aIi_aH zVA7=~csjW;-g1ZGul&04Hh`!m$i+EgQfL+}kjt}>YK^J{_6&d?`Tl%hOC<)$=z>!i z?n20TA)=DXAmG5$SzC3g;~}51I3!JFkwMel^yDIzmWY(MA^WlVHbnnxCqPrEw$5$- z)!iF;Nu7qyx%<=|h&ZC<!*WAeU)|Mb*W1wULpyL(fF=^`%8Pkds?Dn-#&`t~DnFO1 zh%fS^0FHsZ`L=%2dA133f3hSzcV8HesAf8qq*;0RmD`B^GW7Iyg_6fV*EiZbksHb{ z(XSiC^#srviK0mXpOMS}i3cHrJb%#yn*HYQmmxyN`{$jli#2s{j%Frr<``IdrqvB5 zgJoT?E1|+A0u1-`xEvJ)5xEaV%fyALRd{Mn25<^N4%_N3G61e)OChhirKQ0%=xdu4 z*G50K?|~f(Lt4OYC6qrOM^{-^>~*nTB>e3XEPJvA%@~!a5k1A6z@z_U-0MSpMr6~2 z?XU5NPd@;nl2JN*sq6%wo@vG&*Rw?~w@%dw{be&fWXWbLuqjp^HR3MO9CsDJEreOx z8t_%xB|o+)QO3O5HBE3#d(Ht=88;<L<Aw`ymgt7tHLARg;Fit9V%ToXB?BIUVyN0F z4{m3JmcU|_MwS+Y;8fjTS5VAvP76aJmhM&52#TsgZD8xcl{wc+j$clvA9|b9Ist<4 zTedaFRu)LnO?Bzy7thv5fOyvHau$O0D<G8*52`SRNkU5CC;@45TKh>QR3hIDS`HPb zC*+7pz5*d&&J4%&k*3z)98*eF|C_(I)10Kjt0-a-c{$KaiXB&2D&2-l-UBydWs3!6 z>9Z~59?%bNR<VY60bvcn-GpaKn~0G>?zmwdQ=2vS+c2iK3+aS$R6{@FeigVa34pc| z;sqZ|gpWtr0qPs}mjO*vh}E(Qv?sKRF}En|Ja8Og4r3>=U7tvC6@0<N;nw@X3Du;) zh33t(Yl`;xP(P~EFO^0BUgh*zy^4!ns_@{wQqpZ?7T)|cut88BRZ23(j0wDhM-bH4 zPa7PGSawR7rUWR#Jxi!dLIOb*2SAGn*Zm~H9{BKRbgi*ctN|?*g+TYBB8%TCQsrIc z@c^0+nVceDzdogjYNbDcSI<acbl0dasl1$rhRS0`lq5agn$ZCI8l?k5bY8+9U9p6M zG*2oE?JB)_uGE^MBzY_g4RsL7BgAvL0L&8K<r+YAY6?#jVD}4%JD`>=06^3+whYtd z1+2(+U)37)uwdl91NPAy!vx?QygN7U<&B<_w{hjc$n0L)g`#8esN?}rNlxTO*BhQN z?ScIy#23fUfS50$56Ymz2P)xViLVUP9d@mBpG$2|v_7K0E4phR32y%+%(Vk#e8t=U z&s<JnD4Dz+f|mZN_M-wI{b?>$K>v>=C>Vagv8dhb?fZ&Ha3fj(?TM6POra8b{G9>$ zg6w8kq3pUvYD`ctwutY&@%<0(lhBV*(!hw0h>aV?J@DuP4d75J%WR<Z(TkoS@_!r2 zZCz=_%@ChMA6m#aVIKFxNb1vA45T-)e?<UNk*|zkwKWi8eUs?2?0;h^*P|G|lsj|V z34JV6xaffDP&&@Lde@~y+LEZ%bD{9PaTpvDzjpIuy1LVkpBjz|c07eGm!^FDs%Jz0 z{EOg{BDl6<G|0-(l?M(fzIa#y8P)af@PUYizYMopXNi6jL(g8HUMJwY-V|Y%dL#gN zY<O1wKFsX!*>nxr+~Wg1YOFY_Q1i7BUFMckEtkFJd30a+7+i&ysPV9QyjT9W$<W@f zl=k`vb)%kP2^exLh6rIlk9T1+9Uiqy*%X{7{Jat#>TqlX`-*SD5iKWrNtN1<5*hm} z80^teCG!ZL;xscymyCCeaxkfK76U%0oYCrg?IqxFNDDM*Qe(G(|GI{=+j{)nnuB$q ze3S?Cu+7%0RwXmHLA7_PW*OX+>D<evc)ZRCajTqfV}=H;9N1*~u|Iy{BAwyx9!p{y zt>wN5F*y}@SilE@D{Ea@#@!u49S$Xa*0y42W?}mH-_KN4{7m>3+ztkqv0;aaNrmA} zhm$76=$iI{3VA<Ifwt&FO6A`+K?rlF8|Lu?O>*<(Ox*iC&+E^*S`?r{X|&yn>HG6a z|MFsB{Y%ocXd_qAjlU9T%~}J^o*gBa&mDZu!&2XEHdEkp(rCE)SE7u4#W!<W<KZ$j z4lxXajlX1LW^uIo==}pA%nJjv)1rDG7!J@P7&<qe=xDt~{*~~4a&Pi0@C&}s<}mWg zvG(HZZ8*_I|MtLHr!5J;!Vn0LPWF0=Pw}X~ZDTlLGMYL!iSlvrZ9<qYrKhJlKW&da z=;2Z9!gaH6P@QQnDvf9SSm<Oj$r7fif<~Phtu{GH34Po>!D<Nb?&3}aY98Y}iUd=X zi*s5mFS^)o&^g73YoO-{mL{Nry+AqRX^fe6!sgFuiATy4J(c2hulRC!5vKU!N{vw+ zuJ{swHhR8?DnJz4_%=uBOZBp_CO<7{aW<L0renrH3Q59hk`*z9uM#_TpI~DqA?27y zmq^zhW{Nhv3-1STILRM<>>auFI0co0Ywkw6>avLegbM_Kbv+m9FOKi;6wVS{T`JX) z-|!7g;QfoB<f0d|c5BqCIV~_^2&u+nwR*6%l_@hhFnFex2oubmAxjT(3Nv)Ez0!%W zFLzya4@Ta-MJMHnnva|$*($ww;Vyw?{yG>#LK1m9C`SSyi9GQ-Ln$jiI_&in1&T?p zL#5V3M+!&CmP`m2#>wp_u&rGo;E$<m_hER+1F5YyRKx|y{8Y2$uCScCdlw)@CXl{c zle_d<2c4D*k#zP|>K*ddCq5V;r54D(z|Gh<73F^x`I@?%NPcR;ahF<$efl@C?P77| z=5+ol{6z|I_}96NeqvbXne@>6jvejD=cCE9UaQ6h!G$rK_5YCdma%a(LAS7(8DeH; zj+x__nVH!!Gp%Ec*^Zf+nPO&$nVA`4X78H5ect<C=}O<9nw?QgJ>BZAJyp}^)FS?# zj@Y@H<S%o~8hKQXD=`_a%=zrU0bi=ZxRXYu&19IU;3Ww6y`vu5*tRiv(S{I*99V}U zYkhwa!$W~H?RfN=BOLC;zi`R~AG*#s%0PEETB7p78!K+b2o^8|VY`X|WuU-BFZ6N= zzO>E<344M>T>YD%33(W?X}mu?v*;fTSIYKeZu`8Ts0V3|yPvrTA-|&qINkE;0ujSQ zd`Au&+1Tet7eQZ_`zkKn>9yk^mPV<-Sl!-zOR##5hm$m8epLtB`W5atP0YRQjOLKS z>3$+f0z{N&C!!m;MiL8vP2baRoNs^F=L=2pB|)ZBv_oNM&UUY$=&N_0FA0a>B2%&e zp~ZOMVGEYy97w*_NXnn{NpAjNgie~l=FLLvvJ9Sb7mOu{oe?bjxpx92CcnJ(S>WS* z6Uu9n3ZkT`r~8fI-YPyQ+;P*cwUnlBT<yNcEExdTtf9jOGl&mB%79?2$?0~No_<|5 zA7MhMb9}OFF!Q4dK{)2WTj*J!8fKShz=;tK%oZ>%^M?H+&k?2C1%s?6!x6P&B96rH zorGaP?wr0OtW1!>b9R(QJ)Ovd{1_RvHJ?z|T*>R`SFK+>Rp$2*LUlqS>Flf7`&=Al z5{~r~e)^{)i`ojni}i%ecpaoDlc98NLM3aqp2%A3hRk>^7n|l{sjRJr+}Ap%O#e;z z6G5~5Z2qAZYghDJT;Zgk@`VlR!g<ay4B<vgwbE8yoMwgPpJ%DE;rn;e6MsI&R_^9F zk&ZHC*4^*iJj~H2>2UK#Z>Aj|!i>gy+INdR-0YcX5F^(C>c;*xG5K{Zt)J2-gD-2L z-~ImHtcAg051p=s+1<btjO}J*y}r9Q!5LovGAqz6iksxMXIEI^wTCF4uXce@vt2ex zuv({w)UYiQf~ag(&E4vxtNqEtRed(wjQhtO!5V9(Ow!P8D*RY;#i6`vdn`P2AQeTC z$zcp*`Vo~G5M;O@35?&7;MchP==D^WNV!5iEe(yox=G0GYJBTIf3nU@*3Sv<^)!TM z^<|GO)@;BMUVY_pBzxBlW2?iT=wf7iF&WJ;mcgE<nqz5U9OPds@<3K~JW(v^(jvOd zlxeQ_36>*ckzuof)uSyNCsQbWn4H@OWX@DH;{!d|0|{eXSgx~V_bieXK!B^eJbAhh zoyqT4;FB)_Mr(ot$qi9=)>9jIfzJ0{Gl7=bN$~?<RtyJwQq6z_AV)Xpa0v774&56C zsNrvaR0sNYAMwafbQ59>@fXPJ%*S<<mEeZn?xx~Op~|K11sdPgpQxm#6^aZ^wL79T zmQ}r56|&bFz`Bpm+smbMvZJkq6K%WahkqMP!k-7VAJ?~+S2aZJL82{L)yP&}_rpuB z#oK4ZrNvXMR$P|QfKPY7$F+|n`-8IT%a4e2X}i1e@7T{f%z3e#1^!=MT*pe^Mdg}e zIjnj=uRw`BrfO>!WGPlfO|5`VpyaJ1c`id$b+lJr8P4wz1jpQ<-kCi<dphgE54I+} zI-zWk*NUAht1sWy>q`7XaZF?nAM*(R`um1Sek^?6tLU^TARQxTtyh<MQzJOg8jb2C zdEle!Zq27iVqG+hDrI8Cw;P}}{lg$iHeEwhVCWt1UbhR$<o&TlHi_}%)zJm|eYJN2 zrELN|wcb#v2L9-v%#F+~&V@AF%du9Zi&I^$lgt!qr!%-9v_P>lT`iQLr~6J|eXO~+ zw+r+#t~ee7;L(HAw<=24gP$h(gL5FLM<eV*;)w|d1%lC9#j1{A$f${9t!<uAN2BHI zX~U}Kt$JYf{k3yu>C(;ryv<O*E$VY;2$V0&_NbMYwKsqG@BwC%<HzTPL_z+Q&$21C z(QRAhB(7z(pVcL}>LO3N9Xs|BA22vHuu@lq{Hl%y;BiQCv)b$L6>s(SuCWyAN}$Ut zM7dTTZbuS_cQPRp_y5XI_T1{GvYe*a_xJJ9r>nbZY_O7LYHU!+_v<r!roNL}jPEDS zACdNv+WyREbqis8)Ik!aDvl0j!KdX$h35D;spo(*)8+N{Ka7;j>`^SftG)i3CKKN7 z^{6pd;3Ah(9^vVxEEk{J<d!T$#^p8znz~ccm?3WWpnZEN{qPVs!sXDb<)Mv<%zD*M z^5Z1bwGS5{F=VbOEdiQ6iG7Y-#H#bk6NWY1bhM21Ib_DFxYLi|0yC1KFU#UXm=~7} zzHvqCuHl-J$u6c1X829B-D^l=L0U1S7E5300lIUvv{e_Vrzov<ER+9EsWV$-x#g6V z`Uy<xO{mzCUT(WSij>DDHyZ@{;EYZQ8nr|cJ@Jp|h{kU#hWwCO*teI>Cd3p*lmhvo zhaZl4%6oXorvN!&oYb)8Kz9~uYw>*^bVMEg;bt0Y{M)YVpAwl%T0|-vuwig_u(&{W z01I_RUKY9jM4XTq(KJhgqq8065254GQ9c;FcG~1vkmD}pPQu#OTU8OJuZ2J1!!K@u zYziG7PuaR4k%ZEe>^f?3E%EthuVoSYxCx{~JJU4i)4muH<3<*9)L&xanb8Sy?@1*5 zbPfs9mMdSCgJEhNNr@<F!wK}zQ|~T{0j!q2^zF;o7nfU8@Y=k+?+%cq&`h|Y8|#Vb zKX6Fi<if-ME~ELDTvG76aN^6ma1w%Rw$f$sUyi#ZD7&pErtBIwRXUh!Wdo)v8)J1{ zJ~XSu*ZY?cECMDdeez0}xJ^T`QQb_(IeMzkg0U~TWw8IC3_*T8`on#Jx0Z@!0NA#% zx9P5$1s4*}1XT_|?TM$zPFTsS9F3P+ObXGn!sZza`l=8#^2W9C%c43D7u>i7P0G3# z>|?Ul419ER4kb{elLm0lWrs=L$DAG*M*f}qYv6_-2Xs88+F?4SiiZl9B*hHqYPGv! zu~FFWb$K7{4+=MM)e%#6?kgfY0ocnP$xCR~@|XtZalB~;_rc9fEP0iTp<moTPb407 zWf#sMaH6JZ4aeYwRUOtbw6Xn@g<|!!H#_}WSWH2;PIVkK_oIf*&H1wyU+E~SWK%i_ zkf*LP>)6KXpuO!pN238{9`DRAVg2gcgSQ85kmvI4UcAE)Yu{4&X0-P=6<|#x>>SPO zkq}jhAdwRdWSP5fUbF$)Ddj2OJbvVdn~cbf(7Jjrc0Jl1R%vt*NZ?twkvRSLT~ZfW z;EV4zDMC&HPxHSprBOm%4+%Pp*lK|SqO=wa@_VHxX5A3;w`8cKmSs*>d&)R@i!pBR z9M2f}uwVSy2}rJ6k$>AX*a18CYClQ+Zt>HiQV2SBm~|Ti+pFv@x~V(3bA_p3Fn6Qy zMyDe&xMyYMDf4m7VRT#Gm9>Tt8tq>5s()eH@W{aMCAtQZ_b<-cx9x^uryq^fK$<0= zhb(it8lw9{-bCeJarF;D(#D{~v8jc44d>;<wbRDMfE*XeckCC%;sG&KA*6|fU9HfF zwDPYV)J1dqus$-2)`t{dJ_JU&Nve6!x(0=kXsGM3rbHe|W%vQ%vc2+GKJB5{yrkH~ zo8F2FL0(28|1#r|jYg4m5&LbmG!@cu@v^NnheLH;`VraM9sznrIPQ-YnSUM0K7AaY zMj-!AET|V%PeJ3C#Q~ga(I25Xl-`{m6pm0+#m^5MtZ$vy<6#$9x1sbX1cBJqWOor3 zWsoM%%xlX>7(m60u53;NUJ=8cP3fntMydB=NddX?zbNu4z6|{0^k@))rwil6d__Zn z`o<ALf+^)tKCTIR9IcEH69I=6+%r%t;v#`}{fBoD$4?L}PylM1r6Q@I&}xBZgoFgm zh*Xz^m-J(`glIz!wOJCWkpc=cExH%6T0ygz`=3A~Dj4633=SoPxeY(Fp=hs@PN_5X z81d}5VU4E3BcF%sj4t-9lf#n)40#u2ZnRptxSuDwu*zvP^>Jj8aq)k7c}yo8W*APa z@c((>M3QQmr2@(nl$R6Tei0Zj3wysbIoC&7p3OJiEQ9?eG>!tqB&oC(7+?72Cs8~# z;tB6EvPQc>k-|6=8a_8f0{1XX#2i%g#8!FhE?kRHUbXb6>+RlKC=}yXP=Zoed1<D} zg0)Uz?Co7?k%(;*3O-YF5Q1?ww^i&*xyx9YP}vO!0r*I8BQY$49IbX`E$Q+ybve^r zDmnDU%bcWYHO^QRw*|WG5tT^{%I*^!ri@iabUG33@4^@`4nk>`D34b$e=4kIS*_a! z4ww%zJi7CsR=)YZkHr1tn8+~u8f5#+Ldb@%KRFd!Wigy~fmDgykt<v553UQ8soG$% zb=9nD3E<C-@R3@xzvPnoJ#%^H15;+1*i^B;snDk_Eep_;He?K)T&*MpzSgU{`?f?> zw`o0VnbXLR%1og5DLhQW-sx*7*nE?*-kM-8Dc!!!hbj+V(GNx{(UBm_>qOp}sE)3u zX&SW0NYdSo$5tNC+DRRY6LidA<~JI%s1j5Fm`7}x5>C7VA@UN*>R9*vR7>ln&ts#Q zjvkM$-B@97??g_<-<R{Q<H~rXJlp|*CTFS<b0&$jmU8LTp}DHqykik-qMPW=oofBY zG-rz8Cg=OIvm^5S0uA%#eNc>+V!~LIEVmwyA}v$t{FI$Ss$uBbv!_n#-is>~?L-a0 z(jZkz;bejnxnle-JfV^~I)T;YJp4G-c4u|*YYR3<p7-jE0oOaxgCT4@&<I=TVU)&s z(tM#Sg}}F*ra^)E>fj6W6kM5c7HVi#xFs&-UqfM~U9=is2&BzKO?a`Nf{p(m+917p zHv5sRanajdr%t$-NbOh-h9xQE5;JuGUo>hWw=lp4SA5GlGah@Z-x>PVTU#lanSF%> zmA5|LzpepY_=$V7Ph@)oKK;74GE%rs<0s+}TcJ>@)eGmCkYl^iU1%QzF5RHh>dfC^ za#*yQ&_kXoT5F48nmSz`ekvwbAD42*7Q}4Vqi@z{S;3m-%qy+yjp92x_;>)>G?&x1 zaFkeLIXL9C92JziNgj(y4|NpxZd&|P6`9clNt~FFGvE@=$h<R>&^O=((y#If$$0%p zcqU}DQMujz@nC4H;ad~Se#oYM?|OYCGzYCC9<+n7hOcZ#^&0padLzi@QYz2smh%v9 z;C`GW!%xS@vGczp9A~OqOai<t;qJSkQ19s3IS(7eB_Ez3tupA4&5UU>>Uz9+67=Rp zut8==OvWZUhCU#FzkD_c#o5XgyaHN_rL$-i?8bi&mLZv9uBQ${8H<MbSg9TJKmDOw zeUw)v-vpNj8h;7&IrZ^}HHW)BtU?DuPXo!jDkB19|C!pB`VArECj*dqW{}VK_>8x8 zX@Y{aP&h1>Zp5`h@f+=4$eAQi^iZLsq*vq8I%SH}5otmwsQ7h8=_*Y#tj$Ks&%YzM zcf%pLk0x-OVnDjE3qSiMdbc4q_2$`sBUJpu;=-+uOMSyB$vDLLM{j~a>&Gi&8|6xu zRwE9(lBs-6ahN(I%@qJ?r$*~;%Tij(+EsY^=oH<KhQSJI+Gesw%a!Gr%Z^4@My7Qy z!LFtl;ViD@w{r{w`fR;UBM*wUd=&jZ7}%oCkD@z%`=n~@lBAYmeTH*=f+K~+rg3`l zaqCnQuVd?rX{S^4Y{>8Qqi9<-3BRq<zA{cZG8MxxHFdGT@frYr>=8|Sr&#zr`Fm0s z-%4tk%@F~k$gGA}3KHvHOtlonGnUeW3EQY6<Tv*Iq4JTM?MtQ9Sa$hJ4!H+D!XZ~^ zIXNJJ&98*-QH;7OE#<C~U~_l6Y4{?7Uo!~i-LZj9WbNUBEvDPne4)z@4~tok_8sNj zFQ2*kzo`Jc$Ze6nR}-(gS_>~_qpLf)jz6zFTG}EBnR4sV60@<Bp|O#^6~=gKIfqGj zjadJ4u^KKB7^7pGjFR_QzdIaGhOe;ds&4ehg=^$yooulTVZTp@3(b(Q8xSH@!?q%w zr*VXw-E@5<%GARVB)yO1jpbZ1_!#l$ZJ^o#*qcR=hP|Qsd}|QQE{M?6^67OVEE&Ui zlfN4aisR^8<GcI^KFDjabRWMEr|a={&}^<n^7(aEDXp#-)Ksaoo34_Zq_QMyPf#a- z=@O%%*_dyqc@z#dB?$jW@BK4R<HCq$|8~0Wzp77qzz?GSFDw&A;mwbKeu4xX1Iwxy zjk_U{q$6MkKFr1$*`9{7JoW0_C02r=|J=fB+`AZw<Wn*gxPvcdS_Wrb{$j(`ZS%1K z=Vkx&d}<^Fu3^^+vCc}!^T+h;3DS5-M`(Uq5DKu8NK&mN2S@ntS4mHDrNwcqXwr{9 zW-8@N77$CKWhoIW&D52q{|1Ds@AgkP$=O{(WOb!ClF*q1X$h0Upo~@yh6F+CdU&rw zKwsyZTXm&lDFqp)7(~(QPk3{H$0m{_PrMsPL6p!B9vhS3q=$4O>LeJ`%!<VefBz~L z^8AzrN}bb|N)f%}^)i}ojoBX5_O?NOnjZ{<Bc}rt+lf@aCNgpZum%?1zvB|PY@G!b zM#Z#UIDo<!^B;<hZWiS6${U7qox7Ys!nAXV_r|<(kS_n6Kq<6e=8z8N3W7dL$!xJC zZ<y%oEgbwZn3!EkVfFthtQaHy7}jTRQD?uPlh7X=(}ZLR`(<>miFuGb!9Y^q5D;lr zyY<tu(Eec^re^X3AbMm<xjU`D%5O=o7*)};$p)9#_pRR}2a({*x*Cdx;;|}hXjyfd zylC6kR;#_A6ZPzA(tqHZM~Gy!_Qn_C&FB1r+CTk!EJ7)Ac9<#*84qCnJaU~<6n4Q! zdPTcHqE0f1H~+u0GkpKIf;l%>w3avN&%8v_^}ttjfIt7rq)UD<`dcVaE>jGz66o$| zms>c7aVy0y8m2yO&(qsuLkaumq*r7h9^&O%%76?C_NV&UYM#dQ)Zf=bdYjWybEif8 zgLEAYBx$vI9f0WPR2n@sEFUz*$vEl(H)I?;L1uf^TdVH)OJLh88OXND?f-eXB>e*n zXm$>+B*%mQl?w^KCJFo{vdlM$^(4h>*DCp^C1x;A<%K+{kXgSdHaV@;s}N}d-Ca8p zT0vh!z8^Zv<jWmA<1K|MtUJKZf=jgVhVJA2@akq=`r`$74=orN`0~`3_9-;do4ZM} z(?$agqSJ2D_)hGUN3zTWO!VUtWQ|*nUPA`e0Xhfi7V?}zbA{6uo_XU}t23Ghly<7~ z!1N#gFP>UT9cN7{%rz}W$~#*^zXv8Kqt8_7ziiqAS2lKFuY(^ZbA3p=>_r6+a2VPG z<UT}7&Wp2CxEJ7~!So-^_hZ!m=s%UOms3<CTol!4Xdw+?`cE`U+w7qm=$-OE`VZiN zPp6#!SD;_w|ImLJ{r`vlGjk?a+Le&0Y#iDV=DMs&JNF;`=g(qc2E}=uQ)rfM`E}<K zYKyrqJj(3RYn8*1p`G~4OIk_nwtlDk^hRq0I=Y$X)r(Wd&uh|hrV9J5IRWc4v>g)e zR@X0QJI16UBIOyjjnk>$!#e?(3MG^$jA<|jY0a+w%bUb39xyGD)vl3=nT}&-;OaJ4 zr`ArPs`v(R`-+@_&0yr#1GjQe@)(u)`0#M%wP*Yv0SM)P2|#O!_&K6PR*F|_tkvl? zFzxNd`mE?2<rXYnh%$7|Nr8wm9eCRjonQt~$XFIVm;oeC3V0{uK|U(^9q2PMv%aRc zO&08Cg~F>h%SRb7&+wzHQ!07U6vL#q=g&i{*1T=hy2=H2Y%yEvlZuO7Y*VVT@$q~a zZ@Vqdz3-pdMvd96dW={tV27zwwdp{MX8x6wO~Hvl1rBa1RJBc0<_Oz&Db_P>=|Qm@ zT1H1FA=^@&bifA@IStJjx<<0bIQ3tn$^AtvV|;Azi)ZiSV0T4Ewl1fGIY8=L%BPKI zvM&yZxmFaqSIes_n_+O`UVmN9@!(j+hq@O-CpX1dN{VWO;f}FvOhzzcFW2mbRGHf& zG$nA%4^_#VZCneFS+p`x){stBtLGtDv@9|3nCf7s09-aHa(#C9v{7!ns_Y_6-+5H5 z=fsSh_Bmsn#TP~&uE15B$->lTaJd%9(!kUb<)U}xi7rdxq8a3Rlqr!(MNasWv70H- zg!ff)UIg1Xp0!X}fsR4i-uk&9>hykAW7-CQn~K#hlw<XbBff1RizX~t-by?&Mh70( zl8t)-Fc*Xv=Fa<`sWyjDtYHZW7nWWY->CCu#j=!qF4n!%=aE;77;2Hs-mNpz+L)~U z7SNs0m=JmNPvY54L_LAjX-9PP1C$hrr(L%rq~`t{o3`L*&!>89SqVzx7xS5-C-MKn zMOvype$1fg*9b?}RQ>0}R~D<K=nX;fgFsUckf|Y;B(hO{xR8}#Gr!mxq@}|aE2qdg zS@yM|=?4gj*q>xGoLCzbSR<ZxfHa$Sz*sP9Gsd8Sp|mG3!NiAKg`_>kScp)K@qaIK zmFP+%>Y(vQ=z%k0O06%r?=n@aKt!b!{~lC2=h(J?_au8TJu`h3-qp@aM;w6uv&kvK zpGj@p*(TJ+s5wZ^0AjwBwn}H*1IEEf+uzU*daO-6nZFf>8TCULHpnX+VoMxCvKy&X z)VNLBe8uQ<Bqc-D)Z!EVVdf=<?ysT!ZZx;hNIQWk-UkvV{O*lX5&qzeQ*v5Bh<jn< z10n9yOKA?%>9ahIexDxcGh+iQ+Yd6jD)=cmGB$EdL3ax{o8z|3sOMzXA1w0)y7~B; zwPEz7-wDm=^16|-a_n7qhTJd<@lDc@a1L<6?~Fn$vcxN#8rcy_wc3ZOVdW#M*ieYt z!)8*~TvRy0ajT*>>Dkj~E=M$QZ^@7pRLMr^lWElq9#e~qzX$&sdu9S``89GjB{*NJ zj|o?+h3fpZqN9))m75ZV{7vd^S2?;$cxJGEChB9LP?`MYIPcT@uD*$Wnx;Eyp=sJJ zifP3~0Dh&Sc*Da#PPg4iI*I#hJnf!E0fN_n`bC8Oro)efJ?@lrgZYBNv$Z-N91@pJ zX9=ECWCZ`1(|EiWeOV!ZVj5BiK8Dt`Qi!8C_VC3}kYlB3sy(XIGrIXMyjhGz5?h>H z?89EoP>`Br(zc$Y>N;!$aX?TsP5@2<a#u6Wp+J0*NUBEBHhpF_cN|Eiy^aj`3plj` z1gTQ!?6KcI7D?30(U>fyz1SU;Q+9G;YX(HGv4#%`+K)S={Hg<R?-PZ14a8gtp?)tf z35_bnR5&A!oONqsknro>{MnLUq|2Qeuuz$vLZp<*o2eO0dSZy_=rearfSV5agZn(H zC76=cGy85?J15KNMHNd=<PTFM7Dh$BAnCkbAy(OhnAgSxl1ic+$Z{x5isnE;D_IL? z*o*b-Dd!78%JnF~Qrgxl<<Cf3hte)Mg~y$tVav{p=lpY?`b|E7JJrl>#cRkqja`Mz zF6ugwrF8=NM}N9DEek^P-^V@%d^c&W@`p!knHnD*N%H#vk7OjR$q6l7*d$F#g9ZsC z+Ny8hGVeGsTHs<-&2L2o-Hxh#wlLD>L+J<0QZeoK80y)8HnDdpwZSgwVwEVpOIO(l zweeD^Q3sVXd`4GMO2Li}jv}aGNX82^#wesv>AaXwq~wN(sEf{E>9p$@q=)w=ajC0O zB+>>dF8pHTF{(mJgTIQgQ4X5@RJt_mI833^jdCXRS_ttrOOZ&!gMt?eq1a~-h;*rv zSERW=UsN&x$Xnk+F~a2(SkEx%Z3sG+RbWJhLgYseVl!jEEsdy;{j!mJ)+hqrc8u;S z2vV<UxqeEXQ;!kYYUF3aWh2Gcy;`cHnzCuv_{EIyYhcb8CT7~k><5ilMT|(n-nA=# zFXR|sEpmA>yltQGD&+uutj+RySqxim3k?;sXS?VF<U6W^T{!K|3>x@|c${lhvSSIq zq9^FIIkzf_J@?0AH(@Or$EPWCQ)8l>{X~Xsi#6~6HPD9fM<Hz7<FqlM^Y&(hEA8RX z(f=5{Xm6m^mH7Gxrxj-}-OJs-@fwbHReQv%vPy|dc0-O9d<`P@_b15}DNobywaP%n zgQx!m5O}6fH)z!%4%*dP-HT4ORJUGVg|GJgpzMLW_uT@2wI;T}U%t0oBY)>*2SO=O z-cc7J`1WL~vllH`pDpR%>s@Z17jm&J?|K+oKpqLvG3(^2b+<NV3LI!dHYK+c8Mk0} zQm)Rc$O(Q)vCfX>7Q~R4argzrPzJ=Ko3h3NuupKiEpaibcYm)o&D$?25p6UgXzI%8 zwLgomX8Vr%p7>~@u|TGa{+;LjRkyAyJ(fR!2tc-c&a$k2<QQ<CrjsWJ(ltix!8jN9 zvUm@=8U@KcW1P$5EZ$sO2b3u0_;u9}gK}6f$eT(5qUTIGg4JxbM4;!UK(340s7Gr6 z5Ok3L@z%`M=i5C6!eT>xXIhs3O~c-xoTgbnqs8*Uw2oI5{)u}Pt;q$6a$~g7q%Uzj z=+`plHy~+)awC$8azhGh9Q7>awI9%XHRQJ_Jn~8mHwD8E;g6$@My&85bklEk5(9DS zP#OfeUo<PcZ@qI#%pUYsGup{{IB^cJ>{&Mrj7#_YB6ccYry2CJHO3t@%cgY+w(wO} zgkq;5np~(TVtMRzQ)d(<uVTiI62{Kmxx^E*@ifr0(*0?{fpa<eJ9UEMWFF|^y`kb< z$S7iD!;teppHsYf$pHXV!0eg=G`MMj;4E9uhOG$%NI%ibauz_7{^^_#NZZI~Q=KpD zh3bA{br9_o6bHb99G1ZM0S$Ju#y@*>cuue3yHWl+w39$}uR?XBbn?PFi+p)7@A>UV zF^RX7c=ujOb;z`2o-ji(tI|t$m%=C3CWP)|@;SXBKf7k~-;-J4QR^L+r&o$z0xxYi zpf*(#fNwmSWc-BP7SL|2Dv|)M_`L6KC<Sy_a_uejZ?J1KRt0ywNtQ1ZD{l3deukH! zZg5+__)U*p%qQ88VcdEt@@}gV`$+W>|Huu2dllR;3Od}WD|^d_3VEM!6+NG1>9Roh z)zMTm=&8n}ld;+OUQo9O8c58}@`QOe5T*`|dpPJ(8}1KisI0%X8x6rV+gVD0XBz4u z3ijtKrrX3gT%$c?xLHa1f_P`&4{@k^RYIPpNjK_MrIaAOB$>cQ5wv(66@=o0(|XJ3 zdGgLgFR}bAD`z1sD`>&i!?f%LoVM7Bsy80}z@`w~p!Gvck9y=VnI|x9{Qa}`sM&-O z49zlWsv7}&lT#$qME<G5L<94xW~N)rIbENsW-@!8aaed`?2#UFO4gAxvLaro`2J}X z4J%$k3I@QyvB4qtSTt$q3DbRzc|dyGJf<}yRk{R)X3)X6@cYYdTAmjFCMIqfdMO(J zeDOWzB&<Tm*%yWb_JAN(HNxpCMBc(=9L}{+u^9lv0ajYjZ{oDGbPnCQnvptHMH*bJ zNsuA37Xl*Qd=aC|q!v4Cv?d|RaAi!sSqj!)GcaDPWOKm@cO|kVJtjugq?NEvb>prm z{v=kUxuHC<5qtEFvl4sojVqn^FL2|Q@(_?-U=z$Ks&J2|Y2(*W7xyYIg=xilcFjT( zmjW=JrC}zm%Z(VRWd)r4cHCj8sPX?an4U|HgNZtco4mkX57XS)Ld;_#w602>!Htd9 z96X5{8Lr&BhlsT;v3pzP40P)y(Y!Ln?0stjAR5bd&ti!%#38>J4Z8r17)Xosdmd4* z;7-H$N$uiEP91*n^@-wi{O!Hyq}hk~`~xt%s{Ha;H|iPv`TV65i=73Sc%R)oP1yUu zVi=LlruE;w$x;FtKe`qw5T0*F@x>)-!l9vPe7M@>T#At(Ul^$e=Q8>V<}Gk55?Jo{ z3rK^KDQgl0q`xZov-)$|>I=S!2-22m;O*8l6!hdyR2P%^N6Tf;>YBOsK(QqNAmyt# zSPhaZ0xy5?zH98I1n;|5<3#ZCzqqCo_F6<uTQil`T$t^9cC9GRyC;8^NQMV*I_OHO zBk@Q412+in*=uVd8Nc#(kNif{K+!$%W73_blhl`Y|D9iLOhvCL{Q=hYhLMS1o^dzZ z-4?k+{km#{{r=dw825MU@BrHCc8#hDH_`hHD{hp|C<V{U9m#T)ptsD&AhyJ>OKyxT z=(?UKl)T~B%>8FLW+4DU*ZDte>`83w`9#G$Fj^xXFFIh~A(nY1E-TwU?7($~TZ7vs zr#rw?`IvaCG-5uF`=A*6;-JB?vlz<u{g=NwbPqno?G(n2?#uka0^s__FTv15qa9_Z z0VN3R(t^M)jnaQE2LbHTFiAboDMX|pDSMd^IQLXH-g%dC#SuUvQi$i}HWBA*9<U(R z6@qhp$S33#0BGZ%YnMhg?;~3qA3-2K4j_vr1*YnS>Mt<DAT%R3$e2$Fwi8o^reH7A z97a#@RmIZ#(f$^Iyh;D&-4$(sKRxtNcSE)0`BhKJ?(E}6oy9IQZ5m85LZk{pIAAE( z-u#wS63vjAeZpiuP$&4yV<!5J8^Phl)|%mgI56h<DSWwh9U-GT>!{TgDvQ3^A0NSh zU&+Y!tKohSzp2e*p6H3+&E6gW$h*Gx|K=h<PZ-b~eB4Q>&yq>?2j~FHEqJH%jZhAe z@IFi!^m==?xEqrT9{e8R3Put@1)8$_Lcg!)Ao|tRSn7vbNnnO%$v@CXrs7*>*ysLd z-j-qaV|#Dl?Ol{%ZyV?%Y6j31_vz>9_5Q@dKP%dvS<JZ)dOEK<%6iN6<Kkznt-(ve zdnoIy63zQ?r+PSS7XrMWA0uXQCuyxNh^Ea1BVvmn3o_7comH8nF6-4Pi*5=f4k%1U zFC>}#mxV~%*a_Q)J<AZf7ka3DKa5c?-hJYKeAWi#CMW$qemL8Vw#v*5JPB8n(^Z@b zaK8^#RzRqdjObs}_wh|5{!fME?70cWv>L0dtY1=5{K2mYfO4I~RR##1kwdoHJcA8L zVqhyiE_0IjPlkjsZ55sO>EUrR$|}68w-eLRte~4L)zOBy?71JZ^UXW4rc0g*fvh+C z?`e0-{b83E_{d30dUoeWB-$>#Hg^hl%hftK5rME{XzO@HJ>T2g4ceDeR7moA;^rid z-DSk}sBHw$@a-&2+{(JS{jjC9Q8-Lt`EDmb-L&H9+-@)GLlrZy>xu(bBC)TM?cJAm z7S55b!}rO{75$`mix#|Yk1rT%$9Q|-^!KFxegc*vNjix}W};;hcl_f%aYO-^QhhWH zc^2w9KLaWIci`2Td(Faz!w1`v>solUsCTYj#i$YRFu@f#KfQb>f|$c)-ZmG!jCq!% zWb4<FB_&Jp1#<da|K8u8Ca1I<)vC;vCV(qGV$zm-S}zdvRX=a%ut0V4d~9I!cY&V? z1!2wIW8b#XK&X9{*jBu0Xs%m{nuZQiec_ayUN1iG+I(GH>d#$8jm>Ruu#mqq$SEi} zxmXmSqWU{UHm)gsxPrfjowl*$|0W{5(*7qAL86@AxX^U7h9xwm&?r>nQrnIU9eft& zX%0S@@qZE#LjNTqDuN-ckWttVz-4wVc=qY_NH>{&DiG=g6VH8Th@su{-XC5b!ro;_ zQ=3%tiW%<W$2>sAOp*BWkq$`R_pNNCPVZu7KvyQjT!kErPUY&FPk^<wv3J2L&gh=W z3!U_`Q?uz+fYSd0llJsL2BNPn<H*%$h-x%DHW))xR4BVn^g#ty^Xqr;SdTi{)Pj_{ zSOe(f0XvbqtIvX5VI>Xw4?gK=Ghs=Ur_KY)%MsTqH59>U(nm==Yk>KJkmYb=J$eDh zla8>2LnVNYh_7<w;ouRMrUmVKi^^n9Pdd<{gmQhj4rx#hu2@e|2^>075a@y<M?2Hs z^2k!p@VpsLZqw}FXpWO;M_NXHC7n|#Hdg#k99ck0q+(YtVW>whmqxh6`F(Y$;;mTW zmJoyg4T6CGjh-5y*az=Z5&6$n2Q;U~5^#J(EzJ5p+rcHTZ)<B=X9uLIYetB|V@*Ch zYRR`F?*0wiHJz<CLMK(+B9vX>Y#<aam(}czQ+4nV?<VU+T%<FSo-Xf6Sb)`#89hAz z%Ij`*AXM|+rer9plxEV_7f~-MfkLZ1ArD==*&QV&waE!E!lRutLcj=kg45dXDR*=4 z%a-=Yjbz_~{#QPW>4r?srj!c~HnFp(y^2HQtHwFtr8wRHeyb%`&1S9Is?qjiMTm~F zI7>^E`<ASVw$TAK8DK5%wbKqY)I*g`lGDcun_rkjXEo1XgPrbC7($zN1e5+xQXsKZ zPp}%v@+=16!HRLFkUhOVFy_nWN0XlA9L(M-ea?X9#V>_+KUVQgkCnW7LsIdUJ2UDG z=x@Y+T;cHU*fWsdVvMvj?4|fuC=r+K;2Z5YL2q?^CoW>5-*6QTg)4d&Ar|FxUloO^ z=yMGEa7c`{4SU+IT@1b3X2&niR#Z-@+kJ1FrEnmCQiEQq$a8JJK!ZUdtR@Ampm5TB zFfLF-V;=(7lMFY%@TasWBO?KPIekFu&8f81((`$66lWrf5Tgd)K!jEh(m}<hS=V=| zC&n9yy3nZols!lzMBHJf!6I*u!hsAG<=QHxVrY#Vn+PZ)wePnD94!W4shfWfTgXTB zsi3g|Sa5z$$mZv}64(PZmzuKU$R*4Y4^dpFLVp_;+8vB>QfA7DEZGEhWZTaAR7w86 z)O->3YNY0;ibc{`2&O_NOHgD9m0xSQ;vhUxnex7hT~si~f#?1T&&|rnnb&DaO;{8| zMR?MKoagsC%{|g%OhkAR$?VUHov~KMjO--<xYF{kwaM<*6Vc{oH9`f$F1)(%8E9@= z)!a4Q3z2RYGqvF3i?g@LRGI+_L!ScjRu^G>RX#k4G)xZWoK+6d6{qY7M1|B`P^_}Q zBP5I{`&lTqkOKRurvSG=;f5`!5FC&uvPOu9^gzxR@R5`Fzp)sEt2_%t!seio!0P~h zNyO`<zdD}r^$m27W?g?{s3S<5sHt)HgHCw7`wJ_xets19gV`O!a&@}(=<DrH-w}~> z<Y7`w@afUM(rrvmAjxYrJ<!YMswy+M`8%Tf2k7abYQvb0SVnvf-$krs1_}NiwhA53 zV!`5#aduhI$)86lJ8HM8%zx**&qzB!MmAXNU(y#wjAgZDOMJR1B9C;-%=Uj~DPxq& zlQWPDRzIVF+5f(%bBOxK^G?nfX@1#7y^qGTg4|~B^)~&oD><2#`s*}2z0NB`nHiyl zf?ZS(E<HY&ZTPKFkfYbw%S_}Ssd*q8v;vf&YC=Z*{^D{=xbU&lX2N(Vn*awg-~mx_ zQo2BTawb4qH^1t7@~wN+&tS4lH?Vqg1s?nY>Xwj3T*mr8=o}M(w|=8<`%6}k79!p} zx)2%YMvDKT&3Ay(CG@0r=cM(fD!73S0T_Vx;M_-F4gJ3um72W|9HCx)&3pTL-!FN= zMdtoh7Ythg^bbM6lIyQv=M7-HBgMNXbIGZD$}om1or1!>$1NIhCQ}0$4ZmG1{WlTA zRb$|%(b`F{pp3d$H0>ej1h(gdy4bxvHBa%t#s@00N26aa<bqfLF;8&Hj}$sE?k6qu z12kC+<P`AhwJFnYf!%<_HH)CY?V@R_&6C;<0L*OsYj?SyM)MB!#V7pJ1|1P}a~gc} z%<cSLZ=tZd-CEW<_(#B#9ng3V{N?<u&c?Wl@B@9;X!`Xu!kNv}g-w^Q?boXfLEnGK z{2Dy!S1>YvF84!u;YZ0t`7bVSZEtC&6rm0d>CDV;8iRx$0?+s8OhBuw2?P+}mk1W7 zz%%<e9vgwUABMbl>uUy2t@6a;ysGr^-)jo+XtQ7wfV)c;|7Y6s^MH&Oq#S0yfd28o z#Wv(u5v2R1l00C_E;0w1yYw;oY20L;J30qAGEag5Wf(_77hZ363%6N<<J5=ekRCNJ z2++J&^he<Ab@&F+EI?G~lq~MbKktf0PH$V=J#8-%D##C{2m5@uINxLD=V@nRTp%pS zQ%y$R`Si_z|C{F@dC$vXS4`$4VLiCfxL`J^r$WKRZeuS>!GEMweo?{U56~vkKLnpG z(H%#=h@)=9o5V%MndEjjo{99`bwl_K-f3qXT?8F5$mq2lga8KRkVFxYmC<P@2#gqz zo!Qb(WaSDmQfX~>Z_Q{1{<wL491Oq2?A!?t#2E=28E~g{EmiRg8+DcVoZp(A3YHCC z^&A`wYwkSzcj+J^;Y{q^?pvGzy1*f7d>E!eK>}kRhmUEhFjHa$P}|W&OhWaM64)0s z5TeMP?kjdM10ab=hU}23@Ypk*z${r-RQO6Ud%x)tIT8FDEA6b^{EjkT&O)MDL%}4R zMVUt<`R4H{ZeO!T-q`6Hg3Um@XL}pcXbj3I=ZNxtk9IjkNL}(rdw!*mdJ^;d%wm2| zw2&HfVVblZ95-A1V*Vkru&VmEGCDhuCfKMv>F{R(2Du43inv#r@-G8l5yihXK2*u@ zFqiW&n!2s5&2M?sniia|9NA`a#^d$`bRPt3C8FH4>;EL+FzC`_rwZ?{g5)y8?;>P> zHrD|KbvB$gbaq~pyWp1AWVg`Cf9m?tyhvDI<_qSwfY*ifWy%%BWD2`Y+e&=9+@|DZ zBXkZ}3h7l=2T@qe^sF<?TolQR>N+uJx>rE3itLScv;S)+7RL|5@_c1CzP$zRGke_o zB=sy9#zX5eT6m4286`y|d<YTL@$!a==1xCw$9RmY5P{7o5M;2%NH0=eP=UQyF#e0e zaBn!Uict8w!ghY;hMrPZNf2<(@dEMAc^v>pps3hucfFrQGoY(pbk#EL;J=()ZVw;T zMJ@P84<FBi^m2&0BEUkJZ|Q-|q&vTGscOQZK1m{?D7-p86>_;~SH7X=RH^!UB}XT| zBSOcxFhBeg;#_q@^0E#(gXbMyCtd(u$GF4sRJ0ES?r9KYJR0{eWXprbh!6zOu0}Ul zZu_JRs0jvd^4tI2<j%%jnJ}|6etQFT^mPFEf8t+PR1X9`U^ET`8XxX^u>2{uL#{?& zA-58rQ?59+PuOj+#6)kHTqLv3#S8}D11Gir#j)qTI`;3(0Jog|27%f>k|X`c9auCh zS4<sj&n}5qw|=-=P1=Bo*Ql%Es=WZI=l!Ldz@RHVwXQf}lJ?I2I6|+ax>HgXXm@ag zTIe^IbGlt8I7i|UKPL?SH+zNbC~CX+TK!oFcLyyaEh{Ypb|?vCVj!cKZgEgm%tMH< zCwNDX9z5~iaZaFbm(*~MxrS@Y!6~dq9^@F@sRd-YFVG711Acg4P6+d^^|$kFfZEp0 zwW%ea{v~HWt^SZj;|y%_@i1w5M59j8SYu*v?5?8Tayusp_&aP25vPCsy997<SVC1w zdzqd8_?>A+cf8sKRZjiL$RAf?&bSf(`Rj!OQzopUp7)w^ua(_TxXVAsj)4t>BdIOz z+^a8Z_qtDw<A7KkP0%20FG>z*iv*;USLL1|S$;S(jWB-ZDp<ba)8KB%Y3a1Xz-G21 z?Zfemn$g&FosH+EHGTSrcs%gv)XQ-qG3fwKN}T9<7G^s=+jzUWiDvw7Y95=UsZtq~ z20f^&$egMdUh%#PIfb)J?b-Dms?OD);_uNxmK!cIB4E{|HVTaR%|4KvAW#lF2Z`wf zcXSFT56e&LVdaSYZVK^N_wkLAuzJMZvv~RBFt<CfQH6<!WxH&-nO{4KAHK|lZ=<u{ zIgY5Un#$AhDQ+nNte00W1L7tp*+M4gY3>=bHQnXQ;EtPG<$OJ!v?>d8v=@@cSOw1f z;~P;=0UDW%=)Cz!K~=>YOOX{&|1LD^(`G|%W(v{<(z_hIeKZjdEcgeRU_0j=UA;YL z24Q=0x%xD^U9fgT1$uoCo-4Pb_8rbNv!hyBhOKd&^67OuaEI4x)ZAy*V+BW2Bh1t; zQ<>je^h?Z#V~#9+%x5tM-0Tn+kr_rg$weF-04IvXXp)jDJ*7h70;o0kJe(7YP&quA zh9!cltIWfxnRTINoDbj4Dj}JE)JvF3J`3072K})(`+^reB)2J^sM9f>x?QUttK$)y z)mbpwkAyVoow&PZrTFaA^<t`6{^t*?<B&b(L<`o1^}*f5=3KnIbn42+OoK-B6h`5> zJb-%@CAp6%i}c#d)H>(sZtv%}bTs8@>qT4d0^-9a8}QJN_!KSkhH8EtmI$<R47JwX z-N>s89e>>K^ypFdS6j&Xct89-!u&1N^<QID-Ip7B0;S;8u4@k^{%59twB6HZ*_+o_ zX|GL(4ri&^NuS||ZodJE$;|J+)t;mQvd>c=QTx_D-dvWSHUy&|<p+&xqE*Ukz54#+ zALZ|Rjexm~MnLau^1D~^mE~tm>)^0Oo;e3Wha^WC0EajABf8DvOgrsPv{G>Vv;ErP z>`D+1V)fbH5TY-<cpHkGj7%m1_;T1x+a(j9I^6t)#oD_><8K9HIjPve-en^oAZuB+ z@=NCWL(<K2$4F6fo&<^uVXJYV*2*;7y<%#vyyDjfwTiYOO;XCQu!z!^xySs~6@iy~ z0(0{c%OZgp(mG%Hvn?1^b-Xb>dR6R9&6F+?r7W&Dd4ePxpPM~<Z0n8a`0Y%O4$G&Q zg6wmQ9I>^<nzQ$CwZrbi6Mnt|+Q#I=^<$u=C>N5np57?ucB*8Uf4e2Fvhd?Y68)Z` z#}Zd##CoMEp~R%wYLzKI>K4LEu^Sp@SD`G7nn?X6>sN{4S5gLrnIdZNGhMS3RIhKv zi0<Vs!fwCZnPrBmYsQP4vQ>~3Ek`^*<J2fb&nRxd$oRTcQi!!gf|F7LxHi!6e9noM zyLe4g)fo9$c}9P(oU|?pR_JBe&90<2J^N)GfcaO7#ZxQuC|_J@3ZCWYyY%DFmX}wx zF|4kkZ>*x0)&i+Xm~Kg%<FXcmruYdolUi*P1_OO+h`gUYDO9A#Nww_cd)3Icw}{$t zJ@lz0@N+`yKf^DCjGq<|wM}iM0L==>!>PgnvRrfz77tyQ!EsfXw?aY4lCb`K>;7ik zIU*M?ltpE}?udYCl(N*h*PQ}>Mk##s%mFz|rSu~xyq}v4QdOQ`Y^oV$fEWJ&E!PL8 zX&va0L@?a^TpVd@=#Y|tOGCp}YF>|kUMA6fktYkwsQK1pUZM@LeGHNCbmq~Jh6c$S zlLLF_muLRU-_vXV)E?a{uBhwHyq#y-{|V^N16QThDn4KMl>fO*f3khPA3hE~2d0vW z0({fSL;)`cA$lJ#Iv@9A=YPG7RiQy;jY$ngqCKDs)Av$ejWK0_>e=6fhh*;ev&X?Y zR<iC{N4ar>kB9vuq4qTx5?14yyvOQ*kLp2-qR6xzs|G|0YA+yYSib0;n=Zg7V_1*I z`r}|p)bcX(M!{Bz(ca58N<>fM=AZifGe^Ko`WPVqI95136-W9GrZQRlaDHeb>-MfF z)ji*B9N6T8b@Ktl6VhMGoE#Z{!C!~3V!J;4;yIqbV{B54Q`GxL0r;adBVr^{<~04) z_F(bI3%IsEf{{fl6@RyPw|0la>u2|VgiKP#FM55hiTZeO2gxm#LRMS<BdP@+c)*q> zQi?Oc$#>oB`*IeNYv%u!N_zv3&YjHNe9JL}Zxe1T%7+V>EI#k;^?m_{<XB19w3qPu ze05bfmu<I{b@aEcDyJ=bGtd8-FQUqn>V04%m#Wn{f=jlL-1YP&mg#qQhORK2^h=Fi z?0HVfvuEjYnzHD-z^D9hvIb*maq{xNyJS&msDqcLypWSyHGxwG{Gf^7rfrNH`8+I} z!{kMtbH&2|a$8ol@g{!d+-wFQl%Em<q!5V619?w#j87<!7EcoS`mZkVqWexMi40Q& zy9POJ1)2V!5qq~S(22mwTG8F2MVFYwXZ||%BcbhyHawrzxc*@QZ<D9dhZpu#7Z=5g zS>L?A;&QdKDuW)6IscXRnVrG%M@y6#9PMf_)u$Ao%4CdBz!kctwt9al`WsmNhZQg; zK8`<-S5!!G=71AN8PXITP@q^376aC_!2UN*yRH9Y0LC(aE05hGP5JIbtbc(mF(#q~ ztVrH2$-XIdHHZa`N2NB#hm^4?Zmm#U5RBFcBQU!6%ij+PZBR8)$ghfUG=>gO1Am=9 zY>phTN$R~t<c)NbEI(!?yCsy?#jhIkjH5bcu@S$7+bTJnU~+?x<u&7-V-D|LCxg~p zX{gndQP?leE;4i6NAB!jR$OPO2XAUbB9Y+?bOM!27K#{E%hY&JZoam~-lAmC3?}f8 zc#&J<e?qvZdyp^DvnGJ$kJVz&5zb!a9lioYPA6tKi;La4wVc1@lqTGH{rY(tLxoj= zl>48Eu=zX)razG(H8)l^OrBw!%1wzR@x?3~yTr{b_&c`Y>##(we>TIrfBL5qP(Y=4 z(tXrURNiw@phA{FtS**z4Dse6=t3Ix3Adh>_K%ednQ%#xK(6Og8o<ye>yH~V)fIq2 z9!V)GBxzW6IX8PGm%!3@ptyQR3UuJnMgIdfXpuaOA2?@Ms|x!;>jM5pEdD`T0ug{1 zjp^4tw&T#R$?njX-P<6)FN8-&_KCS!b#R+q18a~HQ&a^cnu|nrSl~Lh8mo6ynkj!h zL2g1!tVG`D@)2^#uiQOoVPxmh6bFzS-PI~`&9!DXxyfRs^hTk#qs{eWD^AF6sYGh& z<k8G4cz&#bgt#IWPl4FYpHMiFA3{QMiesu#uQz*3JD-(4S7f_ja*nGsU<~GGVQ{nt zAw}^#9<RD>r15*#Lv-#-R?hK`7<#TiatIwNCzCRvwG2-c1MOsjlxx1`7$6fzfgZ|? zummY+bSZ;dAn9vST$!qeHlgKEwp0YB+m}mnkpwANRmH-CUv^kh-_8pmB7c>!T9zp% zcgaCsnN#B7C`59qOfK-9X#PfFRDFmK2TS|^F7loGlP@PxEKu|P+A<x3sTexuHQmI| zwgtwObct{^0zL&=aG%$(vlGBokNk&l<!}E|TimYWkcZZkX@Cw-#A958Eu&B-KJs=n z<R#A+Tl@&)y1mWvCl2F2FAfd1bJb;E51^-RMy4Tl0mYl6Bv2`nVOHx;DEg~wh7RZC zBKe1v)W!VK%>0V*#fy~p6K&zWyNg)FS!F>c;hei4!jdL<@TjL6C;;VY$#2gYYBN@$ zhpPNnu5`h4jd%(3Y!0>NrR(Z2RBokpvtD?WvhSLYJ5=A2LbWlr!^m}3Xd}ZOY;TV8 zR+iD0TWkcD4s-IUe^+o~l7`Eo=X3w?jId*api~Yw`PI-A(|D&*iZd^j{LM)**4ijW z*($e&-iFI3L`#DjUJsx-K}npnY-9g(K3<t_HG~e(&?G!f`VesOlcLE2-?ao?cvSi{ zM6B|+i%gg(cfu9(z?ooflp*~<l|>hVle7Ega=Tvlda{9c$cCL6?}N2i<ryF;jxK=} zU8RE8j4F;v$1tDT5~GR^lrt?hRnmt$-y&g@Dm8IKDD6^6o(V{CbJEG#*Xh?nxDBmI zU|u*0L$s5kArBAJoc#tX8LBQAgLJeukyN?iQf0rw4AN3g(9+&+Y^KCwCy1@7gwZ1* zw#cLwT)=i1C&F6sM}c-j9MPC&z}eYvMrlS0chOSY*kyJYUc<MutPF{o`1e65)T*IH z4tB4l1C~Sz-GDt4&WUkd&g!nlweS3?@;a5DmMlxwl<hmL8*qoCsc&#Vs@d_KRADvH z3nGRrb*K!x=yY_XCvD!4wP*?~+KLcJ^f}UE!d3MaEo7MV~>fxWJuk5cNyy*G&x zJA2#dW(Vb5Xp~ygGCO%qri!Y53Ohs%yT+mx4T=~O3IJD9lN}z;Om`$rsva<bJfvm2 zp_A!6e-1$>E_w+9jAt)$rkffh1|-$96ku@&2><<8q+D#I%cwTMc6n*O|b^k>9I z!YRwzKyy%y_VajHp3x=5<;P-qtu5xRbt7jFDq`FCFGu}l7Rd+2#TQ}jy6#5PI&E#_ z_Vx%0ARy2u&J?Xs@w>lfzPbEj5cD%l&bDS#5oaCFVO&Xqt?uNB>L~?#zNo>%Tw^!H zewp68`u9HSn+Q#zYczE_EA;{`>(jF;&XuMgzQI+K<yY6P3Q8QnEu|lbJ6NtkH$Mvh zKc>DhxRURSHaE64NhY>!+cqZ?O>E=Fwr*_OwmrcF6Wewsdinj|`|zr|x<7PP*Y2*~ z>+Ey(S!*>uYhu(!*)Jx>>3*@rNY-m)zd$@8$3rT%rIzIp$mHVT6SW%RGc*}%r-DF^ ziyb<&QJ9{A$e5uu9-!Gg$@rIZ1FcRP?L^%5+=r6E9ecFSIOUQy7K%kK6m5C8E$CU; z7BTz_(pAc1(B`s>S$soC;VzZ5#yu>fnRBXHvGbZ)31M{U_AWdG<ctxOmj|99=bM=& z^W6Uo*ZnXBKA!!o7mgtR8PLpFqS;}PS)E8piYwKQp>#>Fq*PDQw_b5Gxmxirph?uI zyqXq}s;L29Jpx--2u`Q{-jz}hRvl=Zm4eH~4MS_<uTHU-2LIiTd7~m)f=4biMN4p< z`ZKdOS^(*2OW2Yg<F9z~A3}>p&&;vCjK8-6i;&Qkz(2w8i$hSqf)hkJi~)GYdCC?A zqK1o2c2)G){J6-H+jVzjS!x<AKL-1lA!{T7knV-l*oz9<xGK{uU>ZOzjIZNUs5)Y} zIYYQQgZKC0`-3@7(|?~BP4H@l)4P~6aUkD7P(iV(;jrs(*21>!NT$FT1^LhEx$y1< zXK7&iQiNM0hl8q#qav4Qb{*rhD(N|=7rl}&TgXz`tEF#KfzCP^ZLTJr%XEI>_XoXy z4Ht;l3Dw=#_YqLz_w_XU3QjQy5dXm$2TFy;-I{vsTrlR2V7<?e@neOyW}j{G)eWw$ zW*_2k9oFbJMj{u~rzJRH*Ocf=#xuw=FW{d3WH}!<Bn-^8d4V7=aP5F(43n;wpCUDy zppWcKJGU?V8kcWXD0#Pzw~k;RAg?Qt6c-$4Qb4tjHN;RfePi#iU9ET16;OE7wRoDL z+wN0_Mo=P+7e)e_kqR-i*DoWPTR&a3!N+E(uA#5WpPR3c&0EBcYw>)Yx1k#{2eKRo zxfYeD$xYu7>nHU)-}6yLIi&8he}rZ^Ggba*OG?S+%08$6WO>3~)L^aYjJKcleK{Vk z{Ol-LuS%d8#G^a1^U{0M%zQlOzU@H{F}T(AOyMGT4Z7LS`jupdTy@oO84A-RNAg;F z5EmbIwhXr9bEfWl#=UH4Ap1|m5J(-a^5p}pjd!k2c@<=#Uk}AEyb4W{b9YwvCm5&L zMo|6<4`N0mU`By>RX^ouUR-oq!;w*ed?t%#+IAC$<I+v~g=7dEk*qD*-Q-<SSndzE zS}#|cy~a_2*3XgjRRYYX0f@>Vf5#F+`+qM6Hf?mA>(p91uDMIYo|}CqwZKS$z)(c8 z&%2sl(61l2latu3uT>cfE0GL$4?IMb?Ju+nxpiAlv@yb|u$=JeaNaOZarHrV$T5Q* zbS6?85XrujWRBQ0-U(TG=dhOHjcnA1=Yx5)7E<zjd|uK>2y0C=MTZ7NetZ~@k2Yfn zL}05>iCO*U1DJ1%!hYoBnm`vA3`#6z_iOTci)0ufC|8c3ZNz{zqp`s)ou%F*9fOZ< zwYOwM8p1vvmp=e*Yf?p^M>#&Kqu2LP^}BN6(|xr$>Tho9WTol^!9m{I-u5A>$r2=7 zT{KWq25#-rO|9IWoU@Z3WIWCJ1W8Kb`xH$0u0cOHA{&<Mu}5Ak*MR$o-X>g|;?uu; z*{AFNa5!K*j&U-_v?jeQV-4>rzR;4oaC-<`@GO6D1&bi6Q3vCiA3*+*JwOl%##a9V zs1zZO6eAMwk9c2~^NY6$qG<OdSqKEbr*3(&_z;z7(VDk>nD$8`aW1w<<BhKYv?J~g z<{xij*g@{zR6c-h07w9zC5sQegE=#s=czf<M>vW>D@cu@3j!}snFc}_(I$?7s3R3g z@|X@v&mN1~o2(FZTdAh=u`+V(lrqFBX#+G(T)hR0zO`xzY!83CIvA5tD?&IJ)4MD- zcWUXp)g6b~`+}&p6d!hn0G~8LlmM-#T_jmj?n+aFU-{&Gz`c&YemEQS-<Ax<WePhR zjr0`9Vb{vm^yfItUKJ@Bv`{JG)zc7Jh}=0_iwa}dQeztszBx$+L0#T<H^Bd99ID3S zit2HtwG6S-)YHI8)I2tK+`p&d!*XTrUFcduW3U8{cb3FN-HgUot6v!x9UF-W|IJ3F z=ANA4U@rl60b4K0x##*v{59Rt^8`YF<KegB&5tPti#f;d6z=7T?HqMGV=5_CdaJPV z?;G+%#ta(R8hx8sQyYK)fAEg+{;CSTwpYvP8t~}v8P1<h>?pQ@D05I1M!RJzc2A!_ z)Q6dCvo3<|NhZ{^_yKKnID9+Gfi*|URX3}{irkp7z)_K~4k5Y&e2Ta>B=`H(gpA!t zNqUf(Fl^MmaOJK8FAuFCLr0$B#0eV(u0Y>r*G!&KKzb)Fvj`&KCn}59551voa71;v zKi@PA5SWz(lz}RF<Aksj+6h@@17IrUmR&gv*v6_J)0oo@mMqA4sNJ}i%(47Mx+l;u z=i9yYK<p{M((j_IoBKiXRKzM2=J$+6T;JbkV`XLRQ4{6Jd4k3gUfPzHH|GUQwYyDA zMGB8hUDmd&3<1-L-jW*2@`Dw85t5jqr{C1aBFs(LEZq5SsHd3xEBm{JiBc=evaH>? zCmVh+rn=b?BvVKlDt-UUXJE~WvvnGH;%u8T0c;W@J+!R-vR|Eh-s6=|A^4@Sz!>v4 z80NccPXl9Cdyuje=-c5<(^~hUd!`%R&#}RvaO<TDlFJeUO$JX7b=UEZnA1H=P*2WP zS74JK#hztrfQ$Vm7BR<FEJV3yD}XiL1E40;Ma7&lwD!Ym^L;J;sTl81KUCI!f`EE! z7tnPn@6v9Ya^e%tmFlc?QBcaY^lcDZ3;RR=we>tg6bbr!J!=5hFjxtAl}=lK+35hJ zuxlK=dPpA<G?pgi?ES;1DF}P3>?B*D<H7uk^!(aS<-+>>Kml4qn&dl?uHE|WJ8yMG zQREeORF&iGoq`0f4TF!_7$&U3|6|UO;>)E<LpI@eKJGeNf#w~iQ~`VvVl6e{R#!~E z66?Azc@PQ21#a*ZeIZ2qB&&Gqb*#!pih158AVVZo(Ad!kl1dsHyd%?89e0XF(wKQz z7?%t)2u&lDCAth9QT$$$(|fpwn6%D!aoW)8V2J|U?Sj-&KNHbgwvDNof1~A96*ymU z!?boOCqj1*`QPP#35{^Xo~#!6yPJtZy7C7ubrL4zX$L|o-&$8IZp?O7qGMjlJnSrC z@t0!%x23Tx=&-|Dppk57o}=8?6D-AIPi~rN{~2z^+igVY1q{kmp32Y55-93wSR`uh zI;>mGcHc6uS!{sN({^owfYg6mQHxK|L;0SH!Lr&`s5?&oZ+@WZ+bEOqVaARcP4*<a zU=l>|O*AF1Ae9fTYkW-`G{Po(v&u5C8hp0egzjkTmL{*X38`v71aBweDMX`1&2Lu& z)+uTWGWTZcE@cf>p1?e(O_eN7YbBfldq|5qPv{_wKX?&?;ehnu-$?2L%UM?(<x>Vo zOFk$x+K`(*A1iS&!roQ%cB$i5W+XfTqmDpagP7a*gte?#jEzKqq^on6)CP>w=!PzV z&MG(XH|eOaWnpCNcz~3|d`L8Wm@n3I&p!I&e@UDOkBKy7nz0`rl={t+E+J`<fKuaX zRxpuZz+n7q{wvpk8!|PX577=H5aue4GTz|e$-CsMO)k1hyG`mikR7M})~8aFY~$d< z3jU6OK9I#4g+_q+>Ey1sokt}<UV=TUwA6gRjpz5C$aQ2aX4rRvnL0(h9gQq!jtc`~ zvewNd-bT*Squwz(55pKLdvOpH7I(nAcs4Kti)9-EGIwO4KpKQSL`jY#6yot9xJ*5J zK0Td*`+Xk4DA_Tohp!!cd_Fu4ECs;`B6dTWH}r3KARwa1>~H!$98ST#QfE%lq>{I* z)0ZELTNU3T7w-?z^2}D4D_-6I^Dax2GnsJlJ?GG{eoI7Gzjrqre^AM}!W?YI>e`QL zbx@uJc3XNqF01v}?54FkA}zaRc+8san$CKFcV(X0TY%uG6CtWki?o~Hkdfq*S{-jK z6wPRlZo%)6{PrZgo<TYPE5o(?7DU#Ixe7XDM>KG}f-2%bJ@>XrKr}_!E!uBPzG!Ge z4*VCvi{DG!-Vp!xI&;y`u)a_zoPe>U9ss91Zjfg&#$H_(0<yP6Mj#^Epz7}S+_NFD zQtInu)cfls)JFoZZ9(r_a@vr3DbYc6!4iEB&+v4n<8=cQS}jRDR0Tu|qP~OWBVH=E zUTMD#bC~<C3`(LiFZkT?oPB-nG}9<>s>8se8`5xF2o9@nS<Y3CHWx!YjXBqh$${KI z*C0o*iD?w*{napB{os*;{(EJs4$_@}dR>Y0;k(ENouhD5^plpOY%9K8gRrLKmWA;= zL9WE^YH7!ZMVwWgCCq;W;s<Z>6qVBkBlpFT*8-Z<677Jf>`WFtJ6^W7q8}{meYK6g zGl!6VUZOoq?ZYTT7}nmx9l)1X;1m~C)!fP9Tky)}8|`g1B*iwj8B$>-ob2oaE2edF z7Dq(_8)hubDq;!tlveIjWe;VRNlrU0%fuD+Rmk1e<YKpXRF?vHGS$bwhVTfO=?gsw z<&qYQwYBr+Of4Zg{IEv88$M_)kSQBC?zB;FJhF`%hEg{<UAmVdFJ?X^Fe>b{@+(O) z!VeE6#jJMA*(`47ZEl-mM(^f*xneQ95=$g+oK#P@FDQ%K+na8JcQX={Z-gZ?E}Zn? zSydCV#-w54xUR0(an$L$+16M0CszSEGeR?k?{FS3Eq6KwF)PXg#<dxlm0*snXLD>; z1xvXXW=}NeF1g2dP!t|OPD&xKj5YU`VyuiW(Gp6i>b}D^4IVg%>PSevnCuvtq3UXl z%<g$3H_iTLC!VS~_gj(t1DH(>aySIZmIM>RWoU`qW%dV_XT)oAfEC2to4+tk<PlD$ zB5`q#TK%%9#GQ95*U!z0t|BO5A8kM156F0*`s`kC@LnXPrrivnS;UTdDu)eMiW$eM zy*@9Xf-Vei*?=4K_|k!TZj8W6+vGr5fN8un>7k3fwABY#H`UG|X!PdvbH)}~zMtp@ zBgvgjQ-~!2)RVC_Sm(*pdSkI0@h@3u0fKtbJ=^qUqd6yOrR)I{A2-2&n2ot$vKP4Q zj5bjXZBRrB&Vmn|!d$eujp!S-Pydn7v&wz-VvW5XESo4VefJOy&Jj#g-AgVSFzX*O zhg;szkl&=$*z=a|L93#4g_uyvKh7Jf?f1g!fm1#%@0RCFT4{h|Et^E4rx%$fQ(aQv z%Iw8~l{q#c#(Cg_0hul?2#_H=Xg0pcp}roCia;w>Xvf4==A@nXQmJg7R(Xv|`pw@Z z<oiq%AHE9(;-Lc&K(Mm&fVAlVVju!k00B@&_5j9$f=<@b%v-Bv515O9{sggcoO3uF zy(@bnLO`GKgxbb^<PX^|Bv2FOsecB%__W^=cstfQxH&^XIon%C0eUg72?@4*cKbd( z-{6;l0r7gdi7xgsw}j4n+2cxvDDYp?A`K!#fL>46!zWvYf9o*!6oGyZUIqiFi9m%? zq03RX=6b@lrswn9lS<ulRauIx&0eny8~vr9O10MY929L^Jujtr8{j#`Rl|Rd^XYla zQD8TH;BNe2dY$cV7<2sECE%?6)jszZJ3Mm1vo4Qn4KvM}IYaR3G#SUU1q0wmpu;`? z9U+CrjIS+7HHR9}9_QLI%Z~Hp^Z+YI1y?u@7nZLl7je!4d3@D=+xjZDSI+OIr78Aq z&7d#AHh*4E9GX=hdH03|oN@co(vHRFUex)Hdq6#0Z?#&}QxsP_`u#iHxr6E4e|y$C z?#mSrRuf$~98Go(B=mbim3N97?(Ow`eh4yJ0&6ZecWLIb(l{b%D^1jWnE~qlrSBga zg+u}@LpGO@cYql*EOun*ztq!HtR9;=nT>I^W{hHj^>TST`8FAJ8|6QqOfqdP_sTO4 zC#TAeXj>~1ojO7@2gL4WkT!$r#~H`r+SCg|t*wx~mIpV`S=ZtX{-UG*D@b0=JVQ5T zPFeX;TZ{=n`9NZn8yG|v=mKh|#;c)R;cz_T6-M+AaD)3WzQ!wFaVj(Z5g}fCkka#p zxpMNasvhR)lm2JkNk~0XIZl(l(5n9LfUbjm?4^#}(M&t9r!FIA9P}|DxVbPCybslJ zb%up)(luHo9seVm0SdR5m99)Y4mmV{!$RlgPy;X(k5JmHk?4ectp(I{QSRU+(@W@k zVdyngRF1&Q;)=&Oq^A=6>pVcQXR@4IFs^8S<_LZpji02_*wVt;ZW#aTQj>6DBtQ>6 zeHUDr(%^>!qnKI*LJ_)SfVdQM3kZ|^dvhX0b9{k**&Ce<!VnyzeWk>da5JR00|P;x zeiRJLGHrk0%$Tk=sTI)RLY(hZyfb6C_94qNAfU^Ax7G?DXK%UfOoHAVDg9wU`0XOY zsRnmTM8@!p*#-(87dn{Xfm(2PmfU>i;vUA=T9^&^7<p?=MurgCO$mLPr1LXT7($;Z zI7b-I>R$-qX)V`)G>HWQ^kHC4S#Mfz@`i*9MInAcfE?@YtUOR@bwyf|0H5)38koz1 zD1n((7%h#+COu>2E;$Z|WL%NEBM4&+Lt$L-dj~PE`$pP}H}j{Q5(vZm2tIvKT7>h} zc;BQ&Z4g$mZiRhn8Zph(4qZSM2nS#MK`Pq_-Q|@?t_3{uQF2nREEK2;Ngin?zc6Mf zVy~gFtX))1Bml}Y*i4kEJ8V=s7xTE9^mDqCc|JW@8i-hZxH=!P)Nb2{W*zru9IZn3 zGvO~hgF!vFg0nG8%m|pmiGrKGMSm>;tH3GAD{oVQ4L9w-Lq;FN?G_3q%a@&sk_vwF z?H2JN&{fT6<U}VLB}5~VI4@JiN(jGVHC_fEsc_|%=LX7g_2`WZ1Shg`_Wglk;|$jc zjH82`$s!iyrH1_n8Gu1=Ce$x6VMk3q{|=w!%8&H$H+5JyfO=4WBN<M-eNz_K{9J># z$nYGt;enJ#%=%3=%O$jWUzmYhHLYDtPTHz^-0jWEazxMGZGQy`ZEyYrX!TLFTOcIC z_`n}F<^$x$)e%1l)|%~sW>WBk@#yR;LnlZ}5y!%%YGkdeOI*8WIt1qdPpVdEGd7>} zn6Sb@@w7sGj%=Vwh6tfmFYs6Yf!v%eB5b8NYJOCF_ye8~C8?Wk#Dm(79@(z<X+Z18 z_qt9L3@tDVut4N@tY`_@K<r|nzjkoqCJZedG1kDYS<DG=>~9L_@p;l+Kbgq|-|E|P z9p#*GzeUBv<DDXj;h!LdV89o_N&RFS>ppFOvX{PH|KeLU;F&zZbuclvSF~E6?r&Ca z<2=5m`N>!d`aWA}1!6hu*|+{{c&q0A@cXm{qj~)~2}-v8B>)K*B+&HzL%Zl>Q*18B zuk#&5j}7<-Py$im0QeA}UWpz=nu-j@3xR7OI~)K5;0Bb11L%V_aw8}P`}FMqnc@PH zz^{rxFSvj>a3BgO@*7|UKnpU#10(|ML63NVC&2gCOME~K1V9nwLj;HfFo9r*0Xa}G zhowUBpbBC@96+;`mjuub0iN5_`aljC0-#<MeF!heZ|JfiBV#iC@bhUMrv#t@fc8&Y z#f#aSS8@9g&p~$hsVKK7>qU9|pV9uAa@VfhYc_baA(z&5)!Uc6(u4Jv`jol8!W3Lj zSsO*Gmyg_RQ5>qRY3alWHJYN7R)oTYs%)d?4ND`EcB%DP>sismwT~Qjb`%)v^duaL zO@CkL_VtCxC>^w!mmcVTdl5K51JjxhNn$<iN(4<CG~GxN8i#nKW)Ndfbfb{}rq9K! zq?5w;XiAcM5#H-LPvP^u5(Q=(Y|tG;9jC9#p|<b=1(BKw1c&YR*JP3Zh)UMfPK?g* zFIS@tPVE8I+=29wqY$>EvJjXKNkwptdA1bhq$hww5*cTk5?fmva?5XeK#_TpiPqK@ zA*y4Y!1iU{E7&ovGt_uXLShfA01na>EiG%nxm;!E^X<%xHn`$v8_}`?8cZhd5>_D& zt%%G}L;e(rDjb}bA_XqNSt$1R3dlnIa!3ixj{In8S{CU7XN=GHC1Sypb+~~}udWuQ zZolDEVs}l<hWUz4Qy>0!Iy+~?;cCWRo<S=DyGHGa60RZ&Rfi!OA)k1U9t=mFL95<5 zle6E1n{R_Spg<bHJc1DqAH6G9@@%Y76v&7cAO&tz4l1Js5CZMwwx`@eI7{_44x4Y{ zZK5`ci?Qt0w*yS&GXLpjW(mCe*c(d!iD}6S(T8ghJPXW<YH>}d&l{;RCvEyxG-UoO zukJFfSE+Uy4=GD$=|fK7d)mRGaIcL(ojJbJWU4kAv*&RP(hta+Lc`~`9Uwq_<H_Uy zqd|decmSx7oILF8Ab%c!SZgL7KpV+c_V$2C8S%F#3CwSnfX1HG9r-44RColm8Qv6Z zvwk>K5eg_{lurf3ED6#=T2tg4Dk<y%*#sLE&*#pVt#%x4Ne0nYgqI4m1}iT9k8yBF zuyberFRDV=((C~&-voippO&MJPNItsh~FhqNFZY#00tuW|8sj{<6z|iwW@!WV1qmW zR$vs2U8M_aOHp{Ym>BKnbrtq|)x_uNC-Cj@1VL!*cW#fj>hD~^_Z^wq&u9J5tG(9W zMqXlA$3o3|RS1VK)3rG*MyD3pgNaR^v483R&I)z={u@8&HT>3VYRd%ldeCJs{QGP7 z;Aw43GF|zD)6sFfWRgj){!0!Q`0}=BZ4DeKXlU<Z9G0}O2R<HdMY)Q3q*gUBF8La& zO2?vhy#$}XXZcxN?Ao;X*f;N{lu7|#QgpMTatNQMwQ3&<z65b`=~JAWK()$Hw)}s) ze7r-9MO_YWRmyi#!T(j#MQ5qOgSJw7v$<%CCQI+-4jSqWjr<I9z65d0D^)L!QAwG4 zb#r$$@>X-ZSuIr#Jag^M%f5qZMWEPUs*zeI%bWAwK$v_08X)lV@gz*iP9?|6dHToX zujGoQ1jkW|;@j-zM8huR-wC{dtK!XV<l0JN4ND!T`X@Y0JZamr?dUI=8vl5_2CnW8 z^@*yh-6O4x1Yh>=ZjE>ks+?UZs$=Fr?gv-mKlnett0S%(t%^5_BRI61;?*z;9^0U} zyN;RqG<dp7;{l_xCVy2>C^H`@8&_tr^%VjO%}Kg6Sy7nwhf7xmUlmzuL}&Z)BgqCV zlJ0J9-Jr~T;lR(AnX29|vK4Z=S}>`U67J8M1=QDdlYagIZ8@D#)wWsg-}yz%HfS<$ z)a}O19rPF*t*(o|9)oQV$ssf@&2ZF)@Bav7@QO6LhX*pIOGz33xSyfh?3xHp_u08^ z6;)kA{}_l&l}%Y(i9(#I{s<B5r&!p|qRgG;%YB|W#Nf2T>9`4I?DWz9h!xK<He<b9 zT3zN%`I2{8zD3nS*3bS@yNzIN57=B4H-JLgNB>2<fHwSyE-<gc;F+gcT$aa=q$;IL zu1IcUT@4&TR7F@3vswfT(M2CprSlf!4QjT6Tk7BqH)ju*JQ=3(0(ZrRy5$TP(tj8F zmpnyDvl?GiSD@XAA}vCW#tRn?fezqtyr%~Gp?OF;-jEOjvVxE4JFw#eV_8$VKG&qu zwS(I-o5oZ^-@mFv+5!cgK@00nOCMGh+5-u8Q=nfIjjW;caos?Mu`-xyiKwaOzZnTx zxKmiQ$9b(6@efAdiU-ln$G1a0CHs#DszvSSd~#)q!n%pj%cCs=XEYES%|Px*YA^9h z#UzESH|MGYc{{BQ>vn@y2h*p=>)HZv2V)sAg7Bn6P}{KEjS*Ga2;Ukh{e?}3i)C%Q z14y-p@;RcRivpRVhw}!G_h9X>v!ji5cVILD;WR<Qg-^G;N-NQ!-O*m;l$_99S~Yyt z^3%jbPKB+wm<VF_6Y%Pa3Tt%^4fyO?s^*BU`m37dm-S$t8NMA=j6u^leRKPuC4W|_ z9$J;6w4ZVoPIu7_8~2od9l*LjQX?L$1T=<IWko~FAvN{}cXV9*j=Rk8JuX?}brL9A z`nk509Di}J0m0bv!N91g`?zYJn0K^XT{*$O>y?XHC`dNYN}Y&{e~g2x1%u+QZk!GA zOrgB;VTC_XWKt<C`_e8iv8{7HHuTdqdMkxSgBEvv5m#&(vh<^ERr%!oyMN4}hn@)0 zdyFZxl#x1_5oGDv$H#5Pk5yEpe+5Q}G;ZO^k^9r%%7>iBv)KMUz_EiA@+m|h#meOi zqxNazIgRfBK-`Eu7pMx_Z??^=IZD-q3^_}H$KTCfIgI%!e}GVg05$*tkdF``2q=V7 z$pxM!R|05V%p}{Mamro@IM8IZZ)cqHKL`>lmA7==W3WvEn@ASri3}^69J0$+*3D2h zXG{l6W}vZ>6cz%f4LmW$!j$S)X#~n<JhXIajAI<3ZvFizq0#5>;Cm{A^uMQmaMHfl zm1EjZ+a7B!a^4q?#N*&~^6XID0QwkOxqkeyYIaP~<$kQz%<dMe)&y@pJiHSWx9YKc zft?FwjLIQOi6Enht7#8{qwUK(r+Ngh#*!zq#&|{kCSLtr>D>4<x90Z^z=AFvM)&CX zyRzfbU`EEuVWQ=lZA&k{pdwW*xdJi!=*kZdgQjD@lMU}k9P7EW$tyR--@ud(=9QN& z^#SUY_OCNB_rXn$`6TAT723lf;v%kETj^U4Au3!VOAr00(>NsM9!|4>2y-_9Qp?J| z;_$HmR%Q6-dz1s}z@cOnynOVgT7D$AeF$ylW#E%~(WYCc!N+@HqO7h73LCl1Av42P z!(iVXe&nPNqJy0}&TZ#2um!X3i;oS;<ynB?UOpA=S+u&LZ)QH!tHz#HMF`qdptxih z+2{y!IJUuTv_}LF{@FD(b^Mf!UCJ;td1*<P7Uj??2!`s5@pH#p?=&S4U4=of$E;T4 z2PTZ-2P7h%L$@H<k1qbX>sit}`51aOBu+37@wjy8$U&qMw5%}!ptCUkBJr%A`d|y+ zZF<ABzVq7qGDU>_AB`E#8Z(_%?!Ar?oAXI#)Yj&`qE$^wf(&fTeBY=dam&s#ns93X zjZC#9x2l}9j1|W~g085nzI9??*=yJI>&>X};4$9lRtoF}x`6c^%WfM5dSDXLPWWJ` zF#pSw<txh+WESKm@C%a6_v{2izpaJ#Wj0M4bJiK83b6dxG>FRCtC{a`Yh9B+8w^_m z0}R`4|Cqy6?a=!{(~FRgLR7N|r4H-+EX{yerdbIU^=H5zp6v{iKrmyTqWDVVdg-0F zEINU7Ep83nW_G0S<NiRX1x!vcRv0(;R+TqA(M!XvKtAt=tK_~XMV_7Z*Y2McuG5`q z=M!_p$8y8N6-nV%RY#VXdVY&e3C7hPtah8ur~{fcg7((#N;uOO5R(`H8%PE{INd*u zbOlR%KdH<Jx*m4DdgMcNFK?y-Lv$}|Ci}l<e~g_PY7@A}yi_4<Kr+~(VKswtGGbVR zyoHM@1))_xBw{u;mN(`Th9t?(Zff8t4egBuSUYK1zSKRl$(Zy7^**EtF|ltpOW%F0 zm?HDYiVSizNy`&~6EKhkx&`6;n+Jm9!94?VU6h+=C`1vBx8^Z7F&dLL3_;z8oqLnK zm1|WUpDuKBJeHf(WFB_IKzX6rfp`uVVQf<<Ci^sVJ{OFEnah${QiLC2D}z+V@L5C2 zmaMt?MW`hGV>}^>&?R~Fs9Na;uQ1n4Lx3gXn3~03-nG_&IH0XN!1GjnExV^aXBNeh zb{^Li$Gh{pbp;kqsj+og3cqsY@Gt6^0VMK@1024+I$NqgDQeG4f;~92-juD6qEM{y z6Xg3XIJ|-Ut4L65q8g1YXLi3VUT@x&|M5I{`@hd>vi1_KilDEh!3nfvfw57_>&z#T zvHPPV(>hY&DFangn*>Dgi0QCgr)P1*+RQyn)Knz(VO^d2(uL60%NGW~6uI584NSDf z-J^{EayncV*_y8eY*pXorS9PRF5`_7abYu-Mqgk5N!c6jt-7K*aCsS@n6A%~b5rG+ z$TbRv`n8yf4{Z6M)wzg^p6P}p_}x9E|2@$@iZ-RvdK?JRj0g1g@*7H#t1tsGH=6fF zU#fW~oEnS%enR6VgO1D<p9=O9=ihf`VL%kJ?zrJe%gJ-jo!VuX_hjG^Ir1+Hjgwi5 zIriywbEVko8aO)Zq?-qaH#9<an{Lg!Zr{r3W8juL;@=*)O4^%tL0*}uZ~uYemkYJL z^2U8H#tO7p5WY$(NuP=<aZg&rDR8RD9z;;)c|wcldqPWUVuGRip6K#lZ9!%ymYmqR zzpf|16=6*4&faAnI4K0)&?a#h{q5Knoh|7F>@I$KxaIn_>SE;Zmv`XIc;)JueaejW zI2^B(v{u7itu3PT!sxmqH{p>$ZvVo0OIHGM46q1Tl89kj1VcZ5ufQ+$e2!57mc-Z} z9Jf8g(&LYTlqRu^OEkAp;M0Oc%50fQ1Kdu3eS5dA!wl?sv?ck6GY7@*+~&=5IVcD9 z#1I}PSha`RK(QwPQN16atALwKI&h|GqyX#87ebH4OFyodW%)Uut=gX^!cWQ4sE){t z0xTA_iSn3QwNnjfp(+xUYGzoeSO1fUp&AfhQ~ZJQYdHNRAg)H-pFQd0F9S>VFLM=y zRzX09ry}DDleiG&M&JQ>e|8cAfC`*7s%Ct+Pb}1_zePlt(za0_(dMcI_LJU<r1rtr zqkcOF>Sa5}?3?ls`f48HpF|id4a>TNci`J4Hf%-lp&|IMpT=zI)=U6?QtUbtPcb@3 z*0NFZ{Sqv)F|ul~wF1J%mP$>R7NTYNf9-T^N^_B#thHF*$#GMp+(b-xxRH+$(H#Fm zWlL!pdeqr18<%OP+30V)GjjMyvXH_zpe1;<+I43OpHAj$Y>`3XQcFskk=0l2k^yt5 zZrM*f6k>Q?O8>z2MF>t8R9gMX@64C{iGOc7@1|Bb`o2}Ork*XiaS&742IcD#d%?_S zM_@l=EWoq8WwJ~94u3lIzN#K-71E;6T`o`e^{*@x2><@g?O1R2WKa9ulmXri?jq$x zstHzgR8My(UL>26q!Am57^PX-CJM+qy=tc$+(Okv9bY;Wt*b7l_zO+cOWa@GlUkTm zH6Ps@99<xQa;+xJC1h!*ZBy8Vd&~oo<lF;s4WV!8=+6?W)$^Z3MxU(KgFoAAV!}J+ zbmh%Y#{8~O&2F2ar8Rk)bOE}~r8V@H_VTWz*S^QIFrhhw2Ewz2r}I%P2Zun&X$rP> zDdUFkUFG@qUNgSS@FktG4+Qo7XQ-Z4M^D}Ph}?SP{Iir7u=lA=jkb*GEz|RU_q7UE zTVINE>DG8itDBG;F5Zf|;@Y{hCYR9yo-X7+Qj8FLZ0kQ1pX~Ldt7EZUK3kyvi0aP1 zuVE`ASc>F&t`+EWizO`%_FDiwcy780lrQCVb4@3fOm_VDCq))DSqA~-SzE__*#%&i zJo~}ru_o}sHb<&nfG~OHu$p0kf=;X_n@*F!ufgO=3e>?=+{<=qn;zUFj6Gv8cO%^S zT6nOWdbosb4{J$*^2f?2-<PK;5>Yh5#Z%=~99uCc{ukqo1GXVk?gEfKq9Z+&&HP83 z%v4q=3Ny-rLp?(mk9BA9&M$9LBrbA954$q#Ea?F><z7!^!$}PtvV;C%qB<S_7aeUd ziUZB$!x7J93LXTnW!uuUF9XXmFDL2rbhI@db8Lr!#l~YiHk1+fu_+t;Hm`Y3w!6N^ z2Q3}1E!rx>vU?)=`E?+j@Y*_^eDCVn1v9~d{eMVPXe#mhYO|p+16@yut<o&fP>YW$ z7GkGh`H>G)D3r)<g1wqEJVh?h$4_oqKiwo?+nK<=nnP@PF#l)?Fh9|C3M@gJpT@er z3=y$?o9K-m`!$i%%oh-zQ|B?!z$e}&5p6N%;Qk^j=+<VN2W0LGXz@%=AGLr<x5U56 zEwlxUiVMcn%yAZUO03!Fh5IaVE^w}ncpKg@u5A6`idF0C8szKi$PB*0p0LIlzqMUB zggVajmV!0#Dn(-x;9>IE?ZI9*C`E6UxjzqPbE&`tc^nSNB#nJ+@YQU0J{j=P#D7gz zolGv#_R*Y!fEQntawn_1#jE3CNp6_mXmiRGn>)<O#0de3jRex1{~)y!8<x^nn_HQw zln`bU0css-AYnHVEo|-pJdlkWF=W>-{Q4&nDtI#LO3gPzgGLa%W2GkZg@ytx?^tOO zcwcj(r;7%yBr<0reEl@VLQAH4w9OT(PuIgq*zE=wu<IV&C`$lYU|qLoQ)7z~<^yVT zKT&WO{g@0pX#eNm0C0}7|9&BKk#G1X6p@mot<x6RW@S`3NtXu60H&p<2xu|rZ|T8P z1uXvjm`L>utgP0Z5zwnSs4>U-z9jh(k_<c~c(5mib3X{^@fNtX*-=Nk3rM&#eogKD zDhS{PjDR@h0op+KAjE~<-v_S_aSOfeaUb7UVF$=fOFjYnB=1qSXu&#bF&}e}knbP} z{0G@l+0W*E$ak_L?~`0d=69vNAOEBXh*-6lN_i()G5s0c39P=1vZyTn@I8T|791+` z{DNs{+BMu1#A}&^BlaRv<^O$`gW2V$`VOu*WQuK&6dM3UKrRll4N8+=H9x^!*_0WD zNf$iNHd)i{V{$QYkHzsb67Iliis($?7|~h0dTsfFZ;p*Q63k@)g;UXBsasfiZ@Jd) zo~-GW8fhr~Dmy}Y$}cd_GV!08&6cZfYNSm9`Qphk3~d+62#Uw3-~+RP58hp07D;=V z+HDA69sWR#&@GW`S`oHLNoDHzHO1B_!n&dhz<iBbZDIs|o${0y;0!#FuM`11HsvRt z!2*=HyBy9+3-xf7?NUg<MK<HQ+q`Q@Jx{s9)aBXa<a3OqG6JUm<6N+!P7eZBk27lV zZFKKwg5QZP8tREHHu(4Tz+A3MDEH;^0pVb^D<W8^8|I^)Dzga?rXoPuLf<->EYK;L z6MPCzxu!1cN@Qp0rDXz5#&INfSakN<?XO|-(2jU9<$H_-97!%Z1sD}8M^sG&dO;_N z>`#1Ct9j0-`Dy8Opxx0s5$&+Rok7aOg}LvZbvLj&>Q}$vW=!vo$kb~PXi^ct4A=y{ zDSj<F-aGgD9ygAw)1`yTk<oKRLo*YvNfEO!qG!4|XAWkpp&EUcsaqkuVx6G$=+dFJ zzO_QQM>+mw2Tf(z1@qzcB~}2DEusBBO<%>UDHDTG2tV)d&}-I?A`=LOu-vS-I-i&v zm}NRb<cjptb_)<}**aA9{|7e$xi{}320*v{c^W*#5E4pcN+h8u@1lMrrn+5nL&|=@ zCJCJ8;6OxUC_Yrd4jepUjUnk6rna1-^0tC>Rs$lsYp3A`eVTOda;wG>OS+SQ{N@YB zVHbB&U+WMmz0>`(Zb6eB7ua>)@<k{{UyxxdKJWG|@_+~tXD@nlnhTvK47<1DcOWe* zT9nQ&1$@+12HO?HAa!{>bF*XLvI|_XnV4}7UR3o2NF6Xx?K8Ctk(S_4#Y`KDfU%=D z;d|SLO@)!LQ_Cha)b6G^%}ugC4gbNaEMeJ~eL+GYzCKxjZi_8Y$qG5beCBCWgX?X! zPhr}4EKf8kUdIhOKCFSPMIzkX7RYrVvW79S*KpF?zbUIojUrlM4}vTtV4Ut7;goQ2 zWP<+L#94W#2$4@U3n7oP@0%OIs@DL`Enk$##yl}%a;nlN2zgn)%^*6c)aGRtbp+Po zG+9?~vF)kXGxm26AIN<hTRwk%rl0}y_d<e_syinHjU^XD5<sQO6IElm2VA*|T^(x? zVW6^Y<VUsvT_kl_6%|}vP7lV_^oZ@edH&^emwZ~N(lt;CPYhL!L3QnVv&|Hz_@Zy_ zye5yfXTT92SrHk+w>ygvTzr6m7;!f6`1=<B`wmUNXYV?vT`P)94I|80=(QrwyqEKZ z5wH06>B2<_k5C)2kx@~A&C2poyowois^KM6MRkbPBh?R@PNMK=^BbyT!rJhq0d<(9 z@!rMC4(c>nVJgL_Dp@I_BFjY%goa6?LtIQDg-W@a2PU;Rwpq?znxerzif~YwzxK%6 zD1%LE`QS-1p)Ir6rg^!U-#_JH8pDln&+@E!)AqOQWk}uG!cEVB=1aV4g8t#Etyo{9 zhh=Vwl)KvCgFu1WWJ1UJ`+6q<oR!B`x`ibDEq7GfqJzIjS*T6Mf#a%+ni#u4ekgD8 z?VOJCpstfB(pSV*UlAjHMU3|q@#0s+9A6PHqN;4mu<IiYYp5oVe@xAL74$t)eN{oA z2U;UfEF+-SKkhR1J4wxI9ShTxfs!0GnvszP4y2m$KP&jLw2SglHq#mADR^m{<(P&R zo3%e`ay!&|FbcO8)tojgA=Y32LGjx?wfNPi{gJDZZHdJoNsKj7m|I&O6H#aP$$jh5 z)v#g}5cKrf3AGv)J)s)1c!zx&>e%-k&4Oweo1+JsYUTp=6aM+zE)`m?DfrDk2EWDE zstN|*s>vyip@??q`QgG&{$@u_C4zLSeS?jq6}n@tcq5Jk2EV1z-I867d9k0xR0*vt zsr`f4)=nsy;{f2j4vP2>wMfrb*=ptmTmUJd{%t1_pNJ<=oeY(*@eDsufX}6C-U?S& z2#f<W{dAbAdV4&%&^pc@nr?Wo6dgu=UEc6(CI$^=`)}qSv`>MpT6UdAew2VfyE>$5 zt(i;nrmr26+vr#Ow)Cd3KHF5&);{k3PmwQv|E85&;F=LSAeyti&VBr)#Ir;ti;(PS zcQy<zW@Tlo8!q17aBAcsBuu+DZwv&pjoX0Rhq!7oJkci{v5q`g-M)|69ff`(I<+zE zG?Y?yAG)3DMWz__x?Sj%WGT}R&XD4FOEyIptRb&nkgIsTkiCSWB?%}ch701NxYUrq zo=_xLN5)a5a^|CAzjd|Byv9qb&vt%BdUiz2AZz|a^U%o#WOZWs*l-sp+yac$&kxFl zPrzn0cE<nLhp{uY|7iu!!pi>t+8~_VT+E;cD}WS`u+`Cb%c$P|g_9!Iq4)W#6T}^{ zH*{Nao}3L6(L__+RxoTv+DR)Uh=j-pgFAKZhs!EctnalgRR-e=#;)kTH*#hFcfelf znd$xIbm#Dn>HQ*e6yNRj@bDF%@bk#_-`?WjMckE)|Hs54X$o5F6R=IEcfWN#bJ)?* zx?3CAmG}AJaJM#DdlhWR4+4F*dG}*a7hyf#jy|;h7zo}PV4RR~fAOXMPo|FP>dH{s z82fPeK;nO5`Swphq9%laMvp_!*_!v=Xtm(&4~~=9$etu8m3jRS9;-QdwMC(JlPFb9 zHCLefQy|lqOkL0b@p*NZj|jN_uX)cG;3({Wa`^{l@yc>w?+dVl-bYgho!5Gn{n4FW z`Aq4zqE>z{oPQXS8*9*HyxQtPLPNUjY~=5kifthw|2Au_zWOD-0D$_-9ahUNV=M97 zn}SW@)6&Sy%gOsRll{={`UT3D$F#SYfsDbKUA1$n<nxZCGaXLC=f~rr7MB&!IHM@4 zD8ZOLuuQ#3KP8d)O`c{HXL`E2I5v+nL7j$0bs=87++feC)$c|UH)P~sY?FMiRTIN+ zSZmMgn_exhjFDllAJNB1_R~6*+O9sVpC@AP_kg*BR^z4QkKKXDVOf7Y*^-^xA3?G$ z4uvAT`Puh##Fq43D23zLVo6`Q0{Nwv4<LLOvceviq`13|Hfm~Q=rV#ln8LMd%JUR| zE>c@HBqXISA0+Sdd*^@rPcFaVKe_zrB6}0>GVaz9ok=Epxs$WbdG-d+ZtY(>jA?e- zb&{1nYjs4m=3jF8{+D9^lgqckN=2;t*_d(2q$@%5)lXRvzMi24US9DVQ|h(7@x&)5 z2Mg5|6sc13JpKff7JRW}lM^i+B9j!ZXDEBLZAEo!<k@m&%|Kc^trWNH3FES@B|V3X z?64htDfsw2%y?)|su*Ue&{j0xU9s5fl7%4<zR#^2R!Q>8QV<!?Vx<2GC{9=%3sIpW zaPPu(<wqO%iJ8C(<cOy<YKatn|Ju!vu_Y9NF+B@e<zp`(62Ie(^J`~El3RqL_y>3* z20JxF!8Qq0(ma*c7}QH~uoRx&jkHruRD-`1s{+L-BymMRhh9s#l@Ytaz1j0c`_Dy7 z+4QasvuMPNTumZ6OlP_?I0@sxzq&@>%<4v2Cx(9(Ibky80f&nc>53Y#;1v5Yq&i7| z*NvqM(lM%0XOuf#u(dcLf*x;6ne&$93K?rs8)QWXbM;zvh(U>#W5c${#9SSXFjXDS z<6W2M7%J`!bhp7TRC~H{RXN_0nmEJ>)8Ze*iiPL~vXsQ0@ObG~Bm&-qiKS?A1fS8; zv!)`^7(;zX!1^|8Gy^u2R_7{2<7`(~SW9gg<K)P0ghr~A?Q@n*)rNeB$D&megK_>! zb^8Gs6L#|W(`W`+&!6lWox~}!%BK@OW<Dy>R@(tH97BvF&Lxh~%Xuurrj;VhwX^|n zvdDo+MHM#3vUpw@CsEkNrr?CdmYdhuo5)G#D?_=2!0EyaaUzJN*eRB67ok*K)PTqd zvyzWDG#9ekVXsMUo@a<G9)c{GjKO~R<lBQ+puI^~Mg5S+0-jv-lMjY-R^nf#rMKj2 z8b*#awh4eJDsCiHd(0><0j+G+uMVL0oq?E<UwAXMT>ELKGM>LT{W~Re944Ex6Mw~5 zQTka0j6JR7*h-1MeQm95GWT>PSp=6JxK>fKwA$SKd^`N81$w{iWY(LGEt_B<ZJot4 zVUWs3^mHItV+XT_c20y6G`++y=<Lv$nHF9<;$JM~U;eE(<{4ZGBmws|$EMUvoD}Wz z(x7(MN2@5(3Sk|_%AfF*_!YZ@2=x$4Iu!E)e4ktuid7-{q(yFCoQat1)%>>29VqgE ze<aPQoMo!s=iCp;f4fYn33eU7gGv|*!BS7vY)+5SMIwHN`JD}^j=|OXJXvSOl)d0e z<GlNo5B@0I?D3ZMjkHrErjYQyLp{-+nipTR_*{l>3~_@P`a=WeO;1=|G)E%gxK)G& zc&!`~-e~pXP-Zbb41bZyn6yhbOdLalSci1lRUH?0`DBtzx^PI5BJM0K8KXPOSFyhc z#X33QxM^eW1Tctq$Tn<8)nt}o4xOf%Hk)9pkyKdhu|&J$+#?B>i{#AgfjmhtFysa{ zD<pcOZF+`9m{7Z=j<t31<nAV*hyL3f2wr74Riw;$=a(-;<fUoP-39Afwdvr2Wu?=- zb4~lF;U63_N_oA^w?0a=zfq6DKR9P}r!gIE5#<L59BI-b<Y>sW7;=132*DgrV<V*# z{3=lsSk(u93l~6+)NrWFkB#;AI6E2V9MUOzIgsIBGC-^(-oRZ-*z|SZ`g_xb15;y^ z9PA}n;C-V8VuO^JFPChJiBJDV-JNDhF?wVlM?qho{J4Q^uX?Kj)miaI^Tee;--NY& z=`^bep_{JwIvZbTa@AW}<zB`6O7ow;1X#d+40$=nmYY!g`B<Vm@G+I!RvPU0s5Y3; zc><GINyjaPK91fRzL3orvifqp06LA_-?@Xd6?K@CracOMmTyEt2?B{y!tBNN#FDmR z7)}^)*K*a?!X5LTmVBio+Sgw@I^hg)Y2a2HwgQHaf$mzFoexoFtnNAJ?*(p=x8EcD zSbQj5_HZlJ_h=i{Z-a<KdRXNsq+nH#>4(+Hb9_yHfo_OsdX4F)pyVA?f#VT~FaW;> z#8U9zG&B6yS$o6|`jB!_O8cPm1B+{XGY1v;NvRlVyB1v--d&nK>R6miuvo2gK11Pv z8V_X2$1bdqzB|pB7^a+gZG9$ApSZY43-4yLG3mZ-v^eQpbi>+=_T?ghkZ%`kcPQ&* zr(Ne#jxKwy4HhM;B9cjQK<|1@()5RLPXV>WRj6JrOarNI65F{;-+AU=r(oO1Zw7;N z5)~E~p@o&|qpL_#TII3LM?AWE6Ar~2mn|i+cZRL<f$S0QLPf$7*wdcMKXFb>RPzUQ za#dNA)PLO$)<7Y9(<>QIL~H(QC~WhTv_=IK-atrJQuD@UTCn@G0Dm?W)F1tK1Fr`o zHBM{9pq14Sci)29HvjoXOgAY%8e$=$%W7j5=?xNl1A3Z>X>%HBi&ggIA;$zyGC`8j zBQ5aDgD3bGECm8!P(6Q&P@)W79&2J>C78AsGhc=i&a(JOkMmmtgoJvLQP@MsSW6(^ zcSZUA#B^Vs*5hViXru`h2NXtSd{G=4-VfEl=;7Rcafs<<JX%U^n!tElF;&lCT1y3F z<sE8B009TLzA|pPe_0Vn6selJ1WQ3#6)Ly2s<AP(4d?a1rXd!+QlC<E?`G`{DB=c3 zB}hecD9PF~jPZ-2eqjAL{hHn4w-F@R461c+SW!nRmdOR;NROI6GSuX4gO3PHVE*$} z2+oyF&P{+e!EL$hMm-To+Bc5qpqRJ8@2eW-WVNLwQk>*S(0QBU64x!(wR%8G3REAg z?#Wk;w;FS$?HkvpMbyaC%zQ_3z!g7b4qEd)_2Gn`|8-Ozs9b3vkPy$#1MAF~E>k#u zUuBoja@GkHC|r!SqP8o^g)h!`6B7L65U&ni5PDrgZ01)P5B;Xe(Gty7SdU8JHn2$& zEJhZo#`G-#b18WcIW(8s)8U04%BC~yJ8~S2el7Ri0(Zijmzmi(X2Y!^(D!?|0dC$y z*RhAKlAR(Y&BPC!QacVZ{xk3(bM*na@nDAd7gb)MA{M=;C&_`t4!T4JD3%#&0NIxO zn#g&ycGY!qsfXf-d6IrJG<@qX=R~zClEE716ckO7_1Z`~afpk6`!!QSBPplZ8<{hk zhHQQTq}>d~-Fmce?e9eEWfGv$gMNuMq)Ys_Aan9lp2djN%2PBtoDd`>C7P+KXxotS zW@lPph1{>nH}53vm~o%#Nx7%F!WB5m@Uo)srPq3_y>4dPz<vW;o@#B0L8lE4ShF_$ zxPwRfWe44aQ=OWfCfdb%{Xt8O3X^t>EOT~^WJda30l+$(HH!KoBoX@R%?&sjBMJ0( zuWnh?-46$JF3?mpB<sdb&W8EKo94e}lRgY!aM(5St&Q@A<2Kw#WrtL<7W*T)N8oK; z^PWy7V-jn>kO-|{G)ujmH2bJ^NSd<=^oA<yy#6F^v6?q>zcn*C78lH!$cMgDi25O3 z^JTmsF;RWpr65ozw82-^qNbPLxvNAyyjB?6DJwXOX)>BPj&aieQntOZW5Fz4^63Ex zGCOu|-Xxm=nK_NWnWaO|FM`Zy3w(6U2~~RN7l<?3!!)IkDfPa!`$&Zr{rPzvs>5hW zi4@Y4ytY#W*SzNTR3pogYQ46>7cYw6cyak%`T#vX!{zThV@~^p7vK5Hju)RR9#7Hs zcWxt`bp!uoxx=p|-70{8QMblH_2?F`ZeoU7MVx?LZJZ~!A5HZ|8)Dm^EzLWO@49P9 zg;0Hj5l0?n0}s0m`{a6Fp)t_a0SBh<;A<V0$3fTyCak~mQkAvZ8;L~T{*Up_%HN|) zWOF9NW&Ot)Ah0=<<Ywt3%83z7EY1zdN5Q=eH_r5&z^hLippJam@dw#Pd!_}*7Zk~c zQF1vL+Kbmht19qi=&e!A`(d?GA?y0)8dxpPtpKFZQStl*7q3CfBckcQ*RHQ&Y+92M zme6hm1AU7jJ{vSym>xZ$?dsx6Y6-A`SymQymXf3@gHb19QBv7(o{QKoW|{qT9&&yt zPVJ{*7#sA1tfVSKJL}^}YNY}Go@WhN&eV;6T;->`0Pw3RT!u5~rHWj=VEk3(l?bv) zU|4V;OVy}2QZki`KYhmdi(bV0!QY>1ER@&j|H*E^YRK45)gezob&MXs4`QN=odVr) zvl@{iOPesK^g(o_`4m&+Ivh4z{N{E0o}CkZfqK%ffUdlOb_(}Td;<pfrsMh)?M3Qj zt?>8>6VMRCA}LOKe-YJ{_x{fuB;#mCEBGxX7ir-CkoA^PaW%oaFN3?g1W9lwxVyW% zySu~S8e9es?(XjHP9Q*VcXtl&|D3zlx%YnQUOlt-+C8(as;lbxE!3PQpwT~ha|Es# zFS3^H+<46&A+EUR&Sm&>G~}&VWAJUW-{Gsb;zAe9hgOZS<5nrBI114$*rd>eASkEn zSE!P%)38a@%nzF#Rv6%+o1U^x9l2no0&9quB`7?p)7sif`VU-#VL^3HkB+|MshPFr zknzd+=uXf{%7xwMMd#=}<ujSA74PX<6SY|7*+fl*AhK`F)5$2Qe*lU`TUMfx4rp^| z8`w)J0Tyb9j#z3v-x?t2S5->7J!yk%{za1PDpk+SBWE8!AdZ~w>d0XV!2=7efE%Al z5-rHr=$bfN7p8|u%>0$~sk)chTj$M){m&dmuB+BZ>vDYlzWev>elVcu7D7G5vU+#6 z!cG@K<zzZ-&99)BhNPK$iM?gqg4D_7m<b&BnLdVwRrl4Lc5hN#CmJ&~Mt2;gOn(tg z#g42z`A<-}t!G~25NlW5DAoEt5FSk0+*Wfj3kLV1Lu(n}i$~awS>I-jT*4SwrJ_hE z2eg=RcN8s4)4=<%4sv^nrlzJ{fl4%%F581IGu3A`aN|U|4WJms;aTwbigcQiMpc}0 zH1<vq+FGiOlCPzQWpOl$$3y&@>0L#VpWPFLC)uC1{-(TkXicKmGb8pJnECe6-#(Kf zbMV-PFS!7c6|pnj#ma@fq{j6ECt0eM+yK0(Hn6XTqYYeH#B`Sn?K#@6eUs)4vkT6S z&Tbh(7XAqa5^4ClA6Z3QVd}J&^o$#<HptmUHgL}nFAe5LfejegizQZT0~NNew09kM z{mpg-B_ktUOfW&Q+2JU_;c&wmKliQU1&3gX(SD!hEB2vwu<5QuIq8tg^Y;PnmI3nF zBIra%_=lr)ymc<vm~te8kqD-bS`SGmZo|(}NiX58t4_j@dWC;=0k?yLwLyp=r;dYw zJ)xa~sy5U9WGtu*8>DFUj+Ljl>K%38WLbv3Kvmyu?@kqqtAqj|mJJdXvE%W9xJx4$ z@1#1C3C6vud;n*uqj0Q+q;zx5kHatj(0OsUluuW1QAF9-IeN^8g-HR(Qs3H0BJndw zg{r*r#NXV1(_J_aa-;t>H@5K4ORtlaK24i24F{KQ@2)3|GUx8WG|a&)<KW|2n?$-H z<)#4R4Q+(X80!v@@EHl!0OLtbw9WLJ68szL+`SXAAH6V>+HSWl3-KdqeuI(05NM#= z%a`j+#P>Jd2?o~*fgMX>X^o}`LmGP+;l0tqG?X8f4nsN&D2N}@1M?PZsmN5@E%sUQ z-axp!C&c&jC#iwqj%yT8sBfDo|6Tz;_63X&8U`uxmJBKIADl1sp3RkCV|<OGa14-! zJegD6yIFsp#!2?SUogTh9R4>7_k0kDzcVQeLglyR(kH$!WF#8mfpUonFlPpNS_F9E zuBvX3FQ+eOe<xVvLtBGo!4H<vZrc;J431AEa=`~36haJg>Bum=tJ-xusPI$CDQ}~R zG|s8c{{dQ#&Jb=gL^O3g#4OV+{fV?8wt}K2R9fkthgWWcEIe@cfm+%28i{lKQ=LBn zwXh}48@h#DT^@X*%TmJ=E>rqSrBBl?GuC*4&X{*$ah3%r;-I93rX0(U-dxqwX}O)p z$batkRN213i@jGFQ^QcQ+x>BMG{djevV(h8It<icg1Ph-#aq7^)DUgnmck_NNo^yK zXIVokYJEtNwnr?X!YU*63tv<$@~#)O1}lrDi^mr%{~qmSy>&fC+~U^-u3YWMT^hmd zpH>nKJ==$6_4RBW<RuEY=nL&DuPX`lLdSIj`WAwT++UyyQD1I`$IbPCh#heJyKLzh z<A6L8G|2kalN!y>6zeroi(Jz>H9V&iz#>;AtElW70-+h1AKcYJDWN6bgbQFz4@euW zh4_|O2m6<SFGofqY)EyOWjWUP#%0PxU!N)$ahG!m(Pfl3ejN2NBDQl(DwDXWx&&#V z&h@n;mR__TKsKmud^e}Y_o?RUqx+*R2}FM!{n1S)&z0NXYWNn5D2^wHbQEyw9fi}u zPo$vMMNo~!`<j<!!8CTkJXdyA=2QGovrI+#O*6E_N<d5X{_bXB(+1;TFlRF%j?+W; z)a8cHM)i;LrPZp1l$*YS?&rF~_m+)E-|tUdb#=xz?K0LjHu8J~aTh;&-!RQnDS^8s zM|V}xG^&d{^txN5)M8g8UejMsRPw_Ey!}`78J>jXTw;~*)qd~mDin{Vrk)R9qU)u6 zPCtkK)pt){dRxm@Wfm7-IY^HcWBh-T4mtl&KE;!2eOq0U!i(LB5Dkvoc@c9~LyI^b zSByr<g=pSIwzbl>7{z;g&~p%wb%65ZM$Oi-^eyh!*F-QawFlDBO`()B`~8mCsY3>% zo|J<6s#%czS|E3es=3(EBtAyTKS?e+8cd0jXZ+4&)3;5ZA+;>;9d6@EKO48niKzRh zs-EHu=WKtj5-Wy=jbuZdcw|sq=hA5~tS{xwvdyEp^y~V*>p^dWI6jf4X~2K?fS!O~ zrHO1@>>!)~fGCK|27rYw;%OAP*-J3UzlG<kwcgEU{s&}e14tL`8EvxZ|5?OUrrRN- zayN$_^s1rykNAkogu>=+Um#U`{p@H-pfi)wCb(eb{p}(&!@MeZ0?T|Cb8=t8G`F#U zoAI-|h0hjX3IH5}^6da*z#gr_U!-qZSV$?;;zo=toE?*lSs1!3h|@F~7}h^2{Trv@ zFp}?$dGjV17;i5HcaCw$ckSu@s*LSXT|KBDjplmI(928-r6@RN@i59Nasze2kxaSB z>=pX*2vZVU?A1bLElNVi#lQV}+4Al=tr!<S|9(;R&R?S<^rdh|3w&QB#dBb+ODSj9 zNIgDJ%FwHvQM%UOq%ocC5E`wtCmPK^p;6U!Td1EauW&Y6dW`=41Ag$uMSYqcUnYA$ z*gj%jHcw<SZUixegq%#<S(gQjI>F|5RY>wK93MfF^j0pbmy`R>aQtPIcYQ|boq^q3 z2Fl8^!Wg*xi7<^4CD8Fe=t_w=M%w|b;@ir#O%NZaZ{<uxA1mS~ba!!hi8K?0H4R@> zskO6+sL<*Ar)@~HI_x-)Cg~}iyHI9%VMLo4tHC_JNaCO}o%99G<1Zx4yRVt`(LwQB zcC~6|uFK9nm>^RT!PyML2n0Q*q_HY424*F^X~|NlQ+&#w11Z}cxq7G3O44I+p1?*m z^!|9ErjV7-jc;vaz5?I*#K6Ik`4pU1&%{JN;%S=)y>DV|YA>et8RgK?kog~%`Z|bt z_={udIf=gMxFcjNGcOnDP?68nmUjzJnMXl)g)eI<Nl0d+yD_3k@4Nldvse&i*)5a9 zyd3?VqVvjc2$Y<qMU2cWF=rbJnWFvLkw&h#DR#`CkUMZkKf}aAmnyP@{UnlMk$u(c z(2Aka$eft_SGu1ijLS^8@WxVP?22AC)iU3f=pmN{U^X%}5knr6w2Pi{oO3l2dDoOO ziqnW9RD^O3y4HJc``UytiX`V!44~vzup3`aU>DB~v~OG*^>=L*fB15|KJN;EJOXRb zAU{|{`+H>5B8r+mp2b89O*LX+NoPKkEj8Kk(;+9~o#3gATVLXvK{L&P_0DmsgA)<& zv=08lFIft+){7kx(T$l$(z~a`KwJL8)L*Zt0J!jdffYDH3mk?XJqlk(=9BK*QHR@a zU?+q?G%pu$k}e~bY4=xIALFGNq1F{v*0M~eCf;(?71nHu)r^7t5|56>c=x>>@cv>P z1^%qS^D>V&^U@XO`zTQ)ovX|@9%>$+s|BC3t;j!v1#+SpS^mn=DS9|Pbl^pz5n!P` zT-v}tWBoVP(k#tu=yi*&^Lbi!R1KO52lC>;0yTO-g~bEC*syysha$1WC5h5mfd;EW zo(L&)|0=@wKqtBosq;QP#eTUmr~&#ip-9U}o0rm;Yq${l7wOV@$K@{p4RTdLZkJ-H z&0gX*zD=n!=O}I@CgbVojQ%%+egSR<Z*}Pjm}L~HwXawqZF4BT%d3{F#NQ(Z0iAS$ zbMr&S&lc61s-;)hy?vp@>(v{lIP)?r3ZQn&iW2|}9B|um?g9t|2RyVmxC5}^fGRy1 z7H`~PmSdltim9zXk5j%Cc}npupo(T7A@DUKi`PWDW=c|v<OG;MGo-e#i=IH%Odw+v zbs2ncY87MMyN>JT_a{>{QM8tEs4DlrFh0Ba=QB^~Wm`-UHW_?&nq7rh^<@BF4FBF+ z^>jZ2?~I>c|L;f|=qw6=0?GE1nHBUI1rP@&5wxI<T*~r8#tkGx6<mwk`;Sl`8fBKX zj;91yHkp<*s#nV8@BJ;gwl@rCg(|1%n4l+S9ehCi0Be6;AsK%2n!vO5dSd*1J@dZ( z(C~lVF&}7QWEXHC`Ebho^m6ZdcZ`F6Lc>fNk2wE$rr3bfxeDV#)j5T_1^;yIdUgjs zpUPVv2r+!F@omexScU3+BveD;Q0O8|Bq!NF^Rvp>RIN;$ZeUO&?&{Mi2seP$?Eib{ zLFqzR9N>LK^<K&0+Qp>#V_*bSxaOx$Pc(maITLe<iTkh|Nmo|i-R1ws2N({m<#xsW z)s-?aVhJW}@_T|f|39|V1WccB9SQIyiR!<g*^Nr8y0+tPDvl?mhQ1`yMBMi37utzC zX&nW(gEvlLZaw$DBHQs-_+gj)#ujI)LL}h)Ci;htmxeehLr<j1-R2r6*Y7h91A9mp z`&Ve3s|F-_a`~#i+J|)2SNGz<DYD5kj2s3In7jB@6-5a~Y(ZtJf7;6F`+!fPv@o*4 ztJ+zxgc#aO*x%V0q#C)8bnQ>mIr^zibdlfXod0OYykPw}d?AU|cWTtHuGSA%*y@D& ztp_Ivt7+fgB*NUTPhc;X&4{YbL>sxj#zK!1ghI1A5rh06(@7$Hu<44wlEMP|3ocEU z>2n#$`$m8qJx)u1d-Ka;4Y;bmNi1@>j?1KNNSMceoZLL&hDq)Q3(j40Ir6+L%^jmp zkdZws`NA9vlR06T)l}PAS*6jz&3flGMTe(lmG({Z>MK|#P>Yh38PFV6`f7oj2cuZ- z87c;2vsO9$RHUz@bFgHD3ya%n+;dxs=V$cnAgQdJ{}GQx-s}wL3dFA9#Cnf@5w%Ol zE&=lchyMM<`5e-iE8CJ|I-Y8=y=HvF%AB-hHRXcDfEXd`Vb8&S(0e4hRWzKe1yfq& z%Bf}=&=iVTTm1c(ojIGFMB6@nrE?U^bXyvY6m}A4yQM0+2pd^j0p9+VtvG#9X2J?M zsmL#92sZB40Ao7<6cDDElOI3{AIwR=CBe*u1bueXA&C(}(t_YneQ>gm3sTdGUXZe4 zqbp-wWj%6#)=9LB2-Q?d->n<7CFQATfV5nQ#G3rL^jlm)mco^H*9^XR$dEFD3X{M^ zGenAqhyTSvC(Gm!Dy57~8-VNBS}G}IO>|pzlVNh~hEa|X15`RViV=uE+y@^b3%ZFR zbn&H8#1ucyRQ;WMOXvl@8K%2$-j)aC%snno4}pR*Jo^0mj+6QB&|UP%tH5_^LL?JO z9;ZQ#VurN1XGN1(32M$9`i*=9OpoS2yIbi{4B&F`EnjDX17Lg9%=>Z$Bv0P>?!y=_ zUzsU}y|R>R0#}Xt75f>1QX5uhwd(H5VH2|ri`+^rrkfgdlFRz;7!sf=kK`-V%d?v> zc?h+aUw5A(^@p0Mhv|vB_}n}#8dS^K!w@U>MK*N$AdW_!_8Z0|4t#phrK2XpUEZ2v zE{2nf2u|1ww-b!DaLHj;v#}AR(4$Ao;rFO<g`{<FVEe(pB&+;DA)hv@Iw7K~tkIa; z?@RfK4&g!UcG7eg^mjLIStO^9{mOPp*gM#~HaTRhRbJ&c@>}k5I^dnInU{eYRo;*< zIi6GHCb^dhE0x@^FF(^P;;(fpRMIU_e%3^tl5iGO3Dzu#$3vgaVvNk`=B~K9<7S~} zlu3kCgH%HS-+?c&K5L%ADxz(m%Yt<q_3v=hj}c3P!sC3#Z1Go!7ono#+o~7o!Rt0V z(5N|meC2YLeUGS*i$)h{*${9uTlyI7{awqulKnqhJ$zOfVtt@3K8yluX4)PJ0w2?T zAUANJx>L)<G2OQyOv95QefPVOeV437jbOUX*>Y<k41f*zikv9?Ro8Lzzv21)aDCO* z1^d0O+}2>1_ZWlXhyex*T)B?ld_|A&pRD7)!yopw)Z5~~bdMnY%P!amUcDNdfHas= z{SHt4lzfme*MhcVS1zzxAx;FV2CQHCMFsP}JLn}YN}r6~#nvQ+hvjCaNGCOd(5>Xg zab6%zjBms7O1cEy@<U;|qZ~!(R@QV-XR!;ESJOajpbC-t&W3(N^!IO4RVa{NaXMWc zLY*=jCrhGBq>A?vKIoT7uI=B@Bm-A|K|?BUp%r`!#Pl32mDu9FN`_~g%=WFML;<g{ zI)&pz>6FLsTMg9EiWo}xY9_x0-u8ay)&K^qa1)|_eVfA8!MT+n{00DAUhAdu40K0B z=*y@=fb(ogDYoK5dS0{7{XS-^hz-maSop4v8T3D0a?noJ&#tt#^Dzr=8_u!WiXAGb zl18kPufJ~rxpTsK4+@(sw%<Ws&zwl9Ww?FKM53qc8^W3T^2v_jV{1ppM5S;?O-RSy zhTeoK(T6B7KHO{Mr##BdxL>mSl=U8Q5m6oflZ2H-CG<zO5D#GTCJE(ci{w0`6#%rD zjkV^vS{qOB05ydJXn=&UV@K``o6zr(dTb{VFkjuz{NCV?!D>9E%|0$l_kLLD@f_)v zrbhvmjVN~M4r(hX`|L)DnqopP;v%^G#!QvuRdLL!x+>Q{efH%8LCq;kUZQ{fB>oO; ztp<A%?2~aguqn7zPI#5S^&DA3zN1(sr?%9ND?(l(wqp+c0ER%8P_URhrz7<-|MUj2 zm=uE<l6+EDqK7pq?RRv|u5}+27(iC{7Lc?{*<=1r(e<}Bk#ml})*mx7x4YFm0pypa zA}&PT)Y!O2b*~y}CkQhFrH>xJVdzb(h&zh8sH@<>qg`!F(JYfA3uN3m34>5REWPzq zh21@-i|l(SfDpJ}u<IbmPGXV2Q_{VEO;)l)?%PYL<NI2vVf)4ov2r_LFVrc8NUP>A z>r8ii@xMY|ba3<KR(YP$o_Q%2#c&Jkm9LFVcFY#Y{SQ|BA${xOHp4ajO)!G8g$8i_ zKfXYEN^5Q0DH*2^IxPJ<W3p&;PI&`=x08a*JR8Okffu4;{_-?qGw$~#BFoFId*j$) z^x4f!gR`uC7_;yqstKK%+U=cGbkk_>{*}Dh_QV-WX<0`fftpBg!S*B(YF4D`E<CV~ zv0Q#{td{pA=IcVNPDMuAI;+C2Yil@0J#T8Obq-Sz)AKBhte12VvnknPr*+M;kDATc zv=a|N;F@;jV$n4z<4!|NE_91bi$}{fRp?FYRBwo>Jl+V;x&@||S;y7#YYZp0?v%<S z-jS+i(C^L}MNOU9rjG=q{=c?-olU#T-!I74^X!Ie68%x^jWd-f-kS}&CSoMAYJKX* zaP<_-h%r=rVp7}01HvX#fUvb^6ijN&-$!e}fT>{xTF5&6{Z_eJ)5c}!-^vId$W;=f z$>GXF2<<ghz;PyeoC1!H`Z!bx^BkAULWd%MuI0gvSfUM^?8pLA<c#%#PY)b_<3mWp z(u$SSB#(&N1kV^tP4%NJpL-yeOu}mUaI`)tn2_w;JfZsK5*pS-OA1YA!}<hy>y<oC zP)vP-LG?dH|KIlJ|IXZEW%)muTP*BcY@ni~FGpP@8o&qirhIibOh%!5lMzs0WN-QQ zy#3}p5OzED7b%Vr`FP}b$k74@`ifRVmF9cc#_g0RC2=dqq7$<wV=2zn{Llg1vlT7t zy>6mF3*|3simKYZ$7^jSqyDB^Rj%XF1}3_yCjBIjzhB0qnSOi{6J6`d4QQjq$PM6K zYLOGZ)KmhT=7fTGx2WAzX;qLeFC-NhRAXIWy5FELkk&$4@N3}PPKGmb(`3T+p&jF6 z+7cef*z2JBO1Oe-Bcj7Z%D<Gr+vKqrJ$0;VG#pNFY5gB6=$=`c4wZ$TS>p2caN?m8 z_7tLK&nmoxR@&u8E8>$-w<xsd7)*if{>GkAEAWl$<qHbx<Z^Mzj=~Yd&CwYS=HC=p z6;kCE>^3bN!pNSXBQ<pQS~0a7lP??W*38Nx`aMk=D!PIf{TE83bC$I|Gy(yDKTz!( zv$BX}{*tkCTc3(Uh!STT;a;YxZ!P{EEkDJ|`B9g#q1^QJX6V1x+nm>A=`4i4F|$^8 z5}^2@%|PYY>rg1xqVx}rxc_jVFkd*(;Sg70o?{bX;jcuiInzZ!X0IgEFB)hfOiiGU z<|gYr<BVr{cGbQgF}B69V*%76+R+ybRE8m+s!RlJ%dZRTQHS=J)zl8x9iQgd><%W3 z(jluUt8=`-;_n&$US~137dw(G4|e?=kj8+=-9i?lx=Q%u1NNKubV^2jzi<$iow~^T zPUYzL_mf;iNQZjkmit^h=fF3jjO6580ar1&0$JzIXsxWM=TH~2IM-+uLgye3E+>ac zIIA`mHQu?@gat>tJg<yDV>ivkT?Y)DA<aB71Oz^YvSb%UVX5gvi^|-8X!Z=h0fmqc z+##Ffs)o<0V%}gX7W03xAzMRm&<9|&;#3t+D^@B#QmK~-Ca6*G81FZMO&eCQ2327P zQym0R;g&@8A=YXsj+&re4)3rkHtwBDVuF!2gn(R4p6jco$f_}IN}6>uH8W|*OxxbT zo4(vLa~kQw22A^!*)rK^Mb42kpnru;O=U!Roy(A}kH!E+43;8!A33r_;I%Hm4CWBS z(#R+?IW$<Xk|%<;7gcAZxuVnD5xfI291&^g;3|f3*7rEeI8fB{i9BPEcN(cv44M=- zOGR?i=+Us@^=vHXdD}jK@#h|TPi^j#Eibm0h88ce8oo;eafzjr?TsrhkW-7%uBoU7 zXOB!PsUz%p?4Lr*cGf}X^)3L#8!P<hR;E(;uJ4)%^bw+sXbVa0bt4SDD4c>nA!wo2 zkpEl?k6|}beIj8{g~J~MWqNI*RiWw9G5OA()TUbe^j)^LU{<B@Xy^y`Wwz<OY<I0I zCR@%=y{b1UZW9-Y&D}O9V3t8lx>fIxK_4wnBUR_Skc(oJMtA4nb>DMbJ$UAp-V5)! zvZe$3%mQJeR$Rd=;`u1;9#YP$a~46nZHnKD(g4?eE>F=`S+WUPmqXpvgGkbdQ$b}g zXn1!9H;vYpUJenBgQIRz)Ds12L~C&HxH~FxwY<o5XwY~`vEJAiSZ7VOIwNYb#fO67 zldcIX^2UPE&<dUSE?e0+#)XE3kr28%Fqq$vXDWb^Fv~@8fTbh-@Y9LHmKH;UqFPor zy*1fef`yr*E;TVN@|rC&A<ce3a#EcBJ2P6eQm`cApz$JV{qOL#0Rk&e178x94KkF5 z=CHVT&dNg4KgYl!kXt-}7U<g^YWTGy9i2E55i>%9lAOe(u&L_8H7qu~q*4X4S)QJ$ z(VY6g*Vx!9!qqn?)L5Vn<0XDFBUYle_9)B9NUJt)7mcnHzky&#_<64Psu&&BZ7wsg z7ymCUVhvtcQ6!t^AX9P<*QgBSz%je*fbr4|+AgXVTfiW%s5%mm^fj>5kgV(TR%CFX zO+YyIiFOTN@Bso%2E#>Ge<x4-fHZLxwVpUa><|%UB8dKLb5AyNj;L^2WDUY<&bL}l z-kiW9rzX`(l2Jcj#Oob+Y+6|J3hZbs$Y{0TA^4!7@;+k$ND)el6GQkDGk9|+B<xpe zO)HUj9nUCetuvrk6!fue@1HoKAFi>%UPGzB-U+kd{=)ZTg{;8#-#iV$_s3y}w7E1{ z4w68=W52LL8?~bZ*J}PZ{+d2MGi-ud@bGuR(cFgdVB+j_p8_`Lnh2XwPe|B0_B)BW zPzj6pp`5Q~8ahTIpcXb8V5C(iwu?s6iQkMBLJJFA@%U<M&_as-=Ma0#uu%eJS@r{j zUndfm89G{NKuosJc+s$qI7k?}{jUfq6%J`y6Px0hg&{c-n*FvHo@w2oS2|fkps@gW z!ZaS_0hA8K1BN4oIY&f5Y1hXknx@A=CiFn2m|(I7E%@I>9^|mL@Fv$v&Cz5iN>oJP zf*lq@gObQdROnD?vB^-svFbwI@6dJJS$Y(+Z9+42gobAP*mt_GYi6FFm$BiH6tA#K z+*klCp_L2l0E*zp1B4@mA}yE(ST&d~;3*I+%||nMaCTr`BT4r2J8=d!8@M0i7;A0I zzdp&?3a$$eFfHO@RmaU1=NDDFQJiUOZmjCIp!&Qr;d#fmFf7=}Ti;4l(n`!-4`(VA zxy3NwWU?PABpp@3d`x71O;9+)g1Wzl$AhvT^Rf(Qea6QMEc*~2JL^Ae2zvfN8xyi~ zW3s#SqvG#c2qu9$=ExcdCbc|n9}r8+lwE>iioS41EX>TDpvoeE7@|%CVH29a!Oiyv zCwb6A5`Y4D)vJAxz%Nzx!QaF>py0!P%QpaA021?VcHO4``}fV=7TED>H8Nmuu>kzW zyV>Id0evM=ZC>{4&p+RmXoVZTM{{@GvnrehoGXnu4+A*^T{u1;hLYbk)vJ~1js5Zh z!~cTdf_p-<Q<Cgou%nBbmQRmYmzprm&GlthH0fG_D>uX(z~N=6t#rOyLY)<V_hD*5 z$6M63SLmE1XZ3kmAX1fOao)*e^`FY*CB=>R3Y)L=smfvKxj#BwT`17HmX<CrG6AH& z)QsE1v8}~ti6L>nOoU>}r~gv2GwrvfiaX;o6a)-6zE+p;lNOOV++P?L^V0#RB^v!x zh^Igw?94!aSz>gEwLJ;6uaxXZFrYu)e>Q@VBY*3vUpq#F%j+RiAaK1;v46I`%Wb+J zQDF0n8%}rgoA{jnUs<|UEkmmKj%{w4>TD|wxn<|v__dZxLkkn?EM+YXxwv&&qG8jC zuKlIOmzA*CM)>q)B{;BcY4CEdbj|t<0eii@pRVveBEP8N3e{iKa9{2%2N*-wXS*~u zv(DC9<L1O(dh!8Bu9w_I`t_}Nc}q$^N69pVODFbKTf;9i!SKsW2!sK`Y~)`#e?g0O zEzWHbE=_E+@CIVAYh%HFyGs8(b^;@3V*ux_z6`nkT3|xbj~<dAkbWV(gNbqx`Z5%J zy;Y@&^;4<?XHHiWbM}L_WAiw)_y5Lr5o~-x!(rQjCMbM|(q=WaTZUMfOSS%G8p(-H zuC<7emz_HY<1N~$0D1s#&$Fe+?Q4zvB8mdU6w6PdBZEp3e_W_|kC-73v?6Amm+Jsl zDY@=Q^f7O%Oj5ska8U2~2HWJ}$HxVH%K!)v3jksbVo~4SNhL#V+GIkcpvlhVs?Fs| zZhx~08mbPqby75z9s}c!`(~x>iYa;HIb2w+rOz-#_)Z20q%j<8MF<c?0_$xOl#KX* zl$gY)6{1ijnNQb}ffp6xdqF3Rnh|&72Vz)A;YKj4j{1f5@ExMk8ut?hMY?dYSRO`w zUEi`RjpdHKqm<x(`-0R#y<tt`svN$e{uG7q+^Bl;2t)A7u>GAva@@fs7(r6Ub~TEp zG}MW1t_h-{Ykf5c$sg-f>Ts=O2H|t$b!)j5-@TLZtL!vLdDh&Mt0oXwB{N=~cnbsK zA4nO{!}AZ5a1Svj$@A2uzoheBF=K`Mw17=yn8gOyXR!DN`+p0mb<%6el%1{w9hsqB z$?rb6$0_g>7O6HJjf+@+=TOE}saKTz5XcSpfr79BCuEWdz_6x}G^ZSB+v#sb(?lTK zB`-S?k5V0}+$rQXPsKBY%CU=>9woQXG~)vQoLocY%8$AInFJa|J2!ebe|8qNPXbM6 z0C<3ETp%(EtZZX+a8e-{7sS^Igjs4hq!a87B7|gg#;DyTSY;xVEHr2uO`-K9R`kL| z3Uo&l1#Nsd<#X09jjES@$pxRmavd_(E{RHKxH^29ODj}v<Y4!bnh0g`U0+6fgrcx* zN)@3y+8ee>@<Dq~$PI{2c+KKuL=q_b#%iF5^wvg4kXm`GV$1@a1x*~L0p6T06K^gT z<!Z02Zb=I58wH)mwkx;zgGsgq>3*V<tk$8DtZ8y=sJ>NaG9pLLZIaxsfuZ4pe1-VJ zEFnsQplXbwn`0&ex>E;5nq_EssY#)Bic*Uj*Bk}P2v=VGfLAJu!j@A>y-M2~)I88q zuGv5Mdl7EPw#EG>=9F1iZd*qAcdqS5^J{)gGx3aPQl8S2Zy7QXQ$F;NA{5|{v#3qX zs>O+b$JtzeCNMZ;_<x<AT0g7V&JiMSsYRtouWz&#PpoxvE*yOo@)?41*e##Jvm>%X z3%7}X@7g`ps3VbHvA<!^O2c*{eGUSn(7}7C-Uf#Kwyg)eI&9EC$R)Utn<&7s(3_&E z$-i$C4@FzWBa469X$5dkCjST%Z*v6iW5C|$kpquk573-}K}}2M8g?|#A>mXggs@&f zazJF$(+pyL2c{w&1%0Nf)O!xxFYQ5)(DX%w`GSSVS7#a(X1akF|NU!1uK5ob7NB!n zmNiskfg>Cy+?6ORe19AU?TK@j!d#m#H9IrICe)*O&pHeFZoM=oh;dh;CIPW4WB{Q0 zlh>1&Wj*vSbmiJ|t+$7&M7q~a$&ELR{YV~aZr+_(eI(d&;USYM17#9;tEGlcXCOsK zSG_7Bk--Q>%eJtBt=wmxi75mu@|eY+DhNmb``1oV0RN52hS{-K=W;w}yi|Sk#~zCC zG~N>V=-;2^kV-`$B~j{vHIjC!0(dqpLySb_De_&eCFqUiENiI5r1D)sXZ0q4@UxRq zAtv4I5G3MTf{AttScn|Qff^$itnWm+ewM^BepJcT=w;4i1xU@E*tH($E4UWmbG>;4 znU3L@vMDiV#!_>HZGXFj4OfQJoE9er>ZIN?v%C^V7XkvzFE7+mG(T-v0pkKvV&Gc$ zNBQZfk|3QV8^!SLQ&(?)_n7&A*GksBQsfE(F$Ac-YIe7JHI50<#|8VdmFk*=Mpn6X zA%2oRa*WxViD&EXq$<E9myrUD;d_vv>X!WZ;Gs@{cqbyMV(akntx9tA*gCsSrcXP` zVRO-mGnvOkQ7?~kXx#4Q&_ZGRN2D{&selbhE%;bL1nl^KcY0Nb>DJMQ3Rxbvf1rBe zw9w$(p$&PL94*$UC?AsWw6+!84W4!xS^0?-rqaALQhsz}B5-geGL&4K8uZJi2wHDE z#U&nkwL`?2HTyiYqjm4)@J4DYfrZLMyQqIF-rQ_9pj#GC)lrT1SH8@6K(3B5bdgv- z7PQXfxS<vLb?@$&(-n$PT$pNm2_w$Nv)7r&1D`d1;Yv+P4cgm^il^?+nIDqognUR; zIjKbMlO~!r%fJi4n)S4cr(}vB<CirxCuqCl^uE&Z$u1~+VnKP6!^@}dOtjh#J)6X6 zO@|hmQC87%W%*~slx(sk$}X3;_wFY8`rSv>^IYL=v4Z~L0Ss}JBj2MLZFG~byh0-{ z@G~NQQRkJ7qFG(3d{>SADqyXw7ezy#b)?ZQOn5SiK>&(IGc_bYz<q0wYs4HC9Yz#p z$TtJr;N=&Qm9v;*Dq+)OD#>jxAWADkO%Hramc%MVikacjjJUQ1k1S07C5aUSGSQY* z4J%YU((I~1t)~Olu(M^71^nzH1B0T|zngFhP#i!+D1wp<6pgJHlA_O+Vsy=IGgV48 zNw=yuodC)n@>thOc${mPIK%0A_iKfE)r_1QFHSkBv01MhaFnPGMtB$6BUeNy(U6Lp zSg6(dTL4tNS{@g2)v+#L4qmO=OyB&qgYRN5N|pdq_1><$x7%95&RgF2Ldi{cOoens z)P*W73)X+d)Z&`66(%#9kC97finhr$N=gn1s)1DrE!3a}RUO8v?bm=E^8F=-t^{=w zvqEiFoTgIa_G+oDPz-wSIGb%{ZBBOzHjSD9%_z`(2*gQ*4?WbY-n7hEfDV{Ut0u&m z*AqU1R&j^R^`LNuuZ^_UfUzh26P<td5xQq?N80h$##lDjp8p^H)$i=(Hr3lD4@7cr zzCe6B6ycxGbzv4!YBRh@bE*}w-uT63>O_yfRAOq~*~?cAVU*h%en>%Wgg#z7ZW{7m z=Mm4l;*5^$vRnC(LMiK<4Lo`_>Zj$&sE{yz;0x*!PSP%P(r0&@|KYg(`TVXPumiTk zbt%{M`tK>fb2Gq&jr>+-1A|D<L|yXP&KgK*vFi5mQ2?q9q%5_>vEoS<k<anE`)AfW zHFHAp4SP@$PJU?Q#ZjyP<56}?WBOamb<|%9ZnX*ueX|P8=m@MBja8Z<GGnn_EaI{4 z)T2Vph<Aya5yk03klsqQV-=x*#6d`^Vd&8AAyZ?U>Dklj5I)V-Hc>WKAU7>Pq6u(V zKWN6f*G$Kk@!s6Y4M7@KL|<t~0E%&CSKx~_-mm$W>tmr=VcoUDj$@r^(cK7q%^i8D zzcHvoG(81zi}d%${px%MkMAt>Wd3{U&PM|8dSl$HQy&r^nf~ZWQE5jnq(C(uM_!Jh z0CH2onp$7=AMegx^nW)hPv??0&V9g$diRDHtN=?7Ia~yq6ls;43~6mmQZ~675xO({ zeuw%1S|^Pi!>tb4C4VdAF9f`2Pi|29&&`ME^1)CKn|_Bi=J|j2B`)WIb%r&wgfVnk zlC>%=DD}dc_mnqBf2sBC_Nm3?e|uvutjwGYDQWN9aTR-g<DZ<oi{5yz_4Ncg4!*GE zuyT_OCH21~;>9zB+~2w&o#IsJ!?0EwRB;o{*7`S{xb||Mx`h8c&(yKsPF<eUJEsD( zJaN}VwEUw<V7t~YEnL0C)VY?L7<jP-8Ztp@;u+BH#fzofhs+H&>z^VAGm@Cng1Op{ z3f!U3=ElW=KzhQcK~5;<@nQlpKxZ^7L<Y{gGolO+2`;dsLELpOkK;MH_<Ac-SXxGX zGQx#EAZ0M;3FcphN(b8Ts^5vy>?Jx?fw6%-r>|6ES<lpK;$CX0BgoBcmWEDQ=fVG- zGR_;!)aO^M+sbv8GY|?Gflo3uQ~VX-St>4tt6ES_RIW4+wNxq{uCxOj7Y6(rP(Nsb zg#v8ANhF9-6(%BtfS*s7DoPG&i+8YGZW-d_7agT`Kjv6AHS4B(G#*bjG#+E{>SRz1 z^89hl(^|W8$TC;hGcfq9CJ-jyJSWr5kQr`U9N3eg*8d4w&M{*ky3{(DFShU)C>pi7 zgV!9XI5x5O_)-mwtfT{4_S>2Xm3+!6Jy+9gDxvLtDkUSx$Fd|FKC+e+*wR;e`6i)Q z;!)Lv5#bu=U{m6R{q(ii#;?)X+V{bFA<c5LhF>|ZoI{qy^^9ctwj;GyYKm?yDh2(w z^+-~9t8VbUwUqQj^G&%H)3ZT9w=vL(RXBAS3FYy<FV7HMxN(~UUO>vq2nUlQkt;%_ z{)3_5_4uO4*k$(j|9^>_?f)rGW@TgM0M&PVX|!Gz0no9pV)3aain%0<zCWkw&u*CN zxO0>wN`i2T0W`RG9M2E?12OG>Ubjmz44<AIZ<o)fe}8X)w2A?wfJ=~1F@O~i399`X z(H(kNJ2QBfU#xh{+!g+c%)zR6jD5I4K%X5>nx5#v#HA3mV7ROe$;7>5L;$@P1BB>_ zr3qYO>s+T9FCF;XnN_4){>_7ZoP@O}wzF>xCzHioof6a(WXrz4E=@T&fNV+tRRC=e zUg?+n)Butw1<;U~B-W>1{iM~VQByZzWOuCogR>?|iwAwkx*DRtI>=}aN+<;cBkjJ) zniGMX9kQfB|58DuWnX%$v>&WL#CmZ8_{m+KR~Q<$Q<m$pEumkVuHpMt?7Ho>3Mwvm zS;{-=p-(=LICyMe2Ii@9kD)Vg7dIpUZb^UHazfb>s8oWYF{6ByyhT)6ou6lfVN?4% zB8E_Y$c3@a-F;`A730qiR~M_F2|v6g&iTk18x-3gqe8H1J;NFTCK~ilfCE;Gezw=f z!?F4VC%>D<rdH-3U2OxFzzHuDswgv}S{^Sq)<55K@TTJ(bLh;E`kZ*2b5wq0G6!-q zUU@QQ4$VqK4-XVkPqQgP$xk{Ib=A0J<Zmk46^bQ_s!i{~^C(Hu3<?As;@hopv9L>< zt>}oylmOjkS!&9F6P&yR_IOK7$8BMo^&Yv0XzctZ3%Nsos0Gr$<JugQUTRS+<dP5k z{C1Fg)9L(#!jvp9a691PmSV_244leNP(jwhU6{}cIg->=YniGtu}Q+z)ypiLGE<tc z@(O0Kq4o+|+!+>*?IaNzDaK-(KtxoJ9>xl<PDE~s0ex-*?W0zqJ*2u=@1H0hMu@Ph z_?twadw5{m#P)dN@rD%+$kXDs^F2`MKL}9Why|ibp|>NBHdZr&mF%@5#9u0QCC^3? zdy*(J@g$;hiY00BdW8!24)M8Tl~!b8qYN#<Bz<KcvgN@F@hy!j!9F@GIl-$$MG1p{ zUGpdJ-uB}H8!Mr6PU&GO6qZd8z`b~ErW;9~sAt&junjdf|B-7qkIaL4JFjt~HJ>8_ zI<k?fTwfvctsbP<2{;`Kip(=cd))d<$%B}Jia8)q#jA+EZ!<LIG~vPpFIrO={XkT1 zf-D>++ZJ55Q{Kcy^5m=yAM&l#m`b<2LEYdS4VN7Qx>Ut}#KZ(+4~xE4nSxQ%TN-PV zLV3Po*ExKiqP9L-(&Jvt;)5fkMPuAy{+Yz9kt8Zq(HfsdHpIY(DAZ<&wStR*D()he zi3#brQU9WW4i5`+-OL=KiqQ#$NPpa%qc1z}l!rA*+XUyGmB<Lke-jIkDKg)I#7Q=8 zj9KCXPP!>7=qi4PregGQjJ>`O7Oju{(gm?gexpC}hid9FCfqCN?Ba#lpbARkZ`<{) zjcPX+<GOU6)%A=6bOjpnIeHuE^V0Wu)8nBmmxYa?TlroNGW4DB*4agfiyr=z(o!M2 z;mSVCg4K3{1bx)g%-7pwsvj>Ho^yskFfCF78S)`CH!+ZNrK<FT9KrOg_t8Tjj+ALZ zj{N{nJ}8hv7+a%ju6AqvkPCiAsc1_g+9oBN3lh;5$z=gbCXVg$K^2GPMu#&BWhWqr zgD<Q3{hIiT%`9Sry4fBP>$1-(-wF%qP3|-AR^vAehZ5LMN_x{)$da?jeCj1(s9z0) zPr!jmdT%qF>89Z`ygtA|wsKR0+tv2Ur~RRey|lO;t@EcnZHJ_r8W7|nl=yj=_4ts4 zTwNV9-u~eMMr=OnLnmj$o<CAArG&9$kjy7$9iVrZP6so<6~*w^ic5?^$@Ts4^<0dy z`94BI?}f>u>^|HdFUe3dw%|j~z@!G$R|PN!H-KuPt_CCl0RKQ;HGomTUr<;rfEb_& zDy{{P0X#rswE%V~w%W;>3lL--KnRip|4j)bRR_3(wc)Wx;CUAa0*TdsY0Kt;>gxe+ zgdSNQ9Cd`y1Cy}diYty0WHq)|JLrwnFO0GT7Qae30F^K(mr?4v9|NF=1_1C&z23bM zAO<dQ+tSqt-~a&lTJD<wxBz4*l~2atvYuI3_?-b_p%#J`z#Ies0(9OEU<Z<^ybKkl z5zdYMJV)<p)otp*1hxLtN~zE3=uNZ4@peu}WOnwr8p(O9ID7Pn#HCByHxV*^%$;z@ zbt8&VY}1b#sNg;Js<y;(T^4>JsAiBgCHxgBrAUr(P=LaWN+D4v1i-a4)c*8$z3s8^ z;A;E-yu?7qlK@0WHa1ok(DNifwB?}#;DQQFXd4yxvOiW4-KTqF>Sv?J-oM+XgdJFe zlaNnXp2I)aEIp`}`h!7EZZS$WS4+j=np099c_DKkr<OxC2|b<|l%I~>SQ4w*2dmXY z@C`T=SWfTkNURx<gqE;;^{Q)xk&Zz@_{q59hQi<d#Hg$>kM;kW7W)4vf3UOvpZGEB zPZmxP`yN09xUZ*Ivp4MI*E1T|DyV;euNn2eLG%OgW3@ho)7`d)jKKYyZB-%F+=&g= z#LHtfMMt^33ui(40R=Y6k<fa#*s_twQd#-OmhUsC!huuuXVWL}>SjB}05lS3z&9C3 zEa3ZWnED@`#_#Ipy6W(U;3uoUGymGiAu(U2M}`DYWhXhtPj*OtX#Tf8|J%piM-q|> z^Tl0{!ps5nB*Uufi*Z+TL(KhJ@t6fjfq2;*q)fAYx3uunVwV-i$6GzKin{Op@D^CM zM!%gtt}DCrZ9LiJA!O?rVg6B~eWq=!!}H})OePJ2@8!J2>xLi7d%Z(pW|CDWQ&>$i zRK^)tLYx#(7wDSvVHap*a`SL!o^quE^_~PJPR%v4U~#_&!!zRhl6H~hSI3aHKzYBq ze3;CWP&_i|`eNxNo%US{_+fg>x^n2(RG#<9*#!Y!dUHr?YrxVY)b)0L6I)c+=sK;C zBk*?8C(k9|F9Pwj0COUJvi6qdEYI4{NE`%|vaf%;R3P@h-74XVZ<G|*kSK`aRv7PU zRNW>hs!tD!jEm$B+KenLBySfKsh8Aat$x!iMz_1O)J;E|nmS;H>c5<_)^%WTxU@** z@AAA>dk2jbrOnHZ;o3|ct94C7QjEG~sU&}}u&+{c1<=wDILb8%U3#}h3z-wt(?)+m z4m6XMC0ugIxKtvM9(1Jvo_8GH^dTekyI02P!t#8b2CDlmzbK$({6(L1A4s$H8FF<? z<pbVdhUfqFbr6nP+qfX_N&Tj~6q$Ns=OTA`QPno!9ji!~3a9SNbQ-vdR<n`qzGHk? zwx*!?fpXMc?V$PVI;V;(A&|Nma})@iqbW2aBx(y}BdGBFP=)=u+JF34T6r4nV>~KW z+rpw22P(_p4B<=nBdpI$gx!dp{d#waLYIZ#eHTv8{UukQl5D1xDc#lP)F$Z^LCB-! zAq^W@_tz*UP6W$7RIp2WJG{Q4_7+rV>}X2~W_+yngbm1A6kCQO?5H$G_^T$S|30=w zqbx>0KFi_!$*T$K3sA!7YNg^d_dBYYn+>}L)S#O)mnjV0PY^<P*9_6Nu#pDuN}CyT zVtygKA+yNJzP4J!O5pMXDDZwKMfWh()Mi?emzW4IkfQrLg_fpY!;(`vJ{90guHf$% zwBzHmJtEoZ^|Ft@RrUM!c;z10jw>+2woD*Xrw`GF6qW{<)sk7pz6H46L5_<!$6W~I zP(isg?@J*adLJ8?Ybn0-goZ8n$f#r7%KCNeeXC33+M_Qx^`sp_L2hB<24}avc6>%b zEp`8u@J!H4Jrb91A}-;|U2YLl)gIUn<Az{VV2_(@etqgT<#5i6lYb3t(OEuSKc11M z|IJ7w4z0PYDM!JZiBE3x`$e?vfOtiBVJcY%SUFEzO~G7p?-oP)n78+Nh%y7bdu8)D z+6kxJ`K|I;t07}2m>1%F!4{xcEU!hx|8kSWADr1!tp>5*lZ;|-=gqw5l37gn$>;gU z;S_>Og|P&v4Nka3yLt<>8EU)odEag<esoDEN<w*d-6SOjVZ?@Hgw(j9;{{w79c-DR z2i9sFSkgmKpxOGByo6-%l04Eeb~(o}hR(9lrf>)62eq8g^P81dqUurj$Q;AA>+&!^ z9)*pRxm#-9?pe&uYsSx8*!neLz9p=cE=*XF!&#`<{-|U9+=c@}-yzvOdc)0&G449! zook)sS0j)8YUM5=_`&vg4BfI$IwbW)Hlh?#Mwb~^bt06MHb!D~C!vOGAtwjdT1ZwJ z%}PEK+LV)4Z7HN4XxCAmKju$Mo^7DQV2n?8obXhh-{wh9rs9^D9-ebjp3i%&F5IJ! zum{5n-sDb7I#>mUHXw>Y8z`sF)g2-hi2&(DlpGTq5DRSZq{A<?!^qm%Ebx}5@T5y# zeG>9SPZE0cqJ(WRoS&v=A5$T@zA=eVkLHA`z^6?o)yTo$X56Mq+A`01+HCgI?|LEd z8P(5qhIK;CHg)cUwWqeY9_fE>-D^!I+WHgE<8DL9*(L)~eh4{{CSn)|&1+x8?-UND zHA)K^iyTLAB@X{#5|aj9$eZlgS^W|W8#G6)FJ$J4_gKJPs*0Q{wU;+he4Jw)P6QN% zSjpOO#SfEovpI5V%yWm@MP?lOUF>Kw>J_i{8pcUoNr)P<UVLoTY_SsIijDLU&*>q2 z<P*#X3T*(<-;^GG4wVuJJ1bTCyC;YLEPznyna`Tl8f6o(hYWg6nD8Bf7!F}QPyeY+ zP`4drBh=Qo&Y?KR#%XU|<UAPgbx&ZBURsv6Ux;?~!5@zIf-z3?!uH@}P&mXJ=u8kP z$GAXXrAhV;$MgMqs#Ls^RTzH|hu_Rz=obGH1Y`o<kmzs!BkJ^dn}|w@mB9M>oWJvr zPRbIV>+iJvrW%Wq=qd)^+DicIJ~^2w{8F{#1X!soN40{Y;^n0x>|e7}WG3BX<db~P zbQ<B(14!sm`fLEj>C4jY{@g^c=cHI+Lr}2|5fN73wYI4A6gPd8BSQ4L*03`1bGm(r z^N9BsQv*yJ<NMe$jHhv;w$6$iR-eoS7*+muE5DFXR~&U2_A{<P3$uz(B*8FuB!qc* zNs4x#1sno<dS_)s^|~WA1puW55!{-&9^%gT9G1W%sL(n!m3fMglxIql#1Qt?J;wj% zQp`U?K-4uN_(Hgy1e~7m>0wifHJb_p6tgdIz2Y8k5eY{|zqDQ;Fyl=v4)Qy#zyYsl zKOaaRbuoM8Q3r|kL$O86wdu{`)MhH(FR5O=<$h{yg}I|0NUelT@FphvTH`$(ZOlfb z;{FQ<o(~SLW^)1E%!m{FM3Si}=Ux=nDn2xAUlcadk%|%Lpa7jcBXE{{66aJkSK<I@ zLl2XNBGkk?2~uqzlHJr7OU(sY5RUSNWpOSV^#?^DSws1>@hhT^hL}*Ly`T=I+z6_A zsB#u+w>pd%KfF6-{~X|b(MyByDtWPDIMr3cdN6gfG07J&Aqq?i|6Tt5w+~&9-C@5~ zQqdD?iSe8j=&$r;BiT}i({Y!25w`%4q3dtC>fxve#^qT{w_+AwV%^iu3Yo!Ma}(i} z4kVPA|3HFVdrqySfZHa|yxdMz1Z?O12cAFJO4~gu_k*#Rgwg3U(82dhFkzE7Un$FD z#I~C2@|DRWdirmD)oO@h!yL^;#BU=pu-(Uxkk7W)afC-?y>{cYLf&iWWwI*ZJ~H)# zuf+Qfg0oQeABOK%JQ`DZ7w)%@I8z7B`C6zDDoA7p?Org~_N$fUDIel$E#r7<ahTJt z!1C_W(4Q^8aHb>5(tD<+A@Z_ys$G%()Vs#0&c#~41o(irLfOrO{+K17&*5fej4o3! zvDA&4pE1$Z!H)bu#rq|-tPDd093!u~KV8O(l&abnloeL2Jwe<)Zgy^W!wE0m-b|bg z>4hG*8XlOlBt(_?4(VEzWuHM#gJhFh8j=CD+-E&gs-U!ShMK3(1_F-stFpJK&h&E@ zs?p0tWm8srN0aBl?T-m|9jHqUdKVm`Pu}VJB;wzVIQnV3ZK*@L_M7a1G*q6~&%equ zukF)2Otx%y+m)cXyfQd`&?!q!kPY!xD)&y34XIWt3r^Fq4G;5U1VeL758nk~SEt3a znPtWBDE4;LUWQ-qa~?9xylqG$GEDCO$}IW}s2pjJJ8l#4*2zYp3MhavVpYB{)TO>t z<EXz&voGG~L-4js`QUy6PS5YQ>v4{{8>|qR{OWL0B-Gv{)XVy(%gedU#{})yzIo_; zxj?q$#U)b*Q-SIIf4VjTZirrfxm;)NorSR`yRw~ys{H_k?^Kc%j^SkT>*qz-XU+2# zM}I{0DExmNAy0vUak@S+yPj=ETx9q}UrcX@yGHw5;x4cOA2<IEH?5+ze#=a;wsNHr z{MX{*vO;W4Ue;!>ITsYAa}jUM4NF=HW17O^T%Bn!TmtS(wTQF-(FW$Tpc^2p{(&Dl z=>qVHf24pAY^mL;y<o?iJ%+{}xR`zS=EN~PRp$C%RJ~<X9MQIDjk^bTclSmU+}+(B zf;$vWaCZ+7+}(o*cM0z9Zh?<;-n;i3?@#Tn?jKd7#;V=BR;@MX`o*F?hT4c~R6=T9 z8(1VA(NA03qZJ~X-W4JNaNw&-bspGO>Ldm-p2NVp>)4!VPkE6_4k*N58@|YKOQfe7 zN@Wc~CAc8+iGS)~qxX}r<0mJmc)!5eVqV-fS>!mTl~3+{LWay(YRlu)@5mzUDk4RZ z1cnfyJH+NBCnBeL2rkyvh{TYVA2JI3Rt5j~kUdSW)Ab|1JmY!Z0it%-`VjpMw1iW? zDPF&3!I|-Y<cK~Ys2l$EYF%$?Z3Ms`9o#?eeVKo)v-uvSVf;HQyZiBH{=R$9`xkau zY=?HFmv(Xd{|s|~d|O!W^$b~&Iqv0-W5s_O5TIOfLhv=d)vSkN3eD^GEyJOB)9TR? zVnWY8;3822)*((+j%e#dwy4M0u^VjZ42@2^jbHQ6HawC-DRjZ^{P;B;F2@{BM)elO zDqYNR_=eTXCR6l}2yu$0Q?$$5=%fl5ItuzaK-CPn2(3A;FiWds0hh!mm4#-If(-NB z)edLmO<LA?za{@Nr*IMpU118qJn^?~NJh>P>OL-}{agX(0ECjb!nuZ>RhvtM7lc>f z+Rj4lJ(EkbK~3FGhX>U)S$gFPkqQ%!ZVF5)x;&TJI>p=$8=xi``?a@EzplF~!ql&Y zD%X2c?e9Y7vc;A6d(>_IEYV?>mrsFBWs^Pg!%EoAA?BmE)D*}R7kZ`us@-t-Y3G}} zA>8ZLMv<3`jPY?_j3SAnF%*K3@3s-D9MlklK{YRrKk$1D>nJxXYN%?L#PN2c)giq= zH>h=D^Smc2k6;{pa$Re~>U24WU}+=~uS7WYbwxWZclFbOaTnU^q)*rITuU&VObu($ z`R=n8fxeidV8_f~=Su2*uk;b|g+i$z&B8+=yT-FRNYs#6bU3%-=s`e})4f}uNLiqz zrQ`!~ic3>KbEEWje~ko^dbdt>z}d5H>TbVQ#;x1##TmC~I!)dXB^dLi9;AZO@pXOs z_8Ff*E&IC=1)eH@g@2=zpA}CR_r1S2?ce+QGYw<`PX}BlGlX5CJ60CoG>tWI0pek< z&N!5k0VN2J)2;i-z4c6o%l*}xaw70_d361$wAwZBuYdquoZ-@PRzXW|>dQKP0H#QR z2X7D^lntX`>5Mh(FLb<V<Qc*(tPl@#E)uoxwEJLzr5Az_=rOu7ps%F-i#~pV20@U% zwtFNvxwO?vm;w4;ADt>ggr%)L*Q5co_HpAN4?`}H&&&G^|9LqR)pnnd^a2ZPpELb` z7N7IxqVk!(JYHYvPpw0)_W?^tC$&$-F$w(w!`KG`UaLDAJIlxAw+-EQ*!9t^!uHi0 zpyc&^AJBv!?L7f(aSh%+HNu{0_3PlWfFwj?53et>M_LHW0Cz1J7^#yM!SH}FGMoM? zTK*_iA2LH4T=*zpMF8RY<=^I()o+iQvzQ#D0DY9rnnG}!Ze6}hE0DIK=C}d5GJ#ML zWh0}?*LnKE#!3~L{~0W<wA2dCPf}joety&V)zR;L7OS11JEV<=-qj5xfv<Rs{teb2 z#*Fz|GtM7mv45bv5EG$%pCS&ZBaaJ|W_o!J8yPHRe%SIO<X<8)GhH%W=%8YG^g#7K zx}h+t=%!r|Y87)cuY+o3?Dbv(AeW|C2evy$7vo$h$17U*17InNOku$rhq?WIf7_$4 zhr$mt+(HLf?QX%Y;gO}iZGe*jajfQVoOJ)Wv`|L!{N(wR3A<V;y$e0}87JMkJ^kIU z*Y~yyJt7)IpY!U%2k~Cl35hErD$1$D!smsp#3-aULb304ezvlfq<oQ<*l%mg)hU>H z7;KEool4M&Zj4s?UYYlLUa(`Ffw*ZFt_J<6&&049Ftw0dD|yw{nhYQj2|elU>%Q7{ zTCOn^GMEYQwf1%Wpxv12ij-RR#Kmx_5n0KoP>&hyEyNFXnqu-bmSV*FfTBZn0N%8E zioAvLJAJBULYz(2hw^MCW3-C>t6+bxB1xt9Paa=fyzaG!tT7i3DrzVyUFbg(a^v;x zMfTHQaja{^j+s^Q<^#FNtM-^!t5cYsnk-*&AP7DL^(R5P{JKvLk6x}AbJL#1zsQ`1 zC(kvtC@&gQ`HOTI*~b**kQCe%OnurYc^5pcAbXFSYv$ohVl)bWP;sA=ZbZqK>jW*- z+MvjnzHo(6i{>_F<0Vbc>!5^Chj?>x(g~r+?>_Nzk_kPfpy@5^Ue{ERSblE~ln&E? zSUCD4qbI`q2t4V6OXuTD3>ZtJpNCK>mpa*~6^IqP>=H-Fc-F!^o&eo%T8{s49cXTZ z8S<7Q0w$~}*E(ynsU|&tLsE=~UDb@IU1X=-Z+)@^@{SIF_cD1%IeC_q6bSmGB@~fA z4+lP(oLs`B`<nWW_<Y;9@kRfG?<7Iy67V;;lfX!=B_!K;ovF{Y-HH7W=MdW>+o6#4 zKA5p=gCrH1!tJ`DC^A%6LPHo4YcuOzX<dKbR%qu>^5bJc`d2|ru)L}`s=?i-BX~Dh z`?&9yAYTbYe0DtyaS6$&LWvSDqZkxYX;QqQ&o>PlR_E0-WzNX-g`=P_*HNbv9Gr3P z3bR@ddnWOl$-uO!ZEzw$h&5^n_wGg8TEdq&(4p7|4;2}VkGOB|-WFngs>S8=iDvww zz&{i1@jO9|@KvMh%I}YA_q{02^M$hrnk^WvIHM~N>zQ`0-gNa*Yh&S~<hM=J5dY}0 zsFJ!|tE(f1K?Ut518C<K)_1<kLAFGzVXMV4YZT^R%Q>_#=#&5yj;2nsN$o_KizzSG z$RRS9u*<OV-uPuPOgrxbE=x&u>X!3$`xAVW<}dg;x_l+<bPH0C80(c6Qb*V+Y6x<= z#mjwaGF3{&D;OA3PKZ)5O!Rn$K$*T!XYMJDT$(DwD`W@3jlGmx&lkbS9%9SWaP_E0 zq~8@~Z!b`x9*)3inL7y&(qrx(G#u)I+-wShin8MvFOmW@=8yqA9e%O7R^h;hgC0y= zoQc=+<wq$)-zlR+i-2#FV<lJix|;iH{~luc_q_Tny#h0E3rdgXa#DUn|HaHPu_be) zbsUB#NW8MuxBA7>-YpjG?adCu=FU_%-x-Bhy=8ew-9$hMf@JgFY3Y^!uUZz&^5m5> z$%89HDl8OZswQf`pnsvTm-#McT4W&7xV#2_wGLg={01CMRdQqMKEKgDY!o30Vij*h zdcClCq><2Ej61Sjl~)0Z47v-OZG460&Dkhtcl>e7CNZiiQVIgcy-}mX1WioL45Oh= zfz-F0#$^sRuEqS8$({@lzBjwfN1G7yBCZ7d?rfaPuL8XnPUVMFL34V<-%=w1cb7H9 z?+BZmH4$m$kDv9xT)bS|X(Nx|VnEJnB2`mL*d@aonj23C_1f{g_6-qiKQ4!70Df)% zIP^4(fUEJ5$(nlziGOM`-<xbko6mRimU9pk&Y4Dy+-F&Zp^i#9(3(Tz#6SFT^U>qm z`utaN`{8sr>-pg{i^M_fWo-4WhlRvpvy%q$rEofFR%2rWaBC2ta}cjh0&s2?p+V5n zz$enVW3I$wR_<Hr9I!5!LBqj7vwr-#-;!M%(^H()sQG^PnqHah(wm*TDX2WF;1XX# z!=@c+G!Lxx;JBpiO<^98np{xJZFtKQuL&2w36&fsXExTC0J3fAf2S)p+p}n@atfCI z-CRVZThQf1;7ROm%^%wX>}az}xg~(SgVbrGKo>gG9cIqExHARR<@s^PlP&>B7kJ6c z&320){V_+f(^32|$&r*DS9@`%?j4oEr2TQN@M0Z%>C<f{y8oHcg-PFkjaub<QVDvx z<td9M<4vPK#ChZ)+4wW^x{5O&aJiwRuCnl=d)QTo?cd7QS0)Xl3JZ5UKS?Myke%9C ztJ}p`m2;X`+sbfuPme~8!1<h(l9$SvsjF79&r^=rw75L4vO+Ud4NdNUIw!Q(_(b1r z>s+gORF3cE7E4ML^M-}tNrK?o7~si@c?E|ybF<m*TXJ%$?x~8Bl2o@G<ni1!2ZTzo zJb2usSYkBE+@t`TC^Qq>$)w_5OgncU6tV!HI}bHR*P5c}4$FSC&fN<?G>*I~tVJn& z$-TUrmDV{?XPFFMxLN}s^<>p*ANhVI{R}y#NVw=m$(b(ZbBUI_Fkj-)WHo;{v6pW~ zW!!31$HPbD*}I|F9>J;*>>)ga0Ylcv+|{QHYugPH-34%b#O3iGW5WV5^=n#t5cfFl zL+1?1i;~GdD6p`KCuNM7G!9))43}waMr&Pkl=9H@^E`cyzl_4$Yx{_#<a9^(5cSSc zCob4bxH0)MqN#Z(v@o-=x{;$NlbJ0-;1>(1V`0|*`U=hvYh|Z6NgC@silu?4oNC1{ z9X?I&^b^>jst^gYfWEWR@Cpc0Cm5KZ$Cc&_)&N0Qxf3WmaQ)04EVA^5RL4f%D@NaJ zyDj>&I0~K4{p0V`+_1G8?`~I-5N@c1EI-eMlr`b8r*BGJwXhNbR~Ran`ENlCftJpK zwnyc00XV@`@vD#`1mkK6r_=_O-uojfw<RrhEjIv*=qSrtbapY1K_UPr2EWh&Q-YJn z3d8Lq&v&bZ5F9!fv=|r%J=N7e*BL5>H{9jUx%uRq@x3(TKr=p@+G7ABlT)01U?eut zA`pC{U8(@b(+b1D=HLw*Cz%3d6-Ui_#G2I2cw3VFet#pQ7}x!k;A)G2^~2PL?nELG zv<Ot1LL#uuSaoy(9|!MwKnp3O4{V$;<I}AMCJ`g!K;&1=JZ6rzufZqK*ue04ww*;L z*)4`9$*&F?oz)15%bGN0d<anR(A3ttvM8l`<w9}1J4$hKWk&6{`X!g#JPaFXdE>b^ zwJ$|^E!wQ_f{VSoZ7cuYV}Cu(*1v-_ApxP{h`xdqK8y6PelWJIFO`&XFOk`efl!I6 zuqs&46;OeQVg&-jVg)+)?7d<I+HU`M%f^hb2&?0e+(v61lxvM1l5bB7gO_ga8%g{t zG*pf~-%gJ+IT;;KDM^1riO8E_f|O~3Q8`A5a1=qRECpeH^u)|q4|<vl4FGqMfXe)m z!x$a)_0~id(k85nKHBzoyLhr&eW9&h?OdxGZx{)%i92ITUB5bWa*!jwZmmyL$~%&M zfQ!c=W3`9Wy<4@9m2=QI&LcH^^ngSfbqx29Bu$`F)2F;%6)l7Xa)(D7K1gqe=$R`| z5_|UdmuNRzY2Fe{rOO|kv4Bf<FS%{09uH(h6I)5oLEcLCfz4P}!9#e1Sk-#HB_l<- zt3@JsL}s3;Se1sLDV}nc`mmP7yu||B1DLWr5?6$B(QIVI2|+@pDher<;0vcEvz1w8 zx^_ij@DaF$$p)DGy8k<&3A|Ckq*2rJ-@pejjjTdly(-W{k>GFjN+8p?_I+v_CI2ZY zy)H3w3MXMC-6cbq-@|)mrltO+LqNA_=PkVfhMamsSypMz)|f)F)Tv*Nj>|aT9`aMq z^tGwY=C43R26REw^A{Sn8IS#^#4WZ^p<G_?l*IQ3X=4v0>nKFa`li(fN{Ne1QeVA( zVMh#x$#siCsY+gtUI0P*Kf~u1#YvNwKAmwphLfJNipDs$mEiO#t=JfjnkkbsC7IJ? z$ESbqOF~KnTT&+bRz>85aa+w192EaUNpsah{Hkb*CR+>&c*y=|2Q%WpO*#Q|-$V>D zTniyyYPfSH+E7r-^R$BJ?yC8W4X(G0qv*LfQhe0aP7aWA*)Z--#dfdghHQAlovfHc zgy`{d=EVswv|JkmOuUy^))5|hswn!WwyH@`GdWn<FO(ycT9CJHLS9}_M3m{m;(J0r zT{3$?U7y&<uHY87S2mCGFD7lvo_vR1UZlcvR)^KHrHXL`v-64tZ`Qg0V;*3yLF9~Q zl%*cN<^=r4w~@p5F#nPtV(0=l8ejbkqlnQg{matIY#C0`*$kuL7t&KgnBA8D8wPb8 z31?*59cI!>q!~`~qW8%%U#!XjalTsiH|yJ<!Kb`3y)jJ5i-bO{v4zQ4Z=1%;`{?rj za^;!vzPiuKq9w*hDN7K}<AmfrnoJ5$Ao`YQ{qX`|B|het+wgcae8?6s$d4@MsG6_R za8Kif9E(Jhe`(xs1=xr_NST1Kvk&w>{!TDsf>mlVk)qdt=9xf9P^(06$iyNaK|y|l zAT_1YA=HB<HI+`|grF@U1Vejqnov-0>A@aM`1SF<=pI2{Lpz=Wl~g$ECH<#D8-!Ms zCFKgB#HATvd<|xFix<Gff@W>%fEmEW(+sBJVkSi}S_ffQsK5JSXPQMn1Cyal9hg~g z7ForH(wg&kQj|0H-%I`RMkaRCBCfD=l{z=v7a|dzfkU$v;!2HZl6qZKZic<^v&G;E zglDq2O4yj#l8Wl=>Z3nq-1;MQuvUTozhhwlM%kq;r7(PAayNp#T5CZcD59p>1S(NC zgPB0{P&7l{;MfD`KC|(dpxA>UY(AS<Bx+HRhHE7ONZj|K8Bb+T9=hzW6u?M8>YPnp z;{bGR%2>-5%Sso|#eNhc&Pj2fuOA~~7uY=*_7z>OVqbK)zQQ85*s%<T3bglhWPAX2 zPLnE%LYnD&=oO)!@e9MIN&+Ueb%i-A<}^3$f+YI=T@SWlJ|jy%SNJ3ak+yU5L|b_( zh#%oRYEK;F9APU^9$~kH2!86cqFfC0ck1eI<*K6mCi({!-CyZQae!+bz4#sC?i==% z9W3j<W>gb=#e!YMG0HXUk637^pRazv&tM#)T~xHLwz_Y3sisp;kYa`{m5KATUT2dQ z4|ZolJDH6aT4%YEGGiht*ZJCncHbA;zq#q@q#6CKFS<i2p#A2>KjPIr^N*<nAzX0! zu%cLNNMEVkwyft?qMJ<RVA+SfC06H`$#*fFhn+xD+#?u<Zworqf@OQx+0QtLz}-US z>N6Pexd1<d*7>mgfauQl1IrC~`TcSAqI+EDb-C3CZeA0c%^SJjch;<Io`oBQMTR!( z;A$LFYMvnf+OFa|y^X1AXVt27Fsusl&!~hh)xv7C)}Z}r%73Ko;41KN@}}-wD1Qez zPfZgYg?tM^^NjmMIE$*oJy2r@{I;wxnG)J+P~QvP7V3dlX}#fCAZL!BJkql_!R#); zX674ygUWHSbglLZ9OXHXSOhtm${yOp$~}iUGxD`8lxZmI3TVZ14U|vYN+op4qO_5J z>Q%z00s>24ZGv4-uKuA?RYc7uxazoM%vNc?pKyK$@sUp<uGJ%T$!+fd)P|mJ2;nXX zS~tI3$4b03x(tjf3Ztd<iOt1_lJDJT@k5z}!}}I1y~{+6AuAM4l$L*&C$&TNaSxlO zE<umbPTUA~B|3jynU13%0UBja8g~LX^S_fKTME5{vGCRLk|KZ3gVt7`h76~#_}uvW zFP=|hag%+<)LDu~aAQV5l+oCwY6D{Ym^oP){>I<sCLd()I!%zGhryKCb)D2u^?Mc8 z?nkwP>&^#HYBcwYH@a~mS<nwlUy{}zxPw%MI&A248shAkSdmh7^ocW-N@C-GW`@Y| zMhDK#JyOhQzd#*{zwEYZv7%lH+-{Vi#wVm0%;SrI<CW+C#2FU^rlUAEBLZ+rNlhKh zy1;mv?|vTq!8D^C{)yA6zk`dgab+}tRRQiN<o<9{v^$F&@_`I-{UICKGnV)>hWi(; zS0ffzyg~XC{0pQeQg08forWA6)W=V>N~Ql91`=2h76_@$_uO7s!|%X_rNlnbkr+qA z>LspQG`Ijzk6R*-FW?53z*Q>|^>0C@0!S__IH@@a9)!7{c|CzN$S00zQ=Ttrt1A#< zlKdt4dHdgMKX!nubalvyR$q;J<K1H~MbCVRVvSjz;LPJVaI%HY9=?NO4-W?OR>3W# zLi4)+A)Q;QK<PxjuA48}2%9Uf^b})Y!h8gu<pPYG2|Cw0(D`nj)bK$77#-I{KH<eg z+F?4FT7>~dIv8h#!vEb4L4W0A1Np35zzcq%4z~?SWM>8&kFy6~{u?LkV$`Xw6@KMp z!XX^EY$+4~#ljaB_l00>ncRJ%&hm-3PP_M;M28RO4HM?7QR~)A<VA?8LYJ?iG4Q%J z_rOHX!tb6-t9@`j**VH3er@z|5T_LqQ)q}dbM3k?3I251d|LKl;V+Ae;1#@P9h=uU z2hkx}kFwSButEIihaq`f;XTC;k8t>ty@p^sdXLcpINmj)22nifRvI;!2vjR_+=Sy? zHe6}+b`lrfoR{j;`fe>&{_ZX~A@K7fp#Oo6{MDq>Ps4?o6xH7yP7rMT;0T6QH&##t z70ji^x+adOv4Y#cy<;jAR%VX(;b4tQ>Xl;?(Ia}!FP%~DR!32*ImX)S<t%yJ`kJR= z4J)b5dPzwi)9pm)_n9!xOYTRkcp=+54%2?=2y!-;A@;S-uh%p%PVt_B1K{CLLJe1i zZK*0l8EaBW@zfBd-{DQd)P>G%<<VxCNeyiDy8;Fr*0iwT@S{r>dJ<%J4x&UUj4uyP zv=UOR-2uY)xr{7PCnr4HOal>?r0X-sx3l$fUP%@@ioCA5Of~q6t<?lB@*)DbRZXPh zVB^9B2Zo6<u5fZ!v+%TMXduX>nd)#nTxpAdek#Gw(9uEG!X`}4GuH04e#P@yo`{!x ztc$Wihln7?aK^D<<++k<bCK|gDj1Ed^~Q5X$9~y%Oi=ZZCat2%UZ*he0>v+6Au}4B z{u1jTN;>q5KLTPyYLv9>=R;4Z=}-lHA%dA%2`h#jgC;YgESC;*2r#kxExuc1jlNN> z2Nbo6D}hx$xI47295+@qrc2yViCAvCm~zmseMpd^y-2F#Da1jt&DpT68DUKLyxy@; z+~eGQo#}3D-bqE>mx&p_sLEw7Cf~<7tPo_-llZD8l1@IAS;OZa<2j%%FLvZZA?D2u zaq0Fa#loSmo{NLa56HHXq)-;Bp6q8Rsoln^=|*d<$}^m#Mp-C5-L>19j`sX+_9fgx zO(k<?Yv7v?c^YwNz1+ZSdT=Pin9S%?iuriqEt3v4c$1DypH<boHuwuzL(tW1=ut+T z>F<d|_A|>2QoE&v6O*e{H+j5?b_Fa}+fL&2@6~(a`%(2^$H2w42=XxNJdgd@{;clg zLt1*x<3_{I;o?K2v#6%xMaay9gVwHVh5Y(;tdnermiwNDZ)L~tW^J})H=N}ltoqL# z>`F9?aOPU9>s01PdUKn$2iZTK%9%m7J)bAoWH`QbP85N<nw{T<$wHl;Axk|ugW6`c z^T%zi_<RB%c<>r|mo8symD&@<xnMsGsIe3p1!IYC4R=^uw{GS#vfV&x3uoS3AMFqh zeuY#j(2Z&OVF+^Dd!zDL&qn;!V#2=Wn$|XJq?*(qmG+dqtvSibFhtN_lMT+W7xTFn zfORuO*yb!TZKf5r^fe81WR9$LoT!R24ed9mSj7!o1WTd3KgdNFFH*%`6qHv6<E?kF z+H7|I-WEKNz#BgrYU|azwdnVuz2r;h@tzyRY3V-5_u$8^Lr#+HPWuy~bQ;OlcV%nt z+o_h~hoF-yO3qo4i!KFKdx9G%238S^zAFZ2QBNKMX;?0m!7NkA^X!?VXcCa0oXHv# zu-pc;eeb_s(6A*!8X6XIIa3P2%04A!iw()4)+a02Ul%nYglD|$v8}xy_3Pe7bwF8f z`J0(<i5e!}HJ!xsRKu5&Y?boC)M;Y3dtZR@PS%;|*sM%Pl{y4xr*`-Y%}}~x=kK<M z>R!>GBzm%{^j-1t;~_QMdFhhO<PEPb#*=J->l$G(;}`BM%n41DhFKC6ew78u06QX? z8EqRBf?K}-{!R~ADWw}@(nVw>X=?d_Lm7czt_6!)e_4VR77OiCYaVWv>%;6UX2*MV z%+>Y;02!7-?ehQBQ~tM{l85(y$|*r?TnL}P|My$ov|csvFKLO05VS2QPvDCffa|jz z(ym%^4S~00O%WM^wmNyUKqoqZHH}!tj~K<^o2k%Dsm`P4!^SpHGys-y1E~B^_3}a2 zZ!e;Lr?x<FY*kYT##A3oMwi|;OU}9btXX6$S#L@&l0;Xl#_^I&M><bMCjD6UT)1R$ zc*iNA7JvVL&h`J)e)9frV+DwlHEn<xLL694C2Yd-%d0sW&a9Lxcn#%ofhQxwF{*dO zzCyDTkrF^-rQE)BaosG}XtJC~X5cjtP)b!yYmSY55OOP`2V9I8gln%1-#?N%Dwc$< z!dY?+>-uptH}$Tc(!$?*XgtDs97Y1(|18j_pog#a7!(`cKt5Wy=@C}qRN&lcdH|Xv zEF}7fUEa)Tmo?v)%Rk8i%pY<~LGWLyL-jw&0?z{fhg;dQ#G{g);#Id6V$s``nz!*z zea8$pb&_#d@YzsjnN1GWqFC0`Gky7KPU9RSF=ffLZoki3vQr<mX<zSH;_)>X(IVnQ z8rm4$XJX$HQOz5>B>ykD5-2n(SOj}H|F7=tM*Wjq$-0}$a+D_LMaE^=jr52;s=bu4 z=igd4X1J@*$zk^IzR8gR@$r@0O>|ew9~x$P-v_?=raGEbPbl_3=*pw)mhUwiJs1@( z;lLbJw~Kf+<x=}6fM^zJQ~#4KKtGz7r|;)ktnq84T?Ze}f&xgF5znbu!HB-J-hV1@ z18F%!#Y9xvL?vYYqSQHuN#lQ7ATY*+Nh|bBiYBR~ev2&G^2U^`!PRC_%=0IBANZ8L z9V&gw-ns=)mtub(d4IwM77X>Y>U7{8ZO1tEh)tA6h#iomXd07*U??X-AC0;H+E{(U z1&lx80>2A;3ISuX&RKTUsV8;*)&5t%qyN$c8e`%9Ll@X*4oc)>gt$Ako!QipE}^p# zZJ29J?2g_oIAF)OWHQWMSS(p`v%<XfZep#UWfiPNi_v)YH~L=0y1hdG^-&+U;83p& z11lAx(zqdWkwrq>{?qj~_Vr3$ZOy=^Pp+=^4NVG=k?AARQdVI|BJ9%YEyFd${nBKP zpS^?m#rMmX@5SlysSI-yG_7`C7}ZP(B@uEO>zRHN`nYJV{4M`cy}|rf^|lE9sd{Te zfYH)53P_2yvaivgAlgrb)iRG{-<Vmsl!_XN2*asD;NWC1inB<;q19><U#slIF5<9C z0d%KrJTL~WFrarUOk81|v6=QbBQE<OVx#nERR$U3!v;dz_7#<@qfHyPz9%8?>hLHR zEXcFtIGpu;y(kq|Myz4_Vl+Y%`=})>Qu{3#+BDY$m6fSSVX2YuJXI!>g`h>Qy<P>r zFUdZl-2Iu)2nJDuB~A<4kvlg7T1TrG94Kx)eYg}<ZzK*Bp!TU$3#^WaK&*nH@|DrM zag)|7Vhp4W<r?D$Jtk_?U|O?tNYf-QMO#uS=O(NbxkfIB&DQUe(COZ!s*z-VBs!Cg z&_2F0KYX@=N`WYl)c9J-m>lzNW_;5wx7*jL<VX)0s;2tSeKcEoo;;s<HqMT(0Lih< ze6Ox<Wis+M-S_yNB_ADI-s)^>zR9$y{AXFm5s#4pUc4`sIG^+GZ>isn+_Vhz`N+4> zTsr>f{Yk3+5yIpW)e}cifWxqf)rrdw$=xMmXMNjl>5KUBm$|~9cWD*-NmTn2;~an6 zu-0Q7ox~Jpn|=vzbNV_Ht&aSN0QS@1f9<-nmiY=0T3LLdpy>KZcP;^g(w9f<CKhpS ziB`HUwHS6K#j|PyOI20TWs_6<!<DeH`mK7d-KI&sN8vPcLE;}@m8}NB=l#y7QmdYJ zIMLY5NjF&it4r!J#CW3MPI8o3?r31vFZhDadk+aSSC={<2~}j;?e`Q`H*m5XgE5I{ z2s;(GaFIN~B}OolmBt&unb^9rt8sTgRqgU=5ZiHICWr>e>qHaJ%gQEaQ!81uX&CTM zaGA7Om{4o!i!7j&W5hBWB8N&W7ONjQ4Ri>pkwi*b^S7N%r4!~4>MN5>Y1E{)QW45f zrr_EkW0|?uR(~OBf+DF1ft~_8gO!NuG`?uE2McClDhuqbS>_M;aq})tdUeZaOG?dj ztlK1b=ah7aHf}jl=B9M?z3S7Sx=p9EtebAt4X*l@*ag-q8RC?OayZyCcV=NaSCjWM zyTXq{A@xM-8kGv-T=(<jHe*m~2zE&q)A<&Ox0A@cD0wu&luSMHz?bR*Pbw%T`*5k_ zZ;92D-()<rLRU%sII#1PaDK{yqZvGO+$^FJ+7(%q#x!*Sq2><)AG1Un9rra>w%>?h z&5FY?;$sALzN*A$rbtqJ>mo<r!#0CBrzQ833_U(bzv3#Kuo>`0jec<pJ|@OZajn6V zxA0*XxGODu8pu#M29lCDQX^1g)Zii(bu3Z1P%Jf=L~(>#dG@@sb!__O%7--z{o?rS zS+$0WE`pkRH!M6R;;1^Z+)U*!(9mjc6>?#*y@mH7)2a5ehP2tc!(8I8n^0_rcvg+& zpQhP_gF`M8xsah^wqT~VomhWdRB(bJ?9w>mNJ;kK2Q4!Q0{K%iZQruBL3E0z##_d% zuUN^R9ByqkBh5QtSQ$A8qXy#vhg%p`=$xsvLg71q5UF_{TshnBrbqYo$8dYj#&93$ z|D4IQ%gq`cH8^$Uj2I6VE6+$Y^FOByRS|Ps-!v!y6$=^({NN561kx9nt=jgSUIsy2 z=8_`+;Ia^10n?P`l(7R5>x>P(quN|;Q|s=vKR2C79#_mwZD71SeF8Q8V6H{|O~X~} zQ;1H7nIDK`FzQcu=giS_;hI^9pb<~&X3Q1*O&Nm{N4>}^UhnYCLpr82tZJRW1Fnjn zmJ{XH1`YJyi<OxN>J^_)4(|Iek{c@d3TB^p&t^;+VC*eb1olm@ts>U`h39yQ-UIG( zTNfdqRC=AUh};f&R%+QMj?^tlP{UZ1<_#(2JW&_nP<rhmS0sztsDe+vSWQ8LF-M<{ zs($tctYX}zsHR+awG;$Tou}Jr(-a7a2hw|GW;JQLF~j3dZH5syF>ccrMD@VBJ0pxr z9}VjQ5@y*|2Plh<QIL=Sikn0Vwlk5ZjEh}PQWWz;p=^jp#@8}G!RYl{t*{W-6f=rw zEKcw6!PX;4u5-tuuflGxxQHVP89MjJjtw$#uHIM`X!m7TiUIi5jRL>R8N*1YASy=9 z1`j5&Q;?~#WUBY=W`eoX2S&n+5*<0mKmTa}m%qmN#>D5W-!_ZQyDvKj=kNX6n5f&U z6zsH`(`ClquvKC2O?2gut^b;2O6oMHKg8!w5%)paAt>t>1c&7WX6|Tx|2L+PhNNP# z1X0f^H*6|>&xgjcVZ@to58gV<9>;9y7vK<o-$ZOX<{C$JN>DYG$9=k55p;kQ&%59b zD8^20rD_Spq8?E$Z{(J9C0ECeL0PJkz@$9;v>WR(z_YBLso_4H^i7eR(09)Kn)Lh0 zU8`9(toE;<E6=<B`!))l81iE#0<MhRRlc-CYm2-zGN&b7all<*Z3c(JF0DLXTysN- z6F#M*bf_9^iS`d^LVX9X0Cha}rR^MUz%}Ss^nLahP^9-QXVjxy`h0w%B9$DLvwcRW z-fc1Xo^khlJ2TUqewr(MN4HUX(T~#|wwX-k{Zx)wsu1rs*D~^|<5|wxOy+aaE~EB& zr8HM-VmIkDwEN>PAS(XyYb|_>{yGcUAKRUFWyTClpW2lA`QI^##Vf}48RxYJfK2e< z^G7nnx0EyWde=))aAB_%HOQWQbgnB~zTa5?ur$8NjzLz+ME-_Q)|JC=WlsjnN#bG^ zZ*l#i4T<6PQgEX|Qi6=-DobhcZK=~3%sZW@vD=oKZQVnfu=Wy>8YMcYjG>_@jAIrC zYQ<Y(V<3lV-Xwd)BKD9{8f4$k2w*;IS9pzYrxz);5BtVZbk%l+QO!*Hvj(&q*!nhd zt?v|OS5h%(C_L;9X6QOPC9bIOz~ET6`UnBKCOz72r-fSkw9pLEdnPF@pkDfx{Drll zlDiQ7#o&``usU@8uZ`Kx>80=#nnV|-!6bCtAtmCrwqsD-=)^a6amYW@0aOrtv##|% zzL*$3Vc#Q?SR_8(%rV+Gw|8a7?8G4taK05$sbkZukwirWMKftyek+UQ`3oXO_SZJ5 zEylKef$3~Li0N<6f4wV5_CMpR<4o_?SPrE!Da#j~n=G$HEYiZ_yDd9ORb3<Hg93Q( z^&Iox-*ePH(qj$TBgc35KziqXIQB;?c4~d-T}+tg%HY^86$bmST|1jYMrIT!l-u9? z7P#9=k;>&ABa;U=tfJUs!|1hcB8S7Z%Q3_xWd83uw&4jozCVlnbT0jhAee^u^p`t9 z-?WvV2+^;6p7n<>7i`9!h<bP`kas=aHY&NJ0hk_wE*a#!LbgdqV7-SLy#1AT085`i zO--PAM3bgp{=QtCuUVR@$@pTP+M~Na!X&n1$1|rS2OD>|um9>vei`SGSUKG9nzi7z zw!ho6y??sPQvhz`op&~nZ<oNBR}>a(=87s-0p_dB0z94-D^H(e7?N5x1y(7MgWEO| z7TB<FBbkeDbTkVWptUa8efXy^-BsTUVgyzetB_-Av`on+fK@H_=bs9WK2~2wNshlU zOv0&fL3giu9Qm-AW{-!~@gnZw&^(G;JVVtR)_$#YC+OYH&4uBT9;hd6y0m|SzD=QY zv2XcM@?Y}3#pm;vq#m*;efJXSRGc@Q<a@(Rf(VMJ7vwd-2P9u7ChZ^Sm5*{rs)=Ia zb1(WTp~K_1+=eR@rc_<2)?UqGYm*+o8Uzr1Fr=a<vpe(0Ygu#rv!%xU)CziB=blcI zOo7Y3vEz*qb{v+zqv_yI7=#7&tc<uQECl1r+H)X|Qyir+s@Ham2R*`?WvQoWU%dw~ zY8hMfzCzX;0ihX#Yv{p=lC|-1qc_kE*Q!s2$%4~RA~FdiBsoDzHrwW?Ke0zJ$6!s0 zk@NIRnK&Xsr~(M`zlWkSJCl%D^?$*qLWL4K3+Js0Lygl8&q7o#D-qBN#S09)h{U09 zSk|=o9ibx#+eqsI$rpdHXiBrFDyU&Cu{56cQE=dv1?V)bcV<g%=l5xXc#8Cdo}W!S zM_LURCnE}!F4C`mIwX1fE-t(rOJKIYOT9*N1-$YJiyGM37RJ+Ukb~54*PqE7TwlVr zW?bw&t<K(3S~x-$eZJ?qDj7%93h>XlMfT{@dPH}Fo*0T$F*$#4UV9W<Xgzi4xJ7T! zM@95x0a)zbb@XrRmGLu&^qLtxp==eb@1@T7xWpOPf?+v_71t5-0}aW<S^HBoyiF*G z((X2Dp{gCq;HEb?&h)~)Wym!3XN1$^WniuYWlh7e<|W>Y*(+@aSS9b5&Nja9`Di1M zo)Je)5^j>MpmK%`_5%^8_i7rw^#)t6lP8TwU~eTl-ob6EY69-BJN+)>yvzlc0!hgb z%a+DDZG3DS7Y6;6-HwKYVrNO~=ix`(E!0wUoYeXidC!$kBO2(zzKpmdSQ;;exeQc( z0>*7E`6>q@W4**HYku69&@AH56D>T{968EgXcE;N<dM~JS1>J*Hv}z&*(T`p+K4s- zw`-$<hM)?=57d2V{L>AB7OjR*WE+xqXsGriq`YjnCKxhJoj=9qzZSpt%X(NH1=I)5 zlhi6EWOTGS^`GDBZEUZBjE^3*3DE34eRG?^X9Jpb<8;aM4$nVzJ)INxCylE&+&spc zAGre)=jBZ=3EgR8*JgU*_~p~XzW%6y#zxuOB*T*O->y22*>i<;A{b$l6IIHnJm+OJ zpC&v9j;Hk+(d;#UC1d-`@$+l7wU6_&b23e+rQs2&O$BQiT_@d?V=-}0`J=CDJD09K zG#izC88iQKd9@10kNg!0E0rwnKt4Nqp<iUv)-g(aR#HZqsSNNBS_Z%m1{;e3?=OQE zqZ#VD_%b{i*d8L<_{8&>ps(WE2>A)s^Y47c8K18VWL$oay>o)C7CrISwiG}7W2+HQ z^w((k*LxF{>($Uk!6J+^<r(%l`+tn&3aSX*(?wu^A;LNF$6*n0EqQ!z(OYISY+7+P z9`>EE=?^8k<*Go&$?f&UY=|8J3Mu;1MK9G@ul&eyB6+i+$O+B5Wer`DI-AG46!-dw z&^8C9YWSS{gDm5TcN$Gs8fdI)$X3v{@fw#%V}8^;v=;Yq{6NjQs#o1?MPr}x?N{FQ z$Rs{Yk_r+|K99w#R(Manjo;4R!dxZl58c$>VAE?j;jPg!7lLHi>oiFLo{=i!Z|fHb z`=1?ydVFo+>v;v@Vc9_5f4^CEMLL!!QL$c&b<Ayp8Cz$7W)#XeFMIVPH!^V&E`Mcf z9aZ&P58b)%%=40p^koGnA0v|@A64Biqi?9ig>LZCbe`S8DDI?fw=~`r)%hhZv2;D5 zww!FEw;j7yhl)r7Aj}&;I7R1!2^qbc9r;7S#+nz8dmaPxn+p<wZ9f6|1)7klEn9HG zg_ls}Q0O*ec0vc)W{t#{_+SE@rT)87AlFI)JcTg)7Xw}Cf;4%PBRT|{Ji}9rKA8j& zMXyLb0yohkuD7JzmZeyWq5lB4k9CJRp*h{^qWe-1^F*}7oauO7`WU<QH6Ocyd&6WD z&V&CaY4+b#9*FgS5`4Uz|9^rHltvctncxdzhoDVsM}$BItPI~QIva3nvmgn#dRvWI zbDQf3?80hjisqe*M=PsU+zAML-?s4Oi(Ih~24kkV4GEXWKVjWz?;qFy7UDiLXE>;u zXIDEXQ4GW%H}UU}*Z;PMTPVK*dp4<~Kl;xNt5aE?1ARF7nNb#_{vy6qyjE-~_OxMp zKj<lZbaop94HmNq{Qvx(nbKLeTWTAeXXOEu!C9Tt`@8-7nEygKc?z@~YxYUL0~k6u zA(jv0x6|zp4IB#SL96^WmlQ7wquSCO|Ja*<X8bDOY_(`m(NJ}})Ze_y_{4TwvBLQ< zl<-IgAj;b-2*<I8)XB)zz`}FEPJb8wFO+i%==)v_&Eeqv&5(URbl&%ca-J!<p&DKK z+|jh8XF!LOgYw^VlOqS>=jxhM^k4c047lBmC8FKF{>8Va=hbD&%c_`BuhWMUO-&Q` ziz_bVEq=`+8I>x2twY9`tA8m68k6K7&-)AEnl=`hMNvfw#+*T=YV)61&Tmh0bi<Yt zz(j8%d8s0$x=i#uC#AB@T<coz)COGPbSvTCEVDNwu5C?Uw(2F*ODu}x&l>5mE1HYW zL!k_eLy@avvNv}qiL}iyZPmL^dUrz#SW7Ze|9&q_iruzE@PFvtg`W-5o+J`U6JgXz zJn-DN8;}Ao{3qCbV^q6W(Rob`Or4K_=<YbKLu0;|*i(_}iozp$^1Lxdz5#%FUzOsT zS;>vbFVAtDv`j)j+2yo&b8Jr6)xoS!k+swi`d=(3v~A;P3(@Pf3ALUs^wB%I_Yp{w zUN@8qvSPXN*K?GH@@MPl3@2J=L*%NhV)_X7FU?+QY3Zk6&1AJvN=YVcM}U6ilPE)n z2UEiP7wXb(XJU}LXn&M*7oI*#2&IP!r1(WpTiJG&%cDRv|3b~d?k;fVM{8Q9p2cx~ z>TE)JesD1qpVk`s#Q9$vSIM$Hh_bVvrI!t?M~y$Se=Pr0yG9a6=#)$u{n9A2Agx#2 zi9NtUn<D$w#szI~g%n}Pau6tmQNf;bz#EXl7;>RcH>;}~#nHpZ54ws;mp6j%MNavl z!X6Mz@Nxx((i9}hi@yy6+m@_-)<*{NT0<FT!H&d=Y&%{`_!VQicjRE&W}<gGs7XM+ z;f80dbwAxVyT$<%n3R&JxCyz2j}XeYMIs?-(d1$hf!vzEoF4+CVgei!%uvmJdIzTe zE@1CgOnOc~L|%&jX@6;43XojBzQTFbL088SK%nDaLx>=sUF~r*Xl#V@cdH%T5m!|F zichWxrQ_eMN+A&ydn>RN`<~sW(kJ7Z)u)0@WK~8Pw!D`>=St;{I6JBm{p3MwfCF#( z`&n*7lGp)ocY6)qR0L27?j=4H0y&}eqc$}$W!V}+TIpFA@2)Iq<2q|PEd&N3%Lsd* zD{oCGVs$;nq0Q3+h(=klSXhek%1E~MRY#yz{@%Js+{^Akd^4^l%$SOVa8R7MivM0Z z$h=`-QE{{Qef;pTT<Diab=(fvH;|0$e72gY{hffA<ak;l`V_LMCAuwG5!kUC>%t>W zS|$Yq1vqh9Hw6Sf@a^fm?dM3mzjOcFH4^QE)}dJ4u*pic3E1IG<A07jvPMV4#_8h( zq2w$=M5rV(vW3e<qw1UC86eC5FUlX`v{+f2OHO%O8#0tCRuNxUsAzj$(n}Be)30hg zO%<mL9<!IS%WuUm>AP!xNQu0v;BE({YCWXPJ>;63uk*RWx^?h{K}DlGEV1dwS3u$y z{7)=^rMy_B;?vKw<&jz4OhyfT5r{-AGlS(TC;e$NEm$^{4})x;4!5ENR`N_dKQxr@ zyneG7&B`BY6EY|tfSzcq;z&}A$;Rp#pf~FYR(2c?h8k}>>{=>wpM*9?7Ju>!@s}v+ ze*%<|2w<O#w@s=gti?4Y`YM5u2nHGp`YD1UMi)I_Y(@#YlMH#(?8MsPQBhWKpM@3x zf$}Y{;<Fj>EoL@L#wsX!;Z4FC>%2Tj#R0F!NhuN{Pzy4^o3rP*A<c%N&1hN8`C%4} z-K~4%UJT|)+U}4ufFms$QXYg1raxkB6IE>13Jhk?ah5+%7?LqaC3OAr6k_xpUK=>s z(@J@4=T&uXVE*{EwZKC+sjGxC;;H}OETaqt9afrMjM3DO)(??nQGc#yqVX+#!?2!B zl<;*Vag23RT<Zg&tLVyhhf7uFI0|#@<_5XV@v>29jq&e7y*T)1FY;BXyR^vMdY#yK zv78F=5T{Gb1J4b;T)zR+bdIWhIm}L*UmG-b_t*#pbmiwAn35D0MyF)pE|aL)SNX-~ zbx?w9xoRq(u<7<BGf`5yKpB@ye4`(&x+aa38UhcfF`<>4sX6n(fMGs!_r<h~Nt4SQ z5_@l+-w|Aj5g`T}`&a+#6lrNS(*_4t<hvtMt=AjEOK|_Zd=$49U2Hk3AuH0%o~T7w zhUYs<e?0vHEH!RefErG^5iW#^zEM2|61sQlUh&J@B`;FJ*IWVEFtRc;N!*~AJc2Ma zLJ$&wH=NLqHo%4%rltf!!h=oeM}u;6!d0;^j*@i`A%lYpLh2?C`|A3$r62A0UubIn zzIX&zDx@-|hrp3oRx|TTlPAaCc2iebhLDme#}!~@D`-G}$le79ZPzb;u>tJ?BDQL+ zzVC<RzkX+^7j=E>ZwVbTEV%i`O75NPc)s3%R#z-p-X1a@ne11RIdo)}sRh-)f#Yg- z_Zn*<T_3h5vG$m6UbI*)Ad2{x_nOgG(oS(N{dg?NoB<LZqG=Mbm{vaLNcvN=laYo3 z87yp5MkVvNSPwPrBK(^@B6STqO2rLj^AwSrJ)cq)entOj;ws82>dWkG>N;vaQDSm| zL~3(LF|RVC5Dum$OC3yxv2Qbuo88!{DzK}Jl<JO{CbP?syy7Xk4Ul?TVeakFIFl^! z)Wt0X{O~n~X*V<w-vAy^+5R8AHlmcc?53!J3CVRe+vh_n&-JNYbRlx%;8+4xfueCN zN&MGm>*Bl^F&_p^X)cVyCMGh8d0OXr)U=bP)p-X*YE?89FjsHE(3Kr-Bo*RRPtxo- z5Z8E+K#Vu>`5}h@1H52!_zFx>T+v!xf@TyRyFGr@LFZzm1W;9)Ge1&m5lEg_4Lq0E zKWl`-J#JGTr$%f}vtCN^Fy12SQBQ4h73mgv<2y*T$hdK?#XF>&Sb4%8hxvg`Iw9Mc zit@eKtT8+v?=W%_>R~3<fv%Ftiv%1ZrSMR`rY0ub3YZC1i$*@<$Lj{yP<KjZYhwOQ z*g}~Ub#>1<QaXcoulT{&z1r)5HH+Vog6;F4kEJ0l%l5Wx>>XB$<TW-Y^-a~`O!iOu zZ<t>S0ZCB|nTSPUJ;VBD8ec~#e-46k0mJ9Jxhw1C434>_v_LutE1*m7&nE4rljn5$ zbUS!MV#<SAbbqVyBMqpgH8>YK;TE$Pv}coWyJO+uqtYzH#YnrFR8JcEzr$m8G8NOr z5H4>)p2iT{VDSFzW|)^~&w@m=B+R~9=>pSXYG{$`L`o3)DB{Z%lafGvfY<R*MEyW~ z;+fGd6a#=dJcrhd47)f^yq5ZFP(^eQIXxi9N2Yo=noy8)JR^|+(;_Evf}0AGobs4W zDk2el7J+IBn;?<chE3JEFa&YwX``&dJ)QEPSh%+*5V?bJfrQ_|(RsKctIk|3B&+1l zhX=ur9hicQ7%5wfx}2r2psD5iWZr$D{kPjU^-(~mYZd9M!Jf<TK^upCclF?8^~)ga z51!o3d2G|i9kBor0a7_0&MNilY3Z{g0=HhO8F+CKN3Ea4o=V%y=8iCl#dCx@N)gOd zkdvgWG^%Ql;zoOTfr_~|MPVM>%LHJLm}BveE8y9#+a}0hgzC{fY~+G&rJe16sh^}B zxM2bA*;_|C1d*IKqA))7a#VlTdGIpkr(Px4qV_FI$x;eXG0u%yDP+`%*%-M$rbG3R zx?7}~NPN7EMCw9Wk1R44+?g<s1)M-5qXS1xY;}zqms>%9tQ2^!y`CYcZW!T5`?9fQ zkrG*z7(&yakoz(^T|UMT1+-r104JVxxf4*!gIFbP@oy27RV6OD7nlqxd+;B}t4Oba zf2=bd?zZC$m`_8+1>K*+k@9i>GmNI1RHh}@HGBaPKY!?)A%-t--#(ncdwbjdk*jdT zg8akiPh&1?Azoh4!k98rDMQv}UM6Ruj&LlGqF*FqhV5I(eH=t|W>l=tQ1;i`j2sAo zQ<i($Q1Qo)<34s2>`aa(w4deBwJA*}UTsYMj0$5~3k%D~-=r{w(~Y5ZxlTNmC|78U zC;GD#i%h!_oC2KL8EypQ1U~%?9$|>58e)I?P2(|6A&R&bnV7f*1m;aF)<4^jDt!b9 zcBVI&F;;|U3U<DGsy>x@7P;huKLRjx-^-4TdEBgL>(_r)JNTHXOQtn@Cvrtn@d%Kw zcGM>7ip20|U-K^zGnA_!$CW;4p-Ykd?;toFNvUpBDL8^pM>ZozV1_*V1Aeo^3xrxx z7^%{WYx$=*DDuc@@+xqG0pYVYg{sa8bI;$;NL1{aF<BYr3&;$xV#FDBWIBjB1u;zN zV+NJ}h!-0oH6JaFU!*N;T#o;v6oqJ>t^uzof>&`EmK)2qJdR6&L*A~-wkdvL_4o24 zTRhT<r}O8E3wxh({A#__3yOA;%zbANBZLZ34QW(>+AssZR)})Q#dyM0SpRcH3x6x> zccRd#f6k9W)D(I^aw0lDI>#;%r2ty6tj$wAvH%FIBWo3<^Q7+fh~LD2fN_!NDMB_S zpw#7<pU^Y3ap$*fRF~`~`fVY`5Yf}Y$W7;GcBuEwF&fx<PCMsH%0cZ5DdrekFP61r z@L>AWWIv769P5uapou-njS}cU)B`eT6<Em_N7Oyo39SO|FAV$>3VR}I+ig{7L@wV6 zEJ<Qt=};zx{7Y6L$<@o9KH3FIAykgu-F&`66;1y;6@(QFG2hF)zY<BR-ELBWMU-zd z^DQXrh1&LBxi^usaeZ(MoxE|3hGm@*%bsAC<BQL9U=u`yOz9Pu!N*@6|B8GNQ{nao z1*tCfN7@vK$AAPc;)0=P;?Cy$43_-QU_lC*>})fMzHl^0{AEcNov_+q%a-Y}BS$|r z$l(9Fdfob0`)_~0cS$pMuY=9?fpLFTf4%OjecPj+z+YUJRlCf`wI!Bud&jLsW_3vT z7L1nJK?}}H>=joH!SBL~=E`pVJZcrIyKrmlBq%`OT8ml*fkBlB^4v+7#y7YK4W3E_ zkv|Qh9!u<H2p~km++IYSqe`v{#kJ5ezrJu5HUEro!c^8`vo~+U;2jWcg$)YGPRuE^ z4vk&cvhoYgAsE_c8tSK<7S;@c@d6A10)chymAWl|p>OD%$JqTo6=j#-ppoqYB1#FM z`3#&mQTyNMI#wXs-TZ%zeRn*S@BcrCga{!rva;9NL$bG!y`s!)LL_mrM;Tei-m<c{ zj7T<_k&y;jQJERl@AjU(&-pwazwi0u-0s)8?(6k>J+IfgF86icbkUMhcPknj-@UtX zVE7{{<C%2U($`=Ecggo0r=Az=(~Rp%eK;t?q<iHHR86VW!g!xZU#&`y%gIZlE%4|u z4ZHb~WXfi1vfb5j5%c4Hv(QrbTInsP-gdv5^x*4vQ>&!LaOz^Q{n|n17jaEJXt`JZ zc5kqwzH1fIZalVJW5!ogTjq>Xxl4{xQdW&lpE_q(AR{zCt{KvBE8F*EdN*fNa6I_+ z62EFh6{%3WUH=Ons1L=LZ%i8R_lQOAm0uA`<!K6RN}#eDrb#WgF!vo{m>K5%=v;VO zBdtDbQ&zX+waCEQf$aEo=+A6>k~<4QPZ-Uy_eMO~%=|}cW%osBQb8*_*{f$K27;bY z+a(hTo7TM)WZ)s~;kp?Cma<dRK^}9k$q31we)qvyH~m+!`(Q@oHR)3j?-IHB>m75& zluOo>!QJls7qckbVx(==0->#8)soyvl-&!oj;T`H)K!t(SGbVT+^wAT1rKU&(3ZxI zVM#1M#*Q6XQ0G5fpb=Jz8}GJY?X$NGS}rz+lz}~vm}nSp%mWWz9}(&#C-=sVbV+37 zfoq$Ei4$1bLc%HN;MDjN$A$Krhd<6dIXOhN+%##?<0ua<PX7sMOV1yf%ZPe_jSy!_ zPv6r!7pmxyzL#WcTNK9}Zk(dkaVpul^UdAy#n2Yn#;&^WC3<Y^LAkUu+aZsGD|JLB ziY1#=S-&92tNGY}E^#V5K)I=TUap2Zeah>#&aY^!mJ4AJ-L{DeguS@pn%{2nQ&1WD z=&RN&DFVtrn5*MRuG`f=Cf#H-aa3CRi)hS9r~?<P3}PjPW1tvZg)(p>*BdX<hTDG2 zhF`ydg&U%LzNYb-M$*5sw7m7k|C$(ZA40ixM7_<yx|xjC^d!A1d{q{uP9xD(=HkRq z>B#iNqpjt9e9QUO_N`x2uH|jp5AXgM{gK%Cb7gHnIOW&3=HoBBY3tr6w{j)ej&&EW z&n}n^Y4tl^m}kgu-qY659>q$xHXZIR;ZXgW+G_(GuI3SalpBfd$NoQ`2D`7;Y{gSZ zT>pt;bo}C1i>q)kw_oC;n_SWtGJu-=n4QIH)d_dP6zObA=DP(OZ<2RxuutxDT`AnP zu6=eaGG!T3VA$@<!)Mh}F!kf>r^NJNowrXY<8SXAZuvoD`*kvK9JjE{{XThO3+m@> z)v~d%7G2DN&+cbRv6cp(!NshoTI7xym`kaCG2r|D{HofOv4epxTc%Iltbe?WqKsGh za^z4RI&<5HhN`lkW2jPts_xY4#|n2=s~xG!%cmO*rQ3CM$)|4Uo^HdQ+|L#2$Prk0 z(ci<SU@E=@i}l*=NK6UF@~+#idagxTmr(1wn5aVi^Yvrn6E|n#d5ScwC)LvHCwSjD zc)NwHqZJF&J31KcTI{(hT6vF^hJ)69n|76Acb7IdOLuTokba}kxCFJn0lz~w@<+~D z8DGl})P*YeDu`W#FN6w@Gs9C~43R(uSUm?x;tsjHC(<n46`rhMDV^x7Nbl~rPKX2> zs&~I{Lce*3Y01j(5Ahf?R+QwvFTuPn?g|xfrl%OGSm^s%uXI{H56O61{p#VRhOkIS z$H4uqEo0%<XZ9L-5LbR0(b7{dsMYgE(|TF=h9$4&?~;xD;Hm?w*<WR6%p^1F`6T*{ zNm)_&g0eFFnma_u1?$Rf@ubS_fbW!G83i^nGF2@kY2_u^@Zz@+tK3AYAXr>?@byO# zUtU?s`P#FsYq`Byx^wth@NP3(U#jWD3L6z_kT=eK*@J2@NJYt6(7K+?q>QAAl4V*g zJ3y3;u7Teb!j>4vZ!}4(xR{mDovrvmVQ9cW6bcs(zc^oVt`=*0=bU$`9pfsM$>h1p znGJ=y$q2RHKJt4cn1|t17GsKnPAlA8foYy9p<Kki9tHXN=VsN&gm7`7l%>S>G@hWm z@Y@FsBDeB8JH6TZn<ZT?pH=J~6lA+pIxOPWGM)hryUwB&=XvNwR*=5JWq84H%V<6O zYVwgQTLMLV%EAa%)-RSPzJaUA_;Uewm8(g`u8>}R)tJ@tyKDA2=ZI4-23r66Zg!1m z{-N_xV{|I}t(d$#8OMpwGJ<6-KiU-qoDgzuY)`8~I-}Ys6Z(c8k6b&?HTTqs&xFh8 zVEv$`pk2i=jwGt^(T4x<DZx3}_dS?EhyE}>jq_IuNPdyL%)-hbu*n+NM?9pAL*1iW z6~xuT1<Ls<#@!-S+l#;O_1~o_d0MHfbuLPf)@%WA>%ANPLvNd>q(qdnvD^&(${SR$ zrnK?-g!)!g%)S0PD;t@gbAs32lq7l!E@)`+nY9Fw-A5O8m|UBoaTbXWDB@Tzd~#=! zTC-~{tU}s+KNOpNH5~Kd;~4NSh#!hV1*(r1FCKgBMME_6Ah|ERT0{BQi8!~zl<69E z_Fe}HTz|6pz7B*k58y+Y>qmKN4)oRNwM&MTyeUhPh%BKnIK!?uNm?2boq0_|He>O4 z(A$mGPI-!4^&5<$NCjQ(fA8_GhZyr?Ev;Qlbne#|3LGg|r&e$IDC*JD0j*_<JSgb7 zy;|CRQnyg^&3OtpKA%~4H~X=t!LLVMOPQ#vv-$D_ZXAE1W;#!?ex-@Fi9R({K(=Zy zD3xyyLG31{w;BB8PBv@mYsc#)a}*l#Q^)S|r`*|&TDpvXF{j-7^+e;08j?4^PH=ue z*1>!^yV7b+0;{}rFf4zjWJo99k?JQ^=O&ZS`*6}X7PP;v$S54lh37ZrWO)g8Ci_b> z2@ln6Z11wF&fnDtr!$MZw_CBj?mT@*{B#YMvcTyPe}zUKp_@@n13%LF@+oGtal(-j zpKK&@HMyrS<OX5>r?Y+MgYVpj#i&@YZ+}_VuVvg8k|@O1LP%d+m74e8N)!9+E3VME zuY5Rb^<3w1%1<?oc)nAIX<277*IjEYBd?d0{PYsmTXfLhZ7|K@4&%Blc)0Fl(j=-* zGaI=jPd+QXy4^Q`9lZUbvomE(?&>Au9fQ>A)cin`!c&a~&<AkptV)^48uSPzv_dP$ zaBGS!;vRZYrbh@%m9g+z63gkyPN%lOoX_n^WUszr5_R=3)ZwXIPx@EpoM+0Ka@NHi z5^;SfKe-w@>#caBan0$M%D0<$aJU;75C`!T4vPUX5p&>h7?30uTj8R%fljqpu+nw& zl0ZGr-?jMkwy7bZ=5yj_Ri}YlH6Je1Gj(Ph=RdW%iF{I^PSM>qdtoC?Z7PsxyzLxm zNx88c_`O1nRH)q4qon>YiK(dboncVmyV+ZAi8Lzu-A%3DQ~YJOwl5nYf9P{l`XMjt zUdffqJ|9U6w@u8$HksI+;^D^4(P6F?rD>>rgQ<9pDri{U^o^Jt57tu(-k?rwgf(8# z=58l;BjFqQSU}$3VjjLlL9ImVVj48xM&>PZMq7%jgMBoVw1E<rdS5PJ^pw{172kI8 z`S&}O<-Y`*p5=y>eB%wiNcDu~>iP4k$0n|v&1E>W$543Dee8JyQoeof%i#hlI(6~7 zHVE#iZ8NvwGsxD#c!#uT`k2#6Lb&bb`N5BQ+$m$NJ5Hu9mpvg}uZ3yrzKKh(e6rw} zl(mg}f^`{HrI-s%T72C)i!+H#y7mFq<3XRd(J_+j>B;{Rq+F6R{E)e{sH;9M;AX6~ zZt@P9njCkeYB{!rj4Uqcc_8U#!_DUp+SZ=SQ`yU%e$K-SN%)aPq}fKk%_`yM3GweH z^<1;EPW)Ia@a*b6qevc=php30xBNx6*b0rmJ>}oJRA^dN%fBT899nLvgs7)lX-HJ( z(TuYhY4B$jAIE0Y4h*a&yu228O<n2rcyTMxE$wuWZ621^+Rl9P{Ai<o(#TxbSSX$N zBs?IXX4by5LrR#_GU5eoejGnhewk#>WG^i2F^gmF^K@{gz`Hn};Rx+iBRxNaddhhz zsKr}jh559zi5KGgdW@4COO+jy(rVWEnyN*8t*pEpWLgIff`$qyep#Fg7t2}bK7J4R zsbD>O=88VH=a&nG>qz_)_<Ogcw+F8fqEHIh@Uy-Tf+ff4OGh2^krAoD;bus#?SVho zD5vNR?5KlpEEpP$5$g!mf0I9E;8e(?R-DkBzr4Bu<#4E8CASp5fSIu7hqUKd-Ls1^ ziPz%p1a}skN~8xDRS2G00@p83e-0<U*bbWb(T6Q~z4ue$8~fUDNgdVputDXUDHECC zwaaA1cA~(}z!`HM-Gv;M($`S_M~)k*)J=}Ax6ZH{6Dc~s>;o&6zx<ZOP1j=@@T%?9 z@%6Q;DkEyx3cL2(?dc!(8@UfOwEdKyoqxuawt3H?Oc^wG8WGPhfP(Albf3zX>LJZH z7Ud1WQm8bTs8G_!y41xc(1R?uxiaL51!3oepUM-D+K*W|39QLt*A8AmR!0tQ%WPMA zDhN4}3ydbGvnt8Zq4{JLNX2tm%IKM(&=QsatJkw7IW&5CJSHo>6q75l^?G@ejT4Wx zC*9^KUgff+@rPt;!MiR6XOHB3-Ypg4T=k#E{u=0!es;fhw3UG&frfp2)LD`yKFi~N zTBRvO_V)cOU^n13wgmxFVFm_o+rkln5AklL52%&5QD3}zlQ$>wdnPY!y){XVRhd*% zf(KtrIHPj+>nW!3pB|f2oGaVnW6J{e9|C++kLX&C=;RM$Sxw)@Bu{#g8XnQH(OO*P z2*T>|+zqRx>+p>dc|tQez2)!Od6#tI%2jhi!HZZCY4#883mACdIxF)c%0)=V+WMg{ z&D?-d=9b_?Tl3IDu~g^lb=lMPJaD7SWVYZNuYA0Q?`>vO8;cv4*I!zXOY+@{d+p_z z<sW6`b8yq+Sw4M02)1WmeN1tuPnCS{ps5<WJ|5^-WBI<_Wb)=h8Ti<+l;!g?#?W6m zeot6F-)Xi`()RVNipZSWC7W-V)>H3hN@M2hof`1M(au;_hMn;=*NnE{zNop$z?Y^l z<bG8=SEkHEJ1+FFUWoQZi$|5_MS*L|!KrYvVgXv28J%ncp7H#usEJ&eL5h!*!Bs76 zSm(5TMhKgWQ=5oBxrepCiD==r>=m7Uhi^$2ub9oRRkg+IgwiEC_C+_&yP_OikJk0Y z-(E3q^cL`PEi9`yFS)h;(I;rAzhIAju-t3W&9yW#=f#h%)?%LZ>1W2WK`8Or#XJiA zLJ8e@x!sZ?A?CzS46co9TSuqn!z0An&9OvEMNP+E#LPL1nN8QT5kuz`&q%KxrtjbN ziMX+$3%T;1e{^$Ca7wLPd>_Ifo?|}mA#m%K3q82k(zNAl`4BN@LJbT@K{OibwM&_j zn$e_Q$$U9)EM#Z?Vc;E1-{ykQv?+1W_KMZmr2YqB>j;hGR?Q7x)8KBBi0fIkC>`vT z_xV?-xsFhm?W8Zc-&HH^%Gg2ZHB$cSm}3N<?R`_ThfV%EhCc?DC)VDy=$?AM%tf}g z+u8Y2y)J@e-)haK9Xr9cvz3;%nUFZP|Gc+$p~kh3D{p5=>#HcHZjr(OVgHreY%e5V z_Ed?{S-_<|hqxBye=1b%ZhU`n6zGG!V5Pq1M;@=C(uWYsx=aPlpIkJ7K1i5h`GoS! zM*|!G7;KgwZv3>j5WOStfP3P+#aWfYY=aB0WIJ9`?fI-%=SISNL6&3o^BtKT`IDD` ztFD@+C`feYR>pfu^yChE>af&lib_y4T;%#9#8E(hd#D)Mb$Q^B*40zBVbjl1p*aC4 zx%DZH`(+VtA8?o6AKhIwFIp&3Zq0Oe`b?x6x4rD&kkhEdtb=SEaz7rTa5f*|Y>2by z-A&s?a@LfrJLMUgsdtx(Eu@C&<H#2iz`P)P)sKatoQ~|zs$1v+tv$v3PV=-*zOKNP z%Yv|2Y+&ECQ)Z}qe@t|}(qr$VTZd<=52wJD5~jA#>v@*;d|tf3coG}`VpBG@9ig(p zHBT~KO^Te&dcioAvSZ$EG4`YI=kA3KQ`_$WbjQaoDK~_FbXAaA)zm4^4c`#07F@m9 z+Hb(tr{eT|=+m(u<L6#e|M16EDd2lhs26=cKbFS|C3`QE(@LVnYH+T&vB6tqFg<?1 zBG!biCP(2(CMRDYDYE-?JN?=_C!z-mB>*8;lH0a4S$mfhQuU!BB6;ZXqmoC-alQSo z+qUH&zEGHtth#eMnfz&NC2(>xB>l>rWMB&BSoO`h$fLR-!!RasF!XHky|wVOB&R24 z4c`ds$LJ14)34rJdv})PUe_xFl-1{A9?7Sh4H3CRxJR`QbvacP`Mx|ZSjE&`8?k+P zxAZ*sOj&G$Lr&g2rBA7*YH{{)Z}-yonIi{k0kV(3Kwd$o?wjEP<U!}L;=M%aD*KS^ z#JSnw8}ZL3hgPKYym?Tse;^+}JBS-KyG@bwn7o1~?(!8THXiQ=OV0{}kp7z?e;;V% zg*!v$pgPe7izP7}`|JpII-NV@*KGJmNLyx`!Y}TvlD~`1wpyWNztBt~vDbV-Hf*ij zb8fxF^)mZ2@e8t8k{hTvsf?iK^tgkjtt0WM=%GluS`&Q<FX2mebtRsk4OFhdJmV_I zAlH_IqslH_7n(oZDpBhVrMMtLT1<D2YvaDhN7?Q(;juWYSfMj?V{~Us=O5wZ@1V|G z&b!i|NfW;y&eYziU|=85{Q9nAAN^AyY{uv@@K$-DitjXEg|SKw7;0Mw1wETKxuHa# zp#c%8*SA}}<bp_D>|;%~)45uvo15N^BI}xx&VkR5rbn+{-~C>mTFWr}A+KTb!Db^J zMq1@|U-{l7%O?Zyqb8S9XN$KphU@xMf!|67>RCz;5B4U<#Ptd)D%Xx2>a6eIh>~T0 z1I!ZFx@XWu%~jZL8S2kZiJw&0c!6}^82j3xC(95;&z#CKPQI#|EneDvtadpAzN5F# zJfVDN-h_t-#&O2^eSSja-Q0+{vxeIP1ID2fkIpC9Qs|&QELt6Cqe^(^?Z8*mZme5Q z33qC}wOpTe=n$w);^V4ap0OrLuCr#oHIzZSti3r=;)3PP({GrtFWhh2E!Oo|3Y>V9 z9%)zRrYJ34|NU`;%ggW0-yfqY<vPXu7pb4dRu%d$ivBqJpiEk8_xh|0yFm5+g!m&! z`m4HaGW6s2LVt@##8+}1OVjASPq;=^H81eBA#Xs*#QkpwE%~oLEPd-nDPG_6j4|)4 zWf<Gj*v^L<Socaf%B&fF+$yW!x?x1-OyD|D1r+Y}TxeXL2_#AHoz*p6q*|d<2S&A_ z(5ufF7*us&P+gf=mmaI!;?CS3ex=x^wou0G%5$UOwD6+yV(HG!kd~-I;C(Ij60Ig) zKWCjgc9pnh!)7LWqnz)Ri=v-Lcyf@K^tEmrGd5v;=O1kX*5Yn8?@HGMSmZp<jcuAP zZ$Y;+VpndFyh?e-IM!;+C=|pv^7p|c>ha~f4r}*h4{l#}W2Xh*q0-{z`+%t<K0W;) zGw2=V1-dz6Cf~{4;i?j0Chx=5S<RQ5YL{-^u{rF^U9Xs}MjnWL(T=Oyxu;Y1ZUnob z7q{7A9O1I>AGw;yS4L_Xqstk)6ql)|8M(M;Nb2WqaO0{=1f^6$;{7j9v<G1^y=Wb+ z;q}Ism*NNQ=!(+ZvxJuJ^xf6S&)h#)k4`MW39q%tT=|&bQg?Z4Gt5UMc6{4e-99ki zM9^$Vj8PV2seLpzceGvF4l3zw`D%lsGXt@bzz|TJxEV;XVMiHM%7A_RenUvSE}F}v z|2Ru9jRQ5JE~9^&LO`83-l4Vh4mk0lGxrCYCKH&#v7YU+WmIGD`eAr*Zrr1>nFU4; z9tUBX#gZ*b=eno)sjaz>wT~W3re_Ik7r^ryL6dL&xoY20#20AP676)o+2C%$?rSMF zi9Y)M7CT(O2Z)v!j+^xWByu+c%`jpmC9VctL&+8RG#h-{xwZCUi|=jRI1^6_gYHpO zBy+#bbACnD3JN&Wz9Zj+o)8J9ROhv$xzp7q&G&_+k9(gvFbnlm1y<abK~i_`y(Tf< z2};$9ANBagvJv;hz&={n*N~U~s|V^!h09MG4Jpvx@6w#?-4&&TLjK+*i$H-<e{bo9 zLNI^b2Pi2ie$~e1mZu#j6dDgv;>B@#f}o@s#eJJN15eN;?8iGlzAVk}`T}?F-6$}w zyS;X}S5xX<(2_J-CR^gjG0DRC!_#|rc4-RLU#`8j^aUl}<q)#hFOC(=O1viKXW);J z4O@ySHun9JXV%u_lapwws5kI%;;D7*p?8Dy)mGuo8YMcLwfSzuA1kH8YhU&~GhUaD zx*Qm9zNA#g9e9G^<bFs43Z|qfPaNV72#W2|+F}M4Gqr}p{#eX(B%gA%BW}kk>Z<Cp zmiv)s8hqdESF13bY{UBO4hYv!s*jnCt=6)r>aniP?Ic|~Rw?E*6rQgujL3#O)^oi* zGZtrEEWboKbvsHE6V%VBvQQg4_4b@U&qMdtG-X#(Rq+aQzxcL3+Pp{liTQeJSh4+8 z4^D7B)~oZG)D0b<x_i`azQFF(6weX6vnXNfYsi&k#<<tq-L<KfcdW0D>Q8fblYd=7 zv7GO86y5%M{krp4wzpb3%bl3jr`(tSSjxmbqf(o-CPi0#Sv)vd$}~w!4dPWl<c<kT zowW<xcR#3ZXlq`T=gDX&4SS5O3tbK1b>89I3TQQ)P%v>NnqL?r&r9frmwnB@Ns`uJ z-Co4lYIBi2B_NKqtg$sBIK|WAz>xc7CDT$-qfAac{pHzV>mPC%E5HVpN0%~USu?(8 zuLSRnq3bijHUk4YZ|HrR2d(`~)~^r5l97&^&1Sq}OHKq9G9#czL}l350Z%B&rh(n5 z8PUD<hOUpJ9R}$0Srk=s45HE%+ai>3ArcTc*Sl!0iNTsP)MqZrjgG}o2AhzOvx{ZV zn9A@jI*`r>@I^jqv^R9;Qo_8SUf!?ikbo|}NA>oUt6siCPO-^e$Lz35O&^=UwakIZ z|8S#~wsuik^sVLvy6Q7n1G#l0zcRhW@0yLdLsRdf`&QTV0;UJSvM4Ek8fG`c4+#i~ zL0O&}G^;&TI)ncFPx}|7W%AjfeP=Jzz3XD|8yyygzJYU_WEcgqeITMt3fCIHbU{m7 zm5(^Gz899agA?qpD$Oe<dH?GDMa;F_@4TsU$WS(f;JTSb&b#nVtU9OhQjH-*J62xp z@eRt5+UyY;m#iQW`K#L+8)h$;XiyC9I{7$q!-Jv>)iVN1YRJ2OM|q{QUp!yXjhXBn z{9u8VtgSkHxx*I@wxn<s?rh(_poVKM5*8BGIP)XUf!fGe6Ww&o4Ln?jlI*sed5mh= zYX#Xt8(kvKnRn^o&REYZF<wbV?G?r7XRYzlI%r;{*+P{3UP5--TVgBkR!4@lKuyU9 z`6goWn(T6{Ns5}MxQ45Hi#fZDy)t#p@;MSk>%Xd+@Rtdc$s8W4YM<*zU60SMJ<Tg6 z^wc&t=DUyjZ4#;F7N1C~m4N4;gBWhb2%f#^K9*L9e%>U1JMRUSdUZ&bEiL&2R>A49 zW?h{$o6+{VWr1vCTu75Z2(|L(@56Rdu|ExvZ)NV)y-><ZT%w4Bs*?towTNVkb|`@q zk|c=2TC@cxDf=ikT~!M*w3|obbDqvhazs6<o2NaKN9X*4B|vdSXaJM1N>ps5$!TT@ zj$HaY%1f3ZNvoBGEj-)b*a}hXks^c1ciO#aef`d!3(C{8B;U*!QZ1%zE2dmtX2S>f zC>8Z){;H%mEg54`^&$5(qKMt0i1f9s8|};>sn?!d@N<n%vU|{5)1_8yp2$<x+EYYL z%4TJ#chxCxC0ySpJct^VWKP{;u*mlEyHd2q3!dfMT3ZZ&VzHrfn-^1-&q7~h5Xo-_ z-eW4F$;;OxrOJQB2VGN)zBlP$w;ZILid%{MD%RAISa*%N@55WS%-LrLH?8NDrd?^l z=+Fn$CcDYhlhT=SH^<N2RLo45C=fW%R|z;s?KQ4czis{~og$3kV|VWxHx-EgBOI7p zJ7$6`5~k0qxs270Q_C1p59|7FOQv1OtUyYd%aPCQ7ivkSsU)E*!#YHj?F%3GUF?F5 zTNSdTrv`a0UTmKb>Ct`eTUpN`58jrg;3J)X%<GJyxte(WcDMPVThl2;7Z`VmK1*$i zXGZ*-Z8JknF5jexwMq^nqS%&8p0cb+O=ISfUc{Sz=p*b_Z(EO4Rq|PK4LeG$2IelS zz1%>ahi@LTrutE(+sS*#q`d@0I6v-djf78HH2|+_;5VV_3V0`5+F`e3hGK?Uf&FR+ zgV*fRe2g}(n5egsmlZ@hMV;0th;R})y^$Z`G-&%)MWn!^J2YunTZL;pFUQ+8(1e<I zcEI_NArOmTj*v;#uwX2vn(r=9%>k$7hU)KyQdmo*@SolrV2i!W3i9xH7SNs}IC_!J zSW)!TITiS9$(#iTedWNl9?^n{x>?#mku1_^vS~S~UjD6QEtXztU=flcdyXr9W<JT( zHl@pXw+Y98k=$P2Xp?Kar-)s+hWXR4Dg!RTs9V^H;7KAUY~N}rx5^nA)d1Qq_I~sB z6}s)x7w{$3yyon8kq<0fjBHZqc7`-{g7lMvSoY0QRLY#{c*?>Ds#K1IduyLxzUe^v zp|BwP$KV>)_hOcm&w;T|>w@eG`F#4_W`{`Ao}M{2MYYoB{C)@ApFTB{d)yx!qNeja z`NjeVrbf)t)c0$O6c_iXy}5&UPi3=?ggdgU&LFzpLUomM`yK`a$$9JCFXwkwmY(ZC z_>u=2G@BQya*)}vvWe0JdX3q%Wt`qvT=QJa?)dVaNA0=y2hyYdT*Gvlk_&8Zw=EYa zq^>=3)O35G&~P_^ULoPKs<L-jtJNpYWfJUqYji^ZB5t9SMd(Prvvj8@B<3k7^w{&s zwakYOUQNp)&y?GGpS-A}(!sK7U7jV^?5h%|%2U6jOi#Hmf4e#1K5JL3<s-oZDe_pk zv4s0Pq$*sl{pwzFMvv1CqO#6rwr$KbsCknk=Q(YYCU*1_D_{(&stRb5(<`<zDxW^F z-VeK}VzE+RL;L8uP1AjuyP)@i%5Mrd?9%fpaPEG<{eb>&yB_*>g*~Nwd5<dmi=%IB zwDfh!X|uqtvuWJ#c%bW{446}{BO4oa-$B(}mwxa}-Nx>vEE`=`8jSmr!O4K+J@)3G z8%%CgcWz37e2blNgIRsxs(b&*hY$I7^m@<9f&P~u=f~I3S3P0b!`~o8#R>O`WBdE5 zdP#*zo?z7mnQoTMQ6)d{X5sQ?d;{K*<f_3CHD8&|;~uX3O4RUv$>;prtf=A6)*eyu zS2bUiFuzbn-!&xGZ{E3znLA5;%TjXbWm3+shJ*Twv7~_8II!v{rP?&_oJl6<WU_?* zRFvYTm%^=kw!+SriDZNFSOxCyR21wDNFSMZ?@eo9nLj2~9)Uf2?lmv0BzH7iwR9=u z+ymFNrJ-2-Xkrkv-d8?6KP<oWB>^0DebuydLRIkdi*(`Z{g=o6Hdx}2f@Afbi%;qX z@Ajz}J1iPmkeq!@<`@;0JoGVowffaamkQ?Nllw-c0;yYyQI&o74SXpa*2muD^gMWb zrzlfzMgXh8FjicBmm*(}c4me3!vi6~!TFR{GI^e`<utwC&nw7r#;nabvh4Spwsbbj zwzOlJ9_v>EpQU}SLN`3;f1gsHM5Cq6mY2Wlf46YtiFxpBRJ7zLxA^@fsTt!gP{?M+ zEpi(9&Q02jn~j#wbZ&pWvHUUNb@zr?xgNzs_)DWu?6U920lpop`!OC%;onPxDCQH6 z8AD0}C^($q>Mt}|U)D~}c4-PLvaQAFv{z{MxSx|sFDn-GiId)1$xWl^Vx7NwZ!Xq7 zrrD;To4Rg^LPs=-cGc+YW(lf^8LREdCHVf~J?`ddQNt`HCU#gCYkV@Wa2e!-YG(F} zxocJb1$*A?=EAEBX1$(HGZvoOrefh@wCkpkVq~9L%m(wyM_=;Dd{JbYCqK#!%Gp!o zS9Du7jB{V=HAOYf1d<iDmfP>WCaq$C<=3ml6fnom6!9ln%9JEp$~crW<na^-mEF4N z?{|O9WoKS4Yqi`o`c-qelcOMo<L9R>RB7_YBHyvZDx%+0dh}qvq4pJI^SPO$J~2U0 zF1xBqt+VN~%<Er1d;as*r=q>S_>ae80nBHS;p}(sw#@rAogV5kRT<a%c-p|K_o!YE z`E96PG}6c|TBkZonDhQs-KF>AI&vArWo~)<Jj?C#RnC5Q$0S;IRcQBXVdZQrZ8lon zfqbcYSj(1=Eh{LI=>lf)L+UeU1s4_DEjqYDT2{m@WtI6vrr*DAiP$^+jwptW$6u=5 zSd3yxn^&4=E50USR&CbQmW^jsw&?|PN6^v!**&T(pB1DnJA3CuzV}b%-fPhkDnT6k zBh+rWX~`rr>77K)@pLg4Q(TkRs(eA|EYldTTI|uyo;4WVoxNDCJLi?(=xiiPR%45% z+>$%;+-`qOkXqSZX3I*-Kn}OuJmU5sbKX`#OF~2FgRJIN5e+vriyKNAc&yrU%v1bd z+;e{xt?i1NiG$?5<*MVdQfifVknd)?RuK)aTs51Cijt_NzF{V#MgBQg`5KYS3mqo6 zF&S(_k1F8V>SoVXW3CsS!!3d0DF+(jeR^okB*%Wbn0~ti?PnW{l<eGLk_-MWAaS|U zrm|PJ--4FKXM<tW!Rt%Z2XV9SU$a~D_sxwUo>Tcx(H9!>e<{8damf?-WMsl;Fraf* z7JO%>Pw;c!W@Cl`pDV5CYAf}p_d9PX8K<(DiIMXGCSo!fo!QJ6Pu*jBEaaL(q+m_# z+0YRP@+9Uk>zQs-cRt9f`Vl+xRodzZ2yMU4Ouv01TCgTE`=SS@7YtG+X2qokgJy~S zad$&NIoJ(Bf0h!;%v>RPdV7#rQNP~QC&@{rhcYH9%Mz`(ire~MC~!Mx0e^@0f0|Mp zu}13`Y6>m)p7qa~3K!w?xPa(xG+0mU>=Q`Yk?!Y+$(dA19*d03o~yQfc{{i-|Gwdb z^w!v|&1J)1WV++s4fxYoW=bgZpN(rM2>kD9EFAYO4CK<l76wuvJ_`e8v^tdHO0F)R zoG>`fB^-1K_c#^giX)ByaTB8&E=7PE&fx@`LDV>>M36Nd6bkw63Mdqcqe}zPgCH2( zU>eXL0!Nn)`bZCjp#ErO#wjlEdgsrsf2D)wiO~)786XP~PO=Deju?i!Rs=%ehO<Fb zrxZ9%VF=vqERYx-?6+C=pXBUJ(0QD3Hi(%H{<lKF4E&$p7;(64(1iy19FQs<!20i} zasAl@5apy>aS#-O%gF+<<9xn>sBl;FK|&3WszIJ4#7G=*J?J7avVpT6bQMI5`tuZp z15TA2#v4IO#PrZVP?D1R8$l=()*#XhTBN3jo~#q-{Qe6Z2mAtWFzf}Dou`K)@P9`9 z`Lp^0D3Fc`1{dV~Q(hfP0XK_VHevt)hQy711qJh-pa76PEi9dE#9)G)f2giwM)^B4 zbc63VkTdZmD8j}TY-4LJYKeqfh(aK?a8WSu5k*2!mQW1R5@u}y$5CyA8vbuBm$yL* zlyE%=QUZ*T02Yf7J0QsK=WaV7@Bdp*XLdo#eE%2e_{DMA+aR9*Q?Cu}yP!nSX*dK4 z#sJcpeh0DsbK>_M^qd%jlR5yg+QGnZ0K}6Irwb?L$q|A<!qI>UoqYbGp`b_t8WIJ@ zK=IlE&r5^h(@?Mz`|3CVp|LRN$#dZT+cO4OJ;I}*F-Rmn4TS+ifmibW=UOxji6E2| zg8|&{KkYCu4D5t2EkONOB^V5XtNaCGz~VPYp#cQ&x<G@W1OT95a5!M~|6zrKA;5q^ z<I`aHG$aa&_zS4BzlnrEV{n2;AYLpKg|93MP?iu{BpRQFM8Qv1=I|r{uKq6#41qu~ zcp!rT68Mk)u>S!Hg~7KG6buc;ry)^@{~<IQjR(;QlapZayMTbv!I8g14)6y<P%wb{ z--Zwr91O;14A4;cC;%Y*smX7OAW?wW1pPq}csx#o!J_e)fT3_Cfv2G0e=K+Yt_dI@ zl%O3FFkS*Xg~P!3C;&WAf40N^W2b=KVZek^!%p5$jmH><!KVREizGw_j_))lJpMbJ zC-}o)=>Kss0)i(spfQ5L4FIz|3Hx{gA_xo);6Y#?Ff<qr=#PIf68S%9C%ex7!vu*2 zq{gG6;3znrFkpZQ63_3!a3FF2MZ^B<lRz-Ua}z*gGz_1HL?Z}-2G9;a7M(D`kC0$E z3WDddSit(>7zCcwC$y7iQ{riig5aZoLI4W>x7`U7{3rwl1`~zf9|{2hL-_uCF$5sO z@Zf?V(P*63DH293UTiz*6+=J+&>@r(N(dQ(Fhw9SU>Kp4u)ksaXRN>o1OkjFB^a<d z1pZi|5Cj4O8p2O1k^e%A0g@pe4QPk@Z)^a31z>`o*uY3QiXb+lPF{6S&>;ea?@~w% zjL_N<NGSf8o@8n`_P-s10b_y^Y7BJw-*$k;C;}fv0>uKM#wa|E!6!WaiE`M#3I{L> z4Ixb12sFO$0gTZoLa31h#RLk0f#KQA2@m|xj0K}1K!7FC4ufxm5EPQIhCpJ_2s~I% z+M)672;d9B8#*u=&;!YN5-WepGAJa3FlzxtCc%(^ft-RbG?Fkl089vM3j>G$>p9rJ z>NXUTAfW@A!0?R*f&vm80a{2HK^z8{{FROVO-7jiffg2p{7ssFgu!<cAfka`__-Dk z5P|R8V1NlhtN;e?AA|e5PzA0%DNO#r|KE6xMB*C_z!(9=8#{n85V7biGn#vKBN zqmcxj1C%=dB8dI7Y(^mg+r;Y-1qOm7J`G4w_$~%8AruA!CoHFcP)NW73%E9cc3>bK z5irJ}@r@9S0Wu0+I|u?l8v#Ri0wG>IfcA&YoZ$a2{6N|DFEoE417x26!Gr(>2nIpW z4uyi^mq~yy(BEz5kMV~95s5JIqkzH&PilY(L1={{;DjClRPqD}0`()l&7dGy;9dbd zCMclbz()a!K;Q=u2n<Y+umJ7;#|#3<Sok)B0><eNQ~~|}g&&BS_yz(n!LPT0N&rDn z!Jq(tB4C0-64(q1$o#(}bAmr0HBk8Cp#U&J;KL6G>JWTe0OA{AiG>0RIlTT*5cF?u z_qT1Ku>_e74#0{JKOCqH2>cj@A&mVf41vu6HV7d=2FSdBqVR964gr`D6cGqu0**f< zK%^j?#h@VsHiH6IKJZZmuKjOf1Mr6cObChy1QJeI`JkZ$)(?~^1U7TxVFd7_VFZZ{ z;DKVmA7dmGio{hO{?C~;oWM$ei7;OA3s@5xjz3j^0KF1m0Zf<hQxtG5P$>OrIsa6K zCqx1(L7$XucqWF1LkOmlz}$@x3m}T%4=NfAlnDRn@AS!35^xM$4kZaYu;S8ANy23Y z%=-bM;egVzU@%fvQ4YWwC|_g|Fes4Kr6j?M|DP6rEN^*uTDW`Ob+@sl1WHt(CZ*)% JRn$_V{C^k<*D(M9 delta 113739 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�m*bj2iAyMXFv;{7iF<VQcwR}}pTBeqi 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 TPyts+&`2~DKfjW;GS&YBjImOr -- GitLab From ff6c81178b3f3098882a7d32771f6ed960c1bf8b Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Mon, 27 May 2019 11:46:09 +0200 Subject: [PATCH 17/19] Moved dma_wait signal (timing problematic) from dma_control to dma_read_write --- .../Wupper/pcie_ep_wrap_sim_circularDMA.vhd | 30 ++--- simulation/Wupper/wupper_tb.vhd | 1 - sources/pcie/dma_read_write.vhd | 36 +++++- sources/templates/dma_control.vhd | 112 +++++------------- sources/templates/dma_control.vhd.template | 47 +++----- sources/templates/pcie_package.vhd | 51 ++------ sources/templates/pcie_package.vhd.template | 3 +- 7 files changed, 103 insertions(+), 177 deletions(-) diff --git a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd index ae0781666..23c34f18f 100644 --- a/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd +++ b/simulation/Wupper/pcie_ep_wrap_sim_circularDMA.vhd @@ -201,27 +201,27 @@ begin end w; begin wait for 1 us; --startup time - w(x"004A0", BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0 + w(REG_PC_PTR_GAP, BAR0, x"0000_0000_0000_0000"); --set pc_ptr_gap to 0 - w(x"00000", BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address - w(x"00008", BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes) - w(x"00018", BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address - w(x"00010", BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes - w(x"00020", BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address - w(x"00028", BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes) - w(x"00038", BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address - w(x"00030", BAR0, x"0000_0000_0000_1840"); --wrap around, FromHost, 256 bytes - w(x"00400", BAR0, x"0000_0000_0000_0003"); --Enable both descriptors + w(REG_DESCRIPTOR_0, BAR0, x"ABCD_0000_0000_0000"); --descr 0 start address + w(REG_DESCRIPTOR_0+8, BAR0, x"ABCD_0000_0000_1000"); --descr 0 end address = end address + 4096 (16 TLPs of 256 bytes) + w(REG_DESCRIPTOR_0a+8, BAR0, x"ABCD_0000_0000_0000"); --init PC pointer at start_address + w(REG_DESCRIPTOR_0a, BAR0, x"0000_0000_0000_1040"); --wrap around, ToHost, 256 bytes + w(REG_DESCRIPTOR_1, BAR0, x"DEF8_0000_0000_0000"); --descr 1 start address + w(REG_DESCRIPTOR_1+8, BAR0, x"DEF8_0000_0000_1000"); --descr 1 end address = end address + 4096 (16 TLPs of 256 bytes) + w(REG_DESCRIPTOR_1a+8, BAR0, x"DEF8_0000_0000_0000"); --init PC pointer at start_address + w(REG_DESCRIPTOR_1a, BAR0, x"0000_0000_0000_1808"); --wrap around, FromHost, 32 bytes + w(REG_DESCRIPTOR_ENABLE, BAR0, x"0000_0000_0000_0003"); --Enable both descriptors wait for 1 us; - w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --increment PC pointer with 1 TLP + w(REG_DESCRIPTOR_1a+8 , BAR0, x"DEF8_0000_0000_0020"); --increment PC pointer with 1 TLP wait for 1 us; - w(x"00038", BAR0, x"DEF8_0000_0000_0300"); --increment PC pointer with 2 TLPs + w(REG_DESCRIPTOR_1a+8 , BAR0, x"DEF8_0000_0000_0060"); --increment PC pointer with 2 TLPs wait for 1 us; - w(x"00038", BAR0, x"DEF8_0000_0000_0100"); --Wrap around to 0x100 + w(REG_DESCRIPTOR_1a+8 , BAR0, x"DEF8_0000_0000_0020"); --Wrap around to 0x20 wait for 1 us; - w(x"00018", BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer) - w(x"00038", BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost + w(REG_DESCRIPTOR_0a+8, BAR0, x"ABCD_0000_0000_0800"); --Icrement ToHost pc_pointer with 8 TLPs (half way the buffer) + w(REG_DESCRIPTOR_1a+8, BAR0, x"DEF8_0000_0000_0800"); --Also start reading FromHost diff --git a/simulation/Wupper/wupper_tb.vhd b/simulation/Wupper/wupper_tb.vhd index 81f80dfc2..d11b50ca8 100644 --- a/simulation/Wupper/wupper_tb.vhd +++ b/simulation/Wupper/wupper_tb.vhd @@ -166,7 +166,6 @@ begin BUILD_DATETIME => (others => '0'), SVN_VERSION => 0, CARD_TYPE => 709, - REG_MAP_VERSION => (others => '0'), DEVID => x"7038", GIT_HASH => (others => '0'), COMMIT_DATETIME => (others => '0'), diff --git a/sources/pcie/dma_read_write.vhd b/sources/pcie/dma_read_write.vhd index 9f68ac642..3a3451d79 100644 --- a/sources/pcie/dma_read_write.vhd +++ b/sources/pcie/dma_read_write.vhd @@ -117,7 +117,7 @@ architecture rtl of dma_read_write is signal current_dword_count_s: std_logic_vector(10 downto 0); signal s_m_axis_rq : axis_type; - + signal evencycle_dma_s: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); begin @@ -161,6 +161,8 @@ begin add_header: process(clk, reset, dma_soft_reset) variable next_active_descriptor_v: integer range 0 to (NUMBER_OF_DESCRIPTORS-1); variable read_idle_counter: integer range 0 to 255; + variable dma_wait: std_logic; + variable evencycle_dma_v: std_logic_vector(NUMBER_OF_DESCRIPTORS-1 downto 0); begin if(rising_edge(clk)) then if(reset = '1') or (dma_soft_reset = '1') then @@ -172,9 +174,10 @@ begin current_address => (others => '0'), end_address => (others => '0'), wrap_around => '0', - evencycle_dma => '0', evencycle_pc => '0', - pc_pointer => (others => '0')); + pc_pointer => (others => '0'), + address_wrapped => '0'); + evencycle_dma_v := (others => '0'); active_descriptor_s <= 0; current_dword_count_s <= "00001000000"; --256 bytes for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop @@ -197,9 +200,18 @@ begin end if; for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - descriptor_done_s(i) <= '0'; --clear done flag, controller may load a new descriptor + descriptor_done_s(i) <= '0'; --clear done flag, controller may load a new descriptor + if (dma_descriptors(i).enable = '1' ) then + if (dma_descriptors(i).address_wrapped = '1' ) then + evencycle_dma_v(i) := not evencycle_dma_s(i); + end if; + else + evencycle_dma_v(i) := '0'; + end if; + evencycle_dma_s(i) <= evencycle_dma_v(i); end loop; for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop + next_active_descriptor_v := active_descriptor_s; if((i /= active_descriptor_s) and (dma_descriptors(i).enable='1')) then if(((dma_descriptors(i).read_not_write = '0') and (toHostFifo_prog_empty = '0'))) then @@ -211,21 +223,32 @@ begin exit; end if; end if; + end loop; case(rw_state) is when IDLE => + rw_state_slv <= IDLE_SLV; current_descriptor <= dma_descriptors(active_descriptor_s); if(dma_descriptors(active_descriptor_s).read_not_write = '0' and dma_descriptors(active_descriptor_s).dword_count>0) then current_dword_count_s <= dma_descriptors(active_descriptor_s).dword_count; --assign dword count to a signal to calculate the prog_empty threshold. end if; active_descriptor_s <= next_active_descriptor_v; - if((m_axis_r_rq.tready = '1') and (dma_descriptors(active_descriptor_s).enable = '1')) then + if(dma_descriptors(active_descriptor_s).wrap_around = '1' and (evencycle_dma_v(active_descriptor_s) xor dma_descriptors(active_descriptor_s).read_not_write) /= dma_descriptors(active_descriptor_s).evencycle_pc) then + if(dma_descriptors(active_descriptor_s).current_address=dma_descriptors(active_descriptor_s).pc_pointer) then + dma_wait := '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write + else + dma_wait := '0'; + end if; + else + dma_wait := '0'; + end if; + if((m_axis_r_rq.tready = '1') and (dma_descriptors(active_descriptor_s).enable = '1') and dma_wait = '0') then if(((dma_descriptors(active_descriptor_s).read_not_write = '0') and (toHostFifo_prog_empty = '0'))) then rw_state <= START_WRITE; descriptor_done_s(active_descriptor_s) <= '1'; --pulse only once end if; - if(((dma_descriptors(active_descriptor_s).read_not_write = '1') and (fromHostFifo_prog_full = '0')) and (read_idle_counter = 0)) then + if(((dma_descriptors(active_descriptor_s).read_not_write = '1') and (fromHostFifo_prog_full = '0')) and (read_idle_counter = 0) and dma_wait = '0') then rw_state <= START_READ; descriptor_done_s(active_descriptor_s) <= '1'; --pulse only once end if; @@ -358,6 +381,7 @@ begin g0: for i in 0 to (NUMBER_OF_DESCRIPTORS-1) generate dma_status(i).descriptor_done <= descriptor_done_s(i); + dma_status(i).evencycle_dma <= evencycle_dma_s(i); end generate; diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 943773be8..3434af89b 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/dma_control.vhd.template' --- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 +-- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template' -- @@ -215,7 +215,6 @@ architecture rtl of dma_control is signal next_current_address_s : slv64_arr; signal last_pc_pointer_s : slv64_arr; - signal dma_wait : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1)); signal tohost_pfull_threshold_assert_s : std_logic_vector(11 downto 0); signal tohost_pfull_threshold_negate_s : std_logic_vector(11 downto 0); signal fromhost_pfull_threshold_assert_s : std_logic_vector(8 downto 0); @@ -239,15 +238,16 @@ begin dma_status_s(0 to (NUMBER_OF_DESCRIPTORS-1)) <= dma_status; - + pipe_descriptors: process(clk, dma_descriptors_s) begin for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors(i).enable <= dma_descriptors_s(i).enable and not dma_wait(i); + dma_descriptors(i).enable <= dma_descriptors_s(i).enable; dma_descriptors(i).current_address <= dma_descriptors_s(i).current_address; + dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped; end loop; if(rising_edge(clk)) then - + for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop dma_descriptors(i).start_address <= dma_descriptors_s(i).start_address; dma_descriptors(i).end_address <= dma_descriptors_s(i).end_address; @@ -255,9 +255,7 @@ begin dma_descriptors(i).read_not_write <= dma_descriptors_s(i).read_not_write; dma_descriptors(i).wrap_around <= dma_descriptors_s(i).wrap_around; dma_descriptors(i).pc_pointer <= dma_descriptors_s(i).pc_pointer; - dma_descriptors(i).evencycle_dma <= dma_descriptors_s(i).evencycle_dma; dma_descriptors(i).evencycle_pc <= dma_descriptors_s(i).evencycle_pc; - end loop; end if; end process; @@ -279,7 +277,7 @@ begin begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); + dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_pc => '0', pc_pointer => (others => '0'), address_wrapped => '0'); read_interrupt_250_s <= '0'; write_interrupt_250_s <= '0'; evencycle_dma_v(i) := '0'; @@ -341,7 +339,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); - + dma_descriptors_s(i).address_wrapped <= '0'; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0). evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around @@ -349,7 +347,7 @@ begin end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then + if(dma_descriptors_s(i).wrap_around = '1' and ((dma_status_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then current_address_v(i) := next_current_address_s(i); else if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then @@ -367,32 +365,25 @@ begin if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then if(dma_descriptors_s(i).wrap_around = '1') then current_address_v(i) := dma_descriptors_s(i).start_address; - evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around + dma_descriptors_s(i).address_wrapped <= '1'; + --evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around end if; end if; end if; else current_address_v(i) := dma_descriptors_s(i).start_address; evencycle_pc_v(i) := '0'; - evencycle_dma_v(i) := '0'; + --evencycle_dma_v(i) := '0'; end if; - dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); + --dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i); dma_descriptors_s(i).current_address <= current_address_v(i); if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then - dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write - else - dma_wait(i) <= '0'; - end if; - else - dma_wait(i) <= '0'; - end if; + end loop; @@ -814,7 +805,7 @@ end process; register_read_data_25_s <= (others => '0'); reset_register_map_s <= '0'; for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); + dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_pc => '0', pc_pointer => (others => '0'), address_wrapped => '0'); end loop; --for i in 0 to (NUMBER_OF_INTERRUPTS-1) loop -- int_vector_25_s(i) <= (int_vec_add => (others => '0'), int_vec_data => (others => '0'),int_vec_ctrl => (others => '0') ); @@ -6928,7 +6919,6 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= REG_TTC_DEC_CTRL_BCID_ONBCR_C; -- BCID is set to this value when BCR arrives register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C; -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= REG_TTC_DEC_CTRL_TOHOST_RST_C; -- reset toHost in ttc decoder @@ -6937,7 +6927,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= REG_TTC_DEC_CTRL_XL1ID_RST_C; -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= REG_TTC_DEC_CTRL_MASTER_BUSY_C; -- L1A trigger throttling register_map_control_s.TTC_EMU.SEL <= REG_TTC_EMU_SEL_C; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence + register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Enable TTC data generator (10 bit counter) register_map_control_s.TTC_DELAY_00 <= REG_TTC_DELAY_00_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_01 <= REG_TTC_DELAY_01_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_02 <= REG_TTC_DELAY_02_C; -- Controls the TTC Fanout delay values @@ -6989,18 +6979,6 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C; -- Prescales the 40MHz clock to create an internal slow clock register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C; -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C; -- Number of prescaled clocks a given busy must be asserted before it is recognized - register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= REG_TTC_EMU_CONTROL_LAST_LINE_C; -- Last line of the sequence - register_map_control_s.TTC_EMU_CONTROL.REPEAT <= REG_TTC_EMU_CONTROL_REPEAT_C; -- Repeat the sequence - register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= REG_TTC_EMU_CONTROL_BROADCAST5_C; -- Broadcast 5 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= REG_TTC_EMU_CONTROL_BROADCAST4_C; -- Broadcast 4 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= REG_TTC_EMU_CONTROL_BROADCAST3_C; -- Broadcast 3 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= REG_TTC_EMU_CONTROL_BROADCAST2_C; -- Broadcast 2 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= REG_TTC_EMU_CONTROL_BROADCAST1_C; -- Broadcast 1 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= REG_TTC_EMU_CONTROL_BROADCAST0_C; -- Broadcast 0 - register_map_control_s.TTC_EMU_CONTROL.ECR <= REG_TTC_EMU_CONTROL_ECR_C; -- Event counter reset - register_map_control_s.TTC_EMU_CONTROL.BCR <= REG_TTC_EMU_CONTROL_BCR_C; -- Bunch counter reset - register_map_control_s.TTC_EMU_CONTROL.L1A <= REG_TTC_EMU_CONTROL_L1A_C; -- Level 1 Accept - register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C; -- Step counter value register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -8983,7 +8961,6 @@ end process; register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET <= REG_CR_BLOCK_COUNT_GBT23_RESET_C; -- Any write clears the counter value end if; register_map_control_s.TTC_BUSY_CLEAR <= REG_TTC_BUSY_CLEAR_C; -- clears the latching busy bits in TTC_BUSY_ACCEPTED - register_map_control_s.TTC_EMU_CONTROL.WE <= REG_TTC_EMU_CONTROL_WE_C; -- Any write to this register executes a write enable register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits @@ -9065,42 +9042,42 @@ end process; dma_descriptors_25_r_s( 7).dword_count; when REG_STATUS_0 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(0 ).evencycle_pc& - dma_descriptors_25_r_s(0 ).evencycle_dma& + dma_status_25_s(0 ).evencycle_dma& (not dma_descriptors_25_r_s(0 ).enable)& dma_descriptors_25_r_s(0 ).current_address; when REG_STATUS_1 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(1 ).evencycle_pc& - dma_descriptors_25_r_s(1 ).evencycle_dma& + dma_status_25_s(1 ).evencycle_dma& (not dma_descriptors_25_r_s(1 ).enable)& dma_descriptors_25_r_s(1 ).current_address; when REG_STATUS_2 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(2 ).evencycle_pc& - dma_descriptors_25_r_s(2 ).evencycle_dma& + dma_status_25_s(2 ).evencycle_dma& (not dma_descriptors_25_r_s(2 ).enable)& dma_descriptors_25_r_s(2 ).current_address; when REG_STATUS_3 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(3 ).evencycle_pc& - dma_descriptors_25_r_s(3 ).evencycle_dma& + dma_status_25_s(2 ).evencycle_dma& (not dma_descriptors_25_r_s(3 ).enable)& dma_descriptors_25_r_s(3 ).current_address; when REG_STATUS_4 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(4 ).evencycle_pc& - dma_descriptors_25_r_s(4 ).evencycle_dma& + dma_status_25_s(4 ).evencycle_dma& (not dma_descriptors_25_r_s(4 ).enable)& dma_descriptors_25_r_s(4 ).current_address; when REG_STATUS_5 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(5 ).evencycle_pc& - dma_descriptors_25_r_s(5 ).evencycle_dma& + dma_status_25_s(5 ).evencycle_dma& (not dma_descriptors_25_r_s(5 ).enable)& dma_descriptors_25_r_s(5 ).current_address; when REG_STATUS_6 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(6 ).evencycle_pc& - dma_descriptors_25_r_s(6 ).evencycle_dma& + dma_status_25_s(6 ).evencycle_dma& (not dma_descriptors_25_r_s(6 ).enable)& dma_descriptors_25_r_s(6 ).current_address; when REG_STATUS_7 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(7 ).evencycle_pc& - dma_descriptors_25_r_s(7 ).evencycle_dma& + dma_status_25_s(7 ).evencycle_dma& (not dma_descriptors_25_r_s(7 ).enable)& dma_descriptors_25_r_s(7 ).current_address; when REG_BAR0 => register_read_data_25_s <= x"000000000000000000000000"&bar0_25_s; @@ -13564,8 +13541,7 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_read_data_25_s(26 downto 15) <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR; -- BCID is set to this value when BCR arrives - register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal + when REG_TTC_DEC_CTRL => register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal register_read_data_25_s(13 downto 13) <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_read_data_25_s(12 downto 12) <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF register_read_data_25_s(11 downto 11) <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST; -- reset toHost in ttc decoder @@ -13573,9 +13549,8 @@ end process; register_read_data_25_s(9 downto 2) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW; -- set XL1ID value, the value to be set by XL1ID_RST signal register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST; -- giving a trigger signal to reset XL1ID value register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY; -- L1A trigger throttling - when REG_TTC_EMU => register_read_data_25_s(2 downto 2) <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL; -- TTC Emulator memory full indication - register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence + when REG_TTC_EMU => register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder + register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Enable TTC data generator (10 bit counter) when REG_TTC_DELAY_00 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_00; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_01; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_02; -- Controls the TTC Fanout delay values @@ -13628,19 +13603,6 @@ end process; register_read_data_25_s(31 downto 16) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted register_read_data_25_s(15 downto 0) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_BUSY_CLEAR; -- clears the latching busy bits in TTC_BUSY_ACCEPTED - when REG_TTC_EMU_CONTROL => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_EMU_CONTROL.WE; -- Any write to this register executes a write enable - register_read_data_25_s(35 downto 35) <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE; -- Last line of the sequence - register_read_data_25_s(34 downto 34) <= register_map_control_s.TTC_EMU_CONTROL.REPEAT; -- Repeat the sequence - register_read_data_25_s(32 downto 32) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5; -- Broadcast 5 - register_read_data_25_s(31 downto 31) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4; -- Broadcast 4 - register_read_data_25_s(30 downto 30) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3; -- Broadcast 3 - register_read_data_25_s(29 downto 29) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2; -- Broadcast 2 - register_read_data_25_s(28 downto 28) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1; -- Broadcast 1 - register_read_data_25_s(27 downto 27) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0; -- Broadcast 0 - register_read_data_25_s(26 downto 26) <= register_map_control_s.TTC_EMU_CONTROL.ECR; -- Event counter reset - register_read_data_25_s(25 downto 25) <= register_map_control_s.TTC_EMU_CONTROL.BCR; -- Bunch counter reset - register_read_data_25_s(24 downto 24) <= register_map_control_s.TTC_EMU_CONTROL.L1A; -- Level 1 Accept - register_read_data_25_s(21 downto 0) <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER; -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_read_data_25_s(47 downto 44) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(43 downto 40) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(39 downto 36) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -14647,7 +14609,7 @@ end process; -- GenericBoardInformation - when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(1031,16)); -- Register Map Version, 4.7 formatted as 0x0407 + when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= REG_MAP_VERSION; -- Register Map Version, 4.6 formatted as 0x0406 when REG_BOARD_ID_TIMESTAMP => register_read_data_25_s(39 downto 0) <= BUILD_DATETIME; -- Board ID Date / Time in BCD format YYMMDDhhmm when REG_BOARD_ID_SVN => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(SVN_VERSION,16)); -- Board ID SVN Revision when REG_GIT_COMMIT_TIME => register_read_data_25_s(39 downto 0) <= COMMIT_DATETIME; -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -20702,8 +20664,7 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= register_write_data_25_v(26 downto 15); -- BCID is set to this value when BCR arrives - register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) + when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= register_write_data_25_v(11 downto 11); -- reset toHost in ttc decoder register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN <= register_write_data_25_v(10 downto 10); -- trigger type enable / disable for TTC-ToHost @@ -20711,7 +20672,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= register_write_data_25_v(1 downto 1); -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= register_write_data_25_v(0 downto 0); -- L1A trigger throttling when REG_TTC_EMU => register_map_control_s.TTC_EMU.SEL <= register_write_data_25_v(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence + register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Enable TTC data generator (10 bit counter) when REG_TTC_DELAY_00 => register_map_control_s.TTC_DELAY_00 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_map_control_s.TTC_DELAY_01 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_map_control_s.TTC_DELAY_02 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values @@ -20764,19 +20725,6 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16); -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_map_control_s.TTC_BUSY_CLEAR <= "1"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED - when REG_TTC_EMU_CONTROL => register_map_control_s.TTC_EMU_CONTROL.WE <= "1"; -- Any write to this register executes a write enable - register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= register_write_data_25_v(35 downto 35); -- Last line of the sequence - register_map_control_s.TTC_EMU_CONTROL.REPEAT <= register_write_data_25_v(34 downto 34); -- Repeat the sequence - register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= register_write_data_25_v(32 downto 32); -- Broadcast 5 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= register_write_data_25_v(31 downto 31); -- Broadcast 4 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= register_write_data_25_v(30 downto 30); -- Broadcast 3 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= register_write_data_25_v(29 downto 29); -- Broadcast 2 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= register_write_data_25_v(28 downto 28); -- Broadcast 1 - register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= register_write_data_25_v(27 downto 27); -- Broadcast 0 - register_map_control_s.TTC_EMU_CONTROL.ECR <= register_write_data_25_v(26 downto 26); -- Event counter reset - register_map_control_s.TTC_EMU_CONTROL.BCR <= register_write_data_25_v(25 downto 25); -- Bunch counter reset - register_map_control_s.TTC_EMU_CONTROL.L1A <= register_write_data_25_v(24 downto 24); -- Level 1 Accept - register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= register_write_data_25_v(21 downto 0); -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB diff --git a/sources/templates/dma_control.vhd.template b/sources/templates/dma_control.vhd.template index 29c304945..8f4b2550b 100644 --- a/sources/templates/dma_control.vhd.template +++ b/sources/templates/dma_control.vhd.template @@ -194,7 +194,6 @@ architecture rtl of dma_control is signal next_current_address_s : slv64_arr; signal last_pc_pointer_s : slv64_arr; - signal dma_wait : std_logic_vector(0 to (NUMBER_OF_DESCRIPTORS-1)); signal tohost_pfull_threshold_assert_s : std_logic_vector(11 downto 0); signal tohost_pfull_threshold_negate_s : std_logic_vector(11 downto 0); signal fromhost_pfull_threshold_assert_s : std_logic_vector(8 downto 0); @@ -222,8 +221,9 @@ begin pipe_descriptors: process(clk, dma_descriptors_s) begin for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors(i).enable <= dma_descriptors_s(i).enable and not dma_wait(i); + dma_descriptors(i).enable <= dma_descriptors_s(i).enable; dma_descriptors(i).current_address <= dma_descriptors_s(i).current_address; + dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped; end loop; if(rising_edge(clk)) then @@ -234,9 +234,7 @@ begin dma_descriptors(i).read_not_write <= dma_descriptors_s(i).read_not_write; dma_descriptors(i).wrap_around <= dma_descriptors_s(i).wrap_around; dma_descriptors(i).pc_pointer <= dma_descriptors_s(i).pc_pointer; - dma_descriptors(i).evencycle_dma <= dma_descriptors_s(i).evencycle_dma; dma_descriptors(i).evencycle_pc <= dma_descriptors_s(i).evencycle_pc; - end loop; end if; end process; @@ -258,7 +256,7 @@ begin begin if(reset = '1') then for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); + dma_descriptors_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_pc => '0', pc_pointer => (others => '0'), address_wrapped => '0'); read_interrupt_250_s <= '0'; write_interrupt_250_s <= '0'; evencycle_dma_v(i) := '0'; @@ -320,7 +318,7 @@ begin next_current_address_s(i) <= (dma_descriptors_s(i).current_address + (dma_descriptors_s(i).dword_count&"00")); - + dma_descriptors_s(i).address_wrapped <= '0'; if(dma_descriptors_s(i).enable = '1') then if(last_pc_pointer_s(i) > dma_descriptors_s(i).pc_pointer + pc_ptr_gap_250_s) then --If the current pc_pointer is 16MB smaller than the last one, we change cycles. The 16MB can be changed in the register PC_PTR_GAP (bar0). evencycle_pc_v(i) := not dma_descriptors_s(i).evencycle_pc; --Toggle on wrap around @@ -328,7 +326,7 @@ begin end if; if(dma_status_s(i).descriptor_done = '1') then --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((dma_descriptors_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then + if(dma_descriptors_s(i).wrap_around = '1' and ((dma_status_s(i).evencycle_dma xor dma_descriptors_s(i).read_not_write) /= dma_descriptors_s(i).evencycle_pc)) then current_address_v(i) := next_current_address_s(i); else if(next_current_address_s(i)<dma_descriptors_s(i).end_address) then @@ -346,32 +344,25 @@ begin if(next_current_address_s(i)=dma_descriptors_s(i).end_address) then if(dma_descriptors_s(i).wrap_around = '1') then current_address_v(i) := dma_descriptors_s(i).start_address; - evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around + dma_descriptors_s(i).address_wrapped <= '1'; + --evencycle_dma_v(i) := not dma_descriptors_s(i).evencycle_dma; --Toggle on wrap around end if; end if; end if; else current_address_v(i) := dma_descriptors_s(i).start_address; evencycle_pc_v(i) := '0'; - evencycle_dma_v(i) := '0'; + --evencycle_dma_v(i) := '0'; end if; - dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); + --dma_descriptors_s(i).evencycle_dma <= evencycle_dma_v(i); dma_descriptors_s(i).evencycle_pc <= evencycle_pc_v(i); dma_descriptors_s(i).current_address <= current_address_v(i); if ( dma_descriptors_enable_written_250_s = '1' and dma_descriptors_enable_written_250_v = '0') then --only write when the ENABLE register is actually accessed, else it can be cleared some lines below when DMA finished. dma_descriptors_s(i).enable <= dma_descriptors_w_250_s(i).enable; end if; --dma has wrapped around while PC still hasn't, check if we are smaller than write pointer. - if(dma_descriptors_s(i).wrap_around = '1' and ((evencycle_dma_v(i) xor dma_descriptors_s(i).read_not_write) /= evencycle_pc_v(i))) then - if(dma_descriptors_s(i).current_address=dma_descriptors_s(i).pc_pointer) then - dma_wait(i) <= '1'; --the PC is not ready to accept data, so we have to wait. dma_wait will clear the enable flag of the descriptors towards dma_read_write - else - dma_wait(i) <= '0'; - end if; - else - dma_wait(i) <= '0'; - end if; + end loop; @@ -793,7 +784,7 @@ end process; register_read_data_25_s <= (others => '0'); reset_register_map_s <= '0'; for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop - dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_dma => '0', evencycle_pc => '0', pc_pointer => (others => '0')); + dma_descriptors_25_w_s(i) <= (start_address => (others => '0'), dword_count => (others => '0'), read_not_write => '0', enable => '0', current_address => (others => '0'), end_address => (others => '0'),wrap_around => '0', evencycle_pc => '0', pc_pointer => (others => '0'), address_wrapped => '0'); end loop; --for i in 0 to (NUMBER_OF_INTERRUPTS-1) loop -- int_vector_25_s(i) <= (int_vec_add => (others => '0'), int_vec_data => (others => '0'),int_vec_ctrl => (others => '0') ); @@ -939,42 +930,42 @@ end process; dma_descriptors_25_r_s( 7).dword_count; when REG_STATUS_0 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(0 ).evencycle_pc& - dma_descriptors_25_r_s(0 ).evencycle_dma& + dma_status_25_s(0 ).evencycle_dma& (not dma_descriptors_25_r_s(0 ).enable)& dma_descriptors_25_r_s(0 ).current_address; when REG_STATUS_1 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(1 ).evencycle_pc& - dma_descriptors_25_r_s(1 ).evencycle_dma& + dma_status_25_s(1 ).evencycle_dma& (not dma_descriptors_25_r_s(1 ).enable)& dma_descriptors_25_r_s(1 ).current_address; when REG_STATUS_2 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(2 ).evencycle_pc& - dma_descriptors_25_r_s(2 ).evencycle_dma& + dma_status_25_s(2 ).evencycle_dma& (not dma_descriptors_25_r_s(2 ).enable)& dma_descriptors_25_r_s(2 ).current_address; when REG_STATUS_3 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(3 ).evencycle_pc& - dma_descriptors_25_r_s(3 ).evencycle_dma& + dma_status_25_s(2 ).evencycle_dma& (not dma_descriptors_25_r_s(3 ).enable)& dma_descriptors_25_r_s(3 ).current_address; when REG_STATUS_4 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(4 ).evencycle_pc& - dma_descriptors_25_r_s(4 ).evencycle_dma& + dma_status_25_s(4 ).evencycle_dma& (not dma_descriptors_25_r_s(4 ).enable)& dma_descriptors_25_r_s(4 ).current_address; when REG_STATUS_5 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(5 ).evencycle_pc& - dma_descriptors_25_r_s(5 ).evencycle_dma& + dma_status_25_s(5 ).evencycle_dma& (not dma_descriptors_25_r_s(5 ).enable)& dma_descriptors_25_r_s(5 ).current_address; when REG_STATUS_6 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(6 ).evencycle_pc& - dma_descriptors_25_r_s(6 ).evencycle_dma& + dma_status_25_s(6 ).evencycle_dma& (not dma_descriptors_25_r_s(6 ).enable)& dma_descriptors_25_r_s(6 ).current_address; when REG_STATUS_7 => register_read_data_25_s <= x"000000000000000"&"0"& dma_descriptors_25_r_s(7 ).evencycle_pc& - dma_descriptors_25_r_s(7 ).evencycle_dma& + dma_status_25_s(7 ).evencycle_dma& (not dma_descriptors_25_r_s(7 ).enable)& dma_descriptors_25_r_s(7 ).current_address; when REG_BAR0 => register_read_data_25_s <= x"000000000000000000000000"&bar0_25_s; diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index 6ded628d5..be343196c 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/pcie_package.vhd.template' --- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 +-- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template' -- @@ -107,14 +107,15 @@ package pcie_package is read_not_write : std_logic; --1 means this is a read descriptor, 0: write descriptor enable : std_logic; --descriptor is valid wrap_around : std_logic; --1 means when end is reached, keep enabled and start over - evencycle_dma : std_logic; --For every time the current_address overflows, this bit toggles evencycle_pc : std_logic; --For every time the pc pointer overflows, this bit toggles. pc_pointer : std_logic_vector(63 downto 0); --Last address that the PC has read / written. For write: overflow and read until this cycle. + address_wrapped : std_logic; end record; type dma_descriptors_type is array (natural range <>) of dma_descriptor_type; type dma_status_type is record + evencycle_dma : std_logic; --For every time the current_address overflows, this bit toggles descriptor_done: std_logic; -- means the dma_descriptor in the array above has been handled, the enable field should then be cleared. end record; @@ -1008,7 +1009,6 @@ package pcie_package is constant REG_TTC_DELAY_47 : std_logic_vector(19 downto 0) := x"084a0"; constant REG_TTC_BUSY_TIMING_CTRL : std_logic_vector(19 downto 0) := x"084b0"; constant REG_TTC_BUSY_CLEAR : std_logic_vector(19 downto 0) := x"084c0"; - constant REG_TTC_EMU_CONTROL : std_logic_vector(19 downto 0) := x"084d0"; --** XOFF_BUSYControlsAndMonitors constant REG_XOFF_FM_CH_FIFO_THRESH_LOW : std_logic_vector(19 downto 0) := x"08800"; @@ -1520,7 +1520,6 @@ package pcie_package is end record; type bitfield_ttc_dec_ctrl_w_type is record - BCID_ONBCR : std_logic_vector(26 downto 15); -- BCID is set to this value when BCR arrives ECR_BCR_SWAP : std_logic_vector(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) BUSY_OUTPUT_INHIBIT : std_logic_vector(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF TOHOST_RST : std_logic_vector(11 downto 11); -- reset toHost in ttc decoder @@ -1532,7 +1531,7 @@ package pcie_package is type bitfield_ttc_emu_w_type is record SEL : std_logic_vector(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - ENA : std_logic_vector(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence + ENA : std_logic_vector(0 downto 0); -- Enable TTC data generator (10 bit counter) end record; type bitfield_ttc_busy_timing_ctrl_w_type is record @@ -1541,22 +1540,6 @@ package pcie_package is LIMIT_TIME : std_logic_vector(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized end record; - type bitfield_ttc_emu_control_t_type is record - WE : std_logic_vector(64 downto 64); -- Any write to this register executes a write enable - LAST_LINE : std_logic_vector(35 downto 35); -- Last line of the sequence - REPEAT : std_logic_vector(34 downto 34); -- Repeat the sequence - BROADCAST5 : std_logic_vector(32 downto 32); -- Broadcast 5 - BROADCAST4 : std_logic_vector(31 downto 31); -- Broadcast 4 - BROADCAST3 : std_logic_vector(30 downto 30); -- Broadcast 3 - BROADCAST2 : std_logic_vector(29 downto 29); -- Broadcast 2 - BROADCAST1 : std_logic_vector(28 downto 28); -- Broadcast 1 - BROADCAST0 : std_logic_vector(27 downto 27); -- Broadcast 0 - ECR : std_logic_vector(26 downto 26); -- Event counter reset - BCR : std_logic_vector(25 downto 25); -- Bunch counter reset - L1A : std_logic_vector(24 downto 24); -- Level 1 Accept - STEP_COUNTER : std_logic_vector(21 downto 0); -- Step counter value - end record; - type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record CH11 : std_logic_vector(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB CH10 : std_logic_vector(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -2301,7 +2284,6 @@ package pcie_package is TTC_DELAY_47 : std_logic_vector(3 downto 0); -- Controls the TTC Fanout delay values TTC_BUSY_TIMING_CTRL : bitfield_ttc_busy_timing_ctrl_w_type; TTC_BUSY_CLEAR : std_logic_vector(64 downto 64); -- clears the latching busy bits in TTC_BUSY_ACCEPTED - TTC_EMU_CONTROL : bitfield_ttc_emu_control_t_type; XOFF_FM_CH_FIFO_THRESH_LOW : bitfield_xoff_fm_ch_fifo_thresh_low_w_type; XOFF_FM_CH_FIFO_THRESH_HIGH : bitfield_xoff_fm_ch_fifo_thresh_high_w_type; XOFF_FM_HIGH_THRESH : bitfield_xoff_fm_high_thresh_t_type; @@ -5488,7 +5470,6 @@ package pcie_package is -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - constant REG_TTC_DEC_CTRL_BCID_ONBCR_C : std_logic_vector(26 downto 15) := x"000"; -- BCID is set to this value when BCR arrives constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C : std_logic_vector(13 downto 13) := "0"; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C : std_logic_vector(12 downto 12) := "0"; -- forces the Busy LEMO output to BUSY-OFF constant REG_TTC_DEC_CTRL_TOHOST_RST_C : std_logic_vector(11 downto 11) := "0"; -- reset toHost in ttc decoder @@ -5497,7 +5478,7 @@ package pcie_package is constant REG_TTC_DEC_CTRL_XL1ID_RST_C : std_logic_vector(1 downto 1) := "0"; -- giving a trigger signal to reset XL1ID value constant REG_TTC_DEC_CTRL_MASTER_BUSY_C : std_logic_vector(0 downto 0) := "0"; -- L1A trigger throttling constant REG_TTC_EMU_SEL_C : std_logic_vector(1 downto 1) := "0"; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence + constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Enable TTC data generator (10 bit counter) constant REG_TTC_DELAY_00_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_01_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_02_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values @@ -5550,19 +5531,6 @@ package pcie_package is constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C : std_logic_vector(31 downto 16) := x"000f"; -- Minimum number of 40MHz clocks that the busy is asserted constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C : std_logic_vector(15 downto 0) := x"000f"; -- Number of prescaled clocks a given busy must be asserted before it is recognized constant REG_TTC_BUSY_CLEAR_C : std_logic_vector(64 downto 64) := "0"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED - constant REG_TTC_EMU_CONTROL_WE_C : std_logic_vector(64 downto 64) := "0"; -- Any write to this register executes a write enable - constant REG_TTC_EMU_CONTROL_LAST_LINE_C : std_logic_vector(35 downto 35) := "0"; -- Last line of the sequence - constant REG_TTC_EMU_CONTROL_REPEAT_C : std_logic_vector(34 downto 34) := "0"; -- Repeat the sequence - constant REG_TTC_EMU_CONTROL_BROADCAST5_C : std_logic_vector(32 downto 32) := "0"; -- Broadcast 5 - constant REG_TTC_EMU_CONTROL_BROADCAST4_C : std_logic_vector(31 downto 31) := "0"; -- Broadcast 4 - constant REG_TTC_EMU_CONTROL_BROADCAST3_C : std_logic_vector(30 downto 30) := "0"; -- Broadcast 3 - constant REG_TTC_EMU_CONTROL_BROADCAST2_C : std_logic_vector(29 downto 29) := "0"; -- Broadcast 2 - constant REG_TTC_EMU_CONTROL_BROADCAST1_C : std_logic_vector(28 downto 28) := "0"; -- Broadcast 1 - constant REG_TTC_EMU_CONTROL_BROADCAST0_C : std_logic_vector(27 downto 27) := "0"; -- Broadcast 0 - constant REG_TTC_EMU_CONTROL_ECR_C : std_logic_vector(26 downto 26) := "0"; -- Event counter reset - constant REG_TTC_EMU_CONTROL_BCR_C : std_logic_vector(25 downto 25) := "0"; -- Bunch counter reset - constant REG_TTC_EMU_CONTROL_L1A_C : std_logic_vector(24 downto 24) := "0"; -- Level 1 Accept - constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C : std_logic_vector(21 downto 0) := "0000000000000000000000"; -- Step counter value constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C : std_logic_vector(47 downto 44) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C : std_logic_vector(43 downto 40) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C : std_logic_vector(39 downto 36) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -6336,7 +6304,7 @@ package pcie_package is -- GenericBoardInformation type register_map_gen_board_info_type is record - REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.7 formatted as 0x0407 + REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.6 formatted as 0x0406 BOARD_ID_TIMESTAMP : std_logic_vector(39 downto 0); -- Board ID Date / Time in BCD format YYMMDDhhmm BOARD_ID_SVN : std_logic_vector(15 downto 0); -- Board ID SVN Revision GIT_COMMIT_TIME : std_logic_vector(39 downto 0); -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -7446,10 +7414,6 @@ end record; TTC_BIT_ERR : std_logic_vector(2 downto 0); -- double bit, single bit and comm error in TTC data end record; - type bitfield_ttc_emu_r_type is record - FULL : std_logic_vector(2 downto 2); -- TTC Emulator memory full indication - end record; - -- TTCBUSYControlsAndMonitors type register_map_ttc_monitor_type is record @@ -7479,7 +7443,6 @@ end record; TTC_BUSY_ACCEPTED21 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED22 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED23 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR - TTC_EMU : bitfield_ttc_emu_r_type; end record; -- -- XOFF_BUSYControlsAndMonitors diff --git a/sources/templates/pcie_package.vhd.template b/sources/templates/pcie_package.vhd.template index 33bc46321..24f992b84 100644 --- a/sources/templates/pcie_package.vhd.template +++ b/sources/templates/pcie_package.vhd.template @@ -86,14 +86,15 @@ package pcie_package is read_not_write : std_logic; --1 means this is a read descriptor, 0: write descriptor enable : std_logic; --descriptor is valid wrap_around : std_logic; --1 means when end is reached, keep enabled and start over - evencycle_dma : std_logic; --For every time the current_address overflows, this bit toggles evencycle_pc : std_logic; --For every time the pc pointer overflows, this bit toggles. pc_pointer : std_logic_vector(63 downto 0); --Last address that the PC has read / written. For write: overflow and read until this cycle. + address_wrapped : std_logic; end record; type dma_descriptors_type is array (natural range <>) of dma_descriptor_type; type dma_status_type is record + evencycle_dma : std_logic; --For every time the current_address overflows, this bit toggles descriptor_done: std_logic; -- means the dma_descriptor in the array above has been handled, the enable field should then be cleared. end record; -- GitLab From 51f24923908bf97d626f3135b3af12378540077c Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Mon, 27 May 2019 11:48:52 +0200 Subject: [PATCH 18/19] regenerated rm4.7 --- sources/templates/dma_control.vhd | 65 +++++++++++++++++++++++++----- sources/templates/pcie_package.vhd | 48 +++++++++++++++++++--- 2 files changed, 97 insertions(+), 16 deletions(-) diff --git a/sources/templates/dma_control.vhd b/sources/templates/dma_control.vhd index 3434af89b..cb791e022 100644 --- a/sources/templates/dma_control.vhd +++ b/sources/templates/dma_control.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/dma_control.vhd.template' --- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 +-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/dma_control.vhd.template ../../sources/templates/dma_control.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/dma_control.vhd.template' -- @@ -238,7 +238,7 @@ begin dma_status_s(0 to (NUMBER_OF_DESCRIPTORS-1)) <= dma_status; - + pipe_descriptors: process(clk, dma_descriptors_s) begin for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop @@ -247,7 +247,7 @@ begin dma_descriptors(i).address_wrapped <= dma_descriptors_s(i).address_wrapped; end loop; if(rising_edge(clk)) then - + for i in 0 to (NUMBER_OF_DESCRIPTORS-1) loop dma_descriptors(i).start_address <= dma_descriptors_s(i).start_address; dma_descriptors(i).end_address <= dma_descriptors_s(i).end_address; @@ -6919,6 +6919,7 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- + register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= REG_TTC_DEC_CTRL_BCID_ONBCR_C; -- BCID is set to this value when BCR arrives register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C; -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= REG_TTC_DEC_CTRL_TOHOST_RST_C; -- reset toHost in ttc decoder @@ -6927,7 +6928,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= REG_TTC_DEC_CTRL_XL1ID_RST_C; -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= REG_TTC_DEC_CTRL_MASTER_BUSY_C; -- L1A trigger throttling register_map_control_s.TTC_EMU.SEL <= REG_TTC_EMU_SEL_C; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Enable TTC data generator (10 bit counter) + register_map_control_s.TTC_EMU.ENA <= REG_TTC_EMU_ENA_C; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence register_map_control_s.TTC_DELAY_00 <= REG_TTC_DELAY_00_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_01 <= REG_TTC_DELAY_01_C; -- Controls the TTC Fanout delay values register_map_control_s.TTC_DELAY_02 <= REG_TTC_DELAY_02_C; -- Controls the TTC Fanout delay values @@ -6979,6 +6980,18 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.PRESCALE <= REG_TTC_BUSY_TIMING_CTRL_PRESCALE_C; -- Prescales the 40MHz clock to create an internal slow clock register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C; -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C; -- Number of prescaled clocks a given busy must be asserted before it is recognized + register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= REG_TTC_EMU_CONTROL_LAST_LINE_C; -- Last line of the sequence + register_map_control_s.TTC_EMU_CONTROL.REPEAT <= REG_TTC_EMU_CONTROL_REPEAT_C; -- Repeat the sequence + register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= REG_TTC_EMU_CONTROL_BROADCAST5_C; -- Broadcast 5 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= REG_TTC_EMU_CONTROL_BROADCAST4_C; -- Broadcast 4 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= REG_TTC_EMU_CONTROL_BROADCAST3_C; -- Broadcast 3 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= REG_TTC_EMU_CONTROL_BROADCAST2_C; -- Broadcast 2 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= REG_TTC_EMU_CONTROL_BROADCAST1_C; -- Broadcast 1 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= REG_TTC_EMU_CONTROL_BROADCAST0_C; -- Broadcast 0 + register_map_control_s.TTC_EMU_CONTROL.ECR <= REG_TTC_EMU_CONTROL_ECR_C; -- Event counter reset + register_map_control_s.TTC_EMU_CONTROL.BCR <= REG_TTC_EMU_CONTROL_BCR_C; -- Bunch counter reset + register_map_control_s.TTC_EMU_CONTROL.L1A <= REG_TTC_EMU_CONTROL_L1A_C; -- Level 1 Accept + register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= REG_TTC_EMU_CONTROL_STEP_COUNTER_C; -- Step counter value register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -8961,6 +8974,7 @@ end process; register_map_control_s.CR_BLOCK_COUNT_GBT23.RESET <= REG_CR_BLOCK_COUNT_GBT23_RESET_C; -- Any write clears the counter value end if; register_map_control_s.TTC_BUSY_CLEAR <= REG_TTC_BUSY_CLEAR_C; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + register_map_control_s.TTC_EMU_CONTROL.WE <= REG_TTC_EMU_CONTROL_WE_C; -- Any write to this register executes a write enable register_map_control_s.XOFF_FM_HIGH_THRESH.CLEAR_LATCH <= REG_XOFF_FM_HIGH_THRESH_CLEAR_LATCH_C; -- Writing this register will clear all CROSS_LATCHED bits register_map_control_s.DMA_BUSY_STATUS.CLEAR_LATCH <= REG_DMA_BUSY_STATUS_CLEAR_LATCH_C; -- Any write to this register clears TOHOST_BUSY_LATCHED register_map_control_s.FM_BUSY_CHANNEL_STATUS.CLEAR_LATCH <= REG_FM_BUSY_CHANNEL_STATUS_CLEAR_LATCH_C; -- Any write to this register will clear the BUSY_LATCHED bits @@ -13541,7 +13555,8 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal + when REG_TTC_DEC_CTRL => register_read_data_25_s(26 downto 15) <= register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR; -- BCID is set to this value when BCR arrives + register_read_data_25_s(14 downto 14) <= register_map_monitor_s.register_map_ttc_monitor.TTC_DEC_CTRL.BUSY_OUTPUT_STATUS; -- Actual status of the BUSY LEMO output signal register_read_data_25_s(13 downto 13) <= register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_read_data_25_s(12 downto 12) <= register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT; -- forces the Busy LEMO output to BUSY-OFF register_read_data_25_s(11 downto 11) <= register_map_control_s.TTC_DEC_CTRL.TOHOST_RST; -- reset toHost in ttc decoder @@ -13549,8 +13564,9 @@ end process; register_read_data_25_s(9 downto 2) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_SW; -- set XL1ID value, the value to be set by XL1ID_RST signal register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_DEC_CTRL.XL1ID_RST; -- giving a trigger signal to reset XL1ID value register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY; -- L1A trigger throttling - when REG_TTC_EMU => register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Enable TTC data generator (10 bit counter) + when REG_TTC_EMU => register_read_data_25_s(2 downto 2) <= register_map_monitor_s.register_map_ttc_monitor.TTC_EMU.FULL; -- TTC Emulator memory full indication + register_read_data_25_s(1 downto 1) <= register_map_control_s.TTC_EMU.SEL; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder + register_read_data_25_s(0 downto 0) <= register_map_control_s.TTC_EMU.ENA; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence when REG_TTC_DELAY_00 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_00; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_01; -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_read_data_25_s(3 downto 0) <= register_map_control_s.TTC_DELAY_02; -- Controls the TTC Fanout delay values @@ -13603,6 +13619,19 @@ end process; register_read_data_25_s(31 downto 16) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH; -- Minimum number of 40MHz clocks that the busy is asserted register_read_data_25_s(15 downto 0) <= register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME; -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_BUSY_CLEAR; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + when REG_TTC_EMU_CONTROL => register_read_data_25_s(64 downto 64) <= register_map_control_s.TTC_EMU_CONTROL.WE; -- Any write to this register executes a write enable + register_read_data_25_s(35 downto 35) <= register_map_control_s.TTC_EMU_CONTROL.LAST_LINE; -- Last line of the sequence + register_read_data_25_s(34 downto 34) <= register_map_control_s.TTC_EMU_CONTROL.REPEAT; -- Repeat the sequence + register_read_data_25_s(32 downto 32) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST5; -- Broadcast 5 + register_read_data_25_s(31 downto 31) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST4; -- Broadcast 4 + register_read_data_25_s(30 downto 30) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST3; -- Broadcast 3 + register_read_data_25_s(29 downto 29) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST2; -- Broadcast 2 + register_read_data_25_s(28 downto 28) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST1; -- Broadcast 1 + register_read_data_25_s(27 downto 27) <= register_map_control_s.TTC_EMU_CONTROL.BROADCAST0; -- Broadcast 0 + register_read_data_25_s(26 downto 26) <= register_map_control_s.TTC_EMU_CONTROL.ECR; -- Event counter reset + register_read_data_25_s(25 downto 25) <= register_map_control_s.TTC_EMU_CONTROL.BCR; -- Bunch counter reset + register_read_data_25_s(24 downto 24) <= register_map_control_s.TTC_EMU_CONTROL.L1A; -- Level 1 Accept + register_read_data_25_s(21 downto 0) <= register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER; -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_read_data_25_s(47 downto 44) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(43 downto 40) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_read_data_25_s(39 downto 36) <= register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -14609,7 +14638,7 @@ end process; -- GenericBoardInformation - when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= REG_MAP_VERSION; -- Register Map Version, 4.6 formatted as 0x0406 + when REG_REG_MAP_VERSION => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(1031,16)); -- Register Map Version, 4.7 formatted as 0x0407 when REG_BOARD_ID_TIMESTAMP => register_read_data_25_s(39 downto 0) <= BUILD_DATETIME; -- Board ID Date / Time in BCD format YYMMDDhhmm when REG_BOARD_ID_SVN => register_read_data_25_s(15 downto 0) <= std_logic_vector(to_unsigned(SVN_VERSION,16)); -- Board ID SVN Revision when REG_GIT_COMMIT_TIME => register_read_data_25_s(39 downto 0) <= COMMIT_DATETIME; -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -20664,7 +20693,8 @@ end process; -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- - when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) + when REG_TTC_DEC_CTRL => register_map_control_s.TTC_DEC_CTRL.BCID_ONBCR <= register_write_data_25_v(26 downto 15); -- BCID is set to this value when BCR arrives + register_map_control_s.TTC_DEC_CTRL.ECR_BCR_SWAP <= register_write_data_25_v(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) register_map_control_s.TTC_DEC_CTRL.BUSY_OUTPUT_INHIBIT <= register_write_data_25_v(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF register_map_control_s.TTC_DEC_CTRL.TOHOST_RST <= register_write_data_25_v(11 downto 11); -- reset toHost in ttc decoder register_map_control_s.TTC_DEC_CTRL.TT_BCH_EN <= register_write_data_25_v(10 downto 10); -- trigger type enable / disable for TTC-ToHost @@ -20672,7 +20702,7 @@ end process; register_map_control_s.TTC_DEC_CTRL.XL1ID_RST <= register_write_data_25_v(1 downto 1); -- giving a trigger signal to reset XL1ID value register_map_control_s.TTC_DEC_CTRL.MASTER_BUSY <= register_write_data_25_v(0 downto 0); -- L1A trigger throttling when REG_TTC_EMU => register_map_control_s.TTC_EMU.SEL <= register_write_data_25_v(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Enable TTC data generator (10 bit counter) + register_map_control_s.TTC_EMU.ENA <= register_write_data_25_v(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence when REG_TTC_DELAY_00 => register_map_control_s.TTC_DELAY_00 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_01 => register_map_control_s.TTC_DELAY_01 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values when REG_TTC_DELAY_02 => register_map_control_s.TTC_DELAY_02 <= register_write_data_25_v(3 downto 0); -- Controls the TTC Fanout delay values @@ -20725,6 +20755,19 @@ end process; register_map_control_s.TTC_BUSY_TIMING_CTRL.BUSY_WIDTH <= register_write_data_25_v(31 downto 16); -- Minimum number of 40MHz clocks that the busy is asserted register_map_control_s.TTC_BUSY_TIMING_CTRL.LIMIT_TIME <= register_write_data_25_v(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized when REG_TTC_BUSY_CLEAR => register_map_control_s.TTC_BUSY_CLEAR <= "1"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + when REG_TTC_EMU_CONTROL => register_map_control_s.TTC_EMU_CONTROL.WE <= "1"; -- Any write to this register executes a write enable + register_map_control_s.TTC_EMU_CONTROL.LAST_LINE <= register_write_data_25_v(35 downto 35); -- Last line of the sequence + register_map_control_s.TTC_EMU_CONTROL.REPEAT <= register_write_data_25_v(34 downto 34); -- Repeat the sequence + register_map_control_s.TTC_EMU_CONTROL.BROADCAST5 <= register_write_data_25_v(32 downto 32); -- Broadcast 5 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST4 <= register_write_data_25_v(31 downto 31); -- Broadcast 4 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST3 <= register_write_data_25_v(30 downto 30); -- Broadcast 3 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST2 <= register_write_data_25_v(29 downto 29); -- Broadcast 2 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST1 <= register_write_data_25_v(28 downto 28); -- Broadcast 1 + register_map_control_s.TTC_EMU_CONTROL.BROADCAST0 <= register_write_data_25_v(27 downto 27); -- Broadcast 0 + register_map_control_s.TTC_EMU_CONTROL.ECR <= register_write_data_25_v(26 downto 26); -- Event counter reset + register_map_control_s.TTC_EMU_CONTROL.BCR <= register_write_data_25_v(25 downto 25); -- Bunch counter reset + register_map_control_s.TTC_EMU_CONTROL.L1A <= register_write_data_25_v(24 downto 24); -- Level 1 Accept + register_map_control_s.TTC_EMU_CONTROL.STEP_COUNTER <= register_write_data_25_v(21 downto 0); -- Step counter value when REG_XOFF_FM_CH_FIFO_THRESH_LOW => register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH11 <= register_write_data_25_v(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH10 <= register_write_data_25_v(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB register_map_control_s.XOFF_FM_CH_FIFO_THRESH_LOW.CH09 <= register_write_data_25_v(39 downto 36); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB diff --git a/sources/templates/pcie_package.vhd b/sources/templates/pcie_package.vhd index be343196c..410b82a4c 100644 --- a/sources/templates/pcie_package.vhd +++ b/sources/templates/pcie_package.vhd @@ -6,11 +6,11 @@ -- DO NOT EDIT THIS FILE -- -- This file was generated from template '../../sources/templates/pcie_package.vhd.template' --- and register map ../../sources/templates/registers-4.6.yaml, version 4.6 +-- and register map ../../sources/templates/registers-4.7.yaml, version 4.7 -- by the script 'wuppercodegen', version: 0.8.0, -- using the following commandline: -- --- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.6.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd +-- ../../../software/wuppercodegen/wuppercodegen/cli.py ../../sources/templates/registers-4.7.yaml ../../sources/templates/pcie_package.vhd.template ../../sources/templates/pcie_package.vhd -- -- Please do NOT edit this file, but edit the source file at '../../sources/templates/pcie_package.vhd.template' -- @@ -1009,6 +1009,7 @@ package pcie_package is constant REG_TTC_DELAY_47 : std_logic_vector(19 downto 0) := x"084a0"; constant REG_TTC_BUSY_TIMING_CTRL : std_logic_vector(19 downto 0) := x"084b0"; constant REG_TTC_BUSY_CLEAR : std_logic_vector(19 downto 0) := x"084c0"; + constant REG_TTC_EMU_CONTROL : std_logic_vector(19 downto 0) := x"084d0"; --** XOFF_BUSYControlsAndMonitors constant REG_XOFF_FM_CH_FIFO_THRESH_LOW : std_logic_vector(19 downto 0) := x"08800"; @@ -1520,6 +1521,7 @@ package pcie_package is end record; type bitfield_ttc_dec_ctrl_w_type is record + BCID_ONBCR : std_logic_vector(26 downto 15); -- BCID is set to this value when BCR arrives ECR_BCR_SWAP : std_logic_vector(13 downto 13); -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) BUSY_OUTPUT_INHIBIT : std_logic_vector(12 downto 12); -- forces the Busy LEMO output to BUSY-OFF TOHOST_RST : std_logic_vector(11 downto 11); -- reset toHost in ttc decoder @@ -1531,7 +1533,7 @@ package pcie_package is type bitfield_ttc_emu_w_type is record SEL : std_logic_vector(1 downto 1); -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - ENA : std_logic_vector(0 downto 0); -- Enable TTC data generator (10 bit counter) + ENA : std_logic_vector(0 downto 0); -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence end record; type bitfield_ttc_busy_timing_ctrl_w_type is record @@ -1540,6 +1542,22 @@ package pcie_package is LIMIT_TIME : std_logic_vector(15 downto 0); -- Number of prescaled clocks a given busy must be asserted before it is recognized end record; + type bitfield_ttc_emu_control_t_type is record + WE : std_logic_vector(64 downto 64); -- Any write to this register executes a write enable + LAST_LINE : std_logic_vector(35 downto 35); -- Last line of the sequence + REPEAT : std_logic_vector(34 downto 34); -- Repeat the sequence + BROADCAST5 : std_logic_vector(32 downto 32); -- Broadcast 5 + BROADCAST4 : std_logic_vector(31 downto 31); -- Broadcast 4 + BROADCAST3 : std_logic_vector(30 downto 30); -- Broadcast 3 + BROADCAST2 : std_logic_vector(29 downto 29); -- Broadcast 2 + BROADCAST1 : std_logic_vector(28 downto 28); -- Broadcast 1 + BROADCAST0 : std_logic_vector(27 downto 27); -- Broadcast 0 + ECR : std_logic_vector(26 downto 26); -- Event counter reset + BCR : std_logic_vector(25 downto 25); -- Bunch counter reset + L1A : std_logic_vector(24 downto 24); -- Level 1 Accept + STEP_COUNTER : std_logic_vector(21 downto 0); -- Step counter value + end record; + type bitfield_xoff_fm_ch_fifo_thresh_low_w_type is record CH11 : std_logic_vector(47 downto 44); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB CH10 : std_logic_vector(43 downto 40); -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -2284,6 +2302,7 @@ package pcie_package is TTC_DELAY_47 : std_logic_vector(3 downto 0); -- Controls the TTC Fanout delay values TTC_BUSY_TIMING_CTRL : bitfield_ttc_busy_timing_ctrl_w_type; TTC_BUSY_CLEAR : std_logic_vector(64 downto 64); -- clears the latching busy bits in TTC_BUSY_ACCEPTED + TTC_EMU_CONTROL : bitfield_ttc_emu_control_t_type; XOFF_FM_CH_FIFO_THRESH_LOW : bitfield_xoff_fm_ch_fifo_thresh_low_w_type; XOFF_FM_CH_FIFO_THRESH_HIGH : bitfield_xoff_fm_ch_fifo_thresh_high_w_type; XOFF_FM_HIGH_THRESH : bitfield_xoff_fm_high_thresh_t_type; @@ -5470,6 +5489,7 @@ package pcie_package is -- 0 : TTC_DEC, select CentralRouter data (including TTC) for a specific GBT link -- + constant REG_TTC_DEC_CTRL_BCID_ONBCR_C : std_logic_vector(26 downto 15) := x"000"; -- BCID is set to this value when BCR arrives constant REG_TTC_DEC_CTRL_ECR_BCR_SWAP_C : std_logic_vector(13 downto 13) := "0"; -- ECR and BCR signals are swapped at the output of the TTC decoder (needed only for LAr TTC) constant REG_TTC_DEC_CTRL_BUSY_OUTPUT_INHIBIT_C : std_logic_vector(12 downto 12) := "0"; -- forces the Busy LEMO output to BUSY-OFF constant REG_TTC_DEC_CTRL_TOHOST_RST_C : std_logic_vector(11 downto 11) := "0"; -- reset toHost in ttc decoder @@ -5478,7 +5498,7 @@ package pcie_package is constant REG_TTC_DEC_CTRL_XL1ID_RST_C : std_logic_vector(1 downto 1) := "0"; -- giving a trigger signal to reset XL1ID value constant REG_TTC_DEC_CTRL_MASTER_BUSY_C : std_logic_vector(0 downto 0) := "0"; -- L1A trigger throttling constant REG_TTC_EMU_SEL_C : std_logic_vector(1 downto 1) := "0"; -- Select TTC data source 1 TTC Emu | 0 TTC Decoder - constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Enable TTC data generator (10 bit counter) + constant REG_TTC_EMU_ENA_C : std_logic_vector(0 downto 0) := "0"; -- Clear to load into the TTC emulator’s memory the required sequence, Set to run the TTC emulator sequence constant REG_TTC_DELAY_00_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_01_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values constant REG_TTC_DELAY_02_C : std_logic_vector(3 downto 0) := x"0"; -- Controls the TTC Fanout delay values @@ -5531,6 +5551,19 @@ package pcie_package is constant REG_TTC_BUSY_TIMING_CTRL_BUSY_WIDTH_C : std_logic_vector(31 downto 16) := x"000f"; -- Minimum number of 40MHz clocks that the busy is asserted constant REG_TTC_BUSY_TIMING_CTRL_LIMIT_TIME_C : std_logic_vector(15 downto 0) := x"000f"; -- Number of prescaled clocks a given busy must be asserted before it is recognized constant REG_TTC_BUSY_CLEAR_C : std_logic_vector(64 downto 64) := "0"; -- clears the latching busy bits in TTC_BUSY_ACCEPTED + constant REG_TTC_EMU_CONTROL_WE_C : std_logic_vector(64 downto 64) := "0"; -- Any write to this register executes a write enable + constant REG_TTC_EMU_CONTROL_LAST_LINE_C : std_logic_vector(35 downto 35) := "0"; -- Last line of the sequence + constant REG_TTC_EMU_CONTROL_REPEAT_C : std_logic_vector(34 downto 34) := "0"; -- Repeat the sequence + constant REG_TTC_EMU_CONTROL_BROADCAST5_C : std_logic_vector(32 downto 32) := "0"; -- Broadcast 5 + constant REG_TTC_EMU_CONTROL_BROADCAST4_C : std_logic_vector(31 downto 31) := "0"; -- Broadcast 4 + constant REG_TTC_EMU_CONTROL_BROADCAST3_C : std_logic_vector(30 downto 30) := "0"; -- Broadcast 3 + constant REG_TTC_EMU_CONTROL_BROADCAST2_C : std_logic_vector(29 downto 29) := "0"; -- Broadcast 2 + constant REG_TTC_EMU_CONTROL_BROADCAST1_C : std_logic_vector(28 downto 28) := "0"; -- Broadcast 1 + constant REG_TTC_EMU_CONTROL_BROADCAST0_C : std_logic_vector(27 downto 27) := "0"; -- Broadcast 0 + constant REG_TTC_EMU_CONTROL_ECR_C : std_logic_vector(26 downto 26) := "0"; -- Event counter reset + constant REG_TTC_EMU_CONTROL_BCR_C : std_logic_vector(25 downto 25) := "0"; -- Bunch counter reset + constant REG_TTC_EMU_CONTROL_L1A_C : std_logic_vector(24 downto 24) := "0"; -- Level 1 Accept + constant REG_TTC_EMU_CONTROL_STEP_COUNTER_C : std_logic_vector(21 downto 0) := "0000000000000000000000"; -- Step counter value constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH11_C : std_logic_vector(47 downto 44) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH10_C : std_logic_vector(43 downto 40) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB constant REG_XOFF_FM_CH_FIFO_THRESH_LOW_CH09_C : std_logic_vector(39 downto 36) := x"b"; -- Controls the low theshold of the channel fifo in FULL mode on which an Xon will be asserted, bitfields control 4 MSB @@ -6304,7 +6337,7 @@ package pcie_package is -- GenericBoardInformation type register_map_gen_board_info_type is record - REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.6 formatted as 0x0406 + REG_MAP_VERSION : std_logic_vector(15 downto 0); -- Register Map Version, 4.7 formatted as 0x0407 BOARD_ID_TIMESTAMP : std_logic_vector(39 downto 0); -- Board ID Date / Time in BCD format YYMMDDhhmm BOARD_ID_SVN : std_logic_vector(15 downto 0); -- Board ID SVN Revision GIT_COMMIT_TIME : std_logic_vector(39 downto 0); -- Board ID GIT Commit time of current revision, Date / Time in BCD format YYMMDDhhmm @@ -7414,6 +7447,10 @@ end record; TTC_BIT_ERR : std_logic_vector(2 downto 0); -- double bit, single bit and comm error in TTC data end record; + type bitfield_ttc_emu_r_type is record + FULL : std_logic_vector(2 downto 2); -- TTC Emulator memory full indication + end record; + -- TTCBUSYControlsAndMonitors type register_map_ttc_monitor_type is record @@ -7443,6 +7480,7 @@ end record; TTC_BUSY_ACCEPTED21 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED22 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR TTC_BUSY_ACCEPTED23 : std_logic_vector(56 downto 0); -- busy has been asserted by the given ELINK. Reset by writing to TTC_BUSY_CLEAR + TTC_EMU : bitfield_ttc_emu_r_type; end record; -- -- XOFF_BUSYControlsAndMonitors -- GitLab From 99c7b86a51ff6117cf4d669bc79f89080304cf18 Mon Sep 17 00:00:00 2001 From: Frans Schreuder <fransschreuder@gmail.com> Date: Mon, 27 May 2019 14:55:31 +0200 Subject: [PATCH 19/19] Updated waveform for simulation --- simulation/Wupper/wupper_tb_behav.wcfg | 89 ++++++++++++++++++++------ 1 file changed, 71 insertions(+), 18 deletions(-) diff --git a/simulation/Wupper/wupper_tb_behav.wcfg b/simulation/Wupper/wupper_tb_behav.wcfg index 4ff1be945..9e8ac72bd 100644 --- a/simulation/Wupper/wupper_tb_behav.wcfg +++ b/simulation/Wupper/wupper_tb_behav.wcfg @@ -13,13 +13,13 @@ </db_ref> </db_ref_list> <zoom_setting> - <ZoomStartTime time="9149400000fs"></ZoomStartTime> - <ZoomEndTime time="9432600001fs"></ZoomEndTime> - <Cursor1Time time="9302000000fs"></Cursor1Time> + <ZoomStartTime time="10281800000fs"></ZoomStartTime> + <ZoomEndTime time="10328400001fs"></ZoomEndTime> + <Cursor1Time time="10304000000fs"></Cursor1Time> </zoom_setting> <column_width_setting> <NameColumnWidth column_width="194"></NameColumnWidth> - <ValueColumnWidth column_width="264"></ValueColumnWidth> + <ValueColumnWidth column_width="260"></ValueColumnWidth> </column_width_setting> <WVObjectSize size="4" /> <wvobject type="group" fp_name="group33"> @@ -126,16 +126,6 @@ <obj_property name="ElementShortName">dma_descriptors[0:1]</obj_property> <obj_property name="ObjectShortName">dma_descriptors[0:1]</obj_property> <obj_property name="isExpanded"></obj_property> - <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[0]"> - <obj_property name="ElementShortName">[0]</obj_property> - <obj_property name="ObjectShortName">[0]</obj_property> - <obj_property name="isExpanded"></obj_property> - </wvobject> - <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors[1]"> - <obj_property name="ElementShortName">[1]</obj_property> - <obj_property name="ObjectShortName">[1]</obj_property> - <obj_property name="isExpanded"></obj_property> - </wvobject> </wvobject> <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_soft_reset"> <obj_property name="ElementShortName">dma_soft_reset</obj_property> @@ -144,6 +134,16 @@ <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status"> <obj_property name="ElementShortName">dma_status[0:1]</obj_property> <obj_property name="ObjectShortName">dma_status[0:1]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_status[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> </wvobject> <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/flush_fifo"> <obj_property name="ElementShortName">flush_fifo</obj_property> @@ -195,14 +195,60 @@ <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s"> <obj_property name="ElementShortName">dma_descriptors_s[0:1]</obj_property> <obj_property name="ObjectShortName">dma_descriptors_s[0:1]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_s[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + </wvobject> </wvobject> <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_r_s"> <obj_property name="ElementShortName">dma_descriptors_25_r_s[0:7]</obj_property> <obj_property name="ObjectShortName">dma_descriptors_25_r_s[0:7]</obj_property> + <obj_property name="isExpanded"></obj_property> </wvobject> <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s"> <obj_property name="ElementShortName">dma_descriptors_25_w_s[0:7]</obj_property> <obj_property name="ObjectShortName">dma_descriptors_25_w_s[0:7]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[2]"> + <obj_property name="ElementShortName">[2]</obj_property> + <obj_property name="ObjectShortName">[2]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[3]"> + <obj_property name="ElementShortName">[3]</obj_property> + <obj_property name="ObjectShortName">[3]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[4]"> + <obj_property name="ElementShortName">[4]</obj_property> + <obj_property name="ObjectShortName">[4]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[5]"> + <obj_property name="ElementShortName">[5]</obj_property> + <obj_property name="ObjectShortName">[5]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[6]"> + <obj_property name="ElementShortName">[6]</obj_property> + <obj_property name="ObjectShortName">[6]</obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_25_w_s[7]"> + <obj_property name="ElementShortName">[7]</obj_property> + <obj_property name="ObjectShortName">[7]</obj_property> + </wvobject> </wvobject> <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_w_250_s"> <obj_property name="ElementShortName">dma_descriptors_w_250_s[0:1]</obj_property> @@ -428,10 +474,6 @@ <obj_property name="ElementShortName">last_pc_pointer_s[0:1][63:0]</obj_property> <obj_property name="ObjectShortName">last_pc_pointer_s[0:1][63:0]</obj_property> </wvobject> - <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u1/dma_wait"> - <obj_property name="ElementShortName">dma_wait[0:1]</obj_property> - <obj_property name="ObjectShortName">dma_wait[0:1]</obj_property> - </wvobject> <wvobject type="logic" fp_name="/wupper_tb/pcie0/dma0/u1/dma_descriptors_enable_written_25_s"> <obj_property name="ElementShortName">dma_descriptors_enable_written_25_s</obj_property> <obj_property name="ObjectShortName">dma_descriptors_enable_written_25_s</obj_property> @@ -491,6 +533,17 @@ <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status"> <obj_property name="ElementShortName">dma_status[0:1]</obj_property> <obj_property name="ObjectShortName">dma_status[0:1]</obj_property> + <obj_property name="isExpanded"></obj_property> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status[0]"> + <obj_property name="ElementShortName">[0]</obj_property> + <obj_property name="ObjectShortName">[0]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> + <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/dma_status[1]"> + <obj_property name="ElementShortName">[1]</obj_property> + <obj_property name="ObjectShortName">[1]</obj_property> + <obj_property name="isExpanded"></obj_property> + </wvobject> </wvobject> <wvobject type="array" fp_name="/wupper_tb/pcie0/dma0/u0/fromHostFifo_din"> <obj_property name="ElementShortName">fromHostFifo_din[255:0]</obj_property> -- GitLab