現在,資料中心和伺服器這些大資料網際網路公司都在開發自己的晶片以最佳化網路。其原因是,根據調查,每有100ms延遲就會使營業收入減少1%,此外,我們也必須考慮符合汽車功能安全,以及網路安全,防止駭客攻擊。

今日的SoC設計變得非常複雜,包含多種IP單元和處理器,以及軟硬體的整合,因此,設計一款晶片,以及把它推向市場所需的成本越來越高。產生這個現象的主要原因是設計方法還沒改變,大家都還在用JTAG這種已存在30年歷史的設計方法。

Synopsys總裁兼執行長Aart de Geus曾反覆談到系統複雜性,因為今天的晶片裡有太多的單元和軟硬體的協同。設計開發和上市成本越來越高的原因,是設計工具和設計方法都還很傳統,大家都是在單元級上做開發,現在每個單元內部都有非常好的成功的工具和方法,但都不是系統級的解決方案。

UltraSoC是一家總部位於英國劍橋的小公司,辦公室離徐志摩當年「戰鬥」過的地方很近。他們的IP就是要說明客戶解決這些晶片設計所面臨的最大問題。

UltraSoC執行長Rupert Baines日前在媒體發表會上告訴記者,UltraSoC的商業模式和ARM一樣,他們的IP應用到Intel、海思、Imagination和Microsemi這些公司的晶片中。

20171208NT02P1

UltraSoC為什麼能解決晶片設計問題?

UltraSoC目前還是一家由VC提供資金的公司,共有25名雇員,所有的技術來源於大學。特別是投資陣容很強大,公司的董事長是加州柏克萊大學分校(University of California, Berkeley)的一位教授,同時也是Synopsys和Cadence的聯合創始人。

UltraSoC說明客戶解決很多業務本質的問題,包括怎麼讓產品更快上市,怎麼最佳化軟硬體的協同,怎麼導入RISC-V等。

那麼,UltraSoC的技術為什麼能解決這些問題?他們有一個資料庫,這個庫大概有30多個元件。系統設計師把這些元件用在SoC設計的各個部分,就能去解決這些問題。

Baines說,「UltraSoC的元件能智慧地懂得SoC中的各個單元和軟硬體,包括可以瞭解ARM、RISC-V和MIPS的軟體,也可以瞭解硬體,這些元件被叫做互連記憶體控制器。總而言之,UltraSoC可以把SoC的各個部分放到一個系統中去,可以全域性地看到SoC設計中硬體和軟體的整體狀態。」

下圖是一個典型的客戶設計。這個手機處理器中有ARM處理器,也有可以理解ARM軟硬體的元件,同時也有CEVA的DSP。對於UltraSoC,他們的軟體也能理解DSP的設計,同時也可以作為一個整體來進行瞭解。

20171208NT02P2

UltraSoC也有專門針對硬體的元件,比如針對匯流排和晶片互連的元件。同時它們把所有這些軟硬體分析功能放到一個整體的分析功能之下。

20171208NT02P3

他們的IP可以解決很多問題,例如很常見的一個問題是,在執行一個晶片設計時,這個CPU的確工作,但是速度沒有其在做產品定義和規劃時這麼快。問題出在哪,怎麼解決它?UltraSoC就是幫助解決這樣的問題。

20171208NT02P4

UltraSoC的系統還可以解決很多系統級的問題。比如系統被掛起或鎖死,是電子系統中很常見的問題,每隔一段時間就會發生。Baines回顧,「當年我在Picochip的時候(編按:在加入UltraSoC前,Baines是Picochip市場行銷副總裁。在Picochip被Mindspeed(現併入英特爾收購)後,他擔任Mindspeed的市場行銷策略副總裁。)那時正是TD-SCDMA蓬勃發展的時候,曾經當地一家合作夥伴面臨的問題是,系統大約每8天就會死機一次,對於系統設計人員來說是件很頭痛的事情。」

他並補充,「系統被掛起或鎖死是系統設計中一個非常嚴峻的挑戰。針對剛才說的大概每8天死機一次做模擬,模擬速度很慢。所以,要做一次模擬,一周接一周地去做,還不一定能找到問題,這是個很麻煩的挑戰。而對於UltraSoC來說,解決這樣的問題非常方便、非常快,從而給設計人員帶來很大的方便。」

