1/* 2 * Copyright (c) 2002-2006 The Regents of The University of Michigan 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 38 unchanged lines hidden (view full) --- 47// 48// 49 50class OpDesc : public SimObject 51{ 52 public: 53 OpClass opClass; 54 Cycles opLat; |
55 bool pipelined; |
56 57 OpDesc(const OpDescParams *p) 58 : SimObject(p), opClass(p->opClass), opLat(p->opLat), |
59 pipelined(p->pipelined) {}; |
60}; 61 62class FUDesc : public SimObject 63{ 64 public: 65 std::vector<OpDesc *> opDescList; 66 unsigned number; 67 --- 12 unchanged lines hidden (view full) --- 80// The actual FU object 81// 82// 83// 84class FuncUnit 85{ 86 private: 87 unsigned opLatencies[Num_OpClasses]; |
88 bool pipelined[Num_OpClasses]; |
89 std::bitset<Num_OpClasses> capabilityList; 90 91 public: 92 FuncUnit(); 93 FuncUnit(const FuncUnit &fu); 94 95 std::string name; 96 |
97 void addCapability(OpClass cap, unsigned oplat, bool pipelined); |
98 99 bool provides(OpClass capability); 100 std::bitset<Num_OpClasses> capabilities(); 101 102 unsigned &opLatency(OpClass capability); |
103 bool isPipelined(OpClass capability); |
104}; 105 106#endif // __FU_POOL_HH__ |