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