999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

SOPC硬件系統設計概要

2012-09-11 10:16:58吳全興
微處理機 2012年6期
關鍵詞:程序用戶系統

王 爽,吳全興

(1.中國電子科技集團公司第四十七研究所,沈陽 110032;2.沈陽新元信息與測控技術有限公司,沈陽 110179)

1 SOPC系統簡介

SOPC是一種新的系統設計技術,也是一種新的軟硬件綜合設計技術。通過它,可以很快地將硬件系統(包括微處理器,存儲器,外設以及用戶邏輯電路等)和軟件設計都放在一個可編程的芯片中,以達到系統的IC設計。這種設計方式,具有開發周期短以及系統可修改等優點。設計完成的SOPC可以轉為ASIC芯片,從而可以實現快速量產。一旦定義了處理器之后,設計者就“具備”了體系結構,可以馬上開始設計軟件原型。CPU周邊的專用硬件邏輯可以慢慢地集成進去,在每個階段軟件都能夠進行測試,解決遇到的問題。另外,軟件組可以對結構方面提出一些建議,改善代碼效率和處理器性能,這些軟件、硬件權衡可以在硬件設計過程中間完成。

2 SOPC硬件系統設計流程

在采用NiosII處理器設計SOPC嵌入式系統時,通常會按照以下的步驟:

(1)分析系統需求說明,包括功能需求和性能約束等。

(2)根據分析結果,選擇片外外設和片內IP(知識產權核)。除此以外,還要對選擇的IP和外設進行初步性能評估,以保證能夠滿足系統需求。

(3)確定IP和系統參數。

(4)確定系統互聯邏輯,分配FPGA的引腳等。

(5)結合Nios提供的軟件開發包進行軟件開發。

其中硬件系統設計內容可以分成兩大部份:

(1)用SOPC Builder創建Nios系統模塊并存入塊設計文件(.bdf)。

(2)用QuartusⅡ編程器和ByteBlasterⅡ電纜配置Nios開發板上的FPGA。

SOPC Builder可看作是一個以IP模塊為輸入,集成系統為輸出的工具。SOPC Builder圖形用戶界面啟動時,會自動搜索已安裝的 IP模塊。SOPC Builder 主窗口中的左側模塊池內顯示了所有發現的IP模塊列表。SOPC Builder通過在一個搜索路徑中的所有目錄下搜索名為class.ptf的文件來獲得IP模塊列表。SOPC Builder讓IP制作者制定有關IP應該如何連接的細節,這樣能夠減輕用戶為每個設計項目重新再設計(或總線結構)的工作量。而且,通過追蹤整個系統的配方,就能夠使用SOPC Builder透明地調整相應的系統軟件以反映硬件配置的變化。SOPC Builder設計過程有三個主要步驟,如圖1所示。

圖1 SOPC Builder設計過程

2.1 構件開發

SOPC Builder的IP模塊是由IP開發人員提供的硬件(RTL、原理圖或EDIF)和軟件(C源代碼、頭文件等)。IP開發者經常會希望拿一個現成的具有微處理器總線接口的邏輯模塊,然后轉換成SOPC Builder的IP模塊。這需要如下三個主要步驟:

(1)建立一個名為 class.ptf的簡單文本文件(通常這個過程可以簡化,比如通過復制一個類似IP模塊的 class.ptf文件,然后修改其中的某些參數)。

(2)實現IP模塊的所有文件(HDL文件、軟件支持文件(.c 和.h),等等),連同 class.ptf文件,放置在同一個目錄下。

(3)將上述的目錄及文件復制到SOPC Builder的搜索路徑下,設定目錄名與該IP模塊的正式名稱相同。

SOPC Builder內包括和安裝了一些IP模塊,其他一些IP模塊可以從Altera或第三方IP提供商處獲得、安裝。

2.2 系統集成

用戶創建和編輯一個新的系統時,一般要從庫中選擇一些IP模塊,逐個地配置這些IP模塊,以及設置整個系統的配置(如,指定地址映射和主/從端口連接等)。在這個過程中,用戶的設置都會保存在系統PTF文件中,一般不會有其他文件的產生或修改。

