1# Copyright (c) 2012-2018 ARM Limited 2# All rights reserved. 3# 4# The license below extends only to copyright in the software and shall 5# not be construed as granting a license to any other intellectual 6# property including but not limited to intellectual property relating 7# to a hardware implementation of the functionality of the software 8# licensed hereunder. You may use the software subject to the license --- 33 unchanged lines hidden (view full) --- 42# Ani Udipi 43# Omar Naji 44# Matthias Jung 45# Erfan Azarkhish 46 47from m5.params import * 48from m5.proxy import * 49from AbstractMemory import * |
50from QoSMemCtrl import * |
51 52# Enum for memory scheduling algorithms, currently First-Come 53# First-Served and a First-Row Hit then First-Come First-Served 54class MemSched(Enum): vals = ['fcfs', 'frfcfs'] 55 56# Enum for the address mapping. With Ch, Ra, Ba, Ro and Co denoting 57# channel, rank, bank, row and column, respectively, and going from 58# MSB to LSB. Available are RoRaBaChCo and RoRaBaCoCh, that are --- 6 unchanged lines hidden (view full) --- 65# close_adaptive. 66class PageManage(Enum): vals = ['open', 'open_adaptive', 'close', 67 'close_adaptive'] 68 69# DRAMCtrl is a single-channel single-ported DRAM controller model 70# that aims to model the most important system-level performance 71# effects of a DRAM without getting into too much detail of the DRAM 72# itself. |
73class DRAMCtrl(QoSMemCtrl): |
74 type = 'DRAMCtrl' 75 cxx_header = "mem/dram_ctrl.hh" 76 77 # single-ported on the system interface side, instantiate with a 78 # bus in front of the controller for multiple ports 79 port = SlavePort("Slave port") 80 81 # the basic configuration of the controller architecture, note --- 1116 unchanged lines hidden --- |