OpenASIP  2.0
Public Types | Static Public Attributes | List of all members
CostDBTypes Class Reference

#include <CostDBTypes.hh>

Collaboration diagram for CostDBTypes:
Collaboration graph

Public Types

enum  TypeOfMatch {
  MATCH_ALL, MATCH_EXACT, MATCH_SUBSET, MATCH_SUPERSET,
  MATCH_INTERPOLATION
}
 
typedef std::vector< CostDBEntry * > EntryTable
 Table of database entries. More...
 
typedef std::vector< MatchType * > MatchTypeTable
 Table of types of match. More...
 

Static Public Attributes

static const std::string EK_UNIT = "unit"
 Entry type for function units. More...
 
static const std::string EK_RFILE = "rfile"
 Entry type for register files. More...
 
static const std::string EK_MBUS = "mbus"
 Entry type for move bus. More...
 
static const std::string EK_SOCKET = "sock"
 Entry type for sockets. More...
 
static const std::string EK_INPUT_SOCKET = "in sock"
 Entry type for input sockets. More...
 
static const std::string EK_OUTPUT_SOCKET = "out sock"
 Entry type for output sockets. More...
 
static const std::string EK_INLINE_IMM_SOCKET = "imm sock"
 Entry type for immediate sockets. More...
 
static const std::string EKF_BIT_WIDTH = "data"
 Field type for bit width of an entry. More...
 
static const std::string EKF_OPERATIONS = "oper"
 Field type for operations supported by an entry. More...
 
static const std::string EKF_LATENCY = "latency"
 Field type for latency of an entry. More...
 
static const std::string EKF_NUM_REGISTERS = "size"
 Field type for number of registers in an entry. More...
 
static const std::string EKF_READ_PORTS = "rd"
 Field type for number of read ports in an entry. More...
 
static const std::string EKF_WRITE_PORTS = "wr"
 Field type for number of write ports in an entry. More...
 
static const std::string EKF_BIDIR_PORTS = "bidir"
 Field type for number of bidirectional ports in an entry. More...
 
static const std::string EKF_MAX_READS = "max reads"
 Field type for number of max simultaneous reads in an entry. More...
 
static const std::string EKF_MAX_WRITES = "max writes"
 Field type for number of max simultaneous writes in an entry. More...
 
static const std::string EKF_BUS_FANIN = "bus fanin"
 Field type for fanin of bus in an entry. More...
 
static const std::string EKF_BUS_FANOUT = "bus fanout"
 Field type for fanout of bus in an entry. More...
 
static const std::string EKF_INPUT_SOCKET_FANIN = "in sock fanin"
 Field type for fanin of input socket in an entry. More...
 
static const std::string EKF_OUTPUT_SOCKET_FANOUT = "out sock fanout"
 Field type for fanout of output socket in an entry. More...
 
static const std::string EKF_GUARD_SUPPORT = "guard support"
 Field type for guard support in an entry. More...
 
static const std::string EKF_GUARD_LATENCY = "guard latency"
 Field type for guard latency in an entry. More...
 
static const std::string EKF_FUNCTION_UNIT = "function unit"
 Field type for function unit entry;. More...
 

Detailed Description

Type definiotions and constant for the cost database.

Definition at line 48 of file CostDBTypes.hh.

Member Typedef Documentation

◆ EntryTable

typedef std::vector<CostDBEntry*> CostDBTypes::EntryTable

Table of database entries.

Definition at line 111 of file CostDBTypes.hh.

◆ MatchTypeTable

typedef std::vector<MatchType*> CostDBTypes::MatchTypeTable

Table of types of match.

Definition at line 114 of file CostDBTypes.hh.

Member Enumeration Documentation

◆ TypeOfMatch

Type of match to be accepted in the database queries for a certain field.

Enumerator
MATCH_ALL 
MATCH_EXACT 
MATCH_SUBSET 
MATCH_SUPERSET 
MATCH_INTERPOLATION 

Definition at line 54 of file CostDBTypes.hh.

54  {
55  MATCH_ALL, //< All entries accepted.
56  MATCH_EXACT, //< Equally matching entries accepted.
57  MATCH_SUBSET, //< Smaller or equally matching entries accepted.
58  MATCH_SUPERSET, //< Greater or equally matching entries accepted.
59  MATCH_INTERPOLATION //< Interpolation of smaller and greater entries.
60  };

Member Data Documentation

◆ EK_INLINE_IMM_SOCKET

const std::string CostDBTypes::EK_INLINE_IMM_SOCKET = "imm sock"
static

Entry type for immediate sockets.

Definition at line 75 of file CostDBTypes.hh.

Referenced by CostDatabase::CostDatabase().

◆ EK_INPUT_SOCKET

const std::string CostDBTypes::EK_INPUT_SOCKET = "in sock"
static

Entry type for input sockets.

Definition at line 71 of file CostDBTypes.hh.

Referenced by CostDatabase::buildSockets(), and CostDatabase::CostDatabase().

◆ EK_MBUS

const std::string CostDBTypes::EK_MBUS = "mbus"
static

Entry type for move bus.

Definition at line 67 of file CostDBTypes.hh.

Referenced by CostDatabase::buildBuses(), and CostDatabase::CostDatabase().

◆ EK_OUTPUT_SOCKET

const std::string CostDBTypes::EK_OUTPUT_SOCKET = "out sock"
static

Entry type for output sockets.

Definition at line 73 of file CostDBTypes.hh.

