新聞中心

EEPW首頁 > EDA/PCB > Socket 在SoC設(shè)計中的重要性

Socket 在SoC設(shè)計中的重要性

——
作者: 時間:2006-11-29 來源:電子產(chǎn)品世界 收藏


本文介紹在現(xiàn)代片上系統(tǒng)() 設(shè)計中使用開放式內(nèi)核協(xié)議(OCP) ,解釋了為什么標準的工業(yè)套接口在富有競爭性的 設(shè)計很重要,說明了OCP 如何實現(xiàn)接口功能。討論中說明了加速設(shè)計以滿足更短的上市時間的必要性,和復(fù)用IP 的優(yōu)勢。最后,本文討論了三種不同的實現(xiàn)方法,闡明OCP 給內(nèi)核設(shè)計帶來的靈活性。


問題
近年來,工藝的改進和日益增長的市場壓力使上市時間和設(shè)計重用成為工業(yè)的熱門話題。顯然,減少SoC 設(shè)計周期可以減少上市時間。設(shè)計重用表面上很簡單-一次設(shè)計,多次使用。但是減少SoC設(shè)計時間和實現(xiàn)設(shè)計重用被證明是很困難的。
由Moore 定律知,每過18個月,隨著工藝的改進集成電路密度增加一倍。這允許在給定大小的半導(dǎo)體面積上極大增加電路范圍和功能,但由此引起的制造成本的增加確是微不足道的。比如,在過去的5年里,半導(dǎo)體門數(shù)從20萬到50 萬門增加到上千萬門,甚至2千5百萬門。門數(shù)提高了50倍,這也是SoC 設(shè)計得以實現(xiàn)的根本原因。
隨著密度增加的還有性能的提高,設(shè)計者努力同時降低原型設(shè)計和后續(xù)改進設(shè)計的設(shè)計周期。這都是因為激烈的市場競爭壓力,產(chǎn)品生命周期的縮短和功能的提高導(dǎo)致設(shè)計頻繁修改,設(shè)計時間減半。見表1 。

表1不斷增加的設(shè)計復(fù)雜度和不斷減少的設(shè)計周期時間 
1997 1998 1999 2002 Delta
工藝技術(shù)0.35m 0.25m 0.18m 0.13m ~7x
門數(shù)200-500K 1-2M 4-6M 10-25M ~50x
設(shè)計周期(月) 12-18 10-12 8-10 6-8 ~2x
后續(xù)設(shè)計周期(月) 6-8 4-6 2-4 2-3 ~2x 

總之,由簡單一道數(shù)學(xué)題知,在一半的設(shè)計時間芯片,電路增加50倍等同于產(chǎn)率提高100倍。但通常這是很難實現(xiàn)的,尤其是在今天芯片設(shè)計的復(fù)雜度不斷提高、設(shè)計周期不斷縮短的情況下。其結(jié)果就是另外上市時間和內(nèi)核的復(fù)用不斷受挫、產(chǎn)品進度表和設(shè)計效率都受影響。


縮短SoC設(shè)計時間


為解決上市時間問題,首先想到的是并行設(shè)計單獨的SoC內(nèi)核和最終的SoC產(chǎn)品,設(shè)計企業(yè)可以在這方面減少設(shè)計時間因為設(shè)計的各個環(huán)節(jié),包括SoC仿真(時序和性能分析等)都并行進行。
這可以將SoC設(shè)計時間減少為單個部件的最大設(shè)計時間。單個部件可以是單獨的SoC內(nèi)核,或是SoC集成。不管怎樣,開發(fā)進度分險得到控制-允許在加速設(shè)計進度表的前提下保證SoC產(chǎn)品更高可靠性。這也允許進度表更可預(yù)測。因為所有的設(shè)計是受控的,所有的設(shè)計并行進行,問題不是被串行解決。這意味著問題可以更快被發(fā)現(xiàn)和解決,設(shè)計流程變得非??深A(yù)見。


然而,并行設(shè)計需要定義分割的每個內(nèi)核和共享的SoC資源。這是因為內(nèi)核只執(zhí)行自身功能,而無系統(tǒng)信息。比如,PCI2接口內(nèi)核或MPEG 解壓內(nèi)核只執(zhí)行自身的功能,而不需了解SoC互連機制的任何信息。相似的,互連機制處理傳輸信息時,像進行判決控制、地址映射、數(shù)據(jù)傳輸時不需要了解內(nèi)核提供任何信息。幸運的是,這種方法已經(jīng)存在而且被研究好多年了,這種方法叫做分層法。


