diff options
Diffstat (limited to 'src/gpgpu-sim/addrdec.h')
| -rw-r--r-- | src/gpgpu-sim/addrdec.h | 120 |
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 |