用戶可以在模塊池內雙擊IP模塊名、按下Add按鈕或從系統菜單中選擇Add Module來添加一個IP模塊。每添加一個IP模塊,一個新的模塊行會出現在模塊表格內,并有一個臨時的模塊名。在添加階段的開始,SOPC Builder會在系統PTF文件中建立一個新的MODULE節,并將class.ptf文件MODULE_DEFAULTS節中的所有內容復制到這個新的MODULE節中。因此,IP模塊即使沒有Add_Program程序,也可以通過MODULE_DEFAULTS節提供添加階段所需的部分或全部信息。例如一個IP模塊的數據寬度總是16位,則不需要編寫Add_Program程序,用來在系統PTF文件中設置數據寬度。直接設置class.ptf文件MODULE_DEFAULTS節中的參數更容易些。此后,SOPC Builder會運行IP模塊聲明的Add_Program程序,并通知Add_Program程序如何找到新建立的MODULE節。SOPC Builder以命令行參數的方式把這個信息傳遞給Add_Program程序。Add_Program程序可以修改新MODULE節內的任何節或參數,比如WIZARD_SCRIPT_AR GUMENTS和SYSTEM_BUILDER_INFO部分,也可能還有其他部分。

大部分SOPC Builder的IP模塊都提供一個編輯工具,用來在模塊添加到系統之后重新改變它的參數。用戶雙擊代表系統中某一模塊的那一行,就可以對其編輯了。但如果模塊class.ptf文件中只有一個空的Edit_Program程序參數,則什么也不會發生。Edit_Program程序也可以通過命令行方式調用,命令行參數與Add_Program程序相同,以便它能找到相應的系統PTF文件和新建立的MODULE節。通常,Edit_Program程序和Add_Program程序提供了相同的圖形用戶界面來配置模塊,它們往往就是同一個程序。

至少一個IP模塊添加到系統中后,用戶就可以通過SOPC Builder圖形用戶界面來配置系統了。地址映射表,主/從端口連接,甚至 System Generation標簽頁的選項等等,都會影響系統的布局布線。

綁定階段用來提供Add/Edit_Program程序之外的參數設定。綁定階段在系統配置階段之后,所以可以重新設定與整個系統模塊相關的選項。除非用戶返回到前面的階段,否則模塊和它們的互連關系不會改變。綁定階段所做的選擇可能包括:從列表中選擇特定類型的模塊;選擇中斷映射;還有一些其他的操作,等等。這些操作最好不要通過模塊的向導來執行,因為用戶添加不同模塊的順序可能是不確定的。

2.3 系統生成

當用戶完成了SOPC Builder中的設計活動之后,最后按下Generate按鈕,或從命令行執行系統生成程序時,系統生成就開始了。系統生成的結果是一系列設計文件,如HDL文件,SDK(software-support)目錄和模擬工程文件等等。

SOPC Builder生成Nios CPU的同時,會生成一個SDK目錄。SOPC Builder為每一個CPU生成SDK目錄之后,SOPC Builder接下來會逐個地為系統列表中的每一個模塊執行相應的生成程序。SOPC Builder的IP模塊會在class.ptf文件中指定自己的生成程序,如果class.ptf文件中Generator_Program參數值為空值(“”),則SOPC Builder包含的缺省生成程序會執行。缺省生成程序執行一些為創建一個新模塊所需的簡單合理的操作,使得模塊在系統中可以看得到。這些操作在模塊class.ptf文件的DEFAULT_GENERATOR節中被參數化。如果某一個IP模塊顯式地指定Generator_Program參數值為none,則在它的模塊生成階段什么也不會發生(這不影響其他模塊的生成)。

模塊的生成程序可能會非常簡單(如缺省生成程序,僅僅拷貝一些文件),也可能非常復雜。許多SOPC Builder的IP模塊的HDL代碼實現直接由生成程序來產生,而不是簡單從庫里拷貝。每一個模塊的生成程序以命令行執行時,帶有一系列的參數,用來指定系統名稱和生成的MODULE節的名稱。

class.ptf文件中有一個特殊的部分名為 DEFAULT_GENERATOR,用來給缺省生成程序設置相應的參數。這個部分僅對缺省生成程序有用。如果Generator_Program參數沒有指定缺省生成程序,很顯然,這一部分的內容就被忽略掉了。缺省生成程序產生HDL和完成系統綜合和布局布線的準備工作等,缺省生成程序主要完成以下三個操作:模塊重新命名并封裝;拷貝實現文件到工程目錄;整理用于綜合的某些文件。

SOPC Builder為系統生成所有實現總線互連邏輯的HDL代碼(VHDL或Verilog)。一個完整的系統PTF文件包含有足夠的信息,為每一個系統主設備和從設備生成地址解碼器、數據選擇器、共享從端口的仲裁器、中斷邏輯和總線時序邏輯等。

SOPC Builder把系統頂層模塊的定義寫入系統HDL文件中。頂層模塊的定義包括:系統所有I/O端口的聲明、系統中每個模塊的實例、包含總線邏輯的仲裁模塊的實例、以及各個模塊間的互連邏輯。SOPC Builder還在系統HDL文件中定義了一個測試模塊(一般命名為test_bench)。測試模塊包含一個系統模塊的實例(命名為DUT),還有系統時鐘和復位輸入的激勵源。SOPC Builder還產生一個原理圖文件(.bsf),使得系統模塊可以在Quartus的圖形編輯方式下使用。

