113252Sgabeblack@google.com/*
213252Sgabeblack@google.com * Copyright 2018 Google, Inc.
313252Sgabeblack@google.com *
413252Sgabeblack@google.com * Redistribution and use in source and binary forms, with or without
513252Sgabeblack@google.com * modification, are permitted provided that the following conditions are
613252Sgabeblack@google.com * met: redistributions of source code must retain the above copyright
713252Sgabeblack@google.com * notice, this list of conditions and the following disclaimer;
813252Sgabeblack@google.com * redistributions in binary form must reproduce the above copyright
913252Sgabeblack@google.com * notice, this list of conditions and the following disclaimer in the
1013252Sgabeblack@google.com * documentation and/or other materials provided with the distribution;
1113252Sgabeblack@google.com * neither the name of the copyright holders nor the names of its
1213252Sgabeblack@google.com * contributors may be used to endorse or promote products derived from
1313252Sgabeblack@google.com * this software without specific prior written permission.
1413252Sgabeblack@google.com *
1513252Sgabeblack@google.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1613252Sgabeblack@google.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1713252Sgabeblack@google.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1813252Sgabeblack@google.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1913252Sgabeblack@google.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2013252Sgabeblack@google.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2113252Sgabeblack@google.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2213252Sgabeblack@google.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2313252Sgabeblack@google.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2413252Sgabeblack@google.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2513252Sgabeblack@google.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2613252Sgabeblack@google.com *
2713252Sgabeblack@google.com * Authors: Gabe Black
2813252Sgabeblack@google.com */
2913252Sgabeblack@google.com
3013252Sgabeblack@google.com#include "systemc/core/time.hh"
3113252Sgabeblack@google.com
3213252Sgabeblack@google.com#include "systemc/ext/core/sc_time.hh"
3313252Sgabeblack@google.com
3413252Sgabeblack@google.comnamespace sc_gem5
3513252Sgabeblack@google.com{
3613252Sgabeblack@google.com
3713252Sgabeblack@google.comconst char *TimeUnitNames[] = {
3813252Sgabeblack@google.com    [::sc_core::SC_FS] = "fs",
3913252Sgabeblack@google.com    [::sc_core::SC_PS] = "ps",
4013252Sgabeblack@google.com    [::sc_core::SC_NS] = "ns",
4113252Sgabeblack@google.com    [::sc_core::SC_US] = "us",
4213252Sgabeblack@google.com    [::sc_core::SC_MS] = "ms",
4313252Sgabeblack@google.com    [::sc_core::SC_SEC] = "s"
4413252Sgabeblack@google.com};
4513252Sgabeblack@google.com
4613265Sgabeblack@google.comconst char *TimeUnitConstantNames[] = {
4713265Sgabeblack@google.com    [::sc_core::SC_FS] = "SC_FS",
4813265Sgabeblack@google.com    [::sc_core::SC_PS] = "SC_PS",
4913265Sgabeblack@google.com    [::sc_core::SC_NS] = "SC_NS",
5013265Sgabeblack@google.com    [::sc_core::SC_US] = "SC_US",
5113265Sgabeblack@google.com    [::sc_core::SC_MS] = "SC_MS",
5213265Sgabeblack@google.com    [::sc_core::SC_SEC] = "SC_SEC"
5313265Sgabeblack@google.com};
5413265Sgabeblack@google.com
5513252Sgabeblack@google.comdouble TimeUnitScale[] = {
5613252Sgabeblack@google.com    [::sc_core::SC_FS] = 1.0e-15,
5713252Sgabeblack@google.com    [::sc_core::SC_PS] = 1.0e-12,
5813252Sgabeblack@google.com    [::sc_core::SC_NS] = 1.0e-9,
5913252Sgabeblack@google.com    [::sc_core::SC_US] = 1.0e-6,
6013252Sgabeblack@google.com    [::sc_core::SC_MS] = 1.0e-3,
6113252Sgabeblack@google.com    [::sc_core::SC_SEC] = 1.0
6213252Sgabeblack@google.com};
6313252Sgabeblack@google.com
6413252Sgabeblack@google.comTick TimeUnitFrequency[] = {
6513252Sgabeblack@google.com    [::sc_core::SC_FS] = 1ULL * 1000 * 1000 * 1000 * 1000 * 1000,
6613252Sgabeblack@google.com    [::sc_core::SC_PS] = 1ULL * 1000 * 1000 * 1000 * 1000,
6713252Sgabeblack@google.com    [::sc_core::SC_NS] = 1ULL * 1000 * 1000 * 1000,
6813252Sgabeblack@google.com    [::sc_core::SC_US] = 1ULL * 1000 * 1000,
6913252Sgabeblack@google.com    [::sc_core::SC_MS] = 1ULL * 1000,
7013252Sgabeblack@google.com    [::sc_core::SC_SEC] = 1ULL
7113252Sgabeblack@google.com};
7213252Sgabeblack@google.com
7313252Sgabeblack@google.com} // namespace sc_gem5
74