分層法已成功地被運用在網(wǎng)絡(luò)上,在每一層定義了不同的功能和與相連層之間的接口。在軟件上也一樣,每個功能和任務(wù)都定義自身的功能和接口。分層法已經(jīng)在不同的領(lǐng)域被證明是很有效的。


用分層法來解決問題


分層法自然地將系統(tǒng)處理的部件分離出來,部件可以是大軟件程序的一個軟件模塊,或SoC中的半導(dǎo)體內(nèi)核,這對SoC設(shè)計者更為重要,兩者的原理是相同的。分層法的優(yōu)勢有:
• 減少設(shè)計時間
• 更簡單的驗證
• 增加IP 復(fù)用
分層法使得設(shè)計團隊能將設(shè)計努力分解成許多獨立活動,能被同步處理,因為這些活動間相互依存度最低。縮小單個活動的時間能增加成功的幾率,也更容易被驗證。這可以大幅地加速最終產(chǎn)品的交付時間。
分層法使內(nèi)核能重用在不同的系統(tǒng)內(nèi)。采用分層法方法,其他的系統(tǒng)資源只需考慮其他的設(shè)計要求,而不需考慮單個內(nèi)核的功能。如果用正確的內(nèi)核接口設(shè)計,內(nèi)核只在支持接口的子系統(tǒng)內(nèi)不用改變的被重用。通過選擇工業(yè)級標準接口,不需要增加額外的時間實現(xiàn)重用,因為所有內(nèi)核都需要這樣的接口。但是,什么是內(nèi)核接口呢?這個問題的答案就是套接口socket 。


套接口


現(xiàn)在出現(xiàn)在SoC 設(shè)計者面前的問題曾經(jīng)困擾了局域網(wǎng)(LAN) 設(shè)計幾十年。最后,LAN 設(shè)計者建立了定義好的接口,包含了物理連接和物理連接上信息交換協(xié)議。這些行業(yè)慣例隨后用在計算機工業(yè),以能提供獨立設(shè)計的和功能多樣性的即插即用型產(chǎn)品,使商業(yè)公司能整合在一起定制LAN 的配置。這種方法已經(jīng)被證明是可行的。


理想的SoC 套接口要求


理想情況下, SoC socket 使得內(nèi)核設(shè)計者能集中精力內(nèi)核功能的設(shè)計和內(nèi)核之間的互連(如SoC 互連、USB、802.11b、SDRAM 等)。相似的,SoC 系統(tǒng)集成者可以集中于SoC 時序、內(nèi)核服務(wù)帶寬、延遲要求和獨立于內(nèi)核功能的物理布線設(shè)計。因此, 能提供必要的物理和交換協(xié)議,以實現(xiàn)定義好的分層法。


理想的SoC socket 必須是傳輸執(zhí)行未知的。SoC 內(nèi)核通過接口連接核內(nèi)傳輸機制,但不需了解具體的傳輸機制(計算機總線、縱橫交叉、可配置片上網(wǎng)絡(luò))。


這一點很重要。否則的話,進行內(nèi)核設(shè)計時設(shè)計者需要了解傳輸知識,這不利于在使用不同的傳輸機制SoC 設(shè)計中進行內(nèi)核重用。傳輸未知(transport-unaware) 方法,能保證設(shè)計的獨立性,允許系統(tǒng)設(shè)計者根據(jù)系統(tǒng)需求選擇最優(yōu)的互連方式 {{分頁}}


最后,由于帶寬要求的多樣性,理想的接口應(yīng)該允許設(shè)計者從不同的方面配置不同的接口方式。不同的方面包括接口數(shù)據(jù)位寬、交換握手協(xié)議、交換反饋等等。這使得SoC 設(shè)計者精簡SoC 內(nèi)核設(shè)計,在滿足內(nèi)核和SoC 設(shè)計要求的前提下,使芯片復(fù)雜度和面積最小化。


¡¡OCP 是一個面向內(nèi)核的接口:
• 便于所有內(nèi)核信號和功能不受限制的傳遞
• 能不受限制的接口橋接任何總線結(jié)構(gòu)


