summaryrefslogtreecommitdiff
path: root/src/gpgpu-sim/addrdec.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/gpgpu-sim/addrdec.h')
-rw-r--r--src/gpgpu-sim/addrdec.h120
1 files changed, 56 insertions, 64 deletions
diff --git a/src/gpgpu-sim/addrdec.h b/src/gpgpu-sim/addrdec.h
index 12123f5..6eddb15 100644
--- a/src/gpgpu-sim/addrdec.h
+++ b/src/gpgpu-sim/addrdec.h
@@ -7,27 +7,28 @@
//
// Redistributions of source code must retain the above copyright notice, this
// list of conditions and the following disclaimer.
-// Redistributions in binary form must reproduce the above copyright notice, this
-// list of conditions and the following disclaimer in the documentation and/or
-// other materials provided with the distribution.
-// Neither the name of The University of British Columbia nor the names of its
-// contributors may be used to endorse or promote products derived from this
-// software without specific prior written permission.
+// Redistributions in binary form must reproduce the above copyright notice,
+// this list of conditions and the following disclaimer in the documentation
+// and/or other materials provided with the distribution. Neither the name of
+// The University of British Columbia nor the names of its contributors may be
+// used to endorse or promote products derived from this software without
+// specific prior written permission.
//
-// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-// ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-// WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
-// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
-// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
-// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+// ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
+// LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+// CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+// SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+// INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+// CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+// ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+// POSSIBILITY OF SUCH DAMAGE.
+#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
-#include <assert.h>
#include "../option_parser.h"
#ifndef ADDRDEC_H
@@ -35,68 +36,59 @@
#include "../abstract_hardware_model.h"
-enum partition_index_function{
- CONSECUTIVE = 0,
- BITWISE_PERMUTATION,
- IPOLY,
- PAE,
- RANDOM,
- CUSTOM
+enum partition_index_function {
+ CONSECUTIVE = 0,
+ BITWISE_PERMUTATION,
+ IPOLY,
+ PAE,
+ RANDOM,
+ CUSTOM
};
struct addrdec_t {
- void print( FILE *fp ) const;
-
- unsigned chip;
- unsigned bk;
- unsigned row;
- unsigned col;
- unsigned burst;
+ void print(FILE *fp) const;
- unsigned sub_partition;
-};
+ unsigned chip;
+ unsigned bk;
+ unsigned row;
+ unsigned col;
+ unsigned burst;
+ unsigned sub_partition;
+};
class linear_to_raw_address_translation {
-public:
- linear_to_raw_address_translation();
- void addrdec_setoption(option_parser_t opp);
- void init(unsigned int n_channel, unsigned int n_sub_partition_in_channel);
+ public:
+ linear_to_raw_address_translation();
+ void addrdec_setoption(option_parser_t opp);
+ void init(unsigned int n_channel, unsigned int n_sub_partition_in_channel);
- // accessors
- void addrdec_tlx(new_addr_type addr, addrdec_t *tlx) const;
- new_addr_type partition_address( new_addr_type addr ) const;
+ // accessors
+ void addrdec_tlx(new_addr_type addr, addrdec_t *tlx) const;
+ new_addr_type partition_address(new_addr_type addr) const;
-private:
- void addrdec_parseoption(const char *option);
- void sweep_test() const; // sanity check to ensure no overlapping
+ private:
+ void addrdec_parseoption(const char *option);
+ void sweep_test() const; // sanity check to ensure no overlapping
- enum {
- CHIP = 0,
- BK = 1,
- ROW = 2,
- COL = 3,
- BURST = 4,
- N_ADDRDEC
- };
+ enum { CHIP = 0, BK = 1, ROW = 2, COL = 3, BURST = 4, N_ADDRDEC };
- const char *addrdec_option;
- int gpgpu_mem_address_mask;
- partition_index_function memory_partition_indexing;
- bool run_test;
+ const char *addrdec_option;
+ int gpgpu_mem_address_mask;
+ partition_index_function memory_partition_indexing;
+ bool run_test;
- int ADDR_CHIP_S;
- unsigned char addrdec_mklow[N_ADDRDEC];
- unsigned char addrdec_mkhigh[N_ADDRDEC];
- new_addr_type addrdec_mask[N_ADDRDEC];
- new_addr_type sub_partition_id_mask;
+ int ADDR_CHIP_S;
+ unsigned char addrdec_mklow[N_ADDRDEC];
+ unsigned char addrdec_mkhigh[N_ADDRDEC];
+ new_addr_type addrdec_mask[N_ADDRDEC];
+ new_addr_type sub_partition_id_mask;
- unsigned int gap;
- unsigned m_n_channel;
- int m_n_sub_partition_in_channel;
+ unsigned int gap;
+ unsigned m_n_channel;
+ int m_n_sub_partition_in_channel;
unsigned log2channel;
unsigned log2sub_partition;
-
};
#endif