最初的FPGAs是由數十個邏輯單元所組成,其功能需求很容易經由繪製電路圖的軟體來表示。然而在摩爾定律的推波助瀾之下,FPGAs也日趨壯大。在90年代初期,FPGAs已成長到由數千個邏輯單元組成,電路圖的繪製也開始變得相當複雜而乏味。FPGAs元件的複雜度和功能已經超過入門級設計工具的能力範圍,幸運的是,此時已有一項解決方案可供選用,也就是邏輯合成(logic synthesis)。
Synplicity的資深行銷副總裁Andrew Haines |
Synplicity的資深行銷副總裁Andrew Haines指出,邏輯合成的運用相當理想,這項技術可協助工程師逐一完成數萬或高達數百萬個邏輯單元的設計案。但當被運用在更大的設計案時,工程師也漸漸發現這項技術的瓶頸。在元件更大和運作期更長的情況下,時序收斂(Timing closure)已成為一大難題。工程師可能知道他可以達到元件所需求的速度,卻不知道要重複進行多少次的設計才能完成。為此市場上出現了多種不同的解決工具和策略,如平面規劃(floor planning)和後合成最佳化(post-synthesis optimization)等技術。不過,這些解決方案只能片面解決時序收斂的問題。目前看來,要解決的並非只是複雜度的問題,在深次微米的時代,還有一些新的議題必須要認真地去考慮。功率已然為許多FPGA設計中的一大問題,而很快地,在深次微米SoC的設計中還會遭遇到其他的議題。例如晶片上的時脈可變性將會成為硬體式解決方案的一項發展阻力。
現在的情況,就如同回到90年代初期一樣。業界需要轉變到一套新的設計技術,並在此基礎下去面對在數位化FPGA設計領域裡,不斷提升的設計複雜度,以及由深次微米製程所帶來的挑戰。我們所需要的轉變是從邏輯合成進入到實體合成的技術,因為實體合成能夠同時進行邏輯最佳化,以及佈局和繞線,此技術同時也擁有時序收斂與功耗最佳化等問題。實體合成為複雜度的提升及深次微米議題的因應提供了一個平台,而這些都只是遲早的問題罷了。
而在FPGA設計日漸複雜,以及必須協助業者加快產品開發時程的因素之下,採用FPGA製作ASIC原型以進行驗證的做法日漸普及。FPGA原型驗證能夠以更低的成本提供複雜度更高的晶片驗證工作。透過FPGA原型進行驗證,模擬速度可達到10~80MHz,更能實際反映出晶片內部的數據傳輸速率。
Synplicity目前針對ASIC驗證主要是提供Synplify Premier以及Certify兩套工具,Synplify Premier便是目前市場上FPGA實體合成的重要方案。Synplicity的Certify軟體是目前效能最高的ASIC快速原型工具,它具備自動化技術,可將RTL設計自動進行切割、I/O分配、閘控時脈轉換,並ASIC元件轉換,因此能夠將複雜的ASIC設計分割為以多顆FPGA進行驗證。
Andrew Haines指出,目前台灣僅有不到五成的晶片設計業者採用ASIC驗證技術,未來Synplicity將積極在台灣推動ASIC驗證技術,希望在兩年內讓使用的業者達到八成為目標。