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// Copy constructor 50FuncUnit::FuncUnit(const FuncUnit &fu) 51{ 52 53 for (int i = 0; i < Num_OpClasses; ++i) { 54 opLatencies[i] = fu.opLatencies[i]; |
55 pipelined[i] = fu.pipelined[i]; |
56 } 57 58 capabilityList = fu.capabilityList; 59} 60 61 62void |
63FuncUnit::addCapability(OpClass cap, unsigned oplat, bool pipeline) |
64{ |
65 if (oplat == 0) |
66 panic("FuncUnit: you don't really want a zero-cycle latency do you?"); 67 68 capabilityList.set(cap); 69 70 opLatencies[cap] = oplat; |
71 pipelined[cap] = pipeline; |
72} 73 74bool 75FuncUnit::provides(OpClass capability) 76{ 77 return capabilityList[capability]; 78} 79 --- 4 unchanged lines hidden (view full) --- 84} 85 86unsigned & 87FuncUnit::opLatency(OpClass cap) 88{ 89 return opLatencies[cap]; 90} 91 |
92bool 93FuncUnit::isPipelined(OpClass capability) |
94{ |
95 return pipelined[capability]; |
96} 97 98//////////////////////////////////////////////////////////////////////////// 99// 100// The SimObjects we use to get the FU information into the simulator 101// 102//////////////////////////////////////////////////////////////////////////// 103 --- 28 unchanged lines hidden --- |