SoC 套接口
據(jù)我們現(xiàn)在所知,使內(nèi)核復(fù)用最大化的解決方案要求采用經(jīng)精密構(gòu)思的、專用的、以內(nèi)核為中心的協(xié)議作為內(nèi)核接口。通過選擇工業(yè)標準,內(nèi)核設(shè)計者不僅能保證內(nèi)核復(fù)用于自己公司設(shè)計的內(nèi)核,也可以通過IP 授權(quán)協(xié)議讓內(nèi)核復(fù)用在其 他公司設(shè)計的內(nèi)核中。最后,能最大化地和第三方IP 取得授權(quán)和合作進行SoC 設(shè)計。換句話說,他們獲得了SoC 設(shè)計的快捷性和通過IP 授權(quán)取得收入的能力。
此外,嚴格的IP 內(nèi)核接口規(guī)范,與最優(yōu)化的系統(tǒng)互連結(jié)合,使得內(nèi)核設(shè)計者能集中于設(shè)計內(nèi)核的功能。這就消除了終端用戶一些必需了解的復(fù)雜知識,終端用戶可能使用內(nèi)核和應(yīng)用上的其他IP 內(nèi)核。內(nèi)核需要的接口能使內(nèi)核從系統(tǒng)中剝離出來。接口具有socket 的屬性-一種強有力的、精簡的、已被工業(yè)界廣泛應(yīng)用的接口。


通過這種方法,系統(tǒng)集成者利用分層硬件達到分割芯片部件的目的,設(shè)計者不再需要在無數(shù)種的內(nèi)核協(xié)議和核內(nèi)傳輸策略徘徊。用標準IP 內(nèi)核接口可以避免在每次SoC 集成時去適應(yīng)每個內(nèi)核,系統(tǒng)集成者可以集中解決SoC 設(shè)計上的問題。因為每個內(nèi)核已從片上互連分離出來,交換內(nèi)核來滿足系統(tǒng)和市場的需求的努力將變得微不足道。


總之,對于真正內(nèi)核復(fù)用,SoC 集成者將內(nèi)核集成在SoC 時,不會修改被復(fù)用內(nèi)核的信息。所以當總線位寬、總線頻率和總線電氣負載改變時不需要對內(nèi)核進行修改。換句話說,一個真正的套接口使內(nèi)核與SoC互連機制隔離開。 支持工具、間接地支持協(xié)議、檢查器、模型、測試向量和測試生成器。這允許獨立的內(nèi)核設(shè)計,設(shè)計出不需考慮內(nèi)核互連的即插即用的模塊,也使得能并行設(shè)計模塊,這樣能節(jié)省大量的設(shè)計時間。


接口解決方案的要求


內(nèi)核接口設(shè)計的要求是多樣化的,沒有一個單一專用的設(shè)計方法能滿足所有的要求。一個標準內(nèi)核接口規(guī)范需滿足:
•不同等級的一系列要求
•允許設(shè)計者能應(yīng)不同的要求配置接口實例(總線位寬、數(shù)據(jù)握手等)
•支持更多的數(shù)據(jù)流信號3
•誤差
•中斷
•標志和軟件流控制
•控制和標志
•測試
•捕捉所有的內(nèi)核和系統(tǒng)之間的信號


OCP 介紹


OCP 是免費使用的、與總線獨立的協(xié)議,它滿足上面的以內(nèi)核為中心的所有協(xié)議要求。特別的是,它能完全滿足IP 內(nèi)核通信機制的所有要求。作為一可配置的接口,OCP 有一系列能共享公用定義的協(xié)議組成。


OCP 通過對基本OCP 數(shù)據(jù)集的可選擇擴展能支持邊帶信號。這些邊帶信號包括:重啟(reset) 、中斷(interrupt) 、誤差(error) 、控制/狀態(tài)信息(control/status information) 等。另外,類標志總線能滿足任何內(nèi)核發(fā)信號的要求??蛇x擇的OCP測試接口擴展在集成SoC 時支持掃描、JTAG 、時鐘控制、內(nèi)核調(diào)試、制造測試。


系統(tǒng)設(shè)計者能配置OCP 以很好地滿足內(nèi)核需求。通過簡單的配置程序,OCP 用簡單且精簡的OCP 接口能支持簡單、低性能內(nèi)核,也用復(fù)雜的接口支持復(fù)雜的、高性能的內(nèi)核。


IP 設(shè)計者通過OCP 接口能實現(xiàn)IP 內(nèi)核設(shè)計,設(shè)計者不需要了解除OCP 外的終端應(yīng)用知識,允許全球設(shè)計團隊的人員互相獨立的設(shè)計。系統(tǒng)集成者可自由選擇片上互連方式,然后有效的轉(zhuǎn)換成OCP 接口連接內(nèi)核。


OCP-IP 成員接受CoreCreator® 工具為OCP 協(xié)議達標環(huán)境,并成一起以有效的IP 內(nèi)核復(fù)用。這對所有的OCP-IP會員免費開放使用。