除了在前面階段生成的硬件(HDL)文件和軟件(SDK)文件,SOPC Builder還會生成一些文件和目錄以支持第三方的工具。

SOPC Builder為快速模擬系統,會生成一個ModelSim工程目錄:<system_name>_sim/,并在該目錄下生成功能仿真需要的所有文件。

在工程文件生成階段,SOPC Builder生成一個<system_name>_generation_script文件。這是一個shell腳本,可以從命令行執行,也可以從其他腳本或程序中執行。這個腳本可以在不進入圖形用戶界面的情況下,重新生成系統。

2.4 Quartus II軟件綜合

SOPC Builder僅僅生成系統模塊的HDL描述。如果要綜合和編譯系統,則需要使用Quartus II軟件工具。有時IP開發者僅提供綜合好的硬件描述,在這種情況下,需要對該IP封裝以避免Quartus對其再次綜合。IP開發者可以使用缺省生成程序,并通過設置DEFAULT_GENERATOR/black_box參數來實現封裝。設置了black_box參數之后,缺省生成程序會自動生成一個封裝文件,以黑盒的方式封裝這個IP。

3 結束語

SOPC Builder根據用戶選擇的IP生成相應的HDL描述文件(系統模塊文件),這些文件與用戶邏輯區域內的設計描述文件一起由Quartus軟件綜合,然后下載到FPGA內,這樣就構成了系統的硬件基礎。

[1]Steve Furber,著.ARM SoC 體系結構[M].田澤,于敦山,盛世敏,譯.北京:北京航空航天大學出版社,2002.

[2]杜春雷.ARM體系結構與編程[M].北京:清華大學出版社,2003.

猜你喜歡
程序用戶系統
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
關注用戶
商用汽車(2016年11期)2016-12-19 01:20:16
關注用戶
商用汽車(2016年6期)2016-06-29 09:18:54
關注用戶
商用汽車(2016年4期)2016-05-09 01:23:12
主站蜘蛛池模板: 亚洲欧洲免费视频| 日韩免费毛片| 亚洲国产无码有码| 免费无码网站| 无码电影在线观看| 1769国产精品视频免费观看| 高清码无在线看| 亚洲国产精品无码久久一线| 亚洲国产AV无码综合原创| 影音先锋丝袜制服| 国产新AV天堂| 国产熟女一级毛片| 欧美福利在线| 成人午夜福利视频| 国产精品无码久久久久久| 九九精品在线观看| 人妻21p大胆| 在线精品亚洲国产| 国产成人精品在线1区| 午夜影院a级片| av在线人妻熟妇| 国产精品美女网站| 天堂在线视频精品| 国产18页| 欧美不卡视频一区发布| 99久久国产精品无码| 亚洲第一黄色网| 国产精品区视频中文字幕 | 波多野结衣无码视频在线观看| 亚洲AⅤ综合在线欧美一区| 欧美日本激情| 国产swag在线观看| 欧美成人h精品网站| 久久99国产综合精品1| 久久无码高潮喷水| 午夜不卡视频| 亚洲精品第一页不卡| 国产精品偷伦视频免费观看国产| 丁香亚洲综合五月天婷婷| 无码高潮喷水专区久久| 色精品视频| 亚洲无码37.| 91 九色视频丝袜| 亚洲免费播放| 国产乱人伦偷精品视频AAA| 亚洲第一天堂无码专区| 伊伊人成亚洲综合人网7777| 成人日韩欧美| 亚洲欧美成aⅴ人在线观看| 在线观看亚洲国产| 亚洲手机在线| 亚洲妓女综合网995久久| 国产欧美日韩免费| 日韩人妻精品一区| 在线欧美一区| 女同久久精品国产99国| 久久久久久尹人网香蕉 | 国产特一级毛片| 亚洲h视频在线| 亚洲精品中文字幕无乱码| 色亚洲成人| 婷婷丁香色| 亚洲AV无码乱码在线观看代蜜桃| 精品国产香蕉在线播出| 婷婷99视频精品全部在线观看| 国产亚洲欧美日本一二三本道| 免费人成网站在线高清| 国产呦视频免费视频在线观看| 欧美国产综合视频| 99久久精品国产麻豆婷婷| h网站在线播放| 91九色国产在线| 欧美不卡在线视频| 欧美激情伊人| 欧美亚洲激情| 青青草原国产一区二区| 亚洲无限乱码一二三四区| 国产白浆视频| 国产在线观看一区二区三区| 国产美女主播一级成人毛片| 国产91蝌蚪窝| 久久九九热视频|