From 64ef7ca2830116409f4c23802a202ab4b1ce5ec8 Mon Sep 17 00:00:00 2001 From: Stefan Rebernig Date: Sun, 19 Dec 2010 21:04:19 +0100 Subject: [PATCH] uart und extension anbindung --- cpu/create_project.tcl | 65 +- cpu/sim/testcore.do | 4 + cpu/src/core_pkg.vhd | 1 + cpu/src/core_top.vhd | 3 +- cpu/src/decoder_b.vhd | 2 +- cpu/src/extension_7seg_b.vhd | 172 ++-- cpu/src/extension_uart_b.vhd | 3 +- cpu/src/extension_uart_pkg.vhd | 5 +- cpu/src/pipeline_tb.vhd | 24 +- cpu/src/rom_b.vhd | 90 +- cpu/src/rs232_rx.vhd | 5 +- cpu/src/rs232_rx_arc.vhd | 9 + cpu/src/writeback_stage.vhd | 1 + cpu/src/writeback_stage_b.vhd | 25 +- dt/dt.asm.rpt | 16 +- dt/dt.done | 2 +- dt/dt.fit.rpt | 1556 ++++++++++++++++++++------------ dt/dt.fit.summary | 8 +- dt/dt.flow.rpt | 44 +- dt/dt.map.rpt | 1389 ++++++++++++++-------------- dt/dt.map.summary | 8 +- dt/dt.pin | 58 +- dt/dt.pof | Bin 524489 -> 524489 bytes dt/dt.qsf | 5 + dt/dt.rbf | Bin 290405 -> 290405 bytes dt/dt.sof | Bin 281523 -> 281523 bytes dt/dt.tan.rpt | 1082 +++++++++++----------- dt/dt.tan.summary | 18 +- 28 files changed, 2591 insertions(+), 2004 deletions(-) diff --git a/cpu/create_project.tcl b/cpu/create_project.tcl index 27fa930..367e4a2 100755 --- a/cpu/create_project.tcl +++ b/cpu/create_project.tcl @@ -91,38 +91,39 @@ if {$make_assignments} { set_location_assignment PIN_L1 -to sys_clk set_location_assignment PIN_R22 -to sys_res set_location_assignment PIN_G12 -to bus_tx - - set_location_assignment PIN_J2 -to sseg0[0] - set_location_assignment PIN_J1 -to sseg0[1] - set_location_assignment PIN_H2 -to sseg0[2] - set_location_assignment PIN_H1 -to sseg0[3] - set_location_assignment PIN_F2 -to sseg0[4] - set_location_assignment PIN_F1 -to sseg0[5] - set_location_assignment PIN_E2 -to sseg0[6] - - set_location_assignment PIN_E1 -to sseg1[0] - set_location_assignment PIN_H6 -to sseg1[1] - set_location_assignment PIN_H5 -to sseg1[2] - set_location_assignment PIN_H4 -to sseg1[3] - set_location_assignment PIN_G3 -to sseg1[4] - set_location_assignment PIN_D2 -to sseg1[5] - set_location_assignment PIN_D1 -to sseg1[6] - - set_location_assignment PIN_G5 -to sseg2[0] - set_location_assignment PIN_G6 -to sseg2[1] - set_location_assignment PIN_C2 -to sseg2[2] - set_location_assignment PIN_C1 -to sseg2[3] - set_location_assignment PIN_E3 -to sseg2[4] - set_location_assignment PIN_E4 -to sseg2[5] - set_location_assignment PIN_D3 -to sseg2[6] - - set_location_assignment PIN_F4 -to sseg3[0] - set_location_assignment PIN_D5 -to sseg3[1] - set_location_assignment PIN_D6 -to sseg3[2] - set_location_assignment PIN_J4 -to sseg3[3] - set_location_assignment PIN_L8 -to sseg3[4] - set_location_assignment PIN_F3 -to sseg3[5] - set_location_assignment PIN_D4 -to sseg3[6] + set_location_assignment PIN_F14 -to bus_rx + + set_location_assignment PIN_J2 -to sseg0[0] + set_location_assignment PIN_J1 -to sseg0[1] + set_location_assignment PIN_H2 -to sseg0[2] + set_location_assignment PIN_H1 -to sseg0[3] + set_location_assignment PIN_F2 -to sseg0[4] + set_location_assignment PIN_F1 -to sseg0[5] + set_location_assignment PIN_E2 -to sseg0[6] + + set_location_assignment PIN_E1 -to sseg1[0] + set_location_assignment PIN_H6 -to sseg1[1] + set_location_assignment PIN_H5 -to sseg1[2] + set_location_assignment PIN_H4 -to sseg1[3] + set_location_assignment PIN_G3 -to sseg1[4] + set_location_assignment PIN_D2 -to sseg1[5] + set_location_assignment PIN_D1 -to sseg1[6] + + set_location_assignment PIN_G5 -to sseg2[0] + set_location_assignment PIN_G6 -to sseg2[1] + set_location_assignment PIN_C2 -to sseg2[2] + set_location_assignment PIN_C1 -to sseg2[3] + set_location_assignment PIN_E3 -to sseg2[4] + set_location_assignment PIN_E4 -to sseg2[5] + set_location_assignment PIN_D3 -to sseg2[6] + + set_location_assignment PIN_F4 -to sseg3[0] + set_location_assignment PIN_D5 -to sseg3[1] + set_location_assignment PIN_D6 -to sseg3[2] + set_location_assignment PIN_J4 -to sseg3[3] + set_location_assignment PIN_L8 -to sseg3[4] + set_location_assignment PIN_F3 -to sseg3[5] + set_location_assignment PIN_D4 -to sseg3[6] set_global_assignment -name FMAX_REQUIREMENT "80.00 MHz" -section_id sys_clk diff --git a/cpu/sim/testcore.do b/cpu/sim/testcore.do index a6f7143..a52d799 100644 --- a/cpu/sim/testcore.do +++ b/cpu/sim/testcore.do @@ -87,6 +87,10 @@ add wave -radix hexadecimal /pipeline_tb/writeback_st/data_ram_read add wave -radix hexadecimal /pipeline_tb/dmem_wr_en_pin add wave -radix hexadecimal /pipeline_tb/writeback_st/dmem_we add wave -radix hexadecimal /pipeline_tb/writeback_st/data_addr + +add wave -radix hexadecimal /pipeline_tb/tx_pin +add wave -radix hexadecimal /pipeline_tb/rx_pin + add wave -radix decimal /pipeline_tb/cycle_cnt run 10000 ns diff --git a/cpu/src/core_pkg.vhd b/cpu/src/core_pkg.vhd index d3aeb3f..afd50b6 100644 --- a/cpu/src/core_pkg.vhd +++ b/cpu/src/core_pkg.vhd @@ -146,6 +146,7 @@ package core_pkg is jump : out std_logic; -- same here bus_tx : out std_logic; + bus_rx : in std_logic; sseg0 : out std_logic_vector(0 to 6); sseg1 : out std_logic_vector(0 to 6); diff --git a/cpu/src/core_top.vhd b/cpu/src/core_top.vhd index 7ece8f1..730f6ce 100644 --- a/cpu/src/core_top.vhd +++ b/cpu/src/core_top.vhd @@ -16,6 +16,7 @@ entity core_top is -- reg_wr_data : out gp_register_t -- uart bus_tx : out std_logic; + bus_rx : in std_logic; sseg0 : out std_logic_vector(0 to 6); sseg1 : out std_logic_vector(0 to 6); @@ -142,7 +143,7 @@ begin generic map('0', '1') port map(sys_clk, sys_res, vers_nxt.result, vers_nxt.result_addr, vers_nxt.address, vers_nxt.ram_data, vers_nxt.alu_jmp, vers_nxt.br_pred, vers_nxt.write_en, vers_nxt.dmem_en, vers_nxt.dmem_write_en, vers_nxt.hword, vers_nxt.byte_s, - reg_wr_data_pin, reg_we_pin, reg_w_addr_pin, jump_result_pin, alu_jump_bit_pin,bus_tx, sseg0, sseg1, sseg2, sseg3); + reg_wr_data_pin, reg_we_pin, reg_w_addr_pin, jump_result_pin, alu_jump_bit_pin,bus_tx, bus_rx, sseg0, sseg1, sseg2, sseg3); syn: process(sys_clk, sys_res) diff --git a/cpu/src/decoder_b.vhd b/cpu/src/decoder_b.vhd index 7425381..606c195 100644 --- a/cpu/src/decoder_b.vhd +++ b/cpu/src/decoder_b.vhd @@ -278,7 +278,7 @@ begin instr_s.reg_src1_addr := instruction(18 downto 15); -- mem addr instr_s.displacement(14 downto 0) := instruction(14 downto 0); instr_s.op_detail(NO_PSW_OPT) := '1'; - instr_s.op_detail(ST_OPT) := '1'; + instr_s.op_detail(ST_OPT) := '1'; instr_s.op_group := LDST_OP; if (instr_s.displacement(14) = '1') then diff --git a/cpu/src/extension_7seg_b.vhd b/cpu/src/extension_7seg_b.vhd index a78da17..2ac967a 100755 --- a/cpu/src/extension_7seg_b.vhd +++ b/cpu/src/extension_7seg_b.vhd @@ -1,82 +1,90 @@ -library IEEE; -use IEEE.std_logic_1164.all; -use IEEE.numeric_std.all; - ---use work.math_pkg.all; -use work.common_pkg.all; -use work.core_pkg.all; - -use work.mem_pkg.all; -use work.extension_pkg.all; -use work.extension_7seg_pkg.all; - -architecture behav of extension_7seg is - -signal s_state, s_state_nxt : sseg_state_rec; -signal ext_reg_r : extmod_rec; - -begin - -seg_syn: process(sys_clk, sys_res_n) - -begin - - if (sys_res_n = RESET_VALUE) then - - s_state.digit0 <= (others => '0');--set(0,7); - s_state.digit1 <= (others => '0');--set(0,7); - s_state.digit2 <= (others => '0');--set(0,7); - s_state.digit3 <= (others => '0');--set(0,7); - - ext_reg_r.sel <='0'; - ext_reg_r.wr_en <= '0'; - ext_reg_r.byte_en <= (others => '0'); - ext_reg_r.data <= (others => '0'); - ext_reg_r.addr <= (others => '0'); - - elsif rising_edge(sys_clk) then - - s_state <= s_state_nxt; - ext_reg_r <= ext_reg; - - end if; - -end process; - -seg_asyn: process(s_state, ext_reg_r) - -begin - s_state_nxt <= s_state; - - if ext_reg_r.sel = '1' and ext_reg_r.wr_en = '1' then - - - case ext_reg_r.byte_en(1 downto 0) is - when "00" => null; - s_state_nxt.digit0 <= digit_decode('0' & ext_reg_r.data(3 downto 0)); - s_state_nxt.digit1 <= digit_decode('0' & ext_reg_r.data(7 downto 4)); - s_state_nxt.digit2 <= digit_decode('0' & ext_reg_r.data(11 downto 8)); - s_state_nxt.digit3 <= digit_decode('0' & ext_reg_r.data(15 downto 12)); - when others => - s_state_nxt.digit0 <= (others => '1'); - s_state_nxt.digit1 <= (others => '1'); - s_state_nxt.digit2 <= (others => '1'); - s_state_nxt.digit3 <= (others => '1'); - end case; - - - end if; - -end process; --ps2_next - -seg_out: process(s_state) -begin - - o_digit0 <= not(s_state.digit0); - o_digit1 <= not(s_state.digit1); - o_digit2 <= not(s_state.digit2); - o_digit3 <= not(s_state.digit3); - -end process; - -end behav; +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +--use work.math_pkg.all; +use work.common_pkg.all; +use work.core_pkg.all; + +use work.mem_pkg.all; +use work.extension_pkg.all; +use work.extension_7seg_pkg.all; + +architecture behav of extension_7seg is + +signal s_state, s_state_nxt : sseg_state_rec; +signal ext_reg_r : extmod_rec; + +begin + +seg_syn: process(sys_clk, sys_res_n) + +begin + + if (sys_res_n = RESET_VALUE) then + + s_state.digit0 <= (others => '0');--set(0,7); + s_state.digit1 <= (others => '0');--set(0,7); + s_state.digit2 <= (others => '0');--set(0,7); + s_state.digit3 <= (others => '0');--set(0,7); + + ext_reg_r.sel <='0'; + ext_reg_r.wr_en <= '0'; + ext_reg_r.byte_en <= (others => '0'); + ext_reg_r.data <= (others => '0'); + ext_reg_r.addr <= (others => '0'); + + elsif rising_edge(sys_clk) then + + s_state <= s_state_nxt; + ext_reg_r <= ext_reg; + + end if; + +end process; + +seg_asyn: process(s_state, ext_reg_r) + +begin + s_state_nxt <= s_state; + + if ext_reg_r.sel = '1' and ext_reg_r.wr_en = '1' then + + +-- case ext_reg_r.byte_en(1 downto 0) is +-- when "00" => null; +-- s_state_nxt.digit0 <= digit_decode('0' & ext_reg_r.data(3 downto 0)); +-- s_state_nxt.digit1 <= digit_decode('0' & ext_reg_r.data(7 downto 4)); +-- s_state_nxt.digit2 <= digit_decode('0' & ext_reg_r.data(11 downto 8)); +-- s_state_nxt.digit3 <= digit_decode('0' & ext_reg_r.data(15 downto 12)); +-- when others => +-- s_state_nxt.digit0 <= (others => '1'); +-- s_state_nxt.digit1 <= (others => '1'); +-- s_state_nxt.digit2 <= (others => '1'); +-- s_state_nxt.digit3 <= (others => '1'); +-- end case; + + if (ext_reg_r.byte_en(0) = '1') then + s_state_nxt.digit0 <= digit_decode('0' & ext_reg_r.data(3 downto 0)); + s_state_nxt.digit1 <= digit_decode('0' & ext_reg_r.data(7 downto 4)); + end if; + if (ext_reg_r.byte_en(1) = '1') then + s_state_nxt.digit2 <= digit_decode('0' & ext_reg_r.data(11 downto 8)); + s_state_nxt.digit3 <= digit_decode('0' & ext_reg_r.data(15 downto 12)); + end if; + + end if; + +end process; --ps2_next + +seg_out: process(s_state) +begin + + o_digit0 <= not(s_state.digit0); + o_digit1 <= not(s_state.digit1); + o_digit2 <= not(s_state.digit2); + o_digit3 <= not(s_state.digit3); + +end process; + +end behav; diff --git a/cpu/src/extension_uart_b.vhd b/cpu/src/extension_uart_b.vhd index 97fa9fb..45150df 100644 --- a/cpu/src/extension_uart_b.vhd +++ b/cpu/src/extension_uart_b.vhd @@ -40,7 +40,8 @@ port map( rs232_rx_inst : rs232_rx generic map( - RESET_VALUE + RESET_VALUE, + 2 ) port map( --System inputs diff --git a/cpu/src/extension_uart_pkg.vhd b/cpu/src/extension_uart_pkg.vhd index 7851222..c7fd32f 100644 --- a/cpu/src/extension_uart_pkg.vhd +++ b/cpu/src/extension_uart_pkg.vhd @@ -70,7 +70,8 @@ end component rs232_tx; component rs232_rx is generic ( -- active reset value - RESET_VALUE : std_logic + RESET_VALUE : std_logic; + SYNC_STAGES : integer range 2 to integer'high ); port( @@ -79,7 +80,7 @@ component rs232_rx is sys_res_n : in std_logic; --Bus - bus_rx : in std_logic; + bus_rx_unsync : in std_logic; --To sendlogic new_rx_data : out std_logic; diff --git a/cpu/src/pipeline_tb.vhd b/cpu/src/pipeline_tb.vhd index 8539c42..e396a6b 100644 --- a/cpu/src/pipeline_tb.vhd +++ b/cpu/src/pipeline_tb.vhd @@ -18,8 +18,10 @@ end pipeline_tb; ------------------------------------------------------------------------------- architecture behavior of pipeline_tb is - constant cc : time := 30 ns; -- test clock period - + constant cc : time := 20 ns; -- test clock period + constant SYS_CLOCK_FREQ : integer := 50000000; + constant BAUD_COUNT : integer := SYS_CLOCK_FREQ/115200; + signal sys_clk_pin : std_logic; signal sys_res_n_pin : std_logic; --Data input @@ -48,7 +50,7 @@ architecture behavior of pipeline_tb is signal dmem_pin : std_logic;--memop signal dmem_wr_en_pin : std_logic; signal hword_pin : std_logic; - signal byte_s_pin, tx_pin : std_logic; + signal byte_s_pin, tx_pin, rx_pin : std_logic; signal gpm_in_pin : extmod_rec; signal gpm_out_pin : gp_register_t; @@ -135,7 +137,7 @@ begin generic map('0', '1') port map(sys_clk_pin, sys_res_n_pin, result_pin, result_addr_pin, addr_pin, data_pin, alu_jump_pin, brpr_pin, wr_en_pin, dmem_pin, dmem_wr_en_pin, hword_pin, byte_s_pin, - reg_wr_data_pin, reg_we_pin, reg_w_addr_pin, jump_result_pin, alu_jump_bit_pin, tx_pin, sseg0, sseg1, sseg2, sseg3); + reg_wr_data_pin, reg_we_pin, reg_w_addr_pin, jump_result_pin, alu_jump_bit_pin, tx_pin, rx_pin, sseg0, sseg1, sseg2, sseg3); @@ -177,6 +179,17 @@ begin wait until sys_clk_pin = '1' and sys_clk_pin'event; end loop; end; + + procedure txd(trans_data : in std_logic_vector) is + begin + for i in 0 to 9 loop + rx_pin <= trans_data(i); + dummy <= not dummy; + wait on dummy; + icwait(BAUD_COUNT); + end loop; + end txd; + begin ----------------------------------------------------------------------------- @@ -192,6 +205,9 @@ begin sys_res_n_pin <= '1'; wait until sys_res_n_pin = '1'; + icwait(10); + + txd("0100000101"); icwait(1000000000); diff --git a/cpu/src/rom_b.vhd b/cpu/src/rom_b.vhd index 5204162..19c4e29 100644 --- a/cpu/src/rom_b.vhd +++ b/cpu/src/rom_b.vhd @@ -23,44 +23,60 @@ begin case rrrr_addr(10 downto 0) is - when "00000000000" => data_out <= "11101101000000000000000000000000"; -- - when "00000000001" => data_out <= "11101101001000000000000000000000"; -- - when "00000000010" => data_out <= "11100111101000000000000000000000"; -- - - when "00000000011" => data_out <= "11100001000000000000000000100001"; -- - when "00000000100" => data_out <= "11101100100000000000001100000000"; -- - when "00000000101" => data_out <= "00001011011111111111111010000011"; -- - - when "00000000110" => data_out <= "11101101000000000000000000001000"; -- - when "00000000111" => data_out <= "11100111100000000000000000001111"; -- - when "00000001000" => data_out <= "11100111100000000000000000010011"; -- -- - - - when "00000001001" => data_out <= x"ed080080"; --x"ed080048"; -- - when "00000001010" => data_out <= x"ed500080"; -- - when "00000001011" => data_out <= x"fd500002"; -- - when "00000001100" => data_out <= x"eb000107"; - when "00000001101" => data_out <= "11101011000000000000011010000010"; --"11101011000000000000000000000010"; - - when "00000001110" => data_out <= x"e5088800"; - when "00000001111" => data_out <= x"e0150800"; - when "00000010000" => data_out <= x"e7010000"; - when "00000010001" => data_out <= x"ec800000"; - when "00000010010" => data_out <= x"0b000008"; - when "00000010011" => data_out <= x"e1910020"; - when "00000010100" => data_out <= x"eb7ffe07"; - when "00000010101" => data_out <= x"e7197ffc"; - when "00000010110" => data_out <= x"e0018000"; - - when "00000010111" => data_out <= x"e1110020"; - when "00000011000" => data_out <= x"e7810000"; - when "00000011001" => data_out <= x"eb00000a"; - - - when "00000011010" => data_out <= x"ed290080"; - when "00000011011" => data_out <= x"e1080000"; + -- fibonacci +-- when "00000000000" => data_out <= "11101101000000000000000000000000"; -- +-- when "00000000001" => data_out <= "11101101001000000000000000000000"; -- +-- when "00000000010" => data_out <= "11100111101000000000000000000000"; -- +-- +-- when "00000000011" => data_out <= "11100001000000000000000000100001"; -- +-- when "00000000100" => data_out <= "11101100100000000000001100000000"; -- +-- when "00000000101" => data_out <= "00001011011111111111111010000011"; -- +-- +-- when "00000000110" => data_out <= "11101101000000000000000000001000"; -- +-- when "00000000111" => data_out <= "11100111100000000000000000001111"; -- +-- when "00000001000" => data_out <= "11100111100000000000000000010011"; -- -- +-- +-- +-- when "00000001001" => data_out <= x"ed080048"; --x"ed080048"; -- +-- when "00000001010" => data_out <= x"ed500080"; -- +-- when "00000001011" => data_out <= x"fd500002"; -- +-- when "00000001100" => data_out <= x"eb000107"; +-- when "00000001101" => data_out <= "11101011000000000000011010000010"; --"11101011000000000000000000000010"; +-- +-- when "00000001110" => data_out <= x"e5088800"; +-- when "00000001111" => data_out <= x"e0150800"; +-- when "00000010000" => data_out <= x"e7010000"; +-- when "00000010001" => data_out <= x"ec800000"; +-- when "00000010010" => data_out <= x"0b000008"; +-- when "00000010011" => data_out <= x"e1910020"; +-- when "00000010100" => data_out <= x"eb7ffe07"; +-- when "00000010101" => data_out <= x"e7197ffc"; +-- when "00000010110" => data_out <= x"e0018000"; +-- +-- when "00000010111" => data_out <= x"e1110020"; +-- when "00000011000" => data_out <= x"e7810000"; +-- when "00000011001" => data_out <= x"eb00000a"; +-- +-- +-- when "00000011010" => data_out <= x"ed290080"; +-- when "00000011011" => data_out <= x"e1080000"; +-- +-- when "00000011100" => data_out <= x"e78a8000"; +-- +-- when "00000011101" => data_out <= x"ed510058"; +-- when "00000011110" => data_out <= x"e7850000"; +-- + -- uart echo + + when "00000000000" => data_out <= x"ed010058"; + when "00000000001" => data_out <= x"ed090060"; + when "00000000010" => data_out <= x"e7188000"; + when "00000000011" => data_out <= x"ec1a0000"; + when "00000000100" => data_out <= x"1b7ffe01"; + when "00000000101" => data_out <= x"e7980000"; + when "00000000110" => data_out <= x"e1218000"; + when "00000000111" => data_out <= x"eb7ffc81"; - when "00000011100" => data_out <= x"e78a8000"; when others => data_out <= "11101011000000000000000000000010"; diff --git a/cpu/src/rs232_rx.vhd b/cpu/src/rs232_rx.vhd index 6f83ceb..8ce22d2 100755 --- a/cpu/src/rs232_rx.vhd +++ b/cpu/src/rs232_rx.vhd @@ -20,7 +20,8 @@ use work.extension_uart_pkg.all; entity rs232_rx is generic ( -- active reset value - RESET_VALUE : std_logic + RESET_VALUE : std_logic; + SYNC_STAGES : integer range 2 to integer'high ); port( @@ -29,7 +30,7 @@ entity rs232_rx is sys_res_n : in std_logic; --Bus - bus_rx : in std_logic; + bus_rx_unsync : in std_logic; --To sendlogic new_rx_data : out std_logic; diff --git a/cpu/src/rs232_rx_arc.vhd b/cpu/src/rs232_rx_arc.vhd index 1bdc472..924a3ce 100755 --- a/cpu/src/rs232_rx_arc.vhd +++ b/cpu/src/rs232_rx_arc.vhd @@ -26,6 +26,8 @@ architecture beh of rs232_rx is signal cnt, cnt_next : integer := 0; signal baud_cnt, baud_cnt_next : std_logic_vector(BAUD_RATE_WIDTH-1 downto 0); signal rx_data_int, rx_data_nxt, rx_data_res_int, rx_data_res_nxt : uart_data; + signal sync : std_logic_vector(1 to SYNC_STAGES); + signal bus_rx : std_logic; begin -- syncronisierungs Prozess @@ -37,6 +39,7 @@ begin cnt <= 0; rx_data_res_int <= x"00"; baud_cnt <= (others => '0'); + sync <= (others => '1'); elsif rising_edge(sys_clk) then -- sync Zustand, uebernehmen der next-Signale @@ -48,11 +51,17 @@ begin rx_data_res_int <= rx_data_res_nxt; new_rx_data <= new_rx_data_nxt; + sync(1) <= bus_rx_unsync; + for i in 2 to SYNC_STAGES loop + sync(i) <= sync(i - 1); + end loop; + end if; end process; -- setzen des Ausgangsignals, Rxt-Daten rx_data <= rx_data_res_int; + bus_rx <= sync(SYNC_STAGES); -- Zustandsmaschienen Prozess rs232_states : process(sys_clk,state,cnt, bus_rx, bus_rx_last, baud_cnt,bus_rx_int,bd_rate) diff --git a/cpu/src/writeback_stage.vhd b/cpu/src/writeback_stage.vhd index 73c5df4..956ba51 100644 --- a/cpu/src/writeback_stage.vhd +++ b/cpu/src/writeback_stage.vhd @@ -37,6 +37,7 @@ entity writeback_stage is jump : out std_logic; -- hallo stefan mir adden da jetzt mal schnell an uart port :D bus_tx : out std_logic; + bus_rx : in std_logic; sseg0 : out std_logic_vector(0 to 6); sseg1 : out std_logic_vector(0 to 6); diff --git a/cpu/src/writeback_stage_b.vhd b/cpu/src/writeback_stage_b.vhd index 585e0e2..b47559d 100755 --- a/cpu/src/writeback_stage_b.vhd +++ b/cpu/src/writeback_stage_b.vhd @@ -20,7 +20,7 @@ signal wb_reg, wb_reg_nxt : writeback_rec; signal ext_uart,ext_timer,ext_gpmp,ext_7seg : extmod_rec; signal ext_uart_out, ext_timer_out, ext_gpmp_out : gp_register_t; -signal sel_nxt, dmem_we, bus_rx, ext_anysel : std_logic; +signal sel_nxt, dmem_we, ext_anysel : std_logic; signal calc_mem_res : gp_register_t; @@ -81,13 +81,11 @@ begin wb_reg.dmem_write_en <= '0'; wb_reg.hword <= '0'; wb_reg.byte_s <= '0'; - bus_rx <= '1'; wb_reg.byte_en <= (others => '0'); wb_reg.data <= (others =>'0'); elsif rising_edge(clk) then wb_reg <= wb_reg_nxt; - bus_rx <= '1'; end if; end process; @@ -192,7 +190,7 @@ end process; -out_logic: process(write_en, result_addr, wb_reg, alu_jmp, wb_reg_nxt, data_ram_read_ext, calc_mem_res, data_ram_read, ext_anysel, result) +out_logic: process(write_en, result_addr, wb_reg, alu_jmp, wb_reg_nxt, data_ram_read_ext, calc_mem_res, data_ram_read, ext_anysel, result, hword, byte_s) variable reg_we_v : std_logic; variable data_out : gp_register_t; begin @@ -222,7 +220,22 @@ begin data_out(4*byte_t'length-1 downto 3*byte_t'length) := (others => '0'); end if; - data_out := to_stdlogicvector(to_bitvector(data_out) srl to_integer(unsigned(wb_reg.address(BYTEADDR-1 downto 0)))*byte_t'length); + + if wb_reg.hword = '1' or wb_reg.byte_s = '1' then + if wb_reg.address(1)='1' then + data_out(hword_t'range) := data_out(data_out'high downto (data_out'length/2)); + end if; + data_out(data_out'high downto (data_out'length/2)) := (others => '0'); + if byte_s = '1' then + if wb_reg.address(0) = '1' then + data_out(byte_t'range) := data_out(hword_t'high downto (hword_t'length/2)); + end if; + data_out(hword_t'high downto (hword_t'length/2)) := (others => '0'); + end if; + end if; + + +-- data_out := to_stdlogicvector(to_bitvector(data_out) srl to_integer(unsigned(wb_reg.address(BYTEADDR-1 downto 0)))*byte_t'length); if (wb_reg_nxt.address(DATA_ADDR_WIDTH+2) /= '1') then data_addr(DATA_ADDR_WIDTH+1 downto 0) <= wb_reg_nxt.address(DATA_ADDR_WIDTH+1 downto 0); @@ -285,6 +298,7 @@ begin when EXT_UART_ADDR => ext_uart.sel <= enable; ext_anysel <= enable; + -- ext_uart.wr_en <= wb_reg_nxt.dmem_write_en; -- ext_uart.data <= ram_data; -- ext_uart.addr <= wb_reg_nxt.address(31 downto 2); @@ -300,6 +314,7 @@ begin when EXT_7SEG_ADDR => ext_7seg.sel <= enable; ext_anysel <= enable; + -- ext_7seg.wr_en <= wb_regdmem_write_en; -- ext_7seg.data <= ram_data; -- ext_7seg.addr <= wb_reg_nxt.address(31 downto 2); diff --git a/dt/dt.asm.rpt b/dt/dt.asm.rpt index 1305fb1..ed0b9cc 100644 --- a/dt/dt.asm.rpt +++ b/dt/dt.asm.rpt @@ -1,5 +1,5 @@ Assembler report for dt -Fri Dec 17 12:27:16 2010 +Sun Dec 19 20:36:48 2010 Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition @@ -39,7 +39,7 @@ applicable agreement for further details. +---------------------------------------------------------------+ ; Assembler Summary ; +-----------------------+---------------------------------------+ -; Assembler Status ; Successful - Fri Dec 17 12:27:16 2010 ; +; Assembler Status ; Successful - Sun Dec 19 20:36:48 2010 ; ; Revision Name ; dt ; ; Top-level Entity Name ; core_top ; ; Family ; Cyclone ; @@ -97,7 +97,7 @@ applicable agreement for further details. +----------------+-----------------+ ; Device ; EP1C12Q240C8 ; ; JTAG usercode ; 0xFFFFFFFF ; -; Checksum ; 0x001EAC07 ; +; Checksum ; 0x002A3659 ; +----------------+-----------------+ @@ -108,7 +108,7 @@ applicable agreement for further details. +--------------------+-------------+ ; Device ; EPCS4 ; ; JTAG usercode ; 0x00000000 ; -; Checksum ; 0x03AFD4AC ; +; Checksum ; 0x03B3DAC6 ; ; Compression Ratio ; 1 ; +--------------------+-------------+ @@ -129,13 +129,13 @@ applicable agreement for further details. Info: ******************************************************************* Info: Running Quartus II Assembler Info: Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition - Info: Processing started: Fri Dec 17 12:27:13 2010 + Info: Processing started: Sun Dec 19 20:36:47 2010 Info: Command: quartus_asm --read_settings_files=off --write_settings_files=off dt -c dt Info: Assembler is generating device programming files Info: Quartus II Assembler was successful. 0 errors, 0 warnings Info: Peak virtual memory: 230 megabytes - Info: Processing ended: Fri Dec 17 12:27:16 2010 - Info: Elapsed time: 00:00:03 - Info: Total CPU time (on all processors): 00:00:02 + Info: Processing ended: Sun Dec 19 20:36:48 2010 + Info: Elapsed time: 00:00:01 + Info: Total CPU time (on all processors): 00:00:01 diff --git a/dt/dt.done b/dt/dt.done index 1d92292..b7c4c37 100644 --- a/dt/dt.done +++ b/dt/dt.done @@ -1 +1 @@ -Fri Dec 17 12:27:19 2010 +Sun Dec 19 20:36:51 2010 diff --git a/dt/dt.fit.rpt b/dt/dt.fit.rpt index 61065c9..6dd35f8 100644 --- a/dt/dt.fit.rpt +++ b/dt/dt.fit.rpt @@ -1,5 +1,5 @@ Fitter report for dt -Fri Dec 17 12:27:10 2010 +Sun Dec 19 20:36:44 2010 Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition @@ -63,17 +63,17 @@ applicable agreement for further details. +-----------------------------------------------------------------------+ ; Fitter Summary ; +-----------------------+-----------------------------------------------+ -; Fitter Status ; Successful - Fri Dec 17 12:27:10 2010 ; +; Fitter Status ; Successful - Sun Dec 19 20:36:44 2010 ; ; Quartus II Version ; 10.0 Build 262 08/18/2010 SP 1 SJ Web Edition ; ; Revision Name ; dt ; ; Top-level Entity Name ; core_top ; ; Family ; Cyclone ; ; Device ; EP1C12Q240C8 ; ; Timing Models ; Final ; -; Total logic elements ; 1,058 / 12,060 ( 9 % ) ; -; Total pins ; 3 / 173 ( 2 % ) ; +; Total logic elements ; 1,646 / 12,060 ( 14 % ) ; +; Total pins ; 32 / 173 ( 18 % ) ; ; Total virtual pins ; 0 ; -; Total memory bits ; 512 / 239,616 ( < 1 % ) ; +; Total memory bits ; 66,560 / 239,616 ( 28 % ) ; ; Total PLLs ; 0 / 2 ( 0 % ) ; +-----------------------+-----------------------------------------------+ @@ -143,8 +143,8 @@ Parallel compilation was disabled, but you have multiple processors available. E ; Type ; Value ; +---------------------+------------------------+ ; Placement (by node) ; ; -; -- Requested ; 0 / 1127 ( 0.00 % ) ; -; -- Achieved ; 0 / 1127 ( 0.00 % ) ; +; -- Requested ; 0 / 1777 ( 0.00 % ) ; +; -- Achieved ; 0 / 1777 ( 0.00 % ) ; ; ; ; ; Routing (by net) ; ; ; -- Requested ; 0 / 0 ( 0.00 % ) ; @@ -167,7 +167,7 @@ Parallel compilation was disabled, but you have multiple processors available. E +--------------------------------+---------+-------------------+-------------------------+-------------------+ ; Partition Name ; # Nodes ; # Preserved Nodes ; Preservation Level Used ; Netlist Type Used ; +--------------------------------+---------+-------------------+-------------------------+-------------------+ -; Top ; 1125 ; 0 ; N/A ; Source File ; +; Top ; 1775 ; 0 ; N/A ; Source File ; ; hard_block:auto_generated_inst ; 2 ; 0 ; N/A ; Source File ; +--------------------------------+---------+-------------------+-------------------------+-------------------+ @@ -175,59 +175,59 @@ Parallel compilation was disabled, but you have multiple processors available. E +--------------+ ; Pin-Out File ; +--------------+ -The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. - - -+-----------------------------------------------------------------------------------------------+ -; Fitter Resource Usage Summary ; -+---------------------------------------------+-------------------------------------------------+ -; Resource ; Usage ; -+---------------------------------------------+-------------------------------------------------+ -; Total logic elements ; 1,058 / 12,060 ( 9 % ) ; -; -- Combinational with no register ; 843 ; -; -- Register only ; 0 ; -; -- Combinational with a register ; 215 ; -; ; ; -; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 473 ; -; -- 3 input functions ; 443 ; -; -- 2 input functions ; 123 ; -; -- 1 input functions ; 18 ; -; -- 0 input functions ; 1 ; -; ; ; -; Logic elements by mode ; ; -; -- normal mode ; 852 ; -; -- arithmetic mode ; 206 ; -; -- qfbk mode ; 76 ; -; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 83 ; -; -- asynchronous clear/load mode ; 203 ; -; ; ; -; Total registers ; 215 / 12,567 ( 2 % ) ; -; Total LABs ; 111 / 1,206 ( 9 % ) ; -; Logic elements in carry chains ; 214 ; -; User inserted logic elements ; 0 ; -; Virtual pins ; 0 ; -; I/O pins ; 3 / 173 ( 2 % ) ; -; -- Clock pins ; 1 / 2 ( 50 % ) ; -; Global signals ; 2 ; -; M4Ks ; 2 / 52 ( 4 % ) ; -; Total memory bits ; 512 / 239,616 ( < 1 % ) ; -; Total RAM block bits ; 9,216 / 239,616 ( 4 % ) ; -; PLLs ; 0 / 2 ( 0 % ) ; -; Global clocks ; 2 / 8 ( 25 % ) ; -; JTAGs ; 0 / 1 ( 0 % ) ; -; ASMI Blocks ; 0 / 1 ( 0 % ) ; -; CRC blocks ; 0 / 1 ( 0 % ) ; -; Average interconnect usage (total/H/V) ; 5% / 5% / 4% ; -; Peak interconnect usage (total/H/V) ; 17% / 19% / 14% ; -; Maximum fan-out node ; sys_clk ; -; Maximum fan-out ; 217 ; -; Highest non-global fan-out signal ; execute_stage:exec_st|alu:alu_inst|Selector76~0 ; -; Highest non-global fan-out ; 114 ; -; Total fan-out ; 4182 ; -; Average fan-out ; 3.93 ; -+---------------------------------------------+-------------------------------------------------+ +The pin-out file can be found in /home/stefan/processor/calu/dt/dt.pin. + + ++-----------------------------------------------------------------------------------------+ +; Fitter Resource Usage Summary ; ++---------------------------------------------+-------------------------------------------+ +; Resource ; Usage ; ++---------------------------------------------+-------------------------------------------+ +; Total logic elements ; 1,646 / 12,060 ( 14 % ) ; +; -- Combinational with no register ; 1126 ; +; -- Register only ; 26 ; +; -- Combinational with a register ; 494 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 827 ; +; -- 3 input functions ; 474 ; +; -- 2 input functions ; 292 ; +; -- 1 input functions ; 27 ; +; -- 0 input functions ; 0 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 1470 ; +; -- arithmetic mode ; 176 ; +; -- qfbk mode ; 179 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 246 ; +; -- asynchronous clear/load mode ; 492 ; +; ; ; +; Total registers ; 520 / 12,567 ( 4 % ) ; +; Total LABs ; 174 / 1,206 ( 14 % ) ; +; Logic elements in carry chains ; 184 ; +; User inserted logic elements ; 0 ; +; Virtual pins ; 0 ; +; I/O pins ; 32 / 173 ( 18 % ) ; +; -- Clock pins ; 1 / 2 ( 50 % ) ; +; Global signals ; 2 ; +; M4Ks ; 18 / 52 ( 35 % ) ; +; Total memory bits ; 66,560 / 239,616 ( 28 % ) ; +; Total RAM block bits ; 82,944 / 239,616 ( 35 % ) ; +; PLLs ; 0 / 2 ( 0 % ) ; +; Global clocks ; 2 / 8 ( 25 % ) ; +; JTAGs ; 0 / 1 ( 0 % ) ; +; ASMI Blocks ; 0 / 1 ( 0 % ) ; +; CRC blocks ; 0 / 1 ( 0 % ) ; +; Average interconnect usage (total/H/V) ; 12% / 12% / 11% ; +; Peak interconnect usage (total/H/V) ; 42% / 44% / 40% ; +; Maximum fan-out node ; sys_clk ; +; Maximum fan-out ; 538 ; +; Highest non-global fan-out signal ; execute_stage:exec_st|right_operand[0]~19 ; +; Highest non-global fan-out ; 104 ; +; Total fan-out ; 7140 ; +; Average fan-out ; 4.20 ; ++---------------------------------------------+-------------------------------------------+ +---------------------------------------------------------------------------------------------------+ @@ -237,10 +237,10 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. +---------------------------------------------+--------------------+--------------------------------+ ; Difficulty Clustering Region ; Low ; Low ; ; ; ; ; -; Total logic elements ; 1058 ; 0 ; -; -- Combinational with no register ; 843 ; 0 ; -; -- Register only ; 0 ; 0 ; -; -- Combinational with a register ; 215 ; 0 ; +; Total logic elements ; 1646 ; 0 ; +; -- Combinational with no register ; 1126 ; 0 ; +; -- Register only ; 26 ; 0 ; +; -- Combinational with a register ; 494 ; 0 ; ; ; ; ; ; Logic element usage by number of LUT inputs ; ; ; ; -- 4 input functions ; 0 ; 0 ; @@ -257,13 +257,13 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; -- synchronous clear/load mode ; 0 ; 0 ; ; -- asynchronous clear/load mode ; 0 ; 0 ; ; ; ; ; -; Total registers ; 215 / 6030 ( 3 % ) ; 0 / 6030 ( 0 % ) ; +; Total registers ; 520 / 6030 ( 8 % ) ; 0 / 6030 ( 0 % ) ; ; Virtual pins ; 0 ; 0 ; -; I/O pins ; 3 ; 0 ; +; I/O pins ; 32 ; 0 ; ; DSP block 9-bit elements ; 0 ; 0 ; -; Total memory bits ; 512 ; 0 ; -; Total RAM block bits ; 9216 ; 0 ; -; M4K ; 2 / 52 ( 3 % ) ; 0 / 52 ( 0 % ) ; +; Total memory bits ; 66560 ; 0 ; +; Total RAM block bits ; 82944 ; 0 ; +; M4K ; 18 / 52 ( 34 % ) ; 0 / 52 ( 0 % ) ; ; ; ; ; ; Connections ; ; ; ; -- Input Connections ; 0 ; 0 ; @@ -272,16 +272,16 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; -- Registered Output Connections ; 0 ; 0 ; ; ; ; ; ; Internal Connections ; ; ; -; -- Total Connections ; 4355 ; 0 ; -; -- Registered Connections ; 809 ; 0 ; +; -- Total Connections ; 7455 ; 0 ; +; -- Registered Connections ; 1762 ; 0 ; ; ; ; ; ; External Connections ; ; ; ; -- Top ; 0 ; 0 ; ; -- hard_block:auto_generated_inst ; 0 ; 0 ; ; ; ; ; ; Partition Interface ; ; ; -; -- Input Ports ; 2 ; 0 ; -; -- Output Ports ; 1 ; 0 ; +; -- Input Ports ; 3 ; 0 ; +; -- Output Ports ; 29 ; 0 ; ; -- Bidir Ports ; 0 ; 0 ; ; ; ; ; ; Registered Ports ; ; ; @@ -305,30 +305,59 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. +---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+----------------+---------------+-----------------+----------+--------------+--------------+-------------+----------------------+ ; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Combinational Fan-Out ; Registered Fan-Out ; Global ; Input Register ; Power Up High ; PCI I/O Enabled ; Bus Hold ; Weak Pull Up ; I/O Standard ; Termination ; Location assigned by ; +---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+----------------+---------------+-----------------+----------+--------------+--------------+-------------+----------------------+ -; sys_clk ; 152 ; 3 ; 53 ; 15 ; 2 ; 217 ; 0 ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; Off ; User ; -; sys_res ; 42 ; 1 ; 0 ; 6 ; 0 ; 205 ; 0 ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; Off ; User ; +; bus_rx ; 17 ; 1 ; 0 ; 21 ; 0 ; 1 ; 0 ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; Off ; Fitter ; +; sys_clk ; 152 ; 3 ; 53 ; 15 ; 2 ; 538 ; 0 ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; Off ; User ; +; sys_res ; 42 ; 1 ; 0 ; 6 ; 0 ; 504 ; 0 ; yes ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; Off ; User ; +---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+----------------+---------------+-----------------+----------+--------------+--------------+-------------+----------------------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Output Pins ; -+--------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ -; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Output Enable Register ; Power Up High ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Termination ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; -+--------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ -; bus_tx ; 166 ; 3 ; 53 ; 22 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; User ; 10 pF ; - ; - ; -+--------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Output Pins ; ++----------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ +; Name ; Pin # ; I/O Bank ; X coordinate ; Y coordinate ; Cell number ; Output Register ; Output Enable Register ; Power Up High ; Slow Slew Rate ; PCI I/O Enabled ; Open Drain ; TRI Primitive ; Bus Hold ; Weak Pull Up ; I/O Standard ; Current Strength ; Termination ; Location assigned by ; Load ; Output Enable Source ; Output Enable Group ; ++----------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ +; bus_tx ; 166 ; 3 ; 53 ; 22 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; User ; 10 pF ; - ; - ; +; sseg0[0] ; 83 ; 4 ; 14 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[1] ; 86 ; 4 ; 16 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[2] ; 144 ; 3 ; 53 ; 12 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[3] ; 39 ; 1 ; 0 ; 11 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[4] ; 213 ; 2 ; 18 ; 27 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[5] ; 88 ; 4 ; 18 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg0[6] ; 214 ; 2 ; 16 ; 27 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[0] ; 18 ; 1 ; 0 ; 21 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[1] ; 93 ; 4 ; 26 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[2] ; 94 ; 4 ; 28 ; 0 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[3] ; 162 ; 3 ; 53 ; 21 ; 2 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[4] ; 207 ; 2 ; 28 ; 27 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[5] ; 206 ; 2 ; 28 ; 27 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg1[6] ; 95 ; 4 ; 28 ; 0 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[0] ; 21 ; 1 ; 0 ; 20 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[1] ; 201 ; 2 ; 32 ; 27 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[2] ; 161 ; 3 ; 53 ; 20 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[3] ; 202 ; 2 ; 32 ; 27 ; 2 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[4] ; 20 ; 1 ; 0 ; 20 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[5] ; 200 ; 2 ; 32 ; 27 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg2[6] ; 160 ; 3 ; 53 ; 20 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[0] ; 87 ; 4 ; 16 ; 0 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[1] ; 84 ; 4 ; 14 ; 0 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[2] ; 38 ; 1 ; 0 ; 11 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[3] ; 23 ; 1 ; 0 ; 16 ; 0 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[4] ; 85 ; 4 ; 16 ; 0 ; 2 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[5] ; 215 ; 2 ; 16 ; 27 ; 1 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; +; sseg3[6] ; 216 ; 2 ; 16 ; 27 ; 2 ; no ; no ; no ; no ; no ; no ; no ; no ; Off ; 3.3-V LVCMOS ; 12mA ; Off ; Fitter ; 10 pF ; - ; - ; ++----------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ -+----------------------------------------------------------+ -; I/O Bank Usage ; -+----------+----------------+---------------+--------------+ -; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; -+----------+----------------+---------------+--------------+ -; 1 ; 3 / 44 ( 7 % ) ; 3.3V ; -- ; -; 2 ; 0 / 42 ( 0 % ) ; 3.3V ; -- ; -; 3 ; 2 / 45 ( 4 % ) ; 3.3V ; -- ; -; 4 ; 0 / 42 ( 0 % ) ; 3.3V ; -- ; -+----------+----------------+---------------+--------------+ ++------------------------------------------------------------+ +; I/O Bank Usage ; ++----------+------------------+---------------+--------------+ +; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; ++----------+------------------+---------------+--------------+ +; 1 ; 10 / 44 ( 23 % ) ; 3.3V ; -- ; +; 2 ; 9 / 42 ( 21 % ) ; 3.3V ; -- ; +; 3 ; 6 / 45 ( 13 % ) ; 3.3V ; -- ; +; 4 ; 9 / 42 ( 21 % ) ; 3.3V ; -- ; ++----------+------------------+---------------+--------------+ +------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -352,13 +381,13 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 14 ; 11 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 15 ; 12 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 16 ; 13 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 17 ; 14 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 18 ; 15 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 17 ; 14 ; 1 ; bus_rx ; input ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; +; 18 ; 15 ; 1 ; sseg1[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 19 ; 16 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 20 ; 17 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 21 ; 18 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 20 ; 17 ; 1 ; sseg2[4] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; +; 21 ; 18 ; 1 ; sseg2[0] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 22 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 23 ; 28 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 23 ; 28 ; 1 ; sseg3[3] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 24 ; 29 ; 1 ; ~nCSO~ / RESERVED_INPUT_WITH_WEAK_PULLUP ; input ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; On ; ; 25 ; 30 ; 1 ; ^DATA0 ; input ; ; ; -- ; ; -- ; -- ; ; 26 ; 31 ; 1 ; ^nCONFIG ; ; ; ; -- ; ; -- ; -- ; @@ -373,8 +402,8 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 35 ; 37 ; 1 ; ^MSEL1 ; ; ; ; -- ; ; -- ; -- ; ; 36 ; 38 ; 1 ; ^DCLK ; bidir ; ; ; -- ; ; -- ; -- ; ; 37 ; 39 ; 1 ; ~ASDO~ / RESERVED_INPUT_WITH_WEAK_PULLUP ; input ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; On ; -; 38 ; 40 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 39 ; 41 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 38 ; 40 ; 1 ; sseg3[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; +; 39 ; 41 ; 1 ; sseg0[3] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 40 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 41 ; 52 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 42 ; 53 ; 1 ; sys_res ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; @@ -418,19 +447,19 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 80 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 81 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 82 ; 86 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 83 ; 87 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 84 ; 88 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 85 ; 89 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 86 ; 90 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 87 ; 91 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 88 ; 92 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 83 ; 87 ; 4 ; sseg0[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 84 ; 88 ; 4 ; sseg3[1] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 85 ; 89 ; 4 ; sseg3[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 86 ; 90 ; 4 ; sseg0[1] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 87 ; 91 ; 4 ; sseg3[0] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 88 ; 92 ; 4 ; sseg0[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; ; 89 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 90 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 91 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 92 ; ; 4 ; VCCIO4 ; power ; ; 3.3V ; -- ; ; -- ; -- ; -; 93 ; 100 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 94 ; 103 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 95 ; 104 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 93 ; 100 ; 4 ; sseg1[1] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 94 ; 103 ; 4 ; sseg1[2] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 95 ; 104 ; 4 ; sseg1[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; ; 96 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 97 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 98 ; 106 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; @@ -479,7 +508,7 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 141 ; 149 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 142 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 143 ; 160 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 144 ; 161 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 144 ; 161 ; 3 ; sseg0[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 145 ; 162 ; 3 ; ^CONF_DONE ; ; ; ; -- ; ; -- ; -- ; ; 146 ; 163 ; 3 ; ^nSTATUS ; ; ; ; -- ; ; -- ; -- ; ; 147 ; 164 ; 3 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; @@ -495,9 +524,9 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 157 ; ; 3 ; VCCIO3 ; power ; ; 3.3V ; -- ; ; -- ; -- ; ; 158 ; 180 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 159 ; 181 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 160 ; 182 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 161 ; 183 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; -; 162 ; 184 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 160 ; 182 ; 3 ; sseg2[6] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; +; 161 ; 183 ; 3 ; sseg2[2] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; +; 162 ; 184 ; 3 ; sseg1[3] ; output ; 3.3-V LVCMOS ; ; Row I/O ; N ; no ; Off ; ; 163 ; 185 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 164 ; 186 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; ; 165 ; 187 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; @@ -535,23 +564,23 @@ The pin-out file can be found in /homes/c0726283/calu/dt/dt.pin. ; 197 ; 213 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ; 198 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 199 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 200 ; 222 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 201 ; 223 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 202 ; 224 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 200 ; 222 ; 2 ; sseg2[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 201 ; 223 ; 2 ; sseg2[1] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 202 ; 224 ; 2 ; sseg2[3] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; ; 203 ; 225 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ; 204 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 205 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 206 ; 227 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 207 ; 228 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 206 ; 227 ; 2 ; sseg1[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 207 ; 228 ; 2 ; sseg1[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; ; 208 ; 231 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ; 209 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; ; 210 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; ; 211 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; ; 212 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; -; 213 ; 239 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 214 ; 240 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 215 ; 241 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; -; 216 ; 242 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 213 ; 239 ; 2 ; sseg0[4] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 214 ; 240 ; 2 ; sseg0[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 215 ; 241 ; 2 ; sseg3[5] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; +; 216 ; 242 ; 2 ; sseg3[6] ; output ; 3.3-V LVCMOS ; ; Column I/O ; N ; no ; Off ; ; 217 ; 243 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ; 218 ; 244 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ; 219 ; 245 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; @@ -602,278 +631,618 @@ Note: Pin directions (input, output or bidir) are based on device operating in u Note: User assignments will override these defaults. The user specified values are listed in the Output Pins and Bidir Pins tables. -+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter Resource Utilization by Entity ; -+----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; Memory Bits ; M4Ks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Library Name ; -+----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ -; |core_top ; 1058 (1) ; 215 ; 512 ; 2 ; 3 ; 0 ; 843 (1) ; 0 (0) ; 215 (0) ; 214 (0) ; 76 (0) ; |core_top ; ; -; |decode_stage:decode_st| ; 100 (94) ; 72 ; 512 ; 2 ; 0 ; 0 ; 28 (22) ; 0 (0) ; 72 (72) ; 11 (11) ; 5 (5) ; |core_top|decode_stage:decode_st ; ; -; |decoder:decoder_inst| ; 6 (6) ; 0 ; 0 ; 0 ; 0 ; 0 ; 6 (6) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|decoder:decoder_inst ; ; -; |r2_w_ram:register_ram| ; 0 (0) ; 0 ; 512 ; 2 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram ; ; -; |altsyncram:ram_rtl_0| ; 0 (0) ; 0 ; 256 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 ; ; -; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 256 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated ; ; -; |altsyncram:ram_rtl_1| ; 0 (0) ; 0 ; 256 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; ; -; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 256 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; ; -; |execute_stage:exec_st| ; 761 (146) ; 67 ; 0 ; 0 ; 0 ; 0 ; 694 (110) ; 0 (0) ; 67 (36) ; 171 (0) ; 70 (39) ; |core_top|execute_stage:exec_st ; ; -; |alu:alu_inst| ; 550 (228) ; 0 ; 0 ; 0 ; 0 ; 0 ; 550 (228) ; 0 (0) ; 0 (0) ; 141 (43) ; 31 (31) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; -; |exec_op:add_inst| ; 100 (100) ; 0 ; 0 ; 0 ; 0 ; 0 ; 100 (100) ; 0 (0) ; 0 (0) ; 98 (98) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; -; |exec_op:or_inst| ; 14 (14) ; 0 ; 0 ; 0 ; 0 ; 0 ; 14 (14) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:or_inst ; ; -; |exec_op:shift_inst| ; 208 (208) ; 0 ; 0 ; 0 ; 0 ; 0 ; 208 (208) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst ; ; -; |extension_gpm:gpmp_inst| ; 65 (65) ; 31 ; 0 ; 0 ; 0 ; 0 ; 34 (34) ; 0 (0) ; 31 (31) ; 30 (30) ; 0 (0) ; |core_top|execute_stage:exec_st|extension_gpm:gpmp_inst ; ; -; |fetch_stage:fetch_st| ; 33 (24) ; 17 ; 0 ; 0 ; 0 ; 0 ; 16 (13) ; 0 (0) ; 17 (11) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; -; |r_w_ram:instruction_ram| ; 9 (9) ; 6 ; 0 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 6 (6) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|r_w_ram:instruction_ram ; ; -; |writeback_stage:writeback_st| ; 163 (48) ; 59 ; 0 ; 0 ; 0 ; 0 ; 104 (44) ; 0 (0) ; 59 (4) ; 32 (0) ; 1 (1) ; |core_top|writeback_stage:writeback_st ; ; -; |extension_uart:uart| ; 106 (12) ; 49 ; 0 ; 0 ; 0 ; 0 ; 57 (2) ; 0 (0) ; 49 (10) ; 32 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart ; ; -; |rs232_tx:rs232_tx_inst| ; 94 (94) ; 39 ; 0 ; 0 ; 0 ; 0 ; 55 (55) ; 0 (0) ; 39 (39) ; 32 (32) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst ; ; -; |r_w_ram:data_ram| ; 9 (9) ; 6 ; 0 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 6 (6) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram ; ; -+----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Resource Utilization by Entity ; ++----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; Memory Bits ; M4Ks ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Library Name ; ++----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ +; |core_top ; 1646 (0) ; 520 ; 66560 ; 18 ; 32 ; 0 ; 1126 (0) ; 26 (0) ; 494 (0) ; 184 (0) ; 179 (0) ; |core_top ; ; +; |decode_stage:decode_st| ; 212 (150) ; 106 ; 1024 ; 2 ; 0 ; 0 ; 106 (44) ; 0 (0) ; 106 (106) ; 11 (11) ; 3 (3) ; |core_top|decode_stage:decode_st ; ; +; |decoder:decoder_inst| ; 62 (62) ; 0 ; 0 ; 0 ; 0 ; 0 ; 62 (62) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|decoder:decoder_inst ; ; +; |r2_w_ram:register_ram| ; 0 (0) ; 0 ; 1024 ; 2 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram ; ; +; |altsyncram:ram_rtl_1| ; 0 (0) ; 0 ; 512 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; ; +; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 512 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; ; +; |altsyncram:ram_rtl_2| ; 0 (0) ; 0 ; 512 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2 ; ; +; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 512 ; 1 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated ; ; +; |execute_stage:exec_st| ; 836 (137) ; 71 ; 0 ; 0 ; 0 ; 0 ; 765 (98) ; 1 (1) ; 70 (38) ; 108 (0) ; 68 (38) ; |core_top|execute_stage:exec_st ; ; +; |alu:alu_inst| ; 637 (324) ; 0 ; 0 ; 0 ; 0 ; 0 ; 637 (324) ; 0 (0) ; 0 (0) ; 78 (44) ; 30 (27) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; +; |exec_op:add_inst| ; 67 (67) ; 0 ; 0 ; 0 ; 0 ; 0 ; 67 (67) ; 0 (0) ; 0 (0) ; 34 (34) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; +; |exec_op:shift_inst| ; 246 (246) ; 0 ; 0 ; 0 ; 0 ; 0 ; 246 (246) ; 0 (0) ; 0 (0) ; 0 (0) ; 3 (3) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst ; ; +; |extension_gpm:gpmp_inst| ; 62 (62) ; 32 ; 0 ; 0 ; 0 ; 0 ; 30 (30) ; 0 (0) ; 32 (32) ; 30 (30) ; 0 (0) ; |core_top|execute_stage:exec_st|extension_gpm:gpmp_inst ; ; +; |fetch_stage:fetch_st| ; 44 (23) ; 29 ; 0 ; 0 ; 0 ; 0 ; 15 (12) ; 0 (0) ; 29 (11) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; +; |rom:instruction_ram| ; 21 (21) ; 18 ; 0 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 18 (18) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|rom:instruction_ram ; ; +; |writeback_stage:writeback_st| ; 554 (141) ; 314 ; 65536 ; 16 ; 0 ; 0 ; 240 (77) ; 25 (0) ; 289 (64) ; 65 (0) ; 108 (106) ; |core_top|writeback_stage:writeback_st ; ; +; |extension_7seg:sseg| ; 47 (47) ; 47 ; 0 ; 0 ; 0 ; 0 ; 0 (0) ; 17 (17) ; 30 (30) ; 0 (0) ; 1 (1) ; |core_top|writeback_stage:writeback_st|extension_7seg:sseg ; ; +; |extension_uart:uart| ; 366 (144) ; 203 ; 0 ; 0 ; 0 ; 0 ; 163 (38) ; 8 (0) ; 195 (106) ; 65 (0) ; 1 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart ; ; +; |rs232_rx:rs232_rx_inst| ; 158 (158) ; 73 ; 0 ; 0 ; 0 ; 0 ; 85 (85) ; 8 (8) ; 65 (65) ; 48 (48) ; 1 (1) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst ; ; +; |rs232_tx:rs232_tx_inst| ; 64 (64) ; 24 ; 0 ; 0 ; 0 ; 0 ; 40 (40) ; 0 (0) ; 24 (24) ; 17 (17) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst ; ; +; |r_w_ram:data_ram| ; 0 (0) ; 0 ; 65536 ; 16 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram ; ; +; |altsyncram:ram_rtl_0| ; 0 (0) ; 0 ; 65536 ; 16 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0 ; ; +; |altsyncram_grk1:auto_generated| ; 0 (0) ; 0 ; 65536 ; 16 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated ; ; ++----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. -+----------------------------------------------------------------------------------+ -; Delay Chain Summary ; -+---------+----------+---------------+---------------+-----------------------+-----+ -; Name ; Pin Type ; Pad to Core 0 ; Pad to Core 1 ; Pad to Input Register ; TCO ; -+---------+----------+---------------+---------------+-----------------------+-----+ -; bus_tx ; Output ; -- ; -- ; -- ; -- ; -; sys_clk ; Input ; OFF ; OFF ; -- ; -- ; -; sys_res ; Input ; OFF ; ON ; -- ; -- ; -+---------+----------+---------------+---------------+-----------------------+-----+ - - -+---------------------------------------------------------------------------------------------------------------------------+ -; Pad To Core Delay Chain Fanout ; -+---------------------------------------------------------------------------------------------+-------------------+---------+ -; Source Pin / Fanout ; Pad To Core Index ; Setting ; -+---------------------------------------------------------------------------------------------+-------------------+---------+ -; sys_clk ; ; ; -; sys_res ; ; ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[2] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[3] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[4] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[5] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[6] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[0] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[2] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[3] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|idle_sig ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[3] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[4] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[6] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[29] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[30] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[31] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[30] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[29] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[28] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[27] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[26] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[25] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[24] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[23] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[22] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[21] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[20] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[19] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[18] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[17] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[16] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[15] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[14] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[13] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[12] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[11] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[10] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[9] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[8] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[7] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[6] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[5] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[4] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[3] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[2] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[0] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg2 ; 0 ; OFF ; -; - execute_stage:exec_st|reg.wr_en ; 0 ; OFF ; -; - writeback_stage:writeback_st|wb_reg.dmem_en ; 0 ; OFF ; -; - execute_stage:exec_st|reg.alu_jump ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[2] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; 0 ; OFF ; -; - writeback_stage:writeback_st|wb_reg.address[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|wb_reg.address[0] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_detail[3] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.LDST_OP ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.brpr ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.condition[0] ; 0 ; OFF ; -; - execute_stage:exec_st|alu:alu_inst|\calc:cond_met~0 ; 1 ; ON ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[3] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[0] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[0] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[0] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[5] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[7] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.daddr[0] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg1 ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[9] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[8] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[17] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[15] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[16] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[14] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[13] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[11] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[12] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[10] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.brpr ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.displacement[3] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.displacement[6] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.displacement[9] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[26] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[27] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[28] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[31] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[19] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[18] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[20] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[21] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[22] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[23] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[24] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.result[25] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.ADDSUB_OP ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr_nxt[6]~3 ; 1 ; ON ; -; - decode_stage:decode_st|dec_op_inst.op_detail[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[14] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[13] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.displacement[1] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.carry ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_detail[4] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.saddr1[1] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[0] ; 0 ; OFF ; -; - writeback_stage:writeback_st|extension_uart:uart|new_tx_data ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[6] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.immediate[4] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.imm_set ; 0 ; OFF ; -; - writeback_stage:writeback_st|wb_reg.dmem_write_en ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.saddr2[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[0] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[1] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[3] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[4] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[5] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[6] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[7] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[8] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[9] ; 0 ; OFF ; -; - execute_stage:exec_st|reg.res_addr[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[10] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.op_group.JMP_OP ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[11] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[0] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[12] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[1] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[13] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[2] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[14] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[3] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[15] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[4] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[16] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[5] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[17] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[6] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[18] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[7] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[19] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[8] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[20] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[9] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[21] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.prog_cnt[10] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[22] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[23] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[24] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[25] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[26] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[27] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[28] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[29] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[30] ; 0 ; OFF ; -; - decode_stage:decode_st|rtw_rec.rtw_reg[31] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[10] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[0] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[9] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[1] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[8] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[2] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[6] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[7] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[3] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][11] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[4] ; 0 ; OFF ; -; - fetch_stage:fetch_st|instr_r_addr[5] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][26] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][24] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][27] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][25] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][28] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][29] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][13] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][17] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][15] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][12] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][20] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][18] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][22] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][16] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][14] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][21] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][19] ; 0 ; OFF ; -; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][23] ; 0 ; OFF ; -; - decode_stage:decode_st|dec_op_inst.saddr1[2] ; 0 ; OFF ; -+---------------------------------------------------------------------------------------------+-------------------+---------+ - - -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Control Signals ; -+--------------------------------------------------------------------------------------+---------------+---------+---------------------------+--------+----------------------+------------------+ -; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; -+--------------------------------------------------------------------------------------+---------------+---------+---------------------------+--------+----------------------+------------------+ -; decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; LC_X39_Y14_N6 ; 57 ; Sync. load ; no ; -- ; -- ; -; execute_stage:exec_st|alu:alu_inst|calc~0 ; LC_X38_Y18_N6 ; 32 ; Sync. clear, Sync. load ; no ; -- ; -- ; -; execute_stage:exec_st|alu:alu_inst|pwr_en ; LC_X36_Y12_N2 ; 30 ; Clock enable ; no ; -- ; -- ; -; execute_stage:exec_st|reg.result[1]~9 ; LC_X32_Y12_N1 ; 12 ; Sync. load ; no ; -- ; -- ; -; sys_clk ; PIN_152 ; 217 ; Clock ; yes ; Global Clock ; GCLK7 ; -; sys_res ; PIN_42 ; 205 ; Async. clear, Async. load ; yes ; Global Clock ; GCLK3 ; -; writeback_stage:writeback_st|Mux9~0 ; LC_X37_Y15_N8 ; 7 ; Sync. clear ; no ; -- ; -- ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int~0 ; LC_X32_Y9_N2 ; 5 ; Clock enable ; no ; -- ; -- ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; LC_X31_Y8_N3 ; 35 ; Sync. clear ; no ; -- ; -- ; -; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~0 ; LC_X36_Y15_N2 ; 8 ; Clock enable ; no ; -- ; -- ; -; writeback_stage:writeback_st|reg_we~0 ; LC_X35_Y14_N9 ; 8 ; Write enable ; no ; -- ; -- ; -+--------------------------------------------------------------------------------------+---------------+---------+---------------------------+--------+----------------------+------------------+ ++-----------------------------------------------------------------------------------+ +; Delay Chain Summary ; ++----------+----------+---------------+---------------+-----------------------+-----+ +; Name ; Pin Type ; Pad to Core 0 ; Pad to Core 1 ; Pad to Input Register ; TCO ; ++----------+----------+---------------+---------------+-----------------------+-----+ +; bus_tx ; Output ; -- ; -- ; -- ; -- ; +; sseg0[6] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[5] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[4] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[3] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[2] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[1] ; Output ; -- ; -- ; -- ; -- ; +; sseg0[0] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[6] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[5] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[4] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[3] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[2] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[1] ; Output ; -- ; -- ; -- ; -- ; +; sseg1[0] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[6] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[5] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[4] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[3] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[2] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[1] ; Output ; -- ; -- ; -- ; -- ; +; sseg2[0] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[6] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[5] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[4] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[3] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[2] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[1] ; Output ; -- ; -- ; -- ; -- ; +; sseg3[0] ; Output ; -- ; -- ; -- ; -- ; +; sys_clk ; Input ; OFF ; OFF ; -- ; -- ; +; sys_res ; Input ; OFF ; ON ; -- ; -- ; +; bus_rx ; Input ; ON ; ON ; -- ; -- ; ++----------+----------+---------------+---------------+-----------------------+-----+ + + ++---------------------------------------------------------------------------------------------------------------------------------+ +; Pad To Core Delay Chain Fanout ; ++---------------------------------------------------------------------------------------------------+-------------------+---------+ +; Source Pin / Fanout ; Pad To Core Index ; Setting ; ++---------------------------------------------------------------------------------------------------+-------------------+---------+ +; sys_clk ; ; ; +; sys_res ; ; ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit3[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit2[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit1[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[26] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[31] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[17] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[18] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[19] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[20] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[22] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[28] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[29] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[30] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.sel ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.byte_en[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.data[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.dmem_en ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[26] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|idle_sig ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.condition[0] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.condition[3] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero ; 0 ; OFF ; +; - execute_stage:exec_st|reg.alu_jump ; 0 ; OFF ; +; - execute_stage:exec_st|reg.brpr ; 0 ; OFF ; +; - execute_stage:exec_st|alu:alu_inst|\calc:cond_met~1 ; 1 ; ON ; +; - decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.LDST_OP ; 0 ; OFF ; +; - execute_stage:exec_st|reg.res_addr[2] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.wr_en ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[6] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg2 ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[6] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_detail[3] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[5] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[5] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[7] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[4] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[4] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[2] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[2] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[1] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[1] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[3] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[3] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[0] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[0] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[8] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[8] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[9] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[9] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[10] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[10] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[11] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[12] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[12] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[13] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[13] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[14] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[14] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[15] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[15] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.AND_OP ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg1 ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.JMP_OP ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.XOR_OP ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[19] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[18] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[20] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[17] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[21] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[23] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[24] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[22] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_detail[2] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.carry ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_detail[1] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[16] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_group.ADDSUB_OP ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[27] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[29] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[28] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[30] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[31] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[25] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.result[26] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[21] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.immediate[31] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_detail[4] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.daddr[0] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.daddr[2] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.daddr[3] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.daddr[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[6] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[4] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[31] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[9] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[7] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[6] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[0] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr_nxt[0]~1 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|tx_rdy_int ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.POST_STOP ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.displacement[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_BIT ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_START ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[6]~0 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_STOP ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.IDLE ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[5]~2 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[7]~4 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[4]~6 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[2]~8 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[1]~10 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[3]~12 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[0]~14 ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|bus_rx_int ; 1 ; ON ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|sync[1] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr2[2] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr2[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[4] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr2[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[0] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr1[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[2] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr1[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[26] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[26] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[26] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.dmem_write_en ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w1_st_co[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[9] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.imm_set ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[4] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[6] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[3] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[12] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[5] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[6] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.address[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[15] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[7] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[14] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[19] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[18] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[13] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[16] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[9] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[8] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[17] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[20] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[4] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[12] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[6] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[3] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[0] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[5] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[2] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[29] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[1] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[28] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[12] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[13] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[14] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[15] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[19] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[18] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[20] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[17] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[21] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[23] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[24] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[22] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[16] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[27] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[29] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[28] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[30] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[25] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[26] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[31] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[9] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[10] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[11] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[11] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[21] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[15] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[23] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[22] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[27] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[26] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[25] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[30] ; 0 ; OFF ; +; - decode_stage:decode_st|rtw_rec.rtw_reg[24] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[7] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[10] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[9] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[8] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[7] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[6] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[5] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[4] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[6] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[4] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[2] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[3] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[5] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[7] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[1] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[2] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[0] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[9] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[1] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[8] ; 0 ; OFF ; +; - writeback_stage:writeback_st|wb_reg.data[3] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.prog_cnt[10] ; 0 ; OFF ; +; - fetch_stage:fetch_st|instr_r_addr[0] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.wr_en ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|new_tx_data ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|new_rx_data ; 1 ; ON ; +; - decode_stage:decode_st|dec_op_inst.saddr1[3] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr2[3] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.saddr1[1] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.brpr ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][11] ; 0 ; OFF ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|sync[2] ; 0 ; OFF ; +; - decode_stage:decode_st|dec_op_inst.op_detail[5] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.res_addr[0] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.res_addr[1] ; 0 ; OFF ; +; - execute_stage:exec_st|reg.res_addr[3] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][29] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][28] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][27] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][26] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][25] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][24] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][23] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][22] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][21] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][20] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][19] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][18] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][17] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][16] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][15] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][14] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][13] ; 0 ; OFF ; +; - execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][12] ; 0 ; OFF ; +; bus_rx ; ; ; +; - writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|sync[1] ; 1 ; ON ; ++---------------------------------------------------------------------------------------------------+-------------------+---------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Control Signals ; ++----------------------------------------------------------------------------------------------+---------------+---------+-----------------------------------------+--------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; ++----------------------------------------------------------------------------------------------+---------------+---------+-----------------------------------------+--------+----------------------+------------------+ +; decode_stage:decode_st|decoder:decoder_inst|instr_s~10 ; LC_X36_Y12_N6 ; 10 ; Sync. load ; no ; -- ; -- ; +; decode_stage:decode_st|rtw_rec_nxt.immediate[16]~28 ; LC_X36_Y12_N1 ; 9 ; Sync. clear ; no ; -- ; -- ; +; execute_stage:exec_st|alu:alu_inst|calc~0 ; LC_X25_Y16_N7 ; 2 ; Clock enable ; no ; -- ; -- ; +; execute_stage:exec_st|alu:alu_inst|pwr_en ; LC_X32_Y18_N0 ; 30 ; Clock enable ; no ; -- ; -- ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[22] ; LC_X21_Y16_N1 ; 31 ; Sync. clear ; no ; -- ; -- ; +; sys_clk ; PIN_152 ; 538 ; Clock ; yes ; Global Clock ; GCLK7 ; +; sys_res ; PIN_42 ; 504 ; Async. clear, Async. load, Clock enable ; yes ; Global Clock ; GCLK3 ; +; writeback_stage:writeback_st|dmem_we~0 ; LC_X22_Y14_N4 ; 16 ; Write enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[6]~0 ; LC_X21_Y11_N3 ; 28 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[4]~33 ; LC_X22_Y18_N2 ; 16 ; Sync. clear ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|new_rx_data ; LC_X22_Y18_N9 ; 9 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_res_int[7]~0 ; LC_X22_Y18_N9 ; 9 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_BIT ; LC_X21_Y19_N3 ; 51 ; Sync. load ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int~0 ; LC_X29_Y8_N2 ; 6 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|w1_st_co[0]~0 ; LC_X35_Y13_N0 ; 31 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[15]~0 ; LC_X30_Y13_N6 ; 32 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[0]~1 ; LC_X35_Y13_N9 ; 32 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|reg_we~11 ; LC_X29_Y17_N6 ; 7 ; Write enable ; no ; -- ; -- ; ++----------------------------------------------------------------------------------------------+---------------+---------+-----------------------------------------+--------+----------------------+------------------+ +------------------------------------------------------------------------+ @@ -881,202 +1250,209 @@ Note: For table entries with two numbers listed, the numbers in parentheses indi +---------+----------+---------+----------------------+------------------+ ; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; +---------+----------+---------+----------------------+------------------+ -; sys_clk ; PIN_152 ; 217 ; Global Clock ; GCLK7 ; -; sys_res ; PIN_42 ; 205 ; Global Clock ; GCLK3 ; +; sys_clk ; PIN_152 ; 538 ; Global Clock ; GCLK7 ; +; sys_res ; PIN_42 ; 504 ; Global Clock ; GCLK3 ; +---------+----------+---------+----------------------+------------------+ -+---------------------------------------------------------------------------------------------+ -; Non-Global High Fan-Out Signals ; -+-----------------------------------------------------------------------------------+---------+ -; Name ; Fan-Out ; -+-----------------------------------------------------------------------------------+---------+ -; execute_stage:exec_st|alu:alu_inst|Selector76~0 ; 114 ; -; execute_stage:exec_st|right_operand[0]~10 ; 90 ; -; execute_stage:exec_st|right_operand[1]~6 ; 77 ; -; execute_stage:exec_st|right_operand[2]~4 ; 64 ; -; decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; 57 ; -; execute_stage:exec_st|alu:alu_inst|Selector48~0 ; 55 ; -; decode_stage:decode_st|dec_op_inst.op_detail[3] ; 49 ; -; execute_stage:exec_st|right_operand[3]~8 ; 48 ; -; decode_stage:decode_st|dec_op_inst.op_detail[2] ; 41 ; -; execute_stage:exec_st|left_operand[19]~1 ; 41 ; -; execute_stage:exec_st|right_operand[30]~2 ; 39 ; -; execute_stage:exec_st|right_operand[30]~1 ; 39 ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[26] ; 37 ; -; writeback_stage:writeback_st|wb_reg.dmem_en ; 35 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; 35 ; -; writeback_stage:writeback_st|wb_reg.dmem_write_en ; 34 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|Equal0~10 ; 34 ; -; execute_stage:exec_st|alu:alu_inst|calc~0 ; 32 ; -; decode_stage:decode_st|rtw_rec.rtw_reg1 ; 32 ; -; execute_stage:exec_st|reg.result[7]~12 ; 30 ; -; execute_stage:exec_st|alu:alu_inst|pwr_en ; 30 ; -; execute_stage:exec_st|alu:alu_inst|pinc~0 ; 29 ; -; writeback_stage:writeback_st|jump ; 25 ; -; decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; 25 ; -; execute_stage:exec_st|reg.result[7]~13 ; 24 ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[25] ; 24 ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[27] ; 23 ; -; decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP ; 20 ; -; decode_stage:decode_st|decoder:decoder_inst|instr_s~5 ; 15 ; -; execute_stage:exec_st|reg.result[1]~9 ; 12 ; -; decode_stage:decode_st|dec_op_inst.op_group.LDST_OP ; 12 ; -; decode_stage:decode_st|rtw_rec.imm_set ; 12 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[1] ; 12 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[0] ; 10 ; -; execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst|tmp_sb~0 ; 9 ; -; execute_stage:exec_st|alu:alu_inst|Selector76~1 ; 9 ; -; execute_stage:exec_st|left_operand[30]~46 ; 9 ; -; execute_stage:exec_st|left_operand[29]~44 ; 9 ; -; execute_stage:exec_st|left_operand[28]~42 ; 9 ; -; execute_stage:exec_st|alu:alu_inst|Selector107~0 ; 9 ; -; execute_stage:exec_st|reg.res_addr[2] ; 9 ; -; execute_stage:exec_st|reg.result[4]~21 ; 8 ; -; execute_stage:exec_st|reg.result[25]~14 ; 8 ; -; execute_stage:exec_st|left_operand[27]~40 ; 8 ; -; execute_stage:exec_st|left_operand[26]~38 ; 8 ; -; execute_stage:exec_st|alu:alu_inst|Selector97~0 ; 8 ; -; execute_stage:exec_st|left_operand[12]~34 ; 8 ; -; execute_stage:exec_st|left_operand[11]~32 ; 8 ; -; execute_stage:exec_st|alu:alu_inst|Selector98~0 ; 8 ; -; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~0 ; 8 ; -+-----------------------------------------------------------------------------------+---------+ - - -+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Fitter RAM Summary ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+-------------+ -; Name ; Type ; Mode ; Clock Mode ; Port A Depth ; Port A Width ; Port B Depth ; Port B Width ; Port A Input Registers ; Port A Output Registers ; Port B Input Registers ; Port B Output Registers ; Size ; Implementation Port A Depth ; Implementation Port A Width ; Implementation Port B Depth ; Implementation Port B Width ; Implementation Bits ; M4Ks ; MIF ; Location ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+-------------+ -; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; Single Clock ; 16 ; 32 ; 16 ; 32 ; yes ; no ; yes ; no ; 512 ; 8 ; 32 ; 8 ; 32 ; 256 ; 1 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; M4K_X33_Y15 ; -; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; Single Clock ; 16 ; 32 ; 16 ; 32 ; yes ; no ; yes ; no ; 512 ; 8 ; 32 ; 8 ; 32 ; 256 ; 1 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; M4K_X33_Y14 ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+-------------+ ++---------------------------------------------------------------------------------------------------+ +; Non-Global High Fan-Out Signals ; ++-----------------------------------------------------------------------------------------+---------+ +; Name ; Fan-Out ; ++-----------------------------------------------------------------------------------------+---------+ +; execute_stage:exec_st|right_operand[0]~19 ; 104 ; +; execute_stage:exec_st|right_operand[1]~15 ; 98 ; +; writeback_stage:writeback_st|wb_reg.dmem_en ; 91 ; +; execute_stage:exec_st|alu:alu_inst|Selector98~0 ; 89 ; +; decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; 78 ; +; execute_stage:exec_st|right_operand[2]~13 ; 63 ; +; execute_stage:exec_st|alu:alu_inst|Selector63~0 ; 60 ; +; execute_stage:exec_st|left_operand[19]~3 ; 59 ; +; decode_stage:decode_st|dec_op_inst.op_detail[3] ; 53 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_BIT ; 51 ; +; writeback_stage:writeback_st|regfile_val[24]~50 ; 48 ; +; execute_stage:exec_st|right_operand[3]~17 ; 48 ; +; execute_stage:exec_st|right_operand[5]~3 ; 48 ; +; execute_stage:exec_st|right_operand[5]~2 ; 48 ; +; writeback_stage:writeback_st|wb_reg.address[3] ; 45 ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[23] ; 41 ; +; decode_stage:decode_st|dec_op_inst.op_detail[1] ; 41 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_STOP ; 35 ; +; decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; 34 ; +; decode_stage:decode_st|dec_op_inst.op_group.XOR_OP ; 33 ; +; decode_stage:decode_st|dec_op_inst.op_group.AND_OP ; 33 ; +; writeback_stage:writeback_st|data_addr[12]~10 ; 32 ; +; writeback_stage:writeback_st|data_addr[11]~9 ; 32 ; +; writeback_stage:writeback_st|data_addr[10]~8 ; 32 ; +; writeback_stage:writeback_st|data_addr[9]~7 ; 32 ; +; writeback_stage:writeback_st|data_addr[8]~6 ; 32 ; +; writeback_stage:writeback_st|data_addr[7]~5 ; 32 ; +; writeback_stage:writeback_st|data_addr[6]~4 ; 32 ; +; writeback_stage:writeback_st|data_addr[5]~3 ; 32 ; +; writeback_stage:writeback_st|data_addr[4]~2 ; 32 ; +; writeback_stage:writeback_st|data_addr[3]~1 ; 32 ; +; writeback_stage:writeback_st|data_addr[2]~0 ; 32 ; +; execute_stage:exec_st|alu:alu_inst|calc~1 ; 32 ; +; execute_stage:exec_st|alu:alu_inst|Selector16~2 ; 32 ; +; execute_stage:exec_st|alu:alu_inst|Selector16~1 ; 32 ; +; decode_stage:decode_st|rtw_rec.rtw_reg1 ; 32 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[15]~0 ; 32 ; +; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[0]~1 ; 32 ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[22] ; 31 ; +; writeback_stage:writeback_st|extension_uart:uart|w1_st_co[0]~0 ; 31 ; +; execute_stage:exec_st|alu:alu_inst|pwr_en ; 30 ; +; execute_stage:exec_st|alu:alu_inst|pinc~0 ; 29 ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[27] ; 28 ; +; writeback_stage:writeback_st|extension_7seg:sseg|s_state.digit0[6]~0 ; 28 ; +; decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP ; 27 ; +; writeback_stage:writeback_st|extension_uart:uart|gread~0 ; 27 ; +; writeback_stage:writeback_st|regfile_val[24]~51 ; 24 ; +; decode_stage:decode_st|decoder:decoder_inst|instr_spl.bp~0 ; 23 ; +; decode_stage:decode_st|dec_op_inst.displacement[31] ; 23 ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[26] ; 23 ; ++-----------------------------------------------------------------------------------------+---------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter RAM Summary ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+-------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Name ; Type ; Mode ; Clock Mode ; Port A Depth ; Port A Width ; Port B Depth ; Port B Width ; Port A Input Registers ; Port A Output Registers ; Port B Input Registers ; Port B Output Registers ; Size ; Implementation Port A Depth ; Implementation Port A Width ; Implementation Port B Depth ; Implementation Port B Width ; Implementation Bits ; M4Ks ; MIF ; Location ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+-------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; Single Clock ; 16 ; 32 ; 16 ; 32 ; yes ; no ; yes ; no ; 512 ; 16 ; 32 ; 16 ; 32 ; 512 ; 1 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; M4K_X33_Y17 ; +; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; Single Clock ; 16 ; 32 ; 16 ; 32 ; yes ; no ; yes ; no ; 512 ; 16 ; 32 ; 16 ; 32 ; 512 ; 1 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; M4K_X33_Y18 ; +; writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; Single Clock ; 2048 ; 32 ; 2048 ; 32 ; yes ; no ; yes ; no ; 65536 ; 2048 ; 32 ; 2048 ; 32 ; 65536 ; 16 ; db/dt.ram0_r_w_ram_1e9198d1.hdl.mif ; M4K_X19_Y19, M4K_X33_Y13, M4K_X33_Y14, M4K_X33_Y16, M4K_X19_Y13, M4K_X19_Y16, M4K_X19_Y18, M4K_X19_Y11, M4K_X19_Y15, M4K_X19_Y14, M4K_X19_Y10, M4K_X33_Y11, M4K_X33_Y12, M4K_X33_Y15, M4K_X19_Y17, M4K_X19_Y12 ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+-------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Note: Fitter may spread logical memories into multiple blocks to improve timing. The actual required RAM blocks can be found in the Fitter Resource Usage section. -+-----------------------------------------------------+ -; Interconnect Usage Summary ; -+----------------------------+------------------------+ -; Interconnect Resource Type ; Usage ; -+----------------------------+------------------------+ -; C4s ; 1,302 / 30,600 ( 4 % ) ; -; Direct links ; 132 / 43,552 ( < 1 % ) ; -; Global clocks ; 2 / 8 ( 25 % ) ; -; LAB clocks ; 29 / 312 ( 9 % ) ; -; LUT chains ; 139 / 10,854 ( 1 % ) ; -; Local interconnects ; 1,864 / 43,552 ( 4 % ) ; -; M4K buffers ; 64 / 1,872 ( 3 % ) ; -; R4s ; 1,504 / 28,560 ( 5 % ) ; -+----------------------------+------------------------+ ++------------------------------------------------------+ +; Interconnect Usage Summary ; ++----------------------------+-------------------------+ +; Interconnect Resource Type ; Usage ; ++----------------------------+-------------------------+ +; C4s ; 3,149 / 30,600 ( 10 % ) ; +; Direct links ; 169 / 43,552 ( < 1 % ) ; +; Global clocks ; 2 / 8 ( 25 % ) ; +; LAB clocks ; 64 / 312 ( 21 % ) ; +; LUT chains ; 152 / 10,854 ( 1 % ) ; +; Local interconnects ; 3,313 / 43,552 ( 8 % ) ; +; M4K buffers ; 96 / 1,872 ( 5 % ) ; +; R4s ; 3,533 / 28,560 ( 12 % ) ; ++----------------------------+-------------------------+ +----------------------------------------------------------------------------+ ; LAB Logic Elements ; +--------------------------------------------+-------------------------------+ -; Number of Logic Elements (Average = 9.53) ; Number of LABs (Total = 111) ; +; Number of Logic Elements (Average = 9.46) ; Number of LABs (Total = 174) ; +--------------------------------------------+-------------------------------+ -; 1 ; 3 ; -; 2 ; 2 ; -; 3 ; 0 ; -; 4 ; 0 ; -; 5 ; 0 ; +; 1 ; 4 ; +; 2 ; 0 ; +; 3 ; 2 ; +; 4 ; 2 ; +; 5 ; 1 ; ; 6 ; 0 ; -; 7 ; 1 ; -; 8 ; 1 ; -; 9 ; 4 ; -; 10 ; 100 ; +; 7 ; 2 ; +; 8 ; 7 ; +; 9 ; 7 ; +; 10 ; 149 ; +--------------------------------------------+-------------------------------+ +--------------------------------------------------------------------+ ; LAB-wide Signals ; +------------------------------------+-------------------------------+ -; LAB-wide Signals (Average = 1.49) ; Number of LABs (Total = 111) ; +; LAB-wide Signals (Average = 1.83) ; Number of LABs (Total = 174) ; +------------------------------------+-------------------------------+ -; 1 Async. clear ; 70 ; -; 1 Async. load ; 2 ; -; 1 Clock ; 72 ; -; 1 Clock enable ; 14 ; -; 1 Sync. clear ; 2 ; +; 1 Async. clear ; 126 ; +; 1 Async. load ; 1 ; +; 1 Clock ; 130 ; +; 1 Clock enable ; 39 ; +; 1 Sync. clear ; 4 ; ; 1 Sync. load ; 5 ; +; 2 Clock enables ; 14 ; +------------------------------------+-------------------------------+ +------------------------------------------------------------------------------+ ; LAB Signals Sourced ; +----------------------------------------------+-------------------------------+ -; Number of Signals Sourced (Average = 10.26) ; Number of LABs (Total = 111) ; +; Number of Signals Sourced (Average = 10.30) ; Number of LABs (Total = 174) ; +----------------------------------------------+-------------------------------+ ; 0 ; 0 ; -; 1 ; 3 ; -; 2 ; 2 ; -; 3 ; 0 ; -; 4 ; 0 ; -; 5 ; 0 ; +; 1 ; 4 ; +; 2 ; 0 ; +; 3 ; 2 ; +; 4 ; 2 ; +; 5 ; 1 ; ; 6 ; 0 ; -; 7 ; 0 ; -; 8 ; 0 ; -; 9 ; 5 ; -; 10 ; 60 ; -; 11 ; 19 ; -; 12 ; 13 ; -; 13 ; 4 ; +; 7 ; 2 ; +; 8 ; 5 ; +; 9 ; 7 ; +; 10 ; 87 ; +; 11 ; 30 ; +; 12 ; 16 ; +; 13 ; 6 ; ; 14 ; 5 ; +; 15 ; 3 ; +; 16 ; 1 ; +; 17 ; 3 ; +----------------------------------------------+-------------------------------+ +---------------------------------------------------------------------------------+ ; LAB Signals Sourced Out ; +-------------------------------------------------+-------------------------------+ -; Number of Signals Sourced Out (Average = 6.93) ; Number of LABs (Total = 111) ; +; Number of Signals Sourced Out (Average = 7.25) ; Number of LABs (Total = 174) ; +-------------------------------------------------+-------------------------------+ ; 0 ; 0 ; ; 1 ; 4 ; -; 2 ; 2 ; -; 3 ; 8 ; -; 4 ; 5 ; -; 5 ; 11 ; -; 6 ; 19 ; -; 7 ; 13 ; -; 8 ; 15 ; -; 9 ; 11 ; -; 10 ; 19 ; -; 11 ; 2 ; +; 2 ; 1 ; +; 3 ; 5 ; +; 4 ; 9 ; +; 5 ; 18 ; +; 6 ; 26 ; +; 7 ; 33 ; +; 8 ; 30 ; +; 9 ; 19 ; +; 10 ; 21 ; +; 11 ; 3 ; ; 12 ; 1 ; ; 13 ; 0 ; ; 14 ; 1 ; +; 15 ; 1 ; +; 16 ; 2 ; +-------------------------------------------------+-------------------------------+ +------------------------------------------------------------------------------+ ; LAB Distinct Inputs ; +----------------------------------------------+-------------------------------+ -; Number of Distinct Inputs (Average = 16.28) ; Number of LABs (Total = 111) ; +; Number of Distinct Inputs (Average = 16.75) ; Number of LABs (Total = 174) ; +----------------------------------------------+-------------------------------+ ; 0 ; 0 ; ; 1 ; 0 ; ; 2 ; 0 ; -; 3 ; 1 ; -; 4 ; 0 ; +; 3 ; 3 ; +; 4 ; 1 ; ; 5 ; 2 ; ; 6 ; 2 ; -; 7 ; 0 ; -; 8 ; 0 ; -; 9 ; 2 ; -; 10 ; 4 ; -; 11 ; 8 ; -; 12 ; 10 ; +; 7 ; 6 ; +; 8 ; 2 ; +; 9 ; 6 ; +; 10 ; 6 ; +; 11 ; 6 ; +; 12 ; 4 ; ; 13 ; 4 ; -; 14 ; 4 ; -; 15 ; 6 ; +; 14 ; 13 ; +; 15 ; 10 ; ; 16 ; 5 ; ; 17 ; 4 ; -; 18 ; 10 ; -; 19 ; 5 ; -; 20 ; 19 ; -; 21 ; 13 ; -; 22 ; 11 ; +; 18 ; 9 ; +; 19 ; 12 ; +; 20 ; 16 ; +; 21 ; 35 ; +; 22 ; 28 ; +----------------------------------------------+-------------------------------+ @@ -1117,7 +1493,7 @@ Note: Fitter may spread logical memories into multiple blocks to improve timing. Info: ******************************************************************* Info: Running Quartus II Fitter Info: Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition - Info: Processing started: Fri Dec 17 12:26:52 2010 + Info: Processing started: Sun Dec 19 20:36:27 2010 Info: Command: quartus_fit --read_settings_files=off --write_settings_files=off dt -c dt Info: Selected device EP1C12Q240C8 for design "dt" Info: Fitter is performing an Auto Fit compilation, which may decrease Fitter effort to reduce compilation time @@ -1127,6 +1503,36 @@ Info: Device migration not selected. If you intend to use device migration later Info: Fitter converted 2 user pins into dedicated programming pins Info: Pin ~nCSO~ is reserved at location 24 Info: Pin ~ASDO~ is reserved at location 37 +Critical Warning: No exact pin location assignment(s) for 29 pins of 32 total pins + Info: Pin sseg0[6] not assigned to an exact location on the device + Info: Pin sseg0[5] not assigned to an exact location on the device + Info: Pin sseg0[4] not assigned to an exact location on the device + Info: Pin sseg0[3] not assigned to an exact location on the device + Info: Pin sseg0[2] not assigned to an exact location on the device + Info: Pin sseg0[1] not assigned to an exact location on the device + Info: Pin sseg0[0] not assigned to an exact location on the device + Info: Pin sseg1[6] not assigned to an exact location on the device + Info: Pin sseg1[5] not assigned to an exact location on the device + Info: Pin sseg1[4] not assigned to an exact location on the device + Info: Pin sseg1[3] not assigned to an exact location on the device + Info: Pin sseg1[2] not assigned to an exact location on the device + Info: Pin sseg1[1] not assigned to an exact location on the device + Info: Pin sseg1[0] not assigned to an exact location on the device + Info: Pin sseg2[6] not assigned to an exact location on the device + Info: Pin sseg2[5] not assigned to an exact location on the device + Info: Pin sseg2[4] not assigned to an exact location on the device + Info: Pin sseg2[3] not assigned to an exact location on the device + Info: Pin sseg2[2] not assigned to an exact location on the device + Info: Pin sseg2[1] not assigned to an exact location on the device + Info: Pin sseg2[0] not assigned to an exact location on the device + Info: Pin sseg3[6] not assigned to an exact location on the device + Info: Pin sseg3[5] not assigned to an exact location on the device + Info: Pin sseg3[4] not assigned to an exact location on the device + Info: Pin sseg3[3] not assigned to an exact location on the device + Info: Pin sseg3[2] not assigned to an exact location on the device + Info: Pin sseg3[1] not assigned to an exact location on the device + Info: Pin sseg3[0] not assigned to an exact location on the device + Info: Pin bus_rx not assigned to an exact location on the device Info: Timing-driven compilation is using the Classic Timing Analyzer Warning: Classic Timing Analyzer will not be available in a future release of the Quartus II software. Use the TimeQuest Timing Analyzer to run timing analysis on your design. Convert all the project settings and the timing constraints to TimeQuest Timing Analyzer equivalents. Info: Timing requirements not specified -- quality metrics such as performance and power consumption may be sacrificed to reduce compilation time. @@ -1136,8 +1542,17 @@ Info: Completed User Assigned Global Signals Promotion Operation Info: DQS I/O pins require 0 global routing resources Info: Automatically promoted signal "sys_clk" to use Global clock in PIN 152 Info: Automatically promoted some destinations of signal "sys_res" to use Global clock - Info: Destination "execute_stage:exec_st|alu:alu_inst|\calc:cond_met~0" may be non-global or may not use global clock - Info: Destination "fetch_stage:fetch_st|instr_r_addr_nxt[6]~3" may be non-global or may not use global clock + Info: Destination "execute_stage:exec_st|alu:alu_inst|\calc:cond_met~1" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|new_rx_data" may be non-global or may not use global clock + Info: Destination "fetch_stage:fetch_st|instr_r_addr_nxt[0]~1" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[6]~0" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[5]~2" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[7]~4" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[4]~6" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[2]~8" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[1]~10" may be non-global or may not use global clock + Info: Destination "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|rx_data_int[3]~12" may be non-global or may not use global clock + Info: Limited to 10 non-global destinations Info: Pin "sys_res" drives global clock, but is not placed in a dedicated clock pin position Info: Completed Auto Global Promotion Operation Info: Starting register packing @@ -1147,6 +1562,15 @@ Info: Fitter is using Normal packing mode for logic elements with Auto setting f Extra Info: Moving registers into I/O cells, LUTs, and RAM blocks to improve timing and density Info: Finished moving registers into I/O cells, LUTs, and RAM blocks Info: Finished register packing +Info: Statistics of I/O pins that need to be placed that use the same VCCIO and VREF, before I/O pin placement + Info: Number of I/O pins in group: 29 (unused VREF, 3.3V VCCIO, 1 input, 28 output, 0 bidirectional) + Info: I/O standards used: 3.3-V LVCMOS. +Info: I/O bank details before I/O pin placement + Info: Statistics of I/O banks + Info: I/O bank number 1 does not use VREF pins and has undetermined VCCIO pins. 3 total pin(s) used -- 41 pins available + Info: I/O bank number 2 does not use VREF pins and has undetermined VCCIO pins. 0 total pin(s) used -- 42 pins available + Info: I/O bank number 3 does not use VREF pins and has 3.3V VCCIO pins. 2 total pin(s) used -- 43 pins available + Info: I/O bank number 4 does not use VREF pins and has undetermined VCCIO pins. 0 total pin(s) used -- 42 pins available Info: Design uses memory blocks. Violating setup or hold times of memory block address registers for either read or write operations could cause memory contents to be corrupted. Make sure that all memory block address registers meet the setup and hold time requirements. Info: Fitter preparation operations ending: elapsed time is 00:00:02 Info: Fitter placement preparation operations beginning @@ -1154,39 +1578,33 @@ Info: Fitter placement preparation operations ending: elapsed time is 00:00:00 Info: Fitter placement operations beginning Info: Fitter placement was successful Info: Fitter placement operations ending: elapsed time is 00:00:02 -Info: Estimated most critical path is memory to register delay of 21.050 ns - Info: 1: + IC(0.000 ns) + CELL(0.000 ns) = 0.000 ns; Loc. = M4K_X33_Y15; Fanout = 1; MEM Node = 'decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ram_block1a6~portb_address_reg2' - Info: 2: + IC(0.000 ns) + CELL(4.317 ns) = 4.317 ns; Loc. = M4K_X33_Y15; Fanout = 1; MEM Node = 'decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ram_block1a6' - Info: 3: + IC(1.222 ns) + CELL(0.442 ns) = 5.981 ns; Loc. = LAB_X38_Y16; Fanout = 1; COMB Node = 'execute_stage:exec_st|left_operand[6]~17' - Info: 4: + IC(0.063 ns) + CELL(0.590 ns) = 6.634 ns; Loc. = LAB_X38_Y16; Fanout = 4; COMB Node = 'execute_stage:exec_st|left_operand[6]~18' - Info: 5: + IC(0.117 ns) + CELL(0.590 ns) = 7.341 ns; Loc. = LAB_X38_Y16; Fanout = 9; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Selector101~0' - Info: 6: + IC(1.338 ns) + CELL(0.575 ns) = 9.254 ns; Loc. = LAB_X30_Y16; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~37COUT1_200' - Info: 7: + IC(0.000 ns) + CELL(0.080 ns) = 9.334 ns; Loc. = LAB_X30_Y16; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~27COUT1_202' - Info: 8: + IC(0.000 ns) + CELL(0.080 ns) = 9.414 ns; Loc. = LAB_X30_Y16; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~17COUT1_204' - Info: 9: + IC(0.000 ns) + CELL(0.080 ns) = 9.494 ns; Loc. = LAB_X30_Y16; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~32COUT1_206' - Info: 10: + IC(0.000 ns) + CELL(0.258 ns) = 9.752 ns; Loc. = LAB_X30_Y16; Fanout = 6; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~52' - Info: 11: + IC(0.000 ns) + CELL(0.136 ns) = 9.888 ns; Loc. = LAB_X30_Y16; Fanout = 6; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~87' - Info: 12: + IC(0.000 ns) + CELL(0.136 ns) = 10.024 ns; Loc. = LAB_X30_Y15; Fanout = 6; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~117' - Info: 13: + IC(0.000 ns) + CELL(0.679 ns) = 10.703 ns; Loc. = LAB_X30_Y15; Fanout = 3; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add1~120' - Info: 14: + IC(0.771 ns) + CELL(0.432 ns) = 11.906 ns; Loc. = LAB_X31_Y15; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[21]~122COUT1_219' - Info: 15: + IC(0.000 ns) + CELL(0.080 ns) = 11.986 ns; Loc. = LAB_X31_Y15; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[22]~127COUT1_221' - Info: 16: + IC(0.000 ns) + CELL(0.080 ns) = 12.066 ns; Loc. = LAB_X31_Y15; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[23]~132COUT1_223' - Info: 17: + IC(0.000 ns) + CELL(0.080 ns) = 12.146 ns; Loc. = LAB_X31_Y15; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[24]~137COUT1_225' - Info: 18: + IC(0.000 ns) + CELL(0.258 ns) = 12.404 ns; Loc. = LAB_X31_Y15; Fanout = 6; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[25]~142' - Info: 19: + IC(0.000 ns) + CELL(0.679 ns) = 13.083 ns; Loc. = LAB_X31_Y14; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|alu_result.result[28]~65' - Info: 20: + IC(1.640 ns) + CELL(0.114 ns) = 14.837 ns; Loc. = LAB_X36_Y12; Fanout = 1; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Selector46~0' - Info: 21: + IC(1.086 ns) + CELL(0.292 ns) = 16.215 ns; Loc. = LAB_X36_Y16; Fanout = 1; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Selector46~1' - Info: 22: + IC(0.752 ns) + CELL(0.590 ns) = 17.557 ns; Loc. = LAB_X36_Y15; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~3' - Info: 23: + IC(0.539 ns) + CELL(0.114 ns) = 18.210 ns; Loc. = LAB_X36_Y15; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~4' - Info: 24: + IC(0.063 ns) + CELL(0.590 ns) = 18.863 ns; Loc. = LAB_X36_Y15; Fanout = 5; COMB Node = 'writeback_stage:writeback_st|Equal0~8' - Info: 25: + IC(0.211 ns) + CELL(0.442 ns) = 19.516 ns; Loc. = LAB_X36_Y15; Fanout = 8; COMB Node = 'writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~0' - Info: 26: + IC(0.667 ns) + CELL(0.867 ns) = 21.050 ns; Loc. = LAB_X37_Y15; Fanout = 1; REG Node = 'writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[2]' - Info: Total cell delay = 12.581 ns ( 59.77 % ) - Info: Total interconnect delay = 8.469 ns ( 40.23 % ) +Info: Estimated most critical path is register to register delay of 23.818 ns + Info: 1: + IC(0.000 ns) + CELL(0.000 ns) = 0.000 ns; Loc. = LAB_X35_Y17; Fanout = 2; REG Node = 'writeback_stage:writeback_st|wb_reg.address[16]' + Info: 2: + IC(0.860 ns) + CELL(0.114 ns) = 0.974 ns; Loc. = LAB_X36_Y17; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~3' + Info: 3: + IC(1.490 ns) + CELL(0.114 ns) = 2.578 ns; Loc. = LAB_X29_Y17; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~4' + Info: 4: + IC(0.063 ns) + CELL(0.590 ns) = 3.231 ns; Loc. = LAB_X29_Y17; Fanout = 4; COMB Node = 'writeback_stage:writeback_st|Equal0~8' + Info: 5: + IC(0.211 ns) + CELL(0.442 ns) = 3.884 ns; Loc. = LAB_X29_Y17; Fanout = 27; COMB Node = 'writeback_stage:writeback_st|extension_uart:uart|gread~0' + Info: 6: + IC(1.564 ns) + CELL(0.590 ns) = 6.038 ns; Loc. = LAB_X27_Y12; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|regfile_val[17]~96' + Info: 7: + IC(1.633 ns) + CELL(0.114 ns) = 7.785 ns; Loc. = LAB_X22_Y15; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|regfile_val[17]~97' + Info: 8: + IC(1.653 ns) + CELL(0.114 ns) = 9.552 ns; Loc. = LAB_X27_Y12; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|regfile_val[17]~98' + Info: 9: + IC(0.361 ns) + CELL(0.292 ns) = 10.205 ns; Loc. = LAB_X27_Y12; Fanout = 6; COMB Node = 'writeback_stage:writeback_st|regfile_val[17]~99' + Info: 10: + IC(1.177 ns) + CELL(0.114 ns) = 11.496 ns; Loc. = LAB_X29_Y12; Fanout = 1; COMB Node = 'execute_stage:exec_st|right_operand[17]~64' + Info: 11: + IC(0.361 ns) + CELL(0.292 ns) = 12.149 ns; Loc. = LAB_X29_Y12; Fanout = 5; COMB Node = 'execute_stage:exec_st|right_operand[17]~65' + Info: 12: + IC(1.889 ns) + CELL(0.114 ns) = 14.152 ns; Loc. = LAB_X36_Y11; Fanout = 3; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add0~176' + Info: 13: + IC(1.431 ns) + CELL(0.575 ns) = 16.158 ns; Loc. = LAB_X31_Y13; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add0~78COUT1_259' + Info: 14: + IC(0.000 ns) + CELL(0.080 ns) = 16.238 ns; Loc. = LAB_X31_Y13; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add0~73COUT1_261' + Info: 15: + IC(0.000 ns) + CELL(0.608 ns) = 16.846 ns; Loc. = LAB_X31_Y13; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add0~66' + Info: 16: + IC(1.416 ns) + CELL(0.590 ns) = 18.852 ns; Loc. = LAB_X23_Y12; Fanout = 1; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Selector12~2' + Info: 17: + IC(0.063 ns) + CELL(0.590 ns) = 19.505 ns; Loc. = LAB_X23_Y12; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Selector12~5' + Info: 18: + IC(0.752 ns) + CELL(0.590 ns) = 20.847 ns; Loc. = LAB_X23_Y11; Fanout = 1; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Equal0~1' + Info: 19: + IC(1.563 ns) + CELL(0.590 ns) = 23.000 ns; Loc. = LAB_X28_Y18; Fanout = 1; COMB Node = 'execute_stage:exec_st|alu:alu_inst|Equal0~2' + Info: 20: + IC(0.211 ns) + CELL(0.607 ns) = 23.818 ns; Loc. = LAB_X28_Y18; Fanout = 1; REG Node = 'execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero' + Info: Total cell delay = 7.120 ns ( 29.89 % ) + Info: Total interconnect delay = 16.698 ns ( 70.11 % ) Info: Fitter routing operations beginning -Info: Router estimated average interconnect usage is 4% of the available device resources - Info: Router estimated peak interconnect usage is 14% of the available device resources in the region that extends from location X32_Y14 to location X42_Y27 -Info: Fitter routing operations ending: elapsed time is 00:00:04 +Info: Router estimated average interconnect usage is 9% of the available device resources + Info: Router estimated peak interconnect usage is 35% of the available device resources in the region that extends from location X21_Y14 to location X31_Y27 +Info: Fitter routing operations ending: elapsed time is 00:00:05 Info: The Fitter performed an Auto Fit compilation. Optimizations were skipped to reduce compilation time. Info: Optimizations that may affect the design's routability were skipped Info: Optimizations that may affect the design's timing were skipped @@ -1195,10 +1613,10 @@ Info: Started post-fitting delay annotation Info: Delay annotation completed successfully Info: Completed Auto Delay Chain Operation Info: Design uses memory blocks. Violating setup or hold times of memory block address registers for either read or write operations could cause memory contents to be corrupted. Make sure that all memory block address registers meet the setup and hold time requirements. -Info: Quartus II Fitter was successful. 0 errors, 2 warnings - Info: Peak virtual memory: 269 megabytes - Info: Processing ended: Fri Dec 17 12:27:11 2010 - Info: Elapsed time: 00:00:19 - Info: Total CPU time (on all processors): 00:00:19 +Info: Quartus II Fitter was successful. 0 errors, 3 warnings + Info: Peak virtual memory: 272 megabytes + Info: Processing ended: Sun Dec 19 20:36:45 2010 + Info: Elapsed time: 00:00:18 + Info: Total CPU time (on all processors): 00:00:16 diff --git a/dt/dt.fit.summary b/dt/dt.fit.summary index f616063..31f5417 100644 --- a/dt/dt.fit.summary +++ b/dt/dt.fit.summary @@ -1,12 +1,12 @@ -Fitter Status : Successful - Fri Dec 17 12:27:10 2010 +Fitter Status : Successful - Sun Dec 19 20:36:44 2010 Quartus II Version : 10.0 Build 262 08/18/2010 SP 1 SJ Web Edition Revision Name : dt Top-level Entity Name : core_top Family : Cyclone Device : EP1C12Q240C8 Timing Models : Final -Total logic elements : 1,058 / 12,060 ( 9 % ) -Total pins : 3 / 173 ( 2 % ) +Total logic elements : 1,646 / 12,060 ( 14 % ) +Total pins : 32 / 173 ( 18 % ) Total virtual pins : 0 -Total memory bits : 512 / 239,616 ( < 1 % ) +Total memory bits : 66,560 / 239,616 ( 28 % ) Total PLLs : 0 / 2 ( 0 % ) diff --git a/dt/dt.flow.rpt b/dt/dt.flow.rpt index 53ee143..7d6f887 100644 --- a/dt/dt.flow.rpt +++ b/dt/dt.flow.rpt @@ -1,5 +1,5 @@ Flow report for dt -Fri Dec 17 12:27:19 2010 +Sun Dec 19 20:36:51 2010 Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition @@ -38,7 +38,7 @@ applicable agreement for further details. +-------------------------------------------------------------------------+ ; Flow Summary ; +-------------------------+-----------------------------------------------+ -; Flow Status ; Successful - Fri Dec 17 12:27:18 2010 ; +; Flow Status ; Successful - Sun Dec 19 20:36:51 2010 ; ; Quartus II Version ; 10.0 Build 262 08/18/2010 SP 1 SJ Web Edition ; ; Revision Name ; dt ; ; Top-level Entity Name ; core_top ; @@ -46,10 +46,10 @@ applicable agreement for further details. ; Device ; EP1C12Q240C8 ; ; Timing Models ; Final ; ; Met timing requirements ; Yes ; -; Total logic elements ; 1,058 / 12,060 ( 9 % ) ; -; Total pins ; 3 / 173 ( 2 % ) ; +; Total logic elements ; 1,646 / 12,060 ( 14 % ) ; +; Total pins ; 32 / 173 ( 18 % ) ; ; Total virtual pins ; 0 ; -; Total memory bits ; 512 / 239,616 ( < 1 % ) ; +; Total memory bits ; 66,560 / 239,616 ( 28 % ) ; ; Total PLLs ; 0 / 2 ( 0 % ) ; +-------------------------+-----------------------------------------------+ @@ -59,7 +59,7 @@ applicable agreement for further details. +-------------------+---------------------+ ; Option ; Setting ; +-------------------+---------------------+ -; Start date & time ; 12/17/2010 12:26:26 ; +; Start date & time ; 12/19/2010 20:36:12 ; ; Main task ; Compilation ; ; Revision Name ; dt ; +-------------------+---------------------+ @@ -70,7 +70,7 @@ applicable agreement for further details. +-------------------------------------+--------------------------------+---------------+-------------+------------+ ; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; +-------------------------------------+--------------------------------+---------------+-------------+------------+ -; COMPILER_SIGNATURE_ID ; 91815333562.129258518625184 ; -- ; -- ; -- ; +; COMPILER_SIGNATURE_ID ; 99901343620.129278737205529 ; -- ; -- ; -- ; ; MISC_FILE ; /homes/burban/dt/dt.dpf ; -- ; -- ; -- ; ; MISC_FILE ; /homes/c0726283/calu/dt/dt.dpf ; -- ; -- ; -- ; ; PARTITION_COLOR ; 16764057 ; -- ; core_top ; Top ; @@ -85,24 +85,24 @@ applicable agreement for further details. +-------------------------+--------------+-------------------------+---------------------+------------------------------------+ ; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; +-------------------------+--------------+-------------------------+---------------------+------------------------------------+ -; Analysis & Synthesis ; 00:00:23 ; 1.0 ; -- ; 00:00:21 ; -; Fitter ; 00:00:18 ; 1.0 ; -- ; 00:00:18 ; -; Assembler ; 00:00:03 ; 1.0 ; -- ; 00:00:02 ; -; Classic Timing Analyzer ; 00:00:00 ; 1.0 ; -- ; 00:00:01 ; -; Total ; 00:00:44 ; -- ; -- ; 00:00:42 ; +; Analysis & Synthesis ; 00:00:13 ; 1.0 ; -- ; 00:00:12 ; +; Fitter ; 00:00:17 ; 1.0 ; -- ; 00:00:15 ; +; Assembler ; 00:00:01 ; 1.0 ; -- ; 00:00:01 ; +; Classic Timing Analyzer ; 00:00:01 ; 1.0 ; -- ; 00:00:01 ; +; Total ; 00:00:32 ; -- ; -- ; 00:00:29 ; +-------------------------+--------------+-------------------------+---------------------+------------------------------------+ -+------------------------------------------------------------------------------------+ -; Flow OS Summary ; -+-------------------------+------------------+---------+------------+----------------+ -; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; -+-------------------------+------------------+---------+------------+----------------+ -; Analysis & Synthesis ; ti9 ; Red Hat ; 5 ; x86_64 ; -; Fitter ; ti9 ; Red Hat ; 5 ; x86_64 ; -; Assembler ; ti9 ; Red Hat ; 5 ; x86_64 ; -; Classic Timing Analyzer ; ti9 ; Red Hat ; 5 ; x86_64 ; -+-------------------------+------------------+---------+------------+----------------+ ++-------------------------------------------------------------------------------------------+ +; Flow OS Summary ; ++-------------------------+------------------+----------------+------------+----------------+ +; Module Name ; Machine Hostname ; OS Name ; OS Version ; Processor type ; ++-------------------------+------------------+----------------+------------+----------------+ +; Analysis & Synthesis ; ubuntu ; Ubuntu 10.04.1 ; 10 ; x86_64 ; +; Fitter ; ubuntu ; Ubuntu 10.04.1 ; 10 ; x86_64 ; +; Assembler ; ubuntu ; Ubuntu 10.04.1 ; 10 ; x86_64 ; +; Classic Timing Analyzer ; ubuntu ; Ubuntu 10.04.1 ; 10 ; x86_64 ; ++-------------------------+------------------+----------------+------------+----------------+ ------------ diff --git a/dt/dt.map.rpt b/dt/dt.map.rpt index a9e4e1a..3cada42 100644 --- a/dt/dt.map.rpt +++ b/dt/dt.map.rpt @@ -1,5 +1,5 @@ Analysis & Synthesis report for dt -Fri Dec 17 12:26:49 2010 +Sun Dec 19 20:36:26 2010 Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition @@ -22,33 +22,34 @@ Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition 14. Inverted Register Statistics 15. Registers Packed Into Inferred Megafunctions 16. Multiplexer Restructuring Statistics (Restructuring Performed) - 17. Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated + 17. Source assignments for writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated 18. Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated - 19. Parameter Settings for User Entity Instance: fetch_stage:fetch_st - 20. Parameter Settings for User Entity Instance: fetch_stage:fetch_st|r_w_ram:instruction_ram - 21. Parameter Settings for User Entity Instance: decode_stage:decode_st - 22. Parameter Settings for User Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram - 23. Parameter Settings for User Entity Instance: execute_stage:exec_st - 24. Parameter Settings for User Entity Instance: execute_stage:exec_st|extension_gpm:gpmp_inst - 25. Parameter Settings for User Entity Instance: writeback_stage:writeback_st - 26. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|r_w_ram:data_ram - 27. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart - 28. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst - 29. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst - 30. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 - 31. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 - 32. altsyncram Parameter Settings by Entity Instance - 33. Port Connectivity Checks: "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst" - 34. Port Connectivity Checks: "writeback_stage:writeback_st|extension_uart:uart" - 35. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst" - 36. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:xor_inst" - 37. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:or_inst" - 38. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:and_inst" - 39. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:add_inst" - 40. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst" - 41. Port Connectivity Checks: "execute_stage:exec_st" - 42. Port Connectivity Checks: "decode_stage:decode_st|decoder:decoder_inst" - 43. Analysis & Synthesis Messages + 19. Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated + 20. Parameter Settings for User Entity Instance: fetch_stage:fetch_st + 21. Parameter Settings for User Entity Instance: fetch_stage:fetch_st|rom:instruction_ram + 22. Parameter Settings for User Entity Instance: decode_stage:decode_st + 23. Parameter Settings for User Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram + 24. Parameter Settings for User Entity Instance: execute_stage:exec_st + 25. Parameter Settings for User Entity Instance: execute_stage:exec_st|extension_gpm:gpmp_inst + 26. Parameter Settings for User Entity Instance: writeback_stage:writeback_st + 27. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|r_w_ram:data_ram + 28. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart + 29. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst + 30. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst + 31. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_7seg:sseg + 32. Parameter Settings for Inferred Entity Instance: writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0 + 33. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 + 34. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2 + 35. altsyncram Parameter Settings by Entity Instance + 36. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst" + 37. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:xor_inst" + 38. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:or_inst" + 39. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:and_inst" + 40. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:add_inst" + 41. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst" + 42. Port Connectivity Checks: "execute_stage:exec_st" + 43. Port Connectivity Checks: "decode_stage:decode_st|decoder:decoder_inst" + 44. Analysis & Synthesis Messages @@ -74,15 +75,15 @@ applicable agreement for further details. +-----------------------------------------------------------------------------+ ; Analysis & Synthesis Summary ; +-----------------------------+-----------------------------------------------+ -; Analysis & Synthesis Status ; Successful - Fri Dec 17 12:26:49 2010 ; +; Analysis & Synthesis Status ; Successful - Sun Dec 19 20:36:26 2010 ; ; Quartus II Version ; 10.0 Build 262 08/18/2010 SP 1 SJ Web Edition ; ; Revision Name ; dt ; ; Top-level Entity Name ; core_top ; ; Family ; Cyclone ; -; Total logic elements ; 1,143 ; -; Total pins ; 3 ; +; Total logic elements ; 1,879 ; +; Total pins ; 32 ; ; Total virtual pins ; 0 ; -; Total memory bits ; 512 ; +; Total memory bits ; 66,560 ; ; Total PLLs ; 0 ; +-----------------------------+-----------------------------------------------+ @@ -176,52 +177,59 @@ Parallel compilation was disabled, but you have multiple processors available. E +----------------------------+--------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Source Files Read ; -+--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ -; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; -+--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ -; ../cpu/src/rs232_rx_arc.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/rs232_rx_arc.vhd ; -; ../cpu/src/rs232_rx.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/rs232_rx.vhd ; -; ../cpu/src/writeback_stage_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/writeback_stage_b.vhd ; -; ../cpu/src/writeback_stage.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/writeback_stage.vhd ; -; ../cpu/src/rs232_tx_arc.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/rs232_tx_arc.vhd ; -; ../cpu/src/rs232_tx.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/rs232_tx.vhd ; -; ../cpu/src/r_w_ram_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/r_w_ram_b.vhd ; -; ../cpu/src/r_w_ram.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/r_w_ram.vhd ; -; ../cpu/src/r2_w_ram_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/r2_w_ram_b.vhd ; -; ../cpu/src/r2_w_ram.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/r2_w_ram.vhd ; -; ../cpu/src/mem_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/mem_pkg.vhd ; -; ../cpu/src/fetch_stage_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/fetch_stage_b.vhd ; -; ../cpu/src/fetch_stage.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/fetch_stage.vhd ; -; ../cpu/src/extension_uart_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension_uart_pkg.vhd ; -; ../cpu/src/extension_uart_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension_uart_b.vhd ; -; ../cpu/src/extension_uart.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension_uart.vhd ; -; ../cpu/src/extension_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension_pkg.vhd ; -; ../cpu/src/extension_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension_b.vhd ; -; ../cpu/src/extension.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/extension.vhd ; -; ../cpu/src/execute_stage_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/execute_stage_b.vhd ; -; ../cpu/src/execute_stage.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/execute_stage.vhd ; -; ../cpu/src/exec_op.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op.vhd ; -; ../cpu/src/decoder_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/decoder_b.vhd ; -; ../cpu/src/decoder.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/decoder.vhd ; -; ../cpu/src/decode_stage_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/decode_stage_b.vhd ; -; ../cpu/src/decode_stage.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/decode_stage.vhd ; -; ../cpu/src/core_top.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/core_top.vhd ; -; ../cpu/src/core_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/core_pkg.vhd ; -; ../cpu/src/common_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/common_pkg.vhd ; -; ../cpu/src/alu_pkg.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/alu_pkg.vhd ; -; ../cpu/src/alu_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/alu_b.vhd ; -; ../cpu/src/alu.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/alu.vhd ; -; ../cpu/src/exec_op/xor_op_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op/xor_op_b.vhd ; -; ../cpu/src/exec_op/shift_op_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op/shift_op_b.vhd ; -; ../cpu/src/exec_op/or_op_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op/or_op_b.vhd ; -; ../cpu/src/exec_op/and_op_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op/and_op_b.vhd ; -; ../cpu/src/exec_op/add_op_b.vhd ; yes ; User VHDL File ; /homes/c0726283/calu/cpu/src/exec_op/add_op_b.vhd ; -; altsyncram.tdf ; yes ; Megafunction ; /opt/altera/10.0sp1/quartus/libraries/megafunctions/altsyncram.tdf ; -; db/altsyncram_emk1.tdf ; yes ; Auto-Generated Megafunction ; /homes/c0726283/calu/dt/db/altsyncram_emk1.tdf ; -; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; yes ; Auto-Generated Auto-Found Memory Initialization File ; /homes/c0726283/calu/dt/db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; -+--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++--------------------------------------+-----------------+-------------------------------------------------------+---------------------------------------------------------------------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; ++--------------------------------------+-----------------+-------------------------------------------------------+---------------------------------------------------------------------+ +; ../cpu/src/rom.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rom.vhd ; +; ../cpu/src/rom_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rom_b.vhd ; +; ../cpu/src/extension_7seg_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_7seg_pkg.vhd ; +; ../cpu/src/extension_7seg_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_7seg_b.vhd ; +; ../cpu/src/extension_7seg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_7seg.vhd ; +; ../cpu/src/rs232_rx_arc.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rs232_rx_arc.vhd ; +; ../cpu/src/rs232_rx.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rs232_rx.vhd ; +; ../cpu/src/writeback_stage_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/writeback_stage_b.vhd ; +; ../cpu/src/writeback_stage.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/writeback_stage.vhd ; +; ../cpu/src/rs232_tx_arc.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rs232_tx_arc.vhd ; +; ../cpu/src/rs232_tx.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/rs232_tx.vhd ; +; ../cpu/src/r_w_ram_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/r_w_ram_b.vhd ; +; ../cpu/src/r_w_ram.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/r_w_ram.vhd ; +; ../cpu/src/r2_w_ram_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/r2_w_ram_b.vhd ; +; ../cpu/src/r2_w_ram.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/r2_w_ram.vhd ; +; ../cpu/src/mem_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/mem_pkg.vhd ; +; ../cpu/src/fetch_stage_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/fetch_stage_b.vhd ; +; ../cpu/src/fetch_stage.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/fetch_stage.vhd ; +; ../cpu/src/extension_uart_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_uart_pkg.vhd ; +; ../cpu/src/extension_uart_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_uart_b.vhd ; +; ../cpu/src/extension_uart.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_uart.vhd ; +; ../cpu/src/extension_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_pkg.vhd ; +; ../cpu/src/extension_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension_b.vhd ; +; ../cpu/src/extension.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/extension.vhd ; +; ../cpu/src/execute_stage_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/execute_stage_b.vhd ; +; ../cpu/src/execute_stage.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/execute_stage.vhd ; +; ../cpu/src/exec_op.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op.vhd ; +; ../cpu/src/decoder_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/decoder_b.vhd ; +; ../cpu/src/decoder.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/decoder.vhd ; +; ../cpu/src/decode_stage_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/decode_stage_b.vhd ; +; ../cpu/src/decode_stage.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/decode_stage.vhd ; +; ../cpu/src/core_top.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/core_top.vhd ; +; ../cpu/src/core_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/core_pkg.vhd ; +; ../cpu/src/common_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/common_pkg.vhd ; +; ../cpu/src/alu_pkg.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/alu_pkg.vhd ; +; ../cpu/src/alu_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/alu_b.vhd ; +; ../cpu/src/alu.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/alu.vhd ; +; ../cpu/src/exec_op/xor_op_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op/xor_op_b.vhd ; +; ../cpu/src/exec_op/shift_op_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op/shift_op_b.vhd ; +; ../cpu/src/exec_op/or_op_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op/or_op_b.vhd ; +; ../cpu/src/exec_op/and_op_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op/and_op_b.vhd ; +; ../cpu/src/exec_op/add_op_b.vhd ; yes ; User VHDL File ; /home/stefan/processor/calu/cpu/src/exec_op/add_op_b.vhd ; +; altsyncram.tdf ; yes ; Megafunction ; /opt/altera/10.0sp1/quartus/libraries/megafunctions/altsyncram.tdf ; +; db/altsyncram_grk1.tdf ; yes ; Auto-Generated Megafunction ; /home/stefan/processor/calu/dt/db/altsyncram_grk1.tdf ; +; db/dt.ram0_r_w_ram_1e9198d1.hdl.mif ; yes ; Auto-Generated Auto-Found Memory Initialization File ; /home/stefan/processor/calu/dt/db/dt.ram0_r_w_ram_1e9198d1.hdl.mif ; +; db/altsyncram_emk1.tdf ; yes ; Auto-Generated Megafunction ; /home/stefan/processor/calu/dt/db/altsyncram_emk1.tdf ; +; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; yes ; Auto-Generated Auto-Found Memory Initialization File ; /home/stefan/processor/calu/dt/db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; ++--------------------------------------+-----------------+-------------------------------------------------------+---------------------------------------------------------------------+ +-------------------------------------------------------+ @@ -229,74 +237,78 @@ Parallel compilation was disabled, but you have multiple processors available. E +---------------------------------------------+---------+ ; Resource ; Usage ; +---------------------------------------------+---------+ -; Total logic elements ; 1143 ; -; -- Combinational with no register ; 928 ; -; -- Register only ; 85 ; -; -- Combinational with a register ; 130 ; +; Total logic elements ; 1879 ; +; -- Combinational with no register ; 1359 ; +; -- Register only ; 259 ; +; -- Combinational with a register ; 261 ; ; ; ; ; Logic element usage by number of LUT inputs ; ; -; -- 4 input functions ; 473 ; -; -- 3 input functions ; 443 ; -; -- 2 input functions ; 123 ; -; -- 1 input functions ; 18 ; -; -- 0 input functions ; 1 ; +; -- 4 input functions ; 827 ; +; -- 3 input functions ; 474 ; +; -- 2 input functions ; 292 ; +; -- 1 input functions ; 27 ; +; -- 0 input functions ; 0 ; ; ; ; ; Logic elements by mode ; ; -; -- normal mode ; 937 ; -; -- arithmetic mode ; 206 ; +; -- normal mode ; 1703 ; +; -- arithmetic mode ; 176 ; ; -- qfbk mode ; 0 ; ; -- register cascade mode ; 0 ; -; -- synchronous clear/load mode ; 7 ; -; -- asynchronous clear/load mode ; 203 ; +; -- synchronous clear/load mode ; 57 ; +; -- asynchronous clear/load mode ; 492 ; ; ; ; -; Total registers ; 215 ; -; Total logic cells in carry chains ; 214 ; -; I/O pins ; 3 ; -; Total memory bits ; 512 ; +; Total registers ; 520 ; +; Total logic cells in carry chains ; 184 ; +; I/O pins ; 32 ; +; Total memory bits ; 66560 ; ; Maximum fan-out node ; sys_clk ; -; Maximum fan-out ; 279 ; -; Total fan-out ; 4464 ; -; Average fan-out ; 3.69 ; +; Maximum fan-out ; 616 ; +; Total fan-out ; 8075 ; +; Average fan-out ; 4.02 ; +---------------------------------------------+---------+ -+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis Resource Utilization by Entity ; -+----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ -; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; Memory Bits ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Library Name ; -+----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ -; |core_top ; 1143 (1) ; 215 ; 512 ; 3 ; 0 ; 928 (1) ; 85 (0) ; 130 (0) ; 214 (0) ; 0 (0) ; |core_top ; ; -; |decode_stage:decode_st| ; 106 (99) ; 72 ; 512 ; 0 ; 0 ; 34 (27) ; 51 (51) ; 21 (21) ; 11 (11) ; 0 (0) ; |core_top|decode_stage:decode_st ; ; -; |decoder:decoder_inst| ; 7 (7) ; 0 ; 0 ; 0 ; 0 ; 7 (7) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|decoder:decoder_inst ; ; -; |r2_w_ram:register_ram| ; 0 (0) ; 0 ; 512 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram ; ; -; |altsyncram:ram_rtl_0| ; 0 (0) ; 0 ; 256 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 ; ; -; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 256 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated ; ; -; |altsyncram:ram_rtl_1| ; 0 (0) ; 0 ; 256 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; ; -; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 256 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; ; -; |execute_stage:exec_st| ; 831 (185) ; 67 ; 0 ; 0 ; 0 ; 764 (149) ; 20 (1) ; 47 (35) ; 171 (0) ; 0 (0) ; |core_top|execute_stage:exec_st ; ; -; |alu:alu_inst| ; 581 (259) ; 0 ; 0 ; 0 ; 0 ; 581 (259) ; 0 (0) ; 0 (0) ; 141 (43) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; -; |exec_op:add_inst| ; 100 (100) ; 0 ; 0 ; 0 ; 0 ; 100 (100) ; 0 (0) ; 0 (0) ; 98 (98) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; -; |exec_op:or_inst| ; 14 (14) ; 0 ; 0 ; 0 ; 0 ; 14 (14) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:or_inst ; ; -; |exec_op:shift_inst| ; 208 (208) ; 0 ; 0 ; 0 ; 0 ; 208 (208) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst ; ; -; |extension_gpm:gpmp_inst| ; 65 (65) ; 31 ; 0 ; 0 ; 0 ; 34 (34) ; 19 (19) ; 12 (12) ; 30 (30) ; 0 (0) ; |core_top|execute_stage:exec_st|extension_gpm:gpmp_inst ; ; -; |fetch_stage:fetch_st| ; 39 (30) ; 17 ; 0 ; 0 ; 0 ; 22 (19) ; 11 (11) ; 6 (0) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; -; |r_w_ram:instruction_ram| ; 9 (9) ; 6 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 6 (6) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|r_w_ram:instruction_ram ; ; -; |writeback_stage:writeback_st| ; 166 (49) ; 59 ; 0 ; 0 ; 0 ; 107 (45) ; 3 (1) ; 56 (3) ; 32 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st ; ; -; |extension_uart:uart| ; 108 (14) ; 49 ; 0 ; 0 ; 0 ; 59 (4) ; 2 (2) ; 47 (8) ; 32 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart ; ; -; |rs232_tx:rs232_tx_inst| ; 94 (94) ; 39 ; 0 ; 0 ; 0 ; 55 (55) ; 0 (0) ; 39 (39) ; 32 (32) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst ; ; -; |r_w_ram:data_ram| ; 9 (9) ; 6 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 6 (6) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram ; ; -+----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Resource Utilization by Entity ; ++----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ +; Compilation Hierarchy Node ; Logic Cells ; LC Registers ; Memory Bits ; Pins ; Virtual Pins ; LUT-Only LCs ; Register-Only LCs ; LUT/Register LCs ; Carry Chain LCs ; Packed LCs ; Full Hierarchy Name ; Library Name ; ++----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ +; |core_top ; 1879 (0) ; 520 ; 66560 ; 32 ; 0 ; 1359 (0) ; 259 (0) ; 261 (0) ; 184 (0) ; 0 (0) ; |core_top ; ; +; |decode_stage:decode_st| ; 220 (153) ; 106 ; 1024 ; 0 ; 0 ; 114 (47) ; 54 (54) ; 52 (52) ; 11 (11) ; 0 (0) ; |core_top|decode_stage:decode_st ; ; +; |decoder:decoder_inst| ; 67 (67) ; 0 ; 0 ; 0 ; 0 ; 67 (67) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|decoder:decoder_inst ; ; +; |r2_w_ram:register_ram| ; 0 (0) ; 0 ; 1024 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram ; ; +; |altsyncram:ram_rtl_1| ; 0 (0) ; 0 ; 512 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; ; +; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 512 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; ; +; |altsyncram:ram_rtl_2| ; 0 (0) ; 0 ; 512 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2 ; ; +; |altsyncram_emk1:auto_generated| ; 0 (0) ; 0 ; 512 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated ; ; +; |execute_stage:exec_st| ; 940 (175) ; 71 ; 0 ; 0 ; 0 ; 869 (136) ; 23 (4) ; 48 (35) ; 108 (0) ; 0 (0) ; |core_top|execute_stage:exec_st ; ; +; |alu:alu_inst| ; 703 (387) ; 0 ; 0 ; 0 ; 0 ; 703 (387) ; 0 (0) ; 0 (0) ; 78 (44) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; +; |exec_op:add_inst| ; 67 (67) ; 0 ; 0 ; 0 ; 0 ; 67 (67) ; 0 (0) ; 0 (0) ; 34 (34) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; +; |exec_op:shift_inst| ; 249 (249) ; 0 ; 0 ; 0 ; 0 ; 249 (249) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst ; ; +; |extension_gpm:gpmp_inst| ; 62 (62) ; 32 ; 0 ; 0 ; 0 ; 30 (30) ; 19 (19) ; 13 (13) ; 30 (30) ; 0 (0) ; |core_top|execute_stage:exec_st|extension_gpm:gpmp_inst ; ; +; |fetch_stage:fetch_st| ; 55 (34) ; 29 ; 0 ; 0 ; 0 ; 26 (23) ; 11 (11) ; 18 (0) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; +; |rom:instruction_ram| ; 21 (21) ; 18 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 18 (18) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|rom:instruction_ram ; ; +; |writeback_stage:writeback_st| ; 664 (247) ; 314 ; 65536 ; 0 ; 0 ; 350 (183) ; 171 (45) ; 143 (19) ; 65 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st ; ; +; |extension_7seg:sseg| ; 48 (48) ; 47 ; 0 ; 0 ; 0 ; 1 (1) ; 18 (18) ; 29 (29) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_7seg:sseg ; ; +; |extension_uart:uart| ; 369 (145) ; 203 ; 0 ; 0 ; 0 ; 166 (39) ; 108 (98) ; 95 (8) ; 65 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart ; ; +; |rs232_rx:rs232_rx_inst| ; 160 (160) ; 73 ; 0 ; 0 ; 0 ; 87 (87) ; 10 (10) ; 63 (63) ; 48 (48) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst ; ; +; |rs232_tx:rs232_tx_inst| ; 64 (64) ; 24 ; 0 ; 0 ; 0 ; 40 (40) ; 0 (0) ; 24 (24) ; 17 (17) ; 0 (0) ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst ; ; +; |r_w_ram:data_ram| ; 0 (0) ; 0 ; 65536 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram ; ; +; |altsyncram:ram_rtl_0| ; 0 (0) ; 0 ; 65536 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0 ; ; +; |altsyncram_grk1:auto_generated| ; 0 (0) ; 0 ; 65536 ; 0 ; 0 ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated ; ; ++----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+-------------------------------------------------------------------------------------------------------------+--------------+ Note: For table entries with two numbers listed, the numbers in parentheses indicate the number of resources of the given type used by the specific entity alone. The numbers listed outside of parentheses indicate the total resources of the given type used by the specific entity and all of its sub-entities in the hierarchy. -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Analysis & Synthesis RAM Summary ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+------+--------------------------------------+ -; Name ; Type ; Mode ; Port A Depth ; Port A Width ; Port B Depth ; Port B Width ; Size ; MIF ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+------+--------------------------------------+ -; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; 16 ; 32 ; 16 ; 32 ; 512 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; -; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; 16 ; 32 ; 16 ; 32 ; 512 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; -+-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+------+--------------------------------------+ ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis RAM Summary ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+-------+--------------------------------------+ +; Name ; Type ; Mode ; Port A Depth ; Port A Width ; Port B Depth ; Port B Width ; Size ; MIF ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+-------+--------------------------------------+ +; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; 16 ; 32 ; 16 ; 32 ; 512 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; +; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; 16 ; 32 ; 16 ; 32 ; 512 ; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; +; writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated|ALTSYNCRAM ; AUTO ; Simple Dual Port ; 2048 ; 32 ; 2048 ; 32 ; 65536 ; db/dt.ram0_r_w_ram_1e9198d1.hdl.mif ; ++--------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+-------+--------------------------------------+ Encoding Type: One-Hot @@ -330,221 +342,143 @@ Encoding Type: One-Hot +--------------------------------+--------------------------------+-----------------------------+------------------------------+-------------------------------+-----------------------------+----------------------------+-----------------------------+--------------------------------+ -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Registers Removed During Synthesis ; -+------------------------------------------------------------------------------------------+------------------------------------------------------------------------+ -; Register name ; Reason for Removal ; -+------------------------------------------------------------------------------------------+------------------------------------------------------------------------+ -; writeback_stage:writeback_st|bus_rx ; Stuck at VCC due to stuck port data_in ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|bus_rx_int ; Lost fanout ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[29..31] ; Stuck at VCC due to stuck port data_in ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[28] ; Stuck at GND due to stuck port data_in ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[24] ; Stuck at VCC due to stuck port data_in ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[0,2,5,8,10..15,17..18,20,22] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.prog_cnt[11..31] ; Stuck at GND due to stuck port data_in ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[29..31] ; Stuck at VCC due to stuck port data_in ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[28] ; Stuck at GND due to stuck port data_in ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[24] ; Stuck at VCC due to stuck port data_in ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[0,2,5,8,10..15,17..18,20,22] ; Stuck at GND due to stuck port data_in ; -; writeback_stage:writeback_st|wb_reg.hword ; Stuck at GND due to stuck port data_in ; -; writeback_stage:writeback_st|wb_reg.byte_s ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.condition[1..3] ; Stuck at VCC due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.op_detail[5] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.displacement[0,2,5,8,10..31] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.saddr1[3] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.saddr2[1,3] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|dec_op_inst.daddr[1,3] ; Stuck at GND due to stuck port data_in ; -; execute_stage:exec_st|reg.res_addr[1,3] ; Stuck at GND due to stuck port data_in ; -; decode_stage:decode_st|rtw_rec.immediate[5,7..8,10..11,15] ; Stuck at GND due to stuck port data_in ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][29] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][28] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][27] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][26] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][25] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][24] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][23] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][22] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][21] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][20] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][19] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][18] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][17] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][16] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][15] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][14] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][13] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][12] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][11] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][10] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][9] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][8] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][7] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][6] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][5] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][4] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][3] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][2] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][1] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][0] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][29] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][28] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][27] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][26] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][25] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][24] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][23] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][22] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][21] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][20] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][19] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][18] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][17] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][16] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][15] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][14] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][13] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][12] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][11] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][10] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][9] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][8] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][7] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][6] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][5] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][4] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][3] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][2] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][1] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][0] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][29] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][28] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][27] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][26] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][25] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][24] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][23] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][22] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][21] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][20] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][19] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][18] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][17] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][16] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][15] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][14] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][13] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][12] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][11] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][10] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][9] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][8] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][7] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][6] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][5] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][4] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][3] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][2] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][1] ; Lost fanout ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][0] ; Lost fanout ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[23] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[27] ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[1] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[26] ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[4,6] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[25] ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[19] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[21] ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[3] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[16] ; -; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[7] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[9] ; -; decode_stage:decode_st|dec_op_inst.op_detail[0] ; Merged with decode_stage:decode_st|rtw_rec.imm_set ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[23] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[27] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[1] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[26] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[4,6] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[25] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[19] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[21] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[3] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[16] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[7] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[9] ; -; decode_stage:decode_st|dec_op_inst.daddr[2] ; Lost fanout ; -; execute_stage:exec_st|reg.res_addr[0] ; Merged with execute_stage:exec_st|reg.res_addr[2] ; -; decode_stage:decode_st|rtw_rec.immediate[18,21,23..28,30] ; Merged with decode_stage:decode_st|rtw_rec.immediate[31] ; -; decode_stage:decode_st|rtw_rec.immediate[16] ; Merged with decode_stage:decode_st|rtw_rec.immediate[29] ; -; decode_stage:decode_st|rtw_rec.immediate[20] ; Merged with decode_stage:decode_st|rtw_rec.immediate[22] ; -; decode_stage:decode_st|rtw_rec.immediate[17] ; Merged with decode_stage:decode_st|rtw_rec.immediate[19] ; -; decode_stage:decode_st|rtw_rec.immediate[12] ; Merged with decode_stage:decode_st|rtw_rec.immediate[14] ; -; decode_stage:decode_st|rtw_rec.immediate[1] ; Merged with decode_stage:decode_st|rtw_rec.immediate[3] ; -; decode_stage:decode_st|dec_op_inst.displacement[7] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[9] ; -; decode_stage:decode_st|dec_op_inst.displacement[4] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[6] ; -; decode_stage:decode_st|dec_op_inst.saddr1[0] ; Merged with decode_stage:decode_st|dec_op_inst.saddr1[2] ; -; decode_stage:decode_st|dec_op_inst.saddr2[0] ; Merged with decode_stage:decode_st|dec_op_inst.saddr2[2] ; -; decode_stage:decode_st|dec_op_inst.op_detail[1] ; Merged with decode_stage:decode_st|dec_op_inst.op_detail[2] ; -; decode_stage:decode_st|rtw_rec.immediate[19,22,29] ; Merged with decode_stage:decode_st|rtw_rec.immediate[31] ; -; decode_stage:decode_st|dec_op_inst.op_group.AND_OP ; Lost fanout ; -; decode_stage:decode_st|dec_op_inst.op_group.XOR_OP ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[0..31] ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[0..31] ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.IDLE ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_START ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_BIT ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_STOP ; Lost fanout ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.POST_STOP ; Lost fanout ; -; decode_stage:decode_st|rtw_rec.immediate[31] ; Merged with decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; -; decode_stage:decode_st|rtw_rec.immediate[9] ; Merged with decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; -; fetch_stage:fetch_st|instr_r_addr[11..31] ; Lost fanout ; -; Total Number of Removed Registers = 332 ; ; -+------------------------------------------------------------------------------------------+------------------------------------------------------------------------+ - - -+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ -; Removed Registers Triggering Further Register Optimizations ; -+-----------------------------------------------------------+---------------------------+---------------------------------------------------------------------------------------+ -; Register name ; Reason for Removal ; Registers Removed due to This Register ; -+-----------------------------------------------------------+---------------------------+---------------------------------------------------------------------------------------+ -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[24] ; Stuck at VCC ; decode_stage:decode_st|dec_op_inst.op_detail[5], ; -; ; due to stuck port data_in ; decode_stage:decode_st|dec_op_inst.saddr1[3], ; -; ; ; decode_stage:decode_st|dec_op_inst.saddr2[3], ; -; ; ; decode_stage:decode_st|dec_op_inst.saddr2[1], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[15], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[11], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[10], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[8], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[7], ; -; ; ; decode_stage:decode_st|rtw_rec.immediate[5] ; -; writeback_stage:writeback_st|bus_rx ; Stuck at VCC ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[31], ; -; ; due to stuck port data_in ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[30], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[29], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[28], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[27], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[26], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[25], ; -; ; ; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[24] ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[31] ; Stuck at VCC ; decode_stage:decode_st|dec_op_inst.condition[3], ; -; ; due to stuck port data_in ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo, ; -; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[22] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.daddr[3], execute_stage:exec_st|reg.res_addr[3] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[20] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.daddr[1], execute_stage:exec_st|reg.res_addr[1] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[30] ; Stuck at VCC ; decode_stage:decode_st|dec_op_inst.condition[2] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[29] ; Stuck at VCC ; decode_stage:decode_st|dec_op_inst.condition[1] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[14] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[14] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[13] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[13] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[12] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[12] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[11] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[11] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[10] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[10] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[8] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[8] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[5] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[5] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[2] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[2] ; -; ; due to stuck port data_in ; ; -; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[0] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[0] ; -; ; due to stuck port data_in ; ; -+-----------------------------------------------------------+---------------------------+---------------------------------------------------------------------------------------+ ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Registers Removed During Synthesis ; ++------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +; Register name ; Reason for Removal ; ++------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ +; decode_stage:decode_st|dec_op_inst.prog_cnt[11..31] ; Stuck at GND due to stuck port data_in ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[2,8] ; Stuck at GND due to stuck port data_in ; +; writeback_stage:writeback_st|wb_reg.hword ; Stuck at GND due to stuck port data_in ; +; writeback_stage:writeback_st|wb_reg.byte_s ; Stuck at GND due to stuck port data_in ; +; writeback_stage:writeback_st|wb_reg.address[0..1] ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.displacement[2,8] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][29] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][28] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][27] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][26] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][25] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][24] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][23] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][22] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][21] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][20] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][19] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][18] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][17] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][16] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][15] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][14] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][13] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][12] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][11] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][10] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][9] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][8] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][7] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][6] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][5] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][4] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][3] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][2] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][1] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][0] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][29] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][28] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][27] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][26] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][25] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][24] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][23] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][22] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][21] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][20] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][19] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][18] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][17] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][16] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][15] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][14] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][13] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][12] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][11] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][10] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][9] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][8] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][7] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][6] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][5] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][4] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][3] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][2] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][1] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][0] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][29] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][28] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][27] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][26] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][25] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][24] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][23] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][22] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][21] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][20] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][19] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][18] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][17] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][16] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][15] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][14] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][13] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][12] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][11] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][10] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][9] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][8] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][7] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][6] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][5] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][4] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][3] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][2] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][1] ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][0] ; Lost fanout ; +; writeback_stage:writeback_st|wb_reg.byte_en[0..3] ; Merged with writeback_stage:writeback_st|wb_reg.dmem_en ; +; writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.byte_en[0] ; Merged with writeback_stage:writeback_st|extension_7seg:sseg|ext_reg_r.byte_en[1] ; +; writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[8..30] ; Merged with writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[31] ; +; decode_stage:decode_st|dec_op_inst.op_detail[0] ; Merged with decode_stage:decode_st|rtw_rec.imm_set ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[9,28..30] ; Merged with fetch_stage:fetch_st|rom:instruction_ram|data_out[31] ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[0,10..14,18] ; Merged with fetch_stage:fetch_st|rom:instruction_ram|data_out[22] ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[3] ; Merged with fetch_stage:fetch_st|rom:instruction_ram|data_out[4] ; +; decode_stage:decode_st|rtw_rec.immediate[23..27] ; Merged with decode_stage:decode_st|rtw_rec.immediate[31] ; +; decode_stage:decode_st|rtw_rec.immediate[16] ; Merged with decode_stage:decode_st|rtw_rec.immediate[17] ; +; decode_stage:decode_st|rtw_rec.immediate[7] ; Merged with decode_stage:decode_st|rtw_rec.immediate[11] ; +; decode_stage:decode_st|dec_op_inst.condition[1..2] ; Merged with decode_stage:decode_st|dec_op_inst.condition[3] ; +; decode_stage:decode_st|dec_op_inst.displacement[15..30] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[31] ; +; decode_stage:decode_st|dec_op_inst.displacement[0,10..13] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[14] ; +; decode_stage:decode_st|dec_op_inst.displacement[3] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[4] ; +; writeback_stage:writeback_st|extension_uart:uart|w4_uart_receive[31] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo ; Lost fanout ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.displacement[14] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[31] ; +; fetch_stage:fetch_st|instr_r_addr[11..31] ; Lost fanout ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[17..31] ; Lost fanout ; +; Total Number of Removed Registers = 231 ; ; ++------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Removed Registers Triggering Further Register Optimizations ; ++---------------------------------------------------------------+---------------------------+----------------------------------------------------------------+ +; Register name ; Reason for Removal ; Registers Removed due to This Register ; ++---------------------------------------------------------------+---------------------------+----------------------------------------------------------------+ +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][29] ; Lost Fanouts ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo, ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[8] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[8] ; +; ; due to stuck port data_in ; ; +; fetch_stage:fetch_st|rom:instruction_ram|data_out[2] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.displacement[2] ; +; ; due to stuck port data_in ; ; ++---------------------------------------------------------------+---------------------------+----------------------------------------------------------------+ +------------------------------------------------------+ @@ -552,119 +486,153 @@ Encoding Type: One-Hot +----------------------------------------------+-------+ ; Statistic ; Value ; +----------------------------------------------+-------+ -; Total registers ; 215 ; -; Number of registers using Synchronous Clear ; 4 ; -; Number of registers using Synchronous Load ; 6 ; -; Number of registers using Asynchronous Clear ; 192 ; -; Number of registers using Asynchronous Load ; 11 ; -; Number of registers using Clock Enable ; 43 ; +; Total registers ; 520 ; +; Number of registers using Synchronous Clear ; 25 ; +; Number of registers using Synchronous Load ; 40 ; +; Number of registers using Asynchronous Clear ; 487 ; +; Number of registers using Asynchronous Load ; 5 ; +; Number of registers using Clock Enable ; 177 ; ; Number of registers using Preset ; 0 ; +----------------------------------------------+-------+ -+------------------------------------------------------------------------------------------------+ -; Inverted Register Statistics ; -+--------------------------------------------------------------------------------------+---------+ -; Inverted Register ; Fan out ; -+--------------------------------------------------------------------------------------+---------+ -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int ; 1 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[23] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[22] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[21] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[20] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[19] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[16] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[13] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[11] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[10] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[8] ; 2 ; -; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[4] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10] ; 2 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8] ; 2 ; -; decode_stage:decode_st|dec_op_inst.condition[0] ; 1 ; -; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0] ; 4 ; -; Total number of inverted registers = 24 ; ; -+--------------------------------------------------------------------------------------+---------+ - - -+-------------------------------------------------------------------------------------------------------------------------+ -; Registers Packed Into Inferred Megafunctions ; -+------------------------------------------------------------+-----------------------------------------------------+------+ -; Register Name ; Megafunction ; Type ; -+------------------------------------------------------------+-----------------------------------------------------+------+ -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[0] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[1] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[2] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[3] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[4] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[5] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[6] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[7] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[8] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[9] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[10] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[11] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[12] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[13] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[14] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[15] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[16] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[17] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[18] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[19] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[20] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[21] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[22] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[23] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[24] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[25] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[26] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[27] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[28] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[29] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[30] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[31] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[0] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[1] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[2] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[3] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[4] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[5] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[6] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[7] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[8] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[9] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[10] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[11] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[12] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[13] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[14] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[15] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[16] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[17] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[18] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[19] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[20] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[21] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[22] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[23] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[24] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[25] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[26] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[27] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[28] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[29] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[30] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[31] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; -+------------------------------------------------------------+-----------------------------------------------------+------+ ++-----------------------------------------------------------------------------------------------+ +; Inverted Register Statistics ; ++-------------------------------------------------------------------------------------+---------+ +; Inverted Register ; Fan out ; ++-------------------------------------------------------------------------------------+---------+ +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int ; 1 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[1] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[1] ; 2 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[4] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[5] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[5] ; 2 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[4] ; 2 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[7] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[7] ; 2 ; +; writeback_stage:writeback_st|extension_uart:uart|w2_uart_config[8] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[8] ; 2 ; +; decode_stage:decode_st|dec_op_inst.condition[0] ; 1 ; +; decode_stage:decode_st|dec_op_inst.condition[3] ; 1 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2] ; 2 ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0] ; 4 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|sync[2] ; 13 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|sync[1] ; 1 ; +; Total number of inverted registers = 26 ; ; ++-------------------------------------------------------------------------------------+---------+ + + ++--------------------------------------------------------------------------------------------------------------------------+ +; Registers Packed Into Inferred Megafunctions ; ++------------------------------------------------------------+------------------------------------------------------+------+ +; Register Name ; Megafunction ; Type ; ++------------------------------------------------------------+------------------------------------------------------+------+ +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[0] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[1] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[2] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[3] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[4] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[5] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[6] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[7] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[8] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[9] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[10] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[11] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[12] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[13] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[14] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[15] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[16] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[17] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[18] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[19] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[20] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[21] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[22] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[23] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[24] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[25] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[26] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[27] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[28] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[29] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[30] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[31] ; writeback_stage:writeback_st|r_w_ram:data_ram|ram~44 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[0] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[1] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[2] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[3] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[4] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[5] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[6] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[7] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[8] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[9] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[10] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[11] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[12] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[13] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[14] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[15] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[16] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[17] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[18] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[19] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[20] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[21] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[22] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[23] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[24] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[25] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[26] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[27] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[28] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[29] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[30] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out1[31] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~37 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[0] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[1] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[2] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[3] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[4] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[5] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[6] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[7] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[8] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[9] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[10] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[11] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[12] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[13] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[14] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[15] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[16] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[17] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[18] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[19] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[20] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[21] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[22] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[23] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[24] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[25] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[26] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[27] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[28] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[29] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[30] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; +; decode_stage:decode_st|r2_w_ram:register_ram|data_out2[31] ; decode_stage:decode_st|r2_w_ram:register_ram|ram~38 ; RAM ; ++------------------------------------------------------------+------------------------------------------------------+------+ +--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ @@ -672,35 +640,48 @@ Encoding Type: One-Hot +--------------------+-----------+---------------+----------------------+------------------------+------------+------------------------------------------------------------------------------------------------+ ; Multiplexer Inputs ; Bus Width ; Baseline Area ; Area if Restructured ; Saving if Restructured ; Registered ; Example Multiplexer Output ; +--------------------+-----------+---------------+----------------------+------------------------+------------+------------------------------------------------------------------------------------------------+ -; 3:1 ; 21 bits ; 42 LEs ; 21 LEs ; 21 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[25] ; -; 3:1 ; 4 bits ; 8 LEs ; 4 LEs ; 4 LEs ; Yes ; |core_top|decode_stage:decode_st|dec_op_inst.displacement[1] ; -; 5:1 ; 7 bits ; 21 LEs ; 14 LEs ; 7 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[1] ; -; 5:1 ; 14 bits ; 42 LEs ; 28 LEs ; 14 LEs ; Yes ; |core_top|fetch_stage:fetch_st|instr_r_addr[31] ; -; 5:1 ; 7 bits ; 21 LEs ; 14 LEs ; 7 LEs ; Yes ; |core_top|fetch_stage:fetch_st|instr_r_addr[19] ; +; 3:1 ; 27 bits ; 54 LEs ; 27 LEs ; 27 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[17] ; +; 3:1 ; 6 bits ; 12 LEs ; 6 LEs ; 6 LEs ; Yes ; |core_top|decode_stage:decode_st|dec_op_inst.displacement[7] ; +; 4:1 ; 18 bits ; 36 LEs ; 36 LEs ; 0 LEs ; Yes ; |core_top|writeback_stage:writeback_st|wb_reg.address[19] ; +; 5:1 ; 21 bits ; 63 LEs ; 42 LEs ; 21 LEs ; Yes ; |core_top|fetch_stage:fetch_st|instr_r_addr[30] ; ; 18:1 ; 3 bits ; 36 LEs ; 3 LEs ; 33 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[1] ; -; 5:1 ; 32 bits ; 96 LEs ; 32 LEs ; 64 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[1] ; -; 9:1 ; 5 bits ; 30 LEs ; 25 LEs ; 5 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[7] ; -; 9:1 ; 13 bits ; 78 LEs ; 65 LEs ; 13 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[21] ; -; 10:1 ; 4 bits ; 24 LEs ; 24 LEs ; 0 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[4] ; -; 10:1 ; 4 bits ; 24 LEs ; 24 LEs ; 0 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[25] ; -; 11:1 ; 2 bits ; 14 LEs ; 12 LEs ; 2 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[1] ; -; 11:1 ; 2 bits ; 14 LEs ; 12 LEs ; 2 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[29] ; -; 3:1 ; 11 bits ; 22 LEs ; 22 LEs ; 0 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[23] ; +; 5:1 ; 16 bits ; 48 LEs ; 16 LEs ; 32 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[4] ; +; 3:1 ; 5 bits ; 10 LEs ; 10 LEs ; 0 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[4] ; +; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; No ; |core_top|execute_stage:exec_st|condition[0] ; +; 3:1 ; 3 bits ; 6 LEs ; 6 LEs ; 0 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_spl.reg_src2_addr[1] ; +; 3:1 ; 2 bits ; 4 LEs ; 2 LEs ; 2 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|\split_instr:instr_s.op_group.JMP_ST_OP ; +; 4:1 ; 4 bits ; 8 LEs ; 8 LEs ; 0 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_spl.immediate[8] ; ; 3:1 ; 32 bits ; 64 LEs ; 64 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|left_operand[19] ; -; 4:1 ; 3 bits ; 6 LEs ; 6 LEs ; 0 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_s ; -; 4:1 ; 6 bits ; 12 LEs ; 12 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|right_operand[10] ; -; 4:1 ; 26 bits ; 52 LEs ; 52 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|right_operand[30] ; -; 4:1 ; 30 bits ; 60 LEs ; 60 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector48 ; -; 5:1 ; 5 bits ; 15 LEs ; 10 LEs ; 5 LEs ; No ; |core_top|fetch_stage:fetch_st|instr_r_addr_nxt[0] ; -; 5:1 ; 6 bits ; 18 LEs ; 12 LEs ; 6 LEs ; No ; |core_top|fetch_stage:fetch_st|instr_r_addr_nxt[6] ; -; 4:1 ; 11 bits ; 22 LEs ; 11 LEs ; 11 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector97 ; -; 6:1 ; 3 bits ; 12 LEs ; 6 LEs ; 6 LEs ; No ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|Selector0 ; -; 6:1 ; 2 bits ; 8 LEs ; 4 LEs ; 4 LEs ; No ; |core_top|writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|Selector2 ; +; 4:1 ; 32 bits ; 64 LEs ; 64 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|right_operand[5] ; +; 4:1 ; 12 bits ; 24 LEs ; 24 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector63 ; +; 5:1 ; 11 bits ; 33 LEs ; 22 LEs ; 11 LEs ; No ; |core_top|fetch_stage:fetch_st|instr_r_addr_nxt[0] ; +; 4:1 ; 11 bits ; 22 LEs ; 11 LEs ; 11 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector98 ; +; 32:1 ; 3 bits ; 63 LEs ; 6 LEs ; 57 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_spl.reg_src1_addr[0] ; +; 6:1 ; 9 bits ; 36 LEs ; 27 LEs ; 9 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_s ; +; 7:1 ; 3 bits ; 12 LEs ; 6 LEs ; 6 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_spl.immediate[12] ; +; 10:1 ; 24 bits ; 144 LEs ; 96 LEs ; 48 LEs ; No ; |core_top|writeback_stage:writeback_st|regfile_val[24] ; +; 8:1 ; 2 bits ; 10 LEs ; 4 LEs ; 6 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_spl.immediate[3] ; +; 11:1 ; 8 bits ; 56 LEs ; 48 LEs ; 8 LEs ; No ; |core_top|writeback_stage:writeback_st|regfile_val[0] ; +; 10:1 ; 18 bits ; 108 LEs ; 108 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector16 ; +; 11:1 ; 4 bits ; 28 LEs ; 24 LEs ; 4 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector3 ; +; 11:1 ; 4 bits ; 28 LEs ; 24 LEs ; 4 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector28 ; +; 12:1 ; 2 bits ; 16 LEs ; 14 LEs ; 2 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector1 ; +; 12:1 ; 2 bits ; 16 LEs ; 14 LEs ; 2 LEs ; No ; |core_top|execute_stage:exec_st|alu:alu_inst|Selector29 ; +; 14:1 ; 3 bits ; 27 LEs ; 21 LEs ; 6 LEs ; No ; |core_top|decode_stage:decode_st|decoder:decoder_inst|instr_s ; +--------------------+-----------+---------------+----------------------+------------------------+------------+------------------------------------------------------------------------------------------------+ ++--------------------------------------------------------------------------------------------------------------------------+ +; Source assignments for writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0|altsyncram_grk1:auto_generated ; ++---------------------------------+--------------------+------+------------------------------------------------------------+ +; Assignment ; Value ; From ; To ; ++---------------------------------+--------------------+------+------------------------------------------------------------+ +; OPTIMIZE_POWER_DURING_SYNTHESIS ; NORMAL_COMPILATION ; - ; - ; ++---------------------------------+--------------------+------+------------------------------------------------------------+ + + +-------------------------------------------------------------------------------------------------------------------------+ -; Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated ; +; Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; +---------------------------------+--------------------+------+-----------------------------------------------------------+ ; Assignment ; Value ; From ; To ; +---------------------------------+--------------------+------+-----------------------------------------------------------+ @@ -709,7 +690,7 @@ Encoding Type: One-Hot +-------------------------------------------------------------------------------------------------------------------------+ -; Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated ; +; Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2|altsyncram_emk1:auto_generated ; +---------------------------------+--------------------+------+-----------------------------------------------------------+ ; Assignment ; Value ; From ; To ; +---------------------------------+--------------------+------+-----------------------------------------------------------+ @@ -728,14 +709,14 @@ Encoding Type: One-Hot Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". -+-------------------------------------------------------------------------------------------+ -; Parameter Settings for User Entity Instance: fetch_stage:fetch_st|r_w_ram:instruction_ram ; -+----------------+-------+------------------------------------------------------------------+ -; Parameter Name ; Value ; Type ; -+----------------+-------+------------------------------------------------------------------+ -; addr_width ; 11 ; Signed Integer ; -; data_width ; 32 ; Signed Integer ; -+----------------+-------+------------------------------------------------------------------+ ++---------------------------------------------------------------------------------------+ +; Parameter Settings for User Entity Instance: fetch_stage:fetch_st|rom:instruction_ram ; ++----------------+-------+--------------------------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+--------------------------------------------------------------+ +; addr_width ; 11 ; Signed Integer ; +; data_width ; 32 ; Signed Integer ; ++----------------+-------+--------------------------------------------------------------+ Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". @@ -829,12 +810,82 @@ Note: In order to hide this table in the UI and the text report file, please set ; Parameter Name ; Value ; Type ; +----------------+-------+---------------------------------------------------------------------------------------------+ ; reset_value ; '0' ; Enumerated ; +; sync_stages ; 2 ; Signed Integer ; +----------------+-------+---------------------------------------------------------------------------------------------+ Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". ++-----------------------------------------------------------------------------------------------+ +; Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_7seg:sseg ; ++----------------+-------+----------------------------------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+----------------------------------------------------------------------+ +; reset_value ; '0' ; Enumerated ; ++----------------+-------+----------------------------------------------------------------------+ +Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". + + ++---------------------------------------------------------------------------------------------------------------------+ +; Parameter Settings for Inferred Entity Instance: writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0 ; ++------------------------------------+-------------------------------------+------------------------------------------+ +; Parameter Name ; Value ; Type ; ++------------------------------------+-------------------------------------+------------------------------------------+ +; BYTE_SIZE_BLOCK ; 8 ; Untyped ; +; AUTO_CARRY_CHAINS ; ON ; AUTO_CARRY ; +; IGNORE_CARRY_BUFFERS ; OFF ; IGNORE_CARRY ; +; AUTO_CASCADE_CHAINS ; ON ; AUTO_CASCADE ; +; IGNORE_CASCADE_BUFFERS ; OFF ; IGNORE_CASCADE ; +; WIDTH_BYTEENA ; 1 ; Untyped ; +; OPERATION_MODE ; DUAL_PORT ; Untyped ; +; WIDTH_A ; 32 ; Untyped ; +; WIDTHAD_A ; 11 ; Untyped ; +; NUMWORDS_A ; 2048 ; Untyped ; +; OUTDATA_REG_A ; UNREGISTERED ; Untyped ; +; ADDRESS_ACLR_A ; NONE ; Untyped ; +; OUTDATA_ACLR_A ; NONE ; Untyped ; +; WRCONTROL_ACLR_A ; NONE ; Untyped ; +; INDATA_ACLR_A ; NONE ; Untyped ; +; BYTEENA_ACLR_A ; NONE ; Untyped ; +; WIDTH_B ; 32 ; Untyped ; +; WIDTHAD_B ; 11 ; Untyped ; +; NUMWORDS_B ; 2048 ; Untyped ; +; INDATA_REG_B ; CLOCK1 ; Untyped ; +; WRCONTROL_WRADDRESS_REG_B ; CLOCK1 ; Untyped ; +; RDCONTROL_REG_B ; CLOCK1 ; Untyped ; +; ADDRESS_REG_B ; CLOCK0 ; Untyped ; +; OUTDATA_REG_B ; UNREGISTERED ; Untyped ; +; BYTEENA_REG_B ; CLOCK1 ; Untyped ; +; INDATA_ACLR_B ; NONE ; Untyped ; +; WRCONTROL_ACLR_B ; NONE ; Untyped ; +; ADDRESS_ACLR_B ; NONE ; Untyped ; +; OUTDATA_ACLR_B ; NONE ; Untyped ; +; RDCONTROL_ACLR_B ; NONE ; Untyped ; +; BYTEENA_ACLR_B ; NONE ; Untyped ; +; WIDTH_BYTEENA_A ; 1 ; Untyped ; +; WIDTH_BYTEENA_B ; 1 ; Untyped ; +; RAM_BLOCK_TYPE ; AUTO ; Untyped ; +; BYTE_SIZE ; 8 ; Untyped ; +; READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; Untyped ; +; READ_DURING_WRITE_MODE_PORT_A ; NEW_DATA_NO_NBE_READ ; Untyped ; +; READ_DURING_WRITE_MODE_PORT_B ; NEW_DATA_NO_NBE_READ ; Untyped ; +; INIT_FILE ; db/dt.ram0_r_w_ram_1e9198d1.hdl.mif ; Untyped ; +; INIT_FILE_LAYOUT ; PORT_A ; Untyped ; +; MAXIMUM_DEPTH ; 0 ; Untyped ; +; CLOCK_ENABLE_INPUT_A ; NORMAL ; Untyped ; +; CLOCK_ENABLE_INPUT_B ; NORMAL ; Untyped ; +; CLOCK_ENABLE_OUTPUT_A ; NORMAL ; Untyped ; +; CLOCK_ENABLE_OUTPUT_B ; NORMAL ; Untyped ; +; CLOCK_ENABLE_CORE_A ; USE_INPUT_CLKEN ; Untyped ; +; CLOCK_ENABLE_CORE_B ; USE_INPUT_CLKEN ; Untyped ; +; ENABLE_ECC ; FALSE ; Untyped ; +; DEVICE_FAMILY ; Cyclone ; Untyped ; +; CBXI_PARAMETER ; altsyncram_grk1 ; Untyped ; ++------------------------------------+-------------------------------------+------------------------------------------+ +Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". + + +--------------------------------------------------------------------------------------------------------------------+ -; Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 ; +; Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; +------------------------------------+--------------------------------------+----------------------------------------+ ; Parameter Name ; Value ; Type ; +------------------------------------+--------------------------------------+----------------------------------------+ @@ -893,7 +944,7 @@ Note: In order to hide this table in the UI and the text report file, please set +--------------------------------------------------------------------------------------------------------------------+ -; Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; +; Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2 ; +------------------------------------+--------------------------------------+----------------------------------------+ ; Parameter Name ; Value ; Type ; +------------------------------------+--------------------------------------+----------------------------------------+ @@ -951,54 +1002,46 @@ Note: In order to hide this table in the UI and the text report file, please set Note: In order to hide this table in the UI and the text report file, please set the "Show Parameter Settings in Synthesis Report" option in "Analysis and Synthesis Settings -> More Settings" to "Off". -+---------------------------------------------------------------------------------------------------------------+ -; altsyncram Parameter Settings by Entity Instance ; -+-------------------------------------------+-------------------------------------------------------------------+ -; Name ; Value ; -+-------------------------------------------+-------------------------------------------------------------------+ -; Number of entity instances ; 2 ; -; Entity Instance ; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 ; -; -- OPERATION_MODE ; DUAL_PORT ; -; -- WIDTH_A ; 32 ; -; -- NUMWORDS_A ; 16 ; -; -- OUTDATA_REG_A ; UNREGISTERED ; -; -- WIDTH_B ; 32 ; -; -- NUMWORDS_B ; 16 ; -; -- ADDRESS_REG_B ; CLOCK0 ; -; -- OUTDATA_REG_B ; UNREGISTERED ; -; -- RAM_BLOCK_TYPE ; AUTO ; -; -- READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; -; Entity Instance ; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; -; -- OPERATION_MODE ; DUAL_PORT ; -; -- WIDTH_A ; 32 ; -; -- NUMWORDS_A ; 16 ; -; -- OUTDATA_REG_A ; UNREGISTERED ; -; -- WIDTH_B ; 32 ; -; -- NUMWORDS_B ; 16 ; -; -- ADDRESS_REG_B ; CLOCK0 ; -; -- OUTDATA_REG_B ; UNREGISTERED ; -; -- RAM_BLOCK_TYPE ; AUTO ; -; -- READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; -+-------------------------------------------+-------------------------------------------------------------------+ - - -+-----------------------------------------------------------------------------------------------------------------------+ -; Port Connectivity Checks: "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst" ; -+-------------+--------+----------+-------------------------------------------------------------------------------------+ -; Port ; Type ; Severity ; Details ; -+-------------+--------+----------+-------------------------------------------------------------------------------------+ -; new_rx_data ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -; rx_data ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -+-------------+--------+----------+-------------------------------------------------------------------------------------+ - - -+--------------------------------------------------------------------------------------------------------------------+ -; Port Connectivity Checks: "writeback_stage:writeback_st|extension_uart:uart" ; -+----------+--------+----------+-------------------------------------------------------------------------------------+ -; Port ; Type ; Severity ; Details ; -+----------+--------+----------+-------------------------------------------------------------------------------------+ -; data_out ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; -+----------+--------+----------+-------------------------------------------------------------------------------------+ ++----------------------------------------------------------------------------------------------------------------+ +; altsyncram Parameter Settings by Entity Instance ; ++-------------------------------------------+--------------------------------------------------------------------+ +; Name ; Value ; ++-------------------------------------------+--------------------------------------------------------------------+ +; Number of entity instances ; 3 ; +; Entity Instance ; writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0 ; +; -- OPERATION_MODE ; DUAL_PORT ; +; -- WIDTH_A ; 32 ; +; -- NUMWORDS_A ; 2048 ; +; -- OUTDATA_REG_A ; UNREGISTERED ; +; -- WIDTH_B ; 32 ; +; -- NUMWORDS_B ; 2048 ; +; -- ADDRESS_REG_B ; CLOCK0 ; +; -- OUTDATA_REG_B ; UNREGISTERED ; +; -- RAM_BLOCK_TYPE ; AUTO ; +; -- READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; +; Entity Instance ; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 ; +; -- OPERATION_MODE ; DUAL_PORT ; +; -- WIDTH_A ; 32 ; +; -- NUMWORDS_A ; 16 ; +; -- OUTDATA_REG_A ; UNREGISTERED ; +; -- WIDTH_B ; 32 ; +; -- NUMWORDS_B ; 16 ; +; -- ADDRESS_REG_B ; CLOCK0 ; +; -- OUTDATA_REG_B ; UNREGISTERED ; +; -- RAM_BLOCK_TYPE ; AUTO ; +; -- READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; +; Entity Instance ; decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_2 ; +; -- OPERATION_MODE ; DUAL_PORT ; +; -- WIDTH_A ; 32 ; +; -- NUMWORDS_A ; 16 ; +; -- OUTDATA_REG_A ; UNREGISTERED ; +; -- WIDTH_B ; 32 ; +; -- NUMWORDS_B ; 16 ; +; -- ADDRESS_REG_B ; CLOCK0 ; +; -- OUTDATA_REG_B ; UNREGISTERED ; +; -- RAM_BLOCK_TYPE ; AUTO ; +; -- READ_DURING_WRITE_MODE_MIXED_PORTS ; OLD_DATA ; ++-------------------------------------------+--------------------------------------------------------------------+ +----------------------------------------------------------------------------------------------------------------------------------+ @@ -1118,103 +1161,114 @@ Note: In order to hide this table in the UI and the text report file, please set Info: ******************************************************************* Info: Running Quartus II Analysis & Synthesis Info: Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition - Info: Processing started: Fri Dec 17 12:26:25 2010 + Info: Processing started: Sun Dec 19 20:36:12 2010 Info: Command: quartus_map --read_settings_files=on --write_settings_files=off dt -c dt -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/rs232_rx_arc.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/rom.vhd + Info: Found entity 1: rom +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/rom_b.vhd + Info: Found design unit 1: rom-behaviour +Info: Found 2 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_7seg_pkg.vhd + Info: Found design unit 1: extension_7seg_pkg + Info: Found design unit 2: extension_7seg_pkg-body +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_7seg_b.vhd + Info: Found design unit 1: extension_7seg-behav +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/extension_7seg.vhd + Info: Found entity 1: extension_7seg +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/rs232_rx_arc.vhd Info: Found design unit 1: rs232_rx-beh -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/rs232_rx.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/rs232_rx.vhd Info: Found entity 1: rs232_rx -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/writeback_stage_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/writeback_stage_b.vhd Info: Found design unit 1: writeback_stage-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/writeback_stage.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/writeback_stage.vhd Info: Found entity 1: writeback_stage -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/rw_r_ram_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/rw_r_ram_b.vhd Info: Found design unit 1: rw_r_ram-behaviour -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/rw_r_ram.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/rw_r_ram.vhd Info: Found entity 1: rw_r_ram -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/rs232_tx_arc.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/rs232_tx_arc.vhd Info: Found design unit 1: rs232_tx-beh -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/rs232_tx.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/rs232_tx.vhd Info: Found entity 1: rs232_tx -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/r_w_ram_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/r_w_ram_b.vhd Info: Found design unit 1: r_w_ram-behaviour -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/r_w_ram.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/r_w_ram.vhd Info: Found entity 1: r_w_ram -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/r2_w_ram_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/r2_w_ram_b.vhd Info: Found design unit 1: r2_w_ram-behaviour -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/r2_w_ram.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/r2_w_ram.vhd Info: Found entity 1: r2_w_ram -Info: Found 3 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/pipeline_tb.vhd +Info: Found 3 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/pipeline_tb.vhd Info: Found design unit 1: pipeline_tb-behavior Info: Found design unit 2: pipeline_conf_beh Info: Found entity 1: pipeline_tb -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/mem_pkg.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/mem_pkg.vhd Info: Found design unit 1: mem_pkg -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/fetch_stage_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/fetch_stage_b.vhd Info: Found design unit 1: fetch_stage-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/fetch_stage.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/fetch_stage.vhd Info: Found entity 1: fetch_stage -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/extension_uart_pkg.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_uart_pkg.vhd Info: Found design unit 1: extension_uart_pkg -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/extension_uart_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_uart_b.vhd Info: Found design unit 1: extension_uart-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/extension_uart.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/extension_uart.vhd Info: Found entity 1: extension_uart -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/extension_pkg.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_pkg.vhd Info: Found design unit 1: extension_pkg -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/extension_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/extension_b.vhd Info: Found design unit 1: extension_gpm-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/extension.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/extension.vhd Info: Found entity 1: extension_gpm -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/execute_stage_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/execute_stage_b.vhd Info: Found design unit 1: execute_stage-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/execute_stage.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/execute_stage.vhd Info: Found entity 1: execute_stage -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/exec_op.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op.vhd Info: Found entity 1: exec_op -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/decoder_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/decoder_b.vhd Info: Found design unit 1: decoder-behav_d -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/decoder.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/decoder.vhd Info: Found entity 1: decoder -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/decode_stage_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/decode_stage_b.vhd Info: Found design unit 1: decode_stage-behav -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/decode_stage.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/decode_stage.vhd Info: Found entity 1: decode_stage -Info: Found 2 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/core_top.vhd +Info: Found 2 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/core_top.vhd Info: Found design unit 1: core_top-behav Info: Found entity 1: core_top -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/core_pkg.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/core_pkg.vhd Info: Found design unit 1: core_pkg -Info: Found 2 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/common_pkg.vhd +Info: Found 2 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/common_pkg.vhd Info: Found design unit 1: common_pkg Info: Found design unit 2: common_pkg-body -Info: Found 2 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/alu_pkg.vhd +Info: Found 2 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/alu_pkg.vhd Info: Found design unit 1: alu_pkg Info: Found design unit 2: alu_pkg-body -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/alu_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/alu_b.vhd Info: Found design unit 1: alu-behaviour -Info: Found 1 design units, including 1 entities, in source file /homes/c0726283/calu/cpu/src/alu.vhd +Info: Found 1 design units, including 1 entities, in source file /home/stefan/processor/calu/cpu/src/alu.vhd Info: Found entity 1: alu -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/exec_op/xor_op_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op/xor_op_b.vhd Info: Found design unit 1: exec_op-xor_op -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/exec_op/shift_op_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op/shift_op_b.vhd Info: Found design unit 1: exec_op-shift_op -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/exec_op/or_op_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op/or_op_b.vhd Info: Found design unit 1: exec_op-or_op -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/exec_op/and_op_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op/and_op_b.vhd Info: Found design unit 1: exec_op-and_op -Info: Found 1 design units, including 0 entities, in source file /homes/c0726283/calu/cpu/src/exec_op/add_op_b.vhd +Info: Found 1 design units, including 0 entities, in source file /home/stefan/processor/calu/cpu/src/exec_op/add_op_b.vhd Info: Found design unit 1: exec_op-add_op Info: Elaborating entity "core_top" for the top level hierarchy -Warning (10036): Verilog HDL or VHDL warning at core_top.vhd(25): object "jump_result" assigned a value but never read -Warning (10541): VHDL Signal Declaration warning at core_top.vhd(53): used implicit default value for signal "gpm_in_pin" because signal was never assigned a value or an explicit default value. Use of implicit default value may introduce unintended design optimizations. -Warning (10036): Verilog HDL or VHDL warning at core_top.vhd(54): object "gpm_out_pin" assigned a value but never read +Warning (10036): Verilog HDL or VHDL warning at core_top.vhd(31): object "jump_result" assigned a value but never read +Warning (10541): VHDL Signal Declaration warning at core_top.vhd(59): used implicit default value for signal "gpm_in_pin" because signal was never assigned a value or an explicit default value. Use of implicit default value may introduce unintended design optimizations. +Warning (10036): Verilog HDL or VHDL warning at core_top.vhd(60): object "gpm_out_pin" assigned a value but never read +Warning (10036): Verilog HDL or VHDL warning at core_top.vhd(63): object "vers" assigned a value but never read Info: Elaborating entity "fetch_stage" for hierarchy "fetch_stage:fetch_st" Warning (10541): VHDL Signal Declaration warning at fetch_stage_b.vhd(11): used implicit default value for signal "instr_w_addr" because signal was never assigned a value or an explicit default value. Use of implicit default value may introduce unintended design optimizations. Warning (10541): VHDL Signal Declaration warning at fetch_stage_b.vhd(14): used implicit default value for signal "instr_we" because signal was never assigned a value or an explicit default value. Use of implicit default value may introduce unintended design optimizations. Warning (10541): VHDL Signal Declaration warning at fetch_stage_b.vhd(15): used implicit default value for signal "instr_wr_data" because signal was never assigned a value or an explicit default value. Use of implicit default value may introduce unintended design optimizations. -Info: Elaborating entity "r_w_ram" for hierarchy "fetch_stage:fetch_st|r_w_ram:instruction_ram" -Warning (10036): Verilog HDL or VHDL warning at r_w_ram_b.vhd(15): object "ram" assigned a value but never read +Info: Elaborating entity "rom" for hierarchy "fetch_stage:fetch_st|rom:instruction_ram" Info: Elaborating entity "decode_stage" for hierarchy "decode_stage:decode_st" Info: Elaborating entity "r2_w_ram" for hierarchy "decode_stage:decode_st|r2_w_ram:register_ram" Info: Elaborating entity "decoder" for hierarchy "decode_stage:decode_st|decoder:decoder_inst" @@ -1228,16 +1282,32 @@ Info: Elaborating entity "exec_op" using architecture "A:xor_op" for hierarchy " Info: Elaborating entity "exec_op" using architecture "A:shift_op" for hierarchy "execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst" Info: Elaborating entity "extension_gpm" for hierarchy "execute_stage:exec_st|extension_gpm:gpmp_inst" Info: Elaborating entity "writeback_stage" for hierarchy "writeback_stage:writeback_st" -Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(14): object "data_ram_read_ext" assigned a value but never read -Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(19): object "ext_timer" assigned a value but never read -Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(19): object "ext_gpmp" assigned a value but never read -Warning (10812): VHDL warning at writeback_stage_b.vhd(164): sensitivity list already contains wb_reg_nxt +Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(20): object "ext_timer" assigned a value but never read +Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(20): object "ext_gpmp" assigned a value but never read +Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(25): object "calc_mem_res" assigned a value but never read +Info: Elaborating entity "r_w_ram" for hierarchy "writeback_stage:writeback_st|r_w_ram:data_ram" Info: Elaborating entity "extension_uart" for hierarchy "writeback_stage:writeback_st|extension_uart:uart" -Warning (10036): Verilog HDL or VHDL warning at extension_uart_b.vhd(15): object "new_bus_rx" assigned a value but never read -Warning (10036): Verilog HDL or VHDL warning at extension_uart_b.vhd(17): object "rx_data" assigned a value but never read Info: Elaborating entity "rs232_tx" for hierarchy "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst" Info: Elaborating entity "rs232_rx" for hierarchy "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst" -Info: Inferred 2 megafunctions from design logic +Info: Elaborating entity "extension_7seg" for hierarchy "writeback_stage:writeback_st|extension_7seg:sseg" +Info: Inferred 3 megafunctions from design logic + Info: Inferred altsyncram megafunction from the following design logic: "writeback_stage:writeback_st|r_w_ram:data_ram|ram~44" + Info: Parameter OPERATION_MODE set to DUAL_PORT + Info: Parameter WIDTH_A set to 32 + Info: Parameter WIDTHAD_A set to 11 + Info: Parameter NUMWORDS_A set to 2048 + Info: Parameter WIDTH_B set to 32 + Info: Parameter WIDTHAD_B set to 11 + Info: Parameter NUMWORDS_B set to 2048 + Info: Parameter ADDRESS_ACLR_A set to NONE + Info: Parameter OUTDATA_REG_B set to UNREGISTERED + Info: Parameter ADDRESS_ACLR_B set to NONE + Info: Parameter OUTDATA_ACLR_B set to NONE + Info: Parameter ADDRESS_REG_B set to CLOCK0 + Info: Parameter INDATA_ACLR_A set to NONE + Info: Parameter WRCONTROL_ACLR_A set to NONE + Info: Parameter INIT_FILE set to db/dt.ram0_r_w_ram_1e9198d1.hdl.mif + Info: Parameter READ_DURING_WRITE_MODE_MIXED_PORTS set to OLD_DATA Info: Inferred altsyncram megafunction from the following design logic: "decode_stage:decode_st|r2_w_ram:register_ram|ram~37" Info: Parameter OPERATION_MODE set to DUAL_PORT Info: Parameter WIDTH_A set to 32 @@ -1272,15 +1342,15 @@ Info: Inferred 2 megafunctions from design logic Info: Parameter WRCONTROL_ACLR_A set to NONE Info: Parameter INIT_FILE set to db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif Info: Parameter READ_DURING_WRITE_MODE_MIXED_PORTS set to OLD_DATA -Info: Elaborated megafunction instantiation "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0" -Info: Instantiated megafunction "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0" with the following parameter: +Info: Elaborated megafunction instantiation "writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0" +Info: Instantiated megafunction "writeback_stage:writeback_st|r_w_ram:data_ram|altsyncram:ram_rtl_0" with the following parameter: Info: Parameter "OPERATION_MODE" = "DUAL_PORT" Info: Parameter "WIDTH_A" = "32" - Info: Parameter "WIDTHAD_A" = "4" - Info: Parameter "NUMWORDS_A" = "16" + Info: Parameter "WIDTHAD_A" = "11" + Info: Parameter "NUMWORDS_A" = "2048" Info: Parameter "WIDTH_B" = "32" - Info: Parameter "WIDTHAD_B" = "4" - Info: Parameter "NUMWORDS_B" = "16" + Info: Parameter "WIDTHAD_B" = "11" + Info: Parameter "NUMWORDS_B" = "2048" Info: Parameter "ADDRESS_ACLR_A" = "NONE" Info: Parameter "OUTDATA_REG_B" = "UNREGISTERED" Info: Parameter "ADDRESS_ACLR_B" = "NONE" @@ -1288,10 +1358,10 @@ Info: Instantiated megafunction "decode_stage:decode_st|r2_w_ram:register_ram|al Info: Parameter "ADDRESS_REG_B" = "CLOCK0" Info: Parameter "INDATA_ACLR_A" = "NONE" Info: Parameter "WRCONTROL_ACLR_A" = "NONE" - Info: Parameter "INIT_FILE" = "db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif" + Info: Parameter "INIT_FILE" = "db/dt.ram0_r_w_ram_1e9198d1.hdl.mif" Info: Parameter "READ_DURING_WRITE_MODE_MIXED_PORTS" = "OLD_DATA" -Info: Found 1 design units, including 1 entities, in source file db/altsyncram_emk1.tdf - Info: Found entity 1: altsyncram_emk1 +Info: Found 1 design units, including 1 entities, in source file db/altsyncram_grk1.tdf + Info: Found entity 1: altsyncram_grk1 Info: Elaborated megafunction instantiation "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1" Info: Instantiated megafunction "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1" with the following parameter: Info: Parameter "OPERATION_MODE" = "DUAL_PORT" @@ -1310,12 +1380,12 @@ Info: Instantiated megafunction "decode_stage:decode_st|r2_w_ram:register_ram|al Info: Parameter "WRCONTROL_ACLR_A" = "NONE" Info: Parameter "INIT_FILE" = "db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif" Info: Parameter "READ_DURING_WRITE_MODE_MIXED_PORTS" = "OLD_DATA" +Info: Found 1 design units, including 1 entities, in source file db/altsyncram_emk1.tdf + Info: Found entity 1: altsyncram_emk1 Info: Registers with preset signals will power-up high -Info: 187 registers lost all their fanouts during netlist optimizations. The first 187 are displayed below. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|bus_rx_int" lost all its fanouts during netlist optimizations. - Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero" lost all its fanouts during netlist optimizations. - Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo" lost all its fanouts during netlist optimizations. - Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign" lost all its fanouts during netlist optimizations. +Info: 130 registers lost all their fanouts during netlist optimizations. The first 130 are displayed below. + Info: Register "writeback_stage:writeback_st|wb_reg.address[0]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|wb_reg.address[1]" lost all its fanouts during netlist optimizations. Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][29]" lost all its fanouts during netlist optimizations. Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][28]" lost all its fanouts during netlist optimizations. Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][27]" lost all its fanouts during netlist optimizations. @@ -1406,78 +1476,8 @@ Info: 187 registers lost all their fanouts during netlist optimizations. The fir Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][2]" lost all its fanouts during netlist optimizations. Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][1]" lost all its fanouts during netlist optimizations. Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][0]" lost all its fanouts during netlist optimizations. - Info: Register "decode_stage:decode_st|dec_op_inst.daddr[2]" lost all its fanouts during netlist optimizations. - Info: Register "decode_stage:decode_st|dec_op_inst.op_group.AND_OP" lost all its fanouts during netlist optimizations. - Info: Register "decode_stage:decode_st|dec_op_inst.op_group.XOR_OP" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[31]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[30]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[29]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[28]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[27]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[26]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[25]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[24]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[23]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[22]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[21]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[20]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[19]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[18]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[17]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[16]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[15]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[14]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[13]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[12]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[11]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[10]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[9]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[8]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[7]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[6]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[5]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[4]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[3]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[2]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[1]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|baud_cnt[0]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[31]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[30]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[29]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[28]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[27]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[26]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[25]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[24]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[23]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[22]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[21]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[20]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[19]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[18]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[17]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[16]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[15]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[14]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[13]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[12]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[11]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[10]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[9]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[8]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[7]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[6]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[5]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[4]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[3]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[2]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[1]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|cnt[0]" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.IDLE" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_START" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_BIT" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.READ_STOP" lost all its fanouts during netlist optimizations. - Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_rx:rs232_rx_inst|state.POST_STOP" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign" lost all its fanouts during netlist optimizations. Info: Register "fetch_stage:fetch_st|instr_r_addr[11]" lost all its fanouts during netlist optimizations. Info: Register "fetch_stage:fetch_st|instr_r_addr[12]" lost all its fanouts during netlist optimizations. Info: Register "fetch_stage:fetch_st|instr_r_addr[13]" lost all its fanouts during netlist optimizations. @@ -1499,18 +1499,31 @@ Info: 187 registers lost all their fanouts during netlist optimizations. The fir Info: Register "fetch_stage:fetch_st|instr_r_addr[29]" lost all its fanouts during netlist optimizations. Info: Register "fetch_stage:fetch_st|instr_r_addr[30]" lost all its fanouts during netlist optimizations. Info: Register "fetch_stage:fetch_st|instr_r_addr[31]" lost all its fanouts during netlist optimizations. -Info: Removed 1 MSB VCC or GND address nodes from RAM block "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated|ALTSYNCRAM" -Info: Removed 1 MSB VCC or GND address nodes from RAM block "decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ALTSYNCRAM" + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[31]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[30]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[29]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[28]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[27]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[26]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[25]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[24]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[23]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[22]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[21]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[20]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[19]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[18]" lost all its fanouts during netlist optimizations. + Info: Register "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|baud_cnt[17]" lost all its fanouts during netlist optimizations. Info: Generating hard_block partition "hard_block:auto_generated_inst" -Info: Implemented 1210 device resources after synthesis - the final resource count might be different - Info: Implemented 2 input pins - Info: Implemented 1 output pins - Info: Implemented 1143 logic cells - Info: Implemented 64 RAM segments -Info: Quartus II Analysis & Synthesis was successful. 0 errors, 14 warnings - Info: Peak virtual memory: 268 megabytes - Info: Processing ended: Fri Dec 17 12:26:49 2010 - Info: Elapsed time: 00:00:24 - Info: Total CPU time (on all processors): 00:00:22 +Info: Implemented 2007 device resources after synthesis - the final resource count might be different + Info: Implemented 3 input pins + Info: Implemented 29 output pins + Info: Implemented 1879 logic cells + Info: Implemented 96 RAM segments +Info: Quartus II Analysis & Synthesis was successful. 0 errors, 11 warnings + Info: Peak virtual memory: 270 megabytes + Info: Processing ended: Sun Dec 19 20:36:26 2010 + Info: Elapsed time: 00:00:14 + Info: Total CPU time (on all processors): 00:00:13 diff --git a/dt/dt.map.summary b/dt/dt.map.summary index f5309a2..bbe1d3e 100644 --- a/dt/dt.map.summary +++ b/dt/dt.map.summary @@ -1,10 +1,10 @@ -Analysis & Synthesis Status : Successful - Fri Dec 17 12:26:49 2010 +Analysis & Synthesis Status : Successful - Sun Dec 19 20:36:26 2010 Quartus II Version : 10.0 Build 262 08/18/2010 SP 1 SJ Web Edition Revision Name : dt Top-level Entity Name : core_top Family : Cyclone -Total logic elements : 1,143 -Total pins : 3 +Total logic elements : 1,879 +Total pins : 32 Total virtual pins : 0 -Total memory bits : 512 +Total memory bits : 66,560 Total PLLs : 0 diff --git a/dt/dt.pin b/dt/dt.pin index baecbb2..f672de8 100644 --- a/dt/dt.pin +++ b/dt/dt.pin @@ -80,13 +80,13 @@ RESERVED_INPUT : 13 : : : RESERVED_INPUT : 14 : : : : 1 : RESERVED_INPUT : 15 : : : : 1 : RESERVED_INPUT : 16 : : : : 1 : -RESERVED_INPUT : 17 : : : : 1 : -RESERVED_INPUT : 18 : : : : 1 : +bus_rx : 17 : input : 3.3-V LVCMOS : : 1 : N +sseg1[0] : 18 : output : 3.3-V LVCMOS : : 1 : N RESERVED_INPUT : 19 : : : : 1 : -RESERVED_INPUT : 20 : : : : 1 : -RESERVED_INPUT : 21 : : : : 1 : +sseg2[4] : 20 : output : 3.3-V LVCMOS : : 1 : N +sseg2[0] : 21 : output : 3.3-V LVCMOS : : 1 : N VCCIO1 : 22 : power : : 3.3V : 1 : -RESERVED_INPUT : 23 : : : : 1 : +sseg3[3] : 23 : output : 3.3-V LVCMOS : : 1 : N ~nCSO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : 24 : input : 3.3-V LVCMOS : : 1 : N DATA0 : 25 : input : : : 1 : nCONFIG : 26 : : : : 1 : @@ -101,8 +101,8 @@ MSEL0 : 34 : : : MSEL1 : 35 : : : : 1 : DCLK : 36 : bidir : : : 1 : ~ASDO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : 37 : input : 3.3-V LVCMOS : : 1 : N -RESERVED_INPUT : 38 : : : : 1 : -RESERVED_INPUT : 39 : : : : 1 : +sseg3[2] : 38 : output : 3.3-V LVCMOS : : 1 : N +sseg0[3] : 39 : output : 3.3-V LVCMOS : : 1 : N GND : 40 : gnd : : : : RESERVED_INPUT : 41 : : : : 1 : sys_res : 42 : input : 3.3-V LVCMOS : : 1 : Y @@ -146,19 +146,19 @@ RESERVED_INPUT : 79 : : : GND : 80 : gnd : : : : VCCINT : 81 : power : : 1.5V : : RESERVED_INPUT : 82 : : : : 4 : -RESERVED_INPUT : 83 : : : : 4 : -RESERVED_INPUT : 84 : : : : 4 : -RESERVED_INPUT : 85 : : : : 4 : -RESERVED_INPUT : 86 : : : : 4 : -RESERVED_INPUT : 87 : : : : 4 : -RESERVED_INPUT : 88 : : : : 4 : +sseg0[0] : 83 : output : 3.3-V LVCMOS : : 4 : N +sseg3[1] : 84 : output : 3.3-V LVCMOS : : 4 : N +sseg3[4] : 85 : output : 3.3-V LVCMOS : : 4 : N +sseg0[1] : 86 : output : 3.3-V LVCMOS : : 4 : N +sseg3[0] : 87 : output : 3.3-V LVCMOS : : 4 : N +sseg0[5] : 88 : output : 3.3-V LVCMOS : : 4 : N GND : 89 : gnd : : : : VCCINT : 90 : power : : 1.5V : : GND : 91 : gnd : : : : VCCIO4 : 92 : power : : 3.3V : 4 : -RESERVED_INPUT : 93 : : : : 4 : -RESERVED_INPUT : 94 : : : : 4 : -RESERVED_INPUT : 95 : : : : 4 : +sseg1[1] : 93 : output : 3.3-V LVCMOS : : 4 : N +sseg1[2] : 94 : output : 3.3-V LVCMOS : : 4 : N +sseg1[6] : 95 : output : 3.3-V LVCMOS : : 4 : N GND : 96 : gnd : : : : VCCINT : 97 : power : : 1.5V : : RESERVED_INPUT : 98 : : : : 4 : @@ -207,7 +207,7 @@ RESERVED_INPUT : 140 : : : RESERVED_INPUT : 141 : : : : 3 : GND : 142 : gnd : : : : RESERVED_INPUT : 143 : : : : 3 : -RESERVED_INPUT : 144 : : : : 3 : +sseg0[2] : 144 : output : 3.3-V LVCMOS : : 3 : N CONF_DONE : 145 : : : : 3 : nSTATUS : 146 : : : : 3 : TCK : 147 : input : : : 3 : @@ -223,9 +223,9 @@ RESERVED_INPUT : 156 : : : VCCIO3 : 157 : power : : 3.3V : 3 : RESERVED_INPUT : 158 : : : : 3 : RESERVED_INPUT : 159 : : : : 3 : -RESERVED_INPUT : 160 : : : : 3 : -RESERVED_INPUT : 161 : : : : 3 : -RESERVED_INPUT : 162 : : : : 3 : +sseg2[6] : 160 : output : 3.3-V LVCMOS : : 3 : N +sseg2[2] : 161 : output : 3.3-V LVCMOS : : 3 : N +sseg1[3] : 162 : output : 3.3-V LVCMOS : : 3 : N RESERVED_INPUT : 163 : : : : 3 : RESERVED_INPUT : 164 : : : : 3 : RESERVED_INPUT : 165 : : : : 3 : @@ -263,23 +263,23 @@ RESERVED_INPUT : 196 : : : RESERVED_INPUT : 197 : : : : 2 : VCCINT : 198 : power : : 1.5V : : GND : 199 : gnd : : : : -RESERVED_INPUT : 200 : : : : 2 : -RESERVED_INPUT : 201 : : : : 2 : -RESERVED_INPUT : 202 : : : : 2 : +sseg2[5] : 200 : output : 3.3-V LVCMOS : : 2 : N +sseg2[1] : 201 : output : 3.3-V LVCMOS : : 2 : N +sseg2[3] : 202 : output : 3.3-V LVCMOS : : 2 : N RESERVED_INPUT : 203 : : : : 2 : VCCINT : 204 : power : : 1.5V : : GND : 205 : gnd : : : : -RESERVED_INPUT : 206 : : : : 2 : -RESERVED_INPUT : 207 : : : : 2 : +sseg1[5] : 206 : output : 3.3-V LVCMOS : : 2 : N +sseg1[4] : 207 : output : 3.3-V LVCMOS : : 2 : N RESERVED_INPUT : 208 : : : : 2 : VCCIO2 : 209 : power : : 3.3V : 2 : GND : 210 : gnd : : : : VCCINT : 211 : power : : 1.5V : : GND : 212 : gnd : : : : -RESERVED_INPUT : 213 : : : : 2 : -RESERVED_INPUT : 214 : : : : 2 : -RESERVED_INPUT : 215 : : : : 2 : -RESERVED_INPUT : 216 : : : : 2 : +sseg0[4] : 213 : output : 3.3-V LVCMOS : : 2 : N +sseg0[6] : 214 : output : 3.3-V LVCMOS : : 2 : N +sseg3[5] : 215 : output : 3.3-V LVCMOS : : 2 : N +sseg3[6] : 216 : output : 3.3-V LVCMOS : : 2 : N RESERVED_INPUT : 217 : : : : 2 : RESERVED_INPUT : 218 : : : : 2 : RESERVED_INPUT : 219 : : : : 2 : diff --git a/dt/dt.pof b/dt/dt.pof index a278513d7247c71bc989e75e3e047ce6fff17649..7cb2df7c1a6ea8b8dea2bc01e76ff0c2b32e839d 100644 GIT binary patch literal 524489 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�Y8u1 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�)r~(8O>3i^hb5 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 XelF>MKLWj?mnBJR`A2_z2>1U3`I6I( literal 290405 zcmeFa3z#LzRo|ICx{?z4g0E_?+IM?vn_yhammZh3m!=Wrrje@zTnAiHFgG2J@6KmW++f zQ~Ue>Pek6lJ>5N3*{1t zDW6%ZM$aFOM$do#=!I>1!3$h`L8RwB?>4399r?&Zw>(ujrE8>uS8gq@aw;^}5RnRA z`Bm5rDm1GiW9u5J=&Ae_*GPrtWGDTNoCMM!i$?hmkbXEPl}may83nKW2T4DdlgcF( znvNPLKQ<@93jS8f_+`>(kknpRr!URv{h?D=kG{59ClxtYlOdnhnEacZ%J?WRV^H{& zUrk0CqrJ+wo=tD1jIQ5nqL=MTb4j8vG6hpoeZTVd zBIBoWx|U8w#-HSLP1tziGi2;_oV$9I`KdGta6djabPmh}+quYKd z7d>uv{-Go-CpTN}HRVmJivPNr)RRf2|0T-ps^Wh+{mmD8acFzo5Q-w0nDp`rN2GH`=|erGC+s)KA_%I#gFXwS`%X zsJSZr-o1dVnNd=X9-&zzk#0z{s7g6NDCe|LF6x>3_GRjGS5Utwh~1kF^<&!rDVHqX zRVjDZ*SNTvr=ME7hOU^7gK~WbWU$;|xxNg{h^mb+3lS&l&d&asWr4q^WDhy5wT?t^#g!-wiA9e|(y z`ZdM(cOT?1cw=Pn-l$JNeFPy#kv*<Bad#PJpo7uR;G%K$lcj~Nj_5a&liJS%mB2#)h(sOxm` z$;AIA1%4kjZwEB*tqrl zfz2~CdC9j|)$VQ!UZujJL(}1jzvqBxwyx%=vVrSUKd5J~ZUtL=g}4=s?YE6Vx&2zK z&<~a?me_ATSZ==-EA)fqiY4}&50=}n#R~mkxnha^=7Z(-Yq3Hf88m#B2lLO zu8p^hUW@P$0_$V$=gQ@)Pu~ufXRusf`wo`-fVJGP2=^JkoK4Ay&_BLzL;pqD--mNs*>uFOyb+VK3A5 zmx3F`woA#43fcpI+5^oJ$zT0c;&V%o)v4UlXNa`le#>$zn{K7g?b`^0a{D$}W*96t zSgx-H`tl7vH(0K(1^V(0J~vpduLb(@4L)}hEVp{ml6MVznTEYg?}u;94SSiE_et$N z%G7rmI&eN+Ay)rm^vQwSVgC*MO4>iqE#qh}{DbB8Y4g@{`{cVNuZ6&e1p#omg{SQzI=nv4VLR`fxdjt6`$)qhSJyJ8*|qm z@OD^N&u&AM>Bgc=!(OK4nAF~*OxK?>??ktC#GXU*6*N6F_c?RYBT6nPBV7a~) z=*u_w++exB7U;`2_}pN*z82`qH~8FOxxN)F4NmyxVnLy7r*3r zt>sp&FsXjvk5)~mjy}44?RM(7w3x2n+M!SQvFj5YDE3*DtKPBd!+N0Bxe?*dm0PA8 z>Eprh4wma{*THgw<@#EnFW=yEgXQ{KpfBIxbA#pjTA(jq$LG2at%$oaqQT4MyXjU? zzwIA&TU@bnYq?utiQM-+kI9{nub8#E>d11(M%51Qf!jG!Rp*a#jH}%T@2YnJKXrlw z@Y8Qz3os~yH%0~@0QHk-@+3{Z6WO27qak~l8X`>`=f~;rPMt2^6USSQ>@*NR_ZS9EHbsg`@NYL8#zcF{k?xdSS{mQqs%B@~OKKI<% z%d~30F!ZOsZS_X8)u>&B1sN>Y+U3~`OO|_f@>@$WDA(8CD{r~y#vUK_S@dqE<$)l*Ev=s$}~Jfv;(w{!pdJ;clXhmTS+=RL-e-x%KKdJo*gvf zV7a~)9xOLluCE39@(n&WSgx-H`tl7vH(0K(1^V(mSA4Gf&`MtqByN;#xJTJTl&SBS z3{j>Vi85(tQbd}Dy-cwZbSLb!zF#-&W$Jf@ICNlxNkS+P8xAy(OPD`v2TI>Y_k!WR204VK%Vy%yAiuZ6&e1p#omg{SQzI+{@8=_46GGc4F)wA2Mm+8uP%w7MN#fRTzTHbt!M|Yi? z*k(7pdA)DU4S}3}ts$AXT}t{eA2g4Y+db$;ddeSSB|QySRV(jvy?b`hjDzL+T6nPB zV7a~)=*u_w++exB7U;`2_}pN*z82`q_gwM0?t>+L?LJsiy*b~3%QoDj?BN@8eaB?j z%QWm|>V9bzKkB;D9^*!f+1j13*NZY`j@8Sw2(NeuY(>BL^{W58dZXEDq+wlAyH(X| z|6!}=>J^?VcO`@6_GN*UAJ!FLg!g6aTSvV5!+Ps%v9Fef&ms0@t}gM)`&?Jql`0RG z>pL8SKSw^?{m-4cvS#{<@%1qV7b9^eJ#+JZ}7Rna(yk( zmv8X7!E${q(3kJI;&a`{Q2IJVnXW(J?Xa$%-G(UBjYXM;-(~6(lN#PJcl`z9TG-(o zbJw!Wv%}j(_}NKsJ;k70Uz-n>8!Xq?0)6=gpBpUK*8+X{2A>-&*Vh7l`39dGEZ5fp zefc^*w|dc%;Tv;($7J}%+>Lx=Zg|IB-zd|tm#NP}+*ySCupcasl-oVnCVERB_A>Q0 z-OBr1@17kr<6ybI79K1&Sgx-H`tl7vH(0K(1^V(0J~vpduLb(@Jy(3LZ$!g(Igp)C zLzJoSm<&;-8;LRvdzt!1nfk7g2hOKO__+}RTeY7V`cvO_;Dgh@fu(EfDq3#0f8P$2 zbBNFNHt&+p^_Fr#jDvE04f`CiT-sRr^83!|rB`$8zHx2otMa#m`fvU6!sdN%SS{fo z9wI*c*Nbv1r&?7V`sl1&8tJcS%J)e0*H(Ae^w(CoIlC3q4}H>di;J4|>r|JutE^uK zz0?fBiR4s>xFYQhDz32!R(cB|a( zfBM+I4si?kR^8`3tQ|Xa+)dEMh?-_GqONvE)b*Q6{p~-3%%ujGpHHP*w?Rm|)abUP z-i=Z(9Iis}x4xYT(QU3;TYfa*>3K=H(@WGmYcDHzgVamPz46JHuD0b?dRUj72sUTNl=Ox+z-n)>6f<+Q44)z`UIwcGIA+J9sQpX+P8!E%G;`dXkb-{5nD<@#En zFW=yEgXQ{KpfBIxbA#pjTA(lA;B$lJ`dXkb-{5nD<@#EnFW=yEgXQ{KpfBIxbA#pj zTA(lA;B$lJ`dXkb-{5nD<@#EnFW=yEgXQ{KpfBIxbA#pjTA(lA;B$lJ`dXkb-{5nD z<@#EnFW=yEgXQ{KpfBIxbA#pjTA(lA;B$lJ`dXkb-{5nD<@#EnFW=yEgXQ{KpfBIx zbA#pjTA(lA;B$lJ`dXkb-{5nD<@#EnFW=yEgXQ{KpfBIxbA#pjTA(lA;B$lJ`dXkb z-{5nD<@#EnFW=yEgXQ{KpfBIxbA#pjTA(lA;B$lJ`dXkb-{5nD<@#EnFW=yEgXQ{K zpfBIxbA#pjTA(lA;B$lJ`dXkbpL}k&FY^KO4X@PdZQzw(N}e094(x6J17ckLVLhOZ z->BGODd}y&mG`;cJv(T|!E${qJXr1n-Ez0^g#k-1q`3CW2!?l~_Z^cvA7Aljh-0H_ z=fuWn=SWqZKguz#b|1W}-Ua;B2@b$dzj-adpbXy6+s>atwuS6T_LERQNt5q{`t$#& zszz%&O&sUP>F`dSF5VNzTaN5Byg0qS43Oi}F(aVX+te?vogWKvbE&tHtK%H9x8L@@ zb`ioey3TRHFO}&|*lWG8=9O>5=XP5KSE+F5(DbKPNuMipX|JuT_I7XS`73F~ml7Lu zRV`=bR`JyO+@Rb(EihPap9X8m2g|jl*k@s|+&&G~k`I<^O|j3yV7Yx7tR){T*P3FV zg~4+BG+0aiT(MmDp%vx350+HlA1|>SqD+0qL{X-dO_~rZ9c5C?XcePOJFj?aJE(X@ z*Ev=s%G9d2Y6bb+5CZEnD$kY6SD(HeERTKeV4LVI-JkLA_GUj=#$f|OZ~LzNY#kQi zK4ZK3!`i1;w}59@N_rc4<$bPq&kmY#uv}jY50?8tw_Nw3mA(#9rt1%QJ0VujZdEnx zWg7M}t#$ktAMLv7fyAVSy-Xd0@2l7@C41qj_d;|NX}y|G7T@zj)16o4*O_g-(;} zsdm+-JHUVcroQpH>vy`-#I=eOBwSa>p^ti=d9O=!E$RD)@7Ido{Yl*>vW{1%dPTL% zu#fWIrL>g){d*-pS6gUXaO2ChedyCAwU9lUt~7Y!)m;fIR@NeXY1chkbZb#U+d68T z+ro|Z0m~HQbVMznQ95+!rLW6qwH&Pr@XXQzk{NC^Yt?HD&(QcsKHH7dQm1XdQx-z- zI4?+UP_@M}(p7CD^#sVrpS-8D&b8WIwdw0)ugY>`z(cS9Ul8DCbKAI>N~PA8qMhu3 zH`eHaTNY}QD;W~mOa9vyNg=D$DJ(!;x*IMpX%*56sN_KZ?MsAemCB`M16{+4A#=ZH z`&G*%O*-0Sct9rA551=)ltv3JTW}PFF!GudS1??s>e+w-B`>7Zt=2>d;N-u2Sw^+3 z7t*C1Z2T`ldsp1FxvfoCP8aawUkB#;?baS-DSuN^+j?8Lx>(Sk{QX8*y;jFiXTcLL zX!UMXM-5#WP8B?UZYhr?Wy8>I@~=LH8jY8hbE%_P6!QXeqq-Hj*Rq;af+nl?1#iyu zZaq}gIcwobLOHM7Qp zi>=i4C4S|mn_B7^yt`+#9e+~C-^P=*gaw?YE>}-*S0cNpQUA5dS++2(zPZ?K^y+1^ zTpg7auomSMl-4WM%ZTc){k~Ck#}c+35lG|G3k&e#L3l`OT+E_cxzzA65J=)3p39)6ajVewXR=^}jLq_yPPb)7$yY zr$?55^J$hYuAS-pF4LLjzqX^3#yFnFFb@1^r*)m08CByPiy_93x~^pER+Q#naU}!0 z)VNkl9d7mv>S@TX{|Y|0OPh;km&+Mp^y0KoW5158CPZb*Om&S6k}g%Ze07f39s({+uV{8rtudbrD+o(VS7f(*b@BUyF3YQ{ zzxz#Heq+b20?WifC>@vK%eAh!=+OeQ=yAxHgr6-47P1jKsgD1c&Ts{z8q(CvNpVRT zE@R1!TbxX{pf7xjysJ-^QjoCK^HOmxK^EpyRsZ%g!mbjxBy!16%a|q6H@Sj>Kl=|P z)2>w7CGWac^ujHRVwN>8U>R4-PbU==Qi>pfI0~jMr7PIlx*6X0g&lNTlolaqxzrM< z(6$sbZ550lo#d7}b&4HoA(Bo4MnPpthyE@FlEf8}zTE33IwNucbZIqAWfGvZO}EsX zz0?p+qKiLEET_znRM%-qfUETr!aW1iDtZ-^>6cDRVy#V}OK+Emqq4+O@DnM?zx3ok z{lOm;3>FZ_gxgro*^Oi>t_9`RDT~Yo%xxE>1lfqd3ry^}0q5ELAxq! zr(|#-L=Xz7&Jq90auR+47ck>s%?~kv62O!>WWPm9)juxF6c!2{7g&`#uu>$?F1bt^ zZMVu5@+G1cy9Di2L{Nx6(%*4VAFm>-9a0z;Xq8&WT7V_fwIX^!)M=06BDItOn#`3a zSB(1o|7fAI#7wglbI%wIl}yCERXJNKo`z|a`iyx!n<=hfWRQcX<)r1mHaC*8v{Hy+ z6)=HHZYs@P6+kIf)&KZCDuj0g5V_d|kB2va6anPcNV)4aS@;|7hGHB+fwGf7|Ivyv&35kCn09{s`_hAV zl}ONxAMUP+1l8w9)uji=69PoDr|#HT&%ftAGdNQ#0Cl8_xY3B85H~eHA-*xq)RXvS z@gjTj)Qh^mEH2p-|N1xJcOFfX&*ihP<=ZAU%i;|`BK~;(W%06?>3&gvg9bR#Qk1C^3DSrbSim=AFf z;^zgi;4C2LrDC#_iJhl~au6Ll^qcR_?Pa2pWeGW}bKptUR#VDd)t5OeCxfIe|4G#V zsb-4K$=9((UHGj($<4XVSR0~wR_Re_lGPzA4qA+rFa$FF4*#PpX<*g_T9-6_#59-Rd4EuqG-HM znNZSlF=wK8Q755`C8=LYl1T;5hq5`x6{!<95keEV!LO>`dJ;jv#x&kXvGp)5qGc7KfG2w{qhknUl{SO1>W+&@g?J3sCS{> zg?jgR z&>EGc+-Mi-OHg03axL}5UAcn#V@A85{O3OY(%PZzt5c759$(wQDjV+j38)*WE2vTK zwRba=8r0nwQnL4Jx^h@!3U*YIKjx{c;>gwZWNev&EwlifcNXH7pi_{9Xd~9X+*az4 zMDhFost7Zw@)AiG+G}i=CDy@0EsXA=aw=fu3uwW*mF_y)BHBU`&;s6Z2}uQ7#FpG0 zTo^8_Qix0Y&Z7cK1>My@BL!Q&%`}ln(!u~&Tp@&g%iq%(k~S@r5wNJxqPwJ5LoeeO zY${z{;4)3O_BoC+!Bws+6xHvAQpE}dVyv1`W9H%!!c~|g$YotjDCy*)puT?zbRolB zlAFW>hTKI}NpCzBc|I2n^1xWU*bL`XM2kEe$c!yp5EfyDTFQ4x3Ov&(TcArLsj9w; zfVF5l?9k<>0|RZAa#fWKsVWwk&}tXks)@ENN}j+&1eka@(enrhCkirrD%SF~wQITb z-ml7}(w+azx|A(uGqf3_woAFoXlT~ZG(jdsTJkJH5=f<1s5_u{p9-}4fEn73`Qa$@ zioIpEt=yIwDYd9*XHnI2V@{~+P)w^zs06`QHA@NOrNkx3rJzyd%R*`xy>+ z3<`zzR$RngeWHy3a$Xu#S`PK_iEspWjLu{uE_9C$BCK6cD5vVwKT>;2(GJh-QH^sb z-Kv1NJPjl`2X$oRV5f8LpXfypd>tJOX{CuE@h1Wk8N;b~z$e@Wrft$?SBqpw7Y__5 zRytke;0Suw7NbE$f}0aW)(;d!luhLv#$w783N}VcL{Q!REv4M{S%6Nmbk*AqQqX_S z7Nkg&*~vs2sgx`ocxEi!OSX6gG6tteIFnrxCScVT$qw9td+m z0Yfp7Fh3gDyQBg|n~4G#OMs3)B#J|l=UJ%e8xF8@i3*~xej^|iClex@j?O8TNR{Y^ zql$`N65P_xE)SnXGoWdmu$jYzQV(k6(mC~mqW6JmxGBp4i09FDLSmLhWK*&s+^U<| zR`vL?x=C}Y3^K7z$3cl5PG0$u)>0u$+OPmc)ugPF08&+ANv1#nayP8bD6*-x1a`Pn z%0Vlg)LUt*BrB`i`V+NfZ*9%zTQygQ)XY(nnv@e7<*IMcuYapuM;|FNNU9Rq%(j(D zCU0QhA*QE!h5d;Lk7NUy)0oX_M>aKhGHPA#Dh{e77L+6$MPF=1Ddngs;sJ1;zu`y& zPnBkMqD~yvduqKIL&F!1m*f=B4Wbizxx=G&G96^*Kopn4JX7ZcOSgdVaBH-R@uJS z@HJze2geh?sqjVB?CGQBEr|Jbhoi|;YeY7`zI_WK54<&T(C&K;iJF#oCQfo3l-+iT zsHud^y?^dS)r81q^-q3}$E&rSX3R0-VL9bD6*d>|(Q|6VDizse51rm?IAed?PV?~E z-QknAm}yOGW95B^|G zY*(oq*_6de*q^>pN<0v@T$+JwhYhMpJ)TfwM^iE-aq2**E7opApJ7luud3EL7~Vuf*%kmI zF<*nz)npw)R>~CfoLe%L-+2$4fD4Q~dhU*EPSfBx8$(2>U4|oaNFqjnD3!~(SkCp3 zrjB?qv5G+~(F7HRF>e$6$QJ(48y*xiCv${9`NJjxuY8O|Kr^fYRla;%Mk{}c*;2*Q zDd%%5J|#(I*p!jTb?G-Me9Hpn!Y6B&CZU|*wczLeR%q?!Gou7V%TPIKpk+mvohLHG zR0SurQaFd0MH$^R!t$hsx$0`%^_Q9kJ@V!<)D^#xGNlj`rhDN{1p#5hA2H>mzmCWUrxNIXg@ z*lCUuOQ$&~D|cJ@)LPoDN%9qt)cS-*n0dtN8p`VY<)6k$3Piu6%-Q!;pmITXL|b6g#<5tutQw48WRg;1Jt@Gq`N zl=$bl$Xd+EElwApBnoDB^c)HG!gp7T7tzwNUiiLm^o*Ag3#23JY!f&a#5yEAihLj5Yk9yGf|0# z7IpWjqt_f7+=Mm)XnHwO@)NYM97=^E%8RO>U@`@BDpgIQ#=(F101gKDL;WpHZY-$E zVQ2%lv$fhhLFYdTJgp?=e;5c^Jfuss?{#>12U0YnofvRG1xYh4$;h`?R-~Ym9#K># z=`l{!KI6wkCT(DZ+6>@*t(Q4Ot2(q)8qXT4(XI*_fkdHAqRwNfBFAEGE)f}*Of3$l z8T}3)g6jwWonR7@lZZM)N)1TnZ1bSS6lsZ9;6i$Zn=V=?1X=MArLhTw`Vz3J`bfU; zO~r$1C_5gQ626$JsZuEPYP^UKSOM7UB&-08UeLP9ZqvqRl_-NUaWWi*s_N{=a;mv5 zgh(!{vuQOJ6%$t`oPe8eC5lHf}T;1|D-xytgva>BJm($G^kcUnjCWnv3m6WU{Ylz>JR zH<~yDlxkW*eeKWB&g!2WQX(N%7R4wCOVaJ7C2*4Z@jO9cmO#FXa0I$Axpm#Et0}sv zirF+v>d{z=sAC+S1$BbgF(F70!A&bFNM|I)?UslkSIvAviQi&$&tsK&)PS)OttR|D zsrMKkxJl;K$9*dX8rSRVQ=&{rBd^Bmv&nRFcRd9&n~Y8>zS3MiM&w|=HLvGeP0g@w zZ7PDG*xy{)16$-PR5ZIi7%%> z?lP|B{d2g10EFdsk0p&aGmGJ7>ZLLL!%^n-H~%U*BRTf>T^a51Xk3rD!cI{R7#TXu zQNYU4%gJnOE~kNu?QS?yd4iXCx> zMLmI9;K>y+Debn)-{~9^e5!IxDo2?nPu+o_wNyRzdc~v?yX`C_N13X39pdzS>2pjKS!;+po)Daw?0+bM!Ylu6O6<}xv<6NH|iIs;IVrVEN-oqq)* zKw>#b-Vvt}(WntLVlRo7VWpZ#khic#m2*q|(mD4M>=_|Gp-qWY zN};A?hQ=yE%hDZ6HpnuOs-a1me8qNE?e4hD;ia0 z1MyN8GWjg3G&xRLp(t)uvaD8%sB>=MO)%v_lBj@@Qx@IiRMr3L=Ab| zV8$4V!~Z(bX|Fz>S1IH%0FA&xOeVj|XJ3M2EV3{eN^8p6asWLVYM-(VuL6PMNZjuw z1wTo1k-C&mb8^{z&S843Pm?@q0&tUR74d2@%IA{QGBv~e|3G6|rV6|>^ zA!-*H(Pti(#ZC&KB-roNl>(BILinV9qn7(Gg$fyFGYwRU(ueZZD$PU>6S^u`p4;1i zE(ZXTgt-}3F%w6d2*nsK&qYE)iKHB03gy7mlWj2WV^&clq$V=VRd3T=f+aglLc$}j z6k1c&NtwEpJgT|f0ERk2=E3S1LE{k#D)|eUCSOiTHB~7%+1E<3p^(5UC7;Epk$(Oc zQqZ+P?jRzmh6_y-6_shj9_!{r0Z=Vj8aC!%4-45UqOxcx8Ikbp1ThA^KdvaCMUg}y zLnqlULAyN^5J@hQi!uc{}v)I(rSAY?^uj5(=bQYJ-$M6eBRm60KH2|FVO9G@cRFlg8x zjL`@VHMXg$QSpRnLvvp>lA)ktb3!AG}AzlIc?9ku?F=d%(kxmb0a3(i9)KsO3-&y;b1BC!<`Qj0jmsz-Y|#F8MqwNSTg8e9DS#i)af4 zGJ8yrbVgvx$(eMo&v1tBhkphT$#Pr>V;H!AM%DNzy3qpF6mRv_)KZch&*7vR_a5=D zxlR8K+)nC>(4<@pIRd8YFC8;xal%|)S+Ge0YE=^z72F`MV>IHUKo$e7AZaw25;8%x5!d;IFyBQ;lpa5) z>-DteF?UX{R7Z6lwH5q?Bb^c1_Su?|!gAZLYf(fqya#2a;yGHW=I1!cZgfaf=l3xfRae#+4MNWYqz28Gt&5m!4y@P1$9;4qxGA`V|b*`SDnxs!TbLzsG3)Po@CAw{%oUN~8C<0q2 zk5AXf`WsD;ZyYCHgXqz8e3EDa2~^W%}iM%Z>f8E>9^WtAJ$L_XyFPX1?DpA*K5X+FdB_y30GC-onPEpIA%!PG@x= zF(cwe5oOwpy-bH|zUsLRwKpvxn{R+7_DS7FlYkv%s-HaZ+R>9owyP(PZdZ?g3G?jO zotyeSFusXHlL(7LZ=N`OAK#?>a`rO4jJOe@A$?8g ziI=?&$}g@rp-#Vc;&k(mUv{3oO!u)n={(dA*3AzAy!Zuo*H5gy?h`M+?CuMVf=Q44 zHxa@5p(8t|-g9*4!f$@a&ZRGS;+_i^{?#XMH$Qabq56l8+`svrqo+RWd0vnhCEZ4{ z(M=_WEbnE?W!3;kf|!C{0=0UTy-cQ$y-fK+0)&|G?wYPsa~6-p0w&pB&|29nFm5_Q zttgW{1rT*pa~t~8UsY8XFX_fdYnc}vu-tFX!TRGkF>yqJTGsMugZcNb} z8aK)mqeKS<2BZ^{Pq#bUIuccK>7g`fw&zfsNLQQff~{Q1FI+#gi%q3`|8Aw>D9q7B42EH9 z5z~;o49XM+38Ewg5+LcoT=#Y3MQ^RDU9L)k!>tRQu9F+8k(_JnUlSSV3dr| zDFg?Kb9}lZs79XQsH-!|O(v)*w>?f2=NMM@2{d|q*r&hP6rjS z{AWG4HkKK*78><(#wK<=4_yH|w@`J({Y`Wr`W-|PWi#ZlR=-p?tW~X4je(+*e(mc@ z#Wza{8__}nXgaK+Iw#-5;lWvY3Nwj11aePOnt?pGPc%!+uqhRfh}bxo`YVLMAh%|wmIInV zs!@=Rrp>lMViDnKZ5MC{MJ+``JOx$Uvw*oX0xb$!TOj8Q(5-A4?IozL-pU7avWF!? zBiGN3$lDl_1gOE379iA^B6)ZYA8T9oMiMioNS2iJtU;+UrL}~i37qI~ha`r%PN7}` zx@`)b;Hm%jcW0DH!18e85+|t{V$Goe*N94IT{*-q7gfT%i426wfpLpoOQ{2lt4~m* zBuJ)wKULYhhgFw35@YOTdj8o>m3lT7|SNG zBu^4_o1+3o)>D~`1y_QEhSWL<>O`gk4A~h9+jIxYkN6P*!$Bz_B-sd{w0b4MA|(xH zK$6@(teP?`8Z$*$1OeIZqUaQ}y*#22wMl&O%l{tSS`k&`aMeC|o_Hh?6K zhNn?Jfz_a?DnnsMTGONxAmUHClBlwlq(JdOdudD+@}_kh#y;B86b^@o%znO4}}JG5Ch>Xn_=Xh?4+JW5H5_rDEcH6N-|abV;Es z<~p%9Z*Y4sr$QoP7ITZG2U<=5(cZ!+wYnG%POy@Yk?EW#Di0lxwjjwUvM5P2$<4Kd z&Pv=abVO#f?4nLVLY|XX5S6{W7U;YbN?rg-fa0TPwkhBF=Yez=VQGMugd!TM&@BNr zFlLHsq`>(mJ*iGRDFan?3Ytpg#rR$IgIQJ}N{ZkFR67-0G zoK-GqzMi4FU7gi8NoZ3^g0$4nWdcZ%relIS5HMzJxuP)J7_$tsUa(@&a55*^2B?G! z`e6Z&OIwI(bYY0O%9a+SYGRs)R!DT)B9gc!=yYKl07afUCU4{MK*b=Tkhlq$GYMjf zPU`6>VZmw>XP5u;HQoe$=na)3dGqyZz99h{3H|Yjxmwq(;h^LSEV&&8+oS*&3SDqa zY$Ej|v6$%MwS6vaZU4$cpxL5yk|5i0I<}bzA64rcbf($9KzIiu%pW>+q2iP3M6`&Nkq%Af#J{%KK{H<`^r78J z<2f6xh?P_u8w5+#g^l&u`bjOpW1=B*A}Y;E?YH8m$VMmECnF*xTh!R8LzG3@X?GH- z_Rc4E6dB5X8zL2eQ=!I~*w{w;EbV-nYFD7{EN9=# zjxp}{k*D25e7}y*J)Lu6uh9cqBPHHD!Deqd!T4+MRy8|!YP)I9eVQH#W?N^rPyGr` ziHRHU+#)`A^5kqxcy5dJk6_pO)+RmPIIi7JgrAs^o15I^&Dg|-`g*;k>lnc#1;OT9=z&%6Jt@*KP3HKfj3pZF5@X=$h;F{oJe@kT_0XBKXQbRi zXHWfUVkLxo?mV$k@8BnVV{UxDsviF0yQ+(~SJhK5XD^d~3+%SBw>S|ux_#8-C{z93 zBh}1cz5{oArI?gjFP@w5kohtJ%GceN5UXbtKJ*GU@l}Gj;PM zzccpJd>ikbQ2+LSS5=Q4xwF|gad(~Aoz$@3XyY;V8?ifS<1I(|RrsSj^>@8|r@l-i z=w(lUc=!mRrxO5=oZq~B^j-k>G#lEXB!~);t}>Tfq*)G zXYAJy^N6YMZY2Ad5RV?&2Dp9U;*oP>8vQ=jIZb+bfi8_IYf)3&mc2}in~vRMB@zT0 z5|$O_fcTttw3jJS6lfB0BUN?GC7Y>#1$9t@4{E4P4Vcw5eLU5>cYSH6B(brWb9WOr zJ~|im#L3;tgu4=79YPH&>J@?sAsNyFt|V$|l1mAQaGD6HDzG3vC_7=5x!2_C6jv`Z zRIhxrsxH03XaLMDPMm4fdtRu9o}%D7MW5)5S%aT?JT*$W1QSo9wihUCTt%1JPvT4en@KLf&dm&#ns~ zo~n;5eTNJTM3OQ^9fcjCknJp%Q%oy}lG=loru@jkZL(?1tRVphjWXPTp>JFijrqRw zCjuwDOwYf>ktb;_lTKq?6W zwUT5hsj7D5KGTLg2^N#t-BR^?e6xuLYAOV<5a@$Z5^I)P5m@p$%{6-jbe)9*wD8(` zK+-6y8^R`uQ#({BDVG_y&FNuF0L}@Rz$FnNzJV5MV3X?mKeMWKcg3K?h)`VJQdOSgcdXKfL5as|aGenbTAj4GpiX81D6c>C zeF}krwQNY~uWCZ86%LsrZBSGKl+>bR;=CL)9>3slO7to>th)F^Kea&rf==fwT;llW z$Vrnocp4t`UibH{8xSs3QDh;LERp*Zis!RfJ+S`ziwzoHBT_VbMk)#^w;@Btpe*!B zI#EfekV-e|>UrN1;tCl$Q1ooj_A1GnYSiqANoOX7jA<#hH$`)EJ=V(7)uwoRw~c5? zXX^`d;SeN=v{?Vczf84kjcCO!7B9jXQ;Z@XLGV-`vn3T9@hk(=ak0eoZjc;}a*k$c z3RR?ykEl{pV&!O(l#*KF4eg9e)qQUli7U|+ieY`j++s?ZhpFkC?SwMGIAx4895aDI zSdk|ZmAiGpx~X(COY9O)>TgkXL6N&j>tUl-4i`WrQ%13HQ4`caugj12x-4HrUKG0S|+AFwIU*h&B;3Ik`SZ1Yr~m#qcOs)!*<_t^f;XwWtD`D$0a{ zO$nII>!k1sniHN%ZzSxB0%LZUX&VnWXq2a;`c6+)jnMjW$Q~zhLBwf;Hpi2u*`RN< z&R6I*Hk;{Ybzj2{tjY0IQ6{$ZCc-OLPY#4KTYR94)ikI&otFDZa|WFd6g!`ST0tGQ z7(tEg6$kzKFM?)$s!l29Gn-N-R)kX88%htx(~~t3vW-omLK_sdnk0{e=qD-&mOLqj6^!xORNtrsLOf#ZP7XY5+xB&IpM}I+P#&NkXn&uB+ zSUqrv9mS1e@zf2z_Zx{aaZK2S2!n4=f*QN-XlZcD)QhSfh=Mu@EL&&}$yNj_MOD7Y z(&?MDm;9-!+I<-7L1=$qjq^1q)?gU)2|c2<>}fHSGrK@ZpRH;h2~FZUlfb7(y0(s%;N-HD+meJ#G&O@vJV~l&T^ZshC`&RC0#kplBiN?s6;@?%4>Z!CO#wq zDS9B$Zq|ir2avT=%keJ}Qcu)c)TN!2%c^|icZ;1G%Ee5=LS9B#n4t+B10xcvz;YsS z2t|&Fq?tQoyl{8>Pqg`R_I+;(jFaC6aG9?KN1BU0BqYHA{yF&{N2zN_(~FU=jZ1+)!? zesT+rY9iGYwpa-fIHE7M%7x9VlZDC7x(=#;3|F}+mXYNG{#dPb0ca!^4VstZfV(@1P-*Dz(*9Qksk6poVOt3DX8dSX+B9=JBa-*oG4UB4iTo{NDBt}Z33Eb z4}+PyZltb`vSF1+7Jr7XE3pTMpG06(9DB`ZOWH0gkL*+?7G zEOR6Sspol!azT}EPUWkJ&YWsP#U!DUY43AU5U)kaW)=m+P?nDA`uZz>7f@Em_R)qu zH6TOzhO?N9x}6;xNuD&2xG6iBX@Hp^peB=YFRLCf0o|}f-fz8=U`gC_T_3oJw4t0;JPvqhi>hzBaM=~gioFOwv$|(RTJ`FJs4Z3Tv-eo~94MQ~t zBLl;+6{2x^?!mKiy0(hM*D-RE448ZJ2XOE&<69wH!kYQQBui=a35YXm2bn;cIZlwY z$>l_~3v97%0R;<*JyZhWNFqR$L>GSckSZQ6*#d&BhroO}#1{mYbs|Z7Tof^C+sa2V z926*$wfCe=Duz%>$!yxU6KcfN5iO4#$z&#>SXZymH-n)Bj8L^Fb7-$)8N*^cp~TD$ ze)cp$w50GI4I5l_2{RR?#w9^4*H}*007w8ciY*_)3nwp7o~jSo%+-YeT?(Ac$4Sl6 zIuEb>w2HsIXJ(NFsXqY{1(Kzvry9s4f|UDAqgr4a@aO@`cu7xL3^1Cql3+<&=X93D zrBw9OT1?`Z%V=FT&^Fc^XjBG~Gd9HV;Fj`ui6PM#no63ynmpy}XG*~A5PPG(m+Cta~>ya9`r2~`bf!HTg}jtWq1%3px3`>2vB;Vf1bgO z$_33L!?@Y(T=Kq75=~q?D0TeLHd)ZgHX1S-;oy|$@m$4DN|b}B15^WE$-jfozI27x z^z(PrV455zj$JL(EfP&%FgDy)RU}=y{(C`GWG8LG}xg2m7 zK{O-3^Ph%$E?iD3rI+~=9M2GxVlHSQ^>;17N*Si(n6Fc5t(9TJAMPg~;0Alu7oG_L?+}J5P+Fde7g666!LgD4>jt zA}~KSq~_G1TUI=nDmT0o7$u0!oVZE=4_+fluYL!(poE9(E`kpmEK}7U~ z9dwQtq3Swn;%R)lkDHSzRl--atzct=RBdId*h{4`V}BI8i{><~4Oj{3`gR!98r3Ga z2;?+u$C6bU-Mad@uhn?4uPbrijoC4sd~S3vzaB--XwC?UO)nBR;^&%#XBQJ&tmqrJ zgEJWQwaFcg3xEl`!1$%4UA{4={X*CdJCgX&g)bhW%@#jsG(Yd*ouK5_jJVAkP9&UN zZ7X256|(s;B)%v_%mlmfNxm${5aRh#17paeCW<4DM||}VtrRN5-_`{oq=lsQDZ8#T zTZl;M2e8KAun>ciFp73)VMn4`5tHIKs@TcJRKQ!ctYFD4S&AWKCeCKW5gB|(nUDbR zb-z(nw~s3JGF3b1dH!%UVq?)RztDa0!+A?i{4P`d^f&5TZKF#M)+7He(}^@=canZ- zseXWP(icOG5TZ=HMk?j+z*W1%q%JGUMBM0S6i#}%e=Gdb$K6%GA*d5krur$qUzhhX z5tFK(JaN24nX0edqCo6Uns|4T_8UE>xRE14ud17ei7XKw zYIcvjZv0&!Hne3a$BhU<-Q7l+?qKIr^90c=qD=M0Bd=rU)9KjDq@Q>C&xjE9<(Kc& z-<$U`0XWNErVCIj%5?fmkLTIVZ0G4y(*UQ_`0tGMyG$hc=R{Gai)-4x>?)-G2g3>i zmv=s?%)hA1&L;^-EW5;wgrTS_#ZHsmRP{`4l+dY_{rP{Bx^(cu!$PA;t|gIH)RsO# zl*TG*)nG>W7KIf+Ji2=MHb6xs9u#v)ifGA7AP^X6)?H*Q%843uKKT-&3e=KbS6}`w zs%m#v9AdFnTEeMEtA4HmW98y@iK1?dq7f~{LWH>vcmg~+(bHZ-al;<4R?jGuW~k+ulni&ZR4CEfDd7TzQrumhx_aSH zP?uftUSSF1a0{uy<^DsX8uxn;B@y_;6)MWr0MnmOb|h2dJx6uR5C8PXTY@k|V7WMo zOhr#qK4al32&*n%Nk~rYX$p=l0LS>=SCOc;Tw~J7m16MF4j1)oreV!n>r!Y_sFQg? zCJPY_1*@uaNY>fQmFjd$`UHSHs9gxo`u_hLAO(GgKv) z1o;q`mCyk*I;5DZHka-;q5wI(KI@cpYQQEWST8+O>sc*xK=2EXKtl@gC2MnImT^(j zIWI0Pv*eJBiegtzhU_PM#a~=dXC;;!TQt>{g08JD(Faa47gUQD_F4M=?ZUt=`7$hk z>K#6Kj0?Y8x%9?0UHjW66MLJIr>@agQ15=Ds27Tc?9x)Tpf+eX%P#nq`hWh60%G)+ z*9oge1G$Y$+>$YnuIU7|kQrNUhKsbKT0v*o1s&ZkHFvwMP{`E3d?A2%Wy}dlAi8w>4`FrArOYDpq>s8yBZPTxD!pZ9ITN0NSFHrIFjdAG#72}y{ygq5YS zo(X*_)ETt9<~;~4K4iDmwl4u$)-L)E=Jy{px@|>;wh~4A88GD?)Dm5^5$7yIgStfC zrP*8gt}_cdiz=d9aA~0ALS!OOhYp;g{j39O#q=pW@~LrY@_6dXqM=gozP&_Hw=a@& z)5Vz#WZZY@%4oT#}zSd5UQWZ6*(>Z*Exuk)2X`?{I3 zSdjW?Liamn6rVm~CuwBSM(m1#gc8;^?f{|JCrofU@thhx@l{UyRr;&XWC%?%3)oIc~(C!;ai+f8pWRdda2+0RYy?u(b(Bz-Kw>qR+=jK#;b#DHA zP4&rrHsONWgg2FXyH#%YKYgs5+{dZq-4oCLsIL(D*p)vMeFc8Gy1%CON4?yVYya^l zHLQqPNb0zoNERb%21c|?-5F7%pGj?SKJAnGefPk((-jcUr!9omx(%XRmzvg=8oUbi zqSqpQ7V3q=RgnIjN3mSDxoU0cQHZ(f$DX1r&%<46o`;v4dnR>Pxo4$bQtpkv_1UX! zxs@K)?i#1jTN)?oU6+%YJL7b-sk@_!>_7fmPOF-J>g1|whF*hmeFtZ-++exB7U;`2 z_}pN*z82`qH~8FOxxNo!+(+oRx{L3ZD(ZibYr%CLp6irFjhliDBHz9|FIZT7~M zd-*@?%DY~47+#!o_n6gYnTQ#B4{ zekYCa`M0Vel0Xy3?>}2+c^R2Fax*EpEaD(>v+3pEAh5*t`@QOO#)lmY&MZ3CKCy-9WSw}WPnXEpTfDO2r@_&Va= z{pO5ZNLrMh!MB9Ul_l7M;~L-v!5&JV@J&}I+Jo#pkX&8%o}nM1UyD45bTd?c>EGI) zW_xRMZ&c6P@+-gjSxK%#aFdj{RtxW5ylSRPa;;W7@J`XIMVGxTcZpiyo(sSBx=gC| zOz+Rpa?8)|=Qjc9wF0c4Aj?Yt$VC;cf>9w}-6XESDAS6kckTqa%0RW;@k{>_;1!YF zFP1T<#aaU|ikx2hmm!cabNeMf5<#1O3l56-wFj9fmgK?^Y=t|kpD7!Ic`=Y!Xfe~G zT9ovf0=21=R^WnH7XpYDANHGpMg*GKM!c4fs}>g_3E+i2yv5RHD4pfiM&i-Q1#-V@ z2qIzlPnKi5&Cw1hZ{rJcsR{*eQ7Fts6%B~~B~vg=`qCGM$V}>&jEgx~0vf964b)=P z;Y2|gU4Anx-onsQ37Rp5LF$J%m}x`k#>hAYc~Sfm^)t}|i79f|<09K(v$hM#Zo)4m ziC!)oQIcit4sWm-At(hYXcoO$%7(Iz!IT0}RX_85$QVG#O@tiD4$CsGDCzfDMUScK zjTZ58PR1P5^EO6-1m*3G?w=9kq z3w}>%buAmtlEIoyD0fo5luYYE8EO*a`KOTRQOLFMuQ`JZwJfuNw+_NY!88^`9cW4T84LoLjuw<> z9!e(d(2Gx6Dk+l_EYOYNDCZR8ruPW`gO>u3XkLs8wH7P}Mw)tjvbK7+3jnNWiDY`Q zs3wHrSv3oge27eEkD`boc1ewd786_oO?bblG>jRNU$7!p4c@Hii>0{m_IQ*oJ-7y=j8Ejhg zW<{Yc7jf5$exiXyRf;3t>PpE8DF1#dj_Qaos;uv5JkfjaSV)4toI`+spL$wstw6Po zTJg|DV{$ENB^5{`-qsth+BAm@;vp@UFJ^<7IP^YH-q@Qbm3XOBm7th2f)(TP8d_I7 z4`z(^7@(#@$4qcD6f{0Es zWlnE*=@yl@R@*3&2uP~QHIY(rJphu;E`!J+bjeTXlte&b&I_iIq`R6_ zf7kCzN7vC#TJUaat;o#TDX(Y;V)5vu=4pkOY?A}Wd35K@>$BBaK;%!1G z(Y6h-DZ1!BNhXo4puw-Cos7oI%6a2(X&e~$2@~B`pyFi0+s#Oui2T0&1Lu$931 zx=~Gjm*>{WY>be}95K8leKcNQhjDTzuS-WK-}IyIrNg|un|GsEypNn$Y|oOcH|0X7 zwnx?7Gww}ly&aubm`_I+p&qaE@^4-gzK$0(nxpForXw)kIo7D?b=-PCd2{JVsv6#? zjv*&=MzP`j=e&Bmx%|)QI`3a!*AUY0DTwVJ8G`_HlS`Z|uo`0yHf zCi)lxz?##HH~(Qdy-R(ak>$PWV@cuaOj*jww-|bjP(7RT7IojyNjbeseQRd-LAe)y z@Q+s&uQcDeV{@`|q^=*}W##9`v)ugv6`N&Wn^zVzUo z6JCNo;l1k>)RU)Qe_OpXPRO3@9vky+^zryfguL@;s!x0}KDV~hj5%h!8~x;A-e3O6 ztLx2+ud32pj_foS0bD+OZ~gcSPG359@iRfL?QC9LJKbDbdtm%HZ&KfQna-bl8@SJhARR{7msbkWkHYna=njtlv2 z$alqY$@c06O3sB~>#2g4KB*}IW*$T@XL=(KqQWQn=!naeNPW%kx-Z^;1C~HpA zh`rAP8j~Wz4=y9zzVEIA$)ri*r#j&|HltLL56RMYftVWt`0mmQB@H)NF7R-AKGa|N zPDzTP04q6Otim(0!2stuqwbr=f<()KNH0ZEOTcIs^C$9{p}MiQ6BwsEI@L*fjF#`E zXt*7Kn4PzMFcf(n0*Q42t7(~#@xr^giHnxi4-JQ%+})#J)X^dvDXB@>P04oBB#DaT zaYO~tB#~OfG)4-Lq<#sMS}pz=WG zXA-J{sgER`mqdo<0;3&TX)*3ND~Q)WAV!ka4KV@8=g>DgV0&2+(Z>6A z-0xf#iHABmENB80trUv`H0QUyFE{3D2$KMkx|zAi)Rsq%vu#*V79-8YnHf)U(TGuC#gg*}9E3qF-u8-jEtD2aiE zB0^%)Etq&j2m)y~FJOyGU#B9tU=Lw5`NR@V^qC?a;yZ>#?g^-ONYKlWK_K>36 z3;Gm3sh|O?HDqWf)fB@>DIXB3IJX2XDfQ%!{x^u6K$6@}>4+gM*wCO_AeKr-7F!{! z%oB5#iiW~T`bkBn6gm~0V3Ty@kFr80>7KfDSJK4P32LA!hC$~S2$OINOw^rWy^|Djd7wXCmt+z3v zv>Zbx&qG9*2Tz+x#eCzyV>*xR5ZKe?ZFBy4&^JgYJ_q|Jf63fZN(Mpz@*KROD%J2| zYby;XIOw4!18nipF?EptGMb(gvYS+u>E(0dxS=3?K!wDo4|7OJ3BpE&7&d@uR{iUr zmD$(p>2xv|$CLmBD+YHpJ0e92e^T(_BZL>UZV(NrDJ7^;9nd+JMhfH*)gX2;8r_LZLLN-lN!qHb#}$X0ZOxmsl_rVn1aTrpcyjVj zkUF+<7+m3&b)q$j5;?Xy9`iV;&PXE}&e5S6(V2isIohW|dZO?q4mEPf2Gx+a4o=F| zj7YssBxOvHMj<8zVlc#Hp0>7#kSNvjdX93mt`9TPq?vswft)Fks!?*kX^Qv?dfX-L zG{W5epzFg&Wi1Sa)OBo<>{S|YLP^#7rxQ`d6bkd8=H%g{SQ#nfneMR1>vPQkxFrqp z9Ze0oK}>fxY36S_k{TpAyv0Bh%Ttu8X=bwz{cy;Lr+LJ%9BSK0l8SPuL>r2Jks+FK zoibV&QIG#+Y!@?7c^8Q4?hnI7gXM z_4J#M1=!T}lSej2Im$HowLe=`7uW9H9If5mjEEbh!*`C;#n0rpXO!M@^seUO+Fj$v z4(}+S^zh3r-m^|5=uYBBJ4A!d0~GbE0KR%kOzO_&5#mvg9X>t2`~p*hJR%WyH*bI% zF@&A&nQb^Gb(9F!QDRa@@2)R@$j;-(9=>PRJbL6@bMeS2j&tM7FF$=czX}>-GXFFM zOWI+=YTPt<{O_*S%W)$`nF?)Pn;OS*nq_KLpur6x#iWfx%!RsMc1qn!; zlylNj73`^=yatcjy{Lwid~uc#5+@4~O!N`}tOO;1bo8d?q|2a}71ea>28V8R)U1S9 zqBsSY$W)aFYEQ4Mhe+p#4*iq&ijgDkwN!+UX{s|xn#x)_oJ1_b-*Q#`vcHA=}Mk0C#y;8JSk99oci2`%zU}U zY$y;OG4}{q{#ehnuv$MsrJF8=Bn1X^*6pQAB$QA;Ce^omL{(iXw-X?c=!VRgNds)S zbmDNP6KO#y8@n4B6JC_{F4VGJBq8LEIYHn%7DgkiTYcEiy%=0(^dO-ewt_JOv$ELA zfKhdugyj|?vJp9{NlgVeUG9cGJtsuH1FH7T9J1k>dr0#@W;c=i80jy5he}{QdQn7x znvnuLCsV8GVY1Q`=|T?M*0T*E?V(l+8QDR#^9Fs@s>Y4XL+VDT=yUgI1tVFthQ>^+ z57pcV)#E>}-T)TT8S_-1Xa-1NwHGJuP^7WDZ?}N)|8MX5LoK_m@_ECh+{9=4W|)rC zLBnmB=xdEQL1JO(Plv zWkwxAp-Ed3ivMUL+CS1NRS~4W;`e=Pt$p^n@80*$*>CQfJL%r@&N+Lp^{pR!?S0NY zXWf17ASzU<&afsy`HPDfu5%bhxIqgX7|vQtdz;atcY{U##4u83`XTbzDNrd2?LHl- z%xr<9#5^YXXhIhR<@XEn5#a%pccy6i^!5Q2UwS4MeCrWirxJdf%YxfEbDBiy--Hmo z)x-b4{h<+UPYiFAz>UI~SiC6AMw$VvV`D_fFf$4e8z_t_$IWnYl0thz`}GA_sj?#k z%zdiQ1j&Ev z_h5%2Wp>1EV_t$oh@CP-JP%BZ8FV)R@ym4J(lk2++U>uh@yWZL2;A2ccOj3c(F1fXIM`l#rXfKIx`EfsxG zprs?^fqjPgx%ow+?gS7PSwcY*Sz=6S=}Lzdsyj-HBujuUO3~_wCH`yQ)uCr*yIQ-b z4$n>@10=mUK11j33+vYp!CRcGdFAIp=QnfS0UZ4E2tmiEEFNRqOA9gjYr#;iwU>C# zr(wmA3JBvDEqFfW!U%>8JN&itgO?J_IajLT)Ta%E352@O|61y!S)_127gXmCkJa** z^Dl03Da(~6AaIl8Jm-Wb6V9@Z4#1o)t+;fk8>EtnHpIZjo?UY$cujNSGddUS6d(Zw zK(;Ak1vOo}QVYFeYJke+yv-$iH#pj`B`0=GwAeWWme;kA$@>WN=m&hJL2htf1o(#v zz5SIhg28mds6mbbJ~91(7~!E6!wCjYWjHXpcmibg0fB=D6OK5fu+j_JnvE@7LXaC8 zuVaxFR#06!p`->_{D#RNTDg4aII*ERFL)nRuo{7EWrl^%rR<6^C0a+7LM=@%XyGVK{Sy6 z-~z7W>&W+@ACN$fhFKAMLFYIBL9qr3TH)a~17?4S!T7=n zB%S0UQZXRkjp(p5OhVz4e4CjZB+(JVqo83e6HYNM90CEM62aaV#& z(Dt1tN60cY$TBhIbK&9bu_cH`%~g<}|KJglxt58^r>mz=j*vIvTBh~$Sc3HMIij)h z=_pqx9pzf4K;Onxm9k8cle&Z~(*>+$Vg`%Jr{_O%WXzltbWcx@#+QLcmg)F&$ame2 zJK@ohbI35A#ddyuQ+cBYm^)&YX**?^9#fWy44|1evMkeC5Rj94MCfyyA3pZB^-mzn z^wF1{y>!naXpO$3!F~TtO*5UM;&jZkwuT0a z?LpQ>$v>?O#XT+-y6OUm`Kmhzl7+(@N_W0??bFqQDtSIqnmZlPlmR1bG;6Q??3=9~ zAhg`NTr$64RVYkV-4e0kN^#U3t(KOO2&nfjaRha{h@!b`G1I3*QfHTBG|5EcyG|t* zEAt8*`RXECi_Vp323Y#yd>OPFNF@JL7`nmFDnYy-tF#&wvw2S6qu) zs2d3t`y)yS`N3K|t5^?{I8Cc(_}te35^MgTqHmORbiH(sS3IL(|K(c}JFiHkgIL#w z9R+<(I@hdQLsHRm?||;ejZI;irh9qFjGOI4#Sj0Y5&3Dw8a@YDAZrynW|LfO?1Yv% zG|*pKgAz%JM<9k2gj3KhHc2X>+ndQ#(XqoHr^h`{0)XYaAlR&eRhXc!yav#W2E^3p z7K1mJpp&dqlb=OsyGM*GhZ{}ZI=Z+ej`%hDam+McMi3r+o>{kOS~JmRoH^TUPJbF^ zIFa#bFOPY0povXh8c~!qoUE8Dil_^M*d1{?ugDoX9yMTJbCup%q}fd~squts1WcOd zQ(pjs4xw1+P)E#Q)~}vuNmLLliKa=@&b}%OMIyhi2N32U=fjI@8?#0DrVkto2gc_V zaBM&c^E@g5u*OR^i=7nXTklnikAtaXq3~FMVtlgbip*I=$RimAK8e|O#^^iRP7bZs zgkR9ie&cgR&c66tU7*HJj@X0?uABE}+p-#m*NQ~73(1TgB!))<88BjK?pb&K?n5TQ zTTPekika2$6fF`6#by%Nqf1FjbmO=}7ie2Hb|G){);Yg>2k0|gfDpx1+R(^coCFqt=-fzk~bS#>va zdj=3XM0V$b}?-k7vv@xHO*7{2r685P{2X`w67WvjgbfPdsj_vyPd4w-^oC zL_<@arpRD1m#m(M&cs2rzzP+{z2TB}NNG+Rgrbzgios{&b z;K6TKlySL#{R0{%cmVtD*=mCd7xa{``v872$wxlSnsx~Jvo_lz;yJf7=GH5cSi{E? zj4CH04Gd87H1a#V;t|#~FW)w;&`hl|&uGX`vTPhpH_lZ)%3F~!IfR-ymb{iH)JBks z0IVVHp!=urDSf=sCjJr~9v=RP37b09?W#tl&<8gWHGXs=f-*$^08xC{0h;G~b?%)y zVLfrZcAzYgY-Q%7PPRT&LGV+CF@E9w6l2ZWE(GIA%@7?D7AEv*%H?1Bw!Op z2m(i6ttLH?I&+Rwj)7Bhglgdy>#&ZFumu_f(1hbmhVs%w1l%TrR-{imHqUW zHDV(S?`^R!?2M>bgCf_20DY5sXa=vL!2_&i(j%Eg@A!uhH}(P98$}bknW=?}kK(Qb z11TfaDCaC}j0QYod?c(;(g>WyMvdIKQ{Z47H4#i5p(;+5a|{&{Ob8(pU_5;hKMG+? z6+G3MdTPcW+p@Jx$QvQc#I;Pw8*wcY@7Z}q#~Q3< z+P-7`$k{uZBR__tz6ZBCRo-X|ga;wv zZ_I(Iyb<4lGxQ0dA#oA9vB(K)nI0f|!`{X_@uu-7xSr{jt&68G-8aTsrZdPeo!NZk z#JiDYI(y+25qsn|kqqKc*l;Klgz-}ud)|mF3@;87=A<~$0`1e(nkjGO(n32Fq?BbM z+jCNWh2eo{Bxaj$!i$hJfdaLr8N=4uD3*farmM+;M9aStISkfM4EtWn*!x z{%~lILb|G)`kkhkP7^{v&TAE!w1z0W8l$vi*0_PIlSnPhWTH}O+fMfwr5kgQ$pIM$ zJ=y8>xM}Tk{~AghLRfSrSauZ0*e#<=Y`LvR!nTZ7)U~>+a&CtCwv!~7EUyaQz_=kI z_#?>=!+mF-u;sxQmHvbh?k_*D?aGr29Gq>F~hxk*#K6(sbIuYbEJr>j4#hs`VNOY-Fkcs|) zBzJjF0F$?W3>-H{x_!zfw2f59B6w2ABa7^M@5~3IYY*?}L(o0EXu4+twe_qfZSc)jIAv!RvXql<`}P}pry$aFJIxG}l? z2W3dR&=tp)Gg~7d|&ZXp&4WO&QmTBt%IJ5(G9%@bP;kIw8yF|0NXq$@i_Y;xFL1TjTLX{K`$pQ`07HuBe+-?37y}0spXPwghDI1(-;; zNNhVg5SCjpRm?WwJ5ZH3{F6y!ZdujXu_ujnH!h>1`Oa{1#(b8ga4wKkpt|7Tq7m*V z2AqpIr(a?wqZ_yJS@~kRz(w3tysyj-$daryfu{2$Bi{ye5@rUA-Exw}jX2wsol{-X zDQ->k*Y`EeG|5ribkYclxzrjmiWq@}M(|bq=w2jYl1))U8k{OZqimR(h}_z(Sb%`l zNn34}i76k?1nG@Ayc)+h=CnHLXTjnUq;@S6$r*Zl1xw+OWzz350gb#-a|P?9kg7sX zDt}{6x<#gLU&{nE)-v&pxdv;Qns?xY7#-Qt?=r0`%f!49lS#@OoyC%+v-&}$N0B!= zt@IPn$}}m}Cj3dBvVR8kc)= zy~O1++6#^ujA|!@>8%@9qHL`FAKpga;T8o3l#X))W%Ci8WIoIMQ;(Z#i+zbaN`4&b zL09{X50fr8YmNTK8euMu4w-4@{R|}rNkCR&Lp66KuZMJYG!+5j@z})JHZ}ke6T*09vBKjM|Ll#RWxfR|Awn<_qM{GgosweD z`W7;Cj{&yh^w$j(o$lCgQ%ez0yEQcthw{)$sg+3dH|%*;(DsJ%lj2lVW84skD% zTm#6C;fqV8pIpRQNY4TlnARaMqY=jd4L`2EFkFTbW_hRmmV#Q_C^Pb+ z{;QcXS^7BFKB705KGe*!n?ogt-^=t~{GK*{7tas_3oT<~a1@|+mVqo{7B_;6%X|K) zMAXMES?>E81w6O@>I zZjBCoo4i53O`)L|s03P#al@Pxs6tTR0Now*Z?@?Os_9qUG>y9xF6Ytm0|%Dw z7MCA*B+oL%8*}~+TsIRG>y6g4EEDoZTFd0=B)tP?IVqAMu`?&NtL|==>4~p%Ez=g> zmg9CFYnf7(X>99_((0saEmP!;_`2In-blaa&Ae2bWomO$d+TO~DY8skxBq7fI%Y;b zIZ`Ib0PX4|8_AS6vVjxY#}EgknC$d+QeWL>E70$KXL7E8g%;gvrGz}i|o8ZH17le-u6LN)*Wqzm@b7MagEQ3(b64O^!A z{?F05P`rB&_e5oYth&3>E;sWGj9)s7IoAd3(UN>u$&3VqLi<)Z>{x6&>?B*h+ z*NVRO1^hT(r)1sU=`$!=SWXFkwCm7?rI4jcNBvA=4k*j59KSLHm%UwvC39tt=AFv+ zL)m=!uF{z+#90%4qhID*Bs@b+=5baH?wsQ+s*T+E@c&@WP3Op5f7068(WkG!7YjXj z`n3yL*PlV>rq|z%xgM5g) z8KQhRc%2(EsE;g+1ML<@QCyY(cAO^#%>!6tq!sb>e|-b2kF{CTf>KS zpn?6s57xOsgW5EI{NR4Nwq)6ZjoiS_RObc;EWvB!QYZ#iYUBn6EWvB!QYZ#iYUBn6 zEWvM-$mI{MaK3j&LmgcTx@MV5$Anp?l`T9WRyxbXoRMXk`mSX_570$Vu0xKDn8|CAxq;JcWsgWyZrsa&0NHFBj9 zD3z;ou12mj0;O`8R8BX_f>?wVyP9g~`6ir;0@|6fi4C&z7J6xzU+g)SjW-?t8=BHt&yvdD~&*@T%B_@a-|U{m8)~EMy@mh zrE+!7U4zJ#W;A5FXWq!&?1`>frqVH~S*HDDnd(}ml66wdGOcXkC&V}8TBgx{hvb{T zx?c@Tlwalte~sJ{2X1%O%N*9-E%)G7=XwNbE~G|oZdiH{Yvg(aX)dHjZf;n55NqUm z1Zgg$Ms99cdJt>mdIV`Ml@YKA1P= z>hChmy}<5GtiQ{&cZ?Px`0+Je#JtY*x|XSU0B)4KlHv|7O|V9;G_*BxHFBj9D3z;o zu12mj0;O_w&eh13Mxa#gMwxT78I5j#_xknkVd(D9MotfPrNfgKKHR0RR4WZ@czps$eJ4}H3u zWqSL$@$@z*c@4Ikq2vRHn)CSI=-!SEsE}y#1lao!4h^wsua~(EW-(NzScag=gz@ zx_W-WqnZLMAC`0xE?2QU$?9BbY-{9RvXQG7;gX?U`4eJV(yIfIsoz5s2YKb^Tyf8q zEm$L08sQqbmwM##hgS48e`rOs^U#X+{?Ikc5c4W|?OHkGWx4Cd)9bUY6<1 z^eLYJ2-nEf$dyK* zRIbjs8oAO4l*-jPS0h&%fl|2}WzOXft?28({6{xBd*!71WlLVDYneu!xX!+5xL^%f z%`)vT%Y?N?buCjn@i6Q1iC5P$wV}BdwdJp6>Rv>M+QpLS~#i_1kN`YKLW%+BF_T_Z; z39&CdOA)Tlm4>xOu12mj0;O_w&eh13Mxa!#&bb=7(g>8w)j3xqR~ms*xf^B9<&UB0 zYyKFD=3ei>b)&Nvy1p^z@fsNAesQa7nd(}m?g@KPS*E&{se2vl*IM~ch-trm95|}3 zWhxH&%Fnsto-JFjMy@o%HF7m_r4cBVt8=bKt~3Ira&^wt$dyK*RPIKZb2ZB}XoSfZ5kaV59)(&)+X_jff_i~xs z?o!vnGg$bSr*}7VUAape)@#wL>Rf3QYvgL=3L-G`1E0e*-1W6#_ya{R`GnY4;F_m? z?m%NP%-E76H_Vw?^f#7s`zl^1?)deerFu zt0oC^_=7Eb2MEsLkJ6HabNGX2zAQ*+*pfLp2mdE1O`p^jewZBUv mhX4BU))%c?*KU8PITVqcqf}3=8ygM(=CHe@kDqz5NBMu>AI&!a diff --git a/dt/dt.sof b/dt/dt.sof index 79e206a74e136ca0a150ec760a412c8b16da254e..325dd8225030aa0ab5120a241508661f769f45d3 100644 GIT binary patch literal 281523 zcmeFaf0P@?eJA*>MgwdNhci9H;Sj@Ul>&&F!SEDk#FKN9;-w4VkOmpA3^9yF(OC&( zD49}ZN6{)it)8tEK#&X4j09>anWTMEb4)8^tzVYW^S-C#y~_g?h~fs-P&yDN z5;2O;xMZ=vh62-oO6OIgOpwUwqgQJ-y2-+{W|Ldxz*UQ!N*vhOEF4u)tBR`9(VVR@ zUp?#U@%@;f7{mp399tEocr)3kpH&fT?1 ze8nMFQxDH-vDJl{0>hk-49Jg+r5zZ`y}V6T>pi(R?ks-#hMrA&Q|~w?>&>%V!Cic7;?0;`w(`}4P22wdk%&oEa+ZId;MmyD$9utyL*$}hioy7weFF6fpB`k`to+!aMXjX`TS zsLqm7D{U>y(^Kp8d?Gn(2>D5f(>hB1S+*F6yjd6TWM>N zh*uuC=*_5FhFry}h3NR&s{84W8!)WHyz9q)FpzcY^5)OSqXa(wF^PKm*vI6@!xvXx zE^f?3)^(1_R<|bf)#2%nyFp#WH)B#?zBj4YD1ny`^vmosrWj%OLsKQS4p<# zR~>S-+wgR#_UE1*p504FTa(onBL`WdyaidSLxS3Zzx|jLP@)-mb$r(VYWyHT(kO31 z_RA~EQVr|$+Lw)bGbWd`qH~e?YRVci>+>x*Tl!i>^1=|W_t1WnykKjImjC2Ey!9O z64Vy_ZQqn~TRN@wLZWC9Q_%Momma7JJND3aZ!OTuxSFm1sTlEAQak7 z$LL9uve2Umo3{PEWlXAsc$0Fgj@I{{M8Mn(0;t5svGrmj#FqztUROz~x>e9_Omg9} zui&4?Rg%ip8lc@w(nsoDlJzQV$Y?uvqEy!T@g9M3V)2L}3gdS!RP~aH_b%jEW9|TAmZ7s-tc|~C@M~7`+ z4(b&zFZE_jE?fC}T(}!lZyN_$qpby5t3!g?g1`NkRGKwm)3(3YWtAQu2vF(_4YAdN z>=Snh4RReDRg={#US8_Wm|V8<)r3vk{$7*S+r~lGC~ra5>X4we;BVVTSFt8+I(C0o zk@rV{;8*_fTqUV0^J5RHGH*C&!lrG1zZsJP^|w-D^5!bZ?t^IwLQ%QG%7%3B=5Y+n zmI!XHlI*@9o$f{Jk~ddLw!N^^Ei!*A|8ZN9b#s+uJvMIcKN=Zk$(u2$FW;NgYm~svnDiCUlEfsYtUmTJDSSnDlhA$% zw2r*iXFS@o9=v<><|;{!!fPvH{e`T0`xfFY$UYqc6p4*vYs-oj%n)B5_<3C=Suf3Y zW0H%y#7f;au9EcF=*^^Llz$i9p$|S%t0aBaHxr!u$oxQ)p^w!nNoUBSqOK-YSx9Ug zTW<}|a&;jvtkpG@z^R5yt@0}3r65LLT0rgvPBid$jJgZ$waS-|*cg*2VzK5oh$^h@ zRolyF*m7#-_-NAQb!wHuvH{$r7k{tG>doUIYm|G)&MI2wm=v(17k{tILX95;NOgvW z*z%Ceg9ep?6Mk`*(jeFIl9ZZk3(d<)Zj4El5cTEb9k7?KNR@ePc30^G7MH%|ijyD7Ic~bQLee z2MG|mLS04PAH6p3DoKo8#S>$Kd!?&5+F`vKYP;RgE55!|6Yjb#piKT4gBUE*Y+Cux zazZcuUX#_E$3fO8_mC49yUxF<*FX|<4}ZrfRCF1Ho>*}ed4Ggfxi==oDo(FMogO^t zbc4EzZ?2Nmmv1}Nj-pK8>5F#KxuHDiPEwazX5P|^wd{)#Z}2Kf8@-3A&yDyveR11D z8?19!sUt2{U;1+bgEKTvJLvVuQsI(L7qfdbS8<#rAA#H3Z8 z90@$_2A@vJlEfqwYr0oYBFEN?jSydc;MF8rv&WyM^X(s7s5vMz70{-0otH$;SkykjdGA16T!_^ab-csb5xB< z_e+n;6}kygS7R^!UX%4$Rzo@V8s#3c6WC4jH3{ENg2ItEi=-O()li+*)@PyOx`V3Q zMsR+ec-ia2jSRKpl^e90)<)HBBgnO!ey~U;7dh3a<{HPEu<6+SwMht2HOjr@RkpdO z<&EZUg3yzudxfJ3o7N7lXV&IX1(Pm%yktydwVbSzP~qhVNpD39X1D!>(DejwO!D;> z<6->-`t`J{i?mutlB$IUNYH(fZVNj8b|u@u)!X56EpbuxC9rwo1898=dv$<}+XPqq zS*(h8)iHX~yq@opyn5q?Bkv1AW%E@w9gKnI1p$J@#?f*t@OK`fP_aCqStTi3q{Igq zmqCA3Hhyti(-XDOc0I|9d~w?olP2MY&tn?fxX=(+6sg53Nz|7d(-?Z(Uy)ROm*le= z?v+Bi3_}_l*jh}rGB2x%$?7V}2Rs$uO2f72y#)25#&aS^qa5UhhNs$)BwFOf*%GfZ zK*qS*4*A3vJ$v2WC225{qPFS-dvDM36lHY|i}}`1WBS(5@988KM{mSzU85JndD2von%!Ppr<{Y^ljgil`Vw)@ zFw*dQ#1}_<_V;=;Xmcq*tur7Gb+o=$byOo?ac_12_d@BH`Bk|FevQ`FXT3U?3l~sa zkHz}FF|FIyHe!v(A#1h~{RkgN`8MTo8jxG^EgV_HyclV5k8bO%UOfj{Bd#H*^$O52 zP7u@ZYqT0Idr?<+M-JYC*;VBI5g=6gc|G_Pxed}!NJPctsw)h?S{Nil z;KTy|VpiyFg!uA;>Y_CuJ+$Ld58*1hlTc$T9NM%n+hQRP(F290$)zVgx3#)7BV0k3cs-|?$iH(cxK z=%a4&v#zEUuuAf?X>A_4Q3ib)TQ4?hRWA`y6>pCqdX!&&aed` zM}~P?czz&f==j0hwvE?i-c@%2*_#pEZDm!6?j5%#ROBLyv2NhY3^$&NH> znGp-U_W51aP= zy)LUYLx5UmfH&6B`hFqC%q#9mu>0T}xvO#u{5q|z&$>E2F5C_3v&|)N{A#pm$n)xz z3ObNmET-YtXhnrfXwWc&dfh?QtryDHke5`&`Ie&o#0saXTJQk-K}0Q7*MR+!tv{jR zU6iB=o7N8Af?1n@0JX-CDaos`)j(Dq2hi~SE+5#vAnq$&mFw83TAJ<%upk;Zm9hNe_d<)eYtz7RdeuT(8aN}g%+Ecfq6h##j(}2$p$or=<$#riK$ZXfB-JH zoNJ{9ZY;sUv3az4P%tbHXjVxsmXO@)KU-ZT`FT}ZD-;@6NveWv01v91cJ-GV&espQ zz|r(eb@Ybsl{wAOVwI%Ik!q6E9`2?9H6=r>S4mcxR>Cj$8F9HrX^b@FDo`U!U1knQ$ILGGY2MNha z>^Qc?&o28a$%dC8Nq%OdsF!=BP{N)>8Yx*Ab5ef{JnG`#&wykQ{~(MDkgaY zt`2`-v>rToSi3-F7cvbZ*@okG4<#x`HZ$`#Qq6=V#^BkDdvx+Bw7| zmw}eWRO9M(cTIn<2Ng$3dgiOu(r8P)LsY>hae}WQp~N{*?59C40-YU-m{=tVssnrwS#^@^94Dr)NNVz%hcS9v^Bt|xXp%4=LrI}c~mxfO(y#zLput7xyh!j~#0ds%^4lhv75 zY_+^`8r+&RH9ELa2DJr0dZPBuY7{RSNmZ5y8Y0wlM&HB;57){=(>{|l*{<`*`a#p4 zw=R_?zBZ8SwMtUuQKhApMS9X)=2en;m2;sVH7BNrJ?& z;j9`ib%jy|3a$shKr;H7Q%j52_G;%$8oZ3L`!zr`pYI557F|+IHft-ftgg0%T$K?& zaHlVu`IihEQHJ#5?{!(7MeaT1I)jQy%Z*93O0scShfA%{(>i&VwgfRL;?ShZx7pu2 zMzuDY+@rkDP0M#J9kQzzusS6YM2@W&8zH{D&=6`iViL`q3;Bjr%j+#O+wv{8RYuXk zzw!=o2_@liRd~pfI8axPW|iRnVj>F{%?$+2p>q1(U?FTsKvP$!)`DcSw)X~Slycde zh=rJJ{VqxGDiah~vv?b*Yg;e=UXyk8cz%5Ev#6{hw_lBcu`x}=uSc5B_>HiR~B16S620HZlE*)ViNC?tTQ#8T0*3&AY_g2 zpA%YZYW<|FO@GKr*f3OD;O5x(sn!QErlvpkY85DAH$mvhkgK~Ff3L~vY;J1eVW1?5!~ z=ZCAu%k&F(SQbEx)k;CAB-~`O)=VueiM>%jp2SVqpe81>HHO}IhL(vtAYDD;;_6|q2MCPbKtMd}Q=wK# z&eW)EnmN`UWR@ep78^rWaaMs;xt5FsR!P>|A@_v)Grn-x+Y$G>NhbpU;T~)LKyG~KO zwnK^eK@IETSne@=Ypj$zZJrbllk;LA&p=i;yAqg-Q&&=Nu0K(F$}e4`bZJy$hSaC7 zy9HSne7k<&*-H%U;)-T7Vw*B3TYE&ZyS?2$zMG!?0ZuL-$lg^)?r5O{-XWCnW6}&+ zdwBtVX~?ZtJy2y&=?(fN(>@8%g8u5d`*E125 z?17lbf1$uGOwPP}CeWAL3cIT@>9zyqLCg5iFI=M_oS>%ThN5nxl3farugPhx9qSVpr4F|QDe&rZTWjc5TZ)ztp``KXS4x@wpFz>7OE@XPx*)} z@erqj;CHqQSFWbUS(Tx5s|-q<;Mm%-u>~{46TSF5hN$J#Z7piju3&|ZDuC^=ES9~_bYl-^DB_odMxPslx_!gu$P;Bg7Nd)6oFKz z0$eHQ>+t?{+$Ai_k5pRq{;m%~53@U2yla^HlnxIto5RJ>PbTvHDU4n1b8F}1s~bs1 zvFxmxrjU?vFc8NoNj)eAj!kc4duJiulfMi2A-ko1<>YFs|H!Lv3u2#$S@Pv{zB0+; zf3lS#DO{VO4l#DE_LBkI_;A@*WYx{;ZZGIH21sl(x~k8d$UB&(QMGIHPZW>!R zD8ziw$tuauqA}6{H_D)PYgAoUqjI$9!LJ^5c)(kFafgb0D;7Nq z7~4X1X_nl_?UXpfl?Uq8Mi8pykki}A`zw3g8cMtcNtfi%NN6L+<6f0EP5qexf_U=TRb(#AHq`h8s&O_ zU6v|P&>CPy8-OWEWrGh;Q*JJ3-ZY$Br7W)Ed=qL0RQIe74A6~MnXGH*Z7<;`z4*Hdx!WkOHA3Ac zP|6XLgy|2vJZV~gOx9^ZQmvA#Pk+4mheW?SPAy6sTrtQ5&*quTY6QlO}yI)v6{HhYO;%Z)?{Pa~m3^@tV}N z57O;>RZUx1=Q$psgcYJyi2y$xs%ov)GaeLu*rLj^PcC;Ell8?N25u8*3*#!oGpM(3 znlDOBs6T=F74X1XOse|3_>k?OpER{P6a)C(6ck4{sH<3&_M#5H=vhHOLJOmGcz{u~ z+9A?2B#zxvpl`3EN*Yxb2P3jt51X@-0sWUml|G4$WAocs7uTO{G#TQ(!)B$i1?*Gw zr=k?vVoK*e;?s;y)e3~yMC9NIudo&sS>y5VgrC%k(y3~#p108%=p0tox&I|jt8Xt3 z2I#E>S1wn9Ar6}daplNA zL%cz&GZ-S=QrAJ#6F!R@wMdAfu!T;$o~F%9Ir&+wvsUwWL}_{|m!-W9L+hG*18&NP z4GAj8znV|N(*$&R3J1M_SX@|@X>ahFTU{O{PUAt^7ei8!ZpH7S%rRZ7@_-)(>wP`9AkLai(mG{gt*97R7lZMm;%gX{vpDs{sr z3FQeiJf&NuIWcJ^ttpcxK0_6dr>m38G>e)@g)`QaZrX>V}yMZpP#!Ub;5ycX_Om^r@{2R;zab zBhhe-Ll4?~vMWq?J*ienN@(LXjUmKncpbCFTEu9qRyoyka`F&8R%2`2anXqNaBTAK zg;hnlusP3bM+-X|{j6p|@OC8k(t{{!{=#(HBP zPDiV4oDx0am7cnCg95|BwX~|jTAFNrJc*VViF<$*w#555h@BeMn4wlf&t| zReAIZD9c{_U0wWc8k*5r!7NNsu`nKA`iK6RQiN`q9ax)9hcVZ@I*xS^GK{33g&@bW zfv3>d_QgC}B=RTGr-Gp;8%aPxM-INgtY$ZY3dQsXx&%Lryfd-8+CCjUNGO$7T3&>~Utg@{c&f{h8&6FF3rSEW;1^SaW4^I@$ zv*x=)Po&TY7mVWi`NBm6U^#Xwd3gt>@Z8JF7PlsA>g2OnF0vHRTTGJN0CP3K?72a5 zJ~+yzzCyy8na<4)^wUA(Ui6dPEC$^hJ_X2eZ1WhPqh`H;PG(EoW$495SF6W`J4EHs zZqgUFRau`fPXO_i}R9u>H7oC*Rsd(fPwdd0=04979sQ-!-YReEKCz z@%0Y9_&a3Fo0!lU!OU~(DLMD&eCX*|Uy&*dJ+%GWnGn)VNOs3}Q- zftwUW>)ttpR#&U$E)L(WIyPchF?EbWtS3O4GW52xQv){oNn`d+%aCGCNE%f5TsfRL zO*uK7kcdfM72yUFs=c4Mh%XZ0D6o`+CL;*Q=3hZtn{k7y&A|!qtB2D7Mxq3pki=@ zoG+4@#^YP4LJ8mJkb5dDF`V_nFc?-qKZ#;ix6`M+=2h|cCN1;ilxj6)_H<_N8L>f53sVhc?3A_Lpb+yxC#xh?ni}9n z8Psl#s>^B=FB!>SHH)d%hGcdzi4}1!?OGx6%iW_ze-NKKV47gp@m-tdS+Up+s!OE0 zN>a_Oqlr-=r-tC_nnUe9iGZR5krEv4>gV@}FOJqmj=BVTra4N3n%)oiS4sL?Qq?N> z0G%r_6_UMyfOrO*n)3`|G=YNd3Wc~A(C}heq#%iLxVuV{YN#T65>Z?l5XvaEy0SZ? zY8i4B+xS)f0$tDwliEY;(;vnGN}Sw7uJ17u{>a$_>)6&EH#nO*#SenBMUL9qR70`YT23nV8H@IH#S~vWP0{@_?)!? zv#*W5SIx1+{1QT8+5jN=(;JGRYg>Asik!_^IuI`+joR9ZyZa|%UJc=ZydOY<&en%lmE?OCClsS zq1`LhkDK;#sczjhY3&%1#?HKik$w=x=gjCGCLLMRSHdK5mW_}h4Yr3uM(EwKH{xi} zRkH*^H4gIog7ReRMT+?~cR}eQChPvL?waE^L5oiA&GpRsY54Z=VZrbHLLu|+Bs+ML z9h9jM@h4{vs3}Q2P2i-6PJaK8Ei{&+b{|wX6MBqErCF7sfnvpuW9tM}i#srprNsPT z&#j{5`$xl+pWc1$6BL@AxQ(XP5t|!~Z9iz{k!D7s7NbaA^^<1Wufklii)O#>wkce3 z?u3=9M!jG187;gDfUB5PoHrac zzag|2y&^YY+D2d|lVJJqseXYAl1Z9E4B|DQ6-<9rokzlc3;m?6eWOC~jO(qv=dp*F zgt>%=M7518ZU7AK3zgz_^5J31-){`dRYIOe)_y!-MQk$Fl%&e3fQl;&iekR37-DH+ z(&#J*brIX*h7a{)6))b2Wy!CM3ujC5@a!rcn;SCaY)D-Tmul@mkt1)apQI?ZW-#p~ ziAm9{wNp&lMw=SKJzdL9qPHrRmJKOsFr)T8DqsCeE zsHe*741OXUP!KkcFx$9216-o)JZ(c-89 zkVzAFTT^pu#f4u9?keu2k+YMx%*+`U!{jo35U?y<4i_K+x6MDbkzKn&ezH!e@6{?viQ5D+h8{2*B#uG495!g0l^IrK$x>Rv#ix}xHdaBmiHdE4 z@(fV<|%M&ZcPgw&r`c^zDpL>qTDX1_O zeO1YWLd`LGYLW}k?tIDht}0u%zr6cQDjQTrt(`G=mIuTy87$r(B0Fy-hXteQG+D(# zREo9leuEb#-WZoJs(}y&=ocAD?4=n~XalHKl1l=-2Q8?JBx-}*fw?sA+`wg7oT2Q5 zxvGTax~Z6LZNk%p7MsYa>f*>&if5k=W{_*699EakfVlg6^`{)Tdbk7!%IOhQ5<8Bq zQ`FYJBTHh;>8v7NM92TAoz8EWE<8M8&g={vlTMMuTU*K6Px~cOt*ol1Sr$m#3lap5 zty7~KGt|o}N#&ymJ!z=v4-Y&1^1Glq-i&)d#_ z2nXpsZlQyX32yPO*eHm-&3alqI`N zRC$}Hl00P1$W_+9O3>Ux1N*bN9L35d)dOvk!<<7+gi`oz0NL;^Bd_)bw(E0<)gRNA zw`oM&Wel3Iq8so%!g$Kg?EuA=y@#p+eO z>jR|FrN67e09NS`dzEJV$qP%++`zl$`(eYrn+}#F<@ZliX#OEi2|JFJSrmR6t3x5^ zd`1YUk-keUDQ#0R@M=1ZVb+n!z54r%`alGRbrZf?;Fb~l@uCZ+rib9r=w|^w?oe0=uA3%kzyeS?LfwQ`Y^rn04J_y34HQ3 zg2bL<^C#PWh(f&UK1fX>nq$^0mi9J*FfW?rRi%?7F&X+&o*nrG5xF>N&b|}el**1K zvo;ls$A)o7FMS3Dv`;xZ-iWG!l@OCKi*1ey|5dZJwjDw6iR?PUDi|@nDI^Q)b0(Q| ze}BKB9)xiY1_@c<65}GMku&&Nk&uN|iO&-J(hI_Y-Jc^qHbw`<@U(F^mV^#kj$!50 z^7_L01X*8>VY-0u-V?Wtk6J0Oj-|wV@OKPZ%IsBPb6-#j<2YqQ#E%^or!aOc+)c)} zC#|hkAxW_bQygPS+C<_tL|YaWX|-y2Br?je^-T%YUbHgtL+1~GQrj~7N;{|1c*&y6-2nGSP6QjJ$ z4cfXptT1Wsj1`A8(y_2y#RFfVKI5`5xXfXiy@V>srNSespA@*mj+m4@Kj79CQ~79y zVbP4=08FBg)l7K!4hre2f!WS;(##eybu54Llwc>AJtLDxIhk?uEWUM<{c21=gH;|F z`S%D-9ssg@(2KvTg%OuTHD;PDwYiiyJ1rT_iQR%s&WhvNpuH zgv?wBv$IXIbp&m;V&K?%u@T}u`Fk)@Agq#nP52rfS(d}u0qf+qwwCEX*hXr~km*>2 zpW2ZgtK8$vys*(`2XgAhWbVxnSJ#u8N#q>JOBIvdEQ>6oaHg@PwRR=4VtD580W z{H*T!L6g{`q*it5C@B@QV362xY&F!|SSqp(WGme|=GHWUQyFaPf)&FS2Y$_ zZ{L4#$fEt25xJYx6tq&KZ1;jm$3WuPIvoro464Tnrz{k72@<8Mz&bz{RQf^Ufi#v2 zGx=1i&-koq6erbXrzMTm=gw`mVsu$-KX%5p`Djl0krudz+M*Bga5bZ{8SM^}8@OhC zF5p?=aNBBpdSfeBh^U64#E)NV}`jg=QHvU*lChsycKN>XE z6&qYITxT!lmv^xMU<3an!TRCpKj93QYW z&7D*qEQ-lZv0;gq+ao5`M3%3ZTzwM199yR`*=Qrgy9Z=UT^BM;Nm^@&G&k-98KrV*8_$liKFksz8&Ky19nHt&61bk+D^);&GD7aW z-NDWSvP8xIo13dDjPlkAi_&H)5AG~Er;RwH*{zgH4DrMnYmQ=O!Xvy4sNcb91gul~X&~J9WbC`C)5ZPou9Eh@3*a{1=z)`04v*m0of_SV3sH5O zKrGr%^5$eaYernVdhqvv>L*_nP!n#-BI?(mGdyk0e0{6HTQbe#M@%{}!BYo=S?LT~ z$%A+e$bQO5NWC(NwG-EfNqBwJ@USD)V_8=yZrxExy+yGJc$w@eJfSVOQR18=V+$Ya z8!!o-!l_gdS%SdRF;~LjZsb`s)1<&f(8S$%NWcX78n^s?h+x4~2ssyrx$TJO>29YW zSM5Q&8lW{H$Nrzm7XM3$_uhtO{eSeHI%?1 zl&4`QvE$e}MpZwlfteGt)^C{!8%qR@th^PATGvzMed|YfEk>NIZRyCPSc>&Pfht+U zO;bA>kWkFAb!=2ahTKwuj!vOo`H+*=W?Y>KWkn-!ehVERJqUP{M9+d~f+>x%b* zds|{GKWxem*G7t;h$SK~Ikuc+f9^^SH_BI!xu10XDQdhq^mdk0A1+3l;4X32kQ3DR zdtu7a8p_@(>B#4H4dv6|ibX6Z!FeJmdD>Vlhv3r+;_mO&ACV=9E(suP>ea$JaDQ}g z$_s*cV+Z<4*y#mZ3jXH9j$PVlrVgZN?3)a?uWbH%I}VIxzJXA~@EvcJGVUrFUo4WE zC^4n7qY;EcS{k*;VAYc$_fo41f9DeEbA+#c;>3enlM=Jxjk`NY$)th491 z{PumuoAY5zE)UK=ylER{pT<(Ah+Tx50>pVy~QMK?FlMazq%8d^%{s)#L8Ly z>@2?9TTHqO4kag|Uz5dX~P#lPH0Be4QceGM03dqu30M1I_L8v@?wEv(CuA0BlEbAjA8 zDL=H+!&_|1zh~2(G1D}nhBy;6q~y&dRSq=cyAqs2iz?}{3-2rRn^>A?Nnc%&6h$XYnN`y*l zITJ5(eq}4oyd=4}KWRU18_xLx}t>qrA*+7qXzU<0B3e%r#LvIO4t3 zis5qqhkf6LMyvQwSr)HZEa7&uAq(sF7GpWH@=(!KsYQ(EcZUcc;+Es~j3O+6RGlfh z@f!|8S+F~Yc}7*#jlemT^24cpaNK=Ygkii~V1=QP!}D=TmGx%yohizFmF(fWa;Ehx zSa)#Scd3P3HfrqQ7>?G1zhefqN%r4KX>_ojv5a<##j;#k9d-C_VKG4is8#!-BB8H;|1hifYwt?dUbY! zB!6E23oGiv=m`-)V4I%O9h#5L8kc(ibv zC9Mg=nGd9Lk!X}Y&(@}GgUuh3QseVgH-$BBBh{W&Ex5Y%cXg-cZM^g9&+wGs2Cr^e z#5=O?F^svuYQ8_(m;V;o=LT{#_emjR_gFL)m+V7yocEZgoLxk}9Z2c&Xiy${xqBht zj`3s_?JPtg)4jh}R#D%n05iWF{=BQF=|>owOnh29@p>>8dL}8wt#aF+k0$uVLj~i) zddohwk?#2YP-gajoS}z{nYmM87A<-kXjk8jj!77?DxV@+6OHg8Z-*wCNK(HsTv^Ah zgG_*z2l!Ds^ah>6gFmH8Sbp+rXj49C4PVS*>~45R_-+nY$WIwxJjNXCP#R* z5LBeoSrB?M}#_3k~yAD<%oYs1EuUQS~UnxFgeR3b8j z>GdmHXRK#J(TldU-d%r=Up8Oit}WglbsI>4*rkoGtXF5Jc)SuMV@>q4{!BuXlfRFG z&RsLGbJn`s&eKM|6W3&T9Xf@wW0)WcN$Z%MC`=gQYF`1dt02YI!y9^#ynK|(7wyfO z*+j|c+&3zGKA^6JBhJgr{x_3Gw76E{giV(*@_9OlH!R_G)A#XLF0bQ+vRFp&xNt}4 z{JJ;vAN1o`Za()MugnK%>S@|8w{VNwN9gN;EOFvz|MSr@ZON02$YE#jEH56?^&i8u zMAwrjydL~L^!VYp@jKC!_d*MSWDlRZ@B;N+UMJ-{x$5As#h%NyL=*VDGH&KHqS(I+uD5}E9zyUGq3TYpp!WtM%a=*BZ zmenP@dsnWuN)lv0h|Z1D;Gk@q#q^vjao?Pq&(Tf5zGV zPbX2MGW`ytF^BBn>%mayYx!fzmovM5xIXRtG|UoS1y#HoqdXaM=UqGM{hOJCAB>yy zA8oFg8la>0dus~Y=OY*C={0+bTX->QN6)^4$>sNmal8Xw;I7umE!_Ox7mZa1jYIl8 zN{~6W=43lVDGLQXK=%DHllt?9p$VRhl*jBGCVAx3;eDZ7)yzQBybzwHITXydV|H{&EtQ8ffv`+F+;5G@qw!7i?wOQjM`Ca6h~)mSae2`R zq^Gka61abxAGQxTaAmZ+%LVl&9s0X)fAiE>g1#L4-H5Lyr7bBtFoJu?oPIw?f~b@n zHBFPrG4Udmu52ug?czu??&0l21p)p9#mDTaORKhquaq`<#uJz7u`O)A{XIh_7=}MOJPWuVZ-} zaBMxrWL;S|dvtcuH&6q+lfv(6(i#~#e2;{I^2AfQY5B4dIntMBxWk-tqKy7(O3=6L zX^C{dJ8H4YR#ohNzzqEgfLuyVWLbtUCS@^ttoAYl>wh%`W;gQG7dny)yDyLIlTkkL zHC&C{N^^g?F)&wQe3>)j=~g;H#p~PXk-wIjniObx9$#%v{Ov|-2utclKW#@Yd`>0` zbby^VI6t{j-1++<6{_NuP?r8aY~aujtR7dL80CverMCxv555{U>4D)8ZSp#-vceb!fjDKYKuU@b1xG{QdP{()bBa4k#T>fOb{IWc=@fIr?jRC*74TUYLmF zu8i5NJQ<>p1{Uk0iTulu> zoNYTX8@AZ|#yi>GBlc@AlI^TcO+1>H@{jN~m-!S~A97>%PKWU|Q+RXDF|3(w5U(Ff zn8$(i&~DUKb+=cAEW#&fH<}i_cBmP6fowUkEhWzf z-za}eT4(l@=+J-_a!mA{8h2GXeNNJx(DGu!H6UfKTNA~Q$J_ASWpL|1_2HXuYXuWV z*5Z+p6^onS$CNl?^HnECG4zvAaq!}5l1@4z<~Xnh5ZMN#=ffWSJ$(5v^?f-h{H1Nn zl>J`cNq*`mv7ZQDxG!b@D8`JRrOmO&2ZmyoH_F6IGCy;dk^k$BrhGjTx4d5xMJ(Fl zhR0+S#XCPf!*RpMKXyg72P?bOvPkjN2j!dY^W%YTP+Z7YT8~KYg z#2(r@?9lPBarhm)++|agjGQ_0)}+ZRh;Q$3qC8VoD4X7Z${s>ABy2z|Yd6@7>udoD99mNN@;n!m_3kfsOH;;+DyK&fG zkj@k?n!R1fC*6h#47~#HUV&-gJr}7R5N3fgJPx5inp5;S~wn#%#d3wLKNOzb|W`y%o1NvvSWr{Qeg^r6`a z%V06Ql`c{2wFm9O>@daWa2ITDJ?`!pboA-lW5oyh4QIV&%x}fL7~xd`99oEDQ|eI; z5<8BqBea)Qk_UHl6JN|U*nuJAoDoLS9@z8KFWPkeaAE9cA|t<<b9b3Rj^(e;+BB()%Ezr&r}oEe^E4ac;h6bX zLA=SvJ81G2TvOuhA+=@|j^2@jH!wTsrRQG|!bl+^J?%e6we0xpptb#jLkamPMgX@` z>6O(c>)S8cFIjmp&#bpLQTqHI%ltOpPl%Z06!RD^WtTy?V580JI#t7{vdlWWsu@vV z9J~@dG735T`@z0AXr3qqlff@xYVN@dU3jIk2}fdA-w^-1!$h}5S>J=nz1eJ8;7g*l zLieia&?pj6;K`6zWk8iAkT05-qMxk*M+T$;42~4$0$Y|HgP_T{_diAXL}ebufvEfG7Ld!hiJ z=Juxh*>HH&y72g6TmA(e78Q7<(g&E$yVJD9Xq>zKq*uIcT->dORaqr87xi_ zJxzwt^dQXQ>vzn|Z^J4c`LN_xZWeDjn;*C2tFc0Mo|UXeZx_y;ly^2pXl|>f9uY)b zqRHT}w_T%54Ku`jF6{B>mZ&BEfb1U!^2RfHNqNQQfsvWXq1aD@>mE*%75YVKmq$}} zg>ggT0~{FG4}EQzGB1}#el(c6h<C8XOi$re zkt~5JDoq|GS-WUN8Vo~q%*UanoG=dtOop{sYGt7?`Eb!F(u=asl9Z5!#t5k@uxBuR z?M3@4W$qQC{~=Ckx9HGpHiHx+<<;!Zi@|-xXOi}jm$~uQ1j|__GV>w{XM|73Vnlyn zSUU%Ds0Wav%?g$dgEzG8@5Gy#oeYJFiE{4lAPs1WJQ+TB6tAi=3~@<{V=qM|=C#ZO z-jcxw@EL{?Lq0+L*-ypk>_)TY%Q6EJNqUm)7=;S03#$r7{>5TvN3tPGP8){(6Vm~o zAGjDe$NzYnH4IJk&AjRfV<)#I?*Gx}=!Gy@JDv;~{H}cF&C!H)XWlOk3f%l!RxEC# zdseHu4WdvM$c^TnY*<>EAximTQgZs%@%83+u?S`?VdO;A5*NALzMtkuz6kM0W)3Hk z`>AMTj^gFg&QxLAm+aC+q)%O&4`5v@ITN$=Y9LR$Y_sre!ElDA&b<%!n_X+Nc|+Qpb9DX_X3@dDkoULZ#mgQI zB;g(sM2@X7*-laLcO8@Q%w#-tC1?!a1|5d0so@8{W?vXgZaRP1N@nPh=RaqOzj|2E zm9^&H^5{_fd@vmRuNK>JI?3K!AGxR@_)VG()CpKrLDYu*Se` zJZ@>JfU_8RxNK-XOnt6uu2jPssh0vuv3+%R2U=YXC|(dL z#i00GTXF5Pnij*G(4u%lqvzvu6s3V-dI42u8r!NGmrHK^k-qk<@oY!O8E~uHW*B}d z|L6oYG9)3(b?KoF7#RW#YQd7ag$Y#gR})ckZkkoHPJ^odE{yW#z*P-vT=zi+p%o^z zi6$p!-WfCVG(&a>GCmMLdX6%9_+|X3(%5T=q4N3}`=pUPUB){lUkDrHkM+4P{V2yq zPF*>K4{-SuC;}rPNX;L#X%v{fIUou18eEElrCoG{4@Q`ElJKaO(5;eW*15HGL7-ZYS4JY~~?KJJ_`BbY&_ zOX@bkN(4z8M>vJ)@M~(4*as5z+t(kgtPLG5Q_8rrl*tcH9iifP@Hse(cq&9iQwH~D zWN4z&_wE!{fA~}^6+xnKyYzQ!_rsKmn0b2y_aJrl;8H8{%Io-!&1x!*eKY_3g^Bp? zcbGYL@36s77AgE#em45eBxN0bN;|A`b#~fN2uOJ{ z0xLLwNbFIIJ%Y!z^OiYnkHpsJsC<}Hi08j;hFr-R51c!Cs4Q=@1EG0L^4)FnBX?r{ zV1n}V+r+dh#4j;3drK^G z><}M1hY$EsiXy4w+1%x#v}bK$e1VfQY9%XJH&NzZ1-el8^DG-hK(mzNctcWvf}0IE zuWyD%QqHn?Sp?*ZU^Y|Ie23eg&oe89syR@Z!HNQ7l=8=utNGCp3L7+(^qb54q%JA# z1fg~wB5Hp9a-h%nC(3O!qgQ@mV*k+P)Tz{e7yPYHTakV16Y(n)XURS@aPqKRm&I2a z@3Pp1jl+GX4q^X@e}o%-2Z~#$=%|&;TPb3tHJOy4aco`M=*mL8dnj{5Tpp*) zEl_3nZWBN+kFoNHg)9~a+&hi65wq5;Q<)KCabA#@#v}AIE2HjVI;+iXGKi9jc5lkE zNt$?^Ufu8s?YBOEFE^Xhu_KZ@vXAq#hIKS!kieU>|C1xam5~vN@7(N0)dVAiM+>rI zpzmVInWAHsXU%}fHmmFbLo9Xc@0ImN@MOR+zKZ0hl|MCtQhIT6$TBH$`=^I25fQ(6 z@mZqp@36*Z&<>s7VI}{&B;)1m@L$E|&b@P}Xi6p02tpxjDPj_Oy7hN8D?E>fST-0j z+<;UTHGqxB>(7l^`z3%WV09+DxE6KnhC?8?A)~6505u&6Tc)2yh#H-(on^{UhLsoPIMbC z4A(RB>)S|u6V~t!1}-CQGdOOBvJoLnJn8cQx44Ce@bH@Hxj}Zp!oWv0Si*Q-4UBAD zkb2j6tc`!M?WN9_>5Jo*am%_CG<}dNEp!C3Y@*#Ea9*_5D-(|qB=o_VsAh{ zV_F&9LjG}>P2ECc(_VLl`=JY&unwNwL6OITBJ>4(k71(Vl(t$dGhy-*MLgjXEnR%s ziD#dsAD7mOxDkbVA1ow$jY}<`~0{BF@prX>%%>^Nx5pnvF~Wv37Q2bh|{u zQ!18-Pi-sjpi{=^Zkqk1*zgqJACmp@9qVBfqmiI^vsvgx??oKkK#-p*o;bUTi@CK{ zaWibRyu&)q$$bAC6qSc9=ci~x@5USt7Ia?<^f4MXrgyxJt z&CLx);_n9vZ(SmDHX)CHXM|F7#s&YPUWq6vz=B1rXgG_*?m$4SMNGcz^p%l8$!OQ7 z2szdPR)1Wa-dY}cEGAMf+pE&Al$^sPXxlJj=hu<()o57!s>v^Hj0aC1@&~o6(O}I@ zL2FcJK##Nx7kKcIhXuZ}vvWxJYZ9eXI654QR|4UpF!oTo@L6NHv{#PrIVEF~@J@x2 z6QNzJ@KP|c&pM}w4tt#eBjRdCd$hHC@ne{rdW9+&y{J!VXh32rZx{^A>1X&XCs+?KZ-&PU*sqOuMyp#epd8v0U_IF#vQ(s>arhn^@Bc5iHGyXC{8F=+K7+c!d%WG$`>kb6O^f4*_mvk!oY{~pvJkGL?zROi3(F~HTnbj7CuIb_bBC-Zi_N{-7 zOA}0UkckJki#&QDWjyZ74la`0ike(^y#$2MTimFFTvS(~#sUb4Is9r~Y^NZu;?V-wu`&w(;I zA!g1Woe?S~&paR67s86Hu<_7@Ye?3HbD>Z?&P@~b?ve_(F%$zeKN&6W4JA?j2btx>Pw65#xl zAdJISOUp9%b0qBrZqS@umHE!wDNLI`|0ok;m<=a3NtTegm?<1o{ZrgwA-o%fPm!}x zS4u&WP^$}fZ)(egKWNx8W;$1_;pi=t)h1%TivjvHbL3@ie~Yu@m5pZd%El6NVvL^{ z6UCod_%=+bv~40yhcLOU;=&8uOIQY6rJ;{Wc?^%s?KHC1eu{iZnmaz+W~JE^GPPqW zL%5IN@S{V{;D~7z1Ua!e=j|P#$R+AK5}~8BquiWxU#scO0d74MVZb6*K%#!uE8I3N zz^U({>^>R3xR&7>ugnhU^hu5`Y#<&fF*Et4lcSBUQCt0TU5r>>AM-s}aRXA6(~ElD_n>3qh@t z)Ww-U@s>S)*3Y}bD4A-!EN+!51r-o_5SnIN&)EZY8eyPcpD6H#FB@mg++wRFk+eo! zX~pauZAG}rTF~orBRW_m*+Vv4iAqi!=Pc7AIGfb5If}T5zgC^ptOvTzXQhs)ORE=} zau;}AeLZ6XD%5lJSoOFY8Em;qQZZ=6l^Ws7p+->*E|=8VDLPmssgrMuhD2I)A>w75 z=J8lLK7d9O_$-J{UFj0Dsf1e}Plk8h^My2tSw4P#n>_vI=s8*!7+&`?^=5Pt6U0AL z8nYhPsaR|rXF|X&uEnBSue6EEfhmWB*GTL*wi;Tx6}Am--G&bi(cL@ni3}e|3Z7#! zI9G7)+RWne6Ld6|k@@!{+c7{-PV^;BdODgpb_BP9Nbq9dtlqID^m1%^D;m#&X{kYO zHwmB8pv+o+F_PDoB^Hw%71=u(UASZ#^pZI&tdtlo*z{}tQS_%LLVK@pU1WG z-wNgMB|OKy|EEE==PxJXXHJHb_E(4aKeMDn66Wi1(V`}ofBJ*Na&0t-!VKY}nXnQ$ zJ+$8tsuX-sIyV_UaL{~1K7my{((a!fxXt|FaFIEyB`cbTzxyGHQf&B^SXu_=QY5wO zT_v=}uxYIzb(Yu8Vz<;_e+sSZq&becQ_AM_+RcqtA^tXI+xW2k>>i7b53sZEGr=xk zb!DH$#8-zh{1@@s*FMv9MxJ^( z1g?-rB`SoUDo*rgSb>6BPIzL^u$~9eG*n&rz{J$Za)Uqu`k1t%|37zc9NgA%-3y;x zEWithCNCjMgcwIzKp+VzZXV;8w6fwj3kXsmHP40pR9CiB8)9UKQIl`{GU*$A8rxYw zkOC^M11pL{DSq}PtvZa7c9i$rPQL!pfgB~DlFqzOPTfxa_@+a!c$g?K}}HC*YI%V|hn)6{BAe>zXC_{T4F=hgMopU963NQ8)>z z7T&NEKG_uzGe@Kz;nq#)#i}Ivz*Hth+qheO8V}hHOICy;86T9GG{NL@{>i~`)$9Hg zRl?F*lMB3#`?;nTN-ZiwOC!>Q=ply8=h11`v=dU&Vy~TJnEtqc!pNs7`IJ*h%VMB9 zmKs;zRII<^pmn7!+7p!oE5FPfsnya{Sbb`_(aGpO`sy?chP1MscBu-bj(jq81XXu@ z2e0U4XQfcl&R1D6BC){Q6O18WU#72iVA<~#h67*|tFN{#1qGztC-p}py*PM$$BWK} zJO7Uoj*n`tNwF8}RXopn*&n;v%zIV-#Xi3FM3A%XeLQobOs06$`-OXP$Z=nTTd15( zg*vY@Nwf~ym=}eUplachw+rmXRdSSXrvz8nUfv{-i6lPmGwP&sJRz}YD<+3j`Plv` z?e(!>#XV2Fi}W$(cnSWc-QgbTFYGLof}tZ6kU+N30x|QkxLtA3*h+;bkYicWT1#p= z-xUe=yf#=-TNp`<1f1KvNGHA^%A7kl)V|`%C}+83hR#0ax+amuHB_sR8 ziashjFAg0~R5RY)>Av3Nr9dL}a6DhVU#J(p4$=~~EoB?Bg4E3uHMQ2FKDL2*@j(gF z7T&NeOx_J^X$EhSjesa+$m#)K+}6*nVaZ&O=pQAWxvz43vJ0~%l^n?qmY!i1)}P>$ z?;|?haauV6JYP2$gUMV_L#D*lLW{as+^#s>&$a0%f4U1_&ZdW&#G74`v2YhVl44rk z93k;FLB%fdfa@@JAX$-wjuWonZ1hC!y| zYAREN^B+6gxr{#4^OUG|t`|Ch#|?pbgd(HZL8?UdxG@|R5mGRS;f9)&%I`6n%I}>; z=!)2a$#rM+9L^JL&`{l=`5kN4i@jTpF!S07%eanS-^n#oF+3~d)d_vl;VP8Dx6|?R zixyBl(V)KBCFyLT6uww$z)V)ZvtXK|N(8-qu=L9mb^&OEsDn!w?vWTQ9=?ck`5!Df z&MDWebU6dn9lBWS>ST&H4Y$MS>U-g|^FKh+ zSd(C&r_`ri`CZDX_x5~n=QGvno}rXF5suTjZin6o#MuKOQXlaK3%y)Ek5w=1uCu`1 zlABB})WSR$G%97`T>+G)_39gV=8dEh5q3v|MVUP>x;R)8KdOk{i|V0Bib|D1Cpnp0 zKVIx0NAKu`iEAcN$x$q;3(8jHLZviesEASgUi}}No8E<_s}nLMNww}t93e#Rt z+ZrSzSKmcEg(=BtG&+0BJ(FD`t#Qt@T+jE7Z>Ri>mM&cNg#>09#-x<-MqN2m`ZkQL zdaZSQmAavTuSP8DPJ+r}{&U{o6&x}8BUf*Ws^)jKw1Yt_I?>%56u$0DWtDVJuVG@0 zPZj?ZKKW%T=mRBZa$9wLis{6`Bg_#^&1b1s>ZdiAm1}7M9qm&m(0x&$KxHw1SYjA1 zS|qpd(=n}XE%v;Gd^f>O!|=Pf6p`Yz@ zkNkST$wOij2!+|seRJOAwFzl@EW-A)!%p-dR_`#K)dYB(KnAvi zJDeCv8RMNeQww^g#wp~Mc`zN)>VeLU+Cx3ST5ujiLl**hO7HA&a+vM9PH;bVWZ^u} zv)fhbRaL-iAQsrS&Uy6$c|A|*{HeXn)qQ1sX$OV_Zf@Uqu}S~4K`PzP*Ie)$Px!C} zHo5m>%UzE(&O*K{lmu4`pG1S;eOdD@+pD!halg}QOo3_d_DTAT$ZsAYr@WKg$u&-( z5{&9+yK%_!5gq1{ehokT<7j7Kv{I>Bn-6c0%y)lUX@NB7b!<$2(P0J3CZE)P5A_UV z=lW9L8fU4{KPw6n#-j^CQ?j-`ojMEsUX>Ysx2rC8$YeFVi>dV@c`3|?VUFzX-0A5N zI&mVvnnpZ++8U23g(S|~Lg*d!$+^t9KTSBva{;fS%bH_h#04>w~aYa}rC}IdaQo)ESWmA14;ce&Z<&#k8 z^c|R1O;awxl`@{&2vzUnns#r;DlKL7Hgde7@4!VfIJ3`r?zQL(#Y03TH>3gh|e=$e}qE_CZ2d9T(Q5;wzUv-Ad7HJsfbhub0AKiUxQHHSBQ}war ziSUtA=Z75iJjMwRClZ~{lrs4>iM9VF7_^xJVQ5&P0w%IsX#u~U)6t^AN}!x|DpKMi zTtEZTq@og3CFisKsem)^`@DEVOjdyy@^G5C?x6jgYEQ;+EQXTu7^`MD(KtTDy%4lR z1e^Q{{Sv{AaW|GO z>Q}#_l0A4c-ajp4o~27Mx#y%vKyg@3G6R*vg_!R@K!FJ zpN1pDZz+7rrBOkwD$O`<7IEbJ3}FNKp+p z%n=!JFju0Jf?md_Z&uMKhmlH)U6P2Yi$$mjma(Y1>Zz zsgDgo7m176Sev}rvm_0BdLjF~7{n-vszM@mYbBNO2_U_-7W2|zkpVgWx0dKbGsz*5^O#D zRWSzbZ?>H6qMEXyFx`&ntT{1uE#{>)F)tROK=_LL{fMRc2LrkJ zAmyq|sbJ3?nP+75+~EH0ze?&Ddex~n!lyR>Zm6X0b;tL0J5Dvc^KQe^2xfFd)7_%A z7FU#NWL>B(iH<$q?=tyunR)+aQZG(%Bv6<;R#` z(oIrv-jGZ&$!@~Z>o}%M)+Wo7Fo|yuIYAxVUCUD;@wh1OjtF^iyVt~R5Iv!zWo>S* z7q}Fnb(2Rhihe>_b*N7Cl5+vu>Wryls;81DVZ%?a!khUc(=37W@X38#OOeoF94|T8 zG`9c?5=g`6wkEJLNCh!1eUfTjJ?cd<;5;1C*5s<^89jHFDtD$Swg)ey{Y_s|7BL}E z>q{o912X)Faivar-p>UE#)H9xO$O6(Mg=)*Db|*O6!@&RZj)!jNgyre&u3k9q8szR zcrHA!&$_OLC(U(OadqO(&5=xLuNG#ZXG(;N&vrRAhwpMTL0*0`)amW>lA|S@k=3k$ z;2KCwuv|k62?`4*ky-OTU|X$bod{SC_0bszuK#F zm$iz%pX;f0LO;a!8Ix`VF0ph+!nMUU(ymTe>8>J8^3s&1JUpivQmIXR&*mVen6bV` zvcJ@!_v=7nZ>7696iCt}6}QSfMT^qe{|3Xeu?31Ila>EyiCH<6f~eL$d47E?g6WU& z{%A=xEHwKns2X=qJVdDv|4j5}P8P6gqeV4vl-K%BJXj6iGVpLj=?*0^+uU<`M>1tq zTjNtz4-BLl9<{LiP~Um`K`Z-WkP<}3-shaKA?OWhOk_#DEt9hJlbT}R=?MpNhcz84 z6|f_#e3K*N7dH10e3OM!OdrC!SBMTLyC^%#t!;-O{YRfm*L0$OI9 zL;$f7&(6^zO8GiLr7PT13!qDn=Sen~B=7Z-I(Z?h(EMl~laq98e^d*pH5`lVOi`yeS{t3w{X5J(ePDq%{V&JWyaW+FN@lXL`+K&*ead-clI6Tby$I z1?CpM3uE73Dlt+|rq@^CfP$yHrV7==qUWgEmivhFS@opMzI2!ic*}ie~u4~ zo*Bx>(EuYS-N0{x)yGN8Ke|@SAVIbKYBXuI0*MGWJ3;zR=Inh%jZ(hZTorjtdKW?Y zo8etkpDaG1kIQHO3MVVQIwU6Cb%pdnMD2E~SvPe=Cy8l^a3gr1EJdl0HKN~W*wLnv*?=hD;i^N{v?~`pIAy z&O*CCU&WXEsCu{(s}04xOWVEC2jVo21)u4z;t}+d&AVhw>ilj;zke?Bt5xPVgoe#Op}p%PzY4N)Jf*J0;?9JK_PLiPDLAibgj!tUdHC-8hquborx4Tg!y^@_95K4OnmAVmQRyc4SFkgv(A0%U>5}IqDRLomXDG<4(T(yj zzHFmu%pE63hW}}l)WPCDHMAG=VY1N2V_cie)Pbf9LZ7f^y^d^^Z}$&I(+_1&SFqJy zG_@K~*-68zQq0jeB~q}`-u=#g84e#{`|ebFI+^>{K@z1ctTfV94(5+|sM$t+IU{`d zST~|qI4mL0>J6?&j2sNn>oB`VabjfCVX=Z-?)Uz0{mRB(5>06N+7=t#qJ- z7t+{qr#o@@iEtWwcm-v`;fp3$_oB`EBNBORnzTt_dgrP)JQB*9wBcXSnIx{dU^4O; zO)*B>f=R0;G0DW>0cNJ#^xgO{u`;-sA}N6 zWEYp3>MYTPGKC+ZSY$YK6cv-yWqFTYf4HL<J7ZH@b%V&&2ucXOhBy3oNtXka+O|-RSab4>PGj!ix5MnkHzmi8EG=>V`ONm3 z-h^69IiINX{R7nhhQ@H7<$k8d}W7;%9lFz}C_mq*3djNcaDx+het; zJo?E&?2=4=F4d&9pQo6Y!wW2+8%?5#8l96DL*my|k#PKwhlIkUv=rzOhKSI;={v4Io z>&Z8`d8xS(N~l1LU9Bb9NV{s`F0LLbS2o<#{Ca&Uy!-M~y;Bl*(`Y}_7s|pg*TYJOl4jr1o*!7s%wbTg8N%v1g zl&oyeY`v|haD0@WT)&T|cIEY%9?DjN_l*A7BSwj!Pqjd-Vua6u5Drr~!MZ}k?k!MlNF-07<}VG2Y5}9X z+tQAHMo1PS=`d+2s5mjYVbz}}hoLu$lJLk>!%yoVBAejqE=e3HT|@LdyZQZu!|SDf zBG<%j5R%vMf1dB!S{VA(0`vG_ZT#^@#I-T+XuQ5 zV(i_7%2<+}m)f9I8`*ptR#OpkuF^#5UB!qR?&a06UxC9d;*;?Zhe8rAUuJs-5lP%V__914jb z3s;P?Az159I+Vy{F{#yoGt#joN*1C?{X%2}?P_jARSZ z?-<&_%)qZ0xd$<0V@tH`b+X8haQ4n4l)YhC6qs~3Je!R$>JmT2%A<2Ix*H2VIf_Pi z|Eh$R`Z|F^x-ES&`O?}{?*9~Q@ITWnHvN>w?vLzQ^n>>mNj#G);Fy1Tc2_cXZtyq` zQ#iWra|!L-&G%%Ul)-V%D>fMnt&%o|(o%~n9&2M?6i$MwwKq&WSfMx9Qgvrq*`%=> zH^}4nInKm-CVnAU@ysS3`UOkV0ixsg;f$=W5Fd3e#4R%L8WXS*S8FZi zV?neUfW=fc6;m{={4qgu5)(ob472zhhmJii_z%1IH^+Ano&P5I%zIjj~`LJfTL<@3FSf-{a@;;AX_LEjoK?MfF$y=Wz2T1Mq#m%JQ5Ww8Eqs7n|(T`y19N0tLY}O z2Efb$FcMd5E#_lE)Dl?Bn7512jN3oRS1TWysf?_9hA3*NkER5)W9Ze*hz)Z=}1A`R!Oyc0)jWk->DNf9EP<$p(E0mQ*1QvW) z;#yi<@mLGrI)OQ7>_cA&$^@aG`E9Ail~_aE0yOZg^C=PA(kIRF z7BqwTo7c6Z3S4gi;5*G@&&Kgu-VgNVHzifKPUuOq_!?CDxwR!6vOJ;=kn_Ce^lF@+ zt}txILsz;06#9^(z(`!JwV00ukrlKRyI5qk_BdtE;;4ri*=$tUC8>I4KnI5zg=5je zO^iBm0=^e@iln>vALEcdI*`GkLoN?HJorj*0+Ry^p_WCMFT^b~)F^rhVsK#QI*(Ik z+O5*zhMF{Qt0=ECT)2RC1)or3$0$+h3t*JXGh>4|<%Hy@d_Wl7f)XQQtgk1LmBhR`xaej{C_k4U$#6)1jp( zWg&K{u+Ur~b=r`6m#oDJa zC4kejA52pgd!98O#x4)|cCk=`31ODjlI)_}4WGAJ>e4Wg(;TJD730kh%~GeyPwp9n12i=`*jC*ORSX0vjZR6stb;DH@%7p*3)unX}=@X+W6$8*sYvmm$e@F zd7-D#PdX2V>E;s^ey)qlZ?CIqya}8AWq7l5Cl-0`fe=^7=_BK-tn)JMT}UjfeP&eR zxmbS4$Y_LKIp72^KxHGPEyq6K^mrZac}EeGgT!WnIp>gy>P#maj7o2Y$wqEJ%qsXv z;991RBz-aXx7d!c!8xP??|67U`)r)onje};6~E6U&XUX$zDQL2oxJ+VkXY-MWBRYV zozNSBo}NdeO7*K_cRZ=pWz5$3tDy5b&Hr*deVTNZsiUtl)?MbsE${bqmS_}1Q_C9@ zRGsP+g&&C`FKA*oX8@YweI+#xJCE%t%Mkj>1CLStDRvO}LI;-Ws2q$_Ei>g7#EEBjq*_@g% zsJGRknXeJ!pOb3@X~aleOEUk_6xA|nmI=HIpgI|MCURrc)6X(zwt3}E9#dvA8V}n$ z@vW4L_@)6y?v)A53~WuJ0kS|+LobPlB`MWF4EAf-yH?kVB@;UyE}7pv$9)4RagI~y z3sCT9Qo1MIgqoz}ZO+Q%wj+w;i=u}ci1 zpJeiEdeu*{o>gE9ZT0s{EO3^8im)YLZW?t!lZI0LQJbARxQJCP#XT__S zKWGwx@8&EJ*+xJup0_#8f+t>x-9*C{8Je^wi2VdUz|%DTOo0+r{j55yb#Sm$?#Vg& z;W$hY({^2grU#Vk`=3S7%Agudc(FnMc@jQJ$I6-JXF-LT)QLoAs1htWhj<=4mwPw6 zBjSHKF*Z5md>mWr_KuJmAJm-_y(%%obkU!iT#%zUhJQdvT#Hr8Mhy1F+q+iH#N%Pk zCD2WkEK6KvLgemYD!o4#;or!Y;FI#QlNrC**DEosk3X0mE60AuL$eD-7)7i$r`L{w`}YM8Q_m)lh5 zvk_KwVV>za|2DUY^9tqXZ~R~5R0diUiXE-2Ry-?ciT~?1J`N+XB?Sf4*lthn>MltT zC=D}(aFZGT7kp`;QAYD-ag*01=8krNt%qAL==8|k-<5% z30gocPpO6+_<~^(NNmZiwF?!ph#SntTIq#5D2yh}o%6l-RO#L}41h(?dHQ?P#jF`4Gdf#TT~V zAB)MsFwLyhFPby5K2GJS4lnzQ1PpYL=*wdY56y%zf-}+gn4SqRxqx{#fMb}To{4Ek z$5~m+`)}GD@&u=YJq5BkkN9^1DZErZF2bRwc4jEvojCoyV3_{6o0Y$ZBO>-t=)~hr zFBZ9Qs=ZwYWzdjq6L05OVXT6@_n#Kje^57%$V^(E*Q>Zr2~nW@NQXQl@J!|HsAVc0 zrG(6p%rh^(yHnA6VzjAoCBz7rwNPWJ7DMsl7yqvvdmj%+@NpB&E;lD9dTWg2*?~gO z0}=PG_h+$8kaT{|MYo z-J3D#Xj4%q2f`iST3eYq6fSrXI&r3hycxbviOZWU~}xtNeO z4Xnh~hK}G~9u(%-6sAA)q?-LeLZhh4grM4)9i(CR z=Uvz9E7J73M&@@>xaTyNyHe-u8p$ndC`l=Qd5@3d(~N_RUUB%i?$C)+Qik%Z;#BD| zigKK0YqbTt++|^xVecBgV){vLeDaY@PTCSq)VLR}W@+>15-ReIy!&Fe7_BCpV){5` z-xy0p9w?20t)Q^63;m?FiCA*yZF68>a69&H9-7fl`rS#RmijyKP97$vcOcn0kJ)ppi~dGzFBlM zFK#QhmskZ`mk!Gqbtj8!%Q}`Q5X|-k_rGd(cATyI;isi|b}Z{uq>=b817Y;ZZr6Oe z7G$OQY}YA?MObr)%ZV7~I#{Wi=^RMAlt`7xd-X(7h%GXG)=6n{q9u-gGA-hDytB8u z3A1d(GJMkbid5K&^k=)W>Hi_L^@ZO(HHH~_Y(x5J`Zz~Nn!)SAcnBaBO{6XjIO3)R zzLeq7#jc`%2)7fpfE`DYkrB3G_J1KWl z@>p0GH&r$Lfx~-VSF-xFJnnVxm*Xj9CT+=N891bKU3}7v>wWk~CUh$JdD~f%=miCd zDoc^)rpKRg%jp~?W`aE%R26O-{(P-7Et1Fb{-Xlvzv8B`Z z(5w2GFK#QjhUF`aj(CdrULD2Wq%qBQYI2#z=9MkEc!^a+EY!<;r|~2m$z5ePcdD>3 z++JvzK3P?;qKlgZe1F~XH?wJc6ID8Uu;r!OkyE7gw|lUKbU?F*OAnn%J14xmXb1ckRkjdn+1W>IpvxyzS9@Vsg(Cm`Lsunvj$umv?RdUo7MI5T&XWIy`;?=?g(GM;&G+vDjk4Zv9JrFEMM*^>} zqd!|`O3+jU>_*{dF~KWM`-yd$J{Hy^B_p5_YK%Tp9it5o7Zv@MteziCx_`dIQ9B2n zsau0Z_5ZjJ?Y>(og(NR;_n$l)1t82wgJ4lgwaS4r4FSspZTR3!{5N>IX=8+xu#c(E zJ0uURd-6A!$Hw!j6fxr@Cnn@$Qip?)RC*ujLX{I8l>wZ0n=t~fg4Ws(v{*R0O89nn zLcblwwd2KqOKzo?~0V%1c2R_+9wchC{h&zjN9WQ=2>Q+@0JF?s$ z3`lxOC0VvHtuXSxA^V*3HSk!1`A2+@FvoPb|7Pd$rz$;v z+(oBHMMOFHFHFLhV!VtuPP?pZ0K77m!5l^ z)Xc6_aob4tm~=7oL84NL+w-T9d5NgE(-Avvua1uzh<(YX7EFOI!~9d#b)%HQ%&Kh4 zrN)Sd$u&=)^+Zo`&%N@A{F7CAcJpZZ;`;d4s+&pNUX**_af)a%#v=l9EU*lv8Xedo zb!jMMt`g*~am_|hCrggY@(fP4WRMRD$W3 zf3DSy(v2BAdwo0R#VoU$h+7t@1zbi-g9$GwIGWm*-*)q?j0J)b(9ec9(U-BgbyAV{ zI2Ju_C-H4g#mONS{{yg$a4PKZ^l0xXdor7B`F2sdKU$ITYXUW`CSg{?orZG z6%ajo5+k-%kOoH5t%zh5zO`QR1v!*of6a06h9h%dY9pqX-gsD&=Asw|GL4v zQkPhY4n%DZ2@9JNRQS9TRy^7(KgL9^D@orQ)09Om&IJ0M5>^kMWTws19Anqj&C62l zosh#a(TM~GonH>{a|cKn5eq>%tamaJIx)xi3-)FCWS&s|3cLl>%jaw#oKj4d6n07er^>MV zD8A+M4Ue7c9v#4eUwhT<D>L2*A}v(Rl7fmfI3=zonB665 z2=MYmy>Rlkk7_U&w133pte7SdYI#aE^fgF1zt+b(P z0It>G33)PbjQy+2@Ohhjt=p-*5iXrnpO%TUYe_voWqm*Q#hm1=>THQh*>d2Io7(AU zr(#q&gxobZl$v215*G)!N`dIifV06%K{OnGXs2;e(VO-%f1%gNpsH@EuPa zD#=K%-;ZGL5~)^oX=IzUt{e2yVUHJ(yhTG-c7^i6FK8KkuQS;@?j8+0cWu!Om2=FS zp&b>cAdBKd@JrZ%1b?$JAZA5Cql{X5oz1|n5=%w&z*~n$*&7Z&VaX&VFZNBG{_vRFFnR-6>HFj}Rg5FA0 zk`K_X+$|Zdh|~t2u~|G0okkIWV7cvv&kOeU?0q!p=wmw7w5Vm|>bN7snZPcbf1!@w zH%w=GI`Ltng7yMTUe1y}#Az}Ut4NSmDq-Zt0vfnDu6BIVB6iUz(|3tW;iGAMAx%jW zYJhU)N!ot4EaXk0y(ugc)Yhc`p29qqj-Holv%KTsjB>Sjf`e^x0Op_?_)QR*(-!nQ zi;_Y@V-E z%|e%pS*A~#Eh#&GRVKL8aKbz&8GMR)lJFt->w(QtsBUB zIQ@s^Te8&*yzU_9j#iBVOc+IA@XOWF@cPh>z0WARxSnTX+Gw#5aGJ^bKr+e|i*Sl$DHh(XYNLmV_9J^w7t7#_t0b(sNkoIh>k-r@ z(Gn-|(GTXBYN$znmn7XlZgHIW-Y#)kC_eFNaVG)yr7A`_27f6+M}TU9bJd7h=LO&V%8)nJ+(Uh zW%0a<2B)F;+6gX9V6mb7FEgSeXyhZ|g)BHrGGWe=4Cz#jr$)TZyD_Zs;ACN?^I`U+ zbQCr@Y0@$Q2~L57y_@?KnNELSvFCwvA;qb{6arZ13MD z!m`&1&?7h_Om>XjT7WYkICD=7Ck z6?bur#AP`&nb6@IVe6-y`BK)KGYf^(0t>_Kg<$stbJ6&bxRx5M{sk5M5eazfK+}oI z!6bcV*9H2#JA4W;-tS5AIzA>p(L?8c9V~nhXWQy+noFV@(v(MW(*zp&NMM($RDFj0 z$2emTraa*s3O|btnzr93{#+crybaK2I4^CG{ePHA;{~3=|J_%XmrF#Kx|7L+Wk)<3 z<-PZc6vRlRDe@Vcj3p{%%K_@3ZNT=qqE$%wu@1k$Qtw6dFkWFgN)LFsow3qjQhp&5 zI`aq~m@7cfZ}3Pil%grDH@M_F`C^)s;bDHHff^X z8$m6(p|EABQRYkH@`CDtDo!@pIc%zEZQ zg0xAoz1nZ1dwbjx?OoUPK?=NiuI{oX((6Uo=?WU(1m*S9#7+;gpU?bY#$<;%V0=>! z>)Vc#hlxvsbc2Byk$F|d{{*fj>bRieHtziM33=7Su%#XDp0nvonX{{l{*T0zQe( zQ-jt58aRoo4IN=AfOhQNHC;eS`*Irp;l&m&c>?d9bK>e7Ow^vk0d+el_5xbjf5x{n z_LEY#$m(>r)4R|(>II>m6~gW4STAnb_Xj1q2@5Dnoa@&t;iPtB4oHboR~#d_1V1vk z-%v-6I3z20fh0sD2sSU>X{ToBS{HzceTQJYfGImG=tP`m)(I_xG5V70*1CA%RDf%J z%x~eV52qR5UDgSF0?*36qR2Mv-S-vDQ(3gsjK1|v`oWh2D)(P0Q`)H4+|=`m_u8%s zP2s4TFr82RrEs6Ry>rdCuv`fhWK*6rrh_VQM-$VIj=tbF?A`Q}=?9|Pm(%!f|IYPh z8QJ;Z=Ss5j4EIb=aVe0w`zLo*&0CY{$F<6QG_PvdBZ8o4HU~V0@s;vP%Z|kWp4OrB zFs?<#g02bPc9-PZo&||C2|(@g8nBDjq6M)<@G?-wmYM;za}CHMPF^G4k1D(!!8;h= zY-lF&oZr0I)G+iMJ1T5(3vkNXYA+yJY+y;-A}z!%G^v^o#F6P;(&+0@ul{yO1bsA= z!>vJ^R?A4WfO^;Ll7w>Fq9A!d;#=B&eQNwjTn0F)dPkQ)+3g*2?KWbhECm#Z^SI2^ z10E%eeJmp=!QBL?Bt~4J1k5hU`a>guo-G)OG|etaZql@XYDcLnyuM&)1080~2S1Aq zN(DAUOfBa8_P)?j-TYSeg7}%F(hVrRK~cDz+taVQ?r<;Rx$1FE)sHcS&66I)w5Uy# zI?`FRQZ{0L-qnb|QnbtIcUw%m3JLFfmWy}umd)TSv;Qn&DB)0AkCo8wh_1+-Pf5Xw>S$9HL z!gsK@r0*uTF zt7ij@)%ucwU#67v#c27?AxBPkb341Am6h;GBd8sF2d_5cG$W%CoS8sDT=-h5){hQx zC(Lz>i8E=XpY5RJ)GqD&WJoxe$V%GSAx=0N|0OO%fO^&Vk+_x=1bth8X;qazNd8lA zv!K&!C&c%|#qdaJ@A`k|x)XQN16!TQ$?STr&JulaTt;OkX9ko-pEuhqfrJHjT~G(D zQ~W4$y+&-(0cW^?qS#S+ytH2PIIofu(o>k%a2}z8lkkVjvuejJ+N1WY6YCbzYoprm zN#jiJM>BT$r!NjUsqZqP&!#gxMDm3PvC}!6$>7s()n5h%LXSp?q07wR*$ZMgx78$p zT|s<1I{Mlz$-tY5YuliKK{vs-x)ZDtec@ZLh}ie`dS$tmz53d&82!fjO7?Z8hu@S1 zy;qaOYKMas%6ed?hG>ZrXij$VF6x(3lX6Q#IHwhg+X6VUmQPp4V($J(TD*@c)XkH} z1BvlhzV3F6kL9Qz2iK;(5;)_y97bp1<_Nyog*BRN*!Zg3su z!EVtpO3mB|Hbyuxhs~Ez;|Iu80rEgSZ>jatmwrDl1*s`;FC}RDNqRUcn-hhU@1Ws~ z;^2OIFn%C&GJX7Fcl14H*Csdo%~vG7HRiC-lFr}F^V5AiVbau%Qj{6|FGH!u9Qcn~ z?by5F9Z6HfXt@9kB8AcUsG!Y@L1B&yp%h5<8`Xu_<%FbI4%gfBsPHU}#7_$O-S=A|hp*EUw1dVggPgy? z^sx&$&9>p2qOGJ2w2D|NUM`iPncg}gxdd<0P+!l}KjTIvrUTCy&HF^q>~=Vq9u~Ly z&Mbj6*8->o76jiWVAZ0IXPHiI7IT8&mAp>~|r^&~l+w{;tTY;!c`^dm2m2 z>!gN<_UqdV&Oe38c`v1%ZP^KASpFSj8$+;>Q)iFJ$s+?6`OQsM%M5)^aP~zd#cAycd+>Dff9M&^g`p# zVP;0R`iPaO0E3d+{;mp_uc_!@a8Z zd!#mFU*W%~+cWg;=}+KUU88aFcll8-ti zIz-OdPaZ|CuklEwAp!&~l3iRZ*xR%BYx$({HuQknRFuXy7+)L`r;p%`!veme@m6q< z{fo+!Z=@2a{AK|^7JyGGpy$(JvzD=>phfDEP$sdKpb=v(tmJrXql)VUR~m2Im4@g7 z;j3wwd8e2H0gd9?YHr@OaLsehlWLCFvh1eWoHNx>VXAz;6cf7@%{Zep@pU1l0=Z#M84m|BN}OnK#8^QCD{(DV z#}u06IbOrwp1sdIhcBq%UvC-;f?%8R$-Bi=ZT;~9)Y-|}5SP^og+lROHRPIJ#89=! zCm2A`zE3V{A7l+F4db#CBcci3c9-N=U8;d=UTTv7WS-X(;JI#DL5tuOL!ox+p+1PJ zH7^moEvUDpxZVW0dIfZ4Hl*<*6ZlucFMh5Kaxo=wZ4vXamW_|wVHqg;VHEkIV&_HG z|5oeSm4;tInm~hKni|{^o)uMHBK5p;_lhq`ix$L-7&%(fUL49>NahYBjMjz0wfxPK z*icXdO5$n-8bz`KpdcfUtG!*4Rz)yR2Wy)Xu7&ouLn_iFnS}BhO!K=WeJX?-L0#GD z*p80AR2Tn!^I3Ll4P`7Kfi^2aOpq$xErPYXT>0zZx>G;zbHwG8n)=O%q_4|j8ksdJ z*a79F5Yvv1E3-?|uAZqV-$2nZyZZi$dm0}q`ipRhraR*FW;np^dqMrhJ(|x_X=^_z zHAKu3_@1?_AQd2_eR#+!qRu)B&VABJ6(nBiLEq7bO*|PFpWukn{Z*4W<9czM3}r*U z>u|`ZW=5-xD$m@V#p&Qaa{5%ypE)=#i)ZQPWC1yx>t9w)duY*)z0dPn^;7tqDhQAt z#ea`Kwqr20fv@b2eEJr3$WA2^gRVFF*hf?jOb&mR%G`LHC{bZQ`19Hc{#{KeCRPEr8W`UwS(_`eNI$_c>mRdO%5B4yp<^d+dGXlI-hbQ{fczIt2d%=T17bfzCeN zX{cK74bTt)g6ry&YPOsUP@@^lyvUbup)%Z?KPeqC#ME%ciA}64CaGNUzNhb`+ub0F z;F=cSEchM9$l3IaF69c3C#Ruf+%So~GcX9aHkccW|qD3ho24*l%VA5Gm z&>vB?;gjY)UE^|gkVLQIgJ=u{rH@IP>=s8}KTP_}CZ#TiH_11JJAP}q3@Wc>g=t6z zL3=)_AfQdS=9DB#-k(v$*cFG`Vs};&n{>NV!Vx?5)*dE5Af1+F)TUnV0Q+3ljU6Hv zF5gJcJyt1wXO+>WI2J--VX%!*`&(S>Z6k6g71488CNRtC z$L=o2((6Tnk=mIQv--3t_X88M~f+`mA}L6jq;9kf?DB(wTSqS;My^sO>vu^)9hX1tTb$8s+|=7-fSm97ZyhRw zvw|7iuL#KYrC3E=s*~$GT$WYw#xH1xq5_dWK*9+6&p?JHuF3C)ZfBUk>sQh$l}D#FnNAOm{f3qij7VRTi|ECoP!Nj(MNiAe2&r+>8^EDo4g_g9T0jLE^^x0mH|T3-)KsD&(D#&k;A6%4 zywrFPJshgH()fJTD*W>H?0wEx?21XCL6AZk`jk0QLHfPELBGy3^m!cij#~shJX+Uh z7}z<`_?5Wk(pgrJ6a=(k?_!SEvYZaV5WZ%XK&tnVr!duHUS|hdUOY_f)+op9hS??Q ztAHO1FrU619W6qaj%rz%%E;1;V6r$K!V$W|AsHSpL-)e;fMzfH5iMsl4cEUBm<}=t zRgXR`bsTE}(`L2<@Y*_x<^4Omnfg&H`L7*&Z&{5-LF6hpgReLvUmAz=;T8PzZ*KB^ zjJ>`~r0xV7R1z1&n4f0QKuKKf=m_?M9`J%};cumI>3(6g?+_|Dt+kvU$A)RjXS#nwPaq~%hUrxGFa=@Y-7 zjCdO;{GN7u>6KG;F_H=`i8M?SEe$@q!~|+GI9o4NoF3CAi*?l(x5-d-1h)9ay?2LA&6kWBIjMP)CY3 zRwgET*@@{-`NOZ;d6#p`K&d0HTvJcopf#!5f4={ePmYKSAyJp`sFHU)X{3f zoL_0AA#p7yXe_B2Bu3=3((?La=qN(OcL$VtKK%ZL!;XsuSq-lRl?N)j#a18{1j|xN z&++1C^?VXWO6KHN(~*{LDN-#&zk7FzP8#&DFl&di72sp$IQ14eL`1#Qw&j!djgK`X zF^p?bv7l>$x7{U)N3R;V<`ZcWfI8&$1P%0y4q61S7^=bk=6p^qMgEeAmm+w@XmblB z$+?i-dl!&i4am8Yxr$l#-JSkRF)Yo1 zf>FRijBo183AVdS(w~@WX;Tv8R!lAv2)vC&k{Q#fJ7$0`ejF&r5!CoY&|mvPHkzRX z0txi&n8LU3B?qYh0ZRl`M~{MS4W`1)1t`E|g*O*K_~V7}ZZ+Vs3sU(>~F_-spvWNaX9CG#uto7!m6)YIywj#PV9;Mrkz0dJpt)u$X6h6rf zf*4}e0GH=kHHDzrg5|z3pzv8n3bCuJ0QH<#?@=V6Z%ap#5YUdjw>BrujJK6QAURRF zniNvPBS{m`KbYBY6rZ2SSCBk{(?*OHG_VraTsq4Ng8iKV5EjYVH z*`QwvGUql74eDIZE~AbBu3b;R=%6pS9ebbSwJRur27y`dIrcQylW0xhlg3qPDlFJG zxGZjGsWk2^pn;RP+R+j0s|RyFr;vg)pS$-2jo{v_Pm1ZR>KUHZ9YKW)Rn`Jp$FyL0 zr_pmZrA@kCr|{j=+!uo1Nd0?%8p{-gahR5%TE;9Tq79#%+a;;3$(e}_j~Vk_vyK%BuRSs{>~D)^j6eT~04Vjt)KGrJ^L2w+O90j6&;nKM~H=jggm zlk4GlnorI4l)AQw(R=(u`Ox;-K`J|b=~%gRmPK*Q?~<%1mYYZ+Jpb^aK6R~O4hRS8 zncKOS?J!@1_mU+}27LE2G1B~-&#k$)KrLWFE*sU3Q_u0*)0RMEBFi|T#;r%fH(#I? z_%x4D1!x3)G=7>v10`{_qvJ~Kl7#9lKml(Y(-5%P)g2R5xXkbD^v9JTFctux0=iDj zl7oI1ViCP!DCl?vJm#QI$$x0ZFZ*wPjKqI){qF%W(}loFO>Xc{`)hWyhNui~6#-@2 zj=j(E+7*;QgTOpAYutL+J!t49F7t~cY&3o(E)%qZ23F!S1ao4R93%zicI{(xtSo)I68~yHe5g>=%evtfjR<#=;Z`0QdbV8u8PvQRTD`{;&;C1V1Ffy z&i{Ks{W5`{v)q;Z$t!oOcGHf%&+*!IivvANAT>-7#2bI_s(kDucFy23F$w z|J%Es9!YL0?w;vnXCcx~0zrc~tTzlw#AyTwiA!RV6u%VGi8i+jBn)XMu0j;(y9fo1ZP0oC`vb;GGu&4a;cysS+U}Qa|QCS(GGLwyOrf_lYlFRQ~Vh8yPx6BAXNct?B#n$Q$0_jQ(Ck7u0c+g_5mp% zXn2io#1VY|eqK`bZ*L-<2m9q8F^eaQ$)r5UH4MH$;hE78&`r#e44jYvs05zfvOLJ| zUSc*6M111o8e!w|8Q;Rg;MOWEc?`k*<%~ zBkk@0+16xGf%75Ch*^@p@+0a?;cU|WWijI{Np8J?%^@j#gvB&<{7-M`d#HXNu)u!t zHr7py*H!^?Uz??W5Hs01fmb5zv(wK3E^gr*@2_?dq*GKhtu^ zkIfo_>YBJ%(m*AOr>1ii;^WfFQ~#z3P_;qcd+ZLSJJ|cZx>sF=>|><9{pFHA0Bu5c z+yV9q!bYq_&V+*9P>%EvjhH;~J`yq>O@2lRNVXa{4rlVRS@GDWM} z)`@cOaxRUvdSmlX@unbwbOO)yEcr1R=|cgx%IQ7FeH5w!HlOakCtkWXOHx3_Q`4)8 zF7xKQjTNJ(z0t3;b@%6j&RUoRA1i|Lx7b+l^Lv#O)Sqzyh7lL)4>^|7QXeI~fXj|{{koJcR^f-!)P z7Sb8VBn?vHpAA}#>Lj)B4$y#Z~kqTtZBUTe#%5N`yWbp%Yj(n(bELEdA!%90# z(mP$uC5az^&62cpg6G*OdX?Y%a9NTX#^eOGmF0&dYvs7YEM3*@adtI0Tos2QX_zMg z=h!%9mL&Za21`eDNk9ujizq(@cv9==Z|gj>U2M^BwLEgL2Mv9w^Ay69$wV`bA%Zo7 z4+$YKGUofWKf&jeOH4DSPj*xqDEK)wt&omaA-;JUN}J#`yO?M&irO0mAmG;mu%A4M zs(JDPGeb#H7j)9FkCUp1-4D>eKf z4jmT`L(+gG3g2y7E5w_pbB+>F!T%wW6C?;^P`E7pbk_3#epC1}8ZdDVO$E`kw8}?JaD% z(8!PmCQ)*1g!p8nC+lej9lZk^R+HP&D+pTw%o?q*LNUq#Q{cBkmDS)si)~p6nNGax zfYF>Y-&0~zw1Q8fSEf&Plp3f+Vfb5G<5h@{OE}>%lCg%p!B+h=rI zE2~%mt;Drm?@Z=P4by))C0rHE40#M*n57wIWzGAaocW#*lNvF3s$svxWrX;#=VA71dlKW9f40O zpbS6YBfzvyZvEjli3@m$_Kcd;5XB!}g@T;<9*s$|O7hBUSZZ*%Dh`{ZP}L|BCC5gH zk3*CtNv_^PvN}gmj-j$7uQ4Oq|Md+_mZTG+m~Y&f3T^>3NSjW~5KBt>uj<=EHsVLm3r_qPiA9-<_t97dR(S>FCMmfol^2^lq>s5?}9mnA7+GCkJq zUJEu|Z{B%zud?PV zprP^|#3bya>uH2bi!)p6?|l6;AtH zVlpWYat(toPTKWN6nHS&knkGJ|sFyOU+RS3n(ueLYCk5H`Q(Mhim=;r>>0_X~yX(`cP} zOq#gLv5|4zWDuQHOK^Fd=yq%G$i*0)oau-Oo9k~@y%>wST44-~@(9cixYbXes!1=% zneSGXH&6m*lt*AzhXxwqPhK|7m5$XuOOS>;CvuS&+7xeT@vd6+Dy1a=6M&K>Dd8n1 zsKRIny-63Ghd-(V{OK{NpoDoEn)p#` z>+27ZYa@m@Ic3IVrugK;ow7qFY?9}@mF3NqfEncxnAM?yM);F$G>Ug0ljgEuYza2F z@G5{gHU>H;07_6XPL94OV|e2b6E?~7eS(-gl`uWWMl8Rp^mK`d`@Sr zE8u>5AZNZ$5R-ekPVOcq`NYRHrsV}nQY$xwOO_<(l@L=QG&AHuzC98P&p=eNB>Ow^ zvcIU4ELoBzOVUpjG4EXu{$^n1rhnNVfCs{-A%8}vwX$wdKtu7}+}0g@OtNQSmY|-c zRWYObzR1EWnG6cUX4IIBy<+4?P_iU793xS-Usb>`dm84IIhVW_4(w5&ra;R8VsGk6IYyghbDPB_>C6I1@I>^WDnwwn@NEvpM%nL+2f{lqe@3UZvSU?1L-F0**4>C3boMM1Fv|nG zd65-{&8RUc6nw<=$$JiWuMz$Z8Cg(WVv_f7L9g*ZiOIl0gTy3W(e6P^nh!z$qC7I^?k|ha0CEpvAEXlN4)tM{#W}vg?n=OEuowLwdS>A^dFrz#I zvpO`;2!DD^Dkx!IMI^skaI#Pnk^d|boA3zVc*@C8(|Bm)OR{81 z`paC&l5~+#_WR<2@XpJh(P^#hSQXGvd^e9;H{u4JJqrcQ^1yChE{9<=YD@|RA2EIM zo*U{jL5WG;zXiR<10^N{2bGxA@QFm(epLZOq5d9-M_#<8)!V97&#E$OR{p0uQmRlG zG`=}=A=nB99*{t& z>;;`0E8kDIl`cA<^+0c7D{XVz;xbBkpZiGm{OqIYTWzi;>QybiH4RD|-&rtr(6I(T^?HJ%s(MmYjagxi1O@3>;BEp9=BtIUz2;B|iPFsXj5?!nCHzu@MOI zviQYD{U2X6r{){+Y;kq`^w#>0zAN4kk3szie~-U{4&qR+H#lAZM@y;S%fI-3!SZZbS*Cv@{vlpp7$xsseev|8&+mM2 z_xU$ocy#v7#j|&>jsthCU!}p+9G=J)L!x#x9U^SEjM9%Dlci)BOmABHY37zz znz6vkXKkfz!`k)Gg<6REG?0@wUZ)dv8F&SNJ`!KA-I=RJj_KU$yEt=Vd$%WoX3x*= F{2#QmWMKdR delta 29208 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