# g. y3 V, c- Z6 n6 L. z2 P ■EDA工具支援1 e, d# K' }* ]
1 }9 y& G' n6 K+ v1 K
另一項評斷核心品質優劣的標準就是EDA支援工具的廣度。由於不同研發團隊需要運用不同的工具,現今各種高階核心通常會支援各種不同的EDA工具。 & S3 n" Z- Q( s# n% b ) f: o& G# v1 S 舉例來說,即使IP核心是使用Verilog語言來設計,對於使用VHDL語言及EDA工具與技術的顧客而言,他們需要支援VHDL的方案。若核心僅提供Verilog的支援,則SoC團隊須進行繁瑣且容易出錯的轉譯過程才能使用該套核心。: q# U% i. k1 n5 D H" c% q0 G
4 {, ]4 k" n, k# d) [! b 此外,IP供應商應提供不同格式的支援。不同的EDA工具可能有不同的建置規格。在上面的範例中,IP供應商不僅應為Verilog方案顧客提供Verilog RTL文件,且此文件須是針對顧客用的Verilog模擬器。否則,因模擬器的執行狀況可能與IP供應商自己測試時有所差異,顧客可能須針對Verilog模擬器衍生的問題進行除錯。 ; `7 r! `0 }6 H# c6 j z ! y% j: W0 c5 N! I) ?5 H# K 這種觀念幾乎可應用在所有的IP。對於硬核而言,這種觀念亦適用於建置階段。硬核提供的格式亦須是SoC團隊後端工具所能接受的格式。IP供應商須針對使用到的後端工具提供支援。* j2 t* {% N3 X; S9 `
1 ^- A+ p% Z: T2 \( T) I0 x
■EDA Scripts指令檔範例3 m( h) c; B: C2 ~, H
0 |- I2 p; I" H
為協助顧客立即開始啟動各種研發作業,IP供應商應針對所支援的EDA工具提供範例指令檔(script)。IP供應商可透過這種途徑讓SoC團隊有效率地運用IP核心進行研發。指令檔可以僅是makefiles的格式,然後編譯成功能模擬器。也可以是一套複雜的指令檔,用來自動執行各種功能的重新驗證。不論是那個種類,範例指令檔幾乎永遠都是SoC研發業者最有用的工具。 3 k* s5 S) N# t$ S" P & r3 T# t1 b4 ]7 V3 z 對於軟核而言,合成指令範例幾乎是必要的。它們至少應包含置於最頂層的限制宣告、不符條件的false-paths、以及multi-cycle paths。可能的話,範例亦應包含種業界標準的合成技術。當然,範例指令檔若愈簡化,SoC研發業者就愈容易瞭解、修改、以及整合至其合成步驟中。 , T$ Y" ?' [" z/ C! B/ w& X8 N' ?4 m# G6 l3 Y0 w
■功能核心檢驗( `9 I( e# D0 `8 C
3 X# u, U/ f+ C3 p5 |" h( P3 k z 雖然SoC研發業者不會變更IP軟核中的RTL設計內容,然而在正常的晶片開發流程中的確會變更部份的功能。變更設計功能的例子包括插入掃瞄鏈(scan-chain)、時脈緩衝、以及RAM BIST。SoC團隊須能檢驗這些變更沒有影響核心的正常運作。3 t( [1 d& x+ U# W; p. V- l1 z
~, T9 o8 Q3 Z ]
欲驗證新設計變更沒有影響到原來的設計,其中一種方法就是IP供應商提供一個能用來驗證核心是否正常運作的環境與測試方案。不幸的是,對於許多核心而言,完整的測試方案本身過於龐大,不適合作為IP核心的附加方案。因此,大多數IP供應商選擇提供部份的檢驗方案,能用來檢驗核心是否正常運作。大多數的情況下,這類子集合方案已足以用來偵測在變更後所可能衍生的任何錯誤。& W' ^3 D, S0 k# ~2 W } ^/ F/ X