By 葉立皓
開課教授:江介宏
課程內容概述:
Introduction: 對EDA領域作概略性的介紹,其中也包含了IC設計流程的各階段簡介。
Computation and Optimization in a Nutshell: 介紹complexity的概念,像是big-O
、P、NP、NP-complete等觀念,最後再介紹一些演算法上的典型問題與解決問題的方法。
Model of Computation: 介紹一些用圖形來描述系統的方式,像是state graph、
Petri net等等。
High-level Synthesis: 這是IC design flow中屬於較上層的結構,主要有些assign
function、linking function unit等的指令會在這執行,這個單元就在介紹這裡面發生
了甚麼事。
Logic Synthesis: IC design flow中間所做的事情,把IC的功能讓logic gate去實現
,會介紹一些logic reasoning的工具(Truth table是一種),像是BDD(Binary Decision
Diagram)、Boolean Formula等,也會介紹典型處理boolean formula的演算法,像是
Quine-McCluskey Method等。
Verification: IC設計到了一個階段,想要看它設計的是否和原先預想的功能一樣,
或是和原先所寫的code表現相同,都要靠verification,分為combinational和
sequential兩種電路的驗證法來探討。
Physical Design: 屬於IC design flow的下層,IC的block如何擺放、線路如何連接
等問題都在此階層完成,處理各種狀況的演算法也在其中介紹。
Testing: IC做完,需要測試其正確性,而有幾套演算法能做這樣的事情,會稍作介紹
。
簡言之,EDA導論教我們如何用程式的能力來解決一些IC設計上的問題。
私心推薦指數:5顆
上課用教科書:老師自編投影片
老師上課風格:
教授上課可說是十分用心及認真,雖然常常因為他自己太強的緣故,會忽略掉一些對他來
說很trivial但對我們卻有點陌生的內容,但只要抓住關鍵字,下課去問教授,他會很樂
意的回答每個問題,他甚至上課的時候也會一直很誠懇的希望同學們能多問問題。
雖然老師上課講話的速度不快,但字字有重點,對此領域極度不熟的同學,上課務必專心
,不然之後在看投影片時,可能也會不知道內容在說甚麼。
考題型式、作業方式:
考題:每份考卷大概7題題組型的題目,有的是問答、有的是非加說明、有的請你執行
有教過的演算法。
作業:對沒接觸過這個領域的人來說,算是滿困難的,老師自己出的題目,似乎也都
沒有解答,大多是一些演算法的證明與操作。(自己寫出來會有股成就感這樣)
評分方式:
HW: 40%
Mid-term/CAD contest: 25% (競賽、考試二選一)
Final exam/project: 30% (project、考試二選一)
Course participation: 5% (多問問題讓老師認識你)
老師給分普遍蠻高的。
其他:
加簽只要選就會上,人數不多。
有點演算法基礎會比較輕鬆,沒有也沒關係。
因為最後5%和老師對你的印象有點關係,所以出席可能要注意,但老實說一堂課內容
蠻多的,缺席也有點可惜。
總結:
對程式設計及演算法有興趣的同學,此為其應用之一,修了感覺會讓你了解更廣泛的應用
。對程式沒sense的人(像我),修的話其實可以對整個IC設計的流程有很清楚的了解,所
以不管怎麼說,它是一門可以學到不少東西的課程,很棒。