久久久91-久久久91精品国产一区二区-久久久91精品国产一区二区三区-久久久999国产精品-久久久999久久久精品

ABB
關(guān)注中國自動化產(chǎn)業(yè)發(fā)展的先行者!
CAIAC 2025
2025工業(yè)安全大會
OICT公益講堂
當(dāng)前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于NOIS處理器的定制硬件技術(shù)研究
  • 企業(yè):    
  • 點擊數(shù):542     發(fā)布時間:2023-05-15 07:29:46
  • 分享到:

文獻標(biāo)識碼:B文章編號:1003-0492(2023)04-076-04中圖分類號:TP919

★劉元元(東方電氣集團(四川)物產(chǎn)有限公司,四川德陽618000)

摘要:基于系統(tǒng)級FPGA的SOPC嵌入式設(shè)計特點,采用SOPC Builder設(shè)計工具可以有選擇地將處理器、存儲器、I/O等系統(tǒng)設(shè)計所需的IP組件集成到FPGA器件上,也可以通過自定義用戶邏輯集成到FPGA器件上,從而構(gòu)建高效SOC。本文分析了嵌入式處理器NOIS軟核特性,并給出了基于NOIS內(nèi)核的SOPC軟硬件開發(fā)流程和自定義用戶邏輯的軟硬件設(shè)計過程。

關(guān)鍵詞:FPGA;片上系統(tǒng);可編程片上系統(tǒng);NOIS軟核

近年來,隨著現(xiàn)場可編程邏輯陣列(FPGA)器件的發(fā)展,以及SOPC技術(shù)的成熟,采用Nios Ⅱ軟核處理器在FPGA上實現(xiàn)系統(tǒng)級功能算法成為可能。Nios II軟核處理器是Altera公司推出的嵌入在其FPGA內(nèi)部的32位軟核處理器,且其內(nèi)核僅占用很少的邏輯資源,另外它的可配置程度極高,不但可以根據(jù)用戶需求加入各種標(biāo)準(zhǔn)接口,如各種外部存儲器、以太網(wǎng)控制器、IDE驅(qū)動器、USB接口等,也可以將用戶自己定義的接口模塊和邏輯模塊加入其中,必要的時候還可以在Nios II軟核中加入實時操作系統(tǒng),實現(xiàn)了對多任務(wù)的調(diào)度,這讓用戶可以隨心所欲地構(gòu)建完全符合系統(tǒng)要求的處理器結(jié)構(gòu)。在FPGA外部只需要添加配置芯片、SDRAM、FLASH就可以構(gòu)成一個完整的硬件平臺,很好地體現(xiàn)了SOPC的設(shè)計思想,使系統(tǒng)具有結(jié)構(gòu)簡單、成本低廉、保密性好的特點。在性能上,系統(tǒng)可以利用FPGA的并行處理能力提高系統(tǒng)性能,如采用定制自定義模塊,用硬件控制耗時大的軟件算法模塊來提高系統(tǒng)性能,也可以采用NiosⅡ處理器的自定義指令方式用硬件實現(xiàn)部分復(fù)雜算法片段,方便在軟件程序中調(diào)用,大大提高了程序執(zhí)行效率。另外,還可以用新推出的C2H工具直接將一些軟件程序進行硬件化,不僅提高了系統(tǒng)性能,還保證了本系統(tǒng)很高的處理速度,具有很好的實時性。

1 SOPC的設(shè)計

SOPC即System On a Programmable Chip,是指用可編程邏輯器件把整個系統(tǒng)放到一塊硅片上。一方面它是片上系統(tǒng)—即由單個芯片完成整個系統(tǒng)的主要邏輯功能;另一方面,它是可編程系統(tǒng),具有靈活的設(shè)計方式,可裁減、擴充、升級,并具備軟硬件在系統(tǒng)可編程的功能。這項技術(shù)將EDA、計算機設(shè)計、嵌入式系統(tǒng)、工業(yè)自動控制系統(tǒng)、DSP及數(shù)字通訊系統(tǒng)融為一體。

