亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        SOPC硬件系統(tǒng)設(shè)計(jì)概要

        2012-09-11 10:16:58吳全興
        微處理機(jī) 2012年6期
        關(guān)鍵詞:缺省程序模塊

        王 爽,吳全興

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

        1 SOPC系統(tǒng)簡(jiǎn)介

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

        2 SOPC硬件系統(tǒng)設(shè)計(jì)流程

        在采用NiosII處理器設(shè)計(jì)SOPC嵌入式系統(tǒng)時(shí),通常會(huì)按照以下的步驟:

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

        (2)根據(jù)分析結(jié)果,選擇片外外設(shè)和片內(nèi)IP(知識(shí)產(chǎn)權(quán)核)。除此以外,還要對(duì)選擇的IP和外設(shè)進(jìn)行初步性能評(píng)估,以保證能夠滿足系統(tǒng)需求。

        (3)確定IP和系統(tǒng)參數(shù)。

        (4)確定系統(tǒng)互聯(lián)邏輯,分配FPGA的引腳等。

        (5)結(jié)合Nios提供的軟件開發(fā)包進(jìn)行軟件開發(fā)。

        其中硬件系統(tǒng)設(shè)計(jì)內(nèi)容可以分成兩大部份:

        (1)用SOPC Builder創(chuàng)建Nios系統(tǒng)模塊并存入塊設(shè)計(jì)文件(.bdf)。

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

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

        圖1 SOPC Builder設(shè)計(jì)過程

        2.1 構(gòu)件開發(fā)

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

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

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

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

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

        2.2 系統(tǒng)集成

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

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

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

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

        綁定階段用來提供Add/Edit_Program程序之外的參數(shù)設(shè)定。綁定階段在系統(tǒng)配置階段之后,所以可以重新設(shè)定與整個(gè)系統(tǒng)模塊相關(guān)的選項(xiàng)。除非用戶返回到前面的階段,否則模塊和它們的互連關(guān)系不會(huì)改變。綁定階段所做的選擇可能包括:從列表中選擇特定類型的模塊;選擇中斷映射;還有一些其他的操作,等等。這些操作最好不要通過模塊的向?qū)韴?zhí)行,因?yàn)橛脩籼砑硬煌K的順序可能是不確定的。

        2.3 系統(tǒng)生成

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

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

        模塊的生成程序可能會(huì)非常簡(jiǎn)單(如缺省生成程序,僅僅拷貝一些文件),也可能非常復(fù)雜。許多SOPC Builder的IP模塊的HDL代碼實(shí)現(xiàn)直接由生成程序來產(chǎn)生,而不是簡(jiǎn)單從庫里拷貝。每一個(gè)模塊的生成程序以命令行執(zhí)行時(shí),帶有一系列的參數(shù),用來指定系統(tǒng)名稱和生成的MODULE節(jié)的名稱。

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

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

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

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

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

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

        2.4 Quartus II軟件綜合

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

        3 結(jié)束語

        SOPC Builder根據(jù)用戶選擇的IP生成相應(yīng)的HDL描述文件(系統(tǒng)模塊文件),這些文件與用戶邏輯區(qū)域內(nèi)的設(shè)計(jì)描述文件一起由Quartus軟件綜合,然后下載到FPGA內(nèi),這樣就構(gòu)成了系統(tǒng)的硬件基礎(chǔ)。

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

        [2]杜春雷.ARM體系結(jié)構(gòu)與編程[M].北京:清華大學(xué)出版社,2003.

        猜你喜歡
        缺省程序模塊
        28通道收發(fā)處理模塊設(shè)計(jì)
        “選修3—3”模塊的復(fù)習(xí)備考
        基于“缺省模式”設(shè)計(jì)平臺(tái)的控制系統(tǒng)研發(fā)模式重塑
        試論我國未決羈押程序的立法完善
        “程序猿”的生活什么樣
        英國與歐盟正式啟動(dòng)“離婚”程序程序
        缺省語義模式下話語交際意義研究
        選修6 第三模塊 International Relationships
        創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
        關(guān)聯(lián)期待與缺省推理下缺省語境的生成模式
        外國語文(2015年4期)2015-11-14 01:57:56
        亚洲国产天堂一区二区三区| 久久精品亚洲熟女九色| 日本在线综合一区二区| 一区二区三区国产精品乱码| 少女韩国电视剧在线观看完整| 成全高清在线播放电视剧| 亚洲另类激情专区小说婷婷久 | 国产农村乱辈无码| 国产精品成人av在线观看| 亚洲无码观看a| 免费看片的网站国产亚洲| 曰韩内射六十七十老熟女影视| 青草内射中出高潮| 暖暖免费 高清 日本社区在线观看 | 又色又爽又黄高潮的免费视频| 搡老熟女老女人一区二区| 无码av免费精品一区二区三区| 白白白色视频在线观看播放| 在线精品首页中文字幕亚洲| 国产成年女人毛片80s网站| 97久久精品人人做人人爽| 中文一区二区三区无码视频| 毛片精品一区二区二区三区| 日韩av无码中文字幕| 国产97在线 | 中文| 国产亚洲精品自在久久77| 男的和女的打扑克的视频| 亚洲国产色一区二区三区| 免费国产黄网站在线观看可以下载 | 国产乡下妇女做爰| 亚洲欧洲日本综合aⅴ在线| av无码一区二区三| 亚洲精品在线97中文字幕| 亚洲国产精品久久久久久无码| 日本黄页网站免费观看| a级国产精品片在线观看| 丝袜美腿亚洲综合一区| 精品无码一区二区三区爱欲| 久久中文字幕无码专区| 在线偷窥制服另类| 情av一区二区三区在线观看|