為了降低晶體管尺寸,提高性能,降低功耗和提供安全,芯片制造商越來越重視軟件建模。
回溯半導體產(chǎn)業(yè)軟件建模的演變,可以追溯到上世紀 90 年代的軟硬件聯(lián)合設計,當時的大型芯片制造商和系統(tǒng)公司采取了這種方案。尤其是隨著客戶對芯片需求的日益增加,這些日益復雜的 SoC 就必須內(nèi)置驅(qū)動和嵌入式代碼,引致軟件的流行。
而隨著晶體管尺寸的變小,帶來了芯片功耗和熱量的問題,除了大公司,很多小公司也開始將目光投向了半導體產(chǎn)業(yè)的軟件建模。
有幾個因素引致了技術(shù)“方程”的轉(zhuǎn)變:
(1) 主流的工藝節(jié)點已經(jīng)集中在 65nm 以下,這就讓漏電電流成為產(chǎn)業(yè)關(guān)注的首要問題;
(2) 越來越多依賴于電池供電的移動設備,讓芯片功耗成為關(guān)注重點;
(3) 很多芯片采用了異構(gòu)系統(tǒng)設計,讓其整體的功耗預算比過往更緊張,而新時代的設備需要頻繁的與外界通信,傳輸數(shù)據(jù),這無疑加劇了功耗問題。
最初,我們解決問題的方式增加芯片的核心數(shù),但這會引致一個新的問題,那就是對大多數(shù)應用來說,究竟多少個核心才是正確的選擇?在很多的應用方案里,即使在現(xiàn)在強調(diào)多線程和并行計算的大潮流下,兩個或者四個核心是最優(yōu)的選擇。
從某個方面看,根據(jù)硬件內(nèi)部“交流”方式的不同,可以引致軟件的改變。例如可以在一個處理器周期內(nèi),通過軟件讓芯片執(zhí)行更多的工作。同時它也能有兩個核心,有可能多大八個核心。尤其當其中的一些工作能夠被解析成不同的操作,這就方案就更有效了。
同時軟件還能提供更高的彈性和可靠性,在設計周期早期階段介入,給設計提供幫助,并在產(chǎn)品上市之前清理掉這些代碼,而不是通過通過后期添加補丁的方式實現(xiàn)。
Cadence 的 Frank Schirrmeister 表示,軟件建模的目的是構(gòu)造軟件和硬件互相影響的新模式。例如包含了重組序列,減少緩存的重載。而這會對功耗造成很大的影響。
軟件建模也會對設計流程產(chǎn)生重要的影響。軟件的改善能夠影響芯片設計過程中的資源的選擇。這包括了存儲類型、處理器類型和硬件加速器。這種模型同樣能夠使得軟件和硬件之間的“交流”變得更加高效。
而根據(jù) eSilicon Mike Gianfagna 的觀點,當中的關(guān)鍵就是系統(tǒng)級別的軟硬件平衡。
“功耗將會是大家持續(xù)關(guān)注的問題,他們在上面做了很多的分析和改變。而在關(guān)于軟件如何影響硬件上面,也有很多不同的做法和觀點,所以說仿真在最近幾年才變得越來越重要。”Mike 接著說。
Mike 認為,這將會是非常有用的。
相比于過去,現(xiàn)在的“消防演習”將會越來越少,尤其是在大型設計里面,客戶的要求越來越復雜,且他們對于系統(tǒng)的需求也很具體,對于晶圓級別的功耗也有很明確的要求。這就推動了復雜的軟硬件聯(lián)合設計的發(fā)展。
對系統(tǒng)的重新思考
在這種軟件潮流背后,是一股轉(zhuǎn)向更多系統(tǒng)級設計的趨勢,而這種趨勢已經(jīng)在軟件和硬件領(lǐng)域持續(xù)已久。但在很多例子中,軟硬件的并向進步比兩者的聯(lián)合解決更受歡迎。但物聯(lián)網(wǎng)的出現(xiàn),推動了新的轉(zhuǎn)變。
在物聯(lián)網(wǎng)中,由于大多數(shù)情況下資源都是有限的,同時對這些設備來說,cost down 的需求是很重要的。解決這些問題的一個重要方式就是提供系統(tǒng)本身的效率,這樣就可以讓架構(gòu)師去設計更低成本的微處理器,轉(zhuǎn)變存儲的混合類型。
Mentor Graphics 的 Darrell Teegarden 表示,這種轉(zhuǎn)來的不是說有更多更酷、更快的處理器,更重要的是這種方式對行業(yè)造成的影響。
現(xiàn)在有越來越多的高級別平臺,這些平臺通常都包括了計算硬件、傳感器、執(zhí)行硬件、控制傳感器和執(zhí)行器的軟件,平臺的戰(zhàn)爭也即將點燃。因此你需要對這些有一個大概的了解,為自己尋找最合適的解決方案。
Cadence 的 Schirrmeister 也認同這種觀點。他認為這種方式對某些應用來說非常有效。但對另一部分的應用,這可能就沒那么強大了。假設你關(guān)注邊緣計算,這就需要一個軟件模型,一個營建模型,或者一個軟硬件結(jié)合的模型。
這種軟硬件模型的分析和探索已經(jīng)存在一段時間了,但直到最近才流行起來的。
“有很多公司已經(jīng)打造了應用負載模式,利用其去實現(xiàn)應用處理和通信需求”,Synopsys 的 Pat Sheridan 說。當中包含了相關(guān)性、每個任務有不同處理器的處理器周期,還有對不同區(qū)域的執(zhí)行讀或?qū)懙膬?nèi)存訪問等并行任務。
這類工具的一個好處就是它能夠提高抽象層的級別,這些的話在功能測試的時候就不需要針對軟件建模。當中的關(guān)鍵就是能將應用負載需求和 resources 分離開。你可以將任務映射到 resources 上,同時你也可以聯(lián)合不同的 CPU 和加速器。
物聯(lián)網(wǎng)和安防
工具供應商表示,最初這些工具只是為移動市場準備,現(xiàn)在他們開始將其推廣到其他市場,當中包括了汽車、物聯(lián)網(wǎng)和服務器應用。
特別是在物聯(lián)網(wǎng)領(lǐng)域,由于對安全有很高的需求,所以他們特別關(guān)注軟件建模。
現(xiàn)在的軟件涵蓋了高端到低端。而那些經(jīng)過驗證的高端軟件開始逐漸“入侵”簡單的設備。 ARM 的 Bill Neifert 說。在物聯(lián)網(wǎng)領(lǐng)域,這主要是安全驅(qū)動的。這些軟件能夠加強對攻擊的防御。
安全問題是全球 IC 設計者關(guān)注的問題,它能夠影響軟件的每個層級。例如在一個通信芯片里,包括整個通信棧、IP、I/O、硬件元器件,還有芯片內(nèi)外的存儲和總線,都會有可能面臨安全威脅。
安全和效率問題來到 IoT 上面,給開發(fā)者帶來的問題更多了。這就帶來了新一代 MCU 的設計。這些 MCU 能夠應對多樣化設計產(chǎn)品的功能需求和成本壓力。
ARM 的 Neifert 表示,在過去一年,MCU 領(lǐng)域的軟件建模需求快速增長。由于功耗限制,你在設計芯片的時候?qū)?PPA 有嚴格的需求,另外還要著重考慮安全問題。
當然,關(guān)于軟件建模和硬件聯(lián)合設計能給設計帶來多大的效率提升這個問題,是沒有明確的答案的。三星在十幾年曾經(jīng)做過一個測試,測試結(jié)果顯示性能提升了 50%。從三星當時的報告開始,業(yè)界正在改變,但基本規(guī)則是不變,
而安全是方程式需要平衡的另一個方面。由于現(xiàn)在逐漸開始流行的智能汽車和健康醫(yī)療對安全有更高的需求,安全也逐漸被導進到軟件建模里。
在汽車電子里,考慮安全的話,芯片的設計有時候會比較冗余,有時候會導致芯片的集成電路的設計規(guī)模大 50%。再過去的話,你可能會做這樣的一個設計。但是現(xiàn)在,你需要確定你將要用哪一個版本的 ASIL(汽車安全集成級別),再將其與性能、成本匹配,然后實現(xiàn)自己的目標。
大數(shù)據(jù)中心和高性能計算
發(fā)展到現(xiàn)在,半導體軟件建模在大數(shù)據(jù)中心上起的作用也越來越重要。這主要是由需要在低功耗的情況下處理飛速增長的數(shù)據(jù)現(xiàn)狀密切相關(guān)。
Cadence 的 Schirrmeister 表示,他們正在針對包括大數(shù)據(jù)在內(nèi)的某些特別任務做負載優(yōu)化,而硬件和軟件建模結(jié)合的模式很方便解決這個問題。
現(xiàn)在有很多人討論 FPGA 在大數(shù)據(jù)中心的應用,因為在那里,軟件和硬件的聯(lián)合設計并不需要預先集成到芯片里。你可以額外添加一個數(shù)據(jù)處理算法到硬件架構(gòu)里。當然在存儲那邊,也有操作的空間,因為你可以重構(gòu)存儲架構(gòu),改變數(shù)據(jù)出入的方式,這也可以稱之為軟件建模。
由于可以當做一個定制的加速器平臺使用,F(xiàn)PGA 近年來在大數(shù)據(jù)的應用越來越廣泛。Rambus 的 Steven Woo 說。FPGA 的優(yōu)勢在于其有足夠大的內(nèi)存,其符合 rack-scale 架構(gòu)。
在大數(shù)據(jù)中心,需要很多服務器。傳統(tǒng)的配置會有 CPU、I/O、硬盤和內(nèi)存,這樣會帶來很大的成本。但這些服務器的負載并沒有完美匹配,這樣就會造成低效率的影響。因此如果能夠完美匹配軟件和硬件,并在兩者之間做外媒的配置,那么大數(shù)據(jù)中心的效率就會顯著提高。這就解析了為什么谷歌和 Facebook 這樣的公司都在設計自己的硬件架構(gòu)。例如谷歌的 TPU,F(xiàn)acebook 的 Open Compute Project。
總結(jié)
軟件和硬件的聯(lián)合設計在過去二十多年,一直是產(chǎn)業(yè)界關(guān)注的重點。從技術(shù)角度看,這種結(jié)合能夠帶來更好的性能提升,更低的功率損耗。但隨之而來也會帶來新的問題,那就是很難去衡量。
在很多的芯片公司,軟件工程師是遠超過硬件工程師的,他們對于通過購買什么類型的工具去協(xié)助改善功耗、性能和成本有重點的關(guān)注和見解。
最終的目標是降低時間和功耗。而最好的效果就是當你從 Fab 里把硬件拿回來的時候,所有的驅(qū)動就已經(jīng)都內(nèi)置好了。所以說,軟件建模,機會來了。
更多最新行業(yè)資訊,歡迎點擊與非網(wǎng)《今日大事要聞》!