下圖列出的是UltraSoC片上分析IP的好處。由於其IP一直處在晶片內部,所以既可以用在實驗室做產品研發的調整,也可以在產品應用現場,在不同的應用場景下去瞭解和最佳化晶片設計。

20171208NT02P5

另外對於網路安全標準(防止駭客入侵),或汽車ISO 26262標準,UltraSoC也都提供支援。他們的IP可以觀察晶片是否正常工作,UltraSoC的IP面積很小,只需要不到1%的裸片面積,就可以提高性能,同時減少bug,還可以降低功耗。依一項研究顯示,它同時也可以加速產品上市,利潤率可達到2.3倍。

UltraSoC提供什麼解決方案?

UltraSoC的IP包括3個層面的解決方案。第一層是大約30種的分析模組,其功能是能夠理解晶片SoC的不同部分,如ARM、RISC-V和CEVA的軟體,以及匯流排、系統互連的狀態。它們的優點是當地語系化的智慧,所有這些模組都是在本地化工作,就在相關單元的旁邊以系統級的速度來工作,同時不是侵入性的,在系統內不可見,不會影響任何系統的性能。

第二層是互連,它的各個模組透過網路溝通,並可被動態重新配置。用戶可以設置if-then關係,進行交叉觸發,因此,如果處理器有問題發生,就可以終止活動;如果匯流排上出現某個模式,使用者就可以查看處理器當時的狀態。如前所述,模組之間的相互依賴關係是晶片設計的一個問題。

最後一部分是他們的連接通訊器。這些IP單元和外部世界需要連接在一起,這些通訊器可以用晶片設計中非常標準的JTAG介面來做連接,也可以用常用的乙太網路、PCIe、USB介面連接晶片內部分析IP和外部環境。

另外,UltraSoC還有片上工作的模式。例如一個晶片已出貨,這些IP不再需要跟設計師做溝通,它們也可以說明晶片最佳化性能和功能。

UltraSoC提供所有軟硬體的全面視覺化作業系統,下圖是UltraSoC的典型操作介面。中間是軟體跟蹤顯示,綠色部分是處理器程式碼的一個中斷點,右邊顯示的是硬體。當中斷點出現的時候,匯流排上當時正在做什麼操作,有什麼資訊的溝通?相應的硬體行為也可以看到。右邊是統計數字,包括內部架構上的延遲。

20171208NT02P6

如果是軟體發展工具,很多公司都有,而能夠同時提供軟硬體和相關統計資料的公司,目前只有UltraSoC。上圖中最左邊是模組的工作情況。中間是處理器的工作情況,可以支援UltraSoC的IP,目前來看可以支援客戶開發最多的數量是256個核心,另外還有客戶正在開發最多4,000個核心的晶片。

在絕大多數SoC或電子系統中,從右上角(見上圖)的統計資料來看,系統工作都是一開始性能慢慢提升,到了一個高點後,系統性能下降,有可能是記憶體出現洩漏,或者匯流排出現壅塞,或者其他的一些原因。UltraSoC就是幫助設計工程師分析和找出具體的原因。

有一個非常常見的問題,就是UltraSoC的緩存問題,這時候大家的CPU設計並沒有問題,這是一個軟體的問題。需要去找相關的軟體問題,如果用它們的工具可以很方便的解決這一類的問題,緩存的最佳化可以使CPU的性能提升20%。

另外兩種情況是記憶體、控制器的問題。這是晶片中非常複雜的設計,需要很最佳化的設計。在高速儲存資料中,記憶體、控制器有可能成為資料存取的瓶頸。比如記憶體的情況,是系統的儲存不平衡;儲存的流量峰值的波動和突發,用UltraSoC就可以很方便的幫助設計人員發現這些問題。如果不用UltraSoC就基本不可能去發現這些問題,但是在系統即時工作的情況下,出現一個小小的問題讓Modem崩潰,用別的工具很難發現,而用UltraSoC就很容易找到這個原因。

