SoC設計方法學(二)
發布時間:2008/5/27 0:00:00 訪問次數:587
來源:《電子產品世界》
soc設計方法學 soc設計方法學的內容可以簡單的歸納為如下三點:軟硬件協同設計技術,ip核生成及復用技術和超深亞微米ic設計技術(有時又稱納米級電路設計技術)。它們又分別包含一系列的子課題(圖5)。 在這些子課題中有些是我們已經十分熟悉的,但是這并不意味著它們是已經解決的問題。恰恰相反,這些課題在融入soc設計方法學的框架之后,已經在內涵上產生了很大的變化。 軟硬件協同設計技術 首先探討一下軟硬件協同設計。軟硬件協同設計課題的提出已有多年的歷史,但是早期的研究多集中在針對一個特定的硬件如何進行軟件開發或根據一個已有的軟件實現具體的硬件結構。前者是一個經典的軟件開發問題,軟件性能的好壞不僅僅取決于軟件開發人員的技術水平,更有賴于所使用的硬件平臺,后者是一個軟件固化的問題,實現的途徑可以是采用一個與原有軟件平臺相同的軟件處理器,并將軟件代碼存儲于存儲器當中,也可以是在充分理解軟件的內在功能之后完全用硬件來實現軟件的功能。采用存儲器固化軟件代碼的作法一般來說可以比較快地實現芯片設計,且芯片具有一定的二次開發可能,但是由于考慮到實現所需的硬件平臺的一致性,芯片的性能將受到較大的限制,大多應用在性能比較低的場合。除此之外,有時候要找到一個可用的、與軟件開發時所使用的硬件平臺兼容的處理器也是一件十分困難的事情。將軟件功能全部由硬件來實現的作法具有較大的風險,一般需要比較長的時間和比較大的人力、物力和財力的投入,特別是進入市場的時間較為苛刻的時,這種做法有其局限性。但是一旦成功,則芯片具有較高的性能。從上述介紹不難發現,早期的軟硬件協同設計方法研究還是一種面向目標的(object oriented)軟硬件設計方法,研究的內容和結果與所要實現的目標和已具備的條件密切相關,形不成具有普遍適用性的理論體系。
面向soc的軟硬件協同設計理論應該是從一個給定的系統任務描述著手,通過有效地分析系統任務和所需的資源,采用一系列變換方法并遵循特定的準則自動生成符合系統功能要求的,符合實現代價約束的硬件和軟件架構。這種全新的軟硬件協同設計思想需要解決許多以前沒有碰到的問題。首先是系統的描述方法。目前廣泛采用的硬件描述語言(hdl)是否仍然有效?如何來定義一個系統級的軟件功能描述或硬件功能描述?等等。至今天為止,尚沒有一個大家公認的且可以使用的系統功能描述語言可供設計者使用。 其次是這一全新的設計方理論與已有的ic設計理論之間的接口。可以預見,這種全新的設計理論應該是現有ic設計理論的完善,是建筑在現有理論之上的一個更高層次的設計理論,它與現有理論一起組成了更為完善的理論體系。在這種假設下,這種設計理論的輸出就應該是現有理論的輸入。 第三,這種全新的軟硬件協同設計理論將如何確定最優性原則。顯然沿用以往的最優性準則是不夠的。除了芯片設計師們已經熟知的速度、面積等硬件優化指標外,與軟件相關的如代碼長度、資源利用率、穩定性等指標也必須由設計者認真地加以考慮。 第四,如何對這樣的一個包含軟件和硬件的系統的功能進行驗證。除了驗證所必須的環境之外,確認設計錯誤發生的地方和機理將是一個不得不面對的課題。 最后,功耗問題。傳統的ic在功耗的分析和估計方面已有一整套理論和方法。但是,要用這些現成的理論來分析和估計含有軟件和硬件兩部分的soc將是遠遠不夠的。簡單地對一個硬件設計進行功耗分析是可以的,但是由于軟件運行引起的動態功耗則只能通過軟硬件的聯合運行才能知道。其實,還可以舉出很多新理論要涉及的問題,它們一起構成了面向soc的軟硬件協同設計的內容。 ip核生成及復用技術 其次來看一下設計重用技術。正如前面所討論的,今天在單個芯片上已可以集成上千萬乃至上億只晶體管。芯片變得如此復雜,它實現了以前需要許多塊印制電容板(pcb)甚至機架才能完成的功能。在這樣高的集成度下,設計的難度已變得非常高,設計代價事實上主導了芯片的代價。這不僅要求設計者必須具備系統和芯片兩方面的知識,同時也必須充
來源:《電子產品世界》
soc設計方法學 soc設計方法學的內容可以簡單的歸納為如下三點:軟硬件協同設計技術,ip核生成及復用技術和超深亞微米ic設計技術(有時又稱納米級電路設計技術)。它們又分別包含一系列的子課題(圖5)。 在這些子課題中有些是我們已經十分熟悉的,但是這并不意味著它們是已經解決的問題。恰恰相反,這些課題在融入soc設計方法學的框架之后,已經在內涵上產生了很大的變化。 軟硬件協同設計技術 首先探討一下軟硬件協同設計。軟硬件協同設計課題的提出已有多年的歷史,但是早期的研究多集中在針對一個特定的硬件如何進行軟件開發或根據一個已有的軟件實現具體的硬件結構。前者是一個經典的軟件開發問題,軟件性能的好壞不僅僅取決于軟件開發人員的技術水平,更有賴于所使用的硬件平臺,后者是一個軟件固化的問題,實現的途徑可以是采用一個與原有軟件平臺相同的軟件處理器,并將軟件代碼存儲于存儲器當中,也可以是在充分理解軟件的內在功能之后完全用硬件來實現軟件的功能。采用存儲器固化軟件代碼的作法一般來說可以比較快地實現芯片設計,且芯片具有一定的二次開發可能,但是由于考慮到實現所需的硬件平臺的一致性,芯片的性能將受到較大的限制,大多應用在性能比較低的場合。除此之外,有時候要找到一個可用的、與軟件開發時所使用的硬件平臺兼容的處理器也是一件十分困難的事情。將軟件功能全部由硬件來實現的作法具有較大的風險,一般需要比較長的時間和比較大的人力、物力和財力的投入,特別是進入市場的時間較為苛刻的時,這種做法有其局限性。但是一旦成功,則芯片具有較高的性能。從上述介紹不難發現,早期的軟硬件協同設計方法研究還是一種面向目標的(object oriented)軟硬件設計方法,研究的內容和結果與所要實現的目標和已具備的條件密切相關,形不成具有普遍適用性的理論體系。
面向soc的軟硬件協同設計理論應該是從一個給定的系統任務描述著手,通過有效地分析系統任務和所需的資源,采用一系列變換方法并遵循特定的準則自動生成符合系統功能要求的,符合實現代價約束的硬件和軟件架構。這種全新的軟硬件協同設計思想需要解決許多以前沒有碰到的問題。首先是系統的描述方法。目前廣泛采用的硬件描述語言(hdl)是否仍然有效?如何來定義一個系統級的軟件功能描述或硬件功能描述?等等。至今天為止,尚沒有一個大家公認的且可以使用的系統功能描述語言可供設計者使用。 其次是這一全新的設計方理論與已有的ic設計理論之間的接口。可以預見,這種全新的設計理論應該是現有ic設計理論的完善,是建筑在現有理論之上的一個更高層次的設計理論,它與現有理論一起組成了更為完善的理論體系。在這種假設下,這種設計理論的輸出就應該是現有理論的輸入。 第三,這種全新的軟硬件協同設計理論將如何確定最優性原則。顯然沿用以往的最優性準則是不夠的。除了芯片設計師們已經熟知的速度、面積等硬件優化指標外,與軟件相關的如代碼長度、資源利用率、穩定性等指標也必須由設計者認真地加以考慮。 第四,如何對這樣的一個包含軟件和硬件的系統的功能進行驗證。除了驗證所必須的環境之外,確認設計錯誤發生的地方和機理將是一個不得不面對的課題。 最后,功耗問題。傳統的ic在功耗的分析和估計方面已有一整套理論和方法。但是,要用這些現成的理論來分析和估計含有軟件和硬件兩部分的soc將是遠遠不夠的。簡單地對一個硬件設計進行功耗分析是可以的,但是由于軟件運行引起的動態功耗則只能通過軟硬件的聯合運行才能知道。其實,還可以舉出很多新理論要涉及的問題,它們一起構成了面向soc的軟硬件協同設計的內容。 ip核生成及復用技術 其次來看一下設計重用技術。正如前面所討論的,今天在單個芯片上已可以集成上千萬乃至上億只晶體管。芯片變得如此復雜,它實現了以前需要許多塊印制電容板(pcb)甚至機架才能完成的功能。在這樣高的集成度下,設計的難度已變得非常高,設計代價事實上主導了芯片的代價。這不僅要求設計者必須具備系統和芯片兩方面的知識,同時也必須充