一個最小系統(tǒng)應(yīng)該包括中央處理單元(CPU)、隨機存儲器(RAM)和FlashROM(存儲代碼、數(shù)據(jù)等),稍微復(fù)雜點的系統(tǒng)至少應(yīng)該包括UART、DMA、Timer、中斷管理模塊以及GPIO等。

我們知道,F(xiàn)PGA支持用戶自定義的硬件,即用戶自己設(shè)計的IP核。在許多應(yīng)用中,我們可以利用這一特性,使用硬件描述語言來定制適合系統(tǒng)特性的模塊。例如,F(xiàn)PGA中沒有AD模塊,必須外加AD芯片。其他MCU控制AD芯片必須通過軟件來實現(xiàn),對FPGA來說,則可以將此AD芯片的控制工作集成到一個VHDL或VERLOG模塊中,綜合后集成到SOPC系統(tǒng)中,實現(xiàn)定制外設(shè)。通過這一步,此AD就可以看成FPGA的一個內(nèi)部外設(shè),而不必像其他MCU那樣通過指令來模擬AD芯片時序。相比之下,F(xiàn)PGA能提高效率并減少出錯率,因為其本質(zhì)還是通過硬件來實現(xiàn)讀取的功能。

2 SOPC Builder

SOPC Builder是Altera公司推出的一種可加快在FPGA內(nèi)實現(xiàn)嵌入式處理器相關(guān)設(shè)計的工具,其功能與PC應(yīng)用程序中的引導(dǎo)模板(Wizard)類似,旨在提高設(shè)計者確定需要的處理器和參數(shù),并根據(jù)此創(chuàng)建一個處理器的完整存儲器映射。設(shè)計者還可以選擇所需要的IP外圍電路,如存儲控制器、I/O控制器和定時器等模塊。當(dāng)然,也支持用戶自定義的硬件。

SOPC Builder具有友好的圖形用戶接入,可以為用戶提供強大的設(shè)計平臺以搭建基于AVALON總線的系統(tǒng)。用戶不僅可以從ALTERA提供的IP庫中選取組件、處理器、SDRAM、FLASH、USB、以太網(wǎng)等,也可以選擇配置相應(yīng)的參數(shù),還有包含操作系統(tǒng)內(nèi)核的嵌入式軟件開發(fā)工具。在進行SOPC設(shè)計時,如果用戶有特殊功能要求,但IP庫中沒有,則可加入自定義邏輯實現(xiàn)。通過QUARTUS II工具可完成SOPC的全部設(shè)計,QUARTUS II用戶能把一個基于NIOS處理器的系統(tǒng)經(jīng)生成、仿真的編譯后,下載到ALTERA的FPGA芯片中,并進行實時評估和驗證。SOPC Builder可自動進行開發(fā)中的系統(tǒng)定義和集成過程,實現(xiàn)了嵌入式系統(tǒng)的各方面開發(fā),包括研究的設(shè)計和驗證。SOPC Builder的設(shè)計流程為描述系統(tǒng)和生成系統(tǒng)。

SOPC Builder提供了一組圖形界面以方便用戶描述系統(tǒng),該界面列出了所有可用的系統(tǒng)模塊,設(shè)計者在界面中挑選其所設(shè)計的系統(tǒng)所需模塊,并設(shè)置參數(shù),界面本身不生成邏輯或軟件,其目標(biāo)是形成一個“系統(tǒng)描述文件”。

SOPC Builder根據(jù)系統(tǒng)描述文件進行操作:(1)對需要軟件支持的模塊,如NOIS處理器。(2)調(diào)用每個模塊的生成程序,最終生成一個系統(tǒng)級的HDL文件。(3)創(chuàng)建Modelsim所需的文件,以便仿真使用。(4)系統(tǒng)綜合。(5)生成TCL腳本。

3 嵌入式處理器NOIS軟核

