From 4d230c21bb8c9c23c3dd3349f8736b84987eab0d Mon Sep 17 00:00:00 2001 From: Bernhard Urban Date: Thu, 16 Dec 2010 18:51:41 +0100 Subject: [PATCH] erster versuch das ganze mal zu flashen -> es blinkt!!111 --- 3_test/hello.s | 4 + cpu/.gitignore | 1 + cpu/sim/testcore1.do | 2 +- cpu/src/core_pkg.vhd | 4 +- cpu/src/core_top.vhd | 10 +- cpu/src/extension_pkg.vhd | 4 +- cpu/src/extension_uart_b.vhd | 17 +- cpu/src/extension_uart_pkg.vhd | 3 +- cpu/src/pipeline_tb.vhd | 2 +- cpu/src/r_w_ram_b.vhd | 18 +- cpu/src/rs232_tx_arc.vhd | 246 +++--- cpu/src/writeback_stage.vhd | 4 +- cpu/src/writeback_stage_b.vhd | 2 +- dt/.gitignore | 3 + dt/dt.asm.rpt | 141 +++ dt/dt.done | 1 + dt/dt.dpf | 12 + dt/dt.fit.rpt | 965 +++++++++++++++++++++ dt/dt.fit.summary | 12 + dt/dt.flow.rpt | 118 +++ dt/dt.map.rpt | 1492 ++++++++++++++++++++++++++++++++ dt/dt.map.summary | 10 + dt/dt.pin | 306 +++++++ dt/dt.pof | Bin 0 -> 524489 bytes dt/dt.qpf | 30 + dt/dt.qsf | 103 +++ dt/dt.rbf | Bin 0 -> 290405 bytes dt/dt.sof | Bin 0 -> 281523 bytes dt/dt.tan.rpt | 387 +++++++++ dt/dt.tan.summary | 36 + dt/output_file.pof | Bin 0 -> 2097309 bytes dt/output_file.rbf | Bin 0 -> 290405 bytes 32 files changed, 3779 insertions(+), 154 deletions(-) create mode 100644 3_test/hello.s create mode 100644 dt/.gitignore create mode 100644 dt/dt.asm.rpt create mode 100644 dt/dt.done create mode 100644 dt/dt.dpf create mode 100644 dt/dt.fit.rpt create mode 100644 dt/dt.fit.summary create mode 100644 dt/dt.flow.rpt create mode 100644 dt/dt.map.rpt create mode 100644 dt/dt.map.summary create mode 100644 dt/dt.pin create mode 100644 dt/dt.pof create mode 100644 dt/dt.qpf create mode 100644 dt/dt.qsf create mode 100644 dt/dt.rbf create mode 100644 dt/dt.sof create mode 100644 dt/dt.tan.rpt create mode 100644 dt/dt.tan.summary create mode 100644 dt/output_file.pof create mode 100644 dt/output_file.rbf diff --git a/3_test/hello.s b/3_test/hello.s new file mode 100644 index 0000000..059a499 --- /dev/null +++ b/3_test/hello.s @@ -0,0 +1,4 @@ +.text + ldi r5, 0x5a + ldi r0, 0x100b + stw r5, 0(r0) diff --git a/cpu/.gitignore b/cpu/.gitignore index 94654cb..daa7461 100644 --- a/cpu/.gitignore +++ b/cpu/.gitignore @@ -1 +1,2 @@ /prj/* +*.bak diff --git a/cpu/sim/testcore1.do b/cpu/sim/testcore1.do index e9eaf93..4df36d1 100644 --- a/cpu/sim/testcore1.do +++ b/cpu/sim/testcore1.do @@ -7,6 +7,7 @@ vcom -work work ../src/r_w_ram_b.vhd vcom -work work ../src/r2_w_ram.vhd vcom -work work ../src/r2_w_ram_b.vhd vcom -work work ../src/common_pkg.vhd +vcom -work work ../src/extension_pkg.vhd vcom -work work ../src/core_pkg.vhd vcom -work work ../src/decoder.vhd vcom -work work ../src/decoder_b.vhd @@ -16,7 +17,6 @@ vcom -work work ../src/decode_stage.vhd vcom -work work ../src/decode_stage_b.vhd vcom -work work ../src/alu_pkg.vhd -vcom -work work ../src/extension_pkg.vhd vcom -work work ../src/exec_op.vhd diff --git a/cpu/src/core_pkg.vhd b/cpu/src/core_pkg.vhd index 2340344..0072827 100644 --- a/cpu/src/core_pkg.vhd +++ b/cpu/src/core_pkg.vhd @@ -143,7 +143,9 @@ package core_pkg is reg_we : out std_logic; reg_addr : out gp_addr_t; jump_addr : out instruction_addr_t; - jump : out std_logic + jump : out std_logic; + -- same here + bus_tx : out std_logic ); end component writeback_stage; diff --git a/cpu/src/core_top.vhd b/cpu/src/core_top.vhd index 1002989..9e0c996 100644 --- a/cpu/src/core_top.vhd +++ b/cpu/src/core_top.vhd @@ -11,17 +11,18 @@ entity core_top is port( --System input pins sys_clk : in std_logic; - sys_res : in std_logic; -- result : out gp_register_t; - jump_result : out instruction_addr_t -- reg_wr_data : out gp_register_t - + -- uart + bus_tx : out std_logic ); end core_top; architecture behav of core_top is + signal jump_result : instruction_addr_t; + signal sys_res : std_logic; signal jump_result_pin : instruction_addr_t; signal prediction_result_pin : instruction_addr_t; signal branch_prediction_bit_pin : std_logic; @@ -115,7 +116,7 @@ begin generic map('0', '1') port map(sys_clk, sys_res, 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); + reg_wr_data_pin, reg_we_pin, reg_w_addr_pin, jump_result_pin, alu_jump_bit_pin,bus_tx); @@ -136,6 +137,7 @@ begin nop_pin <= (alu_jump_bit_pin); -- xor brpr_pin); jump_result <= prog_cnt_pin; --jump_result_pin; + sys_res <= '1'; -- reg_wr_data <= reg_wr_data_pin; end behav; diff --git a/cpu/src/extension_pkg.vhd b/cpu/src/extension_pkg.vhd index 7be5162..da172cc 100644 --- a/cpu/src/extension_pkg.vhd +++ b/cpu/src/extension_pkg.vhd @@ -38,8 +38,8 @@ constant EXT_7SEG_ADDR: ext_addrid_t := x"FFFFFFA"; constant EXT_EXTMEM_ADDR: ext_addrid_t := x"FFFFFFB"; constant EXT_TIMER_ADDR: ext_addrid_t := x"FFFFFFC"; constant EXT_AC97_ADDR: ext_addrid_t := x"FFFFFFD"; ---constant EXT_UART_ADDR: ext_addrid_t := x"FFFFFFE"; -constant EXT_UART_ADDR: ext_addrid_t := x"0000000"; +-- constant EXT_UART_ADDR: ext_addrid_t := x"FFFFFFE"; +constant EXT_UART_ADDR: ext_addrid_t := x"0000100"; constant EXT_GPMP_ADDR: ext_addrid_t := x"FFFFFFF"; component extension_gpm is diff --git a/cpu/src/extension_uart_b.vhd b/cpu/src/extension_uart_b.vhd index 95e761b..bf29728 100644 --- a/cpu/src/extension_uart_b.vhd +++ b/cpu/src/extension_uart_b.vhd @@ -63,11 +63,17 @@ end process syn; -------------------------- LESEN UND SCHREIBEN ANFANG ------------------------------------------------------------ -gwriten : process (ext_reg,tx_rdy) +gwriten : process (ext_reg,tx_rdy,w1_st_co,w2_uart_config,w3_uart_send,w4_uart_receive,tx_rdy_int) variable tmp_data : gp_register_t; begin + + w1_st_co_nxt <= w1_st_co; + w2_uart_config_nxt <= w2_uart_config; + w3_uart_send_nxt <= w3_uart_send; + w4_uart_receive_nxt <= w4_uart_receive; + if ext_reg.sel = '1' and ext_reg.wr_en = '1' then tmp_data := (others =>'0'); if ext_reg.byte_en(0) = '1' then @@ -95,11 +101,6 @@ begin w4_uart_receive_nxt <= tmp_data; when others => null; end case; - else - w1_st_co_nxt <= w1_st_co; - w2_uart_config_nxt <= w2_uart_config; - w3_uart_send_nxt <= w3_uart_send; - w4_uart_receive_nxt <= w4_uart_receive; end if; if tx_rdy = '1' and tx_rdy_int = '0' then @@ -108,7 +109,7 @@ begin end process gwriten; -gread : process (clk,ext_reg) +gread : process (clk,ext_reg,w1_st_co,w2_uart_config,w3_uart_send,w4_uart_receive) variable tmp_data : gp_register_t; @@ -187,7 +188,7 @@ end process gread; -------------------------- INTERNE VERARBEITUNG ANFANG ------------------------------------------------------------ -dataprocess : process (ext_reg,tx_rdy) +dataprocess : process (ext_reg,tx_rdy,w2_uart_config) begin diff --git a/cpu/src/extension_uart_pkg.vhd b/cpu/src/extension_uart_pkg.vhd index 604a060..c9892bd 100644 --- a/cpu/src/extension_uart_pkg.vhd +++ b/cpu/src/extension_uart_pkg.vhd @@ -21,7 +21,8 @@ subtype baud_rate_l is std_logic_vector(BAUD_RATE_WITH-1 downto 0); --CLKs constant CLK_FREQ_MHZ : real := 33.33; constant BAUD_RATE : integer := 115200; -constant CLK_PER_BAUD : integer := integer((CLK_FREQ_MHZ * 1000000.0) / real(BAUD_RATE) - 0.5); +--constant CLK_PER_BAUD : integer := integer((CLK_FREQ_MHZ * 1000000.0) / real(BAUD_RATE) - 0.5); +constant CLK_PER_BAUD : integer := 16330000; component extension_uart is --some modules won't need all inputs/outputs diff --git a/cpu/src/pipeline_tb.vhd b/cpu/src/pipeline_tb.vhd index 7392a95..d87cee1 100644 --- a/cpu/src/pipeline_tb.vhd +++ b/cpu/src/pipeline_tb.vhd @@ -191,7 +191,7 @@ begin wait until sys_res_n_pin = '1'; - icwait(100000); + icwait(1000000000); --------------------------------------------------------------------------- -- exit testbench diff --git a/cpu/src/r_w_ram_b.vhd b/cpu/src/r_w_ram_b.vhd index c995c10..5ba03c0 100644 --- a/cpu/src/r_w_ram_b.vhd +++ b/cpu/src/r_w_ram_b.vhd @@ -13,16 +13,6 @@ architecture behaviour of r_w_ram is -- r0 = 0, r1 = 1, r2 = 3, r3 = A signal ram : RAM_TYPE := ( - - - 0 => "11101101000000000000000001011000", -- r0 = 11 - 1 => "11101101000010000000000000111000", -- r1 = 7 - 2 => "11100111100010000000000000000000", --stw - 3 => "11101101000000000000000000011000", -- r0 = 3 - 4 => "11101101000010000000000001001000", -- r1 = 9 - 5 => "11100111000010000000000000000000", --ldw - 6 => "11101101000000000000000000011000", -- r0 = 3 - 7 => "11101101000010000000000001001000", -- r1 = 9 --8 => "11100111100010000000000000000000", --stw -- 0 => "11101101000000000000000000000000", --ldi -- 1 => "11101101001000000000000000000000", --ldi @@ -133,7 +123,13 @@ begin process(clk) begin if rising_edge(clk) then - data_out <= ram(to_integer(UNSIGNED(rd_addr))); + -- data_out <= ram(to_integer(UNSIGNED(rd_addr))); + case rd_addr is + when "00000000000" => data_out <= x"ed2802d0"; -- ldi r5, 0x5a;; + when "00000000100" => data_out <= x"ed008058"; -- ldi r0, 0x100b;; + when "00000001000" => data_out <= x"e7a80000"; -- stw r5, 0(r0);; + when others => data_out <= x"07a80000"; + end case; if wr_en = '1' then ram(to_integer(UNSIGNED(wr_addr))) <= data_in; diff --git a/cpu/src/rs232_tx_arc.vhd b/cpu/src/rs232_tx_arc.vhd index 188566a..c7dc886 100755 --- a/cpu/src/rs232_tx_arc.vhd +++ b/cpu/src/rs232_tx_arc.vhd @@ -1,123 +1,123 @@ ---------------------------------------------------------------------------------- --- Filename : rs232_tx_arc.vhd --- ========== --- --- Beschreibung : Versand von Daten ueber die RS232 Schnittstelle --- ============== --- --- Autoren : Martin Perner, Schwarz Manfred --- ========= ----------------------------------------------------------------------------------- - -library IEEE; -use IEEE.std_logic_1164.all; -use IEEE.numeric_std.all; - -use work.common_pkg.all; -use work.core_pkg.all; -use work.extension_uart_pkg.all; - -architecture beh of rs232_tx is - -- definierern der intern verwendeten Signale - type STATE_TYPE is (IDLE,SEND); - signal state, state_next : STATE_TYPE; - signal bus_tx_int, bus_tx_nxt : std_logic := '1'; - signal baud_cnt,baud_cnt_next : integer := CLK_PER_BAUD; - signal cnt, cnt_next : natural range 0 to 11 := 0; - signal idle_sig, idle_sig_next : std_logic := '0'; - -begin - -- syncronisierungs Prozess - rs232_tx_syn : process(sys_clk, sys_res_n) - begin - if (sys_res_n = RESET_VALUE) then - -- reset - cnt <= 0; - baud_cnt <= 0; - state <= IDLE; - idle_sig <= '0'; - bus_tx_int <= '1'; - elsif rising_edge(sys_clk) then - -- sync Zustand, uebernehmen der next-Signale - baud_cnt <= baud_cnt_next; - cnt <= cnt_next; - state <= state_next; - idle_sig <= idle_sig_next; - bus_tx_int <= bus_tx_nxt; - end if; - end process; - - bus_tx <= bus_tx_int; - - -- Zustandsmaschienen Prozess - rs232_tx_state : process(state, new_tx_data, idle_sig) - begin - state_next <= state; - case state is - when IDLE => - -- wenn neue Sendedaten anliegen wird in den Zustand SEND gewechselt - if new_tx_data = '1' then - state_next <= SEND; - end if; - when SEND => - -- wenn das Byte inklusive Start- und Stopbit versendet wurde, geht - -- der Prozess wieder in den IDLE Zustand. - if idle_sig = '1' then - state_next <= IDLE; - end if; - end case; - end process; - - -- Ausgabe Logik - rs232_tx_baud : process(sys_clk, sys_res_n, state, baud_cnt, cnt, tx_data, bus_tx_int) - begin - -- Solang idle_sig auf 0 ist wird im SEND Zustand verblieben - idle_sig_next <= '0'; - bus_tx_nxt <= bus_tx_int; - cnt_next <= cnt; - baud_cnt_next <= baud_cnt; - - case state is - when IDLE => - -- tx-Signale im idle Zustand halten - tx_rdy <= '1'; - baud_cnt_next <= CLK_PER_BAUD; - when SEND => - -- Signalisiert dass gerade ein Byte versendet wird - tx_rdy <= '0'; - -- Counter erhoehen um die Zeit einer Bitdauer abzuwarten - baud_cnt_next <= baud_cnt + 1; - if baud_cnt = CLK_PER_BAUD then - -- wenn die Bitdauer erreicht ist, Counter reseten - baud_cnt_next <= 0; - -- Counter um die einzelen Bits zu versenden - cnt_next <= cnt + 1; - case cnt is - when 0 => - -- counter = 0 => Startbit versenden - bus_tx_nxt <= '0'; - when 9 => - -- counter = 9 => Stopbit versenden - bus_tx_nxt <= '1'; - -- stop_bit 0 heißt 1 stop bit - if stop_bit = '0' then - cnt_next <= 0; - idle_sig_next <= '1'; - end if; - when 10 => - bus_tx_nxt <= '1'; - -- stop_bit 1 heißt 2 stop bits - if stop_bit = '1' then - cnt_next <= 0; - -- Signalisieren dass der Sendevorgang beendet ist - idle_sig_next <= '1'; - end if; - when others => - -- counter von 1 bis 8 => Datenbits versenden - bus_tx_nxt <= tx_data(cnt-1); - end case; - end if; - end case; - end process; - -end architecture beh; +--------------------------------------------------------------------------------- +-- Filename : rs232_tx_arc.vhd +-- ========== +-- +-- Beschreibung : Versand von Daten ueber die RS232 Schnittstelle +-- ============== +-- +-- Autoren : Martin Perner, Schwarz Manfred +-- ========= +---------------------------------------------------------------------------------- + +library IEEE; +use IEEE.std_logic_1164.all; +use IEEE.numeric_std.all; + +use work.common_pkg.all; +use work.core_pkg.all; +use work.extension_uart_pkg.all; + +architecture beh of rs232_tx is + -- definierern der intern verwendeten Signale + type STATE_TYPE is (IDLE,SEND); + signal state, state_next : STATE_TYPE; + signal bus_tx_int, bus_tx_nxt : std_logic := '1'; + signal baud_cnt,baud_cnt_next : integer := CLK_PER_BAUD; + signal cnt, cnt_next : natural range 0 to 11 := 0; + signal idle_sig, idle_sig_next : std_logic := '0'; + +begin + -- syncronisierungs Prozess + rs232_tx_syn : process(sys_clk, sys_res_n) + begin + if (sys_res_n = RESET_VALUE) then + -- reset + cnt <= 0; + baud_cnt <= 0; + state <= IDLE; + idle_sig <= '0'; + bus_tx_int <= '1'; + elsif rising_edge(sys_clk) then + -- sync Zustand, uebernehmen der next-Signale + baud_cnt <= baud_cnt_next; + cnt <= cnt_next; + state <= state_next; + idle_sig <= idle_sig_next; + bus_tx_int <= bus_tx_nxt; + end if; + end process; + + bus_tx <= bus_tx_int; + + -- Zustandsmaschienen Prozess + rs232_tx_state : process(state, new_tx_data, idle_sig) + begin + state_next <= state; + case state is + when IDLE => + -- wenn neue Sendedaten anliegen wird in den Zustand SEND gewechselt + if new_tx_data = '1' then + state_next <= SEND; + end if; + when SEND => + -- wenn das Byte inklusive Start- und Stopbit versendet wurde, geht + -- der Prozess wieder in den IDLE Zustand. + if idle_sig = '1' then + state_next <= IDLE; + end if; + end case; + end process; + + -- Ausgabe Logik + rs232_tx_baud : process(sys_clk, sys_res_n, state, baud_cnt, cnt, tx_data, bus_tx_int,stop_bit) + begin + -- Solang idle_sig auf 0 ist wird im SEND Zustand verblieben + idle_sig_next <= '0'; + bus_tx_nxt <= bus_tx_int; + cnt_next <= cnt; + baud_cnt_next <= baud_cnt; + + case state is + when IDLE => + -- tx-Signale im idle Zustand halten + tx_rdy <= '1'; + baud_cnt_next <= CLK_PER_BAUD; + when SEND => + -- Signalisiert dass gerade ein Byte versendet wird + tx_rdy <= '0'; + -- Counter erhoehen um die Zeit einer Bitdauer abzuwarten + baud_cnt_next <= baud_cnt + 1; + if baud_cnt = CLK_PER_BAUD then + -- wenn die Bitdauer erreicht ist, Counter reseten + baud_cnt_next <= 0; + -- Counter um die einzelen Bits zu versenden + cnt_next <= cnt + 1; + case cnt is + when 0 => + -- counter = 0 => Startbit versenden + bus_tx_nxt <= '0'; + when 9 => + -- counter = 9 => Stopbit versenden + bus_tx_nxt <= '1'; + -- stop_bit 0 heißt 1 stop bit + if stop_bit = '0' then + cnt_next <= 0; + idle_sig_next <= '1'; + end if; + when 10 => + bus_tx_nxt <= '1'; + -- stop_bit 1 heißt 2 stop bits + if stop_bit = '1' then + cnt_next <= 0; + -- Signalisieren dass der Sendevorgang beendet ist + idle_sig_next <= '1'; + end if; + when others => + -- counter von 1 bis 8 => Datenbits versenden + bus_tx_nxt <= tx_data(cnt-1); + end case; + end if; + end case; + end process; + +end architecture beh; diff --git a/cpu/src/writeback_stage.vhd b/cpu/src/writeback_stage.vhd index 9a5657d..4c1364c 100644 --- a/cpu/src/writeback_stage.vhd +++ b/cpu/src/writeback_stage.vhd @@ -34,7 +34,9 @@ entity writeback_stage is reg_we : out std_logic; reg_addr : out gp_addr_t; jump_addr : out instruction_addr_t; - jump : out std_logic + jump : out std_logic; + -- hallo stefan mir adden da jetzt mal schnell an uart port :D + bus_tx : out std_logic ); end writeback_stage; diff --git a/cpu/src/writeback_stage_b.vhd b/cpu/src/writeback_stage_b.vhd index 0ad3689..5eb1f94 100644 --- a/cpu/src/writeback_stage_b.vhd +++ b/cpu/src/writeback_stage_b.vhd @@ -17,7 +17,7 @@ signal wb_reg, wb_reg_nxt : writeback_rec; signal ext_uart,ext_timer,ext_gpmp : extmod_rec; -signal bus_tx,sel_nxt :std_logic; +signal sel_nxt :std_logic; diff --git a/dt/.gitignore b/dt/.gitignore new file mode 100644 index 0000000..5d1308c --- /dev/null +++ b/dt/.gitignore @@ -0,0 +1,3 @@ +db/ +incremental_db +work/ diff --git a/dt/dt.asm.rpt b/dt/dt.asm.rpt new file mode 100644 index 0000000..14dd01e --- /dev/null +++ b/dt/dt.asm.rpt @@ -0,0 +1,141 @@ +Assembler report for dt +Thu Dec 16 16:55:03 2010 +Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Assembler Summary + 3. Assembler Settings + 4. Assembler Generated Files + 5. Assembler Device Options: dt.sof + 6. Assembler Device Options: dt.pof + 7. Assembler Device Options: dt.rbf + 8. Assembler Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 1991-2010 Altera Corporation +Your use of Altera Corporation's design tools, logic functions +and other software and tools, and its AMPP partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Altera Program License +Subscription Agreement, Altera MegaCore Function License +Agreement, or other applicable license agreement, including, +without limitation, that your use is for the sole purpose of +programming logic devices manufactured by Altera and sold by +Altera or its authorized distributors. Please refer to the +applicable agreement for further details. + + + ++---------------------------------------------------------------+ +; Assembler Summary ; ++-----------------------+---------------------------------------+ +; Assembler Status ; Successful - Thu Dec 16 16:55:03 2010 ; +; Revision Name ; dt ; +; Top-level Entity Name ; core_top ; +; Family ; Cyclone ; +; Device ; EP1C12Q240C8 ; ++-----------------------+---------------------------------------+ + + ++--------------------------------------------------------------------------------------------------------+ +; Assembler Settings ; ++-----------------------------------------------------------------------------+----------+---------------+ +; Option ; Setting ; Default Value ; ++-----------------------------------------------------------------------------+----------+---------------+ +; Generate compressed bitstreams ; Off ; On ; +; Generate Raw Binary File (.rbf) For Target Device ; On ; Off ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and TimeQuest Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Compression mode ; Off ; Off ; +; Clock source for configuration device ; Internal ; Internal ; +; Clock frequency of the configuration device ; 10 MHZ ; 10 MHz ; +; Divide clock frequency by ; 1 ; 1 ; +; Auto user code ; Off ; Off ; +; Use configuration device ; On ; On ; +; Configuration device ; Auto ; Auto ; +; Configuration device auto user code ; Off ; Off ; +; Auto-increment JTAG user code for multiple configuration devices ; On ; On ; +; Generate Tabular Text File (.ttf) For Target Device ; Off ; Off ; +; Generate Hexadecimal (Intel-Format) Output File (.hexout) for Target Device ; Off ; Off ; +; Hexadecimal Output File start address ; 0 ; 0 ; +; Hexadecimal Output File count direction ; Up ; Up ; +; Release clears before tri-states ; Off ; Off ; +; Auto-restart configuration after error ; On ; On ; +; Generate Serial Vector Format File (.svf) for Target Device ; Off ; Off ; +; Generate a JEDEC STAPL Format File (.jam) for Target Device ; Off ; Off ; +; Generate a compressed Jam STAPL Byte Code 2.0 File (.jbc) for Target Device ; Off ; Off ; +; Generate a compressed Jam STAPL Byte Code 2.0 File (.jbc) for Target Device ; On ; On ; ++-----------------------------------------------------------------------------+----------+---------------+ + + ++---------------------------+ +; Assembler Generated Files ; ++---------------------------+ +; File Name ; ++---------------------------+ +; dt.sof ; +; dt.pof ; +; dt.rbf ; ++---------------------------+ + + ++----------------------------------+ +; Assembler Device Options: dt.sof ; ++----------------+-----------------+ +; Option ; Setting ; ++----------------+-----------------+ +; Device ; EP1C12Q240C8 ; +; JTAG usercode ; 0xFFFFFFFF ; +; Checksum ; 0x00162065 ; ++----------------+-----------------+ + + ++----------------------------------+ +; Assembler Device Options: dt.pof ; ++--------------------+-------------+ +; Option ; Setting ; ++--------------------+-------------+ +; Device ; EPCS4 ; +; JTAG usercode ; 0x00000000 ; +; Checksum ; 0x03AC7869 ; +; Compression Ratio ; 1 ; ++--------------------+-------------+ + + ++----------------------------------+ +; Assembler Device Options: dt.rbf ; ++---------------------+------------+ +; Option ; Setting ; ++---------------------+------------+ +; Raw Binary File ; ; +; Compression Ratio ; 1 ; ++---------------------+------------+ + + ++--------------------+ +; Assembler Messages ; ++--------------------+ +Info: ******************************************************************* +Info: Running Quartus II Assembler + Info: Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + Info: Processing started: Thu Dec 16 16:55:00 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: 229 megabytes + Info: Processing ended: Thu Dec 16 16:55:03 2010 + Info: Elapsed time: 00:00:03 + Info: Total CPU time (on all processors): 00:00:02 + + diff --git a/dt/dt.done b/dt/dt.done new file mode 100644 index 0000000..3260487 --- /dev/null +++ b/dt/dt.done @@ -0,0 +1 @@ +Thu Dec 16 16:55:06 2010 diff --git a/dt/dt.dpf b/dt/dt.dpf new file mode 100644 index 0000000..abe19d9 --- /dev/null +++ b/dt/dt.dpf @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/dt/dt.fit.rpt b/dt/dt.fit.rpt new file mode 100644 index 0000000..67e6c6c --- /dev/null +++ b/dt/dt.fit.rpt @@ -0,0 +1,965 @@ +Fitter report for dt +Thu Dec 16 16:54:58 2010 +Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Fitter Summary + 3. Fitter Settings + 4. Parallel Compilation + 5. Incremental Compilation Preservation Summary + 6. Incremental Compilation Partition Settings + 7. Incremental Compilation Placement Preservation + 8. Pin-Out File + 9. Fitter Resource Usage Summary + 10. Fitter Partition Statistics + 11. Input Pins + 12. Output Pins + 13. I/O Bank Usage + 14. All Package Pins + 15. Output Pin Default Load For Reported TCO + 16. Fitter Resource Utilization by Entity + 17. Delay Chain Summary + 18. Pad To Core Delay Chain Fanout + 19. Control Signals + 20. Global & Other Fast Signals + 21. Non-Global High Fan-Out Signals + 22. Fitter RAM Summary + 23. Interconnect Usage Summary + 24. LAB Logic Elements + 25. LAB-wide Signals + 26. LAB Signals Sourced + 27. LAB Signals Sourced Out + 28. LAB Distinct Inputs + 29. Fitter Device Options + 30. Estimated Delay Added for Hold Timing Summary + 31. Estimated Delay Added for Hold Timing Details + 32. Fitter Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 1991-2010 Altera Corporation +Your use of Altera Corporation's design tools, logic functions +and other software and tools, and its AMPP partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Altera Program License +Subscription Agreement, Altera MegaCore Function License +Agreement, or other applicable license agreement, including, +without limitation, that your use is for the sole purpose of +programming logic devices manufactured by Altera and sold by +Altera or its authorized distributors. Please refer to the +applicable agreement for further details. + + + ++-----------------------------------------------------------------------+ +; Fitter Summary ; ++-----------------------+-----------------------------------------------+ +; Fitter Status ; Successful - Thu Dec 16 16:54:57 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 ; 398 / 12,060 ( 3 % ) ; +; Total pins ; 2 / 173 ( 1 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 512 / 239,616 ( < 1 % ) ; +; Total PLLs ; 0 / 2 ( 0 % ) ; ++-----------------------+-----------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------+ +; Fitter Settings ; ++----------------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Option ; Setting ; Default Value ; ++----------------------------------------------------------------------------+--------------------------------+--------------------------------+ +; Device ; EP1C12Q240C8 ; ; +; Fit Attempts to Skip ; 0 ; 0.0 ; +; Device I/O Standard ; 3.3-V LVCMOS ; ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and TimeQuest Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Use TimeQuest Timing Analyzer ; Off ; Off ; +; Router Timing Optimization Level ; Normal ; Normal ; +; Placement Effort Multiplier ; 1.0 ; 1.0 ; +; Router Effort Multiplier ; 1.0 ; 1.0 ; +; Optimize Hold Timing ; IO Paths and Minimum TPD Paths ; IO Paths and Minimum TPD Paths ; +; Optimize Multi-Corner Timing ; Off ; Off ; +; Optimize Timing ; Normal compilation ; Normal compilation ; +; Optimize Timing for ECOs ; Off ; Off ; +; Regenerate full fit report during ECO compiles ; Off ; Off ; +; Optimize IOC Register Placement for Timing ; Normal ; Normal ; +; Limit to One Fitting Attempt ; Off ; Off ; +; Final Placement Optimizations ; Automatically ; Automatically ; +; Fitter Aggressive Routability Optimizations ; Automatically ; Automatically ; +; Fitter Initial Placement Seed ; 1 ; 1 ; +; Slow Slew Rate ; Off ; Off ; +; PCI I/O ; Off ; Off ; +; Weak Pull-Up Resistor ; Off ; Off ; +; Enable Bus-Hold Circuitry ; Off ; Off ; +; Auto Global Memory Control Signals ; Off ; Off ; +; Auto Packed Registers ; Auto ; Auto ; +; Auto Delay Chains ; On ; On ; +; Auto Merge PLLs ; On ; On ; +; Perform Physical Synthesis for Combinational Logic for Performance ; Off ; Off ; +; Perform Register Duplication for Performance ; Off ; Off ; +; Perform Register Retiming for Performance ; Off ; Off ; +; Perform Asynchronous Signal Pipelining ; Off ; Off ; +; Fitter Effort ; Auto Fit ; Auto Fit ; +; Physical Synthesis Effort Level ; Normal ; Normal ; +; Logic Cell Insertion - Logic Duplication ; Auto ; Auto ; +; Auto Register Duplication ; Auto ; Auto ; +; Auto Global Clock ; On ; On ; +; Auto Global Register Control Signals ; On ; On ; +; Stop After Congestion Map Generation ; Off ; Off ; +; Force Fitter to Avoid Periphery Placement Warnings ; Off ; Off ; ++----------------------------------------------------------------------------+--------------------------------+--------------------------------+ + + +Parallel compilation was disabled, but you have multiple processors available. Enable parallel compilation to reduce compilation time. ++-------------------------------------+ +; Parallel Compilation ; ++----------------------------+--------+ +; Processors ; Number ; ++----------------------------+--------+ +; Number detected on machine ; 2 ; +; Maximum allowed ; 1 ; ++----------------------------+--------+ + + ++----------------------------------------------+ +; Incremental Compilation Preservation Summary ; ++---------------------+------------------------+ +; Type ; Value ; ++---------------------+------------------------+ +; Placement (by node) ; ; +; -- Requested ; 0 / 466 ( 0.00 % ) ; +; -- Achieved ; 0 / 466 ( 0.00 % ) ; +; ; ; +; Routing (by net) ; ; +; -- Requested ; 0 / 0 ( 0.00 % ) ; +; -- Achieved ; 0 / 0 ( 0.00 % ) ; ++---------------------+------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Incremental Compilation Partition Settings ; ++--------------------------------+----------------+-------------------+-------------------------+------------------------+------------------------------+--------------------------------+ +; Partition Name ; Partition Type ; Netlist Type Used ; Preservation Level Used ; Netlist Type Requested ; Preservation Level Requested ; Contents ; ++--------------------------------+----------------+-------------------+-------------------------+------------------------+------------------------------+--------------------------------+ +; Top ; User-created ; Source File ; N/A ; Source File ; N/A ; ; +; hard_block:auto_generated_inst ; Auto-generated ; Source File ; N/A ; Source File ; N/A ; hard_block:auto_generated_inst ; ++--------------------------------+----------------+-------------------+-------------------------+------------------------+------------------------------+--------------------------------+ + + ++------------------------------------------------------------------------------------------------------------+ +; Incremental Compilation Placement Preservation ; ++--------------------------------+---------+-------------------+-------------------------+-------------------+ +; Partition Name ; # Nodes ; # Preserved Nodes ; Preservation Level Used ; Netlist Type Used ; ++--------------------------------+---------+-------------------+-------------------------+-------------------+ +; Top ; 464 ; 0 ; N/A ; Source File ; +; hard_block:auto_generated_inst ; 2 ; 0 ; N/A ; Source File ; ++--------------------------------+---------+-------------------+-------------------------+-------------------+ + + ++--------------+ +; Pin-Out File ; ++--------------+ +The pin-out file can be found in /homes/burban/calu/dt/dt.pin. + + ++-------------------------------------------------------------------------------------------+ +; Fitter Resource Usage Summary ; ++---------------------------------------------+---------------------------------------------+ +; Resource ; Usage ; ++---------------------------------------------+---------------------------------------------+ +; Total logic elements ; 398 / 12,060 ( 3 % ) ; +; -- Combinational with no register ; 257 ; +; -- Register only ; 12 ; +; -- Combinational with a register ; 129 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 105 ; +; -- 3 input functions ; 195 ; +; -- 2 input functions ; 80 ; +; -- 1 input functions ; 4 ; +; -- 0 input functions ; 2 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 298 ; +; -- arithmetic mode ; 100 ; +; -- qfbk mode ; 35 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 44 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 141 / 12,567 ( 1 % ) ; +; Total LABs ; 48 / 1,206 ( 4 % ) ; +; Logic elements in carry chains ; 104 ; +; User inserted logic elements ; 0 ; +; Virtual pins ; 0 ; +; I/O pins ; 2 / 173 ( 1 % ) ; +; -- Clock pins ; 1 / 2 ( 50 % ) ; +; Global signals ; 1 ; +; 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 ; 1 / 8 ( 13 % ) ; +; JTAGs ; 0 / 1 ( 0 % ) ; +; ASMI Blocks ; 0 / 1 ( 0 % ) ; +; CRC blocks ; 0 / 1 ( 0 % ) ; +; Average interconnect usage (total/H/V) ; 1% / 1% / 1% ; +; Peak interconnect usage (total/H/V) ; 4% / 5% / 4% ; +; Maximum fan-out node ; sys_clk ; +; Maximum fan-out ; 143 ; +; Highest non-global fan-out signal ; decode_stage:decode_st|rtw_rec.immediate[3] ; +; Highest non-global fan-out ; 66 ; +; Total fan-out ; 1487 ; +; Average fan-out ; 3.68 ; ++---------------------------------------------+---------------------------------------------+ + + ++---------------------------------------------------------------------------------------------------+ +; Fitter Partition Statistics ; ++---------------------------------------------+--------------------+--------------------------------+ +; Statistic ; Top ; hard_block:auto_generated_inst ; ++---------------------------------------------+--------------------+--------------------------------+ +; Difficulty Clustering Region ; Low ; Low ; +; ; ; ; +; Total logic elements ; 398 ; 0 ; +; -- Combinational with no register ; 257 ; 0 ; +; -- Register only ; 12 ; 0 ; +; -- Combinational with a register ; 129 ; 0 ; +; ; ; ; +; Logic element usage by number of LUT inputs ; ; ; +; -- 4 input functions ; 0 ; 0 ; +; -- 3 input functions ; 0 ; 0 ; +; -- 2 input functions ; 0 ; 0 ; +; -- 1 input functions ; 0 ; 0 ; +; -- 0 input functions ; 0 ; 0 ; +; ; ; ; +; Logic elements by mode ; ; ; +; -- normal mode ; 0 ; 0 ; +; -- arithmetic mode ; 0 ; 0 ; +; -- qfbk mode ; 0 ; 0 ; +; -- register cascade mode ; 0 ; 0 ; +; -- synchronous clear/load mode ; 0 ; 0 ; +; -- asynchronous clear/load mode ; 0 ; 0 ; +; ; ; ; +; Total registers ; 141 / 6030 ( 2 % ) ; 0 / 6030 ( 0 % ) ; +; Virtual pins ; 0 ; 0 ; +; I/O pins ; 2 ; 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 % ) ; +; ; ; ; +; Connections ; ; ; +; -- Input Connections ; 0 ; 0 ; +; -- Registered Input Connections ; 0 ; 0 ; +; -- Output Connections ; 0 ; 0 ; +; -- Registered Output Connections ; 0 ; 0 ; +; ; ; ; +; Internal Connections ; ; ; +; -- Total Connections ; 1572 ; 0 ; +; -- Registered Connections ; 590 ; 0 ; +; ; ; ; +; External Connections ; ; ; +; -- Top ; 0 ; 0 ; +; -- hard_block:auto_generated_inst ; 0 ; 0 ; +; ; ; ; +; Partition Interface ; ; ; +; -- Input Ports ; 1 ; 0 ; +; -- Output Ports ; 1 ; 0 ; +; -- Bidir Ports ; 0 ; 0 ; +; ; ; ; +; Registered Ports ; ; ; +; -- Registered Input Ports ; 0 ; 0 ; +; -- Registered Output Ports ; 0 ; 0 ; +; ; ; ; +; Port Connectivity ; ; ; +; -- Input Ports driven by GND ; 0 ; 0 ; +; -- Output Ports driven by GND ; 0 ; 0 ; +; -- Input Ports driven by VCC ; 0 ; 0 ; +; -- Output Ports driven by VCC ; 0 ; 0 ; +; -- Input Ports with no Source ; 0 ; 0 ; +; -- Output Ports with no Source ; 0 ; 0 ; +; -- Input Ports with no Fanout ; 0 ; 0 ; +; -- Output Ports with no Fanout ; 0 ; 0 ; ++---------------------------------------------+--------------------+--------------------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Input Pins ; ++---------+-------+----------+--------------+--------------+-------------+-----------------------+--------------------+--------+----------------+---------------+-----------------+----------+--------------+--------------+-------------+----------------------+ +; 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 ; 143 ; 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 ; - ; - ; ++--------+-------+----------+--------------+--------------+-------------+-----------------+------------------------+---------------+----------------+-----------------+------------+---------------+----------+--------------+--------------+------------------+-------------+----------------------+-------+----------------------+---------------------+ + + ++----------------------------------------------------------+ +; I/O Bank Usage ; ++----------+----------------+---------------+--------------+ +; I/O Bank ; Usage ; VCCIO Voltage ; VREF Voltage ; ++----------+----------------+---------------+--------------+ +; 1 ; 2 / 44 ( 5 % ) ; 3.3V ; -- ; +; 2 ; 0 / 42 ( 0 % ) ; 3.3V ; -- ; +; 3 ; 2 / 45 ( 4 % ) ; 3.3V ; -- ; +; 4 ; 0 / 42 ( 0 % ) ; 3.3V ; -- ; ++----------+----------------+---------------+--------------+ + + ++------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; All Package Pins ; ++----------+------------+----------+------------------------------------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +; Location ; Pad Number ; I/O Bank ; Pin Name/Usage ; Dir. ; I/O Standard ; Voltage ; I/O Type ; User Assignment ; Bus Hold ; Weak Pull Up ; ++----------+------------+----------+------------------------------------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +; 1 ; 0 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 2 ; 1 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 3 ; 2 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 4 ; 3 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 5 ; 4 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 6 ; 5 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 7 ; 6 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 8 ; 7 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 9 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 10 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 11 ; 8 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 12 ; 9 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 13 ; 10 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 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 ; +; 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 ; +; 22 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 23 ; 28 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; 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 ; ; ; ; -- ; ; -- ; -- ; +; 27 ; ; ; VCCA_PLL1 ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 28 ; 32 ; 1 ; GND+ ; ; ; ; Row I/O ; ; -- ; -- ; +; 29 ; 33 ; 1 ; GND+ ; ; ; ; Row I/O ; ; -- ; -- ; +; 30 ; ; ; GNDA_PLL1 ; gnd ; ; ; -- ; ; -- ; -- ; +; 31 ; ; ; GNDG_PLL1 ; gnd ; ; ; -- ; ; -- ; -- ; +; 32 ; 34 ; 1 ; ^nCEO ; ; ; ; -- ; ; -- ; -- ; +; 33 ; 35 ; 1 ; ^nCE ; ; ; ; -- ; ; -- ; -- ; +; 34 ; 36 ; 1 ; ^MSEL0 ; ; ; ; -- ; ; -- ; -- ; +; 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 ; +; 40 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 41 ; 52 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 42 ; 53 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 43 ; 54 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 44 ; 55 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 45 ; 56 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 46 ; 57 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 47 ; 58 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 48 ; 59 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 49 ; 60 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 50 ; 61 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 51 ; ; 1 ; VCCIO1 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 52 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 53 ; 62 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 54 ; 63 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 55 ; 64 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 56 ; 65 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 57 ; 66 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 58 ; 67 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 59 ; 68 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 60 ; 69 ; 1 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 61 ; 70 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 62 ; 71 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 63 ; 72 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 64 ; 73 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 65 ; 74 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 66 ; 75 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 67 ; 76 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 68 ; 77 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 69 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 70 ; ; 4 ; VCCIO4 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 71 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 72 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 73 ; 78 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 74 ; 79 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 75 ; 80 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 76 ; 81 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 77 ; 82 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 78 ; 83 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 79 ; 84 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 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 ; +; 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 ; +; 96 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 97 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 98 ; 106 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 99 ; 107 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 100 ; 108 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 101 ; 109 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 102 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 103 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 104 ; 118 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 105 ; 119 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 106 ; 120 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 107 ; 121 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 108 ; 122 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 109 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 110 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 111 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 112 ; ; 4 ; VCCIO4 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 113 ; 123 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 114 ; 124 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 115 ; 125 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 116 ; 126 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 117 ; 127 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 118 ; 128 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 119 ; 129 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 120 ; 130 ; 4 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 121 ; 131 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 122 ; 132 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 123 ; 133 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 124 ; 134 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 125 ; 135 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 126 ; 136 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 127 ; 137 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 128 ; 138 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 129 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 130 ; ; 3 ; VCCIO3 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 131 ; 139 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 132 ; 140 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 133 ; 141 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 134 ; 142 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 135 ; 143 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 136 ; 144 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 137 ; 145 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 138 ; 146 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 139 ; 147 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 140 ; 148 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 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 ; +; 145 ; 162 ; 3 ; ^CONF_DONE ; ; ; ; -- ; ; -- ; -- ; +; 146 ; 163 ; 3 ; ^nSTATUS ; ; ; ; -- ; ; -- ; -- ; +; 147 ; 164 ; 3 ; #TCK ; input ; ; ; -- ; ; -- ; -- ; +; 148 ; 165 ; 3 ; #TMS ; input ; ; ; -- ; ; -- ; -- ; +; 149 ; 166 ; 3 ; #TDO ; output ; ; ; -- ; ; -- ; -- ; +; 150 ; ; ; GNDG_PLL2 ; gnd ; ; ; -- ; ; -- ; -- ; +; 151 ; ; ; GNDA_PLL2 ; gnd ; ; ; -- ; ; -- ; -- ; +; 152 ; 167 ; 3 ; sys_clk ; input ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 153 ; 168 ; 3 ; GND+ ; ; ; ; Row I/O ; ; -- ; -- ; +; 154 ; ; ; VCCA_PLL2 ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 155 ; 169 ; 3 ; #TDI ; input ; ; ; -- ; ; -- ; -- ; +; 156 ; 170 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 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 ; +; 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 ; +; 166 ; 188 ; 3 ; bus_tx ; output ; 3.3-V LVCMOS ; ; Row I/O ; Y ; no ; Off ; +; 167 ; 189 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 168 ; 190 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 169 ; 191 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 170 ; 192 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 171 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 172 ; ; 3 ; VCCIO3 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 173 ; 193 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 174 ; 194 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 175 ; 195 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 176 ; 196 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 177 ; 197 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 178 ; 198 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 179 ; 199 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 180 ; 200 ; 3 ; RESERVED_INPUT ; ; ; ; Row I/O ; ; no ; Off ; +; 181 ; 201 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 182 ; 202 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 183 ; 203 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 184 ; 204 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 185 ; 205 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 186 ; 206 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 187 ; 207 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 188 ; 208 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 189 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 190 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 191 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 192 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 193 ; 209 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 194 ; 210 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 195 ; 211 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 196 ; 212 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 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 ; +; 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 ; +; 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 ; +; 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 ; +; 220 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 221 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 222 ; 247 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 223 ; 248 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 224 ; 249 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 225 ; 250 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 226 ; 251 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 227 ; 252 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 228 ; 253 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 229 ; ; ; VCCINT ; power ; ; 1.5V ; -- ; ; -- ; -- ; +; 230 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 231 ; ; 2 ; VCCIO2 ; power ; ; 3.3V ; -- ; ; -- ; -- ; +; 232 ; ; ; GND ; gnd ; ; ; -- ; ; -- ; -- ; +; 233 ; 254 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 234 ; 255 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 235 ; 256 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 236 ; 257 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 237 ; 258 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 238 ; 259 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 239 ; 260 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; +; 240 ; 261 ; 2 ; RESERVED_INPUT ; ; ; ; Column I/O ; ; no ; Off ; ++----------+------------+----------+------------------------------------------+--------+--------------+---------+------------+-----------------+----------+--------------+ +Note: Pin directions (input, output or bidir) are based on device operating in user mode. + + ++------------------------------------------------------------------+ +; Output Pin Default Load For Reported TCO ; ++---------------------+-------+------------------------------------+ +; I/O Standard ; Load ; Termination Resistance ; ++---------------------+-------+------------------------------------+ +; 3.3-V LVTTL ; 10 pF ; Not Available ; +; 3.3-V LVCMOS ; 10 pF ; Not Available ; +; 2.5 V ; 10 pF ; Not Available ; +; 1.8 V ; 10 pF ; Not Available ; +; 1.5 V ; 10 pF ; Not Available ; +; SSTL-3 Class I ; 30 pF ; 50 Ohm (Parallel), 25 Ohm (Serial) ; +; SSTL-3 Class II ; 30 pF ; 25 Ohm (Parallel), 25 Ohm (Serial) ; +; SSTL-2 Class I ; 30 pF ; 50 Ohm (Parallel), 25 Ohm (Serial) ; +; SSTL-2 Class II ; 30 pF ; 25 Ohm (Parallel), 25 Ohm (Serial) ; +; Differential SSTL-2 ; 10 pF ; (See SSTL-2) ; +; 3.3-V PCI ; 10 pF ; 25 Ohm (Parallel) ; +; LVDS ; 4 pF ; 100 Ohm (Differential) ; +; RSDS ; 10 pF ; 100 Ohm (Differential) ; ++---------------------+-------+------------------------------------+ +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 ; 398 (1) ; 141 ; 512 ; 2 ; 2 ; 0 ; 257 (1) ; 12 (0) ; 129 (0) ; 104 (0) ; 35 (0) ; |core_top ; ; +; |decode_stage:decode_st| ; 43 (42) ; 42 ; 512 ; 2 ; 0 ; 0 ; 1 (0) ; 1 (1) ; 41 (41) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st ; ; +; |decoder:decoder_inst| ; 1 (1) ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 (1) ; 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| ; 191 (129) ; 34 ; 0 ; 0 ; 0 ; 0 ; 157 (95) ; 0 (0) ; 34 (34) ; 61 (0) ; 35 (35) ; |core_top|execute_stage:exec_st ; ; +; |alu:alu_inst| ; 62 (30) ; 0 ; 0 ; 0 ; 0 ; 0 ; 62 (30) ; 0 (0) ; 0 (0) ; 61 (29) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; +; |exec_op:add_inst| ; 32 (32) ; 0 ; 0 ; 0 ; 0 ; 0 ; 32 (32) ; 0 (0) ; 0 (0) ; 32 (32) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; +; |fetch_stage:fetch_st| ; 28 (22) ; 14 ; 0 ; 0 ; 0 ; 0 ; 14 (11) ; 11 (11) ; 3 (0) ; 11 (11) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; +; |r_w_ram:instruction_ram| ; 6 (6) ; 3 ; 0 ; 0 ; 0 ; 0 ; 3 (3) ; 0 (0) ; 3 (3) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|r_w_ram:instruction_ram ; ; +; |writeback_stage:writeback_st| ; 135 (28) ; 51 ; 0 ; 0 ; 0 ; 0 ; 84 (26) ; 0 (0) ; 51 (2) ; 32 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st ; ; +; |extension_uart:uart| ; 107 (13) ; 49 ; 0 ; 0 ; 0 ; 0 ; 58 (3) ; 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 ; ; ++----------------------------------------------+-------------+--------------+-------------+------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ +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 ; -- ; -- ; ++---------+----------+---------------+---------------+-----------------------+-----+ + + ++---------------------------------------------------+ +; Pad To Core Delay Chain Fanout ; ++---------------------+-------------------+---------+ +; Source Pin / Fanout ; Pad To Core Index ; Setting ; ++---------------------+-------------------+---------+ +; sys_clk ; ; ; ++---------------------+-------------------+---------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Control Signals ; ++--------------------------------------------------------------------------------------+---------------+---------+--------------+--------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Usage ; Global ; Global Resource Used ; Global Line Name ; ++--------------------------------------------------------------------------------------+---------------+---------+--------------+--------+----------------------+------------------+ +; decode_stage:decode_st|dec_op_inst.op_group.LDST_OP ; LC_X30_Y13_N4 ; 56 ; Sync. load ; no ; -- ; -- ; +; execute_stage:exec_st|reg.wr_en ; LC_X31_Y16_N0 ; 7 ; Write enable ; no ; -- ; -- ; +; sys_clk ; PIN_152 ; 143 ; Clock ; yes ; Global Clock ; GCLK7 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|bus_tx_int~0 ; LC_X39_Y14_N4 ; 5 ; Clock enable ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; LC_X39_Y14_N3 ; 35 ; Sync. clear ; no ; -- ; -- ; +; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~1 ; LC_X28_Y11_N8 ; 8 ; Clock enable ; no ; -- ; -- ; ++--------------------------------------------------------------------------------------+---------------+---------+--------------+--------+----------------------+------------------+ + + ++------------------------------------------------------------------------+ +; Global & Other Fast Signals ; ++---------+----------+---------+----------------------+------------------+ +; Name ; Location ; Fan-Out ; Global Resource Used ; Global Line Name ; ++---------+----------+---------+----------------------+------------------+ +; sys_clk ; PIN_152 ; 143 ; Global Clock ; GCLK7 ; ++---------+----------+---------+----------------------+------------------+ + + ++---------------------------------------------------------------------------------------------+ +; Non-Global High Fan-Out Signals ; ++-----------------------------------------------------------------------------------+---------+ +; Name ; Fan-Out ; ++-----------------------------------------------------------------------------------+---------+ +; decode_stage:decode_st|rtw_rec.immediate[3] ; 66 ; +; decode_stage:decode_st|dec_op_inst.op_group.LDST_OP ; 56 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|state ; 35 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|Equal0~10 ; 34 ; +; execute_stage:exec_st|left_operand[28]~1 ; 32 ; +; decode_stage:decode_st|rtw_rec.rtw_reg1 ; 32 ; +; execute_stage:exec_st|right_operand[6]~1 ; 30 ; +; decode_stage:decode_st|rtw_rec.rtw_reg2 ; 29 ; +; 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 ; +; writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~1 ; 8 ; +; execute_stage:exec_st|reg.res_addr[2] ; 8 ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[21] ; 7 ; +; execute_stage:exec_st|right_operand[6]~5 ; 7 ; +; execute_stage:exec_st|reg.wr_en ; 7 ; +; writeback_stage:writeback_st|wb_reg.address[0] ; 7 ; +; writeback_stage:writeback_st|wb_reg.address[1] ; 7 ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[27] ; 6 ; +; execute_stage:exec_st|right_operand[6]~6 ; 6 ; +; execute_stage:exec_st|reg.result[3] ; 6 ; +; execute_stage:exec_st|reg.result[1] ; 6 ; +; writeback_stage:writeback_st|Equal0~24 ; 6 ; +; writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst|cnt[2] ; 6 ; +; ~GND ; 5 ; +; execute_stage:exec_st|reg.result[27] ; 5 ; +; execute_stage:exec_st|reg.result[26] ; 5 ; +; execute_stage:exec_st|reg.result[25] ; 5 ; +; execute_stage:exec_st|reg.result[24] ; 5 ; +; execute_stage:exec_st|reg.result[23] ; 5 ; +; execute_stage:exec_st|reg.result[22] ; 5 ; +; execute_stage:exec_st|reg.result[21] ; 5 ; +; execute_stage:exec_st|reg.result[20] ; 5 ; +; execute_stage:exec_st|reg.result[19] ; 5 ; +; execute_stage:exec_st|reg.result[18] ; 5 ; +; execute_stage:exec_st|reg.result[17] ; 5 ; +; execute_stage:exec_st|reg.result[16] ; 5 ; +; execute_stage:exec_st|reg.result[15] ; 5 ; +; execute_stage:exec_st|reg.result[14] ; 5 ; +; execute_stage:exec_st|reg.result[13] ; 5 ; +; execute_stage:exec_st|reg.result[11] ; 5 ; +; execute_stage:exec_st|reg.result[10] ; 5 ; +; execute_stage:exec_st|reg.result[9] ; 5 ; +; execute_stage:exec_st|reg.result[8] ; 5 ; +; execute_stage:exec_st|reg.result[12] ; 5 ; +; execute_stage:exec_st|reg.result[31] ; 5 ; +; execute_stage:exec_st|reg.result[30] ; 5 ; +; execute_stage:exec_st|reg.result[29] ; 5 ; +; execute_stage:exec_st|reg.result[28] ; 5 ; +; execute_stage:exec_st|reg.result[4] ; 5 ; +; execute_stage:exec_st|reg.result[7] ; 5 ; ++-----------------------------------------------------------------------------------+---------+ + + ++-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; 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_Y16 ; +; 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_Y15 ; ++-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+--------------+------------------------+-------------------------+------------------------+-------------------------+------+-----------------------------+-----------------------------+-----------------------------+-----------------------------+---------------------+------+--------------------------------------+-------------+ +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 ; 433 / 30,600 ( 1 % ) ; +; Direct links ; 43 / 43,552 ( < 1 % ) ; +; Global clocks ; 1 / 8 ( 13 % ) ; +; LAB clocks ; 12 / 312 ( 4 % ) ; +; LUT chains ; 46 / 10,854 ( < 1 % ) ; +; Local interconnects ; 653 / 43,552 ( 1 % ) ; +; M4K buffers ; 64 / 1,872 ( 3 % ) ; +; R4s ; 439 / 28,560 ( 2 % ) ; ++----------------------------+-----------------------+ + + ++---------------------------------------------------------------------------+ +; LAB Logic Elements ; ++--------------------------------------------+------------------------------+ +; Number of Logic Elements (Average = 8.29) ; Number of LABs (Total = 48) ; ++--------------------------------------------+------------------------------+ +; 1 ; 7 ; +; 2 ; 0 ; +; 3 ; 1 ; +; 4 ; 1 ; +; 5 ; 0 ; +; 6 ; 0 ; +; 7 ; 2 ; +; 8 ; 0 ; +; 9 ; 0 ; +; 10 ; 37 ; ++--------------------------------------------+------------------------------+ + + ++-------------------------------------------------------------------+ +; LAB-wide Signals ; ++------------------------------------+------------------------------+ +; LAB-wide Signals (Average = 0.92) ; Number of LABs (Total = 48) ; ++------------------------------------+------------------------------+ +; 1 Clock ; 39 ; +; 1 Clock enable ; 2 ; +; 1 Sync. load ; 2 ; +; 2 Clock enables ; 1 ; ++------------------------------------+------------------------------+ + + ++----------------------------------------------------------------------------+ +; LAB Signals Sourced ; ++---------------------------------------------+------------------------------+ +; Number of Signals Sourced (Average = 9.10) ; Number of LABs (Total = 48) ; ++---------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 7 ; +; 2 ; 0 ; +; 3 ; 1 ; +; 4 ; 1 ; +; 5 ; 0 ; +; 6 ; 0 ; +; 7 ; 1 ; +; 8 ; 1 ; +; 9 ; 0 ; +; 10 ; 18 ; +; 11 ; 4 ; +; 12 ; 13 ; +; 13 ; 1 ; +; 14 ; 0 ; +; 15 ; 1 ; ++---------------------------------------------+------------------------------+ + + ++--------------------------------------------------------------------------------+ +; LAB Signals Sourced Out ; ++-------------------------------------------------+------------------------------+ +; Number of Signals Sourced Out (Average = 6.02) ; Number of LABs (Total = 48) ; ++-------------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 7 ; +; 2 ; 1 ; +; 3 ; 3 ; +; 4 ; 3 ; +; 5 ; 4 ; +; 6 ; 14 ; +; 7 ; 1 ; +; 8 ; 1 ; +; 9 ; 3 ; +; 10 ; 10 ; +; 11 ; 0 ; +; 12 ; 0 ; +; 13 ; 1 ; ++-------------------------------------------------+------------------------------+ + + ++-----------------------------------------------------------------------------+ +; LAB Distinct Inputs ; ++----------------------------------------------+------------------------------+ +; Number of Distinct Inputs (Average = 12.08) ; Number of LABs (Total = 48) ; ++----------------------------------------------+------------------------------+ +; 0 ; 0 ; +; 1 ; 0 ; +; 2 ; 7 ; +; 3 ; 1 ; +; 4 ; 0 ; +; 5 ; 1 ; +; 6 ; 0 ; +; 7 ; 0 ; +; 8 ; 2 ; +; 9 ; 1 ; +; 10 ; 1 ; +; 11 ; 4 ; +; 12 ; 0 ; +; 13 ; 12 ; +; 14 ; 2 ; +; 15 ; 4 ; +; 16 ; 0 ; +; 17 ; 3 ; +; 18 ; 0 ; +; 19 ; 1 ; +; 20 ; 3 ; +; 21 ; 5 ; ++----------------------------------------------+------------------------------+ + + ++--------------------------------------------------------------------+ +; Fitter Device Options ; ++----------------------------------------------+---------------------+ +; Option ; Setting ; ++----------------------------------------------+---------------------+ +; Enable user-supplied start-up clock (CLKUSR) ; Off ; +; Enable device-wide reset (DEV_CLRn) ; Off ; +; Enable device-wide output enable (DEV_OE) ; Off ; +; Enable INIT_DONE output ; Off ; +; Configuration scheme ; Active Serial ; +; Error detection CRC ; Off ; +; ASDO,nCSO ; As input tri-stated ; +; Reserve all unused pins ; As input tri-stated ; +; Base pin-out file on sameframe device ; Off ; ++----------------------------------------------+---------------------+ + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Summary ; ++-----------------+----------------------+-------------------+ +; Source Clock(s) ; Destination Clock(s) ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ + + ++------------------------------------------------------------+ +; Estimated Delay Added for Hold Timing Details ; ++-----------------+----------------------+-------------------+ +; Source Register ; Destination Register ; Delay Added in ns ; ++-----------------+----------------------+-------------------+ + + ++-----------------+ +; Fitter Messages ; ++-----------------+ +Info: ******************************************************************* +Info: Running Quartus II Fitter + Info: Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + Info: Processing started: Thu Dec 16 16:54:47 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 +Warning: Feature LogicLock is only available with a valid subscription license. You can purchase a software subscription to gain full access to this feature. +Info: Device migration not selected. If you intend to use device migration later, you may need to change the pin assignments as they may be incompatible with other devices + Info: Device EP1C6Q240C8 is compatible +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 +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. +Extra Info: Performing register packing on registers with non-logic cell location assignments +Extra Info: Completed register packing on registers with non-logic cell location assignments +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: Completed Auto Global Promotion Operation +Info: Starting register packing +Extra Info: Started Fast Input/Output/OE register processing +Extra Info: Finished Fast Input/Output/OE register processing +Info: Fitter is using Normal packing mode for logic elements with Auto setting for Auto Packed Registers logic option +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: 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:01 +Info: Fitter placement preparation operations beginning +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:01 +Info: Estimated most critical path is memory to register delay of 18.381 ns + Info: 1: + IC(0.000 ns) + CELL(0.000 ns) = 0.000 ns; Loc. = M4K_X33_Y16; Fanout = 1; MEM Node = 'decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ram_block1a3~portb_address_reg2' + Info: 2: + IC(0.000 ns) + CELL(4.317 ns) = 4.317 ns; Loc. = M4K_X33_Y16; Fanout = 1; MEM Node = 'decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated|ram_block1a3' + Info: 3: + IC(1.233 ns) + CELL(0.442 ns) = 5.992 ns; Loc. = LAB_X32_Y14; Fanout = 1; COMB Node = 'execute_stage:exec_st|left_operand[3]~61' + Info: 4: + IC(0.757 ns) + CELL(0.590 ns) = 7.339 ns; Loc. = LAB_X31_Y15; Fanout = 6; COMB Node = 'execute_stage:exec_st|left_operand[3]~62' + Info: 5: + IC(1.395 ns) + CELL(0.575 ns) = 9.309 ns; Loc. = LAB_X28_Y14; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add2~142COUT1_190' + Info: 6: + IC(0.000 ns) + CELL(0.080 ns) = 9.389 ns; Loc. = LAB_X28_Y14; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add2~27COUT1_192' + Info: 7: + IC(0.000 ns) + CELL(0.608 ns) = 9.997 ns; Loc. = LAB_X28_Y14; Fanout = 2; COMB Node = 'execute_stage:exec_st|alu:alu_inst|exec_op:add_inst|Add2~30' + Info: 8: + IC(1.387 ns) + CELL(0.292 ns) = 11.676 ns; Loc. = LAB_X30_Y12; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~4' + Info: 9: + IC(0.900 ns) + CELL(0.442 ns) = 13.018 ns; Loc. = LAB_X30_Y13; Fanout = 1; COMB Node = 'writeback_stage:writeback_st|Equal0~7' + Info: 10: + IC(0.752 ns) + CELL(0.590 ns) = 14.360 ns; Loc. = LAB_X29_Y12; Fanout = 5; COMB Node = 'writeback_stage:writeback_st|Equal0~23' + Info: 11: + IC(0.900 ns) + CELL(0.442 ns) = 15.702 ns; Loc. = LAB_X28_Y11; Fanout = 8; COMB Node = 'writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]~1' + Info: 12: + IC(1.812 ns) + CELL(0.867 ns) = 18.381 ns; Loc. = LAB_X36_Y14; Fanout = 1; REG Node = 'writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[7]' + Info: Total cell delay = 9.245 ns ( 50.30 % ) + Info: Total interconnect delay = 9.136 ns ( 49.70 % ) +Info: Fitter routing operations beginning +Info: Router estimated average interconnect usage is 1% of the available device resources + Info: Router estimated peak interconnect usage is 3% 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:01 +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 +Info: Completed Fixed Delay Chain Operation +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: 266 megabytes + Info: Processing ended: Thu Dec 16 16:54:58 2010 + Info: Elapsed time: 00:00:11 + Info: Total CPU time (on all processors): 00:00:11 + + diff --git a/dt/dt.fit.summary b/dt/dt.fit.summary new file mode 100644 index 0000000..d71f82d --- /dev/null +++ b/dt/dt.fit.summary @@ -0,0 +1,12 @@ +Fitter Status : Successful - Thu Dec 16 16:54:57 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 : 398 / 12,060 ( 3 % ) +Total pins : 2 / 173 ( 1 % ) +Total virtual pins : 0 +Total memory bits : 512 / 239,616 ( < 1 % ) +Total PLLs : 0 / 2 ( 0 % ) diff --git a/dt/dt.flow.rpt b/dt/dt.flow.rpt new file mode 100644 index 0000000..14bbe65 --- /dev/null +++ b/dt/dt.flow.rpt @@ -0,0 +1,118 @@ +Flow report for dt +Thu Dec 16 16:55:05 2010 +Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Flow Summary + 3. Flow Settings + 4. Flow Non-Default Global Settings + 5. Flow Elapsed Time + 6. Flow OS Summary + 7. Flow Log + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 1991-2010 Altera Corporation +Your use of Altera Corporation's design tools, logic functions +and other software and tools, and its AMPP partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Altera Program License +Subscription Agreement, Altera MegaCore Function License +Agreement, or other applicable license agreement, including, +without limitation, that your use is for the sole purpose of +programming logic devices manufactured by Altera and sold by +Altera or its authorized distributors. Please refer to the +applicable agreement for further details. + + + ++-------------------------------------------------------------------------+ +; Flow Summary ; ++-------------------------+-----------------------------------------------+ +; Flow Status ; Successful - Thu Dec 16 16:55:05 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 ; +; Met timing requirements ; Yes ; +; Total logic elements ; 398 / 12,060 ( 3 % ) ; +; Total pins ; 2 / 173 ( 1 % ) ; +; Total virtual pins ; 0 ; +; Total memory bits ; 512 / 239,616 ( < 1 % ) ; +; Total PLLs ; 0 / 2 ( 0 % ) ; ++-------------------------+-----------------------------------------------+ + + ++-----------------------------------------+ +; Flow Settings ; ++-------------------+---------------------+ +; Option ; Setting ; ++-------------------+---------------------+ +; Start date & time ; 12/16/2010 16:54:33 ; +; Main task ; Compilation ; +; Revision Name ; dt ; ++-------------------+---------------------+ + + ++--------------------------------------------------------------------------------------------------------------+ +; Flow Non-Default Global Settings ; ++-------------------------------------+-----------------------------+---------------+-------------+------------+ +; Assignment Name ; Value ; Default Value ; Entity Name ; Section Id ; ++-------------------------------------+-----------------------------+---------------+-------------+------------+ +; COMPILER_SIGNATURE_ID ; 91815333562.129251487317236 ; -- ; -- ; -- ; +; MAX_CORE_JUNCTION_TEMP ; 85 ; -- ; -- ; -- ; +; MIN_CORE_JUNCTION_TEMP ; 0 ; -- ; -- ; -- ; +; MISC_FILE ; /homes/burban/dt/dt.dpf ; -- ; -- ; -- ; +; PARTITION_COLOR ; 16764057 ; -- ; core_top ; Top ; +; PARTITION_FITTER_PRESERVATION_LEVEL ; PLACEMENT_AND_ROUTING ; -- ; core_top ; Top ; +; PARTITION_NETLIST_TYPE ; SOURCE ; -- ; core_top ; Top ; +; TOP_LEVEL_ENTITY ; core_top ; dt ; -- ; -- ; ++-------------------------------------+-----------------------------+---------------+-------------+------------+ + + ++-----------------------------------------------------------------------------------------------------------------------------+ +; Flow Elapsed Time ; ++-------------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Module Name ; Elapsed Time ; Average Processors Used ; Peak Virtual Memory ; Total CPU Time (on all processors) ; ++-------------------------+--------------+-------------------------+---------------------+------------------------------------+ +; Analysis & Synthesis ; 00:00:10 ; 1.0 ; -- ; 00:00:09 ; +; Fitter ; 00:00:10 ; 1.0 ; -- ; 00:00:11 ; +; Assembler ; 00:00:03 ; 1.0 ; -- ; 00:00:02 ; +; Classic Timing Analyzer ; 00:00:00 ; 1.0 ; -- ; 00:00:00 ; +; Total ; 00:00:23 ; -- ; -- ; 00:00:22 ; ++-------------------------+--------------+-------------------------+---------------------+------------------------------------+ + + ++------------------------------------------------------------------------------------+ +; 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 Log ; +------------ +quartus_map --read_settings_files=on --write_settings_files=off dt -c dt +quartus_fit --read_settings_files=off --write_settings_files=off dt -c dt +quartus_asm --read_settings_files=off --write_settings_files=off dt -c dt +quartus_tan --read_settings_files=off --write_settings_files=off dt -c dt --timing_analysis_only + + + diff --git a/dt/dt.map.rpt b/dt/dt.map.rpt new file mode 100644 index 0000000..2c2ebe9 --- /dev/null +++ b/dt/dt.map.rpt @@ -0,0 +1,1492 @@ +Analysis & Synthesis report for dt +Thu Dec 16 16:54:44 2010 +Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition + + +--------------------- +; Table of Contents ; +--------------------- + 1. Legal Notice + 2. Analysis & Synthesis Summary + 3. Analysis & Synthesis Settings + 4. Parallel Compilation + 5. Analysis & Synthesis Source Files Read + 6. Analysis & Synthesis Resource Usage Summary + 7. Analysis & Synthesis Resource Utilization by Entity + 8. Analysis & Synthesis RAM Summary + 9. State Machine - |core_top|decode_stage:decode_st|dec_op_inst.op_group + 10. Registers Removed During Synthesis + 11. Removed Registers Triggering Further Register Optimizations + 12. General Register Statistics + 13. Inverted Register Statistics + 14. Registers Packed Into Inferred Megafunctions + 15. Multiplexer Restructuring Statistics (Restructuring Performed) + 16. Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1:auto_generated + 17. Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1|altsyncram_emk1:auto_generated + 18. Parameter Settings for User Entity Instance: fetch_stage:fetch_st + 19. Parameter Settings for User Entity Instance: fetch_stage:fetch_st|r_w_ram:instruction_ram + 20. Parameter Settings for User Entity Instance: decode_stage:decode_st + 21. Parameter Settings for User Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram + 22. Parameter Settings for User Entity Instance: execute_stage:exec_st + 23. Parameter Settings for User Entity Instance: execute_stage:exec_st|extension_gpm:gpmp_inst + 24. Parameter Settings for User Entity Instance: writeback_stage:writeback_st + 25. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|r_w_ram:data_ram + 26. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart + 27. Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst + 28. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0 + 29. Parameter Settings for Inferred Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_1 + 30. altsyncram Parameter Settings by Entity Instance + 31. Port Connectivity Checks: "writeback_stage:writeback_st|extension_uart:uart" + 32. Port Connectivity Checks: "writeback_stage:writeback_st" + 33. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst" + 34. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:xor_inst" + 35. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:or_inst" + 36. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:and_inst" + 37. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:add_inst" + 38. Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst" + 39. Port Connectivity Checks: "execute_stage:exec_st" + 40. Port Connectivity Checks: "decode_stage:decode_st|decoder:decoder_inst" + 41. Port Connectivity Checks: "decode_stage:decode_st" + 42. Port Connectivity Checks: "fetch_stage:fetch_st" + 43. Analysis & Synthesis Messages + + + +---------------- +; Legal Notice ; +---------------- +Copyright (C) 1991-2010 Altera Corporation +Your use of Altera Corporation's design tools, logic functions +and other software and tools, and its AMPP partner logic +functions, and any output files from any of the foregoing +(including device programming or simulation files), and any +associated documentation or information are expressly subject +to the terms and conditions of the Altera Program License +Subscription Agreement, Altera MegaCore Function License +Agreement, or other applicable license agreement, including, +without limitation, that your use is for the sole purpose of +programming logic devices manufactured by Altera and sold by +Altera or its authorized distributors. Please refer to the +applicable agreement for further details. + + + ++-----------------------------------------------------------------------------+ +; Analysis & Synthesis Summary ; ++-----------------------------+-----------------------------------------------+ +; Analysis & Synthesis Status ; Successful - Thu Dec 16 16:54: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 ; +; Total logic elements ; 435 ; +; Total pins ; 2 ; +; Total virtual pins ; 0 ; +; Total memory bits ; 512 ; +; Total PLLs ; 0 ; ++-----------------------------+-----------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Settings ; ++----------------------------------------------------------------------------+--------------------+--------------------+ +; Option ; Setting ; Default Value ; ++----------------------------------------------------------------------------+--------------------+--------------------+ +; Device ; EP1C12Q240C8 ; ; +; Top-level entity name ; core_top ; dt ; +; Family name ; Cyclone ; Stratix II ; +; Use smart compilation ; Off ; Off ; +; Enable parallel Assembler and TimeQuest Timing Analyzer during compilation ; On ; On ; +; Enable compact report table ; Off ; Off ; +; Restructure Multiplexers ; Auto ; Auto ; +; Create Debugging Nodes for IP Cores ; Off ; Off ; +; Preserve fewer node names ; On ; On ; +; Disable OpenCore Plus hardware evaluation ; Off ; Off ; +; Verilog Version ; Verilog_2001 ; Verilog_2001 ; +; VHDL Version ; VHDL_1993 ; VHDL_1993 ; +; State Machine Processing ; Auto ; Auto ; +; Safe State Machine ; Off ; Off ; +; Extract Verilog State Machines ; On ; On ; +; Extract VHDL State Machines ; On ; On ; +; Ignore Verilog initial constructs ; Off ; Off ; +; Iteration limit for constant Verilog loops ; 5000 ; 5000 ; +; Iteration limit for non-constant Verilog loops ; 250 ; 250 ; +; Add Pass-Through Logic to Inferred RAMs ; On ; On ; +; Parallel Synthesis ; On ; On ; +; NOT Gate Push-Back ; On ; On ; +; Power-Up Don't Care ; On ; On ; +; Remove Redundant Logic Cells ; Off ; Off ; +; Remove Duplicate Registers ; On ; On ; +; Ignore CARRY Buffers ; Off ; Off ; +; Ignore CASCADE Buffers ; Off ; Off ; +; Ignore GLOBAL Buffers ; Off ; Off ; +; Ignore ROW GLOBAL Buffers ; Off ; Off ; +; Ignore LCELL Buffers ; Off ; Off ; +; Ignore SOFT Buffers ; On ; On ; +; Limit AHDL Integers to 32 Bits ; Off ; Off ; +; Optimization Technique ; Balanced ; Balanced ; +; Carry Chain Length ; 70 ; 70 ; +; Auto Carry Chains ; On ; On ; +; Auto Open-Drain Pins ; On ; On ; +; Perform WYSIWYG Primitive Resynthesis ; Off ; Off ; +; Auto ROM Replacement ; On ; On ; +; Auto RAM Replacement ; On ; On ; +; Auto Shift Register Replacement ; Auto ; Auto ; +; Auto Clock Enable Replacement ; On ; On ; +; Strict RAM Replacement ; Off ; Off ; +; Allow Synchronous Control Signals ; On ; On ; +; Force Use of Synchronous Clear Signals ; Off ; Off ; +; Auto RAM Block Balancing ; On ; On ; +; Auto RAM to Logic Cell Conversion ; Off ; Off ; +; Auto Resource Sharing ; Off ; Off ; +; Allow Any RAM Size For Recognition ; Off ; Off ; +; Allow Any ROM Size For Recognition ; Off ; Off ; +; Allow Any Shift Register Size For Recognition ; Off ; Off ; +; Use LogicLock Constraints during Resource Balancing ; On ; On ; +; Ignore translate_off and synthesis_off directives ; Off ; Off ; +; Report Parameter Settings ; On ; On ; +; Report Source Assignments ; On ; On ; +; Report Connectivity Checks ; On ; On ; +; Ignore Maximum Fan-Out Assignments ; Off ; Off ; +; Synchronization Register Chain Length ; 2 ; 2 ; +; PowerPlay Power Optimization ; Normal compilation ; Normal compilation ; +; HDL message level ; Level2 ; Level2 ; +; Suppress Register Optimization Related Messages ; Off ; Off ; +; Number of Removed Registers Reported in Synthesis Report ; 5000 ; 5000 ; +; Number of Inverted Registers Reported in Synthesis Report ; 100 ; 100 ; +; Clock MUX Protection ; On ; On ; +; Block Design Naming ; Auto ; Auto ; +; Synthesis Effort ; Auto ; Auto ; +; Shift Register Replacement - Allow Asynchronous Clear Signal ; On ; On ; +; Analysis & Synthesis Message Level ; Medium ; Medium ; +; Disable Register Merging Across Hierarchies ; Auto ; Auto ; +; Resource Aware Inference For Block RAM ; On ; On ; +; Synthesis Seed ; 1 ; 1 ; ++----------------------------------------------------------------------------+--------------------+--------------------+ + + +Parallel compilation was disabled, but you have multiple processors available. Enable parallel compilation to reduce compilation time. ++-------------------------------------+ +; Parallel Compilation ; ++----------------------------+--------+ +; Processors ; Number ; ++----------------------------+--------+ +; Number detected on machine ; 2 ; +; Maximum allowed ; 1 ; ++----------------------------+--------+ + + ++-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Analysis & Synthesis Source Files Read ; ++--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ +; File Name with User-Entered Path ; Used in Netlist ; File Type ; File Name with Absolute Path ; ++--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ +; ../cpu/src/writeback_stage_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/writeback_stage_b.vhd ; +; ../cpu/src/writeback_stage.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/writeback_stage.vhd ; +; ../cpu/src/rs232_tx_arc.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/rs232_tx_arc.vhd ; +; ../cpu/src/rs232_tx.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/rs232_tx.vhd ; +; ../cpu/src/r_w_ram_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/r_w_ram_b.vhd ; +; ../cpu/src/r_w_ram.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/r_w_ram.vhd ; +; ../cpu/src/r2_w_ram_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/r2_w_ram_b.vhd ; +; ../cpu/src/r2_w_ram.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/r2_w_ram.vhd ; +; ../cpu/src/mem_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/mem_pkg.vhd ; +; ../cpu/src/fetch_stage_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/fetch_stage_b.vhd ; +; ../cpu/src/fetch_stage.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/fetch_stage.vhd ; +; ../cpu/src/extension_uart_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension_uart_pkg.vhd ; +; ../cpu/src/extension_uart_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension_uart_b.vhd ; +; ../cpu/src/extension_uart.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension_uart.vhd ; +; ../cpu/src/extension_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension_pkg.vhd ; +; ../cpu/src/extension_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension_b.vhd ; +; ../cpu/src/extension.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/extension.vhd ; +; ../cpu/src/execute_stage_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/execute_stage_b.vhd ; +; ../cpu/src/execute_stage.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/execute_stage.vhd ; +; ../cpu/src/exec_op.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/exec_op.vhd ; +; ../cpu/src/decoder_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/decoder_b.vhd ; +; ../cpu/src/decoder.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/decoder.vhd ; +; ../cpu/src/decode_stage_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/decode_stage_b.vhd ; +; ../cpu/src/decode_stage.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/decode_stage.vhd ; +; ../cpu/src/core_top.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/core_top.vhd ; +; ../cpu/src/core_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/core_pkg.vhd ; +; ../cpu/src/common_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/common_pkg.vhd ; +; ../cpu/src/alu_pkg.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/alu_pkg.vhd ; +; ../cpu/src/alu_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/alu_b.vhd ; +; ../cpu/src/alu.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/alu.vhd ; +; ../cpu/src/exec_op/xor_op_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/exec_op/xor_op_b.vhd ; +; ../cpu/src/exec_op/shift_op_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/exec_op/shift_op_b.vhd ; +; ../cpu/src/exec_op/or_op_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/exec_op/or_op_b.vhd ; +; ../cpu/src/exec_op/and_op_b.vhd ; yes ; User VHDL File ; /homes/burban/calu/cpu/src/exec_op/and_op_b.vhd ; +; ../cpu/src/exec_op/add_op_b.vhd ; yes ; User VHDL File ; /homes/burban/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/burban/calu/dt/db/altsyncram_emk1.tdf ; +; db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; yes ; Auto-Generated Auto-Found Memory Initialization File ; /homes/burban/calu/dt/db/dt.ram0_r2_w_ram_8e30dd1c.hdl.mif ; ++--------------------------------------+-----------------+-------------------------------------------------------+--------------------------------------------------------------------+ + + ++-------------------------------------------------------+ +; Analysis & Synthesis Resource Usage Summary ; ++---------------------------------------------+---------+ +; Resource ; Usage ; ++---------------------------------------------+---------+ +; Total logic elements ; 435 ; +; -- Combinational with no register ; 294 ; +; -- Register only ; 49 ; +; -- Combinational with a register ; 92 ; +; ; ; +; Logic element usage by number of LUT inputs ; ; +; -- 4 input functions ; 105 ; +; -- 3 input functions ; 195 ; +; -- 2 input functions ; 80 ; +; -- 1 input functions ; 4 ; +; -- 0 input functions ; 2 ; +; ; ; +; Logic elements by mode ; ; +; -- normal mode ; 335 ; +; -- arithmetic mode ; 100 ; +; -- qfbk mode ; 0 ; +; -- register cascade mode ; 0 ; +; -- synchronous clear/load mode ; 3 ; +; -- asynchronous clear/load mode ; 0 ; +; ; ; +; Total registers ; 141 ; +; Total logic cells in carry chains ; 104 ; +; I/O pins ; 2 ; +; Total memory bits ; 512 ; +; Maximum fan-out node ; sys_clk ; +; Maximum fan-out ; 205 ; +; Total fan-out ; 1762 ; +; Average fan-out ; 3.52 ; ++---------------------------------------------+---------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; 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 ; 435 (1) ; 141 ; 512 ; 2 ; 0 ; 294 (1) ; 49 (0) ; 92 (0) ; 104 (0) ; 0 (0) ; |core_top ; ; +; |decode_stage:decode_st| ; 43 (42) ; 42 ; 512 ; 0 ; 0 ; 1 (0) ; 35 (35) ; 7 (7) ; 0 (0) ; 0 (0) ; |core_top|decode_stage:decode_st ; ; +; |decoder:decoder_inst| ; 1 (1) ; 0 ; 0 ; 0 ; 0 ; 1 (1) ; 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| ; 226 (164) ; 34 ; 0 ; 0 ; 0 ; 192 (130) ; 1 (1) ; 33 (33) ; 61 (0) ; 0 (0) ; |core_top|execute_stage:exec_st ; ; +; |alu:alu_inst| ; 62 (30) ; 0 ; 0 ; 0 ; 0 ; 62 (30) ; 0 (0) ; 0 (0) ; 61 (29) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst ; ; +; |exec_op:add_inst| ; 32 (32) ; 0 ; 0 ; 0 ; 0 ; 32 (32) ; 0 (0) ; 0 (0) ; 32 (32) ; 0 (0) ; |core_top|execute_stage:exec_st|alu:alu_inst|exec_op:add_inst ; ; +; |fetch_stage:fetch_st| ; 29 (22) ; 14 ; 0 ; 0 ; 0 ; 15 (11) ; 12 (11) ; 2 (0) ; 11 (11) ; 0 (0) ; |core_top|fetch_stage:fetch_st ; ; +; |r_w_ram:instruction_ram| ; 7 (7) ; 3 ; 0 ; 0 ; 0 ; 4 (4) ; 1 (1) ; 2 (2) ; 0 (0) ; 0 (0) ; |core_top|fetch_stage:fetch_st|r_w_ram:instruction_ram ; ; +; |writeback_stage:writeback_st| ; 136 (28) ; 51 ; 0 ; 0 ; 0 ; 85 (26) ; 1 (0) ; 50 (2) ; 32 (0) ; 0 (0) ; |core_top|writeback_stage:writeback_st ; ; +; |extension_uart:uart| ; 108 (14) ; 49 ; 0 ; 0 ; 0 ; 59 (4) ; 1 (1) ; 48 (9) ; 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 ; ; ++----------------------------------------------+-------------+--------------+-------------+------+--------------+--------------+-------------------+------------------+-----------------+------------+------------------------------------------------------------------------------------------------------------+--------------+ +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 ; ++-------------------------------------------------------------------------------------------------------------+------+------------------+--------------+--------------+--------------+--------------+------+--------------------------------------+ + + +Encoding Type: One-Hot ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; State Machine - |core_top|decode_stage:decode_st|dec_op_inst.op_group ; ++--------------------------------+--------------------------------+-----------------------------+------------------------------+-------------------------------+-----------------------------+----------------------------+-----------------------------+--------------------------------+ +; Name ; dec_op_inst.op_group.JMP_ST_OP ; dec_op_inst.op_group.JMP_OP ; dec_op_inst.op_group.LDST_OP ; dec_op_inst.op_group.SHIFT_OP ; dec_op_inst.op_group.XOR_OP ; dec_op_inst.op_group.OR_OP ; dec_op_inst.op_group.AND_OP ; dec_op_inst.op_group.ADDSUB_OP ; ++--------------------------------+--------------------------------+-----------------------------+------------------------------+-------------------------------+-----------------------------+----------------------------+-----------------------------+--------------------------------+ +; dec_op_inst.op_group.ADDSUB_OP ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; +; dec_op_inst.op_group.AND_OP ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; 1 ; +; dec_op_inst.op_group.OR_OP ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; 0 ; 1 ; +; dec_op_inst.op_group.XOR_OP ; 0 ; 0 ; 0 ; 0 ; 1 ; 0 ; 0 ; 1 ; +; dec_op_inst.op_group.SHIFT_OP ; 0 ; 0 ; 0 ; 1 ; 0 ; 0 ; 0 ; 1 ; +; dec_op_inst.op_group.LDST_OP ; 0 ; 0 ; 1 ; 0 ; 0 ; 0 ; 0 ; 1 ; +; dec_op_inst.op_group.JMP_OP ; 0 ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; +; dec_op_inst.op_group.JMP_ST_OP ; 1 ; 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; ++--------------------------------+--------------------------------+-----------------------------+------------------------------+-------------------------------+-----------------------------+----------------------------+-----------------------------+--------------------------------+ + + ++---------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Registers Removed During Synthesis ; ++--------------------------------------------------------------------------------------+------------------------------------------------------------------------+ +; Register name ; Reason for Removal ; ++--------------------------------------------------------------------------------------+------------------------------------------------------------------------+ +; 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,26] ; 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..14,16..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[28] ; Stuck at GND due to stuck port data_in ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[24,26] ; 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..14,16..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.op_detail[1..2,5] ; Stuck at GND due to stuck port data_in ; +; decode_stage:decode_st|dec_op_inst.brpr ; 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[1..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[2,5,7..11,13..31] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|reg.brpr ; 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|r_w_ram:data_ram|data_out[29..30] ; Merged with writeback_stage:writeback_st|r_w_ram:data_ram|data_out[31] ; +; writeback_stage:writeback_st|r_w_ram:data_ram|data_out[4,6,23,25] ; 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[3,15,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[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[29..30] ; Merged with fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[31] ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[4,6,23,25] ; 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[3,15,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[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[0] ; Merged with decode_stage:decode_st|rtw_rec.immediate[12] ; +; decode_stage:decode_st|rtw_rec.immediate[4] ; Merged with decode_stage:decode_st|rtw_rec.immediate[6] ; +; 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.condition[1..2] ; Merged with decode_stage:decode_st|dec_op_inst.condition[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.saddr2[0] ; Merged with decode_stage:decode_st|dec_op_inst.saddr2[2] ; +; decode_stage:decode_st|dec_op_inst.op_detail[4] ; Stuck at VCC due to stuck port data_in ; +; execute_stage:exec_st|reg.alu_jump ; Stuck at GND due to stuck port data_in ; +; decode_stage:decode_st|dec_op_inst.condition[0] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.sign ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.carry ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][29] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][28] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][27] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][26] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][25] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][24] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][23] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][22] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][21] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][20] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][19] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][18] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][17] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][16] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][15] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][14] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][13] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][12] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][11] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1] ; Stuck at GND due to stuck port data_in ; +; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0] ; Stuck at GND due to stuck port data_in ; +; decode_stage:decode_st|rtw_rec.imm_set ; Merged with decode_stage:decode_st|rtw_rec.immediate[3] ; +; decode_stage:decode_st|dec_op_inst.displacement[6] ; Merged with decode_stage:decode_st|rtw_rec.immediate[3] ; +; decode_stage:decode_st|dec_op_inst.op_detail[3] ; Merged with decode_stage:decode_st|rtw_rec.immediate[3] ; +; writeback_stage:writeback_st|wb_reg.dmem_write_en ; Merged with writeback_stage:writeback_st|wb_reg.dmem_en ; +; decode_stage:decode_st|dec_op_inst.saddr1[0] ; Merged with decode_stage:decode_st|dec_op_inst.displacement[3] ; +; decode_stage:decode_st|dec_op_inst.prog_cnt[0..10] ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.condition[3] ; Lost fanout ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[31] ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.ADDSUB_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.AND_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.OR_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.XOR_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.JMP_OP ; Lost fanout ; +; decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP ; Lost fanout ; +; fetch_stage:fetch_st|instr_r_addr[11..31] ; Lost fanout ; +; Total Number of Removed Registers = 330 ; ; ++--------------------------------------------------------------------------------------+------------------------------------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; 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[28] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.brpr, execute_stage:exec_st|reg.brpr, ; +; ; due to stuck port data_in ; execute_stage:exec_st|reg.alu_jump, ; +; ; ; decode_stage:decode_st|dec_op_inst.condition[0], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.carry, ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][29], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][28], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][27], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][26], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][25], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][24], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][23], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][22], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][21], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][20], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][19], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][18], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][17], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][16], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][15], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][14], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][13], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][12], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][11], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][10], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][9], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][8], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][7], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][6], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][5], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][4], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][3], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][2], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][1], ; +; ; ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[0][0], ; +; ; ; decode_stage:decode_st|dec_op_inst.condition[3], ; +; ; ; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[31] ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[26] ; 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.op_detail[1], ; +; ; ; decode_stage:decode_st|dec_op_inst.saddr1[3], ; +; ; ; decode_stage:decode_st|dec_op_inst.saddr1[1], ; +; ; ; 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[31], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[26], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[25], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[24], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[23], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[22], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[21], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[20], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[19], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[18], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[17], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[16], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[15], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[14], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[13], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[11], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[10], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[9], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[8], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[7], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[5], ; +; ; ; decode_stage:decode_st|rtw_rec.immediate[2], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[8], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[9], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[10], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[2], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[5], ; +; ; ; decode_stage:decode_st|dec_op_inst.prog_cnt[7] ; +; fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[1] ; Stuck at GND ; decode_stage:decode_st|dec_op_inst.op_detail[2], ; +; ; due to stuck port data_in ; decode_stage:decode_st|dec_op_inst.displacement[1], ; +; ; ; 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 ; ; +; decode_stage:decode_st|dec_op_inst.prog_cnt[31] ; Stuck at GND ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.oflo ; +; ; due to stuck port data_in ; ; +; decode_stage:decode_st|dec_op_inst.prog_cnt[23] ; Stuck at GND ; execute_stage:exec_st|extension_gpm:gpmp_inst|reg.status.zero ; +; ; 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 ; ; ++-----------------------------------------------------------+---------------------------+------------------------------------------------------------------------------------+ + + ++------------------------------------------------------+ +; General Register Statistics ; ++----------------------------------------------+-------+ +; Statistic ; Value ; ++----------------------------------------------+-------+ +; Total registers ; 141 ; +; Number of registers using Synchronous Clear ; 1 ; +; Number of registers using Synchronous Load ; 2 ; +; Number of registers using Asynchronous Clear ; 0 ; +; Number of registers using Asynchronous Load ; 0 ; +; Number of registers using Clock Enable ; 13 ; +; 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 ; +; Total number of inverted registers = 12 ; ; ++--------------------------------------------------------------------------------------+---------+ + + ++-------------------------------------------------------------------------------------------------------------------------+ +; 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 ; ++------------------------------------------------------------+-----------------------------------------------------+------+ + + ++--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ +; Multiplexer Restructuring Statistics (Restructuring Performed) ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+------------------------------------------------------------------------------------------------+ +; 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[24] ; +; 3:1 ; 32 bits ; 64 LEs ; 32 LEs ; 32 LEs ; Yes ; |core_top|execute_stage:exec_st|reg.result[12] ; +; 4:1 ; 7 bits ; 14 LEs ; 7 LEs ; 7 LEs ; Yes ; |core_top|writeback_stage:writeback_st|extension_uart:uart|w3_uart_send[3] ; +; 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[3] ; +; 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[22] ; +; 3:1 ; 2 bits ; 4 LEs ; 4 LEs ; 0 LEs ; No ; |core_top|writeback_stage:writeback_st|ext_uart.addr[1] ; +; 3:1 ; 32 bits ; 64 LEs ; 64 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|left_operand[28] ; +; 4:1 ; 28 bits ; 56 LEs ; 56 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|right_operand[2] ; +; 4:1 ; 4 bits ; 8 LEs ; 8 LEs ; 0 LEs ; No ; |core_top|execute_stage:exec_st|right_operand[6] ; ++--------------------+-----------+---------------+----------------------+------------------------+------------+------------------------------------------------------------------------------------------------+ + + ++-------------------------------------------------------------------------------------------------------------------------+ +; Source assignments for decode_stage:decode_st|r2_w_ram:register_ram|altsyncram:ram_rtl_0|altsyncram_emk1: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_1|altsyncram_emk1:auto_generated ; ++---------------------------------+--------------------+------+-----------------------------------------------------------+ +; Assignment ; Value ; From ; To ; ++---------------------------------+--------------------+------+-----------------------------------------------------------+ +; OPTIMIZE_POWER_DURING_SYNTHESIS ; NORMAL_COMPILATION ; - ; - ; ++---------------------------------+--------------------+------+-----------------------------------------------------------+ + + ++-------------------------------------------------------------------+ +; Parameter Settings for User Entity Instance: fetch_stage:fetch_st ; ++----------------+-------+------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+------------------------------------------+ +; reset_value ; '0' ; Enumerated ; +; logic_act ; '1' ; 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 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 ; ++----------------+-------+------------------------------------------------------------------+ +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: decode_stage:decode_st ; ++----------------+-------+--------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+--------------------------------------------+ +; reset_value ; '0' ; Enumerated ; +; logic_act ; '1' ; 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 User Entity Instance: decode_stage:decode_st|r2_w_ram:register_ram ; ++----------------+-------+------------------------------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+------------------------------------------------------------------+ +; addr_width ; 4 ; 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". + + ++--------------------------------------------------------------------+ +; Parameter Settings for User Entity Instance: execute_stage:exec_st ; ++----------------+-------+-------------------------------------------+ +; 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 User Entity Instance: execute_stage:exec_st|extension_gpm:gpmp_inst ; ++----------------+-------+-------------------------------------------------------------------+ +; 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 User Entity Instance: writeback_stage:writeback_st ; ++----------------+-------+--------------------------------------------------+ +; Parameter Name ; Value ; Type ; ++----------------+-------+--------------------------------------------------+ +; reset_value ; '0' ; Enumerated ; +; logic_act ; '1' ; 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 User Entity Instance: writeback_stage:writeback_st|r_w_ram:data_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". + + ++-----------------------------------------------------------------------------------------------+ +; Parameter Settings for User Entity Instance: writeback_stage:writeback_st|extension_uart:uart ; ++----------------+-------+----------------------------------------------------------------------+ +; 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 User Entity Instance: writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst ; ++----------------+-------+---------------------------------------------------------------------------------------------+ +; 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: decode_stage:decode_st|r2_w_ram:register_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 ; 4 ; Untyped ; +; NUMWORDS_A ; 16 ; 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 ; 4 ; Untyped ; +; NUMWORDS_B ; 16 ; 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_r2_w_ram_8e30dd1c.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_emk1 ; 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_1 ; ++------------------------------------+--------------------------------------+----------------------------------------+ +; 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 ; 4 ; Untyped ; +; NUMWORDS_A ; 16 ; 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 ; 4 ; Untyped ; +; NUMWORDS_B ; 16 ; 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_r2_w_ram_8e30dd1c.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_emk1 ; 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". + + ++---------------------------------------------------------------------------------------------------------------+ +; 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" ; ++----------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++----------+--------+----------+-------------------------------------------------------------------------------------+ +; data_out ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++----------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------------+ +; Port Connectivity Checks: "writeback_stage:writeback_st" ; ++-------+-------+----------+-------------------------------+ +; Port ; Type ; Severity ; Details ; ++-------+-------+----------+-------------------------------+ +; reset ; Input ; Info ; Stuck at VCC ; ++-------+-------+----------+-------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:shift_inst" ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_result.status.zero ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.status.sign ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.alu_jump ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.brpr ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.reg_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_en ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:xor_inst" ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_result.status.zero ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.status.sign ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.alu_jump ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.brpr ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.reg_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_en ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:or_inst" ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_result.status.zero ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.status.sign ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.alu_jump ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.brpr ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.reg_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_en ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:and_inst" ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_result.status.zero ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.status.sign ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.alu_jump ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.brpr ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.reg_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_en ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst|exec_op:add_inst" ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_result.status.zero ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.status.sign ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.alu_jump ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.brpr ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.reg_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_op ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; alu_result.mem_en ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++------------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st|alu:alu_inst" ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ +; alu_state.reg_op ; Input ; Info ; Stuck at GND ; +; alu_state.mem_op ; Input ; Info ; Stuck at GND ; +; alu_state.mem_en ; Input ; Info ; Stuck at GND ; +; alu_state.hw_op ; Input ; Info ; Stuck at GND ; +; alu_state.byte_op ; Input ; Info ; Stuck at GND ; +; alu_state.sign_xt ; Input ; Info ; Stuck at GND ; +; alu_result.sign_xt ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "execute_stage:exec_st" ; ++--------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++--------------+--------+----------+-------------------------------------------------------------------------------------+ +; reset ; Input ; Info ; Stuck at VCC ; +; ext_data_out ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++--------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++------------------------------------------------------------------------------------------------------------------------------+ +; Port Connectivity Checks: "decode_stage:decode_st|decoder:decoder_inst" ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ +; Port ; Type ; Severity ; Details ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ +; instr_spl.jmptype ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; instr_spl.high_low ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; instr_spl.fill ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; +; instr_spl.signext ; Output ; Info ; Connected to dangling logic. Logic that only feeds a dangling port will be removed. ; ++--------------------+--------+----------+-------------------------------------------------------------------------------------+ + + ++----------------------------------------------------+ +; Port Connectivity Checks: "decode_stage:decode_st" ; ++-------+-------+----------+-------------------------+ +; Port ; Type ; Severity ; Details ; ++-------+-------+----------+-------------------------+ +; reset ; Input ; Info ; Stuck at VCC ; ++-------+-------+----------+-------------------------+ + + ++--------------------------------------------------+ +; Port Connectivity Checks: "fetch_stage:fetch_st" ; ++-------+-------+----------+-----------------------+ +; Port ; Type ; Severity ; Details ; ++-------+-------+----------+-----------------------+ +; reset ; Input ; Info ; Stuck at VCC ; ++-------+-------+----------+-----------------------+ + + ++-------------------------------+ +; Analysis & Synthesis Messages ; ++-------------------------------+ +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: Thu Dec 16 16:54:33 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/burban/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/burban/calu/cpu/src/writeback_stage.vhd + Info: Found entity 1: writeback_stage +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/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/burban/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/burban/calu/cpu/src/rs232_tx.vhd + Info: Found entity 1: rs232_tx +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/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/burban/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/burban/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/burban/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/burban/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/burban/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/burban/calu/cpu/src/fetch_stage.vhd + Info: Found entity 1: fetch_stage +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/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/burban/calu/cpu/src/extension_uart.vhd + Info: Found entity 1: extension_uart +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/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/burban/calu/cpu/src/extension.vhd + Info: Found entity 1: extension_gpm +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/calu/cpu/src/execute_stage.vhd + Info: Found entity 1: execute_stage +Info: Found 1 design units, including 1 entities, in source file /homes/burban/calu/cpu/src/exec_op.vhd + Info: Found entity 1: exec_op +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/calu/cpu/src/decoder.vhd + Info: Found entity 1: decoder +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/calu/cpu/src/decode_stage.vhd + Info: Found entity 1: decode_stage +Info: Found 2 design units, including 1 entities, in source file /homes/burban/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/burban/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/burban/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/burban/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/burban/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/burban/calu/cpu/src/alu.vhd + Info: Found entity 1: alu +Info: Found 1 design units, including 0 entities, in source file /homes/burban/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/burban/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/burban/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/burban/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/burban/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(24): 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 +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 "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" +Info: Elaborating entity "execute_stage" for hierarchy "execute_stage:exec_st" +Warning (10541): VHDL Signal Declaration warning at execute_stage_b.vhd(19): used implicit default value for signal "ext_gpmp" 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 "alu" for hierarchy "execute_stage:exec_st|alu:alu_inst" +Info: Elaborating entity "exec_op" using architecture "A:add_op" for hierarchy "execute_stage:exec_st|alu:alu_inst|exec_op:add_inst" +Info: Elaborating entity "exec_op" using architecture "A:and_op" for hierarchy "execute_stage:exec_st|alu:alu_inst|exec_op:and_inst" +Info: Elaborating entity "exec_op" using architecture "A:or_op" for hierarchy "execute_stage:exec_st|alu:alu_inst|exec_op:or_inst" +Info: Elaborating entity "exec_op" using architecture "A:xor_op" for hierarchy "execute_stage:exec_st|alu:alu_inst|exec_op:xor_inst" +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(18): object "ext_timer" assigned a value but never read +Warning (10036): Verilog HDL or VHDL warning at writeback_stage_b.vhd(18): object "ext_gpmp" assigned a value but never read +Warning (10812): VHDL warning at writeback_stage_b.vhd(152): sensitivity list already contains wb_reg_nxt +Info: Elaborating entity "extension_uart" for hierarchy "writeback_stage:writeback_st|extension_uart:uart" +Info: Elaborating entity "rs232_tx" for hierarchy "writeback_stage:writeback_st|extension_uart:uart|rs232_tx:rs232_tx_inst" +Info: Inferred 2 megafunctions from design logic + 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 + Info: Parameter WIDTHAD_A set to 4 + Info: Parameter NUMWORDS_A set to 16 + Info: Parameter WIDTH_B set to 32 + Info: Parameter WIDTHAD_B set to 4 + Info: Parameter NUMWORDS_B set to 16 + 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_r2_w_ram_8e30dd1c.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~38" + Info: Parameter OPERATION_MODE set to DUAL_PORT + Info: Parameter WIDTH_A set to 32 + Info: Parameter WIDTHAD_A set to 4 + Info: Parameter NUMWORDS_A set to 16 + Info: Parameter WIDTH_B set to 32 + Info: Parameter WIDTHAD_B set to 4 + Info: Parameter NUMWORDS_B set to 16 + 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_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: Parameter "OPERATION_MODE" = "DUAL_PORT" + Info: Parameter "WIDTH_A" = "32" + Info: Parameter "WIDTHAD_A" = "4" + Info: Parameter "NUMWORDS_A" = "16" + Info: Parameter "WIDTH_B" = "32" + Info: Parameter "WIDTHAD_B" = "4" + Info: Parameter "NUMWORDS_B" = "16" + Info: Parameter "ADDRESS_ACLR_A" = "NONE" + Info: Parameter "OUTDATA_REG_B" = "UNREGISTERED" + Info: Parameter "ADDRESS_ACLR_B" = "NONE" + Info: Parameter "OUTDATA_ACLR_B" = "NONE" + 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 "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: 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" + Info: Parameter "WIDTH_A" = "32" + Info: Parameter "WIDTHAD_A" = "4" + Info: Parameter "NUMWORDS_A" = "16" + Info: Parameter "WIDTH_B" = "32" + Info: Parameter "WIDTHAD_B" = "4" + Info: Parameter "NUMWORDS_B" = "16" + Info: Parameter "ADDRESS_ACLR_A" = "NONE" + Info: Parameter "OUTDATA_REG_B" = "UNREGISTERED" + Info: Parameter "ADDRESS_ACLR_B" = "NONE" + Info: Parameter "OUTDATA_ACLR_B" = "NONE" + 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 "READ_DURING_WRITE_MODE_MIXED_PORTS" = "OLD_DATA" +Info: 132 registers lost all their fanouts during netlist optimizations. The first 132 are displayed below. + 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. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][26]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][25]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][24]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][23]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][22]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][21]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][20]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][19]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][18]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][17]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][16]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][15]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][14]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][13]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][12]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][11]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][10]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][9]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][8]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][7]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][6]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][5]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][4]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][3]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][2]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][1]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[1][0]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][29]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][28]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][27]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][26]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][25]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][24]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][23]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][22]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][21]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][20]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][19]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][18]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][17]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][16]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][15]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][14]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][13]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][12]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][11]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][10]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][9]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][8]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][7]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][6]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][5]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][4]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][3]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][2]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][1]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[2][0]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][29]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][28]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][27]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][26]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][25]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][24]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][23]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][22]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][21]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][20]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][19]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][18]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][17]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][16]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][15]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][14]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][13]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][12]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][11]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][10]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][9]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][8]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][7]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][6]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][5]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][4]" lost all its fanouts during netlist optimizations. + Info: Register "execute_stage:exec_st|extension_gpm:gpmp_inst|reg.preg[3][3]" lost all its fanouts during netlist optimizations. + 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.prog_cnt[8]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[9]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[10]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[0]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[1]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[2]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[3]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[4]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[5]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[6]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.prog_cnt[7]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.condition[3]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|r_w_ram:instruction_ram|data_out[31]" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.op_group.ADDSUB_OP" 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.OR_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 "decode_stage:decode_st|dec_op_inst.op_group.SHIFT_OP" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.op_group.JMP_OP" lost all its fanouts during netlist optimizations. + Info: Register "decode_stage:decode_st|dec_op_inst.op_group.JMP_ST_OP" 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: 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[29]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[28]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[27]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[26]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[25]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[24]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[23]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[22]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[21]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[20]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[19]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[18]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[17]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[16]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[15]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[14]" lost all its fanouts during netlist optimizations. + Info: Register "fetch_stage:fetch_st|instr_r_addr[13]" 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[11]" 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: Generating hard_block partition "hard_block:auto_generated_inst" +Info: Implemented 501 device resources after synthesis - the final resource count might be different + Info: Implemented 1 input pins + Info: Implemented 1 output pins + Info: Implemented 435 logic cells + Info: Implemented 64 RAM segments +Info: Quartus II Analysis & Synthesis was successful. 0 errors, 12 warnings + Info: Peak virtual memory: 267 megabytes + Info: Processing ended: Thu Dec 16 16:54:44 2010 + Info: Elapsed time: 00:00:11 + Info: Total CPU time (on all processors): 00:00:10 + + diff --git a/dt/dt.map.summary b/dt/dt.map.summary new file mode 100644 index 0000000..28a4479 --- /dev/null +++ b/dt/dt.map.summary @@ -0,0 +1,10 @@ +Analysis & Synthesis Status : Successful - Thu Dec 16 16:54: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 +Total logic elements : 435 +Total pins : 2 +Total virtual pins : 0 +Total memory bits : 512 +Total PLLs : 0 diff --git a/dt/dt.pin b/dt/dt.pin new file mode 100644 index 0000000..73506d9 --- /dev/null +++ b/dt/dt.pin @@ -0,0 +1,306 @@ + -- Copyright (C) 1991-2010 Altera Corporation + -- Your use of Altera Corporation's design tools, logic functions + -- and other software and tools, and its AMPP partner logic + -- functions, and any output files from any of the foregoing + -- (including device programming or simulation files), and any + -- associated documentation or information are expressly subject + -- to the terms and conditions of the Altera Program License + -- Subscription Agreement, Altera MegaCore Function License + -- Agreement, or other applicable license agreement, including, + -- without limitation, that your use is for the sole purpose of + -- programming logic devices manufactured by Altera and sold by + -- Altera or its authorized distributors. Please refer to the + -- applicable agreement for further details. + -- + -- This is a Quartus II output file. It is for reporting purposes only, and is + -- not intended for use as a Quartus II input file. This file cannot be used + -- to make Quartus II pin assignments - for instructions on how to make pin + -- assignments, please see Quartus II help. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- NC : No Connect. This pin has no internal connection to the device. + -- DNU : Do Not Use. This pin MUST NOT be connected. + -- VCCINT : Dedicated power pin, which MUST be connected to VCC (1.5V). + -- VCCIO : Dedicated power pin, which MUST be connected to VCC + -- of its bank. + -- Bank 1: 3.3V + -- Bank 2: 3.3V + -- Bank 3: 3.3V + -- Bank 4: 3.3V + -- GND : Dedicated ground pin. Dedicated GND pins MUST be connected to GND. + -- It can also be used to report unused dedicated pins. The connection + -- on the board for unused dedicated pins depends on whether this will + -- be used in a future design. One example is device migration. When + -- using device migration, refer to the device pin-tables. If it is a + -- GND pin in the pin table or if it will not be used in a future design + -- for another purpose the it MUST be connected to GND. If it is an unused + -- dedicated pin, then it can be connected to a valid signal on the board + -- (low, high, or toggling) if that signal is required for a different + -- revision of the design. + -- GND+ : Unused input pin. It can also be used to report unused dual-purpose pins. + -- This pin should be connected to GND. It may also be connected to a + -- valid signal on the board (low, high, or toggling) if that signal + -- is required for a different revision of the design. + -- GND* : Unused I/O pin. Connect each pin marked GND* directly to GND + -- or leave it unconnected. + -- RESERVED : Unused I/O pin, which MUST be left unconnected. + -- RESERVED_INPUT : Pin is tri-stated and should be connected to the board. + -- RESERVED_INPUT_WITH_WEAK_PULLUP : Pin is tri-stated with internal weak pull-up resistor. + -- RESERVED_INPUT_WITH_BUS_HOLD : Pin is tri-stated with bus-hold circuitry. + -- RESERVED_OUTPUT_DRIVEN_HIGH : Pin is output driven high. + --------------------------------------------------------------------------------- + + + + --------------------------------------------------------------------------------- + -- Pin directions (input, output or bidir) are based on device operating in user mode. + --------------------------------------------------------------------------------- + +Quartus II Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition +CHIP "dt" ASSIGNED TO AN: EP1C12Q240C8 + +Pin Name/Usage : Location : Dir. : I/O Standard : Voltage : I/O Bank : User Assignment +------------------------------------------------------------------------------------------------------------- +RESERVED_INPUT : 1 : : : : 1 : +RESERVED_INPUT : 2 : : : : 1 : +RESERVED_INPUT : 3 : : : : 1 : +RESERVED_INPUT : 4 : : : : 1 : +RESERVED_INPUT : 5 : : : : 1 : +RESERVED_INPUT : 6 : : : : 1 : +RESERVED_INPUT : 7 : : : : 1 : +RESERVED_INPUT : 8 : : : : 1 : +VCCIO1 : 9 : power : : 3.3V : 1 : +GND : 10 : gnd : : : : +RESERVED_INPUT : 11 : : : : 1 : +RESERVED_INPUT : 12 : : : : 1 : +RESERVED_INPUT : 13 : : : : 1 : +RESERVED_INPUT : 14 : : : : 1 : +RESERVED_INPUT : 15 : : : : 1 : +RESERVED_INPUT : 16 : : : : 1 : +RESERVED_INPUT : 17 : : : : 1 : +RESERVED_INPUT : 18 : : : : 1 : +RESERVED_INPUT : 19 : : : : 1 : +RESERVED_INPUT : 20 : : : : 1 : +RESERVED_INPUT : 21 : : : : 1 : +VCCIO1 : 22 : power : : 3.3V : 1 : +RESERVED_INPUT : 23 : : : : 1 : +~nCSO~ / RESERVED_INPUT_WITH_WEAK_PULLUP : 24 : input : 3.3-V LVCMOS : : 1 : N +DATA0 : 25 : input : : : 1 : +nCONFIG : 26 : : : : 1 : +VCCA_PLL1 : 27 : power : : 1.5V : : +GND+ : 28 : : : : 1 : +GND+ : 29 : : : : 1 : +GNDA_PLL1 : 30 : gnd : : : : +GNDG_PLL1 : 31 : gnd : : : : +nCEO : 32 : : : : 1 : +nCE : 33 : : : : 1 : +MSEL0 : 34 : : : : 1 : +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 : +GND : 40 : gnd : : : : +RESERVED_INPUT : 41 : : : : 1 : +RESERVED_INPUT : 42 : : : : 1 : +RESERVED_INPUT : 43 : : : : 1 : +RESERVED_INPUT : 44 : : : : 1 : +RESERVED_INPUT : 45 : : : : 1 : +RESERVED_INPUT : 46 : : : : 1 : +RESERVED_INPUT : 47 : : : : 1 : +RESERVED_INPUT : 48 : : : : 1 : +RESERVED_INPUT : 49 : : : : 1 : +RESERVED_INPUT : 50 : : : : 1 : +VCCIO1 : 51 : power : : 3.3V : 1 : +GND : 52 : gnd : : : : +RESERVED_INPUT : 53 : : : : 1 : +RESERVED_INPUT : 54 : : : : 1 : +RESERVED_INPUT : 55 : : : : 1 : +RESERVED_INPUT : 56 : : : : 1 : +RESERVED_INPUT : 57 : : : : 1 : +RESERVED_INPUT : 58 : : : : 1 : +RESERVED_INPUT : 59 : : : : 1 : +RESERVED_INPUT : 60 : : : : 1 : +RESERVED_INPUT : 61 : : : : 4 : +RESERVED_INPUT : 62 : : : : 4 : +RESERVED_INPUT : 63 : : : : 4 : +RESERVED_INPUT : 64 : : : : 4 : +RESERVED_INPUT : 65 : : : : 4 : +RESERVED_INPUT : 66 : : : : 4 : +RESERVED_INPUT : 67 : : : : 4 : +RESERVED_INPUT : 68 : : : : 4 : +GND : 69 : gnd : : : : +VCCIO4 : 70 : power : : 3.3V : 4 : +GND : 71 : gnd : : : : +VCCINT : 72 : power : : 1.5V : : +RESERVED_INPUT : 73 : : : : 4 : +RESERVED_INPUT : 74 : : : : 4 : +RESERVED_INPUT : 75 : : : : 4 : +RESERVED_INPUT : 76 : : : : 4 : +RESERVED_INPUT : 77 : : : : 4 : +RESERVED_INPUT : 78 : : : : 4 : +RESERVED_INPUT : 79 : : : : 4 : +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 : +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 : +GND : 96 : gnd : : : : +VCCINT : 97 : power : : 1.5V : : +RESERVED_INPUT : 98 : : : : 4 : +RESERVED_INPUT : 99 : : : : 4 : +RESERVED_INPUT : 100 : : : : 4 : +RESERVED_INPUT : 101 : : : : 4 : +GND : 102 : gnd : : : : +VCCINT : 103 : power : : 1.5V : : +RESERVED_INPUT : 104 : : : : 4 : +RESERVED_INPUT : 105 : : : : 4 : +RESERVED_INPUT : 106 : : : : 4 : +RESERVED_INPUT : 107 : : : : 4 : +RESERVED_INPUT : 108 : : : : 4 : +GND : 109 : gnd : : : : +VCCINT : 110 : power : : 1.5V : : +GND : 111 : gnd : : : : +VCCIO4 : 112 : power : : 3.3V : 4 : +RESERVED_INPUT : 113 : : : : 4 : +RESERVED_INPUT : 114 : : : : 4 : +RESERVED_INPUT : 115 : : : : 4 : +RESERVED_INPUT : 116 : : : : 4 : +RESERVED_INPUT : 117 : : : : 4 : +RESERVED_INPUT : 118 : : : : 4 : +RESERVED_INPUT : 119 : : : : 4 : +RESERVED_INPUT : 120 : : : : 4 : +RESERVED_INPUT : 121 : : : : 3 : +RESERVED_INPUT : 122 : : : : 3 : +RESERVED_INPUT : 123 : : : : 3 : +RESERVED_INPUT : 124 : : : : 3 : +RESERVED_INPUT : 125 : : : : 3 : +RESERVED_INPUT : 126 : : : : 3 : +RESERVED_INPUT : 127 : : : : 3 : +RESERVED_INPUT : 128 : : : : 3 : +GND : 129 : gnd : : : : +VCCIO3 : 130 : power : : 3.3V : 3 : +RESERVED_INPUT : 131 : : : : 3 : +RESERVED_INPUT : 132 : : : : 3 : +RESERVED_INPUT : 133 : : : : 3 : +RESERVED_INPUT : 134 : : : : 3 : +RESERVED_INPUT : 135 : : : : 3 : +RESERVED_INPUT : 136 : : : : 3 : +RESERVED_INPUT : 137 : : : : 3 : +RESERVED_INPUT : 138 : : : : 3 : +RESERVED_INPUT : 139 : : : : 3 : +RESERVED_INPUT : 140 : : : : 3 : +RESERVED_INPUT : 141 : : : : 3 : +GND : 142 : gnd : : : : +RESERVED_INPUT : 143 : : : : 3 : +RESERVED_INPUT : 144 : : : : 3 : +CONF_DONE : 145 : : : : 3 : +nSTATUS : 146 : : : : 3 : +TCK : 147 : input : : : 3 : +TMS : 148 : input : : : 3 : +TDO : 149 : output : : : 3 : +GNDG_PLL2 : 150 : gnd : : : : +GNDA_PLL2 : 151 : gnd : : : : +sys_clk : 152 : input : 3.3-V LVCMOS : : 3 : Y +GND+ : 153 : : : : 3 : +VCCA_PLL2 : 154 : power : : 1.5V : : +TDI : 155 : input : : : 3 : +RESERVED_INPUT : 156 : : : : 3 : +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 : +RESERVED_INPUT : 163 : : : : 3 : +RESERVED_INPUT : 164 : : : : 3 : +RESERVED_INPUT : 165 : : : : 3 : +bus_tx : 166 : output : 3.3-V LVCMOS : : 3 : Y +RESERVED_INPUT : 167 : : : : 3 : +RESERVED_INPUT : 168 : : : : 3 : +RESERVED_INPUT : 169 : : : : 3 : +RESERVED_INPUT : 170 : : : : 3 : +GND : 171 : gnd : : : : +VCCIO3 : 172 : power : : 3.3V : 3 : +RESERVED_INPUT : 173 : : : : 3 : +RESERVED_INPUT : 174 : : : : 3 : +RESERVED_INPUT : 175 : : : : 3 : +RESERVED_INPUT : 176 : : : : 3 : +RESERVED_INPUT : 177 : : : : 3 : +RESERVED_INPUT : 178 : : : : 3 : +RESERVED_INPUT : 179 : : : : 3 : +RESERVED_INPUT : 180 : : : : 3 : +RESERVED_INPUT : 181 : : : : 2 : +RESERVED_INPUT : 182 : : : : 2 : +RESERVED_INPUT : 183 : : : : 2 : +RESERVED_INPUT : 184 : : : : 2 : +RESERVED_INPUT : 185 : : : : 2 : +RESERVED_INPUT : 186 : : : : 2 : +RESERVED_INPUT : 187 : : : : 2 : +RESERVED_INPUT : 188 : : : : 2 : +VCCIO2 : 189 : power : : 3.3V : 2 : +GND : 190 : gnd : : : : +VCCINT : 191 : power : : 1.5V : : +GND : 192 : gnd : : : : +RESERVED_INPUT : 193 : : : : 2 : +RESERVED_INPUT : 194 : : : : 2 : +RESERVED_INPUT : 195 : : : : 2 : +RESERVED_INPUT : 196 : : : : 2 : +RESERVED_INPUT : 197 : : : : 2 : +VCCINT : 198 : power : : 1.5V : : +GND : 199 : gnd : : : : +RESERVED_INPUT : 200 : : : : 2 : +RESERVED_INPUT : 201 : : : : 2 : +RESERVED_INPUT : 202 : : : : 2 : +RESERVED_INPUT : 203 : : : : 2 : +VCCINT : 204 : power : : 1.5V : : +GND : 205 : gnd : : : : +RESERVED_INPUT : 206 : : : : 2 : +RESERVED_INPUT : 207 : : : : 2 : +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 : +RESERVED_INPUT : 217 : : : : 2 : +RESERVED_INPUT : 218 : : : : 2 : +RESERVED_INPUT : 219 : : : : 2 : +VCCINT : 220 : power : : 1.5V : : +GND : 221 : gnd : : : : +RESERVED_INPUT : 222 : : : : 2 : +RESERVED_INPUT : 223 : : : : 2 : +RESERVED_INPUT : 224 : : : : 2 : +RESERVED_INPUT : 225 : : : : 2 : +RESERVED_INPUT : 226 : : : : 2 : +RESERVED_INPUT : 227 : : : : 2 : +RESERVED_INPUT : 228 : : : : 2 : +VCCINT : 229 : power : : 1.5V : : +GND : 230 : gnd : : : : +VCCIO2 : 231 : power : : 3.3V : 2 : +GND : 232 : gnd : : : : +RESERVED_INPUT : 233 : : : : 2 : +RESERVED_INPUT : 234 : : : : 2 : +RESERVED_INPUT : 235 : : : : 2 : +RESERVED_INPUT : 236 : : : : 2 : +RESERVED_INPUT : 237 : : : : 2 : +RESERVED_INPUT : 238 : : : : 2 : +RESERVED_INPUT : 239 : : : : 2 : +RESERVED_INPUT : 240 : : : : 2 : diff --git a/dt/dt.pof b/dt/dt.pof new file mode 100644 index 0000000000000000000000000000000000000000..8cac76b3b792653d35dff024f4327333be2792d2 GIT binary patch literal 524489 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 z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOwVf5D)@FKnMr{As_^VfDjM@LO=)z0U;m+gn$qb z0zyCt2mv7=1cZPP5CTF#2nYcoAOx-)1dcZ!*F<>-h>hl}Z#w_HTfgjddpZ>mXFlnP SpLFK>Pa8Bxpz*xl{r>@PBG|eB literal 0 HcmV?d00001 diff --git a/dt/dt.qpf b/dt/dt.qpf new file mode 100644 index 0000000..86412f0 --- /dev/null +++ b/dt/dt.qpf @@ -0,0 +1,30 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2010 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II +# Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition +# Date created = 15:08:54 December 16, 2010 +# +# -------------------------------------------------------------------------- # + +QUARTUS_VERSION = "10.0" +DATE = "15:08:54 December 16, 2010" + +# Revisions + +PROJECT_REVISION = "dt" diff --git a/dt/dt.qsf b/dt/dt.qsf new file mode 100644 index 0000000..e5d979b --- /dev/null +++ b/dt/dt.qsf @@ -0,0 +1,103 @@ +# -------------------------------------------------------------------------- # +# +# Copyright (C) 1991-2010 Altera Corporation +# Your use of Altera Corporation's design tools, logic functions +# and other software and tools, and its AMPP partner logic +# functions, and any output files from any of the foregoing +# (including device programming or simulation files), and any +# associated documentation or information are expressly subject +# to the terms and conditions of the Altera Program License +# Subscription Agreement, Altera MegaCore Function License +# Agreement, or other applicable license agreement, including, +# without limitation, that your use is for the sole purpose of +# programming logic devices manufactured by Altera and sold by +# Altera or its authorized distributors. Please refer to the +# applicable agreement for further details. +# +# -------------------------------------------------------------------------- # +# +# Quartus II +# Version 10.0 Build 262 08/18/2010 Service Pack 1 SJ Web Edition +# Date created = 15:08:54 December 16, 2010 +# +# -------------------------------------------------------------------------- # +# +# Notes: +# +# 1) The default values for assignments are stored in the file: +# dt_assignment_defaults.qdf +# If this file doesn't exist, see file: +# assignment_defaults.qdf +# +# 2) Altera recommends that you do not modify this file. This +# file is updated automatically by the Quartus II software +# and any changes you make may be lost or overwritten. +# +# -------------------------------------------------------------------------- # + + +set_global_assignment -name FAMILY Cyclone +set_global_assignment -name DEVICE EP1C12Q240C8 +set_global_assignment -name TOP_LEVEL_ENTITY core_top +set_global_assignment -name ORIGINAL_QUARTUS_VERSION "10.0 SP1" +set_global_assignment -name PROJECT_CREATION_TIME_DATE "15:08:54 DECEMBER 16, 2010" +set_global_assignment -name LAST_QUARTUS_VERSION "10.0 SP1" +set_global_assignment -name VHDL_FILE ../cpu/src/writeback_stage_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/writeback_stage.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/rw_r_ram_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/rw_r_ram.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/rs232_tx_arc.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/rs232_tx.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/r_w_ram_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/r_w_ram.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/r2_w_ram_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/r2_w_ram.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/pipeline_tb.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/mem_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/fetch_stage_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/fetch_stage.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension_uart_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension_uart_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension_uart.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/extension.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/execute_stage_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/execute_stage.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/decoder_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/decoder.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/decode_stage_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/decode_stage.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/core_top.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/core_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/common_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/alu_pkg.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/alu_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/alu.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op/xor_op_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op/shift_op_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op/or_op_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op/and_op_b.vhd +set_global_assignment -name VHDL_FILE ../cpu/src/exec_op/add_op_b.vhd +set_global_assignment -name DEVICE_FILTER_PIN_COUNT 240 +set_global_assignment -name DEVICE_FILTER_SPEED_GRADE 8 +set_global_assignment -name MIN_CORE_JUNCTION_TEMP 0 +set_global_assignment -name MAX_CORE_JUNCTION_TEMP 85 +set_global_assignment -name USE_CONFIGURATION_DEVICE ON +set_global_assignment -name GENERATE_RBF_FILE ON +set_global_assignment -name ON_CHIP_BITSTREAM_DECOMPRESSION OFF +set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED" +set_global_assignment -name STRATIX_DEVICE_IO_STANDARD "3.3-V LVCMOS" +set_global_assignment -name RESERVE_ASDO_AFTER_CONFIGURATION "AS INPUT TRI-STATED" +set_global_assignment -name PARTITION_NETLIST_TYPE SOURCE -section_id Top +set_global_assignment -name PARTITION_FITTER_PRESERVATION_LEVEL PLACEMENT_AND_ROUTING -section_id Top +set_global_assignment -name PARTITION_COLOR 16764057 -section_id Top +set_global_assignment -name LL_ROOT_REGION ON -section_id "Root Region" +set_global_assignment -name LL_MEMBER_STATE LOCKED -section_id "Root Region" +set_global_assignment -name MISC_FILE /homes/burban/dt/dt.dpf +set_location_assignment PIN_166 -to bus_tx +set_location_assignment PIN_152 -to sys_clk +set_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND "AS INPUT TRI-STATED" + +set_instance_assignment -name PARTITION_HIERARCHY root_partition -to | -section_id Top \ No newline at end of file diff --git a/dt/dt.rbf b/dt/dt.rbf new file mode 100644 index 0000000000000000000000000000000000000000..c9fc0f71b715f44ee654944ad3ee4802839fef11 GIT binary patch literal 290405 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 literal 0 HcmV?d00001 diff --git a/dt/dt.sof b/dt/dt.sof new file mode 100644 index 0000000000000000000000000000000000000000..5db20aca16654a38683cd845e100c5fd91c1f7a4 GIT binary patch literal 281523 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⋙`2T$hYPI`8ukUJ^8EN)y$@3^%yVdo3CoKNZH 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 zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb z1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ! z5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^ zNI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndv zAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnw zfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz z0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8< z2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|Drd zBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J- zkbndvAOQ(TKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(T zKmrnwfCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdBp?9^NI(J-kbndvAOQ(TKmrnwfCMBU z0SQPz0uuQD+o6LR000mOKsR3&Fopg5*~38u3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r z3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@ z0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VK zfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5 zV8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM z7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b* z1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd z0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwA zz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEj zFkrxd0RsjM7%*VKfB^#r3>YwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM7%=c-pi@a^ E5B=#8{Qv*} literal 0 HcmV?d00001 diff --git a/dt/output_file.rbf b/dt/output_file.rbf new file mode 100644 index 0000000000000000000000000000000000000000..05a51bd7fa9ca8b5e7fda4a595654998d9bcde97 GIT binary patch literal 290405 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

6I!S&KTvk5mS|$>`f+fHHovo7^LXuC-$y%n- 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 sb87aenlKO