上一篇博客講的是SoC設(shè)計(jì),感覺并不過癮。這次我要好好看看SoC設(shè)計(jì),我要講清楚幾個(gè)核心問題。
想要把SoC解釋清楚,需要找一個(gè)好的“教材”或者參考。但是,很遺憾,沒有一本教科書能真正把SoC解釋清楚。我看了很多年的論文,大概有上百篇和SoC相關(guān)的論文。但是一般的論文不是太復(fù)雜就是太抽象??戳诉@么多論文,我覺得一篇論文是談?wù)揝oC最好的方式。這是復(fù)旦大學(xué)曾曉陽教授(項(xiàng)目直接負(fù)責(zé)人應(yīng)為陳云副教授)2012年在ASP-DAC上發(fā)表的論文《CMMB接收機(jī)用60 MW基帶SOC》。本文有一個(gè)圖表,對SoC的基本結(jié)構(gòu)和設(shè)計(jì)方法非常直觀清晰。而且本文還是面向CMMB(中國曾經(jīng)推出的移動(dòng)數(shù)字電視的協(xié)議)接收機(jī),也體現(xiàn)了如何實(shí)現(xiàn)一些計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議的思路。
曾教授是我妻子的博士生導(dǎo)師,也是我研究SoC設(shè)計(jì)的帶頭人之一。這些年曾教授給了我很多幫助和指導(dǎo)。所以,在講這篇論文之前,還是要做好準(zhǔn)備,以免講錯(cuò)或者講不好。
所以,你可以自己搜索這篇論文,提前做好準(zhǔn)備。
分割線———————————————。
首先,本文使用的圖片來自論文《CMMB接收機(jī)用60 MW基帶SOC》。作者是傳武、曹家林、鮑丹、陳云(陳云副教授)、肖揚(yáng)(曾曉陽教授),作者是復(fù)旦大學(xué)專用集成電路國家重點(diǎn)實(shí)驗(yàn)室。圖片版權(quán)歸原作者所有。如需技術(shù)合作,請直接聯(lián)系原作者。
開始上圖!
從這張圖可以清楚的看到,這張圖分為三個(gè)部分。模擬部分是一個(gè)混合模擬/數(shù)字模擬電路,包括兩個(gè)10位模數(shù)轉(zhuǎn)換器和用于生成時(shí)鐘信號(hào)的鎖相環(huán)。兩個(gè)ADC的作用是實(shí)現(xiàn)IQ調(diào)制的IQ信號(hào)從數(shù)字到模擬的轉(zhuǎn)換。關(guān)于智商調(diào)制的介紹,請看我的博客:
http://blog.chinaaet.com/molf/p/29748
第二部分是基帶處理器。其實(shí)嚴(yán)格來說,它不是處理器,而是基帶信號(hào)處理的硬件IP。從左到右,具有混頻、符號(hào)同步、信道估計(jì)、均衡、解映射、信道解碼等功能。學(xué)過通信原理的朋友應(yīng)該知道,這是一個(gè)數(shù)字接收機(jī)需要做的基本處理。
第三部分是用于媒體訪問控制層的32位精簡指令集處理器。這顯然是一個(gè)以32位RISC CPU為核心的嵌入式微處理器,也可以說是一個(gè)簡單的SoC。
就是這樣,仿佛“平平淡淡”。所以,當(dāng)然不會(huì)就這樣結(jié)束。接下來我們再從SoC和計(jì)算機(jī)網(wǎng)絡(luò)的角度來看這個(gè)圖。
從SoC的角度,首先關(guān)注這個(gè)地方:
這叫做共享靜態(tài)隨機(jī)存儲(chǔ)器,也就是共享靜態(tài)隨機(jī)存儲(chǔ)器。誰和誰來分享這個(gè)分享?由基帶IP和RISC處理器共享。所以這個(gè)SRAM可以看作是雙口RAM(不一定用雙口RAM實(shí)現(xiàn))。一方面,基帶在各種信號(hào)處理和信道解碼后寫入恢復(fù)的數(shù)據(jù)。在另一端,CPU可以通過片上總線讀出數(shù)據(jù),然后再進(jìn)行下一步處理。
我們來看看RISC處理器。
從CPU的角度來說,這個(gè)Share SRAM和其他常見的片上SRAM是一樣的。它們都占用某個(gè)地址空,并且總是可以讀寫。但是這個(gè)共享靜態(tài)隨機(jī)存儲(chǔ)器中的數(shù)據(jù)有特定的含義和結(jié)構(gòu)。由于該接收機(jī)面向CMMB標(biāo)準(zhǔn),經(jīng)過一系列的通信信號(hào)處理,最終應(yīng)該得到符合CMMB標(biāo)準(zhǔn)的數(shù)據(jù)幀。這些數(shù)據(jù)幀必須由頁眉和頁腳控制字和加載數(shù)據(jù)組成。CPU的作用是在指令驅(qū)動(dòng)下分析這些接收到的數(shù)據(jù)幀,并根據(jù)分析結(jié)果控制下一步動(dòng)作。
最終解析的數(shù)據(jù)將通過SDIO和串行接口傳輸?shù)酵獠恳曨l解碼器。視頻解碼器將數(shù)據(jù)解碼并恢復(fù)為圖像信號(hào),然后在顯示設(shè)備上播放分析后的圖像信號(hào)。按照CMMB協(xié)議完成接收信號(hào)的全過程。
以上是從SoC的角度看SoC行動(dòng)的全過程。
但是,僅僅從SoC的角度,我們只能大致說出SoC的整個(gè)運(yùn)行過程。僅僅了解如何設(shè)計(jì)一個(gè)SoC芯片是遠(yuǎn)遠(yuǎn)不夠的。我們將從計(jì)算機(jī)網(wǎng)絡(luò)協(xié)議的角度來看這個(gè)問題。
從計(jì)算機(jī)網(wǎng)絡(luò)的角度應(yīng)該怎么想?讓我們回顧一下SoC是什么。該SoC的功能可通過下圖進(jìn)行簡要描述:
簡單來說,SoC芯片將射頻接收芯片接收到的CMMB協(xié)議格式的模擬信號(hào)轉(zhuǎn)換成SDIO協(xié)議格式,經(jīng)過一系列處理后發(fā)送給圖像解碼芯片。這個(gè)過程本質(zhì)上意味著協(xié)議轉(zhuǎn)換的功能。
如何實(shí)現(xiàn)協(xié)議轉(zhuǎn)換?這就涉及到計(jì)算機(jī)網(wǎng)絡(luò),OSI七層模型等等。
或者上圖。
OSI七層模型,相信學(xué)過計(jì)算機(jī)網(wǎng)絡(luò)的同學(xué)應(yīng)該懂。當(dāng)年作為通信工程專業(yè)的畢業(yè)生,七層模型倒著背(當(dāng)然忙的時(shí)候也能背)。
但是如果倒背如流呢?還是不明白里面的真正含義。XX層是什么,為什么要分層,這一層是硬件還是軟件?不清楚。
其實(shí)在計(jì)算機(jī)網(wǎng)絡(luò)中,兩個(gè)核心概念都與分層有關(guān)。一個(gè)叫等價(jià),一個(gè)叫服務(wù)。對等意味著通信過程可以抽象為對等實(shí)體之間的交互操作。交互操作依賴于下層的支持,稱為服務(wù)。
底層為上層提供的服務(wù)需要以某種方式使用,這就是所謂的“服務(wù)接入點(diǎn)”
示意圖應(yīng)該如下所示:
比如傳輸層的設(shè)計(jì),就考慮了如何與通信另一方的傳輸層進(jìn)行交互。傳輸層中的典型實(shí)現(xiàn)是流量控制、服務(wù)質(zhì)量等等。它是兩個(gè)傳輸層之間的協(xié)調(diào)操作。
然而,為了實(shí)現(xiàn)這些操作,傳輸層必須由下層支持。最起碼要完成包裹的正常投遞和驗(yàn)收,所以這需要服務(wù)。并以合理的方式使用這些服務(wù),這就是所謂的服務(wù)接入點(diǎn)。
那么,在這個(gè)SoC案例中,層、服務(wù)和服務(wù)訪問點(diǎn)在哪里?
我們再回到這張圖:
從SoC的角度來說,它是總線和IP核之間的接口,是CPU通過總線讀取IP核處理的數(shù)據(jù)的通道。
從計(jì)算機(jī)網(wǎng)絡(luò)的角度來說,這就是服務(wù)接入點(diǎn)。它是物理層為數(shù)據(jù)鏈路層提供服務(wù)的接入點(diǎn)。數(shù)據(jù)鏈路層以軟件的形式存在,通過讀寫靜態(tài)隨機(jī)存儲(chǔ)器來使用物理層的服務(wù),也通過這個(gè)靜態(tài)隨機(jī)存儲(chǔ)器來控制物理層。至于實(shí)行了哪些控制,就要細(xì)說很多了。大概提到了無線信道占用可以通過控制收發(fā)機(jī)狀態(tài)來控制,也就是媒體訪問控制(MAC)。
這是硬件的服務(wù)接入點(diǎn),對軟件來說比較簡單??梢灾苯映橄鬄楹瘮?shù)。參數(shù)被傳入,結(jié)果被讀出。正是因?yàn)楹芏鄬?shí)用的協(xié)議棧通常都在軟件層面,所以很多人認(rèn)為協(xié)議是一種特殊的軟件。還有以前一個(gè)學(xué)校的老教授(忘了是哪個(gè)學(xué)校了,如果記得的話,不方便說)。我問能不能重新下載軟件,讓Zigbee變成藍(lán)牙。大家都在2.4G頻段工作...
最后,通過SDIO發(fā)送解析數(shù)據(jù)的過程可以用這個(gè)圖來說明。
將按照協(xié)議棧1打包的信號(hào)逐層解析,最后還原為內(nèi)部數(shù)據(jù)。然后以另一種協(xié)議格式重組數(shù)據(jù),轉(zhuǎn)換格式,再通過接口傳輸。這實(shí)現(xiàn)了某種形式的協(xié)議轉(zhuǎn)換。在這個(gè)足球比賽的例子中,CMMB被轉(zhuǎn)移到SDIO并上傳
當(dāng)然也可以不恢復(fù)圖層的原始數(shù)據(jù),而是對半轉(zhuǎn)換。然后需要在解碼芯片上實(shí)現(xiàn)CMMB協(xié)議棧的一部分。這個(gè)設(shè)計(jì)不能說沒有,但是真的很詭異。
今天就講到這里。SoC設(shè)計(jì)是一個(gè)很大的課題。希望今天的講座能讓你對SoC設(shè)計(jì)有一個(gè)全面的了解。最后,再多說兩句。從今天的例子中,我們可以看到SoC設(shè)計(jì)是一個(gè)非常廣泛的問題。不是說你會(huì)寫幾行Verilog。這需要從應(yīng)用、系統(tǒng)架構(gòu)、IP和接口設(shè)計(jì)、算法實(shí)現(xiàn)等一系列工作。對于想從事這個(gè)方向的研究和工作的同學(xué)來說,要算數(shù),要有準(zhǔn)備。同時(shí)也要權(quán)衡自己是否真的愿意把自己的青春交給這樣一個(gè)方向。
接下來我就填坑看一部關(guān)于技術(shù)“氣路”的電影,因?yàn)楝F(xiàn)在優(yōu)酷上的“暗戰(zhàn)”可以免費(fèi)看了。
您可以先預(yù)覽電影:
http://v.youku.com/v_show/id_XMzIyNzU5NTk1Mg==.html? SPM = a2hww . 20027244 . m _ 250012.5 ~ 5!2~5~5~A
1.《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì) 【博文連載】一圖讀懂SoC設(shè)計(jì)與計(jì)算機(jī)網(wǎng)絡(luò)》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡(luò)信息知識(shí),僅代表作者本人觀點(diǎn),與本網(wǎng)站無關(guān),侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《計(jì)算機(jī)網(wǎng)絡(luò)設(shè)計(jì) 【博文連載】一圖讀懂SoC設(shè)計(jì)與計(jì)算機(jī)網(wǎng)絡(luò)》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進(jìn)行證實(shí),對其原創(chuàng)性、真實(shí)性、完整性、及時(shí)性不作任何保證。
3.文章轉(zhuǎn)載時(shí)請保留本站內(nèi)容來源地址,http://f99ss.com/caijing/1047604.html