當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電子設(shè)計(jì)自動(dòng)化

摘 要: 設(shè)計(jì)了一種基于NiosII處理器的片上系統(tǒng)(SoC),集成了NiosII處理器IP、PCI接口IP、網(wǎng)絡(luò)接口IP以及基于Wishbone總線的串行接口IP核、CAN接口IP核等。系統(tǒng)具有可重配置、可擴(kuò)展、靈活、兼容性高、功耗低等優(yōu)點(diǎn),適合于片上系統(tǒng)開(kāi)發(fā)與應(yīng)用。本設(shè)計(jì)使用Verilog HDL硬件描述語(yǔ)言在QuartusII環(huán)境下進(jìn)行IP軟核設(shè)計(jì)、綜合、布局布線,在Model Sim下完成功能、時(shí)序仿真,在SoPC下完成系統(tǒng)的定制與集成,在NiosII IDE環(huán)境下完成片上系統(tǒng)軟件程序的開(kāi)發(fā),最后在FPGA器件上實(shí)現(xiàn)了智能多接口功能的片上系統(tǒng)。
關(guān)鍵詞: FPGA;NiosII;片上系統(tǒng);IP核

隨著超大規(guī)模片上系統(tǒng)需求的日益增多,基于傳統(tǒng)IC芯片的微電子應(yīng)用系統(tǒng)設(shè)計(jì)技術(shù)正在轉(zhuǎn)向基于知識(shí)產(chǎn)權(quán)IP(Intellectual Property)核的片上系統(tǒng)技術(shù)發(fā)展[1]。因此,基于資源IP核的復(fù)用設(shè)計(jì)方式已開(kāi)始逐漸成為國(guó)內(nèi)外微電子系統(tǒng)設(shè)計(jì)的一項(xiàng)支撐技術(shù)。從應(yīng)用功能角度劃分IP核有三大類[2]:微處理器IP核(如8位8051核、32位NiosII、Microblaze核等)、各種接口IP核(如SDRAM控制器、PCI總線接口、CAN總線接口、串行總線接口IP核等)和專用算法IP核(圖形編解碼H.264、加密核等)。使用IP核復(fù)用技術(shù),將IP集成到FPGA芯片上,可縮小PCB板體積,降低功耗;還可以根據(jù)需要進(jìn)行功能的升級(jí)、擴(kuò)充和裁減[3]。本文以Altera公司的NiosII為主處理器并集成PCI接口、串行接口、CAN接口、網(wǎng)絡(luò)接口設(shè)計(jì)為例,說(shuō)明片上系統(tǒng)的設(shè)計(jì)方法。
1 設(shè)計(jì)原理
采用片上系統(tǒng)設(shè)計(jì)的智能多接口模塊一般可以不需要外部主處理器操作系統(tǒng)的干預(yù),其典型結(jié)構(gòu)如圖1所示。在工作時(shí),片上系統(tǒng)收到的信號(hào)經(jīng)過(guò)本板上Nios II處理器處理轉(zhuǎn)換后,即可將數(shù)據(jù)信號(hào)送出或做其他處理。信號(hào)轉(zhuǎn)換、處理工作全部由片上系統(tǒng)完成,不增加外主處理器操作系統(tǒng)的軟件開(kāi)銷,因而對(duì)整個(gè)系統(tǒng)的負(fù)擔(dān)更小。也可以要通過(guò)接入的PCI等系統(tǒng)總線,以中斷提請(qǐng)等方式向外部主處理器提請(qǐng)?jiān)L問(wèn),可完成與外主處理器的數(shù)據(jù)交換[4]。

