SoC的全稱為System on a Chip,即片上系統(tǒng),SoC芯片最早從智能手機發(fā)展起來,通過將CPU、GPU、內(nèi)存、ISP、DSP、Codec等系統(tǒng)部件打包集成在一顆芯片內(nèi),具有降低耗電量、減少體積、增加系統(tǒng)功能、提高速度、節(jié)省成本等特點。當(dāng)前,隨著智能化、電氣化的快速發(fā)展,而SoC芯片的地位越來越高,今天這篇文章就來聊一聊SoC設(shè)計應(yīng)該如何進行。
首先,SoC設(shè)計是圍繞總線來開展設(shè)計的,SoC最需要掌握的核心知識點在于微機原理課程上面講的那些總線和接口的概念,比如說三總線,什么叫主(Master)什么叫從(Slave),通過這些概念可以理解處理器如何通過總線把數(shù)據(jù)讀出、寫入,從而理解如何通過處理器對于整個系統(tǒng)芯片加以控制和管理。
一、如何理解總線?
就是要搞明白主從模式的通信機制,處理器作為主機,是啟動通信的一方。外部設(shè)備和電影上的存儲器作為從機器,是響應(yīng)主機啟動的通信。在此基礎(chǔ)上,我們需要進一步了解總線的時間順序,以及從在總線上啟動通信到通信結(jié)束的整個過程。這樣,我們就可以理解如何通過軟件訪問特定的地址空間。
二、SoC如何實現(xiàn)IP核的集成:
為了實現(xiàn)IP核的集成,本質(zhì)上需要將數(shù)據(jù)寫入并讀取結(jié)果。也就是說,需要IP處理的數(shù)據(jù)可以某種方式輸入IP核,IP核處理后的結(jié)果可以通過某種方式讀取。如果IP本身有多種功能,則需要以特定的方式將需要完成的功能類型傳輸給IP核。如果結(jié)果完成,您還需要通過某種方式告知CPU目前的計算已經(jīng)結(jié)束。這些都需要通過寫入/讀取來實現(xiàn)。
三、SoC設(shè)計上 軟硬件協(xié)同如何解決:
這就要做好軟件和硬件IP核的任務(wù)劃分和規(guī)劃了。一般說來,用處理器執(zhí)行的軟件部分適合完成調(diào)度、決策、判斷等管理性質(zhì)的任務(wù),而硬件IP核適合完成比較規(guī)整的運算任務(wù)。而在軟硬件的劃分邊緣,就要設(shè)置合理的寄存器組來傳遞信號和數(shù)據(jù)。
例如,我們要實現(xiàn)一個快速計算三角函數(shù)的電路。那就需要實現(xiàn)一個Cordic算法的硬件計算單元。但僅僅實現(xiàn)這個硬件單元還不夠,還需要編寫一段軟件代碼把外部讀取的運算數(shù)據(jù)送進去、設(shè)置需要完成的計算(Cos/Sin等)、在運算完成以后把計算的結(jié)果讀出。而在這個過程中還要有必要的握手、聯(lián)絡(luò)過程??梢砸揽砍绦虿樵兊姆绞絹硗瓿桑部梢砸揽恐袛嗟姆绞酵瓿?。
ALL RIGHT RESERVED 2022. 粵ICP備17095549號 技術(shù)支持: 牛商股份 百度統(tǒng)計 粵公網(wǎng)安備 44030402004503號