看板 EE_DSnP 關於我們 聯絡資訊
※ 引述《ric2k1 (Ric)》之銘言: (新增/修訂的部分用水藍色標示) 說明一下我們對於期末專題大致的評分原則,同學們可以自行斟酌參考。 我會選擇性的挑一些(或全部,或 combine)項目來測試,每個 dofile 隨著重要性 有一定的占分。 請注意,spec 有說明,分數分配為: Report 15% (Please do spend time to write a good report!!) Implementation 85% - Circuit parsing and reporting: 40% (correctness: 75%, error detection: 15%, performance: 10%) - Strash: 10% (correctness: 90%, performance: 10%) - Simulation: 20% (correctness: 70%, performance: 30%) - Fraig: 25% (correctness: 50%, performance: 50%) Bonus Up to extra 10% 1. CIRRead <(string fileName)> [-Replace] Major tests: - Can read in correct aag files correctly (tested with "cirp") - Able to handle large circuit parsing - Able to re-read circuits (-replace) Minor tests: - Able to detect if there's error in aag file - Runtime and memory efficiency 2. CIRPrint [-Summary | -Netlist | -PI | -PO | -FLoating | -FECpairs] Major tests: - Able to correctly report "-summary", "-PI" and "-PO" BEFORE optimization - Able to report "-Netlist" anytime without crashes. - Given a circuit with no structurally equivalent gates, able to report "-netlist" and "-floating" consistently with ref prog BEFORE performing "strash" and "fraig". - Given a small circuit (#gates < 100), able to report ALL the FEC pairs. (Tested with "CIRSimulate" command) Minor tests: - Able to report "-floating" and "-fec" anytime without crashes. 3. CIRGate <<(int gateId)> [<-FANIn | -FANOut><(int level)>]> Major tests: - Given a circuit with no structurally equivalent gates, able to report fanins consistently with ref prog BEFORE "strash" and "fraig". - Able to report fanouts without crashes. - Able to do "CIRG" (no option) anytime without crashes. Minor tests: - Given a large circuit, able to report deep fanins/fanouts without crashes. 4. CIRSTRash Major tests: - Given some very small circuits (#gates < 10), able to perform ALL the trivial strash operations. - Given a circuit composed by AND(f, !f) of two structurally identical circuit, able to simplify it into a constant 0. - Should be reasonably fast (linear time complexity) - myHash.cpp is implemented correctly (tested by a separate program). Minor tests: - Able to perform strash on large circuit. 5. CIRSimulate <-Random | -File <string patternFile>> [-Output (string logFile)] Major tests: - Given a small circuit (#gates < 100), able to identify ALL the FEC pairs by random simulation. (Tested with "CIRGate" command) - Given a large file, able to simulate from pattern files and write the output to file correctly. - Given a medium size (~1000 gates) file, able to perform simulation efficiently. Minor tests: - Able to repeat the simulation commands. 6. CIRFraig Major tests: - Given a circuit composed by two functionally equivalent circuits (e.g. sim10.aag), able to EFFICIENTLY simplify it into a constant WITHOUT performing strash. - Given a large circuit, able to preform fraig efficiently. Minor tests: - Given a large circuit, able to repeatedly perform "cirstrash" --> "cirsim -random" --> "cirfraig" at least 3 times to simplify the circuit. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.54.188
ric2k1:等一下來說明一下 "report" 的要求 01/15 00:30
※ 編輯: ric2k1 來自: 114.36.62.203 (01/16 02:37) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.36.62.203
ckmarkoh:fraig指令執行之後不能有strash的動作嗎? 01/18 08:13
ckmarkoh:可是若為了增加效率 每化簡一個就會做strash和optimize 01/18 08:14
ckmarkoh:是不被允許的? 01/18 08:14