在開(kāi)源OpenCores組織的網(wǎng)站上,可以獲取大量共享IP核, 但是大多數(shù)是未被驗(yàn)證的,或者由于是不同人撰寫(xiě)的,其代碼風(fēng)格也不盡相同。其接口信號(hào)定義為標(biāo)準(zhǔn)Wishbone總線形式,Wishbone著重定義IP核的接口信號(hào)和總線周期標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)IP核的重用。通過(guò)對(duì)IP軟核代碼的分析,在原代碼的基礎(chǔ)上可通過(guò)修改IP核的部分邏輯功能(如增加內(nèi)嵌數(shù)據(jù)收發(fā)FIFO深度),優(yōu)化部分接口邏輯;通過(guò)對(duì)異步信號(hào)同步采樣一次,可以去干擾,消除亞穩(wěn)態(tài)以及虛假的Glitch;可通過(guò)增加復(fù)位狀態(tài)寄存器等實(shí)現(xiàn)優(yōu)化設(shè)計(jì)。最終完成基于Wishbone總線的IP軟核設(shè)計(jì)。下面以串行接口IP核設(shè)計(jì)為例說(shuō)明,其他類型的IP核也可以通過(guò)類似方法獲得。串行接口IP設(shè)計(jì)是以異步串行控制器16C550為原型的。
2.1.1 波特率發(fā)生器設(shè)計(jì)
波特率發(fā)生器通過(guò)兩個(gè)8位的分頻寄存器實(shí)現(xiàn),它提供發(fā)送數(shù)據(jù)和接收數(shù)據(jù)的基準(zhǔn)時(shí)鐘。波特率發(fā)生器產(chǎn)生的時(shí)鐘是串行數(shù)據(jù)波特率的16倍。上電復(fù)位后兩個(gè)分頻寄存器都為00H,不使能所有的I/O操作。
2.1.2 數(shù)據(jù)收發(fā)
數(shù)據(jù)發(fā)送主要由線控制寄存器、計(jì)數(shù)器、FIFO控制器、發(fā)送FIFO、發(fā)送移位寄存器等實(shí)現(xiàn)。在波特率設(shè)置好后,計(jì)數(shù)器統(tǒng)計(jì)幀數(shù)據(jù)的位數(shù),確保發(fā)送的幀數(shù)據(jù)包括起始位、有效數(shù)據(jù)位、奇偶校驗(yàn)位、停止位。發(fā)送FIFO可以暫存總線接口發(fā)送過(guò)來(lái)的數(shù)據(jù),數(shù)據(jù)從發(fā)送FIFO移入到輸出移位寄存器,每16個(gè)時(shí)鐘時(shí)間向外發(fā)送一位數(shù)據(jù),先發(fā)送起始位,有效數(shù)據(jù)從移位寄存器的高位逐位移出,最后輸出奇偶檢驗(yàn)位和終止位。當(dāng)發(fā)送FIFO內(nèi)的數(shù)據(jù)低于FIFO設(shè)置觸發(fā)深度時(shí),會(huì)觸發(fā)發(fā)送FIFO空中斷。
數(shù)據(jù)接收由線控制寄存器、計(jì)數(shù)器、接收FIFO和輸入移位寄存器等組成。接收數(shù)據(jù)的線控制寄存器、計(jì)數(shù)器功能同發(fā)送模塊。接收器始終監(jiān)視著串行輸入端,將8位串行數(shù)據(jù)逐位接收進(jìn)來(lái)。數(shù)據(jù)接收后會(huì)通過(guò)移位寄存器暫存在接收FIFO中, FIFO深度可支持1 B、32 B、64 B、128 B等。
2.1.3 中斷設(shè)計(jì)
串行接口IP核中包含一個(gè)8位的中斷使能寄存器(IER)和一個(gè)8位的中斷識(shí)別寄存器(IIR)。中斷使能寄存器可以使能5種中斷源,分別是:接收線狀態(tài)中斷、發(fā)送線狀態(tài)中斷、時(shí)間溢出中斷、發(fā)送寄存器空中斷、Modem狀態(tài)中斷等,共4個(gè)優(yōu)先級(jí)。上電復(fù)位時(shí)默認(rèn)狀態(tài)為全部中斷屏蔽。上電復(fù)位時(shí)IIR為C1H,通過(guò)讀取IIR數(shù)值可獲取相應(yīng)的4路中斷狀態(tài)信息。
2.2 總線轉(zhuǎn)換橋接邏輯設(shè)計(jì)
為了實(shí)現(xiàn)Wishbone和Avalon總線協(xié)議之間的協(xié)議轉(zhuǎn)換, 根據(jù)兩種片上總線的特性, 通過(guò)狀態(tài)機(jī)的使用來(lái)實(shí)現(xiàn)總線協(xié)議的轉(zhuǎn)換, 并使用軟件仿真的方法建立模型來(lái)驗(yàn)證總線轉(zhuǎn)換橋的可用性。 Wishbone到Avalon總線轉(zhuǎn)換橋的總體組成原理如圖3所示。