這些實例說明了三個不同功能的內(nèi)核如何使用OCP 接口,這些實例有:
1 總線橋(bus bridge)
2 處理器接口(processor interface)
3 內(nèi)存接口( memory interface)
第一次是孤立地討論每個內(nèi)核的OCP 接口,之后提出了一些附加的公共信號.信號名稱是OCP 協(xié)議的一部分,關(guān)于完整的信號定義讀者可以參考開放式內(nèi)核協(xié)議參考手冊。

在一個nutshell, OCP 互連有主機實體(Master entity)和從機實體( Slave entity).一些簡單的OCP 術(shù)語和協(xié)議:
  •主機發(fā)出的信號以首字母M開始
  •從機發(fā)出的信號以首字母S開始
  •協(xié)議內(nèi)有簡單的握手信號
  •主從機可同時進行信號流控制
  •所有的傳輸和信號與OCP 時鐘的上升沿同步
例1-總線橋
總線橋可以將PCI 、USB 和其他總線標準與OCP 互連。控制器有外部的接口像PCI 或USB 接口,內(nèi)部的SoC 接口就是OCP 。


總線橋在內(nèi)部SoC 互連機制上扮演的是主從機的角色,主機發(fā)出信號給目的地址,而從機向總線橋或內(nèi)部控制狀態(tài)寄存器讀寫。 {{分頁}}


從機包含簡單的OCP 接口和一些邊帶信號,從機內(nèi)核的OCP 信號集主要有:
  •MCmd 主機命令信號(像讀/寫)
  •MAddr 主機地址信號( 可達32 bits)
  •MData 主機數(shù)據(jù)(寫數(shù)據(jù); 8,16,32,64,128 bits wide)
  •SCmdAccept 從機命令接受信號
  •SResp 從機響應(yīng)信號
  •SData 從機數(shù)據(jù)(讀數(shù)據(jù), 數(shù)據(jù)大小與MData 一致)
  •SError 從機誤差信號, 誤差來自橋
  •SInterrupt 從機中斷信號,中斷來自橋
  •Control 總線橋的控制位
  •Clk 時鐘信號
  •Reset_N Reset 信號


這個實例的接口只用一個中斷,就是從機中斷。如果中斷超過一個,從機標志位(SFlag) 能提供8個額外的中斷。


總線橋主機的信號有:
  •MCmd 主機命令信號
  •MAddr 主機地址信號(可達32 bits)
  •MData 主機數(shù)據(jù)(寫數(shù)據(jù); 8,16,32,64,128 bits wide)
  •MBurst 主機Burst
  •SCmdAccept 從機命令接受信號
  •SResp 從機響應(yīng)信號
  •SData 從機數(shù)據(jù)(讀數(shù)據(jù), 數(shù)據(jù)大小同MData 一致)
  •Clk 時鐘信號 
  •Reset_N Reset 信號


可選擇的OCP 線程信號與PCI 結(jié)合能增強接口的通信能力,支持接口并行和亂序處理傳輸信號。可選擇的OCP 擴展信 號支持多線程。不同線程間的事務(wù)沒有排序限制,可以亂序執(zhí)行。但在一個線程里的數(shù)據(jù)流,所有的OCP 傳輸應(yīng)保持順序。PCI 接口的線程可用于不同的memory 和I/O 。


  •MThreadID 主機線程ID (可達16 個不同的線程)
  •SThreadID 從機線程ID (可達16 個不同的線程)
例2-處理器接口


處理器接口只需一個OCP 主機,信號與總線橋主機相似,但對較少的單字傳輸增加了位使能信號。這個實例的內(nèi)核OCP信號集可能有:
• MCmd 主機命令信號
• MAddr 主機地址信號(可達32 bits)
• MData 主機數(shù)據(jù)(寫數(shù)據(jù); 8,16,32,64,128 bits wide)
• MBurst 主機Burst
• MByteEn 主機位使能信號
• SCmdAccept 從機命令接受信號
• SResp 從機響應(yīng)信號
• SData 從機數(shù)據(jù)(讀數(shù)據(jù), 大小與MData 一致)
• SError 從機誤差信號, 輸入處理器
• SInterupt 從機中斷信號, 通常是NMI pin
• SFlag 從機標志位信號, 其他給處理器的中斷輸入(可達8 flags)
• Clk 時鐘信號
• Reset_N Reset 信號
最新可用的處理器支持指令并行和數(shù)據(jù)cache-miss 預(yù)取,OCP 線程支持這個。因此,用以提高這些處理器的并發(fā)內(nèi)存操作的信號有:
  •MThreadID 主機線程ID (可達16 不同的線程)
  •SThreadID 從機線程ID (可達16 不同的線程)
  •MThreadBusy 主機線程忙信號
  •SThreadBusy 從機線程忙信號
