NIOS II的SOPC中存儲器型外設接口的設計
緊耦合數(shù)據(jù)存儲器中的數(shù)據(jù)可以通過設定數(shù)據(jù)單元大小后在.hex文件中進行初始化。SOPCBuilder編譯成功后,可在Nios II IDE下編寫測試代碼,以便將初始化文件中的數(shù)據(jù)通過指向地址的指針讀出。以下是部分測試代碼:
3 FIFO接口的設計
Altera公司已將FIFO內(nèi)嵌到FPGA中,用戶可以根據(jù)不同的設計需求來使用。FIFO的基本單元是寄存器,作為存儲器件,它的存儲能力可由內(nèi)部定義的存儲寄存器的數(shù)量決定,一般以數(shù)據(jù)量的深度X為寬度形式來說明所采用的基本結構,它通常是雙端口的存儲器,其中一個端口用于寫入數(shù)據(jù),另一個端口用于讀出數(shù)據(jù)。使用時可以同時對存儲器的存儲單元進行寫入和讀出操作,而且FIFO型的存儲器不需要由地址來存取數(shù)據(jù)。它通常需要由另外的信號線(或標志)來標明存儲器的狀態(tài)。
SOPC Builder中沒有相應的FIFO接口控制器,因此需要自己定義FIFO接口??墒紫仍赒uartus II的界面中新建一個.bdf文件,在下拉菜單中選擇MegaWizard Plug-InManager,在打開的選項中從altera提供的庫中找到FIFO,并根據(jù)需要選擇FIFO的深度及寬度,設定好參數(shù)后再添加在.bdf中。然后在Ouartus II工程中打開SOPC Builder,并在Create New Comlaonet打開創(chuàng)建元件向?qū)?,同時在Signals選項卡中添加端口信號。由于需要將緊耦合存儲器中的數(shù)據(jù)寫到FIFO中,因此,F(xiàn)IFO的接口信號有寫使能addr和32位寫數(shù)據(jù)接口writedata等,且時鐘和處理器的時鐘信號相同。FIFO作為外設存儲器設備,其地址對齊方式一般選擇動態(tài)地址對齊。通過實驗驗證FIFO的時序符合要求后,即可將緊耦合數(shù)據(jù)存儲器中的數(shù)據(jù)寫到FIFO。圖3所示是將緊耦合數(shù)據(jù)存儲器中的數(shù)據(jù)寫人FIFO的時序驗證。
4 SRAM的接口設計
本設計中的SRAM采用的是ISSI公司的IS61LV25616AL-10TL型16位高速異步SRAM,它屬于存儲器型外設,因此,地址對齊方式選擇動態(tài)地址對齊。SRAM可通過Avalon三態(tài)從端口與Avalon交換架構相連接。圖4所示是SRAM在系統(tǒng)中的位置示意圖。
Avalon的三態(tài)特性允許基于Avalon的系統(tǒng)直接與片外設備相連接,例如存儲器芯片或一個外部處理器。Avalon三態(tài)從端口允許Avalon SwitchFabric與PCB板上共享的地址和數(shù)據(jù)總線的片外設備進行接口,可用于將Avalon Switch Fabric與同步和異步存儲器芯片的連接。三態(tài)從端口通常使用雙向信號data,而不是獨立的、單向信號readdata和writedata。Data信號是三態(tài)的,因而允許多個三態(tài)外設與數(shù)據(jù)總線相連而不引起信號沖突。Avalon三態(tài)從端口經(jīng)常使用負邏輯信號,符合典型的存儲器芯片的約定。Avalon三態(tài)從端口信號需要注意的是地址信號。Avalon三態(tài)從端口地址信號一般代表一個字節(jié)地址,這與使用字地址的非三態(tài)從端口不同。Avalon三態(tài)從端口的地址信號可被多個片外設備共享,這些設備可能有不同的數(shù)據(jù)寬度。若Avalon三態(tài)從端口的數(shù)據(jù)寬度比一個字節(jié)大,則必須將地址信號從AvalonSwitch Fabric正確映射到從設備的地址線。
Avalon Switch Fabric信號直接與具有Avalon三態(tài)從端口的片外異步存儲器相連一般不需要時鐘信號,而在chipsclest、read或write信號上的脈沖則使用建立和保持時間與傳輸同步。
PCB板中有片選、讀寫使能、高低字節(jié)使能、數(shù)據(jù)線、地址線,因此,在SOPC Builder中的Create New Componet中設置SRAM的信號線包括數(shù)據(jù)線sram_data、地址線sram_addr、片選sram_ce、讀寫使能sram_oe、we以及字節(jié)使能信號sram_be。通過閱讀IS61LV25616AL-10TL型高速異步靜態(tài)RAM手冊可知,其建立時間、保持時間都為40ns,讀等待和寫等待為160ns,這使其既可符合Avalon總線時序的要求,又符合IS61LN25616AL-10TL型SRAM的時序要求。圖5所示為SRAM的三態(tài)從接口配置圖,圖6是將緊耦合數(shù)據(jù)存儲器的數(shù)據(jù)寫入SRAM的時序波形。
5 結束語
本文通過將片上和片外存儲器接入SOPC系統(tǒng),介紹了存儲器型外設接口的定制方法。同時說明了將緊耦合存儲器添加至系統(tǒng),以及將數(shù)據(jù)通過處理器由存儲器讀寫到存儲器的設計方法,并在cyclone EP1C120240C8的FPGA上進行了結果驗證,因此,用戶可根據(jù)實際需要采用此方法將外設接入Avalon總線,并構建SOPC系統(tǒng)。本文引用地址:http://butianyuan.cn/article/151914.htm
評論