NIOS II的SOPC中存儲器型外設接口的設計
緊耦合數據存儲器中的數據可以通過(guò)設定數據單元大小后在.hex文件中進(jìn)行初始化。SOPCBuilder編譯成功后,可在Nios II IDE下編寫(xiě)測試代碼,以便將初始化文件中的數據通過(guò)指向地址的指針讀出。以下是部分測試代碼:

3 FIFO接口的設計
Altera公司已將FIFO內嵌到FPGA中,用戶(hù)可以根據不同的設計需求來(lái)使用。FIFO的基本單元是寄存器,作為存儲器件,它的存儲能力可由內部定義的存儲寄存器的數量決定,一般以數據量的深度X為寬度形式來(lái)說(shuō)明所采用的基本結構,它通常是雙端口的存儲器,其中一個(gè)端口用于寫(xiě)入數據,另一個(gè)端口用于讀出數據。使用時(shí)可以同時(shí)對存儲器的存儲單元進(jìn)行寫(xiě)入和讀出操作,而且FIFO型的存儲器不需要由地址來(lái)存取數據。它通常需要由另外的信號線(xiàn)(或標志)來(lái)標明存儲器的狀態(tài)。
SOPC Builder中沒(méi)有相應的FIFO接口控制器,因此需要自己定義FIFO接口??墒紫仍赒uartus II的界面中新建一個(gè).bdf文件,在下拉菜單中選擇MegaWizard Plug-InManager,在打開(kāi)的選項中從altera提供的庫中找到FIFO,并根據需要選擇FIFO的深度及寬度,設定好參數后再添加在.bdf中。然后在Ouartus II工程中打開(kāi)SOPC Builder,并在Create New Comlaonet打開(kāi)創(chuàng )建元件向導,同時(shí)在Signals選項卡中添加端口信號。由于需要將緊耦合存儲器中的數據寫(xiě)到FIFO中,因此,FIFO的接口信號有寫(xiě)使能addr和32位寫(xiě)數據接口writedata等,且時(shí)鐘和處理器的時(shí)鐘信號相同。FIFO作為外設存儲器設備,其地址對齊方式一般選擇動(dòng)態(tài)地址對齊。通過(guò)實(shí)驗驗證FIFO的時(shí)序符合要求后,即可將緊耦合數據存儲器中的數據寫(xiě)到FIFO。圖3所示是將緊耦合數據存儲器中的數據寫(xiě)人FIFO的時(shí)序驗證。

4 SRAM的接口設計
本設計中的SRAM采用的是ISSI公司的IS61LV25616AL-10TL型16位高速異步SRAM,它屬于存儲器型外設,因此,地址對齊方式選擇動(dòng)態(tài)地址對齊。SRAM可通過(guò)Avalon三態(tài)從端口與Avalon交換架構相連接。圖4所示是SRAM在系統中的位置示意圖。

Avalon的三態(tài)特性允許基于A(yíng)valon的系統直接與片外設備相連接,例如存儲器芯片或一個(gè)外部處理器。Avalon三態(tài)從端口允許Avalon SwitchFabric與PCB板上共享的地址和數據總線(xiàn)的片外設備進(jìn)行接口,可用于將Avalon Switch Fabric與同步和異步存儲器芯片的連接。三態(tài)從端口通常使用雙向信號data,而不是獨立的、單向信號readdata和writedata。Data信號是三態(tài)的,因而允許多個(gè)三態(tài)外設與數據總線(xiàn)相連而不引起信號沖突。Avalon三態(tài)從端口經(jīng)常使用負邏輯信號,符合典型的存儲器芯片的約定。Avalon三態(tài)從端口信號需要注意的是地址信號。Avalon三態(tài)從端口地址信號一般代表一個(gè)字節地址,這與使用字地址的非三態(tài)從端口不同。Avalon三態(tài)從端口的地址信號可被多個(gè)片外設備共享,這些設備可能有不同的數據寬度。若Avalon三態(tài)從端口的數據寬度比一個(gè)字節大,則必須將地址信號從AvalonSwitch Fabric正確映射到從設備的地址線(xiàn)。
Avalon Switch Fabric信號直接與具有Avalon三態(tài)從端口的片外異步存儲器相連一般不需要時(shí)鐘信號,而在chipsclest、read或write信號上的脈沖則使用建立和保持時(shí)間與傳輸同步。
PCB板中有片選、讀寫(xiě)使能、高低字節使能、數據線(xiàn)、地址線(xiàn),因此,在SOPC Builder中的Create New Componet中設置SRAM的信號線(xiàn)包括數據線(xiàn)sram_data、地址線(xiàn)sram_addr、片選sram_ce、讀寫(xiě)使能sram_oe、we以及字節使能信號sram_be。通過(guò)閱讀IS61LV25616AL-10TL型高速異步靜態(tài)RAM手冊可知,其建立時(shí)間、保持時(shí)間都為40ns,讀等待和寫(xiě)等待為160ns,這使其既可符合Avalon總線(xiàn)時(shí)序的要求,又符合IS61LN25616AL-10TL型SRAM的時(shí)序要求。圖5所示為SRAM的三態(tài)從接口配置圖,圖6是將緊耦合數據存儲器的數據寫(xiě)入SRAM的時(shí)序波形。

5 結束語(yǔ)
本文通過(guò)將片上和片外存儲器接入SOPC系統,介紹了存儲器型外設接口的定制方法。同時(shí)說(shuō)明了將緊耦合存儲器添加至系統,以及將數據通過(guò)處理器由存儲器讀寫(xiě)到存儲器的設計方法,并在cyclone EP1C120240C8的FPGA上進(jìn)行了結果驗證,因此,用戶(hù)可根據實(shí)際需要采用此方法將外設接入Avalon總線(xiàn),并構建SOPC系統。本文引用地址:http://dyxdggzs.com/article/151914.htm
評論