Altera公司的Nios是基于RISC技術(shù)的通用嵌入式處理器軟內(nèi)核,它專為可編程邏輯進行了優(yōu)化設(shè)計,也為SOPC設(shè)計了一套綜合解決方案。Nios處理器采用16位指令集、16/32位數(shù)據(jù)通道、5級流水線技術(shù),平均一個時鐘周期處理一條指令,性能高達50MIPS。NiosV2.1處理器具有以下主要特征:(1)大容量窗口寄存器堆。其最大可以實現(xiàn)512個內(nèi)部通用寄存器,編譯程序運用內(nèi)部寄存器可以加快子程序的調(diào)用和局部變量的存取。(2)簡單完備的指令集。32位和16位的Nios系統(tǒng)都運用16位寬的指令,這減少了代碼長度和指令存儲區(qū)的寬度。(3)強大的尋址模式。Nios指令集包括裝載和存儲指令,這樣編譯程序可加快結(jié)構(gòu)體和局部變量(存儲棧)的存取。(4)較強的可擴展性。用戶可直接把定制邏輯集成入Nios算術(shù)邏輯單元(ALU)內(nèi),并自動生成包含C語言和匯編語言下訪問定制指令硬件的宏指令的軟件開發(fā)工具包(SDK)。(5)硬件輔助功能。用戶可利用硬件的優(yōu)點去另創(chuàng)一些指令,從而促進指令執(zhí)行速度。它可以有5條用戶定制指令,用戶可以把復(fù)雜的工作變成一個單一的指令。

4 NIOS Ⅱ軟核

Nios Ⅱ是一個用戶可配置的通用RISC嵌入式處理器,Altera推出的Nios Ⅱ系列嵌入式處理器擴展了目前世界上最流行的軟核嵌入式處理器的性能。把Nios Ⅱ嵌入到Altera的所有FPGA中,例如Stratix Ⅱ、Stratix、Cyclone Ⅱ、cyclone、APEX、ACEX和Hardcopy系列器件中,用戶可獲得超過200DMIPS的性能,并可以從三種處理器以及超過60個IP核中選擇所需要的。Nios Ⅱ系統(tǒng)為用戶提供了最基本的多功能性,設(shè)計師可以依此來創(chuàng)建一個最適合他們需要的嵌入式系統(tǒng)。使用Nios Ⅱ處理器的用戶可以根據(jù)他們的需要來調(diào)整嵌入式系統(tǒng)的特性、性能以及成本,使得產(chǎn)品快速推向市場,擴展了產(chǎn)品的生命周期,還可以避免處理器的更新?lián)Q代。

4.1 開發(fā)工作流程

(1)初期開發(fā)工作:需要軟硬件結(jié)合處理,對系統(tǒng)進行需求分析。比如:CPU是否需要一個硬件加速乘法器,設(shè)計中所需要的外圍器件及數(shù)量,是否需要DMA通道釋放CPU在進行拷貝時所占用的資源;

(2)硬件開發(fā):用SOPC Builder定義Nios Ⅱ處理器系統(tǒng),用Quartus Ⅱ軟件定義器件、分配管腳并編譯;

(3)軟件開發(fā):C/C++程序開發(fā),開發(fā)鼎峙硬件的驅(qū)動程序,定義硬件平臺為目標(biāo)進行編譯連接;

(4)下載到開發(fā)板上進行驗證;

(5)成功完成Nios Ⅱ系統(tǒng)設(shè)計。

4.2 硬件開發(fā)流程

用SOPC Builder來選擇合適的CPU、存儲器以及外圍器件,比如片內(nèi)存儲器、PIO、UART和片外存儲器接口。