Referenced by CostDatabase::buildSockets(), and CostDatabase::CostDatabase().

◆ EK_RFILE

const std::string CostDBTypes::EK_RFILE = "rfile"
static

Entry type for register files.

Definition at line 65 of file CostDBTypes.hh.

Referenced by CostDatabase::buildRegisterFiles(), CostDatabase::CostDatabase(), and InterpolatingRFEstimator::initializeEstimator().

◆ EK_SOCKET

const std::string CostDBTypes::EK_SOCKET = "sock"
static

Entry type for sockets.

Definition at line 69 of file CostDBTypes.hh.

Referenced by CostDatabase::CostDatabase().

◆ EK_UNIT

const std::string CostDBTypes::EK_UNIT = "unit"
static

Entry type for function units.

Definition at line 63 of file CostDBTypes.hh.

Referenced by CostDatabase::buildFunctionUnits(), CostDatabase::CostDatabase(), and InterpolatingFUEstimator::initializeEstimator().

◆ EKF_BIDIR_PORTS

const std::string CostDBTypes::EKF_BIDIR_PORTS = "bidir"
static

Field type for number of bidirectional ports in an entry.

Definition at line 90 of file CostDBTypes.hh.

Referenced by CostDatabase::buildRegisterFiles(), CostDatabase::CostDatabase(), InterpolatingRFEstimator::createSearch(), and InterpolatingRFEstimator::createSearchTypes().

◆ EKF_BIT_WIDTH

const std::string CostDBTypes::EKF_BIT_WIDTH = "data"
static

◆ EKF_BUS_FANIN

const std::string CostDBTypes::EKF_BUS_FANIN = "bus fanin"
static

Field type for fanin of bus in an entry.

Definition at line 96 of file CostDBTypes.hh.

Referenced by CostDatabase::buildBuses(), and CostDatabase::CostDatabase().

◆ EKF_BUS_FANOUT

const std::string CostDBTypes::EKF_BUS_FANOUT = "bus fanout"
static

Field type for fanout of bus in an entry.

Definition at line 98 of file CostDBTypes.hh.

Referenced by CostDatabase::buildBuses(), and CostDatabase::CostDatabase().

◆ EKF_FUNCTION_UNIT

const std::string CostDBTypes::EKF_FUNCTION_UNIT = "function unit"
static

◆ EKF_GUARD_LATENCY

const std::string CostDBTypes::EKF_GUARD_LATENCY = "guard latency"
static

◆ EKF_GUARD_SUPPORT

const std::string CostDBTypes::EKF_GUARD_SUPPORT = "guard support"
static

◆ EKF_INPUT_SOCKET_FANIN

const std::string CostDBTypes::EKF_INPUT_SOCKET_FANIN = "in sock fanin"
static

Field type for fanin of input socket in an entry.

Definition at line 100 of file CostDBTypes.hh.

Referenced by CostDatabase::buildSockets(), and CostDatabase::CostDatabase().

◆ EKF_LATENCY

const std::string CostDBTypes::EKF_LATENCY = "latency"
static

◆ EKF_MAX_READS

const std::string CostDBTypes::EKF_MAX_READS = "max reads"
static

Field type for number of max simultaneous reads in an entry.

Definition at line 92 of file CostDBTypes.hh.

Referenced by CostDatabase::buildRegisterFiles(), CostDatabase::CostDatabase(), InterpolatingRFEstimator::createSearch(), and InterpolatingRFEstimator::createSearchTypes().

◆ EKF_MAX_WRITES

const std::string CostDBTypes::EKF_MAX_WRITES = "max writes"
static

Field type for number of max simultaneous writes in an entry.

Definition at line 94 of file CostDBTypes.hh.

Referenced by CostDatabase::buildRegisterFiles(), CostDatabase::CostDatabase(), InterpolatingRFEstimator::createSearch(), and InterpolatingRFEstimator::createSearchTypes().

◆ EKF_NUM_REGISTERS

const std::string CostDBTypes::EKF_NUM_REGISTERS = "size"
static

◆ EKF_OPERATIONS

const std::string CostDBTypes::EKF_OPERATIONS = "oper"
static

Field type for operations supported by an entry.

Definition at line 80 of file CostDBTypes.hh.

◆ EKF_OUTPUT_SOCKET_FANOUT

const std::string CostDBTypes::EKF_OUTPUT_SOCKET_FANOUT = "out sock fanout"
static

Field type for fanout of output socket in an entry.

Definition at line 102 of file CostDBTypes.hh.

Referenced by CostDatabase::buildSockets(), and CostDatabase::CostDatabase().

◆ EKF_READ_PORTS

const std::string CostDBTypes::EKF_READ_PORTS = "rd"
static

◆ EKF_WRITE_PORTS

const std::string CostDBTypes::EKF_WRITE_PORTS = "wr"
static

The documentation for this class was generated from the following files:
CostDBTypes::MATCH_SUPERSET
@ MATCH_SUPERSET
Definition: CostDBTypes.hh:58
CostDBTypes::MATCH_EXACT
@ MATCH_EXACT
Definition: CostDBTypes.hh:56
CostDBTypes::MATCH_INTERPOLATION
@ MATCH_INTERPOLATION
Definition: CostDBTypes.hh:59
CostDBTypes::MATCH_ALL
@ MATCH_ALL
Definition: CostDBTypes.hh:55
CostDBTypes::MATCH_SUBSET
@ MATCH_SUBSET
Definition: CostDBTypes.hh:57