主從機線程忙信號用以控制每個線程流。雖然處理器可能有好幾種取指等待出來,但沒有資源同時處理所有信號。所以線程忙信號使OCP 主機處理器或者目標從機能控制傳輸流。
例3-內(nèi)存子系統(tǒng)
與內(nèi)存子系統(tǒng)互連接口的有DRAM, DDR, SRAM 或FLASH 。OCP 信號需要復(fù)雜的OCP 擴展來充分利用帶寬。內(nèi)存子系統(tǒng)可以是支持很多個memory bank 的多線程。內(nèi)存控制器也做一些簡單的擴展,如burst 和位使能,以有效地服務(wù)請求。


這個實例的內(nèi)核OCP 信號集可能有: 
  •MCmd 主機命令信號
  •MAddr 主機地址信號(可達32 bits)
  •MData 主機數(shù)據(jù)(寫數(shù)據(jù); 8,16,32,64,128 bits wide)
  •MBurst 主機Burst
  •MByteEn 主機位使能信號
  •SCmdAccept 從機命令接受信號
  •SResp 從機響應(yīng)信號
  •SData 從機數(shù)據(jù)(讀數(shù)據(jù), 大小與MData 一致)
  •MThreadID 主機線程ID (可達16 不同的線程)
  •SThreadID 從機線程ID (可達16 不同的線程)
  •MThreadBusy 主機線程忙信號
  •SThreadBusy 從機線程忙信號
  •Clk 時鐘信號
  •Reset_N Reset 信號


內(nèi)存子系統(tǒng)在主機數(shù)據(jù)和從機數(shù)據(jù)使用的數(shù)據(jù)位寬比連接到內(nèi)存的數(shù)據(jù)位寬要大一些。這使得每個系統(tǒng)互連傳輸更有效。


每個例子的共同信號


先前的實例都有掃描信號和JTAG 信號,這些測試和掃描信號對每個內(nèi)核都相同,但掃描鏈的數(shù)目是不同。在OCP 中測試結(jié)構(gòu)不是孤立的實體,而作為接口的一部分。這完善了套接口,不僅僅只作尋址數(shù)據(jù)流方面的考慮。有掃描和JTAG 的內(nèi)核需要的信號有:
  •ScanCtl 掃描控制信號
  •ScanIn 掃描輸入(可達256 掃描端口或掃描鏈)
  •ScanOut 掃描輸出(可達256 掃描端口或掃描鏈)
  •ClkByp Clock Bypass, 同測試時鐘代替正常時鐘
  •TestClk 測試時鐘
  •TCK JTAG 測試時鐘, 按照IEEE 1149.1 定義所有信號
  •TDI JTAG 測試輸入
  •TDO JTAG 測試輸出
  •TMS JTAG 測試模式選擇
  •TRST_N JTAG Reset


結(jié)論


標準的套接口內(nèi)核協(xié)議對SoC 設(shè)計社區(qū)非常重要。OCP 是唯一的,完整的、全面支持的和已被證明的套接口。采用OCP能避免互相不兼容或私有權(quán)引起的問題,也有利于擴展IP 內(nèi)核商業(yè)化交易市場。
完整全面支持的以核為中心的OCP 相比以前的以總線為中心的協(xié)議有很多重大的優(yōu)勢。OCP 是以內(nèi)核為中心、公開授權(quán)、免版稅的內(nèi)核接口協(xié)議。它不會限制和干涉內(nèi)在內(nèi)核的信息。OCP 是可升級的、可配置的,以滿足不同內(nèi)核和SoC設(shè)計需要的不同的通信要求。

擁有OCP 接口和OCP 互連系統(tǒng)使內(nèi)核真正的模塊化,集成“即插即用”,允許設(shè)計者自由選擇內(nèi)核以最優(yōu)化應(yīng)用互連系統(tǒng)。設(shè)計內(nèi)核和設(shè)計系統(tǒng)能并行進行,可以縮短設(shè)計時間。另外,因為內(nèi)核沒有系統(tǒng)邏輯,使得內(nèi)核能被復(fù)用和重新被設(shè)計。




關(guān)鍵詞: SoC Socket 半導(dǎo)體 封裝 封裝

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