新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 基于SOPC的自定義外設FIFO

        基于SOPC的自定義外設FIFO

        作者: 時間:2011-01-11 來源:網絡 收藏

        摘要:以Altera公司的FPGA芯片EP2C20Q208C8為例,詳細介紹了在QuartusII 7.2的環境下,用 Builder構建Nios軟核時,接口元件的方法。通過將采集到的電壓信號,在數碼管上顯示的實驗,實現寄存器與Nios CPU之間的通信。
        關鍵詞:現場可編程門陣列FPGA;Nios;先進先出;可編程片上系統Builder

        0 引言
        隨著微電子技術和半導體工業的不斷發展,數字技術已進入片上系統時代。從而又發展了(可編程片上系統),是Altera 公司提供的片上可編程系統解決方案。Nios嵌入式處理器是Altera公司推出的軟核CPU,提供給用戶,并在Altera的FPGA上實現優化,用于 SOPC集成
        并在FPGA上實現,提高了系統的靈活性和擴大范圍。
        是SOPC系統靈活性的重要體現,是SOPC系統中極其重要的一種設計方法。在大量的數據常需要處理時,利用由具體的硬件來實現,可以極大程度地提高系統運行的速度,同時便于系統的模塊化與集成化,是SOPC系統設計的重中之重。定制的用戶能夠以“硬件加速器”的形式實現各種各樣用戶要求的功能。

        1 定制Avalon總線型接口元件
        由于選用的AD采樣速率非常高,并且只由時鐘控制端控制,因此設計時在AD采集模塊和Nios CPU之間加一個FIFO存儲器,從系統外部接口送來的數據先在FIFO中緩存,然后將數據讀入SDRAM,在片上進行數據處理。整個流程在FPGA平臺上采用SOPC方法實現。在SOPC Builder中只有廠商提供的片上FIFO接口控制器,沒有外部使用的FIFO接口控制器核,因此需要用戶自定義FIFO接口控制器,這樣才能滿足系統外圍電路的應用要求。文中采用創建元件配置向導定制FIFO接口元件的方法。

        2 用戶自定義IP核的開發流程
        自定義外設作為NiosII軟核處理器超強靈活性的體現,它的開發要遵循一定的規律。一個用戶自定義外設必須用硬件描述語言來描述硬件的邏輯。用戶自定義IP按照對Avalon總線操作的不同可分為Avalon Master、Avalon Slaver和Avalon Streaming外設。由于Avalon Master和Avalon Streaming外設的開發比Avalon Slave外設要復雜,所以用戶開發的外設大部分為Avalon Slave外設,但是開發流程是一樣的。典型的Avalon外設的開發步驟如下:
        (1)規劃元件的硬件功能。若采用微控制器控制該元件,則規劃訪問該硬件的應用程序接口(API);
        (2)在硬件和軟件要求的基礎上,定義一個恰當的接口(一般為Avalon Slave端口);
        (3)使用硬件描述語言描述硬件邏輯。一個典型元件的硬件架構一般由接口模塊、寄存器文件模塊和行為模塊3部分組成。接口模塊作為頂層模塊,定義總線接口信號;寄存器文件模塊完成該元件與外部信號的通信,提供訪問與控制元件的邏輯界面;行為模塊實現元件的硬件功能。片上總線Avalon從端口的信號都不是必須的,一個典型的Avalon從端口所包含的信號如表1所示。
        a.JPG

        (4)單獨驗證元件的硬件功能;
        (5)寫用于描述寄存器的C頭文件為軟件定義硬件寄存器映像;
        (6)寫元件的驅動軟件;
        (7)把通過測試的源代碼使用元件編輯器封裝硬件HDL和軟件文件,完成元件定制。
        3 自定義FIFO接口的開發
        3.1 硬件構建
        3.1.1 接口模塊的設計
        根據FIFO的功能需要,該模塊所需的Avalon總線輸入信號為clk、reset n、data、full、empty信號,而模塊輸出則為rdclk、rdreq、wrreq信號。該接口模塊定義了總線接口信號,作為頂層模塊。
        Avalon總線接口設計文件的端口說明部分如下:
        b.JPG
        3.1.2 寄存器文件模塊
        寄存器文件模塊實現與外部信號的通信,提供了訪問與控制元件界面。在寄存器文件中,Avalon總線的地址信號有兩位,00表示讀取數據寄存器,O1表示讀取狀態寄存器,10表示寫控制寄存器,address的11保留。在片選和讀信號的控制下,分別讀數據寄存器和狀態寄存器。在片選和寫信號的控制下,向控制寄存器寫入數據。


        上一頁 1 2 下一頁

        關鍵詞: SOPC FIFO 自定義 外設

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吉安县| 永康市| 调兵山市| 新干县| 昂仁县| 漠河县| 威海市| 信丰县| 沈丘县| 鸡西市| 敦化市| 夏邑县| 白山市| 石家庄市| 若羌县| 冕宁县| 拜泉县| 新津县| 金寨县| 曲麻莱县| 星子县| 崇信县| 嵊州市| 新和县| 嘉定区| 嘉峪关市| 根河市| 西林县| 宁陕县| 鄂温| 井陉县| 鄂托克旗| 依兰县| 利川市| 大冶市| 资兴市| 辉县市| 郁南县| 长沙市| 定南县| 平谷区|