UltraSoC也可以在實驗室作為工程開發工具來使用,即在晶片流片後拿到樣本,在商業發佈之前可以在實驗室作為工程開發工具來使用。同時UltraSoC在產品生命週期都能用,比如有一家很大的客戶(high-profile, sexy and secret,大家自己去猜)用UltraSoC的片上分析 IP。這家客戶的晶片,在汽車在駕駛的時候會不斷監測晶片的狀態,這是可以滿足ISO 26262標準的IP,這個標準在汽車領域非常難通過認證,但也非常重要。

另外一個跟安全性一樣重要的是網路安全。UltraSoC的IP是從硬體層面對晶片狀態進行即時監控,可以發現任何工作不正常的地方。Baines指出,「因此,我們可以發現DDoS攻擊,即使CPU無法工作(全速運作時),也能發出警報。」這是因為UltraSoC的IP是在硬體中,是作業系統看不見的,所以攻擊者不可能阻止或干擾這種監控。不像其他的軟體層資訊防範工具,駭客進攻是可以去停止或欺騙看得見的防範工具。

當筆者問到,UltraSoC IP在現場使用,若CPU遭受DDoS攻擊,已無法回應了,又怎麼去解決問題時,Baines解釋,「網路安全通常涉及到很多層,非常複雜。現在,我們的客戶在使用我們的方案時是用的2個CPU:一個是系統CPU,它運行主程序,暴露在外部世界中;一個是監控CPU(supervisor),獨立於前者,攻擊者訪問不到。若有攻擊發生,監控CPU將對系統重定,並透過一個分離的鏈路發送警報。」

網際網路業者為何要開發自己的伺服器晶片?

對於UltraSoC最大的市場是資料中心和伺服器。原因是,這些資料量龐大的公司都在開發自己的晶片以最佳化網路。比如美國的亞馬遜(Amazon)、微軟、Facebook,中國的百度、阿里巴巴、騰訊都在做自己的晶片;華為海思、高通也都在做伺服器和資料中心用晶片。

為什麼要自己開發晶片?因為像阿里巴巴這樣龐大的營業收入,他們要確保自己的伺服器工作很流暢。亞馬遜有一個研究,100ms的延遲會使營業收入減少1%,對於亞馬遜這麼高的收入來說,1%會是很大的損失。所以這些網際網路業者都在努力讓系統工作得很流暢、很正常。(有興趣的讀者可以到UltraSoC的網站,有一篇白皮書很全面介紹了網際網路和伺服器IP間的關係。這份Google和微軟做的調查,很詳細介紹了延遲帶來的損失。)

總結來說,UltraSoC的IP在客戶的SoC裡不斷地對晶片進行分析並收集相關資料。這些資料可以被設計人員用在不同的地方,如在開發階段縮短上市時間,可以創建更好的產品。除了剛才說的開發階段用的資料外,還有非常有價值的資訊,可以用在更多的地方,讓晶片可以工作得更好、更可靠,並有更少的問題。而且你也可以在產品的整個生命週期上去使用它們的IP,比如用於ISO 26262功能安全,以及網路安全方面,可以監控晶片,防止惡意攻擊。

UltraSoC在RISC-V的整個生態系統中有很大貢獻、也很成功。RISC-V類似於Linux,是一個開放原始碼的CPU,當然包括商品化的CPU設計(類似紅帽Linux)。所以在CPU設計領域,用戶可以下載RISC-V的來源程式自己做處理器設計,也可以買SiFive等公司的授權來做設計。

RISC-V對中國市場非常重要,許多中國公司都在關注和投入RISC-V的晶片,希望晶片設計能夠有更多的當地語系化。除了很多大客戶,中國還有很多半導體初創企業,比如很多一些中國的新創公司去開發很先進的應用。

UltraSoC是業內唯一一家為RISC-V提供商品化開發環境的公司,包括監測、追蹤、調試CPU的運行,也可以用在完全開放原始碼的領域。他們也跟一些做RISC-V IP設計的公司合作,因其產品提供開發環境,如果完全從開放原始碼的做起,他們支援運行控制、追蹤和調試。

最後,Microsemi最近也購買了UltraSoC的通用分析與嵌入式智慧平台授權,用於其基於RISC-V開放原始碼處理器架構的產品開發。