系統(tǒng)需外接按鈕接口時,可通過用戶自定義邏輯用VHDL編程來實現(xiàn)按鈕并行計數(shù)的功能。用戶邏輯要與Nios處理器進行通信,需增加片選chipselect和地址address2個信號。其中當(dāng)chipselect為1時,Nios處理器選中用戶邏輯。Nios處理器用地址信號來尋址用戶邏輯。通過address信號,用戶邏輯才能正確地連到總線上與Nios處理器進行通信。對于獨立的用戶邏輯,如不需與Nios進行通信,比如實現(xiàn)獨立并行計數(shù)和顯示的功能,則片選信號和地址信號不需要。當(dāng)在用戶邏輯里加入片選信號和地址信號后,SOPC Builder會自動給用戶邏輯分配一個基地址。SOPC Builder對系統(tǒng)中包括用戶邏輯在內(nèi)的所有組件統(tǒng)一進行編址,若實例需處理3個按鈕并行計數(shù),則地址信號需要2位。2位地址信號可處理4個地址,這里只用3個:00、01和10。地址信號在VHDL中所形成的地址,比如00、01,是相對地址。相對地址與基地址結(jié)合在一起,形成絕對地址。比如,第1個按鈕的計數(shù)值分配到相對地址“00”中,則絕對地址為0x4A0+0﹡4=0x4A0,第3個按鈕的計數(shù)值分配到相對地址“10”中,則絕對地址為0x4A0+2﹡4=0x4A8,其中0x4A0是系統(tǒng)分配的基地址。在計算絕對地址時,相對地址乘4,因?qū)嵗龑崿F(xiàn)的是32位Nios處理器,每個寄存器占據(jù)32位,而地址是按字節(jié)分配的,所以32/8=4。當(dāng)應(yīng)用程序訪問這些地址時,無論讀還是寫,片選信號自動被設(shè)置為“1”。則應(yīng)用設(shè)計的VHDL程序代碼為:

Asicl=(int*)0X4A0;//指定要訪問的地址;

Read-datal=*asicl;//讀取地址中的內(nèi)容,則片選信號chipselect自動被設(shè)置為“1”。

對于地址信號的選擇,則要在應(yīng)用程序中明確指定,比如上面代碼中指定訪問的地址是“0x4A0”。實現(xiàn)用戶邏輯設(shè)計VHDL代碼的實體說明部分為:

ENTITYtestIS

