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

        ?

        一種基于FPGA的SOC設(shè)計與實現(xiàn)

        2014-03-16 09:21:52黃海生
        電子設(shè)計工程 2014年9期
        關(guān)鍵詞:調(diào)試系統(tǒng)設(shè)計

        曹 蓓,黃海生

        (西安郵電大學(xué) 陜西 西安 710061)

        近年來,SOC[1]技術(shù)得到了快速的發(fā)展,逐漸成為微電子行業(yè)的主流。SOC稱為系統(tǒng)級芯片,是一個有專用目標(biāo)的集成電路,能集成數(shù)字電路、硬件專用電路、存儲器、微處理器等多種異構(gòu)模塊,實現(xiàn)多個復(fù)雜的應(yīng)用功能,具有速度快、集成度高、功耗低、開發(fā)周期短等優(yōu)點(diǎn)。

        隨著集成電路速度的加快和設(shè)計復(fù)雜性提高,新的技術(shù)不斷被引進(jìn),國內(nèi)外相繼開展了SOC技術(shù)及器件的研究,其中一個顯著的特點(diǎn)就是將SOC的可靠性和低成本與FPGA的靈活性等優(yōu)勢結(jié)合起來[2],在業(yè)界中知名的FPGA芯片公司中,如Altera公司的CycloneⅤ和ArriaⅤ系列[3],Xilinx公司的 Zynp系列[4],Actel公司的 M7A3P1000,其都內(nèi)嵌了 ARM微處理器,在邏輯設(shè)計、片上系統(tǒng)中都有廣泛的應(yīng)用。

        本文選用Actel公司的FPGA器件,型號為M7A3P1000,采用該器件對SOC進(jìn)行設(shè)計驗證。該器件采用Flash結(jié)構(gòu),相比于采用靜態(tài)隨機(jī)存儲器 (SRAM)結(jié)構(gòu)的Altera和Xilinx公司的FPGA器件,其下載的程序在掉電后不丟失,因此不需專用的配置芯片,故在PCB設(shè)計中可降低設(shè)計的復(fù)雜度,減少面積的開銷。此外,該器件所具有的的加密功能,可有效的保護(hù)知識產(chǎn)權(quán)。設(shè)計中,首先在該芯片中搭建基于ARM7的SOC系統(tǒng),最后用兩種方法驗證該SOC系統(tǒng)的正確性:一是用該系統(tǒng)對片外存儲器進(jìn)行擦寫操作;二是用該系統(tǒng)測試用戶定制邏輯外設(shè)。

        1 系統(tǒng)原理

        在SOC設(shè)計中,常見的架構(gòu)都是以微處理器或數(shù)字信號處理器(DSP)為中心,加上存儲器,外設(shè)等,再通過片上總線把處理器和外設(shè)進(jìn)行互連,本設(shè)計采用的FPGA型號為M7A3P1000芯片,因其內(nèi)嵌一個基于AMBA總線架構(gòu)、且完全兼容ARM7微處理器[5],故可以在非常低的功耗下安全、可靠地運(yùn)行。上述的AMBA總線架構(gòu),是ARM公司設(shè)計的一種高性能嵌入式系統(tǒng)總線的標(biāo)準(zhǔn),因其具有的高速度、低功耗等特點(diǎn),故其在SOC設(shè)計中已被廣泛采用,典型的基于AMBA架構(gòu)的SOC核心部分如圖1。

        由圖1中可看出,AMBA規(guī)范中定義了兩種不同類型的總線[6]:先進(jìn)的高速總線(AHB)、先進(jìn)的系統(tǒng)總線(ASB)和先進(jìn)的外圍總線(APB)。其中AHB適用于高性能和高時鐘頻率的系統(tǒng)模塊,主要用于高性能和高吞吐量設(shè)備之間的連接,如片上存儲器、DSP、直接存儲器訪問(DMA)、高速片外存儲器控制器 (該部件用于連接片外存儲器Flash和SRAM)等設(shè)備;ASB和AHB屬同一功能類型總線,只不過AHB總線是ASB總線的升級版,增強(qiáng)了對性能、綜合及時序驗證的支持;APB總線主要用于連接低速、低帶寬的外圍器件,如集成電路總線(IIC)接口、計數(shù)器(Timer),通用輸入輸出(GPIO)、通用異步收發(fā)器(UART)等。下文將以此架構(gòu),進(jìn)行SOC設(shè)計。

        2 系統(tǒng)設(shè)計

        2.1 SOC設(shè)計流程

        采用Actel公司的Libero IDE 8.6集成開發(fā)環(huán)境,設(shè)計基于ARM7的SOC。SOC包括硬件和軟件設(shè)計兩部分,在硬件設(shè)計中,一般將系統(tǒng)經(jīng)行分模塊設(shè)計,之后針對各模塊功能,逐個進(jìn)行功能驗證,待各模塊功能準(zhǔn)確后,依據(jù)總線架構(gòu),組成要設(shè)計的目標(biāo)系統(tǒng),最后通過軟硬件協(xié)同調(diào)試,證明系統(tǒng)功能的完備性。其SOC設(shè)計的主要流程[7]如圖2。

        圖2 SOC設(shè)計的主要流程Fig.2 Themain process in SOC design

        在圖2顯示的SOC設(shè)計流程中,若要設(shè)計一個模塊或系統(tǒng),首先對其進(jìn)行功能/需求分析,下來針對虛線框內(nèi)的步驟 , 其 中 步 驟 HDL-Editor,User-Testbench,Modelsim Simulator,可用于模塊的設(shè)計、功能仿真,若再增加步驟Synthesis,Compile,Layout,Programming Genetation, 可對所設(shè)計的模塊進(jìn)行實際驗證,待各模塊功能驗證準(zhǔn)確后,就可以依據(jù)指定的互連結(jié)構(gòu)組成系統(tǒng),然后結(jié)合相應(yīng)的軟件代碼,進(jìn)行系統(tǒng)功能調(diào)試、驗證。

        2.2 SOC設(shè)計搭建

        本文采用在Libero IDE 8.6集成開發(fā)環(huán)境中內(nèi)嵌的Coreconsole軟件[8],搭建基于ARM7的SOC系統(tǒng),搭建的系統(tǒng)如圖3所示。

        如圖3所示,在Coreconsole環(huán)境中搭建的系統(tǒng),包括總線,微處理器,外圍器件,以及驅(qū)動和頂層端口,其中1)CoreMP7:32/16位精簡指令集架構(gòu)處理器、支持32位ARM指令和16位Thumb指令、三級流水線,32位即4G尋址范圍等;2)CoreMP7Bridge:橋接器,連接 CoreMP7 和 CoreAHB,它將CoreMP7處理器發(fā)出的信號轉(zhuǎn)換成一個適合AHB總線連接的信號,且包含一組聯(lián)合測試行動小組(JTAG)信號接口,JTAG接口用于下載程序和軟件調(diào)試。3)CoreAHBLite:先進(jìn)的高速總線,一般連接DMA、DSP、SRAM等設(shè)備。包含16個AHB從器件節(jié)點(diǎn),每個從器件依次占有256MB地址空間,在本設(shè)計中,片外的Flash和SRAM分別連接在節(jié)點(diǎn)0和節(jié)點(diǎn)1上。2.1部分中用到的片外Flash就是通過外部存儲器接口連 接 在 節(jié) 點(diǎn)0上 , 故 其 基 地 址 是 0x00000000;4)CoreMemCtrl:外部存儲器控制器,用于連接片上系統(tǒng)與外部寄 存 器 , 如 對 片 外Flash、SRAM進(jìn) 行 讀 寫 訪 問 ;5)CoreAHBtoAPB: 橋接器。 連接 CoreAHB和 CoreAPB;6)CoreAPB:先進(jìn)的外圍總線,一般連接 UART、GPIO、IIC等外設(shè)。包含16個APB從器件節(jié)點(diǎn),每個從器件依次占有16MB地址空間,地址計算公式是:物理地址=基地址+偏移地址。7)驅(qū)動和頂層端口包括:16 MHz系統(tǒng)時鐘SYSCLK;系統(tǒng)低電平復(fù)位端口NSYSRESET,程序下載和調(diào)試端口JTAG,外部存儲器連接端口ExternalMomoryInterface,串口通信接口等,圖中底色為灰色的是一般的輸入輸出(PIO)模塊,該模塊的設(shè)計和驗證將在3.2部分詳細(xì)說明。至此,文中介紹了基于AMBA總線架構(gòu)的SOC中涉及到的時鐘、復(fù)位、總線、微處理器、外部存儲器及外圍輸入輸出端口,即最小系統(tǒng)框架,在圖3中清晰地確定了SOC系統(tǒng)的互連結(jié)構(gòu),實現(xiàn)了各模塊之間的通信功能。

        圖3 基于ARM7的SOC系統(tǒng)Fig.3 The SOC system based on ARM7

        3 實際驗證

        下面將對所搭建的SOC系統(tǒng)進(jìn)行驗證,通過對系統(tǒng)翻譯、編譯、綜合、分配管腳、生成下載文件,最后將下載文件燒寫到FPGA片中。為驗證該系統(tǒng)的準(zhǔn)確性,本設(shè)計采用兩種方法對其進(jìn)行測試驗證,詳細(xì)過程見3.1和3.2部分。

        3.1 搭建的系統(tǒng)對片外Flash的擦寫操作

        本測試主要是在已經(jīng)搭建好的SOC系統(tǒng)的基礎(chǔ)上,在外部存儲器控制器接口連接外部存儲器Flash,通過能否對Flash進(jìn)行正常的擦寫操作來驗證系統(tǒng)的準(zhǔn)確性,測試選用的片外Flash芯片型號Numonyx公司是28F640J3D,它是64M的16位只讀存儲器,分配的基地址是0x00000000,由于該芯片16位模式的訪問特性,地址線0位拉低不予鏈接,其余地址線管腳依次連接到頂層外部寄存器控制器的地址端口。

        FS2是一款集合了大量指令和可用軟件、用以調(diào)試基于ARM的SOC系統(tǒng)內(nèi)核的工具,利用該工具對片外Flash進(jìn)行配置和擦寫操作,來驗證系統(tǒng)的準(zhǔn)確性。測試首先對片外Flash進(jìn)行配置,進(jìn)而對指定存儲空間進(jìn)行擦除操作,然后對該存儲空間進(jìn)行寫操作,最后觀察此存儲空間中的數(shù)據(jù),具體過程如圖4所示。

        圖4 片外Flash的擦寫演示過程Fig.4 Wipe the demonstration process of outside Flash

        在圖4中顯示的是FS2工具的用戶界面,設(shè)計中用到的八條指令,分別是:1>、2>、3>、......8>,其中指令 1>、2>用來配置片外Flash芯片;指令3>用來選擇將要擦寫的存儲空間,由圖中可知,本設(shè)計中要進(jìn)行的讀寫操作的存儲空間是0x00000000-0x003FFFFF;指令4>用來對Flash指定的存儲空間進(jìn)行擦除操作;指令5>用來把已經(jīng)準(zhǔn)備好的二進(jìn)制文件寫到上述存儲空間中,設(shè)計中使用的二進(jìn)制文件名是QUICK.HEX;指令6>是用來顯示指定存儲空間中的內(nèi)容,從圖中可看出,寫到存儲空間0x00000000-0x0000003F的內(nèi)容是 18、F0、9F......、12、E3;指令 7>執(zhí)行對上述存儲空間寫入的數(shù)據(jù)的擦除操作;指令8>顯示上述存儲單元擦除后的內(nèi)容。

        通過對上述過程的分析可知,所搭建的SOC系統(tǒng)可準(zhǔn)確實現(xiàn)片外Flash的擦寫操作,進(jìn)而說明了該系統(tǒng)的準(zhǔn)確性。

        3.2 搭建的系統(tǒng)對外設(shè)接口的讀寫操作

        本測試在遵循ARM7先進(jìn)外圍總線APB的讀寫時序的前提下,定制用戶邏輯外設(shè)PIO,通過該系統(tǒng)對PIO接口進(jìn)行讀寫操作來進(jìn)一步驗證設(shè)計的準(zhǔn)確,驗證中的用到的APB總線的讀寫時序如圖5。

        下面將主要遵循系統(tǒng)中先進(jìn)的外圍總線APB的讀寫時序,首先采用硬件描述語言和C代碼,定制八位的用戶邏輯外設(shè)PIO,然后將PIO的輸入端口接到開關(guān)Switch0-Switch7,輸出端口接到八個發(fā)光二極管Led0-Led7,通過軟硬件調(diào)試,使八位開關(guān)的輸入電平顯示到八個發(fā)光二極管上,以此來進(jìn)一步驗證設(shè)計中搭建的SOC系統(tǒng)的準(zhǔn)確,針對上述過程及要求,為了更直觀地展示驗證結(jié)果,制作了簡單的實驗板,當(dāng)開關(guān)鍵在高電平時,發(fā)光二極管變亮,否則,發(fā)光二極管不亮。其中定制用戶邏輯外設(shè)的主要步驟如下:

        1)規(guī)劃元件的硬件功能;

        2)使用硬件描述來描述硬件邏輯[9-10];

        3)單獨(dú)驗證元件的硬件功能;

        4)描述寄存器的C頭文件來為軟件定義硬件寄存器映像;

        5)將元件集成到ARM7系統(tǒng)中,使用ARM7來測試寄存器的訪問是否正確,并為該元件編寫軟件驅(qū)動[11];

        圖5 APB總線的讀寫時序Fig.5 The read timing and write timing of APB bus

        6)執(zhí)行系統(tǒng)級的驗證等。

        圖6是在Actel公司的調(diào)試軟件Softconsole和實驗板上的實際調(diào)試結(jié)果。

        圖6 調(diào)試結(jié)果Fig.6 Debugging results

        由圖6顯示的調(diào)試結(jié)果可知,八位開關(guān)Switch0-Switch7的輸入分別是11001011和11100101,這個和八個發(fā)光二極管Led0-Led7的輸出結(jié)果一致,由此進(jìn)一步驗證了設(shè)計的準(zhǔn)確性。

        4 結(jié)束語

        本文通過對基于ARM7的SOC系統(tǒng)的設(shè)計,介紹了一種Flash結(jié)構(gòu)的FPGA器件及其片上系統(tǒng)的設(shè)計方法,進(jìn)而給出了兩種驗證該片上系統(tǒng)準(zhǔn)確性的方法,通過實際驗證,該系統(tǒng)不僅能準(zhǔn)確進(jìn)行片外存儲器的擦寫,而且可以準(zhǔn)確進(jìn)行外設(shè)接口的讀寫的操作,由此驗證了設(shè)計的準(zhǔn)確性。文中所搭建SOC系統(tǒng),可以與符合ARM公司的AHB2.0協(xié)議的北斗基帶芯片無縫連接,在北斗接收機(jī)的設(shè)計、測試中有重要的參考價值。

        [1]陸小艷.基于AMBA2.0的SOC總線平臺的設(shè)計 [D].西安:西安電子科技大學(xué),2012.

        [2]袁野.基于平臺的SOC設(shè)計方法研究 [J].計算機(jī)與數(shù)字工程,2013,41(1):56-59.YUAN Ye.Research on Platform-Based SOC Design Methododology [J].Computer&Digital Engineering,2013,41(1):56-59.

        [3]周立功.SOPC嵌入式系統(tǒng)基礎(chǔ)教程 [M].北京:北京航空航天大學(xué)出版社,2006.

        [4]鐘洪.基于FPGA的SOC設(shè)計研究[J].機(jī)電元件,2013,33(3):13-18.ZHONG Hong.Based on FPGA SOC Design Research[J].Electromechanical Components,2013,33(3):13-18.

        [5]周立功.ARM嵌入式系統(tǒng)基礎(chǔ)教程[M].2版.北京:北京航空航天大學(xué)出版社,2008.

        [6]時偉,周子昂.SOC片上系統(tǒng)總線分析與研究[J].電子世界,2012(3):20-21.SHIWei,ZHOU Zi-ang.Analysis and Research on SOC Bus[J].Electronic World,2012(3):20-21.

        [7]郭煒,魏繼增,郭箏,等.SOC設(shè)計方法與實現(xiàn) [M].2版.北京:電子工業(yè)出版社,2011.

        [8]韓煜,李洪海.基于IP核技術(shù)的SOC設(shè)計[J].微處理機(jī),2012(2):14-16.HAN Yi,LI Hong-hai.SOC Design Based on IP Core Technology[J].Microprocessors,2012(2):14-16.

        [9]李鑫,黃海生,張斌,等.一種E1時鐘數(shù)據(jù)恢復(fù)電路的設(shè)計[J].西安郵電學(xué)院學(xué)報,2012,17(3):67-72.LIXin,HUANG Hai-sheng,ZHANG Bin,et al.A design for clock data recovery circuit of E1 [J].Journal of xi’an Univerity of Posts and Telecommunications,2012,1(3):67-72.

        [10]黃海生.一種數(shù)字分頻器的分析及性能分析[J].西安郵電學(xué)院學(xué)報,2000,5(1):39-40.HUANG Hai-sheng.Performance Analysis of A Digital Divider [J].Journal of Xi’an Univerity of Posts and Telecommunications,2000,5(1):39-40.

        [11]虞致國,魏敬和.一種基于8051核SOC引導(dǎo)程序的設(shè)計與實現(xiàn)[J].微計算機(jī)信息,2008,25(3-2):133-135.YU Zhi-guo,WEI Jing-he.Design and Implementation of Bootloader for a SOC Based on 8051[J].Microcomputer Information,2008,25(3-2):133-135.

        猜你喜歡
        調(diào)試系統(tǒng)設(shè)計
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無人機(jī)系統(tǒng)
        ZC系列無人機(jī)遙感系統(tǒng)
        北京測繪(2020年12期)2020-12-29 01:33:58
        瞞天過海——仿生設(shè)計萌到家
        基于航拍無人機(jī)的設(shè)計與調(diào)試
        電子制作(2018年12期)2018-08-01 00:47:44
        FOCAS功能在機(jī)床調(diào)試中的開發(fā)與應(yīng)用
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        有種設(shè)計叫而專
        Coco薇(2017年5期)2017-06-05 08:53:16
        無線通信中頻線路窄帶臨界調(diào)試法及其應(yīng)用
        電子制作(2017年19期)2017-02-02 07:08:38
        亚洲欧美日韩在线观看一区二区三区| 国产亚洲精品97在线视频一 | 又大又粗欧美黑人aaaaa片 | 国产熟妇疯狂4p交在线播放| 伊伊人成亚洲综合人网香| 国产97色在线 | 免| 91国内偷拍一区二区三区| 久久精品国产亚洲av超清| 亚洲综合欧美在线一区在线播放| 久久天天爽夜夜摸| 亚洲天堂av免费在线| 少妇被黑人整得嗷嗷叫视频| 日本免费a级毛一片| 中文字幕一区二区三区乱码不卡| 色婷婷亚洲一区二区在线| 少妇无套裸按摩呻吟无呜| 国产在线精品成人一区二区三区| 国产xxxxx在线观看免费| 亚洲国产精品二区三区| 五月激情综合婷婷六月久久| 夜先锋av资源网站| 中文字幕久热精品视频免费| 香蕉蜜桃av一区二区三区| 国产精品久久久久一区二区三区| 国产三级在线观看免费| 99RE6在线观看国产精品| 国产综合开心激情五月| 蜜桃av抽搐高潮一区二区| 久久久男人天堂| 日本二区三区视频在线观看| 国产欧美在线观看不卡| 特黄a级毛片免费视频| 国产丝袜免费精品一区二区| 顶级高清嫩模一区二区| 人妻体体内射精一区二区| 亚洲夜夜骑| 久久亚洲一区二区三区四区五| 日日麻批免费40分钟无码| 国产mv在线天堂mv免费观看| 亚洲一区二区高清在线| 亚洲一区二区三区高清在线|