Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
*io.cc, extio.h/cc were modified to output Cacti IO values
io.cc - output_data_csv() to output CACTI IO
extio.h/cc - to return values rather than just print

-----------------------------------------------------------


Expand Down
10 changes: 4 additions & 6 deletions cacti.mk
Original file line number Diff line number Diff line change
Expand Up @@ -13,16 +13,16 @@ INCS = -lm

ifeq ($(TAG),dbg)
DBG = -Wall
OPT = -ggdb -g -O0 -DNTHREADS=1 -gstabs+
OPT = -ggdb -g -O0 -DNTHREADS=1
else
DBG =
OPT = -g -msse2 -mfpmath=sse -DNTHREADS=$(NTHREADS)
endif

#CXXFLAGS = -Wall -Wno-unknown-pragmas -Winline $(DBG) $(OPT)
CXXFLAGS = -Wno-unknown-pragmas $(DBG) $(OPT)
CXX = g++ -m64
CC = gcc -m64
CXX = g++-13 -m64
CC = gcc-13 -m64

SRCS = area.cc bank.cc mat.cc main.cc Ucache.cc io.cc technology.cc basic_circuit.cc parameter.cc \
decoder.cc component.cc uca.cc subarray.cc wire.cc htree2.cc extio.cc extio_technology.cc \
Expand All @@ -48,6 +48,4 @@ obj_$(TAG)/%.o : %.cc
$(CXX) $(CXXFLAGS) -c $< -o $@

clean:
-rm -f *.o _cacti.so cacti.py $(TARGET)


-rm -f *.o _cacti.so cacti.py $(TARGET)
18 changes: 10 additions & 8 deletions extio.cc
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ io_param(iot){}

//External IO AREA. Does not include PHY or decap, includes only IO active circuit. More details can be found in the CACTI-IO technical report (), Chapter 2.3.

void Extio::extio_area()
double Extio::extio_area()
{

//Area per IO, assuming drive stage and ODT are shared
Expand All @@ -35,12 +35,12 @@ void Extio::extio_area()

printf("IO Area (sq.mm) = ");
cout << io_area << endl;

return io_area;
}

//External IO Termination Power. More details can be found in the CACTI-IO technical report (), Chapter 2.1.

void Extio::extio_power_term()
double Extio::extio_power_term()
{

//IO Termination and Bias Power
Expand Down Expand Up @@ -128,12 +128,13 @@ void Extio::extio_power_term()

printf("IO Termination and Bias Power (mW) = ");
cout << io_power_term << endl;
return io_power_term;
}


//External PHY Power and Wakeup Times. More details can be found in the CACTI-IO technical report (), Chapter 2.1.

void Extio::extio_power_phy ()
double Extio::extio_power_phy ()
{


Expand Down Expand Up @@ -179,13 +180,13 @@ void Extio::extio_power_phy ()
cout << phy_power << " ";
printf("PHY Wakeup Time (us) = ");
cout << phy_wtime << endl;

return phy_power;
}


//External IO Dynamic Power. Does not include termination or PHY. More details can be found in the CACTI-IO technical report (), Chapter 2.1.

void Extio::extio_power_dynamic()
double Extio::extio_power_dynamic()
{

if (io_param->io_type == Serial)
Expand Down Expand Up @@ -345,12 +346,13 @@ void Extio::extio_power_dynamic()

printf("IO Dynamic Power (mW) = ");
cout << io_power_dynamic << " ";
return io_power_dynamic;
}


//External IO Timing and Voltage Margins. More details can be found in the CACTI-IO technical report (), Chapter 2.2.

void Extio::extio_eye()
double Extio::extio_eye()
{

if (io_param->io_type == Serial)
Expand Down Expand Up @@ -502,5 +504,5 @@ void Extio::extio_eye()
cout << io_tmargin <<endl;
printf("IO Votlage Margin (V) = ");
cout << io_vmargin << endl;

return io_tmargin;
}
10 changes: 5 additions & 5 deletions extio.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,11 +10,11 @@ class Extio : public Component

Extio(IOTechParam *);

void extio_area();
void extio_eye();
void extio_power_dynamic();
void extio_power_phy();
void extio_power_term();
double extio_area();
double extio_eye();
double extio_power_dynamic();
double extio_power_phy();
double extio_power_term();

private:
IOTechParam *io_param;
Expand Down
Loading