日本在线www-日本在线播放一区-日本在线不卡免费视频一区-日本在线不卡视频-成人影院久久久久久影院-成人影院一区二区三区

ABB
關注中國自動化產業發展的先行者!
CAIAC 2025
2025工業安全大會
OICT公益講堂
當前位置:首頁 >> 案例 >> 案例首頁

案例頻道

基于NOIS處理器的定制硬件技術研究
  • 企業:    
  • 點擊數:654     發布時間:2023-05-15 07:29:46
  • 分享到:

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

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

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

關鍵詞:FPGA;片上系統;可編程片上系統;NOIS軟核

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

1 SOPC的設計

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

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

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

2 SOPC Builder

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

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

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

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

3 嵌入式處理器NOIS軟核

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

4 NIOS Ⅱ軟核

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

4.1 開發工作流程

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

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

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

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

(5)成功完成Nios Ⅱ系統設計。

4.2 硬件開發流程

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

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

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

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

對于地址信號的選擇,則要在應用程序中明確指定,比如上面代碼中指定訪問的地址是“0x4A0”。實現用戶邏輯設計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

實體中結構部分的輸出如下,其中的temp1、temp2、temp3是內部信號,用以保存3個按鈕的計數值。使用的是并行語句,保證3個按鈕可并行計數。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處理器軟核及相關外設的源文件。最后工作是編譯整個項目,并把生成的后綴為sof的文件下載到開發板上的可編程芯片中。

4.3 軟件開發流程

系統軟件設計具體工作如下:

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

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

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

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

5 結束語

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

作者簡介:

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

參考文獻:

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

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

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

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

[5] 何立民. 以SoC為中心的多學科融合與滲透[J]. 單片機與嵌入式系統應用, 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月刊

熱點新聞

推薦產品

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