port(clock:IN STD-LOGIC

pb-gen-counr1:IN STD-LOGIC;

pb-gen-counr2:IN STD-LOGIC;

pb-gen-counr3:IN STD-LOGIC;

pb-gen-clcar:IN STD-LOGIC;

chipselect:IN STD-LOGIC;

address:IN STD-LOGIC-VECTOR(1 dorwnto0);

count-out:INSTD-LOGIC-VECTOR(7 dorwnto 0);END tesk

實體中結(jié)構(gòu)部分的輸出如下,其中的temp1、temp2、temp3是內(nèi)部信號,用以保存3個按鈕的計數(shù)值。使用的是并行語句,保證3個按鈕可并行計數(shù)。count-out<=temp1 when(chipselect=‘1’andaddress=“00”)else

temp2 when(chipselect=‘1’andaddress=“01”)else

temp3 when(chipselect=‘1’andaddress=“10”)else

“00000000”;

需把用戶邏輯連接到Nios處理器中,在SOPCBuilder的圖形用戶界面中,選擇添加用戶邏輯項,加入用戶編寫的VHDL文件,同時指定實體說明中各信號的類型。Clock被指定為“clk”類型,Pb-gencounr1等被指定為“expor1”類型,chipselect被指定為“chipselect”類型,address被指定為“address”類型,count-out被指定為“readdata”類型。然后,SOPCBuilder自動生成一個Nios處理器軟核及相關(guān)外設(shè)的源文件。最后工作是編譯整個項目,并把生成的后綴為sof的文件下載到開發(fā)板上的可編程芯片中。

4.3 軟件開發(fā)流程

系統(tǒng)軟件設(shè)計具體工作如下:

(1)在用SOPC Builder系統(tǒng)集成軟件進行硬件設(shè)計的同時,就可以開始編寫C/C++軟件,比如算法或控制程序。用戶可以使用現(xiàn)成的軟件庫和開放的操作系統(tǒng)內(nèi)核加快開發(fā)過程;

(2)在Nios ⅡIDE中建立新的軟件工程時,IDE會根據(jù)SOPC Builder對系統(tǒng)的硬件配置自動定制HAL(硬件抽象層)系統(tǒng)庫,這個系統(tǒng)庫可以為程序和底層硬件的通訊提供接口驅(qū)動程序;

(3)使用Nios ⅡIDE編譯調(diào)試軟件;

(4)在硬件已下載到板上的基礎(chǔ)上將軟件下載到開發(fā)板上并在硬件上運行。

5 結(jié)束語

SOPC技術(shù)利用IP庫,并通過SOPCBuilder可快速生成嵌入式系統(tǒng),同時,可把用戶自定義的邏輯加入到系統(tǒng)中。通過SOPC還可向Nios處理器中添加用戶自定義的指令,擴充了Nios指令集,體現(xiàn)了用SOPC設(shè)計嵌入式系統(tǒng)的靈活性,快速生成了最終產(chǎn)品,縮短了開發(fā)周期。基于系統(tǒng)級FPGA/CPLD的SOPC嵌入式系統(tǒng)的開發(fā)設(shè)計是一個新課題,需要了解開發(fā)設(shè)計的方法、普及EDA工具以及獲得IP核等。本文對SOPC的探討對推動SOPC的應(yīng)用具有一定的實際借鑒意義。SOPC必將在通信、工業(yè)控制、計算機相關(guān)產(chǎn)品和消費類電子等各個領(lǐng)域中獲得廣泛的應(yīng)用。

作者簡介:

劉元元(1979-),女,河南平輿人,工程師,學(xué)士,現(xiàn)就職于東方電氣集團(四川)物產(chǎn)有限公司,主要研究方向為嵌入式工控領(lǐng)域和新能源發(fā)電設(shè)備。

參考文獻:

[1] Anna S. Chiang. 可編程片上系統(tǒng)要求新的設(shè)計方法[J]. 半導(dǎo)體技術(shù), 2001, 26 (8) : 5 - 7.

[2] Altera公司. SOPC Builder Data Sheet[M]. 美國: 美國Altera, 2002.

[3] 黃曉林, 蔣偉榮. SoC與IP復(fù)用及其應(yīng)用策略[J]. 現(xiàn)代電子技術(shù), 2003, 159 (16) : 1 - 4.

[4] 黃曉林, 梁玉紅. SoC及其應(yīng)用[J]. 廣東自動化與信息工程, 2003, 24 (3) : 7 - 10.

[5] 何立民. 以SoC為中心的多學(xué)科融合與滲透[J]. 單片機與嵌入式系統(tǒng)應(yīng)用, 2001 (5) : 5 - 9.

[6] ALTERA. Nios Development Board Reference Marual[Z]. Cyclone Edition, ALTERA Inc, 2003, 5.

[7] ALTERA. SOPC Builder datasheet[Z]. ALTERA Inc, 2003, 1.

摘自《自動化博覽》2023年4月刊

熱點新聞

推薦產(chǎn)品

x
  • 在線反饋
1.我有以下需求:



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 欧美日韩一区二区视频图片 | 一级特级欧美午夜片免费观看 | 午夜爱爱毛片xxxx视频免费看 | 成人综合久久综合 | 5月婷婷6月丁香 | 国产成人亚洲综合在线 | 一级人与动毛片免费播放 | 亚洲 欧美 日韩中文字幕一区二区 | 你懂的网址免费国产 | 奇米狠狠干 | 高清欧美不卡一区二区三区 | 五月开心六月伊人色婷婷 | 91精品免费不卡在线观看 | 久久久久久国产精品三级 | 国产日韩欧美在线一区二区三区 | 黑人逼| 午夜影院小视频 | 亚洲欧美在线免费观看 | 欧美一级二级三级视频 | 91网址| 成年女美黄网站大全免费播放 | 色老成人精品视频在线观看 | 国产亚洲新品一区二区 | 天天干成人网 | 瑟瑟网站在线观看 | 久久国产精品视频一区 | 在线观看 国产 | 999香蕉视频 | 18成人网| 成人18免费网站在线观看 | 自拍 欧美 | 国产a级特黄的片子视频免费 | 亚洲国产成人久久综合一 | 三级黄色毛片视频 | 黄色一级片免费在线观看 | 欧美色爱综合 | 玖玖玖免费观看视频 | 亚洲一区 中文字幕 | 色婷婷影视 | 麻豆一区二区三区在线观看 | 亚洲狼人香蕉香蕉在线28 |