合理選擇SoC架構
在實(shí)際可用的雙芯核架構、可編程加速器和數百萬(wàn)門(mén)FPGA出現以前,一種80:20法則用起來(lái)很奏效:如果計算負荷的80%為數據處理,那么選擇RISC架構,在RISC中實(shí)施信號處理。
而當今面臨太多的架構選擇,差別甚微,用單一處理器架構來(lái)解決優(yōu)化問(wèn)題已不可能。一種較為成功的方法是通過(guò)將計算資源與特性集匹配來(lái)實(shí)現。
將一種復雜系統映射到硅中,在相當程度上依賴(lài)于設計是在現有SoC上實(shí)現還是從頭做起。對于前一種情況,系統設計師應從了解四個(gè)產(chǎn)品屬性入手:
* 功能和特性
* 算法元件和子部件
* 在產(chǎn)品或產(chǎn)品家族中添加特性和性能的策略
* 解決設計過(guò)程中和產(chǎn)品壽命期內缺陷的策略
在了解了這些屬性之后,將系統在功能和特性上分為以下三類(lèi):
* 熟知的功能或特性,將在產(chǎn)品壽命期內保持穩定,如DCT和FFT等。用固定功能的加速器對它們優(yōu)化。
* 熟知但某種程度上可稍加改變的功能或特性。例如,將多個(gè)FFT蝶重組成一系列可能實(shí)現的能力。這時(shí)需要考慮可編程加速器。
* 不定、可改變和自行設定的新特性??删幊烫幚砥骺珊芎玫靥幚聿淮_定性,應作主要考慮。
在一個(gè)預先存在的SoC上,典型的可編程處理器部件有RISC、DSP和FPGA。將一個(gè)系統理想地映射到這些處理部件中,應遵循以下思想過(guò)程:
1. 開(kāi)列一張完整的系統特性和性能列表,包括在產(chǎn)品家族的壽命期內可能添加的特性。
2. 區別每個(gè)特性是屬于數據處理還是屬于信號處理。
3. 將列表分成三類(lèi)(熟知且可改變的、熟知而可稍加改變的以及不確定的)。
4. 估計每項所需要的性能。
5. 估計每項的內存要求。
6. 將恰當的功能分配給現有的固定功能加速器;其余的熟知特性給現有的可編程加速器;不確定的、可改變的以及未來(lái)要加入的特性分配給合適的可編程部件(RISC或DSP)。
通過(guò)這一過(guò)程,設計師可充分利用加速器并為可編程RISC和DSP留有靈活性和空間。
將一個(gè)系統映射到一種新的SoC是同樣的,不過(guò)需要考慮兩個(gè)額外的邊界條件:哪個(gè)算法元件是很好了解的,沒(méi)有缺陷,在設計或產(chǎn)品家族的壽命期內不改變;以及系統的什么部件在設計或產(chǎn)品家族的壽命期內將可能改變。
最后一個(gè)想法要慎重:隨著(zhù)每一次新IC工藝技術(shù)的引入,都會(huì )有新的選擇產(chǎn)生。如果系統今年不適合做成SoC,那就采用多個(gè)器件,然后耐心等待下一次的新工藝。(利譯)
評論