2.詳細的需求:
姓名:
單位:
電話:
郵件:
主站蜘蛛池模板: 在线日韩亚洲-在线日韩视频-在线日韩欧美一区二区三区-在线日韩欧美-久久精品嫩草影院-久久精品免视看国产盗摄 | 国产精品盗摄一区二区在线-国产精品盗摄在线观看-国产精品对白刺激久久久-国产精品对白刺激音频在线观看-国产精品对白交换-国产精品对白交换绿帽视频 | 欧美日韩亚洲一区二区三区在线观看-欧美日韩亚洲第一区在线-欧美日韩亚洲成人-欧美日韩午夜群交多人轮换-bbwvideos欧美老妇-bbwvideoa欧美老妇 | 美国a毛片-美国成人影院-美国毛片aa-美国毛片aaa在线播放-美国毛片基地-美国毛片基地a级e片 | aaak7美国发布站-a v 在线视频 亚洲免费-99综合色-99在线这精品视频-国产成人综合洲欧美在线-国产成人综合在线观看网站 | 亚洲综合在线观看视频-亚洲综合在线观看一区-亚洲综合在线观看一区www-亚洲综合在线视频-亚洲综合在线网-亚洲综合在线一区 | 日本久久久久亚洲中字幕-日本久久久久久中文字幕-日本久久久久久久中文字幕-日本久久久久久-日本久久久久-日本久久久 | 亚洲日韩在线观看-亚洲日韩欧美一区二区在线-亚洲日韩aⅴ在线视频-亚洲日本一区二区三区在线不卡-久久黄视频-久久狠色噜噜狠狠狠狠97 | 一个色综合网-一个色综合高清在线观看-一个色在线视频-一个色亚洲-一个人在线观看的www-一个人在线观看www中国 | 亚洲六月丁香婷婷综合,久久精品亚洲精品国产欧美,玖玖精品视频在线,国产日本精品,www成人在线观看,精品日产一区二区 | 岛国精品在线观看-岛国精品在线-岛国大片在线免费观看-岛国大片在线观看完整版-日本老师xxxx88免费视频-日本久久综合网 | av资源每日更新网站在线-av资源免费每日更新-av资源在线-av资源在线播放-av资源在线播放韩国-av资源在线观 | 国产精品亚洲精品日韩己满十八小-国产精品亚洲精品观看不卡-国产精品亚洲精品不卡-国产精品亚洲精品-四虎影视精品-四虎影视国产精品永久在线 | 五月婷六月婷婷,97九色,成年人国产,精品久久久久久久,久久久久久久国产精品电影,国产在线观看青草视频 | 伊人久久综合成人亚洲-伊人久久综合-伊人久久中文字幕久久cm-伊人久久中文大香线蕉综合-久久国产香蕉-久久国产视频网站 | 国产日韩精品欧美一区-国产日韩高清一区二区三区-国产日韩不卡免费精品视频-国产日产欧美精品一区二区三区-午夜国产精品免费观看-午夜国产精品理论片久久影院 | 佐藤遥希在线播放一二区-佐山爱巨大肥臀在线-佐山爱痴汉theav-佐良娜被爆漫画羞羞漫画-麻豆视频传媒二区-麻豆视频传媒 | 欧美日本一道免费一区三区-欧美日本一道高清二区三区-欧美日本一道道一区二区三-欧美日本亚洲国产一区二区-在线观看黄的网站-在线观看国内自拍 | 亚洲欧美日韩在线播放,国产成人综合久久,精品国产91,婷婷综合久久中文字幕蜜桃三电影,国产一区精品在线观看,福利一区三区 | 福利视频欧美一区二区三区-福利视频欧美-福利视频你懂的-福利视频导航网址-福利视频导航网-福利视频导航大全 | 中文无码熟妇人妻av在-中文无码视频三区四区在线观看-中文无码视频-中文无码肉感爆乳在线-中文无码日韩欧免费视频-中文无码日韩欧毛 | 91在线视频在线-91在线视频在线观看-91在线丨亚洲-91在线天堂-91在线无码精品秘 入口91-91在线无码精品秘蜜桃 | 波多野在线-波多野衣结在线精品二区-波多野一区二区三区在线-波多野一区二区-波多野一区-波多野结在线 | 久久九九99,伊人婷婷在线,日韩在线视频在线观看,黄色一级视频免费,日韩欧美亚州,亚洲精品在线免费 | 久久久久久久久国产-久久久久久久久97-久久久久久久国产视频-久久久久久久国产精品影院-午夜精-午夜寂寞院 | 天堂网在线最新版www-天堂网在线资源-天堂网在线看-天堂网在线观看视频-日本精品无码特级毛片-日本精品无码一区二区三区久久久 | 五月天婷婷缴情五月免费观看,久久综合热,高清中国一级毛片免费,国产一级高清免费观看,普通话对白国产精品一级毛片,日韩在线不卡视频 | 欧美日韩在线成人免费-欧美日韩在线成人看片a-欧美日韩在线不卡-欧美日韩在线播放-自拍偷拍三级-自拍偷拍欧美亚洲 | 2021国产精品视频一区-2021国产精品一区二区在线-2021国产精品自产拍在线-2021国产精品自产拍在线观看-2021国产精品自在拍在线播放-2021国产麻豆剧 | 六月丁香七月婷婷,欧美老女人逼,久久亚洲国产高清,国产一级在线观看视频,日产wv二区三区四区,瑟瑟网站在线观看 | 国产三级在线观看视频-国产三级在线免费-国产三级在线免费观看-国产三级自拍亚洲性爱在线-国产三级做爰在线播放-国产三級三級三級A片视频 | 日皮影院,一区二区三区高清不卡,国产日韩欧美中文字幕,日韩亚洲欧美一区二区三区,国产三级91,国产精品hd免费观看 | 美女三级毛片-美女牲交视频一级毛片无遮挡-美女视频大全视频a免费九-美女视频黄a视频全免费网站色窝-美女视频黄的全是免费-美女视频秀色福利视频 | 国语自产视频在线一区二区-国语自产偷拍-国语自产偷拍精品-国语自产偷拍精品视-国语自产偷拍精品视频-国语自产偷拍精品视频蜜芽 99欧美在线-99碰碰-99青草-99青草青草久热精品视频-99青青-99青青草 | 青草免费在线观看-青草免费在线-青草免费观看-青草久草视频-国产国语一级毛片-国产国语一级a毛片高清视频 | 欧美在线日韩-欧美在线区-欧美在线看欧美视频免费网站-欧美在线精品一区二区在线观看-www..com黄-vr专区日韩精品中文字幕 | 亚洲日本中文字幕在线-亚洲日本中文字幕区-亚洲日本中文字幕-亚洲日本中文-免费jizz在在线播放国产-免费jizz在线播放视频 | 亚洲色图网站-亚洲色图图片专区-亚洲色图图片区-亚洲色图图片-精品久久久中文字幕一区-精品久久久中文字幕二区 | 欧美激情中文字幕一区二区-欧美激情在线精品video-欧美激情影院-欧美激情一区二区三区在线-欧美激情一区二区三区视频高清-欧美激情一区二区三区视频 | 99re在线精品99re8热视频-99re在线精品-99re在线观看视频-99re在线观看-99re在线播放视频-99re在线 | 免费色黄网站-免费人成在线看-免费人成在线观看网站视频-免费人成在线观看网站-伊人蕉久中文字幕无码专区-伊人蕉久影院 |