Wishbone到Avalon總線轉(zhuǎn)換橋的基本功能是使得符合Wishbone總線體系結(jié)構(gòu)的IP核可以在采用Avalon總線的NiosII 固核處理器片上系統(tǒng)中集成,從而實(shí)現(xiàn)對(duì)定制外設(shè)的訪問(wèn)。接口支持32位總線操作??偩€轉(zhuǎn)換橋由相對(duì)獨(dú)立的Avalon主從端口單元和Wishbone主從端口單元組成,每個(gè)單元都有一套完整的功能來(lái)支持Avalon總線和Wishbone端口上所掛載的IP核之間的交易,讀寫(xiě)數(shù)據(jù)實(shí)行分開(kāi)存儲(chǔ),由配置和狀態(tài)寄存器控制操作模式和數(shù)據(jù)的輸入輸出。Avalon總線接口邏輯與Wishbone接口邏輯兩側(cè)都包含本地狀態(tài)機(jī)及其他控制邏輯,并且總線橋接口邏輯還包括地址譯碼、命令譯碼、接口控制狀態(tài)機(jī)、數(shù)據(jù)輸出MUX、奇偶校驗(yàn)輸出、地址溢出檢查等功能模塊。
2.3 片上系統(tǒng)集成設(shè)計(jì)
基于NiosII固核處理器的片上系統(tǒng)集成是在SoPC Builder環(huán)境下完成的。片上系統(tǒng)集成主要完成對(duì)片上系統(tǒng)的定制、片上系統(tǒng)的資源分配、總線交換操作、中斷處理等幾個(gè)點(diǎn)關(guān)鍵技術(shù)點(diǎn)。
2.3.1 片上系統(tǒng)定制設(shè)計(jì)
片上系統(tǒng)的定制設(shè)計(jì)主要是完成片上系統(tǒng)集成所需要的處理器IP和外設(shè)IP的選型,是集成設(shè)計(jì)的第一步,設(shè)置系統(tǒng)主頻,同時(shí)可選配指令、數(shù)據(jù)Cache大小、外部數(shù)據(jù)指令、硬件乘法器、流水線支持、浮點(diǎn)運(yùn)算支持等特性,并設(shè)置NiosII的Cache和CPU直接相連的存儲(chǔ)器。外設(shè)IP主要包括PCI總線接口IP、外部SRAM接口IP、外部Flash接口IP、外部GPIO接口IP、外部網(wǎng)絡(luò)接口IP、自定制的基于OpenCore的串行接口IP核、CAN總線接口IP軟核等。
2.3.2 片上系統(tǒng)資源分配
SoPC為各IP自動(dòng)分配了一個(gè)默認(rèn)地址??紤]到資源有效利用,還需要對(duì)系統(tǒng)資源進(jìn)行重配置,主要包括:對(duì)Boot Loader的存儲(chǔ)器選擇和設(shè)置Boot Loader在存儲(chǔ)器中的偏移;存放異常向量的存儲(chǔ)器選擇及其偏移量;各外設(shè)在Avalon總線上的偏移地址、中斷號(hào)的分配;PCI總線對(duì)片上Avalon總線上設(shè)備的Memnry或I/O的空間以及地址映射;DMA傳輸配置;消息寄存器(Mailbox)雙口RAM的使用等。具體分配如下:
(1)考慮到可以通過(guò)PCI到Avalon總線的地址映射,從PCI通過(guò)BAR端口直接訪問(wèn)兩路UART、CAN、GPIO等設(shè)備,根據(jù)各接口IP地址特性,其他外設(shè)在Avalon端地址分配不沖突的前提下,有效分配Avalon地址資源,并可以在PCI端直接使用BAR2/BAR3以及Memory或I/O訪問(wèn)此類外設(shè)。
(2)可以通過(guò)Auto Bass Address操作,解決外設(shè)的地址分配沖突問(wèn)題。通過(guò)調(diào)整其他外設(shè)地址避免與Flash地址的沖突。
(3)可通過(guò)手動(dòng)方式修改各個(gè)外設(shè)的中斷號(hào),也可以通過(guò)Auto Assign IRQs 操作,自動(dòng)分配中斷號(hào)(最低為0,最高31)。
2.3.3 總線數(shù)據(jù)交換操作
PCI總線與Avalon總線實(shí)現(xiàn)互相訪問(wèn),須先確定PCI核的資源配置,然后根據(jù)資源配置選擇總線數(shù)據(jù)操作方式。從PCI總線方向看PCI軟核主要有以下幾個(gè)部分:寄存器組、BAR0~BAR3、DMAC、PCI訪問(wèn)端口。帶有PCI核的整體架構(gòu)如圖4所示。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