整體IC設計之流程可以大致分成三個主要階段,從演算法的開發(Algorithm Development)、設計與模擬(Design & Simulation)到最後的原型化及實現階段(Prototyping & Link to Implementation)。傳統上在進行設計工作時,每個階段的工作往往是由不同部門、缺乏共同溝通介面的團隊負責,每個階段使用的設計工具環境也完全不同:一個系統開發者在設計演算法時使用的開發工具,與工程師進行軟體或硬體實現時使用的工具不同,這樣的流程使得在不同的設計階段,必須使用不同的工具,而造成一再重複相同的工作,例如重新撰寫程式碼。不但工作過程繁瑣,且可能因各階段開發團隊的溝通整合困難,造成直到在進行設計最後階段之工作時,才發現錯誤百出,而需要不斷重複之前流程,並一再延後上市時程的結果。 ... ...