diff --git a/.travis.yml b/.travis.yml index b7e48c0f..9fac49b7 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,16 +21,7 @@ install: - make -s script: - - ./ci/test_runtime.sh - - ./ci/test_riscv_isa.sh - - ./ci/test_opencl.sh - - ./ci/test_driver.sh - - ./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --perf --app=demo --args="-n1" - - ./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --debug --app=demo --args="-n1" - - ./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --scope --app=demo --args="-n1" - - ./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --app=demo --args="-n1" - - ./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --l2cache --app=demo --args="-n1" - - ./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l2cache --l3cache --app=demo --args="-n1" + - ./ci/regresion.sh after_success: # Gather code coverage diff --git a/ci/regression.sh b/ci/regression.sh new file mode 100755 index 00000000..68221940 --- /dev/null +++ b/ci/regression.sh @@ -0,0 +1,12 @@ +#!/bin/bash + +./ci/test_runtime.sh +./ci/test_riscv_isa.sh +./ci/test_opencl.sh +./ci/test_driver.sh +./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --perf --app=demo --args="-n1" +./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --debug --app=demo --args="-n1" +./ci/travis_run.py ./ci/blackbox.sh --driver=vlsim --cores=1 --scope --app=demo --args="-n1" +./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --app=demo --args="-n1" +./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --l2cache --app=demo --args="-n1" +./ci/travis_run.py ./ci/blackbox.sh --driver=rtlsim --cores=2 --clusters=2 --l2cache --l3cache --app=demo --args="-n1" \ No newline at end of file diff --git a/hw/rtl/VX_cluster.v b/hw/rtl/VX_cluster.v index 6d605790..e87e4dd3 100644 --- a/hw/rtl/VX_cluster.v +++ b/hw/rtl/VX_cluster.v @@ -74,9 +74,9 @@ module VX_cluster #( VX_reset_relay #( .DEPTH (`NUM_CORES > 1) ) reset_relay ( - .clk (clk), - .reset (reset), - .reset_out (core_reset) + .clk (clk), + .reset (reset), + .reset_o (core_reset) ); VX_core #( diff --git a/hw/rtl/VX_ibuffer.v b/hw/rtl/VX_ibuffer.v index b0457aa6..afb8b402 100644 --- a/hw/rtl/VX_ibuffer.v +++ b/hw/rtl/VX_ibuffer.v @@ -133,9 +133,9 @@ module VX_ibuffer #( deq_wid_n = (!deq_fire || q_sizeMany[deq_wid]) ? deq_wid : ibuf_enq_if.wid; deq_instr_n = deq_fire ? (q_sizeMany[deq_wid] ? q_data_prev[deq_wid] : q_data_in) : q_data_out[deq_wid]; end else begin - deq_valid_n = (| schedule_table_n); + deq_valid_n = (| schedule_table); for (integer i = 0; i < `NUM_WARPS; i++) begin - if (schedule_table_n[i]) begin + if (schedule_table[i]) begin deq_wid_n = `NW_BITS'(i); deq_instr_n = q_data_out[i]; schedule_table_n[i] = 0; diff --git a/hw/rtl/VX_mem_unit.v b/hw/rtl/VX_mem_unit.v index 90af44e6..35fd4328 100644 --- a/hw/rtl/VX_mem_unit.v +++ b/hw/rtl/VX_mem_unit.v @@ -86,9 +86,9 @@ module VX_mem_unit # ( VX_reset_relay #( .NUM_NODES (2) ) reset_relay ( - .clk (clk), - .reset (reset), - .reset_out ({dcache_reset, icache_reset}) + .clk (clk), + .reset (reset), + .reset_o ({dcache_reset, icache_reset}) ); VX_cache #( @@ -214,9 +214,9 @@ module VX_mem_unit # ( wire scache_reset; VX_reset_relay reset_relay ( - .clk (clk), - .reset (reset), - .reset_out (scache_reset) + .clk (clk), + .reset (reset), + .reset_o (scache_reset) ); VX_shared_mem #( diff --git a/hw/rtl/Vortex.v b/hw/rtl/Vortex.v index 43edeeaa..18e619fc 100644 --- a/hw/rtl/Vortex.v +++ b/hw/rtl/Vortex.v @@ -75,9 +75,9 @@ module Vortex ( VX_reset_relay #( .DEPTH (`NUM_CLUSTERS > 1) ) reset_relay ( - .clk (clk), - .reset (reset), - .reset_out (cluster_reset) + .clk (clk), + .reset (reset), + .reset_o (cluster_reset) ); VX_cluster #( diff --git a/hw/rtl/cache/VX_bank.v b/hw/rtl/cache/VX_bank.v index 29349f93..befe8ae9 100644 --- a/hw/rtl/cache/VX_bank.v +++ b/hw/rtl/cache/VX_bank.v @@ -2,18 +2,19 @@ module VX_bank #( parameter CACHE_ID = 0, - parameter BANK_ID = 0, + parameter BANK_ID = 0, + + // Number of Word requests per cycle + parameter NUM_REQS = 1, // Size of cache in bytes parameter CACHE_SIZE = 1, // Size of line inside a bank in bytes parameter CACHE_LINE_SIZE = 1, // Number of bankS - parameter NUM_BANKS = 1, + parameter NUM_BANKS = 1, // Size of a word in bytes parameter WORD_SIZE = 1, - // Number of Word requests per cycle - parameter NUM_REQS = 1, // Core Request Queue Size parameter CREQ_SIZE = 1, @@ -55,8 +56,9 @@ module VX_bank #( input wire core_req_valid, input wire [`REQS_BITS-1:0] core_req_tid, input wire core_req_rw, + input wire [`LINE_ADDR_WIDTH-1:0] core_req_addr, + input wire [`WORD_SELECT_BITS-1:0] core_req_wsel, input wire [WORD_SIZE-1:0] core_req_byteen, - input wire [`WORD_ADDR_WIDTH-1:0] core_req_addr, input wire [`WORD_WIDTH-1:0] core_req_data, input wire [CORE_TAG_WIDTH-1:0] core_req_tag, output wire core_req_ready, @@ -94,41 +96,27 @@ module VX_bank #( wire creq_pop; wire creq_full, creq_empty; wire creq_rw; + wire [`LINE_ADDR_WIDTH-1:0] creq_addr; + wire [`WORD_SELECT_BITS-1:0] creq_wsel; wire [WORD_SIZE-1:0] creq_byteen; - wire [`REQS_BITS-1:0] creq_tid; -`IGNORE_WARNINGS_BEGIN - wire [`WORD_ADDR_WIDTH-1:0] creq_addr; -`IGNORE_WARNINGS_END - wire [`LINE_ADDR_WIDTH-1:0] creq_line_addr; - wire [`UP(`WORD_SELECT_BITS)-1:0] creq_wsel; wire [`WORD_WIDTH-1:0] creq_data; wire [CORE_TAG_WIDTH-1:0] creq_tag; + wire [`REQS_BITS-1:0] creq_tid; wire creq_push = core_req_valid && core_req_ready; assign core_req_ready = !creq_full; - if (BANK_ADDR_OFFSET == 0) begin - assign creq_line_addr = `LINE_SELECT_ADDR0(creq_addr); - end else begin - assign creq_line_addr = `LINE_SELECT_ADDRX(creq_addr); - end - - if (`WORD_SELECT_BITS != 0) begin - assign creq_wsel = creq_addr[`WORD_SELECT_BITS-1:0]; - end else begin - assign creq_wsel = 0; - end - VX_fifo_queue #( - .DATAW (CORE_TAG_WIDTH + `REQS_BITS + 1 + WORD_SIZE + `WORD_ADDR_WIDTH + `WORD_WIDTH), - .SIZE (CREQ_SIZE) + .DATAW (CORE_TAG_WIDTH + `REQS_BITS + 1 + `LINE_ADDR_WIDTH + `WORD_SELECT_BITS + WORD_SIZE + `WORD_WIDTH), + .SIZE (CREQ_SIZE), + .BUFFERED (1) ) core_req_queue ( .clk (clk), .reset (reset), .push (creq_push), .pop (creq_pop), - .data_in ({core_req_tag, core_req_tid, core_req_rw, core_req_byteen, core_req_addr, core_req_data}), - .data_out ({creq_tag, creq_tid, creq_rw, creq_byteen, creq_addr, creq_data}), + .data_in ({core_req_tag, core_req_tid, core_req_rw, core_req_addr, core_req_wsel, core_req_byteen, core_req_data}), + .data_out ({creq_tag, creq_tid, creq_rw, creq_addr, creq_wsel, creq_byteen, creq_data}), .empty (creq_empty), .full (creq_full), `UNUSED_PIN (alm_empty), @@ -141,16 +129,14 @@ module VX_bank #( wire mshr_push; wire mshr_pending; wire mshr_valid; - wire [`REQS_BITS-1:0] mshr_tid; wire [`LINE_ADDR_WIDTH-1:0] mshr_addr; - wire [`UP(`WORD_SELECT_BITS)-1:0] mshr_wsel; - wire [`WORD_WIDTH-1:0] mshr_data; - wire [CORE_TAG_WIDTH-1:0] mshr_tag; - wire mshr_rw; + wire [`WORD_SELECT_BITS-1:0] mshr_wsel; wire [WORD_SIZE-1:0] mshr_byteen; + wire [CORE_TAG_WIDTH-1:0] mshr_tag; + wire [`REQS_BITS-1:0] mshr_tid; wire [`LINE_ADDR_WIDTH-1:0] addr_st0, addr_st1; - wire [`UP(`WORD_SELECT_BITS)-1:0] wsel_st0, wsel_st1; + wire [`WORD_SELECT_BITS-1:0] wsel_st0, wsel_st1; wire mem_rw_st0, mem_rw_st1; wire [WORD_SIZE-1:0] byteen_st0, byteen_st1; wire [`CACHE_LINE_WIDTH-1:0] data_st0, data_st1; @@ -207,7 +193,7 @@ module VX_bank #( // we have a miss in mshr or entering it for the current address wire mshr_pending_sel = mshr_pending - || (is_miss_st1 && (creq_line_addr == addr_st1)); + || (is_miss_st1 && (creq_addr == addr_st1)); `ifdef DBG_CACHE_REQ_INFO if (CORE_TAG_WIDTH != CORE_TAG_ID_BITS && CORE_TAG_ID_BITS != 0) begin @@ -218,7 +204,7 @@ module VX_bank #( `endif VX_pipe_register #( - .DATAW (1 + 1 + 1 + `LINE_ADDR_WIDTH + `UP(`WORD_SELECT_BITS) + 1 + WORD_SIZE + `CACHE_LINE_WIDTH + `REQS_BITS + CORE_TAG_WIDTH + 1 + 1), + .DATAW (1 + 1 + 1 + `LINE_ADDR_WIDTH + `WORD_SELECT_BITS + 1 + WORD_SIZE + `CACHE_LINE_WIDTH + `REQS_BITS + CORE_TAG_WIDTH + 1 + 1), .RESETW (1) ) pipe_reg0 ( .clk (clk), @@ -228,11 +214,11 @@ module VX_bank #( mshr_pop || drsq_pop || creq_pop, mshr_pop_unqual, drsq_pop_unqual, - mshr_pop_unqual ? mshr_addr : (dram_rsp_valid ? dram_rsp_addr : creq_line_addr), + mshr_pop_unqual ? mshr_addr : (dram_rsp_valid ? dram_rsp_addr : creq_addr), mshr_pop_unqual ? mshr_wsel : creq_wsel, - mshr_pop_unqual ? mshr_rw : creq_rw, + mshr_pop_unqual ? 1'b0 : creq_rw, mshr_pop_unqual ? mshr_byteen : creq_byteen, - mshr_pop_unqual ? {`WORDS_PER_LINE{mshr_data}} : (dram_rsp_valid ? dram_rsp_data : {`WORDS_PER_LINE{creq_data}}), + dram_rsp_valid ? dram_rsp_data : {`WORDS_PER_LINE{creq_data}}, mshr_pop_unqual ? mshr_tid : creq_tid, mshr_pop_unqual ? mshr_tag : creq_tag, mshr_pending_sel, @@ -292,7 +278,7 @@ module VX_bank #( assign incoming_fill_st0 = dram_rsp_valid && (addr_st0 == dram_rsp_addr); VX_pipe_register #( - .DATAW (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + `LINE_ADDR_WIDTH + `UP(`WORD_SELECT_BITS) + `CACHE_LINE_WIDTH + 1 + WORD_SIZE + `REQS_BITS + CORE_TAG_WIDTH), + .DATAW (1 + 1 + 1 + 1 + 1 + 1 + 1 + 1 + `LINE_ADDR_WIDTH + `WORD_SELECT_BITS + `CACHE_LINE_WIDTH + 1 + WORD_SIZE + `REQS_BITS + CORE_TAG_WIDTH), .RESETW (1) ) pipe_reg1 ( .clk (clk), @@ -367,7 +353,7 @@ module VX_bank #( wire mshr_init_ready_state = !miss_st1 || incoming_fill_qual_st1; // use dram rsp or core req address to lookup the mshr - wire [`LINE_ADDR_WIDTH-1:0] lookup_addr = dram_rsp_valid ? dram_rsp_addr : creq_line_addr; + wire [`LINE_ADDR_WIDTH-1:0] lookup_addr = dram_rsp_valid ? dram_rsp_addr : creq_addr; VX_miss_resrv #( .BANK_ID (BANK_ID), @@ -394,7 +380,7 @@ module VX_bank #( // enqueue .enqueue (mshr_push), .enqueue_addr (addr_st1), - .enqueue_data ({data_st1[`WORD_WIDTH-1:0], req_tid_st1, tag_st1, mem_rw_st1, byteen_st1, wsel_st1}), + .enqueue_data ({wsel_st1, byteen_st1, tag_st1, req_tid_st1}), .enqueue_is_mshr (is_mshr_st1), .enqueue_as_ready (mshr_init_ready_state), `UNUSED_PIN (enqueue_almfull), @@ -409,7 +395,7 @@ module VX_bank #( .schedule (mshr_pop), .schedule_valid (mshr_valid), .schedule_addr (mshr_addr), - .schedule_data ({mshr_data, mshr_tid, mshr_tag, mshr_rw, mshr_byteen, mshr_wsel}), + .schedule_data ({mshr_wsel, mshr_byteen, mshr_tag, mshr_tid}), // dequeue .dequeue (mshr_dequeue) @@ -417,20 +403,22 @@ module VX_bank #( // Enqueue core response + wire [`WORD_WIDTH-1:0] crsq_data; + wire [CORE_TAG_WIDTH-1:0] crsq_tag; + wire [`REQS_BITS-1:0] crsq_tid; wire crsq_empty; assign crsq_push = valid_st1 && crsq_push_st1; - assign crsq_pop = core_rsp_valid && core_rsp_ready; - - wire [`REQS_BITS-1:0] crsq_tid_st1 = req_tid_st1; - wire [CORE_TAG_WIDTH-1:0] crsq_tag_st1 = CORE_TAG_WIDTH'(tag_st1); - wire [`WORD_WIDTH-1:0] crsq_data_st1; - - if (`WORD_SELECT_BITS != 0) begin - assign crsq_data_st1 = readdata_st1[wsel_st1 * `WORD_WIDTH +: `WORD_WIDTH]; + assign crsq_pop = core_rsp_valid && core_rsp_ready; + + if (`WORD_SELECT_BITS != 0) begin + assign crsq_data = readdata_st1[wsel_st1 * `WORD_WIDTH +: `WORD_WIDTH]; end else begin - assign crsq_data_st1 = readdata_st1; + assign crsq_data = readdata_st1; end + + assign crsq_tag = tag_st1; + assign crsq_tid = req_tid_st1; VX_fifo_queue #( .DATAW (`REQS_BITS + CORE_TAG_WIDTH + `WORD_WIDTH), @@ -442,8 +430,8 @@ module VX_bank #( .reset (reset), .push (crsq_push), .pop (crsq_pop), - .data_in ({crsq_tid_st1, crsq_tag_st1, crsq_data_st1}), - .data_out ({core_rsp_tid, core_rsp_tag, core_rsp_data}), + .data_in ({crsq_data, crsq_tag, crsq_tid}), + .data_out ({core_rsp_data, core_rsp_tag, core_rsp_tid}), .empty (crsq_empty), .alm_full (crsq_alm_full), `UNUSED_PIN (full), @@ -455,18 +443,16 @@ module VX_bank #( // Enqueue DRAM request - wire dreq_empty; + wire [CACHE_LINE_SIZE-1:0] dreq_byteen, dreq_byteen_unqual; + wire [`LINE_ADDR_WIDTH-1:0] dreq_addr; + wire [`CACHE_LINE_WIDTH-1:0] dreq_data; + wire dreq_empty, writeback; assign dreq_push = valid_st1 && dreq_push_st1; assign dreq_pop = dram_req_valid && dram_req_ready; - wire writeback = WRITE_ENABLE && do_writeback_st1; - - wire [`LINE_ADDR_WIDTH-1:0] dreq_addr = addr_st1; - - wire [`CACHE_LINE_WIDTH-1:0] dreq_data; - wire [CACHE_LINE_SIZE-1:0] dreq_byteen, dreq_byteen_unqual; + assign writeback = WRITE_ENABLE && do_writeback_st1; if (`WORD_SELECT_BITS != 0) begin for (genvar i = 0; i < `WORDS_PER_LINE; i++) begin @@ -475,9 +461,10 @@ module VX_bank #( end else begin assign dreq_byteen_unqual = byteen_st1; end - assign dreq_data = data_st1; assign dreq_byteen = writeback ? dreq_byteen_unqual : {CACHE_LINE_SIZE{1'b1}}; + assign dreq_addr = addr_st1; + assign dreq_data = data_st1; VX_fifo_queue #( .DATAW (1 + CACHE_LINE_SIZE + `LINE_ADDR_WIDTH + `CACHE_LINE_WIDTH), @@ -488,7 +475,7 @@ module VX_bank #( .reset (reset), .push (dreq_push), .pop (dreq_pop), - .data_in ({writeback, dreq_byteen, dreq_addr, dreq_data}), + .data_in ({writeback, dreq_byteen, dreq_addr, dreq_data}), .data_out ({dram_req_rw, dram_req_byteen, dram_req_addr, dram_req_data}), .empty (dreq_empty), .alm_full (dreq_alm_full), @@ -535,10 +522,7 @@ module VX_bank #( $display("%t: cache%0d:%0d fill-rsp: addr=%0h, data=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(dram_rsp_addr, BANK_ID), dram_rsp_data); end if (mshr_pop) begin - if (mshr_rw) - $display("%t: cache%0d:%0d mshr-wr-req: addr=%0h, tag=%0h, tid=%0d, byteen=%b, data=%0h, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st0, BANK_ID), mshr_tag, mshr_tid, mshr_byteen, mshr_data, debug_wid_sel, debug_pc_sel); - else - $display("%t: cache%0d:%0d mshr-rd-req: addr=%0h, tag=%0h, tid=%0d, byteen=%b, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st0, BANK_ID), mshr_tag, mshr_tid, mshr_byteen, debug_wid_sel, debug_pc_sel); + $display("%t: cache%0d:%0d mshr-rd-req: addr=%0h, tag=%0h, tid=%0d, byteen=%b, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st0, BANK_ID), mshr_tag, mshr_tid, mshr_byteen, debug_wid_sel, debug_pc_sel); end if (creq_pop) begin if (creq_rw) @@ -547,7 +531,7 @@ module VX_bank #( $display("%t: cache%0d:%0d core-rd-req: addr=%0h, tag=%0h, tid=%0d, byteen=%b, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st0, BANK_ID), creq_tag, creq_tid, creq_byteen, debug_wid_sel, debug_pc_sel); end if (crsq_push) begin - $display("%t: cache%0d:%0d core-rsp: addr=%0h, tag=%0h, tid=%0d, data=%0h, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st1, BANK_ID), crsq_tag_st1, crsq_tid_st1, crsq_data_st1, debug_wid_st1, debug_pc_st1); + $display("%t: cache%0d:%0d core-rsp: addr=%0h, tag=%0h, tid=%0d, data=%0h, wid=%0d, PC=%0h", $time, CACHE_ID, BANK_ID, `LINE_TO_BYTE_ADDR(addr_st1, BANK_ID), crsq_tag, crsq_tid, crsq_data, debug_wid_st1, debug_pc_st1); end if (dreq_push) begin if (do_writeback_st1) diff --git a/hw/rtl/cache/VX_cache.v b/hw/rtl/cache/VX_cache.v index bab3c83d..adbb6568 100644 --- a/hw/rtl/cache/VX_cache.v +++ b/hw/rtl/cache/VX_cache.v @@ -3,16 +3,17 @@ module VX_cache #( parameter CACHE_ID = 0, + // Number of Word requests per cycle + parameter NUM_REQS = 4, + // Size of cache in bytes parameter CACHE_SIZE = 16384, // Size of line inside a bank in bytes parameter CACHE_LINE_SIZE = 64, // Number of banks - parameter NUM_BANKS = 4, + parameter NUM_BANKS = NUM_REQS, // Size of a word in bytes parameter WORD_SIZE = 4, - // Number of Word requests per cycle - parameter NUM_REQS = NUM_BANKS, // Core Request Queue Size parameter CREQ_SIZE = 4, @@ -51,8 +52,8 @@ module VX_cache #( // Core request input wire [NUM_REQS-1:0] core_req_valid, input wire [NUM_REQS-1:0] core_req_rw, - input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_ADDR_WIDTH-1:0] core_req_addr, + input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_WIDTH-1:0] core_req_data, input wire [NUM_REQS-1:0][CORE_TAG_WIDTH-1:0] core_req_tag, output wire [NUM_REQS-1:0] core_req_ready, @@ -87,18 +88,19 @@ module VX_cache #( `STATIC_ASSERT(NUM_BANKS <= NUM_REQS, ("invalid value")) wire [NUM_BANKS-1:0] per_bank_core_req_valid; - wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid; wire [NUM_BANKS-1:0] per_bank_core_req_rw; + wire [NUM_BANKS-1:0][`LINE_ADDR_WIDTH-1:0] per_bank_core_req_addr; + wire [NUM_BANKS-1:0][`WORD_SELECT_BITS-1:0] per_bank_core_req_wsel; wire [NUM_BANKS-1:0][WORD_SIZE-1:0] per_bank_core_req_byteen; - wire [NUM_BANKS-1:0][`WORD_ADDR_WIDTH-1:0] per_bank_core_req_addr; - wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag; wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_req_data; + wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag; + wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid; wire [NUM_BANKS-1:0] per_bank_core_req_ready; wire [NUM_BANKS-1:0] per_bank_core_rsp_valid; - wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_rsp_tid; wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_rsp_data; wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_rsp_tag; + wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_rsp_tid; wire [NUM_BANKS-1:0] per_bank_core_rsp_ready; wire [NUM_BANKS-1:0] per_bank_dram_req_valid; @@ -131,8 +133,9 @@ module VX_cache #( assign dram_rsp_ready = !drsq_full; VX_fifo_queue #( - .DATAW (DRAM_TAG_WIDTH + `CACHE_LINE_WIDTH), - .SIZE (DRSQ_SIZE) + .DATAW (DRAM_TAG_WIDTH + `CACHE_LINE_WIDTH), + .SIZE (DRSQ_SIZE), + .BUFFERED (1) ) dram_rsp_queue ( .clk (clk), .reset (reset), @@ -184,23 +187,22 @@ module VX_cache #( .reset (reset), `ifdef PERF_ENABLE .bank_stalls(perf_cache_if.bank_stalls), - `else - `UNUSED_PIN (bank_stalls), `endif .core_req_valid (core_req_valid), .core_req_rw (core_req_rw), - .core_req_byteen(core_req_byteen), .core_req_addr (core_req_addr), + .core_req_byteen(core_req_byteen), .core_req_data (core_req_data), .core_req_tag (core_req_tag), .core_req_ready (core_req_ready), .per_bank_core_req_valid (per_bank_core_req_valid), - .per_bank_core_req_tid (per_bank_core_req_tid), .per_bank_core_req_rw (per_bank_core_req_rw), - .per_bank_core_req_byteen(per_bank_core_req_byteen), .per_bank_core_req_addr (per_bank_core_req_addr), - .per_bank_core_req_tag (per_bank_core_req_tag), + .per_bank_core_req_wsel (per_bank_core_req_wsel), + .per_bank_core_req_byteen(per_bank_core_req_byteen), .per_bank_core_req_data (per_bank_core_req_data), + .per_bank_core_req_tag (per_bank_core_req_tag), + .per_bank_core_req_tid (per_bank_core_req_tid), .per_bank_core_req_ready (per_bank_core_req_ready) ); @@ -208,12 +210,13 @@ module VX_cache #( for (genvar i = 0; i < NUM_BANKS; i++) begin wire curr_bank_core_req_valid; - wire [`REQS_BITS-1:0] curr_bank_core_req_tid; wire curr_bank_core_req_rw; + wire [`LINE_ADDR_WIDTH-1:0] curr_bank_core_req_addr; + wire [`WORD_SELECT_BITS-1:0] curr_bank_core_req_wsel; wire [WORD_SIZE-1:0] curr_bank_core_req_byteen; - wire [`WORD_ADDR_WIDTH-1:0] curr_bank_core_req_addr; - wire [CORE_TAG_WIDTH-1:0] curr_bank_core_req_tag; wire [`WORD_WIDTH-1:0] curr_bank_core_req_data; + wire [CORE_TAG_WIDTH-1:0] curr_bank_core_req_tag; + wire [`REQS_BITS-1:0] curr_bank_core_req_tid; wire curr_bank_core_req_ready; wire curr_bank_core_rsp_valid; @@ -237,12 +240,13 @@ module VX_cache #( // Core Req assign curr_bank_core_req_valid = per_bank_core_req_valid[i]; - assign curr_bank_core_req_tid = per_bank_core_req_tid[i]; assign curr_bank_core_req_addr = per_bank_core_req_addr[i]; assign curr_bank_core_req_rw = per_bank_core_req_rw[i]; + assign curr_bank_core_req_wsel = per_bank_core_req_wsel[i]; assign curr_bank_core_req_byteen = per_bank_core_req_byteen[i]; assign curr_bank_core_req_data = per_bank_core_req_data[i]; assign curr_bank_core_req_tag = per_bank_core_req_tag[i]; + assign curr_bank_core_req_tid = per_bank_core_req_tid[i]; assign per_bank_core_req_ready[i] = curr_bank_core_req_ready; // Core WB @@ -308,12 +312,13 @@ module VX_cache #( // Core request .core_req_valid (curr_bank_core_req_valid), - .core_req_tid (curr_bank_core_req_tid), .core_req_rw (curr_bank_core_req_rw), .core_req_byteen (curr_bank_core_req_byteen), .core_req_addr (curr_bank_core_req_addr), + .core_req_wsel (curr_bank_core_req_wsel), .core_req_data (curr_bank_core_req_data), .core_req_tag (curr_bank_core_req_tag), + .core_req_tid (curr_bank_core_req_tid), .core_req_ready (curr_bank_core_req_ready), // Core response @@ -350,9 +355,9 @@ module VX_cache #( .clk (clk), .reset (reset), .per_bank_core_rsp_valid (per_bank_core_rsp_valid), + .per_bank_core_rsp_data (per_bank_core_rsp_data), .per_bank_core_rsp_tag (per_bank_core_rsp_tag), .per_bank_core_rsp_tid (per_bank_core_rsp_tid), - .per_bank_core_rsp_data (per_bank_core_rsp_data), .per_bank_core_rsp_ready (per_bank_core_rsp_ready), .core_rsp_valid (core_rsp_valid), .core_rsp_tag (core_rsp_tag), diff --git a/hw/rtl/cache/VX_cache_config.vh b/hw/rtl/cache/VX_cache_config.vh index ea637a4d..cd3fdac6 100644 --- a/hw/rtl/cache/VX_cache_config.vh +++ b/hw/rtl/cache/VX_cache_config.vh @@ -9,11 +9,11 @@ `define REQS_BITS `LOG2UP(NUM_REQS) -// tag rw byteen tid -`define REQ_INST_META_WIDTH (CORE_TAG_WIDTH + 1 + WORD_SIZE + `REQS_BITS) +// tag byteen tid +`define REQ_INST_META_WIDTH (CORE_TAG_WIDTH + WORD_SIZE + `REQS_BITS) -// data metadata word_sel -`define MSHR_DATA_WIDTH (`WORD_WIDTH + `REQ_INST_META_WIDTH + `UP(`WORD_SELECT_BITS)) +// metadata word_sel +`define MSHR_DATA_WIDTH (`REQ_INST_META_WIDTH + `WORD_SELECT_BITS) `define WORD_WIDTH (8 * WORD_SIZE) @@ -23,7 +23,6 @@ `define LINES_PER_BANK (`BANK_SIZE / CACHE_LINE_SIZE) `define WORDS_PER_LINE (CACHE_LINE_SIZE / WORD_SIZE) -`define WORD_SELECT_BITS `CLOG2(`WORDS_PER_LINE) `define WORD_ADDR_WIDTH (32-`CLOG2(WORD_SIZE)) `define DRAM_ADDR_WIDTH (32-`CLOG2(CACHE_LINE_SIZE)) `define LINE_ADDR_WIDTH (`DRAM_ADDR_WIDTH-`BANK_SELECT_BITS) diff --git a/hw/rtl/cache/VX_cache_core_req_bank_sel.v b/hw/rtl/cache/VX_cache_core_req_bank_sel.v index d9dc24cd..fdeb99d3 100644 --- a/hw/rtl/cache/VX_cache_core_req_bank_sel.v +++ b/hw/rtl/cache/VX_cache_core_req_bank_sel.v @@ -6,75 +6,98 @@ module VX_cache_core_req_bank_sel #( // Size of a word in bytes parameter WORD_SIZE = 4, // Number of banks - parameter NUM_BANKS = 4, + parameter NUM_BANKS = 4, // Number of Word requests per cycle parameter NUM_REQS = 4, // core request tag size parameter CORE_TAG_WIDTH = 3, // bank offset from beginning of index range - parameter BANK_ADDR_OFFSET = 0, - // buffer the output - parameter BUFFERED = 0 + parameter BANK_ADDR_OFFSET = 0 ) ( input wire clk, input wire reset, +`ifdef PERF_ENABLE output wire [63:0] bank_stalls, +`endif input wire [NUM_REQS-1:0] core_req_valid, input wire [NUM_REQS-1:0] core_req_rw, - input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_ADDR_WIDTH-1:0] core_req_addr, + input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_WIDTH-1:0] core_req_data, input wire [NUM_REQS-1:0][CORE_TAG_WIDTH-1:0] core_req_tag, output wire [NUM_REQS-1:0] core_req_ready, output wire [NUM_BANKS-1:0] per_bank_core_req_valid, - output wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid, output wire [NUM_BANKS-1:0] per_bank_core_req_rw, + output wire [NUM_BANKS-1:0][`LINE_ADDR_WIDTH-1:0] per_bank_core_req_addr, + output wire [NUM_BANKS-1:0][`UP(`WORD_SELECT_BITS)-1:0] per_bank_core_req_wsel, output wire [NUM_BANKS-1:0][WORD_SIZE-1:0] per_bank_core_req_byteen, - output wire [NUM_BANKS-1:0][`WORD_ADDR_WIDTH-1:0] per_bank_core_req_addr, - output wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag, output wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_req_data, + output wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag, + output wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid, input wire [NUM_BANKS-1:0] per_bank_core_req_ready ); - if (NUM_BANKS > 1) begin + `STATIC_ASSERT (NUM_REQS >= NUM_BANKS, ("invalid number of banks")); + + `UNUSED_VAR (clk) + `UNUSED_VAR (reset) + + wire [NUM_REQS-1:0][`LINE_ADDR_WIDTH-1:0] core_req_line_addr; + wire [NUM_REQS-1:0][`UP(`WORD_SELECT_BITS)-1:0] core_req_wsel; + wire [NUM_REQS-1:0][`UP(`BANK_SELECT_BITS)-1:0] core_req_bid; + + for (genvar i = 0; i < NUM_REQS; i++) begin + if (BANK_ADDR_OFFSET == 0) begin + assign core_req_line_addr[i] = `LINE_SELECT_ADDR0(core_req_addr[i]); + end else begin + assign core_req_line_addr[i] = `LINE_SELECT_ADDRX(core_req_addr[i]); + end + assign core_req_wsel[i] = core_req_addr[i][`UP(`WORD_SELECT_BITS)-1:0]; + end + + for (genvar i = 0; i < NUM_REQS; ++i) begin + if (NUM_BANKS > 1) begin + assign core_req_bid[i] = `BANK_SELECT_ADDR(core_req_addr[i]); + end else begin + assign core_req_bid[i] = 0; + end + end + + if (NUM_REQS > 1) begin reg [NUM_BANKS-1:0] per_bank_core_req_valid_r; - reg [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid_r; reg [NUM_BANKS-1:0] per_bank_core_req_rw_r; + reg [NUM_BANKS-1:0][`LINE_ADDR_WIDTH-1:0] per_bank_core_req_addr_r; + reg [NUM_BANKS-1:0][`UP(`WORD_SELECT_BITS)-1:0] per_bank_core_req_wsel_r; reg [NUM_BANKS-1:0][WORD_SIZE-1:0] per_bank_core_req_byteen_r; - reg [NUM_BANKS-1:0][`WORD_ADDR_WIDTH-1:0] per_bank_core_req_addr_r; - reg [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag_r; reg [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_req_data_r; - reg [NUM_BANKS-1:0] per_bank_core_req_stall; + reg [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag_r; + reg [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid_r; - reg [NUM_REQS-1:0] core_req_ready_r; - reg [NUM_REQS-1:0] core_req_sel_r; - wire [NUM_REQS-1:0][`BANK_SELECT_BITS-1:0] core_req_bid; - - for (genvar i = 0; i < NUM_REQS; ++i) begin - assign core_req_bid[i] = `BANK_SELECT_ADDR(core_req_addr[i]); - end + reg [NUM_REQS-1:0] core_req_ready_r; always @(*) begin per_bank_core_req_valid_r = 0; - per_bank_core_req_tid_r = 'x; per_bank_core_req_rw_r = 'x; - per_bank_core_req_byteen_r= 'x; per_bank_core_req_addr_r = 'x; - per_bank_core_req_tag_r = 'x; + per_bank_core_req_wsel_r = 'x; + per_bank_core_req_byteen_r= 'x; per_bank_core_req_data_r = 'x; + per_bank_core_req_tag_r = 'x; + per_bank_core_req_tid_r = 'x; - for (integer i = NUM_REQS-1; i >= 0; --i) begin + for (integer i = NUM_REQS-1; i >= 0; --i) begin if (core_req_valid[i]) begin per_bank_core_req_valid_r[core_req_bid[i]] = 1; - per_bank_core_req_tid_r[core_req_bid[i]] = `REQS_BITS'(i); per_bank_core_req_rw_r[core_req_bid[i]] = core_req_rw[i]; + per_bank_core_req_addr_r[core_req_bid[i]] = core_req_line_addr[i]; + per_bank_core_req_wsel_r[core_req_bid[i]] = core_req_wsel[i]; per_bank_core_req_byteen_r[core_req_bid[i]]= core_req_byteen[i]; - per_bank_core_req_addr_r[core_req_bid[i]] = core_req_addr[i]; - per_bank_core_req_tag_r[core_req_bid[i]] = core_req_tag[i]; per_bank_core_req_data_r[core_req_bid[i]] = core_req_data[i]; + per_bank_core_req_tag_r[core_req_bid[i]] = core_req_tag[i]; + per_bank_core_req_tid_r[core_req_bid[i]] = `REQS_BITS'(i); end end end @@ -84,65 +107,63 @@ module VX_cache_core_req_bank_sel #( for (integer j = 0; j < NUM_BANKS; ++j) begin for (integer i = 0; i < NUM_REQS; ++i) begin if (core_req_valid[i] && (core_req_bid[i] == `BANK_SELECT_BITS'(j))) begin - core_req_ready_r[i] = ~per_bank_core_req_stall[j]; + core_req_ready_r[i] = per_bank_core_req_ready[j]; break; end end end end - always @(*) begin - core_req_sel_r = 0; - for (integer j = 0; j < NUM_BANKS; ++j) begin - for (integer i = 0; i < NUM_REQS; ++i) begin - if (core_req_valid[i] && (core_req_bid[i] == `BANK_SELECT_BITS'(j))) begin - core_req_sel_r[i] = ~per_bank_core_req_stall[j]; - end - end - end - end - - reg [63:0] bank_stalls_r; - always @(posedge clk) begin - if (reset) begin - bank_stalls_r <= 0; - end else begin - bank_stalls_r <= bank_stalls_r + 64'($countones(core_req_sel_r & ~core_req_ready_r)); - end - end - - for (genvar i = 0; i < NUM_BANKS; ++i) begin - assign per_bank_core_req_stall[i] = ~per_bank_core_req_ready[i] && (!BUFFERED || per_bank_core_req_valid[i]); - VX_pipe_register #( - .DATAW (1 + `REQS_BITS + 1 + WORD_SIZE + `WORD_ADDR_WIDTH + CORE_TAG_WIDTH + `WORD_WIDTH), - .RESETW (1), - .DEPTH (BUFFERED) - ) pipe_reg ( - .clk (clk), - .reset (reset), - .enable (~per_bank_core_req_stall[i]), - .data_in ({per_bank_core_req_valid_r[i], per_bank_core_req_tid_r[i], per_bank_core_req_rw_r[i], per_bank_core_req_byteen_r[i], per_bank_core_req_addr_r[i], per_bank_core_req_tag_r[i], per_bank_core_req_data_r[i]}), - .data_out ({per_bank_core_req_valid[i], per_bank_core_req_tid[i], per_bank_core_req_rw[i], per_bank_core_req_byteen[i], per_bank_core_req_addr[i], per_bank_core_req_tag[i], per_bank_core_req_data[i]}) - ); - end - + assign per_bank_core_req_valid = per_bank_core_req_valid_r; + assign per_bank_core_req_rw = per_bank_core_req_rw_r; + assign per_bank_core_req_addr = per_bank_core_req_addr_r; + assign per_bank_core_req_wsel = per_bank_core_req_wsel_r; + assign per_bank_core_req_byteen = per_bank_core_req_byteen_r; + assign per_bank_core_req_data = per_bank_core_req_data_r; + assign per_bank_core_req_tag = per_bank_core_req_tag_r; + assign per_bank_core_req_tid = per_bank_core_req_tid_r; assign core_req_ready = core_req_ready_r; - assign bank_stalls = bank_stalls_r; end else begin - `UNUSED_VAR (clk) - `UNUSED_VAR (reset) - assign bank_stalls = 0; - assign per_bank_core_req_valid = core_req_valid; - assign per_bank_core_req_tid[0] = 0; - assign per_bank_core_req_rw[0] = core_req_rw; - assign per_bank_core_req_byteen[0] = core_req_byteen; - assign per_bank_core_req_addr[0] = core_req_addr; - assign per_bank_core_req_tag[0] = core_req_tag; - assign per_bank_core_req_data[0] = core_req_data; - assign core_req_ready[0] = per_bank_core_req_ready; + `UNUSED_VAR (core_req_bid) - end + assign per_bank_core_req_valid = core_req_valid[0]; + assign per_bank_core_req_rw[0] = core_req_rw[0]; + assign per_bank_core_req_addr[0] = core_req_line_addr[0]; + assign per_bank_core_req_wsel[0] = core_req_wsel[0]; + assign per_bank_core_req_byteen[0] = core_req_byteen[0]; + assign per_bank_core_req_data[0] = core_req_data[0]; + assign per_bank_core_req_tag[0] = core_req_tag[0]; + assign per_bank_core_req_tid[0] = 0; + assign core_req_ready[0] = per_bank_core_req_ready; + end + +`ifdef PERF_ENABLE + reg [NUM_REQS-1:0] core_req_sel_r; + + always @(*) begin + core_req_sel_r = 0; + for (integer j = 0; j < NUM_BANKS; ++j) begin + for (integer i = 0; i < NUM_REQS; ++i) begin + if (core_req_valid[i] && (core_req_bid[i] == `UP(`BANK_SELECT_BITS)'(j))) begin + core_req_sel_r[i] = per_bank_core_req_ready[j]; + end + end + end + end + + reg [63:0] bank_stalls_r; + + always @(posedge clk) begin + if (reset) begin + bank_stalls_r <= 0; + end else begin + bank_stalls_r <= bank_stalls_r + 64'($countones(core_req_sel_r & ~core_req_ready)); + end + end + + assign bank_stalls = bank_stalls_r; +`endif endmodule \ No newline at end of file diff --git a/hw/rtl/cache/VX_cache_core_rsp_merge.v b/hw/rtl/cache/VX_cache_core_rsp_merge.v index d50b0e45..f44e007e 100644 --- a/hw/rtl/cache/VX_cache_core_rsp_merge.v +++ b/hw/rtl/cache/VX_cache_core_rsp_merge.v @@ -16,10 +16,10 @@ module VX_cache_core_rsp_merge #( input wire reset, // Per Bank WB - input wire [NUM_BANKS-1:0] per_bank_core_rsp_valid, + input wire [NUM_BANKS-1:0] per_bank_core_rsp_valid, + input wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_rsp_data, input wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_rsp_tag, input wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_rsp_tid, - input wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_rsp_data, output wire [NUM_BANKS-1:0] per_bank_core_rsp_ready, // Core Response diff --git a/hw/rtl/cache/VX_data_access.v b/hw/rtl/cache/VX_data_access.v index e5f5f7a5..432ca72a 100644 --- a/hw/rtl/cache/VX_data_access.v +++ b/hw/rtl/cache/VX_data_access.v @@ -39,7 +39,7 @@ module VX_data_access #( // writing input wire writeen, input wire is_fill, - input wire [`UP(`WORD_SELECT_BITS)-1:0] wsel, + input wire [`WORD_SELECT_BITS-1:0] wsel, input wire [WORD_SIZE-1:0] byteen, input wire [`CACHE_LINE_WIDTH-1:0] wrdata ); diff --git a/hw/rtl/cache/VX_miss_resrv.v b/hw/rtl/cache/VX_miss_resrv.v index ebdecf5c..4f142d08 100644 --- a/hw/rtl/cache/VX_miss_resrv.v +++ b/hw/rtl/cache/VX_miss_resrv.v @@ -4,14 +4,15 @@ module VX_miss_resrv #( parameter CACHE_ID = 0, parameter BANK_ID = 0, + // Number of Word requests per cycle + parameter NUM_REQS = 1, + // Size of line inside a bank in bytes parameter CACHE_LINE_SIZE = 1, // Number of banks - parameter NUM_BANKS = 1, + parameter NUM_BANKS = 1, // Size of a word in bytes parameter WORD_SIZE = 1, - // Number of Word requests per cycle - parameter NUM_REQS = 1, // Miss Reserv Queue Knob parameter MSHR_SIZE = 1, parameter ALM_FULL = (MSHR_SIZE-1), diff --git a/hw/rtl/cache/VX_shared_mem.v b/hw/rtl/cache/VX_shared_mem.v index b79350f5..3cb5843f 100644 --- a/hw/rtl/cache/VX_shared_mem.v +++ b/hw/rtl/cache/VX_shared_mem.v @@ -38,8 +38,8 @@ module VX_shared_mem #( // Core request input wire [NUM_REQS-1:0] core_req_valid, input wire [NUM_REQS-1:0] core_req_rw, - input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_ADDR_WIDTH-1:0] core_req_addr, + input wire [NUM_REQS-1:0][WORD_SIZE-1:0] core_req_byteen, input wire [NUM_REQS-1:0][`WORD_WIDTH-1:0] core_req_data, input wire [NUM_REQS-1:0][CORE_TAG_WIDTH-1:0] core_req_tag, output wire [NUM_REQS-1:0] core_req_ready, @@ -63,12 +63,12 @@ module VX_shared_mem #( `endif wire [NUM_BANKS-1:0] per_bank_core_req_valid_unqual; - wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid_unqual; wire [NUM_BANKS-1:0] per_bank_core_req_rw_unqual; + wire [NUM_BANKS-1:0][`LINE_ADDR_WIDTH-1:0] per_bank_core_req_addr_unqual; wire [NUM_BANKS-1:0][WORD_SIZE-1:0] per_bank_core_req_byteen_unqual; - wire [NUM_BANKS-1:0][`WORD_ADDR_WIDTH-1:0] per_bank_core_req_addr_unqual; wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_req_data_unqual; wire [NUM_BANKS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag_unqual; + wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid_unqual; wire [NUM_BANKS-1:0] per_bank_core_req_ready_unqual; VX_cache_core_req_bank_sel #( @@ -77,28 +77,26 @@ module VX_shared_mem #( .WORD_SIZE (WORD_SIZE), .NUM_REQS (NUM_REQS), .CORE_TAG_WIDTH (CORE_TAG_WIDTH), - .BANK_ADDR_OFFSET(BANK_ADDR_OFFSET), - .BUFFERED (0) + .BANK_ADDR_OFFSET(BANK_ADDR_OFFSET) ) core_req_bank_sel ( .clk (clk), .reset (reset), `ifdef PERF_ENABLE .bank_stalls(perf_cache_if.bank_stalls), - `else - `UNUSED_PIN (bank_stalls), `endif .core_req_valid (core_req_valid), - .core_req_rw (core_req_rw), - .core_req_byteen(core_req_byteen), + .core_req_rw (core_req_rw), .core_req_addr (core_req_addr), + .core_req_byteen(core_req_byteen), .core_req_data (core_req_data), .core_req_tag (core_req_tag), .core_req_ready (core_req_ready), - .per_bank_core_req_valid (per_bank_core_req_valid_unqual), + .per_bank_core_req_valid (per_bank_core_req_valid_unqual), .per_bank_core_req_tid (per_bank_core_req_tid_unqual), .per_bank_core_req_rw (per_bank_core_req_rw_unqual), - .per_bank_core_req_byteen(per_bank_core_req_byteen_unqual), .per_bank_core_req_addr (per_bank_core_req_addr_unqual), + `UNUSED_PIN (per_bank_core_req_wsel), + .per_bank_core_req_byteen(per_bank_core_req_byteen_unqual), .per_bank_core_req_tag (per_bank_core_req_tag_unqual), .per_bank_core_req_data (per_bank_core_req_data_unqual), .per_bank_core_req_ready (per_bank_core_req_ready_unqual) @@ -108,12 +106,12 @@ module VX_shared_mem #( `UNUSED_VAR (per_bank_core_req_rw_unqual) wire [NUM_BANKS-1:0] per_bank_core_req_valid; - wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid; - wire [NUM_REQS-1:0] per_bank_core_req_rw; + wire [NUM_BANKS-1:0] per_bank_core_req_rw; + wire [NUM_BANKS-1:0][`LINE_SELECT_BITS-1:0] per_bank_core_req_addr; wire [NUM_BANKS-1:0][WORD_SIZE-1:0] per_bank_core_req_byteen; - wire [NUM_BANKS-1:0][`LINE_SELECT_BITS-1:0] per_bank_core_req_addr; wire [NUM_BANKS-1:0][`WORD_WIDTH-1:0] per_bank_core_req_data; wire [NUM_REQS-1:0][CORE_TAG_WIDTH-1:0] per_bank_core_req_tag; + wire [NUM_BANKS-1:0][`REQS_BITS-1:0] per_bank_core_req_tid; wire creq_push, creq_pop, creq_empty, creq_full; wire crsq_full; @@ -121,18 +119,16 @@ module VX_shared_mem #( assign creq_push = (| core_req_valid) && !creq_full; assign creq_pop = ~creq_empty && ~crsq_full; - assign per_bank_core_req_ready_unqual = {NUM_BANKS{~creq_full}}; + assign per_bank_core_req_ready_unqual = {NUM_BANKS{~creq_full}}; wire [NUM_REQS-1:0][`LINE_SELECT_BITS-1:0] per_bank_core_req_addr_qual; `UNUSED_VAR (per_bank_core_req_addr_unqual) - for (genvar i = 0; i < NUM_REQS; i++) begin - wire [`LINE_ADDR_WIDTH-1:0] tmp = `LINE_SELECT_ADDRX(per_bank_core_req_addr_unqual[i]); - assign per_bank_core_req_addr_qual[i] = tmp[`LINE_SELECT_BITS-1:0]; - `UNUSED_VAR (tmp) + for (genvar i = 0; i < NUM_REQS; i++) begin + assign per_bank_core_req_addr_qual[i] = per_bank_core_req_addr_unqual[i][`LINE_SELECT_BITS-1:0]; end VX_fifo_queue #( - .DATAW (NUM_BANKS * (1 + `REQS_BITS + 1 + WORD_SIZE + `LINE_SELECT_BITS + `WORD_WIDTH + CORE_TAG_WIDTH)), + .DATAW (NUM_BANKS * (1 + 1 + `LINE_SELECT_BITS + WORD_SIZE + `WORD_WIDTH + CORE_TAG_WIDTH + `REQS_BITS)), .SIZE (CREQ_SIZE), .BUFFERED (1) ) core_req_queue ( @@ -140,20 +136,20 @@ module VX_shared_mem #( .reset (reset), .push (creq_push), .pop (creq_pop), - .data_in ({per_bank_core_req_valid_unqual, - per_bank_core_req_tid_unqual, + .data_in ({per_bank_core_req_valid_unqual, per_bank_core_req_rw_unqual, - per_bank_core_req_byteen_unqual, per_bank_core_req_addr_qual, + per_bank_core_req_byteen_unqual, per_bank_core_req_data_unqual, - per_bank_core_req_tag_unqual}), - .data_out({per_bank_core_req_valid, - per_bank_core_req_tid, + per_bank_core_req_tag_unqual, + per_bank_core_req_tid_unqual}), + .data_out({per_bank_core_req_valid, per_bank_core_req_rw, - per_bank_core_req_byteen, per_bank_core_req_addr, + per_bank_core_req_byteen, per_bank_core_req_data, - per_bank_core_req_tag}), + per_bank_core_req_tag, + per_bank_core_req_tid}), .empty (creq_empty), .full (creq_full), `UNUSED_PIN (alm_empty), @@ -248,13 +244,41 @@ module VX_shared_mem #( `endif `ifdef PERF_ENABLE - assign perf_cache_if.reads = '0; - assign perf_cache_if.writes = '0; + // per cycle: core_reads, core_writes + reg [($clog2(NUM_REQS+1)-1):0] perf_core_reads_per_cycle, perf_core_writes_per_cycle; + reg [($clog2(NUM_REQS+1)-1):0] perf_crsp_stall_per_cycle; + + assign perf_core_reads_per_cycle = $countones(core_req_valid & core_req_ready & ~core_req_rw); + assign perf_core_writes_per_cycle = $countones(core_req_valid & core_req_ready & core_req_rw); + + if (CORE_TAG_ID_BITS != 0) begin + assign perf_crsp_stall_per_cycle = $countones(core_rsp_valid & {NUM_REQS{!core_rsp_ready}}); + end else begin + assign perf_crsp_stall_per_cycle = $countones(core_rsp_valid & ~core_rsp_ready); + end + + reg [63:0] perf_core_reads; + reg [63:0] perf_core_writes; + reg [63:0] perf_crsp_stalls; + + always @(posedge clk) begin + if (reset) begin + perf_core_reads <= 0; + perf_core_writes <= 0; + perf_crsp_stalls <= 0; + end else begin + perf_core_reads <= perf_core_reads + 64'(perf_core_reads_per_cycle); + perf_core_writes <= perf_core_writes + 64'(perf_core_writes_per_cycle); + perf_crsp_stalls <= perf_crsp_stalls + 64'(perf_crsp_stall_per_cycle); + end + end + + assign perf_cache_if.reads = perf_core_reads; + assign perf_cache_if.writes = perf_core_writes; assign perf_cache_if.read_misses = '0; assign perf_cache_if.write_misses = '0; - assign perf_cache_if.mshr_stalls = '0; assign perf_cache_if.pipe_stalls = '0; - assign perf_cache_if.crsp_stalls = '0; + assign perf_cache_if.crsp_stalls = perf_crsp_stalls; `endif endmodule diff --git a/hw/rtl/fp_cores/VX_fp_div.v b/hw/rtl/fp_cores/VX_fp_div.v index ce5330cd..20150aab 100644 --- a/hw/rtl/fp_cores/VX_fp_div.v +++ b/hw/rtl/fp_cores/VX_fp_div.v @@ -29,13 +29,6 @@ module VX_fp_div #( wire stall = ~ready_out && valid_out; wire enable = ~stall; - wire _reset; - VX_reset_relay reset_relay ( - .clk (clk), - .reset (reset), - .reset_out (_reset) - ); - for (genvar i = 0; i < LANES; i++) begin `ifdef VERILATOR reg [31:0] r; @@ -52,7 +45,7 @@ module VX_fp_div #( .RESETW (1) ) shift_req_dpi ( .clk (clk), - .reset (_reset), + .reset (reset), .enable (enable), .data_in (r), .data_out (result[i]) @@ -60,7 +53,7 @@ module VX_fp_div #( `else acl_fdiv fdiv ( .clk (clk), - .areset (_reset), + .areset (reset), .en (enable), .a (dataa[i]), .b (datab[i]), diff --git a/hw/rtl/fp_cores/VX_fp_sqrt.v b/hw/rtl/fp_cores/VX_fp_sqrt.v index 5a8a8c39..1b9df6a9 100644 --- a/hw/rtl/fp_cores/VX_fp_sqrt.v +++ b/hw/rtl/fp_cores/VX_fp_sqrt.v @@ -26,14 +26,7 @@ module VX_fp_sqrt #( output wire valid_out ); wire stall = ~ready_out && valid_out; - wire enable = ~stall; - - wire _reset; - VX_reset_relay reset_relay ( - .clk (clk), - .reset (reset), - .reset_out (_reset) - ); + wire enable = ~stall; for (genvar i = 0; i < LANES; i++) begin `ifdef VERILATOR @@ -51,7 +44,7 @@ module VX_fp_sqrt #( .RESETW (1) ) shift_req_dpi ( .clk (clk), - .reset (_reset), + .reset (reset), .enable (enable), .data_in (r), .data_out (result[i]) @@ -59,7 +52,7 @@ module VX_fp_sqrt #( `else acl_fsqrt fsqrt ( .clk (clk), - .areset (_reset), + .areset (reset), .en (enable), .a (dataa[i]), .q (result[i]) diff --git a/hw/rtl/fp_cores/VX_fpu_fpga.v b/hw/rtl/fp_cores/VX_fpu_fpga.v index 123d4750..b737392b 100644 --- a/hw/rtl/fp_cores/VX_fpu_fpga.v +++ b/hw/rtl/fp_cores/VX_fpu_fpga.v @@ -71,12 +71,21 @@ module VX_fpu_fpga #( endcase end + wire [NUM_FPC-1:0] fpu_reset; + VX_reset_relay #( + .NUM_NODES(NUM_FPC) + ) reset_relay ( + .clk (clk), + .reset (reset), + .reset_o (fpu_reset) + ); + VX_fp_fma #( .TAGW (TAGW), .LANES(`NUM_THREADS) ) fp_fma ( .clk (clk), - .reset (reset), + .reset (fpu_reset[FPU_FMA]), .valid_in (valid_in && (core_select == FPU_FMA)), .ready_in (per_core_ready_in[FPU_FMA]), .tag_in (tag_in), @@ -100,7 +109,7 @@ module VX_fpu_fpga #( .LANES(`NUM_THREADS) ) fp_div ( .clk (clk), - .reset (reset), + .reset (fpu_reset[FPU_DIV]), .valid_in (valid_in && (core_select == FPU_DIV)), .ready_in (per_core_ready_in[FPU_DIV]), .tag_in (tag_in), @@ -120,7 +129,7 @@ module VX_fpu_fpga #( .LANES(`NUM_THREADS) ) fp_sqrt ( .clk (clk), - .reset (reset), + .reset (fpu_reset[FPU_SQRT]), .valid_in (valid_in && (core_select == FPU_SQRT)), .ready_in (per_core_ready_in[FPU_SQRT]), .tag_in (tag_in), @@ -139,7 +148,7 @@ module VX_fpu_fpga #( .LANES(`NUM_THREADS) ) fp_cvt ( .clk (clk), - .reset (reset), + .reset (fpu_reset[FPU_CVT]), .valid_in (valid_in && (core_select == FPU_CVT)), .ready_in (per_core_ready_in[FPU_CVT]), .tag_in (tag_in), @@ -160,7 +169,7 @@ module VX_fpu_fpga #( .LANES(`NUM_THREADS) ) fp_ncomp ( .clk (clk), - .reset (reset), + .reset (fpu_reset[FPU_NCP]), .valid_in (valid_in && (core_select == FPU_NCP)), .ready_in (per_core_ready_in[FPU_NCP]), .tag_in (tag_in), diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid112_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid112_invTables_lutmem.hex new file mode 100644 index 00000000..fdcd40d6 --- /dev/null +++ b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid112_invTables_lutmem.hex @@ -0,0 +1,514 @@ +:020000040000FA +:0400000020000004D8 +:040001001FF00800E4 +:040002001FE01FE4F8 +:040003001FD047992A +:040004001FC07F0694 +:040005001FB0C6154D +:040006001FA11CAE6C +:040007001F9182BA09 +:040008001F81F82339 +:040009001F727CD214 +:04000A001F6310B1AF +:04000B001F53B3A824 +:04000C001F4465A286 +:04000D001F352689EC +:04000E001F25F6486C +:04000F001F16D4C81C +:040010001F07C1F411 +:040011001EF8BDB761 +:040012001EE9C7FC20 +:040013001EDAE0AE63 +:040014001ECC07B740 +:040015001EBD3D03CC +:040016001EAE807F1B +:040017001E9FD21442 +:040018001E9131B054 +:040019001E829F3E66 +:04001A001E741AA98D +:04001B001E65A3E0DB +:04001C001E573ACD64 +:04001D001E48DF5D3D +:04001E001E3A917E77 +:04001F001E2C511B27 +:040020001E1E1E2260 +:040021001E0FF88036 +:040022001E01E022B9 +:040023001DF3D4F500 +:040024001DE5D6E818 +:040025001DD7E5E717 +:040026001DCA01E10D +:040027001DBC2AC210 +:040028001DAE607B2E +:040029001DA0A2F77D +:04002A001D92F2270A +:04002B001D854DF8EA +:04002C001D77B6592D +:04002D001D6A2B38E5 +:04002E001D5CAC8425 +:04002F001D4F3A2DFA +:040030001D41D42179 +:040031001D347A50B0 +:040032001D272CA8B2 +:040033001D19EB198F +:040034001D0CB59357 +:040035001CFF8C061A +:040036001CF26E60EA +:040037001CE55C93D5 +:040038001CD8568DED +:040039001CCB5C3F41 +:04003A001CBE6D9AE1 +:04003B001CB18A8DDD +:04003C001CA4B30944 +:04003D001C97E6FF27 +:04003E001C8B265F92 +:04003F001C7E711A98 +:040040001C71C72048 +:040041001C652864AE +:040042001C5894D5DD +:040043001C4C0C65E0 +:040044001C3F8F06C8 +:040045001C331CA8A4 +:040046001C26B53D82 +:040047001C1A58B770 +:040048001C0E07077C +:040049001C01C020B6 +:04004A001BF583F22D +:04004B001BE95271EA +:04004C001BDD2B8EFF +:04004D001BD10F3A7A +:04004E001BC4FD6969 +:04004F001BB8F60DD7 +:040050001BACF919D3 +:040051001BA1067E6B +:040052001B951E2FAD +:040053001B89401FA6 +:040054001B7D6C4262 +:040055001B71A289F0 +:040056001B65E2E85C +:040057001B5A2D51B2 +:040058001B4E81B901 +:040059001B42E01254 +:04005A001B37484FB9 +:04005B001B2BBA643D +:04005C001B203644EB +:04005D001B14BBE4D1 +:04005E001B094B36F9 +:04005F001AFDE42E74 +:040060001AF286C149 +:040061001AE732E187 +:040062001ADBE88439 +:040063001AD0A79C6C +:040064001AC5701F2A +:040065001ABA420081 +:040066001AAF1D337D +:040067001AA401AE28 +:040068001A98EF648F +:040069001A8DE64ABC +:04006A001A82E655BB +:04006B001A77EF7998 +:04006C001A6D01AB5D +:04006D001A621CDF18 +:04006E001A57410BD1 +:04006F001A4C6E2495 +:040070001A41A41E6F +:040071001A36E2EF6A +:040072001A2C2A8C8E +:040073001A217AE9EB +:040074001A16D3FD88 +:040075001A0C35BD6F +:040076001A01A01EAD +:0400770019F713154D +:0400780019EC8E9958 +:0400790019E2129ED8 +:04007A0019D79F1BD8 +:04007B0019CD340661 +:04007C0019C2D15381 +:04007D0019B876F93F +:04007E0019AE24EEA5 +:04007F0019A3DB28BE +:040080001999999E93 +:04008100198F60442F +:0400820019852F129B +:04008300197B05FDE3 +:040084001970E4FC0F +:040085001966CC0626 +:04008600195CBB1036 +:040087001952B21147 +:040088001948B10161 +:04008900193EB7D590 +:04008A001934C684DB +:04008B00192ADD044D +:04008C001920FB4EEE +:04008D0019172157C7 +:04008E00190D4F16E3 +:04008F00190384834A +:0400900018F9C19406 +:0400910018F006401D +:0400920018E6527F9B +:0400930018DCA64887 +:0400940018D30191EB +:0400950018C96453CF +:0400960018BFCE843D +:0400970018B6401D3A +:0400980018ACB913D4 +:0400990018A339600F +:04009A001899C0FAF7 +:04009B0018904FD991 +:04009C001886E5F5E8 +:04009D00187D834502 +:04009E00187427C1EA +:04009F00186AD361A7 +:0400A0001861861C41 +:0400A10018583FECC0 +:0400A200184F00C62D +:0400A3001845C8A58F +:0400A400183C977FEE +:0400A50018336D4C53 +:0400A600182A4A05C5 +:0400A70018212DA34C +:0400A8001818181CF0 +:0400A900180F096AB9 +:0400AA0018060184AF +:0400AB0017FD0064D9 +:0400AC0017F406013E +:0400AD0017EB1254E7 +:0400AE0017E22555DB +:0400AF0017D93EFE21 +:0400B00017D05F45C1 +:0400B10017C78625C2 +:0400B20017BEB3962C +:0400B30017B5E79006 +:0400B40017AD220D55 +:0400B50017A4630425 +:0400B600179BAA707A +:0400B7001792F8485C +:0400B800178A4C85D2 +:0400B9001781A722E2 +:0400BA001779081694 +:0400BB0017706F5AF1 +:0400BC001767DCE8FE +:0400BD00175F50B9C0 +:0400BE001756CAC641 +:0400BF00174E4B0885 +:0400C0001745D17897 +:0400C100173D5E1079 +:0400C2001734F0C936 +:0400C300172C899CD1 +:0400C4001724288352 +:0400C500171BCD77C1 +:0400C6001713787222 +:0400C700170B296C7E +:0400C8001702E060DB +:0400C90016FA9D473F +:0400CA0016F2601BAF +:0400CB0016EA28D534 +:0400CC0016E1F76FD3 +:0400CD0016D9CBE392 +:0400CE0016D1A62A77 +:0400CF0016C9863F89 +:0400D00016C16C1BCE +:0400D10016B957B74E +:0400D20016B1490F0B +:0400D30016A9401B0F +:0400D40016A13CD560 +:0400D50016993F3900 +:0400D6001691473FF9 +:0400D700168954E151 +:0400D8001681681A0B +:0400D900167980E52F +:0400DA0016719F3AC2 +:0400DB001669C314CB +:0400DC001661EC6E4F +:0400DD00165A1B4252 +:0400DE0016524F89DE +:0400DF00164A893FF5 +:0400E0001642C85D9F +:0400E100163B0CDEE0 +:0400E200163356BDBE +:0400E300162BA5F340 +:0400E4001623FA7B6A +:0400E500161C545041 +:0400E6001614B36CCD +:0400E700160D17CA11 +:0400E8001605816414 +:0400E90015FDF035DC +:0400EA0015F664386B +:0400EB0015EEDD67CA +:0400EC0015E75BBDFC +:0400ED0015DFDF3408 +:0400EE0015D867C8F2 +:0400EF0015D0F573C0 +:0400F00015C9883076 +:0400F10015C21FF91C +:0400F20015BABCCAB5 +:0400F30015B35E9E45 +:0400F40015AC056FD3 +:0400F50015A4B13865 +:0400F600159D61F5FE +:0400F700159617A0A3 +:0400F800158ED2345B +:0400F900158791AD29 +:0400FA001580560512 +:0400FB0015791F381C +:0400FC001571ED404D +:0400FD00156AC019A7 +:0400FE00156397BE31 +:0400FF00155C742BED +:0401000015555559E3 +:04010100154E3B4616 +:04010200154725EB8D +:04010300154015444A +:040104001539094D53 +:0401050015320201AC +:04010600152AFF5B5C +:040107001524015664 +:04010800151D07EFCB +:040109001516132094 +:04010A00150F22E5C6 +:04010B001508373A62 +:04010C001501501970 +:04010D0014FA6D7FF4 +:04010E0014F38F67F0 +:04010F0014ECB5CC6B +:0401100014E5E0AB67 +:0401110014DF0FFFE9 +:0401120014D843C3F7 +:0401130014D17BF395 +:0401140014CAB88BC6 +:0401150014C3F9878F +:0401160014BD3EE2F4 +:0401170014B68898FA +:0401180014AFD6A4A6 +:0401190014A92904F8 +:04011A0014A27FB1FB +:04011B00149BDAA9AE +:04011C00149539E815 +:04011D00148E9D6837 +:04011E001488052616 +:04011F001481711EB8 +:04012000147AE14C20 +:04012100147455AB52 +:04012200146DCE3852 +:0401230014674AEF24 +:040124001460CBCCCC +:04012500145A50CA4E +:040126001453D9E7AE +:04012700144D671DEF +:040128001446F86918 +:0401290014408DC829 +:04012A00143A273527 +:04012B001433C4AC19 +:04012C00142D662AFE +:04012D0014270BABDD +:04012E001420B52ABA +:04012F00141A62A597 +:040130001414141877 +:04013100140DC97E62 +:04013200140782D557 +:04013300140140185B +:0401340013FB014474 +:0401350013F4C654A5 +:0401360013EE8F47EE +:0401370013E85C1756 +:0401380013E22CC1E1 +:0401390013DC014290 +:04013A0013D5D9966A +:04013B0013CFB5B970 +:04013C0013C995A8A6 +:04013D0013C379600F +:04013E0013BD60DDB0 +:04013F0013B74C1B8B +:0401400013B13B18A4 +:0401410013AB2DCF00 +:0401420013A5243CA1 +:04014300139F1E5E8A +:0401440013991C30BF +:0401450013931DAF44 +:04014600138D22D71C +:0401470013872BA649 +:0401480013813817D0 +:04014900137B4829B3 +:04014A0013755BD6F8 +:04014B00136F731C9F +:04014C0013698DF8AE +:04014D001363AC6626 +:04014E00135DCE640B +:04014F001357F3ED62 +:0401500013521CFF2B +:04015100134C49976B +:04015200134679B126 +:040153001340AD4A5E +:04015400133AE45F17 +:0401550013351EED53 +:04015600132F5CF116 +:0401570013299E6862 +:040158001323E34E3C +:04015900131E2BA1A5 +:04015A001318775DA2 +:04015B001312C67F36 +:04015C00130D190561 +:04015D0013076EEB2B +:04015E001301C82F92 +:04015F0012FC24CD9D +:0401600012F684C24D +:0401610012F0E80BA5 +:0401620012EB4EA6A8 +:0401630012E5B88F5A +:0401640012E025C4BC +:0401650012DA9642D2 +:0401660012D50A059F +:0401670012CF810B27 +:0401680012C9FB516C +:0401690012C478D56F +:04016A0012BEF99236 +:04016B0012B97D87C1 +:04016C0012B404B114 +:04016D0012AE8F0C33 +:04016E0012A91C971F +:04016F0012A3AD4EDC +:04017000129E412E6C +:040171001298D835D3 +:040172001293726012 +:04017300128E0FAC2D +:040174001288B01726 +:040175001283539D01 +:04017600127DFA3DBF +:040177001278A3F364 +:04017800127350BCF2 +:04017900126E00976B +:04017A001268B381D3 +:04017B00126369762C +:04017C00125E227479 +:04017D001258DE7ABC +:04017E0012539D83F8 +:04017F00124E5F8D30 +:040180001249249666 +:040181001243EC9C9D +:04018200123EB79BD7 +:040183001239859216 +:040184001234567D5E +:04018500122F2A5AB1 +:04018600122A012711 +:040187001224DAE183 +:04018800121FB78506 +:04018900121A97129D +:04018A00121579844D +:04018B0012105EDA16 +:04018C00120B4710FB +:04018D0012063225FF +:04018E001201201624 +:04018F0011FC10E06F +:0401900011F70482DD +:0401910011F1FAF876 +:0401920011ECF44038 +:0401930011E7F05927 +:0401940011E2EF3F46 +:0401950011DDF0F197 +:0401960011D8F56B1C +:0401970011D3FCACD8 +:0401980011CF06B2CB +:0401990011CA1379FB +:04019A0011C5230068 +:04019B0011C0354515 +:04019C0011BB4A4405 +:04019D0011B661FD39 +:04019E0011B17C6CB3 +:04019F0011AC998F77 +:0401A00011A7B96585 +:0401A10011A2DBEBE1 +:0401A200119E011E8B +:0401A300119928FD89 +:0401A40011945385DA +:0401A500118F80B482 +:0401A600118AB08882 +:0401A7001185E2FEDE +:0401A8001181181594 +:0401A900117C4FCBAB +:0401AA0011778A1D22 +:0401AB001172C709FD +:0401AC00116E068D3D +:0401AD00116948A7E5 +:0401AE0011648D55F6 +:0401AF00115FD49474 +:0401B000115B1E635E +:0401B10011566AC0B9 +:0401B2001151B9A886 +:0401B300114D0B19C6 +:0401B40011485F127D +:0401B5001143B590AD +:0401B600113F0E9156 +:0401B700113A6A147B +:0401B8001135C81520 +:0401B9001131289444 +:0401BA00112C8B8EEB +:0401BB001127F10116 +:0401BC00112358EBC8 +:0401BD00111EC34B01 +:0401BE00111A301EC4 +:0401BF0011159F6215 +:0401C00011111115F3 +:0401C100110C853662 +:0401C2001107FBC264 +:0401C300110374B8F8 +:0401C40010FEF01524 +:0401C50010FA6DD8E7 +:0401C60010F5EDFF44 +:0401C70010F170873C +:0401C80010ECF570D2 +:0401C90010E87CB707 +:0401CA0010E40659DE +:0401CB0010DF925758 +:0401CC0010DB20AD77 +:0401CD0010D6B1593E +:0401CE0010D2445AAD +:0401CF0010CDD9AEC8 +:0401D00010C971548D +:0401D10010C50B4802 +:0401D20010C0A78B27 +:0401D30010BC4618FE +:0401D40010B7E6F08A +:0401D50010B38A10C9 +:0401D60010AF2F76C1 +:0401D70010AAD72172 +:0401D80010A6810EDE +:0401D90010A22D3D06 +:0401DA00109DDBABEE +:0401DB0010998C5695 +:0401DC0010953F3DFE +:0401DD001090F45E2C +:0401DE00108CABB71F +:0401DF0010886547D8 +:0401E0001084210C5A +:0401E100107FDF04A8 +:0401E200107B9F2EC1 +:0401E30010776187A9 +:0401E4001073260E60 +:0401E500106EECC2EA +:0401E600106AB5A046 +:0401E700106680A876 +:0401E80010624DD77D +:0401E900105E1D2C5B +:0401EA001059EEA416 +:0401EB001055C240A9 +:0401EC00105197FC1B +:0401ED00104D6FD76B +:0401EE00104949D09B +:0401EF00104525E5AD +:0401F00010410414A2 +:0401F100103CE45C7E +:0401F2001038C6BC3F +:0401F3001034AB30E9 +:0401F400103091B97D +:0401F500102C7A54FC +:0401F6001028650068 +:0401F700102451BCC3 +:0401F800102040850E +:0401F900101C315A4B +:0401FA001018243A7B +:0401FB0010141923A0 +:0401FC0010101014BB +:0401FD00100C090BCE +:0401FE0010080406DB +:0401FF0010040104E3 +:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid146_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid146_invTables_lutmem.hex deleted file mode 100644 index 915d30cb..00000000 --- a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC0_uid146_invTables_lutmem.hex +++ /dev/null @@ -1,514 +0,0 @@ -:020000040000FA -:0400000040000004B8 -:040001003FE00FFCD1 -:040002003FC03FC4F8 -:040003003FA08F2D5E -:040004003F80FE0833 -:040005003F618C25A6 -:040006003F423958E4 -:040007003F2305711D -:040008003F03F0437F -:040009003EE4F9A137 -:04000A003EC6215D70 -:04000B003EA7674C59 -:04000C003E88CB401F -:04000D003E6A4D0FEB -:04000E003E4BEC8CED -:04000F003E2DA98C4D -:040010003E0F83E537 -:040011003DF17B6BD7 -:040012003DD38FF457 -:040013003DB5C157DF -:040014003D980F6A9A -:040015003D7A7A03B3 -:040016003D5D00F953 -:040017003D3FA424A1 -:040018003D22635CC6 -:040019003D053E77EC -:04001A003CE8354F3A -:04001B003CCB47BCD7 -:04001C003CAE7596EB -:04001D003C91BEB79D -:04001E003C7522F813 -:04001F003C58A23275 -:040020003C3C3C40E8 -:040021003C1FF0FC94 -:040022003C03C0409B -:040023003BE7A9E727 -:040024003BCBADCC59 -:040025003BAFCBCA58 -:040026003B9403BD47 -:040027003B7855814C -:040028003B5CC0F18C -:040029003B4145EB27 -:04002A003B25E44A44 -:04002B003B0A9BEC05 -:04002C003AEF6CAD8E -:04002D003AD4566CFF -:04002E003AB959057D -:04002F003A9E74562B -:040030003A83A83E29 -:040031003A68F49B9A -:040032003A4E594C9D -:040033003A33D62F57 -:040034003A196B23E7 -:0400350039FF180770 -:0400360039E4DCBC11 -:0400370039CAB921E8 -:0400380039B0AD1618 -:040039003996B87BC1 -:04003A00397CDB3002 -:04003B0039631516FA -:04003C003949660FC9 -:04003D00392FCDFA90 -:04003E0039164CBA69 -:04003F0038FCE22F78 -:0400400038E38E3DD6 -:0400410038CA50C4A5 -:0400420038B129A602 -:04004300389818C60B -:04004400387F1E07DC -:040045003866394C94 -:04004600384D6A7651 -:040047003834B16A2E -:04004800381C0E0B47 -:040049003803803CBC -:04004A0037EB07E1A8 -:04004B0037D2A4DE26 -:04004C0037BA571751 -:04004D0037A21E7147 -:04004E003789FACF25 -:04004F003771EC1702 -:040050003759F22DFD -:0400510037420CF72F -:04005200372A3C5AB3 -:040053003712803BA5 -:0400540036FAD88020 -:0400550036E3450E3B -:0400560036CBC5CB15 -:0400570036B45A9FC2 -:04005800369D036E60 -:040059003685C01F09 -:04005A00366E909AD4 -:04005B00365774C4DC -:04005C0036406C8539 -:04005D00362977C405 -:04005E003612966858 -:04005F0035FBC8584D -:0400600035E50D7DF8 -:0400610035CE65BE75 -:0400620035B7D103DA -:0400630035A14F3440 -:04006400358AE039C0 -:04006500357483FC6F -:04006600355E3A6366 -:0400670035480358BD -:040068003531DEC58B -:04006900351BCC91E6 -:04006A003505CCA6E6 -:04006B0034EFDEEEA2 -:04006C0034DA03522D -:04006D0034C439BBA3 -:04006E0034AE821317 -:04006F003498DC44A1 -:040070003483483855 -:04007100346DC5DA4B -:040072003458551396 -:040073003442F5CF4F -:04007400342DA7F789 -:0400750034186B765A -:0400760034034038D7 -:0400770033EE262717 -:0400780033D91D2E2D -:0400790033C425392E -:04007A0033AF3E332F -:04007B00339A680745 -:04007C003385A2A284 -:04007D003370EDEE01 -:04007E00335C49D9CD -:04007F003347B64D00 -:0400800033333337AC -:04008100331EC084E6 -:04008200330A5E1FC0 -:0400830032F60BF650 -:0400840032E1C9F4A8 -:0400850032CD9807D9 -:0400860032B9761CF9 -:0400870032A5641F1B -:04008800329161FE52 -:04008900327D6FA5B0 -:04008A0032698D0347 -:04008B003255BA052B -:04008C003241F6986F -:04008D00322E42A924 -:04008E00321A9E285C -:04008F00320709012A -:0400900031F38323A2 -:0400910031E00C7CD2 -:0400920031CCA4FACF -:0400930031B94C8BA8 -:0400940031A6031E70 -:040095003192C8A23A -:04009600317F9D0514 -:04009700316C803513 -:040098003159722345 -:04009900314672BCBE -:04009A00313381F08D -:04009B0031209FAEC3 -:04009C00310DCBE572 -:04009D0030FB0685A9 -:04009E0030E84F7D7A -:04009F0030D5A6BDF5 -:0400A00030C30C3528 -:0400A10030B07FD329 -:0400A200309E018902 -:0400A300308B9146C7 -:0400A40030792EF988 -:0400A5003066DA9453 -:0400A6003054940737 -:0400A70030425B4147 -:0400A8003030303490 -:0400A900301E12D023 -:0400AA00300C03050E -:0400AB002FFA00C464 -:0400AC002FE80BFE30 -:0400AD002FD624A482 -:0400AE002FC44AA76A -:0400AF002FB27DF7F8 -:0400B0002FA0BE8738 -:0400B1002F8F0C473A -:0400B2002F7D67280F -:0400B3002F6BCF1DC3 -:0400B4002F5A441665 -:0400B5002F48C60505 -:0400B6002F3754DBB1 -:0400B7002F25F08B76 -:0400B8002F14990761 -:0400B9002F034E3F84 -:0400BA002EF21027EB -:0400BB002EE0DEB0A5 -:0400BC002ECFB9CCBE -:0400BD002EBEA16E44 -:0400BE002EAD958846 -:0400BF002E9C960CD1 -:0400C0002E8BA2EDF4 -:0400C1002E7ABC1DBA -:0400C2002E69E18E34 -:0400C3002E5913356A -:0400C4002E4851026F -:0400C5002E379AEA4E -:0400C6002E26F0DF13 -:0400C7002E1652D4CB -:0400C8002E05C0BC85 -:0400C9002DF53A8A4D -:0400CA002DE4C0322F -:0400CB002DD451A639 -:0400CC002DC3EEDA78 -:0400CD002DB397C2F6 -:0400CE002DA34C51C1 -:0400CF002D930C7AE7 -:0400D0002D82D83174 -:0400D1002D72AF6B72 -:0400D2002D629219F0 -:0400D3002D528031F9 -:0400D4002D4279A799 -:0400D5002D327E6DDD -:0400D6002D228E79D0 -:0400D7002D12A9BE7F -:0400D8002D02D031F4 -:0400D9002CF301C53E -:0400DA002CE33E7065 -:0400DB002CD3862577 -:0400DC002CC3D8D980 -:0400DD002CB4368089 -:0400DE002CA49F0EA1 -:0400DF002C95127AD0 -:0400E0002C8590B625 -:0400E1002C7619B8A8 -:0400E2002C66AD7566 -:0400E3002C574BE16A -:0400E4002C47F4F2BF -:0400E5002C38A89C6F -:0400E6002C2966D487 -:0400E7002C1A2F9010 -:0400E8002C0B02C516 -:0400E9002BFBE067A6 -:0400EA002BECC86CC7 -:0400EB002BDDBACA85 -:0400EC002BCEB776EA -:0400ED002BBFBE6403 -:0400EE002BB0CF8CD8 -:0400EF002BA1EAE275 -:0400F0002B93105BE3 -:0400F1002B843FEE2F -:0400F2002B75799160 -:0400F3002B66BD3883 -:0400F4002B580ADAA1 -:0400F5002B49626DC4 -:0400F6002B3AC3E6F8 -:0400F7002B2C2F3C43 -:0400F8002B1DA465B3 -:0400F9002B0F235650 -:0400FA002B00AC0724 -:0400FB002AF23E6C3B -:0400FC002AE3DA7D9C -:0400FD002AD5802F51 -:0400FE002AC72F7965 -:0400FF002AB8E851E2 -:040100002AAAAAAFCE -:040101002A9C768737 -:040102002A8E4BD125 -:040103002A802A84A0 -:040104002A721296B3 -:040105002A6403FD68 -:040106002A55FEB1C7 -:040107002A4802A8D8 -:040108002A3A0FDAA6 -:040109002A2C263C3A -:04010A002A1E45C69E -:04010B002A106E6FD9 -:04010C002A02A02EF5 -:04010D0029F4DAFAFD -:04010E0029E71ECAF5 -:04010F0029D96B95EA -:0401100029CBC152E4 -:0401110029BE1FFAEA -:0401120029B0878207 -:0401130029A2F7E244 -:0401140029957112A6 -:040115002987F3093A -:04011600297A7DBF06 -:04011700296D112B12 -:04011800295FAD4569 -:040119002952520312 -:04011A002944FF5F16 -:04011B002937B54F7C -:04011C00292A73CB4E -:04011D00291D3ACC92 -:04011E0029100A4852 -:04011F002902E23897 -:0401200028F5C29369 -:0401210028E8AB52CD -:0401220028DB9C6DCD -:0401230028CE95DB72 -:0401240028C19794C3 -:0401250028B4A191C8 -:0401260028A7B3CA89 -:04012700289ACE360E -:04012800288DF0CF5F -:0401290028811B8C82 -:04012A0028744E6582 -:04012B002867895464 -:04012C00285ACC5031 -:04012D00284E1751F0 -:04012E0028416A51A9 -:04012F002834C54764 -:040130002828282C27 -:04013100281B92F9FC -:04013200280F05A6E7 -:040133002802802CF2 -:0401340027F6028325 -:0401350027E98CA585 -:0401360027DD1E891A -:0401370027D0B829EC -:0401380027C4597E01 -:0401390027B8027F62 -:04013A0027ABB32715 -:04013B00279F6B6E21 -:04013C0027932B4D8D -:04013D002786F2BD62 -:04013E00277AC1B6A5 -:04013F00276E98335C -:040140002762762B91 -:0401410027565B9949 -:04014200274A48758B -:04014300273E3CB85F -:040144002732385CCA -:0401450027263B5AD4 -:04014600271A45AB84 -:04014700270E5748E0 -:040148002702702BEF -:0401490026F6904DB9 -:04014A0026EAB7A842 -:04014B0026DEE63492 -:04014C0026D31BECAF -:04014D0026C758C8A1 -:04014E0026BB9CC36D -:04014F0026AFE7D61A -:0401500026A439FAAE -:040151002698932A2F -:04015200268CF35EA6 -:0401530026815A9017 -:040154002675C8BB89 -:04015500266A3DD702 -:04015600265EB9DF89 -:0401570026533CCC23 -:040158002647C698D8 -:04015900263C573EAB -:04015A002630EEB6A7 -:04015B0026258CFBCE -:04015C00261A320627 -:04015D00260EDDD3BA -:04015E002603905A8A -:04015F0025F84995A1 -:0401600025ED097F01 -:0401610025E1D012B2 -:0401620025D69D48B9 -:0401630025CB711B1C -:0401640025C04B85E2 -:0401650025B52C8010 -:0401660025AA1406AC -:04016700259F0213BB -:040168002593F69F46 -:040169002588F1A64E -:04016A00257DF321DB -:04016B002572FB0BF3 -:04016C002568095E9B -:04016D00255D1E15D9 -:04016E002552392AB3 -:04016F0025475A972F -:04017000253C825850 -:040171002531B0661E -:040172002526E4BB9F -:04017300251C1F54D4 -:0401740025116029C8 -:040175002506A7367E -:0401760024FBF475FD -:0401770024F147E147 -:0401780024E6A17563 -:0401790024DC012B56 -:04017A0024D166FE28 -:04017B0024C6D2E8DC -:04017C0024BC44E576 -:04017D0024B1BCEFFE -:04017E0024A73B0176 -:04017F00249CBF16E7 -:040180002492492953 -:040181002487D934C2 -:04018200247D6F3237 -:0401830024730B1FB7 -:040184002468ACF54A -:04018500245E54B0F0 -:0401860024540249B2 -:040187002449B5BD95 -:04018800243F6F069B -:0401890024352E20CB -:04018A00242AF3052B -:04018B002420BDB0BF -:04018C0024168E1D8A -:04018D00240C644694 -:04018E0024024028DF -:04018F0023F821BD73 -:0401900023EE08FF53 -:0401910023E3F5EC83 -:0401920023D9E87D08 -:0401930023CFE0AEE8 -:0401940023C5DE7A27 -:0401950023BBE1DDCA -:0401960023B1EAD2D5 -:0401970023A7F9544D -:04019800239E0D5F36 -:04019900239426EE97 -:04019A00238A45FC73 -:04019B0023806A85CE -:04019C0023769485AD -:04019D00236CC3F616 -:04019E002362F8D40C -:04019F002359331B92 -:0401A000234F72C6B1 -:0401A1002345B7D16A -:0401A200233C0238C0 -:0401A300233251F5BD -:0401A4002328A70560 -:0401A500231F0163B0 -:0401A6002315610BB1 -:0401A700230BC5F869 -:0401A80023023027D7 -:0401A90022F89F9207 -:0401AA0022EF1436F6 -:0401AB0022E58E0EAD -:0401AC0022DC0D162E -:0401AD0022D2914A7F -:0401AE0022C91AA6A2 -:0401AF0022BFA9259D -:0401B00022B63CC374 -:0401B10022ACD57C2B -:0401B20022A3734CC5 -:0401B300229A162F47 -:0401B4002290BE20B7 -:0401B50022876B1C16 -:0401B600227E1D1E6A -:0401B7002274D423B7 -:0401B800226B902600 -:0401B9002262512449 -:0401BA002259171897 -:0401BB00224FE1FEF0 -:0401BC002246B1D353 -:0401BD00223D8692C7 -:0401BE002234603750 -:0401BF00222B3EBFF2 -:0401C00022222226AF -:0401C10022190A688D -:0401C200220FF78091 -:0401C3002206E96BBC -:0401C40021FDE02613 -:0401C50021F4DBAC9A -:0401C60021EBDBF955 -:0401C70021E2E10B45 -:0401C80021D9EADC73 -:0401C90021D0F969DF -:0401CA0021C80CAF8D -:0401CB0021BF24AA82 -:0401CC0021B64155C2 -:0401CD0021AD62AE50 -:0401CE0021A488B030 -:0401CF00219BB35964 -:0401D0002192E2A3F3 -:0401D100218A168DDC -:0401D20021814F1127 -:0401D30021788C2DD6 -:0401D400216FCDDCEE -:0401D5002167141C6E -:0401D600215E5EE860 -:0401D7002155AE3EC2 -:0401D800214D02199A -:0401D90021445A76ED -:0401DA00213BB751BD -:0401DB00213318A80C -:0401DC00212A7E76E0 -:0401DD002121E8B83C -:0401DE002119576B21 -:0401DF002110CA8B96 -:0401E000210842149C -:0401E10020FFBE0439 -:0401E20020F73E576D -:0401E30020EEC30A3D -:0401E40020E64C19AC -:0401E50020DDD980C0 -:0401E60020D56B3D78 -:0401E70020CD014CDA -:0401E80020C49BAAEA -:0401E90020BC3A53A9 -:0401EA0020B3DD451C -:0401EB0020AB847B46 -:0401EC0020A32FF429 -:0401ED00209ADFAACB -:0401EE002092939C2C -:0401EF00208A4BC651 -:0401F000208208243D -:0401F1002079C8B5F4 -:0401F20020718D7378 -:0401F3002069565DCC -:0401F4002061236EF5 -:0401F5002058F4A5F5 -:0401F6002050C9FDCF -:0401F7002048A37485 -:0401F800204081061C -:0401F900203862B197 -:0401FA0020304871F8 -:0401FB002028324343 -:0401FC00202020247B -:0401FD0020181212A2 -:0401FE0020100808BD -:0401FF0020080204CE -:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid115_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid115_invTables_lutmem.hex new file mode 100644 index 00000000..7578e58b --- /dev/null +++ b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid115_invTables_lutmem.hex @@ -0,0 +1,514 @@ +:020000040000FA +:03000000100002EB +:03000100100FF6E7 +:03000200101FD2FA +:03000300102F9526 +:03000400103F4466 +:03000500104ED9C1 +:03000600105E5831 +:03000700106DC1B8 +:03000800107D1454 +:03000900108C4D0B +:03000A00109B6FD9 +:03000B0010AA7FB9 +:03000C0010B977B1 +:03000D0010C85BBD +:03000E0010D726E2 +:03000F0010E5DC1D +:0300100010F47E6B +:0300110011030CCC +:0300120011118148 +:03001300111FE1D9 +:03001400112E2F7B +:03001500113C6A31 +:03001600114A8DFF +:0300170011589FDE +:03001800116699D5 +:03001900117480DF +:03001A00118258F8 +:03001B001190162B +:03001C00119DC370 +:03001D0011AB5FC5 +:03001E0011B8E333 +:03001F0011C657B0 +:0300200011D3B841 +:0300210011E105E5 +:0300220011EE3F9D +:0300230011FB6965 +:0300240012087D42 +:0300250012158130 +:0300260012227033 +:03002700122F5342 +:03002800123C1D6A +:030029001248DD9D +:03002A00125585E7 +:03002B0012621D41 +:03002C00126EA3AE +:03002D00127B192A +:03002E00128781B5 +:03002F001293D455 +:0300300012A01605 +:0300310012AC47C7 +:0300320012B86A97 +:0300330012C47C78 +:0300340012D07C6B +:0300350012DC6A70 +:0300360012E84B82 +:0300370012F419A7 +:0300380012FFDBD9 +:03003900130B8C1A +:03003A0013172B6E +:03003B001322BDD0 +:03003C00132E3E42 +:03003D001339AFC5 +:03003E0013451156 +:03003F00135063F8 +:03004000135BAAA5 +:030041001366DD66 +:0300420013720531 +:03004300137D1D0D +:03004400138824FA +:0300450013931FF3 +:03004600139E0CFA +:0300470013A8E813 +:0300480013B3BA35 +:0300490013BE786B +:03004A0013C92EA9 +:03004B0013D3D0FC +:03004C0013DE6759 +:03004D0013E8F2C3 +:03004E0013F36E3B +:03004F0013FDDDC1 +:0300500014083A57 +:0300510014128EF8 +:03005200141CD4A7 +:0300530014270E61 +:030054001431372D +:03005500143B5603 +:03005600144567E7 +:03005700144F6DD6 +:03005800145962D6 +:0300590014634DE0 +:03005A00146D2CF6 +:03005B001476FD1B +:03005C001480C449 +:03005D00148A7B87 +:03005E00149428CF +:03005F00149DC825 +:0300600014A75B87 +:0300610014B0E4F4 +:0300620014BA5F6E +:0300630014C3D1F2 +:0300640014CD3484 +:0300650014D68C22 +:0300660014DFDCC8 +:0300670014E91D7C +:0300680014F2523D +:0300690014FB7E07 +:03006A0015049BDF +:03006B00150DADC3 +:03006C001516B6B0 +:03006D00151FB5A7 +:03006E001528A7AB +:03006F0015318DBB +:03007000153A69D5 +:03007100154339FB +:03007200154BFE2D +:030073001554BE63 +:03007400155D6FA8 +:03007500156614F9 +:03007600156EAE56 +:03007700157742B8 +:03007800157FC62B +:03007900158846A1 +:03007A001590B727 +:03007B0015991DB7 +:03007C0015A17C4F +:03007D0015A9D1F1 +:03007E0015B21C9C +:03007F0015BA5B54 +:0300800015C28F17 +:0300810015CABBE2 +:0300820015D2DDB7 +:0300830015DAF794 +:0300840015E3067B +:0300850015EB0B6D +:0300860015F30768 +:0300870015FAFC6B +:030088001602E37A +:03008900160AC292 +:03008A00161298B3 +:03008B00161A69D9 +:03008C0016222A0F +:03008D001629E54C +:03008E0016319890 +:03008F0016393FE0 +:030090001640DF38 +:0300910016487896 +:0300920016500500 +:0300930016578A73 +:03009400165F09EB +:0300950016667C70 +:03009600166DE8FC +:0300970016754893 +:03009800167CA52E +:030099001683F5D6 +:03009A00168B3F83 +:03009B0016927F3B +:03009C001699B6FC +:03009D0016A0E6C4 +:03009E0016A80F92 +:03009F0016AF2F6A +:0300A00016B64849 +:0300A10016BD5534 +:0300A20016C46021 +:0300A30016CB5D1C +:0300A40016D2551C +:0300A50016D94524 +:0300A60016E02F32 +:0300A70016E70C4D +:0300A80016EDE66C +:0300A90016F4B694 +:0300AA0016FB80C2 +:0300AB00170240F9 +:0300AC001708FA38 +:0300AD00170FAD7D +:0300AE00171657CB +:0300AF00171CF823 +:0300B0001723987B +:0300B100172A2CDF +:0300B2001730B94B +:0300B30017373EBE +:0300B400173DBC39 +:0300B500174434B9 +:0300B600174AA244 +:0300B70017510BD3 +:0300B80017577067 +:0300B900175DC808 +:0300BA0017641DAB +:0300BB00176A6C55 +:0300BC001770B208 +:0300BD001776F1C2 +:0300BE00177D2982 +:0300BF0017835B49 +:0300C00017898815 +:0300C100178FACEA +:0300C2001795C9C6 +:0300C300179BE1A7 +:0300C40017A1F091 +:0300C50017A7F981 +:0300C60017ADFB78 +:0300C70017B3F973 +:0300C80017B9F075 +:0300C90017BFDF7F +:0300CA0017C5C98E +:0300CB0017CBADA3 +:0300CC0017D18ABF +:0300CD0017D75FE3 +:0300CE0017DD3209 +:0300CF0017E2FA3B +:0300D00017E8BD71 +:0300D10017EE7CAB +:0300D20017F431EF +:0300D30017F9E436 +:0300D40017FF9182 +:0300D500180534D7 +:0300D600180AD431 +:0300D70018106F8F +:0300D800181605F2 +:0300D900181B9061 +:0300DA0018211AD0 +:0300DB0018269E46 +:0300DC00182C19C4 +:0300DD0018318F48 +:0300DE00183701CF +:0300DF00183C6B5F +:0300E0001841D1F3 +:0300E1001847318C +:0300E200184C892E +:0300E3001851DFD2 +:0300E4001857307A +:0300E500185C7A2A +:0300E6001861BFDF +:0300E7001866FE9A +:0300E800186C3958 +:0300E90018716D1E +:0300EA0018769BEA +:0300EB00187BC3BC +:0300EC001880E891 +:0300ED001886076B +:0300EE00188B204C +:0300EF0018903432 +:0300F0001895431D +:0300F100189A500A +:0300F200189F55FF +:0300F30018A453FB +:0300F40018A94FF9 +:0300F50018AE46FC +:0300F60018B33606 +:0300F70018B82115 +:0300F80018BD0A26 +:0300F90018C1EB40 +:0300FA0018C6C85D +:0300FB0018CB9F80 +:0300FC0018D074A5 +:0300FD0018D543D0 +:0300FE0018DA0B02 +:0300FF0018DECE3A +:0301000018E38F72 +:0301010018E848B3 +:0301020018ED00F5 +:0301030018F1B33D +:0301040018F65F8B +:0301050018FB06DE +:0301060018FFAB34 +:0301070019044C8C +:030108001908E6ED +:03010900190D7C51 +:03010A0019120DBA +:03010B0019169A28 +:03010C00191B2498 +:03010D00191FA80F +:03010E0019242889 +:03010F001928A507 +:03011000192D1B8B +:0301110019318C15 +:030112001935FBA1 +:03011300193A6630 +:03011400193ECBC6 +:0301150019432B60 +:03011600194787FF +:03011700194BE1A0 +:0301180019503843 +:03011900195486F0 +:03011A001958D79A +:03011B00195D1E4D +:03011C0019615F07 +:03011D001965A0C1 +:03011E001969DC80 +:03011F00196E1343 +:030120001972470A +:03012100197678D4 +:03012200197AA5A2 +:03012300197ECC76 +:030124001982EF4E +:0301250019871027 +:03012600198B2A08 +:03012700198F43EA +:03012800199358D0 +:03012900199766BD +:03012A00199B72AC +:03012B00199F7B9E +:03012C0019A37F95 +:03012D0019A7808F +:03012E0019AB808A +:03012F0019AF7A8B +:0301300019B36D93 +:0301310019B7619A +:0301320019BB4EA8 +:0301330019BF38B9 +:0301340019C31DCF +:0301350019C703E4 +:0301360019CAE003 +:0301370019CEBD21 +:0301380019D29643 +:0301390019D66A6A +:03013A0019DA3B94 +:03013B0019DE0BBF +:03013C0019E1D7EF +:03013D0019E59D24 +:03013E0019E9605C +:03013F0019ED1F98 +:0301400019F0D8DB +:0301410019F4911D +:0301420019F84B5E +:0301430019FBFBAA +:0301440019FFAAF6 +:030145001A035545 +:030146001A06FE98 +:030147001A0AA0F1 +:030148001A0E4547 +:030149001A11DEAA +:03014A001A157A09 +:03014B001A19126C +:03014C001A1CA6D4 +:03014D001A20373E +:03014E001A23C3AE +:03014F001A274F1D +:030150001A2AD692 +:030151001A2E590A +:030152001A31DA85 +:030153001A355901 +:030154001A38D581 +:030155001A3C4C05 +:030156001A3FC08D +:030157001A432F19 +:030158001A469EA6 +:030159001A4A0738 +:03015A001A4D70CB +:03015B001A50D760 +:03015C001A5438FA +:03015D001A579698 +:03015E001A5AF03A +:03015F001A5E48DD +:030160001A619F82 +:030161001A64F32A +:030162001A6843D5 +:030163001A6B9282 +:030164001A6EDB35 +:030165001A7221EA +:030166001A7567A0 +:030167001A78A95A +:030168001A7BE718 +:030169001A7F21D9 +:03016A001A825C9A +:03016B001A859161 +:03016C001A88C42A +:03016D001A8BF5F5 +:03016E001A8F21C4 +:03016F001A924B96 +:030170001A957469 +:030171001A989841 +:030172001A9BBB1A +:030173001A9EDBF6 +:030174001AA1F8D5 +:030175001AA513B5 +:030176001AA82A9A +:030177001AAB3F81 +:030178001AAE5666 +:030179001AB16454 +:03017A001AB46F45 +:03017B001AB77A36 +:03017C001ABA8527 +:03017D001ABD8523 +:03017E001AC0891B +:03017F001AC38B15 +:030180001AC68913 +:030181001AC98315 +:030182001ACC7B19 +:030183001ACF6F21 +:030184001AD26329 +:030185001AD55434 +:030186001AD84242 +:030187001ADB2E52 +:030188001ADE1A62 +:030189001AE10078 +:03018A001AE3E68F +:03018B001AE6C7AA +:03018C001AE9A8C5 +:03018D001AEC84E5 +:03018E001AEF5F06 +:03018F001AF2372A +:030190001AF50B52 +:030191001AF7DF7B +:030192001AFAB3A3 +:030193001AFD81D1 +:030194001B004D00 +:030195001B031633 +:030196001B05DF67 +:030197001B08A49E +:030198001B0B66D8 +:030199001B0E2812 +:03019A001B10E651 +:03019B001B13A291 +:03019C001B165DD2 +:03019D001B191417 +:03019E001B1BCA5E +:03019F001B1E7FA5 +:0301A0001B212EF2 +:0301A1001B23DB42 +:0301A2001B268891 +:0301A3001B2932E3 +:0301A4001B2BDA38 +:0301A5001B2E808E +:0301A6001B3125E5 +:0301A7001B33C93E +:0301A8001B36699A +:0301A9001B3905FA +:0301AA001B3BA05C +:0301AB001B3E3ABE +:0301AC001B40D124 +:0301AD001B43658C +:0301AE001B45F8F6 +:0301AF001B488A60 +:0301B0001B4B18CE +:0301B1001B4DA340 +:0301B2001B502EB1 +:0301B3001B52B725 +:0301B4001B553C9C +:0301B5001B57C015 +:0301B6001B5A428F +:0301B7001B5CC10D +:0301B8001B5F4189 +:0301B9001B61BD0A +:0301BA001B64378C +:0301BB001B66B010 +:0301BC001B692795 +:0301BD001B6B9920 +:0301BE001B6E0AAB +:0301BF001B707B37 +:0301C0001B72EAC5 +:0301C1001B755655 +:0301C2001B77C1E7 +:0301C3001B7A297B +:0301C4001B7C9110 +:0301C5001B7EF5A9 +:0301C6001B815842 +:0301C7001B83BADD +:0301C8001B86177C +:0301C9001B88731D +:0301CA001B8AD2BB +:0301CB001B8D2861 +:0301CC001B8F8006 +:0301CD001B91D8AB +:0301CE001B942D52 +:0301CF001B967EFE +:0301D0001B98CDAC +:0301D1001B9B1E57 +:0301D2001B9D670B +:0301D3001B9FB5BA +:0301D4001BA1FD6F +:0301D5001BA44424 +:0301D6001BA689DC +:0301D7001BA8CD95 +:0301D8001BAB104E +:0301D9001BAD4E0D +:0301DA001BAF8CCC +:0301DB001BB1C98C +:0301DC001BB4054C +:0301DD001BB63F0F +:0301DE001BB877D4 +:0301DF001BBAAD9B +:0301E0001BBCE065 +:0301E1001BBF122F +:0301E2001BC141FD +:0301E3001BC371CA +:0301E4001BC59F99 +:0301E5001BC7CA6B +:0301E6001BC9F53D +:0301E7001BCC1C12 +:0301E8001BCE41EA +:0301E9001BD065C3 +:0301EA001BD28C99 +:0301EB001BD4AB77 +:0301EC001BD6CC53 +:0301ED001BD8EB31 +:0301EE001BDB0810 +:0301EF001BDD23F2 +:0301F0001BDF3DD5 +:0301F1001BE156B9 +:0301F2001BE369A3 +:0301F3001BE58188 +:0301F4001BE79373 +:0301F5001BE9A65D +:0301F6001BEBB64A +:0301F7001BEDC23B +:0301F8001BEFD02A +:0301F9001BF1DD1A +:0301FA001BF3E70D +:0301FB001BF5EF02 +:0301FC001BF7F4FA +:0301FD001BF9F9F2 +:0301FE001BFBFEEA +:0301FF001BFE00E4 +:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid149_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid149_invTables_lutmem.hex deleted file mode 100644 index 45fcf2be..00000000 --- a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC1_uid149_invTables_lutmem.hex +++ /dev/null @@ -1,514 +0,0 @@ -:020000040000FA -:03000000200004D9 -:03000100201FEBD2 -:03000200203FA4F8 -:03000300205F2E4D -:03000400207E87D4 -:03000500209DB685 -:0300060020BCB16A -:0300070020DB817A -:0300080020FA23B8 -:0300090021189625 -:03000A002136E2BA -:03000B002154FC81 -:03000C002172EF6F -:03000D002190B08F -:03000E0021AE4AD6 -:03000F0021CBB949 -:0300100021E8FAEA -:03001100220612B2 -:03001200222302A4 -:03001300223FC7C2 -:03001400225C600B -:030015002278D17D -:0300160022951C14 -:0300170022B13DD6 -:0300180022CD32C4 -:0300190022E905D4 -:03001A002304AC10 -:03001B0023202C73 -:03001C00233B87FC -:03001D002356BAAD -:03001E002371C784 -:03001F00238CAF80 -:0300200023A76FA4 -:0300210023C209EE -:0300220023DC7F5D -:0300230023F6CFF2 -:030024002410FBAA -:03002500242B0386 -:030026002444E58A -:03002700245EA2B2 -:03002800247840F9 -:030029002491B669 -:03002A0024AB0AFA -:03002B0024C439B1 -:03002C0024DD4A86 -:03002D0024F63482 -:03002E00250EFD9F -:03002F002527A6DC -:0300300025402C3C -:03003100255891BE -:030032002570D165 -:030033002588F22B -:0300340025A0F311 -:0300350025B8D615 -:0300360025D0973B -:0300370025E83683 -:0300380025FFB4ED -:0300390026171473 -:03003A00262E551A -:03003B00264578DF -:03003C00265C79C6 -:03003D0026735EC9 -:03003E00268A22ED -:03003F0026A0CB2D -:0300400026B7518F -:0300410026CDBB0E -:0300420026E408A9 -:0300430026FA3961 -:0300440027104C36 -:0300450027263D2E -:03004600273C183C -:030047002751D36B -:03004800276770B7 -:03004900277CF21F -:03004A00279258A2 -:03004B0027A7A242 -:03004C0027BCD0FE -:03004D0027D1E2D6 -:03004E0027E6DAC8 -:03004F0027FBB5D7 -:03005000281078FD -:0300510028251F40 -:030052002839A9A1 -:03005300284E191B -:0300540028626FB0 -:030055002876AB5F -:03005600288AD025 -:03005700289ED60A -:0300580028B2C605 -:0300590028C69D19 -:03005A0028DA574A -:03005B0028EDFB92 -:03005C00290185F2 -:03005D002914F66D -:03005E0029284E00 -:03005F00293B93A7 -:03006000294EBA6C -:030061002961CA48 -:030062002974C23C -:030063002987A149 -:03006400299A6B6B -:0300650029AD19A9 -:0300660029BFB4FB -:0300670029D23863 -:0300680029E4A2E6 -:0300690029F6F67F -:03006A002A09362A -:03006B002A1B5BF2 -:03006C002A2D6AD0 -:03006D002A3F64C3 -:03006E002A514ACA -:03006F002A6318E9 -:030070002A74D31C -:030071002A867369 -:030072002A9802C7 -:030073002AA97740 -:030074002ABAD8CD -:030075002ACC276B -:030076002ADD5D23 -:030077002AEE80EE -:030078002AFF8FCD -:030079002B1087C2 -:03007A002B216CCB -:03007B002B323DE8 -:03007C002B42F81C -:03007D002B53A161 -:03007E002B6433BD -:03007F002B74B42B -:030080002B8521AC -:030081002B957844 -:030082002BA5BEED -:030083002BB5EEAC -:030084002BC60E7A -:030085002BD6195E -:030086002BE61056 -:030087002BF5F561 -:030088002C05C67E -:030089002C1589AA -:03008A002C2535ED -:03008B002C34CD45 -:03008C002C4455AC -:03008D002C53CE23 -:03008E002C6331AF -:03008F002C72834D -:030090002C81C3FD -:030091002C90F0C0 -:030092002CA00C93 -:030093002CAF1877 -:030094002CBE116E -:030095002CCCF779 -:030096002CDBCC94 -:030097002CEA95BB -:030098002CF947F9 -:030099002D07EB45 -:03009A002D167DA3 -:03009B002D24FF12 -:03009C002D33728F -:03009D002D41D121 -:03009E002D5023BF -:03009F002D5E6172 -:0300A0002D6C8F35 -:0300A1002D7AAF06 -:0300A2002D88BCEA -:0300A3002D96BADD -:0300A4002DA4AEDA -:0300A5002DB28CED -:0300A6002DC05A10 -:0300A7002DCE1C3F -:0300A8002DDBCB82 -:0300A9002DE96BD3 -:0300AA002DF6FD33 -:0300AB002E0480A0 -:0300AC002E11F41E -:0300AD002E1F57AC -:0300AE002E2CAD48 -:0300AF002E39F5F2 -:0300B0002E472BAD -:0300B1002E545575 -:0300B2002E61704C -:0300B3002E6E7935 -:0300B4002E7B762A -:0300B5002E88642E -:0300B6002E95483C -:0300B7002EA21B5B -:0300B8002EAEDC8D -:0300B9002EBB96C5 -:0300BA002EC83D10 -:0300BB002ED4D769 -:0300BC002EE164CE -:0300BD002EEDE243 -:0300BE002EFA52C5 -:0300BF002F06B554 -:0300C0002F130AF1 -:0300C1002F1F529C -:0300C2002F2B9150 -:0300C3002F37BC18 -:0300C4002F43E1E6 -:0300C5002F4FF3C7 -:0300C6002F5BF9B4 -:0300C7002F67F2AE -:0300C8002F73DFB4 -:0300C9002F7FBFC7 -:0300CA002F8B91E8 -:0300CB002F975715 -:0300CC002FA3144B -:0300CD002FAEC093 -:0300CE002FBA5FE7 -:0300CF002FC5F347 -:0300D0002FD17CB1 -:0300D1002FDCF62B -:0300D2002FE868AC -:0300D3002FF3CA3E -:0300D4002FFF20DB -:0300D500300A6D81 -:0300D6003015AC36 -:0300D7003020E0F6 -:0300D800302C06C3 -:0300D90030372499 -:0300DA003042337E -:0300DB00304D366F -:0300DC0030582E6B -:0300DD0030631C71 -:0300DE00306E0180 -:0300DF003078D6A0 -:0300E0003083A3C7 -:0300E100308E63FB -:0300E2003099183A -:0300E30030A3C384 -:0300E40030AE60DB -:0300E50030B8F53B -:0300E60030C37FA5 -:0300E70030CDFB1E -:0300E80030D86DA0 -:0300E90030E2D72B -:0300EA0030ED36C0 -:0300EB0030F78764 -:0300EC003101CD12 -:0300ED00310C0FC4 -:0300EE0031164088 -:0300EF0031206954 -:0300F000312A8A28 -:0300F10031349D0A -:0300F200313EA6F6 -:0300F3003148A7EA -:0300F40031529DE9 -:0300F500315C89F2 -:0300F60031666C04 -:0300F70031704322 -:0300F800317A104A -:0300F9003183D47C -:0300FA00318D8CB9 -:0300FB0031973DFD -:0300FC0031A0E24E -:0300FD0031AA80A5 -:0300FE0031B41406 -:0300FF0031BD9E72 -:0301000031C71CE8 -:0301010031D09565 -:0301020031DA03EC -:0301030031E36580 -:0301040031ECBF1C -:0301050031F612BE -:0301060031FF5A6C -:0301070032089823 -:030108003211CBE6 -:03010900321AF9AE -:03010A0032241D7F -:03010B00322D375B -:03010C0032364741 -:03010D00323F4F2F -:03010E0032484E26 -:03010F0032514723 -:03011000325A352B -:030111003263183E -:03011200326BF657 -:030113003274CC77 -:03011400327D96A3 -:0301150032865BD4 -:03011600328F1411 -:030117003297C557 -:0301180032A06DA5 -:0301190032A910F8 -:03011A0032B1A857 -:03011B0032BA39BC -:03011C0032C2C22A -:03011D0032CB40A2 -:03011E0032D3B821 -:03011F0032DC28A7 -:0301200032E49135 -:0301210032ECEFCE -:0301220032F5446F -:0301230032FD9416 -:030124003305DDC3 -:03012500330E1C7A -:030126003316533A -:03012700331E85FF -:030128003326ACCF -:03012900332ECDA5 -:03012A003336E782 -:03012B00333EF66A -:03012C0033470056 -:03012D00334F034A -:03012E003356FC49 -:03012F00335EEF4D -:030130003366DC57 -:03013100336EBF6B -:0301320033769C85 -:03013300337E71A7 -:0301340033863FD0 -:03013500338E0501 -:030136003395C638 -:03013700339D7D78 -:0301380033A52BC1 -:0301390033ACD90B -:03013A0033B47B60 -:03013B0033BC15BD -:03013C0033C3A822 -:03013D0033CB368B -:03013E0033D2BEFB -:03013F0033DA3C74 -:0301400033E1B6F2 -:0301410033E92778 -:0301420033F09205 -:0301430033F7F798 -:0301440033FF5333 -:030145003406A8D5 -:03014600340DF87D -:030147003415422A -:03014800341C84E0 -:030149003423BF9D -:03014A00342AF460 -:03014B0034322328 -:03014C0034394BF8 -:03014D0034406FCC -:03014E00344789AA -:03014F00344E9E8D -:030150003455AC77 -:03015100345CB269 -:030152003463B45F -:03015300346AB05B -:030154003471A45F -:0301550034789368 -:03015600347F7B78 -:0301570034865F8C -:03015800348D3BA8 -:0301590034940FCC -:03015A00349ADFF5 -:03015B0034A1AA22 -:03015C0034A86E56 -:03015D0034AF2993 -:03015E0034B5E1D4 -:03015F0034BC9518 -:0301600034C34164 -:0301610034C9E7B7 -:0301620034D08511 -:0301630034D71E70 -:0301640034DDB2D5 -:0301650034E4423D -:0301660034EACCAC -:0301670034F14D23 -:0301680034F7CA9F -:0301690034FE4021 -:03016A003504B2A7 -:03016B00350B1F32 -:03016C00351186C4 -:03016D003517E75C -:03016E00351E43F8 -:03016F003524999B -:03017000352AE746 -:03017100353131F4 -:0301720035377AA4 -:03017300353DB760 -:030174003543F31D -:03017500354A28E0 -:03017600355059A8 -:0301770035568377 -:03017800355CA64D -:030179003562C527 -:03017A003568DF06 -:03017B00356EF5E9 -:03017C00357505D1 -:03017D00357B10BF -:03017E00358115B3 -:03017F00358714AD -:03018000358D0EAC -:03018100359305AE -:030182003598F8B5 -:03018300359EE3C3 -:0301840035A4CAD5 -:0301850035AAAAEE -:0301860035B08908 -:0301870035B66129 -:0301880035BC3350 -:0301890035C1FF7E -:03018A0035C7C8AE -:03018B0035CD8DE2 -:03018C0035D34B1D -:03018D0035D90958 -:03018E0035DEBC9F -:03018F0035E46BE9 -:0301900035EA1A33 -:0301910035EFC087 -:0301920035F562DE -:0301930035FAFF3B -:0301940036009B97 -:0301950036062FFC -:03019600360BBF66 -:0301970036114AD4 -:030198003616CF49 -:03019900361C50C1 -:03019A003621CE3D -:03019B00362745BF -:03019C00362CB747 -:03019D00363227D0 -:03019E003637935E -:03019F00363CFAF1 -:0301A00036425E86 -:0301A1003647BB23 -:0301A200364D12C5 -:0301A30036526869 -:0301A4003657B912 -:0301A500365D05BF -:0301A60036624B73 -:0301A70036679127 -:0301A800366CCFE3 -:0301A90036720AA1 -:0301AA0036774065 -:0301AB00367C732C -:0301AC003681A2F7 -:0301AD003686CAC9 -:0301AE00368BEE9F -:0301AF0036910F77 -:0301B00036962C54 -:0301B100369B4634 -:0301B20036A05A1A -:0301B30036A56A04 -:0301B40036AA78F0 -:0301B50036AF81E1 -:0301B60036B486D6 -:0301B70036B987CF -:0301B80036BE83CD -:0301B90036C379D1 -:0301BA0036C86ED6 -:0301BB0036CD5EE0 -:0301BC0036D249EF -:0301BD0036D733FF -:0301BE0036DC1A12 -:0301BF0036E0FA2D -:0301C00036E5D54C -:0301C10036EAAD6E -:0301C20036EF8491 -:0301C30036F455BA -:0301C40036F921E8 -:0301C50036FDEB19 -:0301C6003702B14C -:0301C70037077087 -:0301C800370C30C1 -:0301C9003710EB01 -:0301CA003715A046 -:0301CB00371A538D -:0301CC00371F04D6 -:0301CD003723AF26 -:0301CE0037285877 -:0301CF00372CF9D1 -:0301D00037319C28 -:0301D10037363787 -:0301D200373AD1E8 -:0301D300373F664D -:0301D4003743FAB4 -:0301D50037488820 -:0301D600374D138F -:0301D70037519805 -:0301D80037561C7B -:0301D900375A9DF5 -:0301DA00375F1B71 -:0301DB00376393F4 -:0301DC0037680978 -:0301DD00376C7C00 -:0301DE003770EA8D -:0301DF003775541D -:0301E0003779C0AC -:0301E100377E2541 -:0301E200378285DC -:0301E3003786E07C -:0301E400378B3A1C -:0301E500378F93BE -:0301E6003793E765 -:0301E7003798370F -:0301E800379C85BC -:0301E90037A0CF6D -:0301EA0037A51521 -:0301EB0037A959D8 -:0301EC0037AD9894 -:0301ED0037B1D750 -:0301EE0037B60F12 -:0301EF0037BA44D8 -:0301F00037BE799E -:0301F10037C2A76B -:0301F20037C6D439 -:0301F30037CAFD0B -:0301F40037CF25DD -:0301F50037D347B6 -:0301F60037D76890 -:0301F70037DB846F -:0301F80037DF9F4F -:0301F90037E3B435 -:0301FA0037E7C81C -:0301FB0037EBDA05 -:0301FC0037EFE8F2 -:0301FD0037F3F1E4 -:0301FE0037F7F9D7 -:0301FF0037FC01C9 -:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid118_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid118_invTables_lutmem.hex new file mode 100644 index 00000000..5c7f0b28 --- /dev/null +++ b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid118_invTables_lutmem.hex @@ -0,0 +1,514 @@ +:020000040000FA +:0200000007FAFD +:0200010007EE08 +:0200020007E312 +:0200030007D81C +:0200040007CB28 +:0200050007C032 +:0200060007B53C +:0200070007A947 +:02000800079B54 +:0200090007925C +:02000A00078865 +:02000B00077B71 +:02000C0007717A +:02000D00076486 +:02000E00075A8F +:02000F00075197 +:020010000746A1 +:020011000739AD +:020012000731B4 +:020013000728BC +:02001400071EC5 +:020015000712D0 +:020016000708D9 +:0200170006FDE4 +:0200180006F5EB +:0200190006ECF3 +:02001A0006DFFF +:02001B0006D706 +:02001C0006CE0E +:02001D0006C219 +:02001E0006BA20 +:02001F0006B029 +:0200200006A632 +:02002100069D3A +:02002200069541 +:02002300068A4B +:02002400068252 +:0200250006795A +:02002600067260 +:0200270006666B +:02002800066070 +:0200290006537C +:02002A00064C82 +:02002B00064489 +:02002C00063C90 +:02002D00063497 +:02002E000628A2 +:02002F000620A9 +:020030000619AF +:020031000611B6 +:020032000607BF +:0200330005FEC8 +:0200340005F7CE +:0200350005F0D4 +:0200360005E8DB +:0200370005E1E1 +:0200380005D7EA +:0200390005CFF1 +:02003A0005C8F7 +:02003B0005BFFF +:02003C0005B805 +:02003D0005B10B +:02003E0005AA11 +:02003F0005A416 +:02004000059A1F +:02004100059424 +:02004200058B2C +:02004300058432 +:02004400057E37 +:0200450005763E +:02004600056E45 +:02004700056949 +:02004800055F52 +:02004900055B55 +:02004A0005515E +:02004B00054D61 +:02004C00054568 +:02004D00053E6E +:02004E00053774 +:02004F00052F7B +:02005000052B7E +:02005100052385 +:02005200051D8A +:02005300051591 +:02005400051095 +:0200550005099B +:020056000502A1 +:0200570004FBA8 +:0200580004F7AB +:0200590004F0B1 +:02005A0004E9B7 +:02005B0004E4BB +:02005C0004DCC2 +:02005D0004D7C6 +:02005E0004D0CC +:02005F0004CBD0 +:0200600004C5D5 +:0200610004BFDA +:0200620004B9DF +:0200630004B2E5 +:0200640004ADE9 +:0200650004A8ED +:02006600049FF5 +:020067000499FA +:020068000495FD +:02006900048D04 +:02006A00048907 +:02006B0004850A +:02006C00047E10 +:02006D00047716 +:02006E0004721A +:02006F00046D1E +:02007000046822 +:02007100046425 +:02007200046028 +:02007300045631 +:02007400045135 +:02007500044D38 +:02007600044A3A +:02007700044241 +:02007800044042 +:0200790004374A +:02007A0004344C +:02007B0004304F +:02007C00042A54 +:02007D00042459 +:02007E00041E5E +:02007F00041B60 +:02008000041763 +:02008100041366 +:02008200040E6A +:0200830004086F +:02008400040472 +:0200850003FF77 +:0200860003FB7A +:0200870003F480 +:0200880003F182 +:0200890003ED85 +:02008A0003E988 +:02008B0003E18F +:02008C0003DF90 +:02008D0003DA94 +:02008E0003D598 +:02008F0003D29A +:0200900003CD9E +:0200910003C7A3 +:0200920003C4A5 +:0200930003BFA9 +:0200940003B9AE +:0200950003B5B1 +:0200960003B1B4 +:0200970003AFB5 +:0200980003A8BB +:0200990003A5BD +:02009A0003A0C1 +:02009B00039DC3 +:02009C00039AC5 +:02009D000396C8 +:02009E000391CC +:02009F00038CD0 +:0200A0000388D3 +:0200A1000386D4 +:0200A200037FDA +:0200A300037DDB +:0200A4000378DF +:0200A5000375E1 +:0200A600036FE6 +:0200A700036DE7 +:0200A8000368EB +:0200A9000364EE +:0200AA000360F1 +:0200AB00035DF3 +:0200AC000359F6 +:0200AD000354FA +:0200AE000352FB +:0200AF000350FC +:0200B000034803 +:0200B100034505 +:0200B200034108 +:0200B300033F09 +:0200B400033B0C +:0200B50003380E +:0200B60003360F +:0200B700033311 +:0200B800032D16 +:0200B900032C16 +:0200BA0003271A +:0200BB0003221E +:0200BC00031F20 +:0200BD00031C22 +:0200BE00031924 +:0200BF00031527 +:0200C00003102B +:0200C100030D2D +:0200C200030A2F +:0200C300030632 +:0200C400030433 +:0200C500030234 +:0200C60002FF37 +:0200C70002FB3A +:0200C80002F73D +:0200C90002F53E +:0200CA0002F141 +:0200CB0002ED44 +:0200CC0002EA46 +:0200CD0002E946 +:0200CE0002E34B +:0200CF0002E24B +:0200D00002DF4D +:0200D10002DC4F +:0200D20002DB4F +:0200D30002D653 +:0200D40002D355 +:0200D50002D255 +:0200D60002CE58 +:0200D70002CB5A +:0200D80002C65E +:0200D90002C55E +:0200DA0002C062 +:0200DB0002BC65 +:0200DC0002BB65 +:0200DD0002B867 +:0200DE0002B569 +:0200DF0002B36A +:0200E00002B06C +:0200E10002AE6D +:0200E20002AD6D +:0200E30002A970 +:0200E40002A573 +:0200E50002A275 +:0200E600029F77 +:0200E700029C79 +:0200E80002987C +:0200E90002967D +:0200EA0002947E +:0200EB0002937E +:0200EC00028F81 +:0200ED00028D82 +:0200EE00028B83 +:0200EF00028984 +:0200F000028686 +:0200F10002818A +:0200F200027F8B +:0200F300027E8B +:0200F400027A8E +:0200F500027790 +:0200F600027591 +:0200F700027491 +:0200F800026F95 +:0200F900026D96 +:0200FA00026B97 +:0200FB00026998 +:0200FC0002659B +:0200FD0002629D +:0200FE0002629C +:0200FF0002609D +:02010000025E9D +:02010100025D9D +:020102000259A0 +:020103000256A2 +:020104000255A2 +:020105000254A2 +:020106000250A5 +:02010700024DA7 +:02010800024BA8 +:020109000249A9 +:02010A000248A9 +:02010B000245AB +:02010C000242AD +:02010D000240AE +:02010E00023DB0 +:02010F00023AB2 +:020110000239B2 +:020111000238B2 +:020112000235B4 +:020113000232B6 +:020114000231B6 +:020115000230B6 +:02011600022FB6 +:02011700022BB9 +:020118000228BB +:020119000228BA +:02011A000221C0 +:02011B000221BF +:02011C000221BE +:02011D00021EC0 +:02011E00021CC1 +:02011F00021BC1 +:020120000218C3 +:020121000215C5 +:020122000212C7 +:020123000211C7 +:02012400020FC8 +:02012500020DC9 +:02012600020CC9 +:020127000209CB +:020128000207CC +:020129000207CB +:02012A000205CC +:02012B000203CD +:02012C000202CD +:02012D0001FFD0 +:02012E0001FBD3 +:02012F0001F9D4 +:0201300001FAD2 +:0201310001F6D5 +:0201320001F5D5 +:0201330001F4D5 +:0201340001F4D4 +:0201350001F0D7 +:0201360001F0D6 +:0201370001EDD8 +:0201380001EBD9 +:0201390001EAD9 +:02013A0001E8DA +:02013B0001E4DD +:02013C0001E1DF +:02013D0001E0DF +:02013E0001DEE0 +:02013F0001DEDF +:0201400001DFDD +:0201410001DDDE +:0201420001D7E3 +:0201430001D7E2 +:0201440001D5E3 +:0201450001D3E4 +:0201460001D1E5 +:0201470001D2E3 +:0201480001CCE8 +:0201490001CFE4 +:02014A0001CCE6 +:02014B0001CAE7 +:02014C0001C8E8 +:02014D0001C7E8 +:02014E0001C6E8 +:02014F0001C3EA +:0201500001C2EA +:0201510001C1EA +:0201520001BFEB +:0201530001BCED +:0201540001B9EF +:0201550001B8EF +:0201560001B7EF +:0201570001B7EE +:0201580001B5EF +:0201590001B5EE +:02015A0001B2F0 +:02015B0001AFF2 +:02015C0001AEF2 +:02015D0001AEF1 +:02015E0001AEF0 +:02015F0001ADF0 +:0201600001AAF2 +:0201610001A8F3 +:0201620001A6F4 +:0201630001A3F6 +:0201640001A3F5 +:0201650001A2F5 +:02016600019FF7 +:02016700019DF8 +:02016800019DF7 +:02016900019CF7 +:02016A000199F9 +:02016B000199F8 +:02016C000197F9 +:02016D000196F9 +:02016E000196F8 +:02016F000195F8 +:020170000193F9 +:020171000193F8 +:020172000191F9 +:020173000190F9 +:02017400018EFA +:02017500018DFA +:02017600018CFA +:02017700018BFA +:020178000185FF +:020179000186FD +:02017A000186FC +:02017B000185FC +:02017C00018000 +:02017D000184FB +:02017E000181FD +:02017F00017EFF +:02018000017DFF +:02018100017CFF +:02018200017CFE +:02018300017CFD +:02018400017AFE +:020185000179FE +:020186000178FE +:020187000176FF +:02018800017301 +:02018900017201 +:02018A00017002 +:02018B00016F02 +:02018C00016D03 +:02018D00016D02 +:02018E00016B03 +:02018F00016B02 +:02019000016B01 +:02019100016A01 +:02019200016604 +:02019300016504 +:02019400016503 +:02019500016403 +:02019600016204 +:02019700016203 +:02019800016103 +:02019900015F04 +:02019A00015F03 +:02019B00015D04 +:02019C00015C04 +:02019D00015B04 +:02019E00015905 +:02019F00015706 +:0201A000015804 +:0201A100015803 +:0201A200015703 +:0201A300015603 +:0201A400015503 +:0201A500015403 +:0201A600015105 +:0201A700014E07 +:0201A800014D07 +:0201A900014D06 +:0201AA00014C06 +:0201AB00014A07 +:0201AC00014907 +:0201AD00014906 +:0201AE00014707 +:0201AF00014508 +:0201B000014507 +:0201B100014506 +:0201B200014307 +:0201B300014207 +:0201B400014206 +:0201B500014106 +:0201B600014105 +:0201B700014005 +:0201B800013E06 +:0201B900013D06 +:0201BA00013C06 +:0201BB00013A07 +:0201BC00013907 +:0201BD00013A05 +:0201BE00013A04 +:0201BF00013805 +:0201C000013705 +:0201C100013605 +:0201C200013505 +:0201C300013405 +:0201C400013206 +:0201C500013205 +:0201C600013006 +:0201C700012F06 +:0201C800013004 +:0201C900013003 +:0201CA00012C06 +:0201CB00012E03 +:0201CC00012C04 +:0201CD00012906 +:0201CE00012707 +:0201CF00012805 +:0201D000012705 +:0201D100012407 +:0201D200012604 +:0201D300012306 +:0201D400012305 +:0201D500012205 +:0201D600012204 +:0201D700012005 +:0201D800011F05 +:0201D900012003 +:0201DA00011F03 +:0201DB00011E03 +:0201DC00011C04 +:0201DD00011A05 +:0201DE00011905 +:0201DF00011805 +:0201E000011804 +:0201E100011803 +:0201E200011802 +:0201E300011603 +:0201E400011503 +:0201E500011403 +:0201E600011303 +:0201E700011302 +:0201E800011400 +:0201E9000114FF +:0201EA00011002 +:0201EB00011100 +:0201EC00010F01 +:0201ED00010E01 +:0201EE00010D01 +:0201EF00010C01 +:0201F000010B01 +:0201F100010902 +:0201F200010BFF +:0201F300010801 +:0201F400010800 +:0201F500010601 +:0201F600010600 +:0201F7000107FE +:0201F8000105FF +:0201F900010300 +:0201FA00010200 +:0201FB000102FF +:0201FC000103FD +:0201FD000102FD +:0201FE000100FE +:0201FF000100FD +:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid152_invTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid152_invTables_lutmem.hex deleted file mode 100644 index 8aa92f82..00000000 --- a/hw/rtl/fp_cores/altera/arria10/acl_fdiv_memoryC2_uid152_invTables_lutmem.hex +++ /dev/null @@ -1,514 +0,0 @@ -:020000040000FA -:020000000FF4FB -:020001000FDE10 -:020002000FC627 -:020003000FAD3F -:020004000F9754 -:020005000F7D6D -:020006000F6881 -:020007000F5197 -:020008000F3BAC -:020009000F27BF -:02000A000F0DD8 -:02000B000EF9EC -:02000C000EE004 -:02000D000ECE15 -:02000E000EB72B -:02000F000EA041 -:020010000E8C54 -:020011000E7867 -:020012000E627C -:020013000E4C91 -:020014000E39A3 -:020015000E26B5 -:020016000E10CA -:020017000DFBDF -:020018000DEAEF -:020019000DD305 -:02001A000DC116 -:02001B000DAE28 -:02001C000D9A3B -:02001D000D874D -:02001E000D7360 -:02001F000D5F73 -:020020000D4D84 -:020021000D3B95 -:020022000D28A7 -:020023000D16B8 -:020024000D03CA -:020025000CF0DD -:020026000CDFED -:020027000CCFFC -:020028000CBA10 -:020029000CA920 -:02002A000C9830 -:02002B000C893E -:02002C000C7551 -:02002D000C6560 -:02002E000C556F -:02002F000C4380 -:020030000C3290 -:020031000C20A1 -:020032000C12AE -:020033000C02BD -:020034000BF2CD -:020035000BE0DE -:020036000BCEEF -:020037000BBFFD -:020038000BB10A -:020039000BA119 -:02003A000B9227 -:02003B000B8137 -:02003C000B7245 -:02003D000B6254 -:02003E000B5461 -:02003F000B4371 -:020040000B367D -:020041000B278B -:020042000B1998 -:020043000B09A7 -:020044000AF9B7 -:020045000AEEC1 -:020046000ADCD2 -:020047000ACEDF -:020048000AC1EB -:020049000AB3F8 -:02004A000AA505 -:02004B000A9712 -:02004C000A8A1E -:02004D000A7C2B -:02004E000A6E38 -:02004F000A6243 -:020050000A5351 -:020051000A445F -:020052000A386A -:020053000A2C75 -:020054000A1F81 -:020055000A138C -:020056000A049A -:0200570009F9A5 -:0200580009EBB2 -:0200590009DEBE -:02005A0009D3C8 -:02005B0009C6D4 -:02005C0009BADF -:02005D0009AEEA -:02005E0009A3F4 -:02005F00099204 -:0200600009870E -:02006100097B19 -:02006200096F24 -:0200630009652D -:02006400095839 -:02006500094E42 -:0200660009424D -:02006700093559 -:02006800092A63 -:0200690009206C -:02006A00091279 -:02006B00090981 -:02006C0008FF8B -:02006D0008F495 -:02006E0008E7A1 -:02006F0008DDAA -:0200700008CFB7 -:0200710008C7BE -:0200720008BACA -:0200730008B1D2 -:0200740008A8DA -:02007500089BE6 -:020076000892EE -:020077000887F8 -:02007800087C02 -:0200790008730A -:02007A00086814 -:02007B00085E1D -:02007C00085426 -:02007D00084A2F -:02007E00084137 -:02007F00083641 -:02008000082C4A -:02008100082352 -:0200820008195B -:02008300081063 -:0200840008056D -:0200850007FC76 -:0200860007F37E -:0200870007EA86 -:0200880007E28D -:0200890007D599 -:02008A0007CDA0 -:02008B0007C6A6 -:02008C0007BDAE -:02008D0007B1B9 -:02008E0007A8C1 -:02008F00079FC9 -:020090000796D1 -:02009100078ED8 -:020092000785E0 -:02009300077BE9 -:020094000773F0 -:02009500076CF6 -:020096000765FC -:02009700075907 -:0200980007520D -:02009900074915 -:02009A0007411C -:02009B00073824 -:02009C00072E2D -:02009D00072832 -:02009E00071D3C -:02009F00071741 -:0200A000070F48 -:0200A10007074F -:0200A200070154 -:0200A30006FA5B -:0200A40006ED67 -:0200A50006E76C -:0200A60006E171 -:0200A70006D77A -:0200A80006D17F -:0200A90006CA85 -:0200AA0006C28C -:0200AB0006BA93 -:0200AC0006B29A -:0200AD0006AC9F -:0200AE0006A3A7 -:0200AF00069BAE -:0200B0000695B3 -:0200B100068CBB -:0200B2000685C1 -:0200B3000680C5 -:0200B4000679CB -:0200B5000673D0 -:0200B6000669D9 -:0200B7000661E0 -:0200B800065DE3 -:0200B9000652ED -:0200BA00064CF2 -:0200BB000645F8 -:0200BC00063EFE -:0200BD00063803 -:0200BE00063208 -:0200BF00062C0D -:0200C000062612 -:0200C100062017 -:0200C200061620 -:0200C300061223 -:0200C40006072D -:0200C500060231 -:0200C60005FC37 -:0200C70005F63C -:0200C80005EF42 -:0200C90005E947 -:0200CA0005E34C -:0200CB0005DE50 -:0200CC0005D459 -:0200CD0005CF5D -:0200CE0005CA61 -:0200CF0005C565 -:0200D00005BE6B -:0200D10005B870 -:0200D20005B077 -:0200D30005AC7A -:0200D40005A67F -:0200D500059F85 -:0200D60005998A -:0200D70005938F -:0200D800058F92 -:0200D900058799 -:0200DA0005829D -:0200DB00057EA0 -:0200DC000579A4 -:0200DD000573A9 -:0200DE00056BB0 -:0200DF000566B4 -:0200E000055FBA -:0200E100055ABE -:0200E2000554C3 -:0200E300054EC8 -:0200E400054ACB -:0200E5000543D1 -:0200E600053DD6 -:0200E700053AD8 -:0200E8000535DC -:0200E900052EE2 -:0200EA000528E7 -:0200EB000525E9 -:0200EC000522EB -:0200ED000519F3 -:0200EE000516F5 -:0200EF000510FA -:0200F000050900 -:0200F100050602 -:0200F200050106 -:0200F30004FB0C -:0200F40004F610 -:0200F50004F015 -:0200F60004EA1A -:0200F70004E61D -:0200F80004E121 -:0200F90004DD24 -:0200FA0004D927 -:0200FB0004D42B -:0200FC0004D02E -:0200FD0004CA33 -:0200FE0004C438 -:0200FF0004C03B -:0201000004BC3D -:0201010004B543 -:0201020004B047 -:0201030004AD49 -:0201040004A84D -:0201050004A252 -:02010600049D56 -:02010700049A58 -:0201080004975A -:0201090004915F -:02010A00048C63 -:02010B00048866 -:02010C00048568 -:02010D0004816B -:02010E00047D6E -:02010F00047674 -:02011000047376 -:02011100047078 -:02011200046A7D -:02011300046482 -:02011400046283 -:02011500045B89 -:0201160004588B -:0201170004558D -:02011800045190 -:02011900044C94 -:02011A00044897 -:02011B0004439B -:02011C00043F9E -:02011D00043CA0 -:02011E000438A3 -:02011F000433A7 -:02012000042EAB -:02012100042CAC -:02012200042AAD -:020123000425B1 -:020124000420B5 -:02012500041DB7 -:020126000419BA -:020127000414BE -:020128000411C0 -:02012900040CC4 -:02012A000408C7 -:02012B000406C8 -:02012C000401CC -:02012D0003FDD0 -:02012E0003FAD2 -:02012F0003F6D5 -:0201300003F1D9 -:0201310003EEDB -:0201320003EADE -:0201330003E6E1 -:0201340003E3E3 -:0201350003DFE6 -:0201360003DAEA -:0201370003D8EB -:0201380003D7EB -:0201390003CFF2 -:02013A0003CCF4 -:02013B0003CAF5 -:02013C0003C8F6 -:02013D0003C3FA -:02013E0003BFFD -:02013F0003BCFF -:0201400003B802 -:0201410003B504 -:0201420003B107 -:0201430003AD0A -:0201440003AB0B -:0201450003A90C -:0201460003A50F -:0201470003A112 -:02014800039E14 -:02014900039C15 -:02014A00039818 -:02014B0003951A -:02014C0003911D -:02014D00038C21 -:02014E00038A22 -:02014F00038625 -:02015000038426 -:02015100038227 -:02015200037E2A -:02015300037B2C -:0201540003782E -:02015500037530 -:02015600037232 -:02015700036D36 -:02015800036B37 -:02015900036938 -:02015A0003663A -:02015B0003613E -:02015C00035F3F -:02015D00035E3F -:02015E00035A42 -:02015F00035546 -:02016000035248 -:02016100034F4A -:02016200034E4A -:02016300034C4B -:0201640003494D -:02016500034451 -:02016600034153 -:02016700033F54 -:02016800033D55 -:02016900033B56 -:02016A00033858 -:02016B0003345B -:02016C0003315D -:02016D00032E5F -:02016E00032A62 -:02016F00032863 -:02017000032763 -:02017100032564 -:02017200031F69 -:02017300031E69 -:02017400031A6C -:0201750003176E -:02017600031371 -:02017700031172 -:02017800031072 -:02017900030E73 -:02017A00030B75 -:02017B00030877 -:02017C00030579 -:02017D0003027B -:02017E0003007C -:02017F0002FF7D -:0201800002FD7E -:0201810002F981 -:0201820002F584 -:0201830002F385 -:0201840002F186 -:0201850002EF87 -:0201860002EB8A -:0201870002E88C -:0201880002E78C -:0201890002E68C -:02018A0002E38E -:02018B0002E090 -:02018C0002DF90 -:02018D0002D995 -:02018E0002D994 -:02018F0002D894 -:0201900002D398 -:0201910002D199 -:0201920002CF9A -:0201930002CE9A -:0201940002C89F -:0201950002C6A0 -:0201960002C3A2 -:0201970002C1A3 -:0201980002C0A3 -:0201990002BEA4 -:02019A0002BBA6 -:02019B0002BBA5 -:02019C0002BAA5 -:02019D0002B7A7 -:02019E0002B4A9 -:02019F0002B1AB -:0201A00002ADAE -:0201A10002ACAE -:0201A20002ABAE -:0201A30002A8B0 -:0201A40002A5B2 -:0201A50002A3B3 -:0201A60002A3B2 -:0201A700029EB6 -:0201A800029CB7 -:0201A900029AB8 -:0201AA000298B9 -:0201AB000295BB -:0201AC000292BD -:0201AD000292BC -:0201AE000291BC -:0201AF00028FBD -:0201B000028DBE -:0201B100028AC0 -:0201B2000289C0 -:0201B3000287C1 -:0201B4000284C3 -:0201B5000281C5 -:0201B600027FC6 -:0201B700027CC8 -:0201B800027BC8 -:0201B900027BC7 -:0201BA000278C9 -:0201BB000277C9 -:0201BC000276C9 -:0201BD000272CC -:0201BE00026ECF -:0201BF00026DCF -:0201C000026DCE -:0201C100026BCF -:0201C2000267D2 -:0201C3000266D2 -:0201C4000265D2 -:0201C5000262D4 -:0201C6000261D4 -:0201C7000261D3 -:0201C800025DD6 -:0201C900025BD7 -:0201CA00025BD6 -:0201CB000258D8 -:0201CC000255DA -:0201CD000253DB -:0201CE000251DC -:0201CF000252DA -:0201D000024EDD -:0201D100024DDD -:0201D200024BDE -:0201D3000249DF -:0201D4000246E1 -:0201D5000244E2 -:0201D6000243E2 -:0201D7000243E1 -:0201D8000241E2 -:0201D900023EE4 -:0201DA00023CE5 -:0201DB00023BE5 -:0201DC000239E6 -:0201DD000237E7 -:0201DE000236E7 -:0201DF000236E6 -:0201E0000230EB -:0201E100022EEC -:0201E200022EEB -:0201E300022FE9 -:0201E400022DEA -:0201E500022AEC -:0201E6000228ED -:0201E7000227ED -:0201E8000224EF -:0201E9000223EF -:0201EA000221F0 -:0201EB000220F0 -:0201EC00021EF1 -:0201ED00021BF3 -:0201EE00021BF2 -:0201EF00021BF1 -:0201F0000218F3 -:0201F1000217F3 -:0201F2000216F3 -:0201F3000214F4 -:0201F4000212F5 -:0201F5000211F5 -:0201F600020FF6 -:0201F700020EF6 -:0201F800020CF7 -:0201F900020CF6 -:0201FA00020AF7 -:0201FB000207F9 -:0201FC000206F9 -:0201FD000205F9 -:0201FE000204F9 -:0201FF0001FFFE -:00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid88_sqrtTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid62_sqrtTables_lutmem.hex similarity index 50% rename from hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid88_sqrtTables_lutmem.hex rename to hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid62_sqrtTables_lutmem.hex index dd873ae3..dacc8b55 100644 --- a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid88_sqrtTables_lutmem.hex +++ b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC0_uid62_sqrtTables_lutmem.hex @@ -127,132 +127,132 @@ :04007D000B3F49F3F9 :04007E000B44F93AFC :04007F000B4AA5A5DE -:040080000B504F379B -:040081000B5B99E498 -:040082000B66D962CE -:040083000B720DD21D -:040084000B7D375564 -:040085000B88560A84 -:040086000B936A105E -:040087000B9E7387D2 -:040088000BA9728BC3 -:040089000BB4673B12 -:04008A000BBF51B3A4 -:04008B000BCA32105A -:04008C000BD5086D1B -:04008D000BDFD4E6CB -:04008E000BEA97964C -:04008F000BF5509885 -:040090000C0000045C -:040091000C0AA5F5BB -:040092000C15428483 -:040093000C1FD5CA9F -:040094000C2A5FDEF5 -:040095000C34E0D86F -:040096000C3F58D1F2 -:040097000C49C7DE6B -:040098000C542E17BF -:040099000C5E8B91DD -:04009A000C68E063AB -:04009B000C732CA313 -:04009C000C7D706502 -:04009D000C87ABBE63 -:04009E000C91DEC320 -:04009F000C9C098824 -:0400A0000CA62C225C -:0400A1000CB046A2B7 -:0400A2000CBA591E1D -:0400A3000CC463A77F -:0400A4000CCE6651C7 -:0400A5000CD8612EE4 -:0400A6000CE2544FC5 -:0400A7000CEC3FC856 -:0400A8000CF623A986 -:0400A9000D00000442 -:0400AA000D09D4EA7E -:0400AB000D13A26B24 -:0400AC000D1D689925 -:0400AD000D27278470 -:0400AE000D30DF3BF7 -:0400AF000D3A8FCEA9 -:0400B0000D44394E74 -:0400B1000D4DDBCA4C -:0400B2000D5777501F -:0400B3000D610BF0E0 -:0400B4000D6A99B97F -:0400B5000D7420B9ED -:0400B6000D7DA0FE1E -:0400B7000D871A9700 -:0400B8000D908D9288 -:0400B9000D99F9FDA7 -:0400BA000DA35FE44F -:0400BB000DACBF5673 -:0400BC000DB6186005 -:0400BD000DBF6B0FF9 -:0400BE000DC8B76F43 -:0400BF000DD1FD8ED4 -:0400C0000DDB3D789F -:0400C1000DE4773A99 -:0400C2000DEDAADFB7 -:0400C3000DF6D874EA -:0400C4000E00000426 -:0400C5000E09219C63 -:0400C6000E123D4792 -:0400C7000E1B5311A8 -:0400C8000E2463049B -:0400C9000E2D6D2D5E -:0400CA000E367195E8 -:0400CB000E3F70492B -:0400CC000E4869531E -:0400CD000E515CBDB7 -:0400CE000E5A4A92EA -:0400CF000E6332DCAE -:0400D0000E6C15A6F7 -:0400D1000E74F2FABD -:0400D2000E7DCAE2F3 -:0400D3000E869D6791 -:0400D4000E8F6A948D -:0400D5000E983272DD -:0400D6000EA0F50B78 -:0400D7000EA9B26854 -:0400D8000EB26A9367 -:0400D9000EBB1D94A9 -:0400DA000EC3CB7610 -:0400DB000ECC744093 -:0400DC000ED517FC2A -:0400DD000EDDB6B2CC -:0400DE000EE6506C6E -:0400DF000EEEE5320A -:0400E0000EF7750D95 -:0400E1000F00000408 -:0400E2000F0886215C -:0400E3000F11076B87 -:0400E4000F1983EA83 -:0400E5000F21FBA844 -:0400E6000F2A6EAAC5 -:0400E7000F32DCFBFD -:0400E8000F3B46A1E3 -:0400E9000F43ABA472 -:0400EA000F4C0C0BA0 -:0400EB000F5467DF68 -:0400EC000F5CBF27BF -:0400ED000F6511E9A1 -:0400EE000F6D602E04 -:0400EF000F75A9FDE3 -:0400F0000F7DEF5D34 -:0400F1000F863054F2 -:0400F2000F8E6CEB16 -:0400F3000F96A52798 -:0400F4000F9ED91072 -:0400F5000FA708AC9D -:0400F6000FAF340311 -:0400F7000FB75B1BC9 -:0400F8000FBF7DFABF -:0400F9000FC79CA7EA -:0400FA000FCFB72944 -:0400FB000FD7CD85C9 -:0400FC000FDFDFC370 -:0400FD000FE7EDE933 -:0400FE000FEFF7FC0D -:0400FF000FF7FE03F6 +:040080000B504F3C96 +:040081000B5B99E894 +:040082000B66D966CA +:040083000B720DD619 +:040084000B7D375861 +:040085000B88560E80 +:040086000B936A145A +:040087000B9E738ACF +:040088000BA97290BE +:040089000BB4673E0F +:04008A000BBF51B6A1 +:04008B000BCA321456 +:04008C000BD5087018 +:04008D000BDFD4EAC7 +:04008E000BEA979A48 +:04008F000BF5509C81 +:040090000C00000858 +:040091000C0AA5FAB6 +:040092000C1542887F +:040093000C1FD5CE9B +:040094000C2A5FE2F1 +:040095000C34E0DC6B +:040096000C3F58D4EF +:040097000C49C7E267 +:040098000C542E1ABC +:040099000C5E8B96D8 +:04009A000C68E068A6 +:04009B000C732CA610 +:04009C000C7D7068FF +:04009D000C87ABC25F +:04009E000C91DEC81B +:04009F000C9C098C20 +:0400A0000CA62C2658 +:0400A1000CB046A6B3 +:0400A2000CBA592219 +:0400A3000CC463AC7A +:0400A4000CCE6654C4 +:0400A5000CD86132E0 +:0400A6000CE25454C0 +:0400A7000CEC3FCC52 +:0400A8000CF623AE81 +:0400A9000D0000083E +:0400AA000D09D4EE7A +:0400AB000D13A2701F +:0400AC000D1D689E20 +:0400AD000D2727886C +:0400AE000D30DF3EF4 +:0400AF000D3A8FD2A5 +:0400B0000D44395270 +:0400B1000D4DDBCE48 +:0400B2000D5777541B +:0400B3000D610BF4DC +:0400B4000D6A99BC7C +:0400B5000D7420BCEA +:0400B6000D7DA10219 +:0400B7000D871A9CFB +:0400B8000D908D9684 +:0400B9000D99FA00A3 +:0400BA000DA35FE84B +:0400BB000DACBF5A6F +:0400BC000DB6186401 +:0400BD000DBF6B12F6 +:0400BE000DC8B7743E +:0400BF000DD1FD92D0 +:0400C0000DDB3D7C9B +:0400C1000DE4773E95 +:0400C2000DEDAAE2B4 +:0400C3000DF6D878E6 +:0400C4000E00000822 +:0400C5000E0921A05F +:0400C6000E123D4C8D +:0400C7000E1B5314A5 +:0400C8000E24630897 +:0400C9000E2D6D305B +:0400CA000E36719AE3 +:0400CB000E3F704E26 +:0400CC000E4869561B +:0400CD000E515CC0B4 +:0400CE000E5A4A96E6 +:0400CF000E6332E0AA +:0400D0000E6C15AAF3 +:0400D1000E74F2FEB9 +:0400D2000E7DCAE6EF +:0400D3000E869D6C8C +:0400D4000E8F6A9889 +:0400D5000E983276D9 +:0400D6000EA0F51073 +:0400D7000EA9B26C50 +:0400D8000EB26A9862 +:0400D9000EBB1D98A5 +:0400DA000EC3CB7A0C +:0400DB000ECC74448F +:0400DC000ED5180025 +:0400DD000EDDB6B6C8 +:0400DE000EE650706A +:0400DF000EEEE53606 +:0400E0000EF7751092 +:0400E1000F00000804 +:0400E2000F08862459 +:0400E3000F11076E84 +:0400E4000F1983EE7F +:0400E5000F21FBAC40 +:0400E6000F2A6EAEC1 +:0400E7000F32DD00F7 +:0400E8000F3B46A4E0 +:0400E9000F43ABA86E +:0400EA000F4C0C109B +:0400EB000F5467E463 +:0400EC000F5CBF2ABC +:0400ED000F6511EE9C +:0400EE000F6D603200 +:0400EF000F75AA02DD +:0400F0000F7DEF6031 +:0400F1000F863058EE +:0400F2000F8E6CEE13 +:0400F3000F96A52A95 +:0400F4000F9ED9146E +:0400F5000FA708B099 +:0400F6000FAF34060E +:0400F7000FB75B1EC6 +:0400F8000FBF7DFEBB +:0400F9000FC79CACE5 +:0400FA000FCFB72C41 +:0400FB000FD7CD8AC4 +:0400FC000FDFDFC86B +:0400FD000FE7EDEC30 +:0400FE000FEFF80008 +:0400FF000FF7FE08F1 :00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid91_sqrtTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid65_sqrtTables_lutmem.hex similarity index 57% rename from hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid91_sqrtTables_lutmem.hex rename to hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid65_sqrtTables_lutmem.hex index 8706b134..7a6961dc 100644 --- a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid91_sqrtTables_lutmem.hex +++ b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC1_uid65_sqrtTables_lutmem.hex @@ -127,132 +127,132 @@ :03007D0005B0B714 :03007E0005ADD9F4 :03007F0005AAFED1 -:030080000B504DD5 +:030080000B504AD8 :030081000B450C20 :030082000B39EE49 -:030083000B2EF34E -:030084000B241238 -:030085000B1955FF +:030083000B2EF24F +:030084000B241634 +:030085000B1956FE :030086000B0EB8A6 -:030087000B043433 -:030088000AF9D39F -:030089000AEF8BF0 -:03008A000AE56321 -:03008B000ADB5439 -:03008C000AD16432 +:030087000B043A2D +:030088000AF9D0A2 +:030089000AEF90EB +:03008A000AE5661E +:03008B000ADB5637 +:03008C000AD1682E :03008D000AC78E11 -:03008E000ABDD3D5 -:03008F000AB42F81 -:030090000AAAA910 -:030091000AA13B86 -:030092000A97E6E4 -:030093000A8EA52D -:030094000A858159 -:030095000A7C756D -:030096000A737B6F -:030097000A6A9D55 -:030098000A61D228 -:030099000A5921E0 -:03009A000A508485 -:03009B000A47FA17 -:03009C000A3F8791 -:03009D000A372AF5 -:03009E000A2EE146 -:03009F000A26AC82 +:03008E000ABDD2D6 +:03008F000AB42E82 +:030090000AAAA811 +:030091000AA13889 +:030092000A97E4E6 +:030093000A8EA42E +:030094000A85805A +:030095000A7C766C +:030096000A737E6C +:030097000A6A9E54 +:030098000A61D822 +:030099000A591CE5 +:03009A000A508287 +:03009B000A480010 +:03009C000A3F8A8E +:03009D000A372CF3 +:03009E000A2EDE49 +:03009F000A26AA84 :0300A0000A1E86AF -:0300A1000A1679C3 -:0300A2000A0E7CC7 -:0300A3000A0695B5 -:0300A40009FEBF93 -:0300A50009F6FA5F -:0300A60009EF4A15 -:0300A70009E7A8BE -:0300A80009E01A52 +:0300A1000A167AC2 +:0300A2000A0E7EC5 +:0300A3000A0692B8 +:0300A40009FEC092 +:0300A50009F6F861 +:0300A60009EF4619 +:0300A70009E7AABC +:0300A80009E01656 :0300A90009D89CD7 -:0300AA0009D12F4A -:0300AB0009C9D5AB -:0300AC0009C289FD -:0300AD0009BB4A42 -:0300AE0009B42072 +:0300AA0009D12E4B +:0300AB0009C9D0B0 +:0300AC0009C28402 +:0300AD0009BB4C40 +:0300AE0009B4246E :0300AF0009AD0692 -:0300B00009A5FBA4 -:0300B100099EFBAA -:0300B20009980F9B -:0300B30009913080 -:0300B400098A5F57 -:0300B50009839E1E -:0300B600097CEDD5 -:0300B7000976487F -:0300B800096FAF1E -:0300B900096925AD -:0300BA000962AB2D +:0300B00009A5F8A7 +:0300B100099EFAAB +:0300B20009980E9C +:0300B3000991327E +:0300B400098A6452 +:0300B5000983A21A +:0300B600097CECD6 +:0300B70009764483 +:0300B800096FB21B +:0300B900096928AA +:0300BA000962AA2E :0300BB00095C3CA1 -:0300BC000955D90A -:0300BD00094F8464 -:0300BE0009493EAF +:0300BC000955DA09 +:0300BD00094F8662 +:0300BE0009493AB3 :0300BF00094302F0 -:0300C000093CD424 -:0300C1000936AE4F -:0300C20009309A68 +:0300C000093CD226 +:0300C1000936B04D +:0300C20009309C66 :0300C300092A8E79 -:0300C4000924917B -:0300C500091E9E73 -:0300C6000918B75F -:0300C7000912DA41 -:0300C800090D0B14 -:0300C900090745DF -:0300CA0009018D9C -:0300CB0008FBDB54 -:0300CC0008F635FE -:0300CD0008F09B9D +:0300C4000924927A +:0300C500091EA071 +:0300C6000918B462 +:0300C7000912DE3D +:0300C800090D0C13 +:0300C900090746DE +:0300CA00090188A1 +:0300CB0008FBDA55 +:0300CC0008F63AF9 +:0300CD0008F09E9A :0300CE0008EB0C30 :0300CF0008E588B9 -:0300D00008E00D38 -:0300D10008DA9BAF -:0300D20008D5341A -:0300D30008CFD87B -:0300D40008CA85D2 -:0300D50008C53B20 -:0300D60008BFFA66 -:0300D70008BAC3A1 -:0300D80008B595D3 +:0300D00008E00E37 +:0300D10008DA9CAE +:0300D20008D5321C +:0300D30008CFD47F +:0300D40008CA84D3 +:0300D50008C53A21 +:0300D60008BFF66A +:0300D70008BAC4A0 +:0300D80008B590D8 :0300D90008B070FC :0300DA0008AB521E :0300DB0008A64034 -:0300DC0008A13741 +:0300DC0008A13840 :0300DD00089C3844 :0300DE0008974040 -:0300DF0008924F35 -:0300E000088D6622 -:0300E10008888903 -:0300E2000883AFE1 -:0300E300087EE1B3 -:0300E400087A1E79 -:0300E50008755B40 -:0300E6000870A9F6 -:0300E700086BF9AA -:0300E80008675155 -:0300E9000862B3F7 -:0300EA00085E1D90 -:0300EB0008598C25 -:0300EC00085503B1 -:0300ED0008508434 -:0300EE00084C0AB1 -:0300EF000847952A -:0300F00008432999 +:0300DF0008925034 +:0300E000088D6A1E +:0300E10008888804 +:0300E2000883B4DC +:0300E300087EE6AE +:0300E400087A1C7B +:0300E50008755E3D +:0300E6000870ACF3 +:0300E700086BF6AD +:0300E80008675452 +:0300E9000862B2F8 +:0300EA00085E1895 +:0300EB0008598A27 +:0300EC00085504B0 +:0300ED0008508038 +:0300EE00084C0CAF +:0300EF000847942B +:0300F00008432C96 :0300F100083EC600 -:0300F200083A6564 -:0300F30008360FBD +:0300F200083A6A5F +:0300F300083612BA :0300F4000831C010 -:0300F500082D785B -:0300F600082934A2 -:0300F7000824F8E2 -:0300F8000820C419 -:0300F900081C964A -:0300FA0008186E75 -:0300FB0008144E98 -:0300FC00081031B8 -:0300FD00080C1AD2 -:0300FE0008080BE4 -:0300FF00080402F0 +:0300F500082D7A59 +:0300F60008293A9C +:0300F7000824FCDE +:0300F8000820C21B +:0300F900081C944C +:0300FA0008187073 +:0300FB000814489E +:0300FC00081030B9 +:0300FD00080C1ECE +:0300FE0008080EE1 +:0300FF000803FEF5 :00000001ff diff --git a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid94_sqrtTables_lutmem.hex b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid68_sqrtTables_lutmem.hex similarity index 60% rename from hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid94_sqrtTables_lutmem.hex rename to hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid68_sqrtTables_lutmem.hex index 79259688..7e63b697 100644 --- a/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid94_sqrtTables_lutmem.hex +++ b/hw/rtl/fp_cores/altera/arria10/acl_fsqrt_memoryC2_uid68_sqrtTables_lutmem.hex @@ -127,132 +127,132 @@ :02007D000E90E3 :02007E000E92E0 :02007F000E94DD -:020080000A6014 +:020080000A6212 :020081000A7201 :020082000A82F0 -:020083000A8FE2 -:020084000AA3CD -:020085000AB1BE +:020083000A90E1 +:020084000AA0D0 +:020085000AB0BF :020086000ABEB0 -:020087000AD09D -:020088000ADC90 -:020089000AED7E -:02008A000AF971 -:02008B000B095F -:02008C000B1552 +:020087000ACAA3 +:020088000ADE8E +:020089000AE883 +:02008A000AF872 +:02008B000B0662 +:02008C000B1255 :02008D000B2244 -:02008E000B2E37 -:02008F000B3D27 -:020090000B481B -:020091000B540E -:020092000B5F02 -:020093000B6FF1 -:020094000B79E6 -:020095000B83DB -:020096000B92CB -:020097000B9BC1 -:020098000BA8B3 -:020099000BB1A9 +:02008E000B3035 +:02008F000B3E26 +:020090000B4A19 +:020091000B560C +:020092000B62FF +:020093000B70F0 +:020094000B7AE5 +:020095000B82DC +:020096000B90CD +:020097000B9AC2 +:020098000BA2B9 +:020099000BB6A4 :02009A000BBC9D -:02009B000BC890 -:02009C000BD285 -:02009D000BDB7B -:02009E000BE471 -:02009F000BED67 +:02009B000BC296 +:02009C000BD087 +:02009D000BD87E +:02009E000BE66F +:02009F000BF064 :0200A0000BFA59 -:0200A1000C034E -:0200A2000C0D43 -:0200A3000C153A -:0200A4000C1D31 -:0200A5000C2726 -:0200A6000C2F1D -:0200A7000C3912 -:0200A8000C4109 +:0200A1000C024F +:0200A2000C0A46 +:0200A3000C1639 +:0200A4000C1E30 +:0200A5000C2A23 +:0200A6000C321A +:0200A7000C3615 +:0200A8000C4406 :0200A9000C4AFF -:0200AA000C52F6 -:0200AB000C59EE -:0200AC000C61E5 -:0200AD000C6DD8 -:0200AE000C73D1 +:0200AA000C54F4 +:0200AB000C5EE9 +:0200AC000C66E0 +:0200AD000C6ADB +:0200AE000C70D4 :0200AF000C7AC9 -:0200B0000C80C2 -:0200B1000C8BB6 -:0200B2000C91AF -:0200B3000C99A6 -:0200B4000CA19D -:0200B5000CA796 -:0200B6000CAC90 -:0200B7000CB388 -:0200B8000CBC7E -:0200B9000CC277 -:0200BA000CC771 +:0200B0000C84BE +:0200B1000C8CB5 +:0200B2000C92AE +:0200B3000C96A9 +:0200B4000C9CA2 +:0200B5000CA499 +:0200B6000CAE8E +:0200B7000CB685 +:0200B8000CB882 +:0200B9000CC079 +:0200BA000CC870 :0200BB000CCE69 -:0200BC000CD660 +:0200BC000CD462 :0200BD000CDC59 -:0200BE000CE153 +:0200BE000CE450 :0200BF000CE84B -:0200C0000CED45 -:0200C1000CF73A +:0200C0000CF042 +:0200C1000CF43D :0200C2000CFA36 :0200C3000D022C -:0200C4000D0726 -:0200C5000D0D1F -:0200C6000D1318 -:0200C7000D1911 -:0200C8000D1E0B -:0200C9000D2305 -:0200CA000D2700 -:0200CB000D2FF7 -:0200CC000D35F0 -:0200CD000D3AEA +:0200C4000D0627 +:0200C5000D0A22 +:0200C6000D1417 +:0200C7000D1614 +:0200C8000D1C0D +:0200C9000D2404 +:0200CA000D2CFB +:0200CB000D2EF8 +:0200CC000D30F5 +:0200CD000D38EC :0200CE000D3EE5 :0200CF000D42E0 -:0200D0000D47DA -:0200D1000D4DD3 -:0200D2000D51CE -:0200D3000D55C9 -:0200D4000D59C4 -:0200D5000D5EBE -:0200D6000D63B8 -:0200D7000D68B2 -:0200D8000D6CAD +:0200D0000D46DB +:0200D1000D4CD4 +:0200D2000D54CB +:0200D3000D58C6 +:0200D4000D5AC3 +:0200D5000D60BC +:0200D6000D66B5 +:0200D7000D66B4 +:0200D8000D70A9 :0200D9000D72A6 :0200DA000D789F :0200DB000D7C9A -:0200DC000D7F96 +:0200DC000D7E97 :0200DD000D8292 :0200DE000D868D -:0200DF000D8C86 -:0200E0000D9180 -:0200E1000D937D -:0200E2000D9B74 -:0200E3000D9E70 -:0200E4000D9F6E -:0200E5000DA864 -:0200E6000DA863 -:0200E7000DAD5D -:0200E8000DB257 -:0200E9000DB454 -:0200EA000DB750 +:0200DF000D8A88 +:0200E0000D8E83 +:0200E1000D947C +:0200E2000D9679 +:0200E3000D9A74 +:0200E4000DA26B +:0200E5000DA468 +:0200E6000DA467 +:0200E7000DAE5C +:0200E8000DB059 +:0200E9000DB652 +:0200EA000DBC4B :0200EB000DBC4A -:0200EC000DBF46 -:0200ED000DC143 -:0200EE000DC53E -:0200EF000DCB37 -:0200F0000DCE33 +:0200EC000DC045 +:0200ED000DC440 +:0200EE000DC241 +:0200EF000DCA38 +:0200F0000DCC35 :0200F1000DD030 -:0200F2000DD728 -:0200F3000DDA24 +:0200F2000DD22D +:0200F3000DD826 :0200F4000DDC21 -:0200F5000DDF1D -:0200F6000DE417 -:0200F7000DE713 -:0200F8000DE910 +:0200F5000DDC20 +:0200F6000DDE1D +:0200F7000DE416 +:0200F8000DEC0D :0200F9000DEC0C :0200FA000DEE09 -:0200FB000DF006 -:0200FC000DF500 -:0200FD000DF9FB -:0200FE000DFCF7 -:0200FF000DFFF3 +:0200FB000DF600 +:0200FC000DF401 +:0200FD000DF6FE +:0200FE000DF8FB +:0200FF000E02EF :00000001ff diff --git a/hw/rtl/libs/VX_reset_relay.v b/hw/rtl/libs/VX_reset_relay.v index 19a598ab..05e4647a 100644 --- a/hw/rtl/libs/VX_reset_relay.v +++ b/hw/rtl/libs/VX_reset_relay.v @@ -7,7 +7,7 @@ module VX_reset_relay #( ) ( input wire clk, input wire reset, - output wire [NUM_NODES-1:0] reset_out + output wire [NUM_NODES-1:0] reset_o ); if (DEPTH > 1) begin @@ -25,7 +25,7 @@ module VX_reset_relay #( reset_r[0] <= {NUM_NODES{reset}}; end end - assign reset_out = reset_r[DEPTH-1]; + assign reset_o = reset_r[DEPTH-1]; end else if (DEPTH == 1) begin reg [NUM_NODES-1:0] reset_r; if (ASYNC) begin @@ -37,10 +37,10 @@ module VX_reset_relay #( reset_r <= {NUM_NODES{reset}}; end end - assign reset_out = reset_r; + assign reset_o = reset_r; end else begin `UNUSED_VAR (clk) - assign reset_out = {NUM_NODES{reset}}; + assign reset_o = {NUM_NODES{reset}}; end endmodule \ No newline at end of file diff --git a/hw/syn/quartus/project.tcl b/hw/syn/quartus/project.tcl index e98654c3..aeb6c7e8 100644 --- a/hw/syn/quartus/project.tcl +++ b/hw/syn/quartus/project.tcl @@ -40,8 +40,11 @@ set_global_assignment -name VERILOG_MACRO SYNTHESIS set_global_assignment -name VERILOG_MACRO NDEBUG set_global_assignment -name MESSAGE_DISABLE 16818 set_global_assignment -name TIMEQUEST_DO_REPORT_TIMING ON -set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED +set_global_assignment -name OPTIMIZATION_TECHNIQUE SPEED +set_global_assignment -name ALLOW_ANY_RAM_SIZE_FOR_RECOGNITION ON +set_global_assignment -name USE_HIGH_SPEED_ADDER ON +set_global_assignment -name MUX_RESTRUCTURE ON #set_global_assignment -name OPTIMIZATION_MODE "AGGRESSIVE PERFORMANCE" #set_global_assignment -name FITTER_EFFORT "STANDARD FIT" #set_global_assignment -name OPTIMIZE_HOLD_TIMING "ALL PATHS"