作者ric2k1 (Ric)
看板EE_DSnP
標題[建議] Final project 要用誰的 cir?
時間Sun Dec 25 19:08:23 2011
看過 final project spec 的人都知道,
你可以選擇使用自己 HW6 的 circuit parser, 或是用我提供的。
差別在哪裡? 要怎麼用呢?
使用自己的 circuit parser 的好處當然是掌握度比較好,
final project 有許多地方需要對 circuit data structure 做設計,
所謂設計得好可以帶你上天堂,設計不好保證讓你在砍掉重練的世界裡不斷輪迴。
所以掌握度高可以讓你比較知道要如何取捨,
但也可能因為你 HW6 原來的體質不良而必須面對到底要不要砍掉重練的尷尬問題。
Anyway, 建議你好好把 spec 看一下,想一想自己要怎麼設計,
其實絕大部分都要自己設計,所以其實也不見得會差很多。
好,廢話不多說,那要怎麼使用呢?
其實可以參見 spec "3. What you should do?" 的第四點。
[如果要使用我提供的 cirGate-{32,64}.o 以及 cirMgr-{32,64}.o]
1. 把 "src/cir/Makefile" 中 "
#EXTRAOBJS =..." 那行 uncomment 掉.
(i.e. 拿掉 "#")
2. make clean 之後再 make 32 or make 64。
如果先 make 32/64 再 make clean,
cirGate.o 以及 cirMgr.o 的 symbolic links 會被 delete 掉!!
3. 你的 cirGate.h 以及 cirMgr.h 一定要寫在我提供的版本上面。
也就是說上面有的 functions 不要隨便把他們去掉。
[如果要使用自己的 cirGate.cpp 以及 cirMgr.cpp]
1. 把 "src/cir/Makefile" 中 "
#EXTRAOBJS =..." 那行 comment out 掉。
(i.e. 開頭加上 "#")
2. make clean; make 32 or 64 ==> 順序無所謂。
3. 你可以任意的修改 cirGate.{h,cpp}, cirMgr.{h,cpp},
不過在其他 cir*.cpp 檔案裏頭會用到的 member functions 像是:
void CirMgr::printFECPairs() const; // used in cirCmd.cpp
void CirMgr::Sweep(); void CirMgr::Optimize(); // used in cirOpt.cpp
// and cirCmd.cpp
void CirMgr::randomSim(); // used in cirSim.cpp and cirCmd.cpp
一定要包含在你的 cirGate.h 或是 cirMgr.h 裏頭,
否則一定會 compile error.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.54.16
1F:推 michael0728n:推推! 可以有這樣的選擇彈性真是太棒了~ 12/25 19:24
2F:→ ric2k1:淚推... 為了這個喬 code 喬好久... 12/25 19:35
3F:推 kkrrkk100:推推!!!謝謝老師!! 12/25 22:43
4F:推 takua624:謝謝教授詳細說明~! 12/25 23:16
5F:推 alextan:謝謝教授 推彈性 12/26 15:00