日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于NIOS II的SOPC存儲(chǔ)器型外設(shè)接口的設(shè)計(jì)

0  引言

隨著微電子設(shè)計(jì)技術(shù)與工藝的發(fā)展,數(shù)字集成電路由最初的電子管、晶體管逐步發(fā)展成專用集成電路(ASIC,Application Specific IntegratedCircuit),同時(shí)可編程邏輯器件也取得了長(zhǎng)足進(jìn)步。

如今,可完成超大規(guī)模的復(fù)雜組合邏輯與時(shí)序邏輯的FPGA器件不斷推陳出新,從而為實(shí)現(xiàn)片上可編程系統(tǒng)(SOPC)提供了強(qiáng)大的硬件支持。SOPC是Ahera公司提出的一種靈活、高效的片上系統(tǒng)(SOC)解決方案,它將處理器、存儲(chǔ)器、I/O口等系統(tǒng)設(shè)計(jì)所需要的功能模塊集成到一個(gè)可編程器件上,從而構(gòu)成一個(gè)可編程的片上系統(tǒng)。

同時(shí),Altera公司也提供了完整的開發(fā)套件(QuaItus II、SOPC Builder、Nios II IDE)和仿真工具等軟件,并將其無縫地集成在一起。

利用Quartus II的SOPC Builder能夠方便的構(gòu)建一個(gè)基于FPGA的SOPC系統(tǒng),SOPC Builder的系統(tǒng)庫中包含了一些常用的Nios II外圍設(shè)備,可以自動(dòng)生成Avalon總線,以用于連接各個(gè)模塊,從而形成SOPC系統(tǒng)。但系統(tǒng)庫中沒有提供的器件,而需要用戶根據(jù)器件的具體情況設(shè)計(jì)Avalon接口。另外,對(duì)于一些沒有邏輯功能的接口可以直接與總線相連,但需要根據(jù)Avalon總線規(guī)范和外設(shè)的控制時(shí)序來定制接口。

在實(shí)際工程中,通??梢允褂玫拇鎯?chǔ)器有片上存儲(chǔ)器和片外存儲(chǔ)器,其中前者指的是FPGA內(nèi)嵌的存儲(chǔ)器,如片上RAM、FIFO、緊耦合存儲(chǔ)器等;后者為FPGA片外存儲(chǔ)器,如SRAM、SDRAM等。本文介紹了將片內(nèi)存儲(chǔ)器FIFO、緊耦合存儲(chǔ)器及16位的SRAM集成在SOPC系統(tǒng)中,并在FPGA開發(fā)板上實(shí)現(xiàn)的方法,其內(nèi)容包括外設(shè)的接入方法,以及緊耦合存儲(chǔ)器如何通過緊耦合從端口直接與處理器的緊耦合數(shù)據(jù)/指令主端口相連等。

1  SOPC中的Avalon總線

Avalon交換式總線是由Altera公司開發(fā)的一種專用的內(nèi)部連線技術(shù)。Avalon交換式總線由SOPCBuilder自動(dòng)生成,是一種理想的、用于系統(tǒng)處理器和外設(shè)之間的內(nèi)部連線。SOPC Builder可利用最少的FPGA資源,產(chǎn)生最佳的Avalon交換結(jié)構(gòu)。在SOPC Builder中,每當(dāng)一個(gè)新的組件被添加到系統(tǒng)中或是某個(gè)外設(shè)接人優(yōu)先權(quán)被改變時(shí),就會(huì)有一個(gè)新的、最佳的Avalon交換式總線被生成。Avalon交換式總線的整個(gè)生成過程都由SOPCBuilder自動(dòng)完成。SOPC Builder自動(dòng)生成的Avalon交換式總線可使用最少的邏輯資源來支持?jǐn)?shù)據(jù)總線的服用、地址譯碼、等待周期的產(chǎn)生、外設(shè)的地址對(duì)齊(包括支持靜態(tài)和動(dòng)態(tài)地址對(duì)齊)、中斷優(yōu)先級(jí)的指定以及高級(jí)的交換式總線傳輸。Avalon交換式總線所定義的內(nèi)聯(lián)線策略使得任何一個(gè)Avalon總線上的主外設(shè)都可以與任何一個(gè)從外設(shè)進(jìn)行通信。

Avalon總線結(jié)構(gòu)構(gòu)成的基本原則是:所有外設(shè)的接口與Avalon總線的時(shí)鐘同步,并與Avalon總線的握手/應(yīng)答信號(hào)一致;同時(shí)所有信號(hào)均為高電平或低電平,并由多路選擇器完成選擇功能,它沒有三態(tài)信號(hào),地址、數(shù)據(jù)和控制信號(hào)使用分離的專用端口,外設(shè)無需識(shí)別總線地址周期和數(shù)據(jù)總線周期。

1.1 Avalon從端口

Avalon接口定義了一組信號(hào)類型(如片選、讀使能、寫使能、地址、數(shù)據(jù)等),可用于描述主/從外設(shè)上基于地址的讀/寫接口。Avalon端口就是一組Avalon信號(hào),這些信號(hào)用作一個(gè)單一的接口。Avalon端口分為主端口和從端口。主端口為發(fā)起傳輸?shù)腁valon信號(hào)類型的集合。從端口為響應(yīng)傳輸請(qǐng)求的Avalon信號(hào)類型的集合。從端口的基本信號(hào)有address、readdata、writedata、read、write、chipselect等。從端口的讀傳輸可使用等待周期、建立時(shí)間等傳輸屬性,但Avalon從端口讀傳輸不使用保持時(shí)間屬性。對(duì)于有些外設(shè),在read信號(hào)有效之前,其address和chipselect信號(hào)需要一定周期才能達(dá)到穩(wěn)定,因此具有建立時(shí)間的Avalon傳輸應(yīng)滿足上述建立時(shí)間要求。具有建立時(shí)間的讀傳輸使用的信號(hào)與基本讀傳輸?shù)男盘?hào)相同,不同之處只在于信號(hào)的時(shí)序。從端口的寫傳輸除了具有與讀傳輸同樣的傳輸屬性外,還具有保持時(shí)間,其建立保持時(shí)間通常用于需要addtess、byteenable、writedata和chipselect信號(hào)在write脈沖之前和/或之后的幾個(gè)周期內(nèi)保持穩(wěn)定的片外外設(shè)。

1.2 地址對(duì)齊方式

當(dāng)系統(tǒng)中存在數(shù)據(jù)寬度不匹配的主-從端口對(duì)時(shí),需要考慮地址對(duì)齊問題。若系統(tǒng)中所有主端口和從端口都具有同樣的數(shù)據(jù)寬度,則從端口數(shù)據(jù)的所有單元與主端口地址空間的靜態(tài)地址邊界對(duì)齊。對(duì)于存儲(chǔ)器外設(shè),一般應(yīng)使用動(dòng)態(tài)地址對(duì)齊。若Avalon從端口是一個(gè)對(duì)寄存器文件的接口,則應(yīng)使用靜態(tài)地址對(duì)齊。寄存器文件提供有對(duì)內(nèi)部外設(shè)邏輯的訪問功能。

一般情況下,動(dòng)態(tài)地址對(duì)齊方式可以自動(dòng)適應(yīng)和Avalon master端口寬度不同的器件,而同時(shí)保持地址增長(zhǎng)的方式是以字節(jié)為單位增長(zhǎng)的方式。匹配不同端口寬度的mater和slave時(shí),可使用動(dòng)態(tài)地址對(duì)齊方式來得到一個(gè)連續(xù)的存儲(chǔ)器空間。而采用動(dòng)態(tài)地址對(duì)齊方式需要連接字節(jié)使能信號(hào)。

靜態(tài)地址對(duì)齊的地址增長(zhǎng)單位是Avalon master的端口寬度,每次讀寫都只對(duì)應(yīng)一次操作,但在匹配不同端口寬度的mater和slave時(shí),地址不能自動(dòng)調(diào)整。某些地址可能沒有相應(yīng)的物理實(shí)體和它對(duì)應(yīng)。

2 Nios II系統(tǒng)中的緊耦合存儲(chǔ)器

Nios II系統(tǒng)中的緊耦合存儲(chǔ)器是旁路緩存的片上存儲(chǔ)器,該存儲(chǔ)器具有最好的存儲(chǔ)器訪問性能,能采用與其它存儲(chǔ)器一樣的方法為之分配代碼和數(shù)據(jù)。圖1是包括緊耦合存儲(chǔ)器和其他外設(shè)的Nios II系統(tǒng)圖。



SOPC Builder中的片上存儲(chǔ)器是唯一能夠與Nios II內(nèi)核上的緊耦合主端口相連接的存儲(chǔ)器,而且,該片上存儲(chǔ)器必須配置為RAM,同時(shí)處理器上的緊耦合主端口也必須只與一個(gè)片上存儲(chǔ)器從端口相連接。每個(gè)緊耦合主端口都可以通過緊耦合接口與緊耦合從端口進(jìn)行連接,因此,需要雙端口存儲(chǔ)器與緊耦合指令主端口進(jìn)行連接。由于緊耦合指令主端口只能訪問可執(zhí)行代碼,因此,雙端口存儲(chǔ)器的第二個(gè)存儲(chǔ)器端口應(yīng)當(dāng)與處理器的數(shù)據(jù)端口相連,這樣便于對(duì)數(shù)據(jù)的讀/寫操作。

在構(gòu)建SOPC系統(tǒng)時(shí),Nios II處理器需要選中Include tightly coupled instruction master pods以及Include tightly coupled data master pods,這樣就可以添加處理器的緊耦合指令/數(shù)據(jù)主端口。片上存儲(chǔ)器可選擇SOPC Builder提供的onchip_memory,并在緊耦合指令存儲(chǔ)器中設(shè)置其為雙端口。當(dāng)系統(tǒng)中的元件添加完成后,SOPC Builder會(huì)自動(dòng)連接緊耦合指令/數(shù)據(jù)存儲(chǔ)器的從端口和其他主端口,但是,這時(shí)候需要手動(dòng)修改連接關(guān)系。tightly_coupled_instruction_memory的s1端口僅與處理器的緊耦合指令主端口相連接,而s2端口則可以作為一個(gè)Avalon從端口僅與處理器的Avalon數(shù)據(jù)主端口相連接,而tightly_coupled_data_memory的sl端口僅連接到處理器的緊耦合數(shù)據(jù)主端口。Nios II處理器中緊耦合存儲(chǔ)器的配置如圖2所示。

[!--empirenews.page--]
緊耦合數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)可以通過設(shè)定數(shù)據(jù)單元大小后在.hex文件中進(jìn)行初始化。SOPCBuilder編譯成功后,可在Nios II IDE下編寫測(cè)試代碼,以便將初始化文件中的數(shù)據(jù)通過指向地址的指針讀出。以下是部分測(cè)試代碼:

   

3 FIFO接口的設(shè)計(jì)

Altera公司已將FIFO內(nèi)嵌到FPGA中,用戶可以根據(jù)不同的設(shè)計(jì)需求來使用。FIFO的基本單元是寄存器,作為存儲(chǔ)器件,它的存儲(chǔ)能力可由內(nèi)部定義的存儲(chǔ)寄存器的數(shù)量決定,一般以數(shù)據(jù)量的深度X為寬度形式來說明所采用的基本結(jié)構(gòu),它通常是雙端口的存儲(chǔ)器,其中一個(gè)端口用于寫入數(shù)據(jù),另一個(gè)端口用于讀出數(shù)據(jù)。使用時(shí)可以同時(shí)對(duì)存儲(chǔ)器的存儲(chǔ)單元進(jìn)行寫入和讀出操作,而且FIFO型的存儲(chǔ)器不需要由地址來存取數(shù)據(jù)。它通常需要由另外的信號(hào)線(或標(biāo)志)來標(biāo)明存儲(chǔ)器的狀態(tài)。

SOPC Builder中沒有相應(yīng)的FIFO接口控制器,因此需要自己定義FIFO接口??墒紫仍赒uartus II的界面中新建一個(gè).bdf文件,在下拉菜單中選擇MegaWizard Plug-InManager,在打開的選項(xiàng)中從altera提供的庫中找到FIFO,并根據(jù)需要選擇FIFO的深度及寬度,設(shè)定好參數(shù)后再添加在.bdf中。然后在Ouartus II工程中打開SOPC Builder,并在Create New Comlaonet打開創(chuàng)建元件向?qū)В瑫r(shí)在Signals選項(xiàng)卡中添加端口信號(hào)。由于需要將緊耦合存儲(chǔ)器中的數(shù)據(jù)寫到FIFO中,因此,F(xiàn)IFO的接口信號(hào)有寫使能addr和32位寫數(shù)據(jù)接口writedata等,且時(shí)鐘和處理器的時(shí)鐘信號(hào)相同。FIFO作為外設(shè)存儲(chǔ)器設(shè)備,其地址對(duì)齊方式一般選擇動(dòng)態(tài)地址對(duì)齊。通過實(shí)驗(yàn)驗(yàn)證FIFO的時(shí)序符合要求后,即可將緊耦合數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)寫到FIFO。圖3所示是將緊耦合數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)寫人FIFO的時(shí)序驗(yàn)證。



4 SRAM的接口設(shè)計(jì)

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



Avalon的三態(tài)特性允許基于Avalon的系統(tǒng)直接與片外設(shè)備相連接,例如存儲(chǔ)器芯片或一個(gè)外部處理器。Avalon三態(tài)從端口允許Avalon SwitchFabric與PCB板上共享的地址和數(shù)據(jù)總線的片外設(shè)備進(jìn)行接口,可用于將Avalon Switch Fabric與同步和異步存儲(chǔ)器芯片的連接。三態(tài)從端口通常使用雙向信號(hào)data,而不是獨(dú)立的、單向信號(hào)readdata和writedata。Data信號(hào)是三態(tài)的,因而允許多個(gè)三態(tài)外設(shè)與數(shù)據(jù)總線相連而不引起信號(hào)沖突。Avalon三態(tài)從端口經(jīng)常使用負(fù)邏輯信號(hào),符合典型的存儲(chǔ)器芯片的約定。Avalon三態(tài)從端口信號(hào)需要注意的是地址信號(hào)。Avalon三態(tài)從端口地址信號(hào)一般代表一個(gè)字節(jié)地址,這與使用字地址的非三態(tài)從端口不同。Avalon三態(tài)從端口的地址信號(hào)可被多個(gè)片外設(shè)備共享,這些設(shè)備可能有不同的數(shù)據(jù)寬度。若Avalon三態(tài)從端口的數(shù)據(jù)寬度比一個(gè)字節(jié)大,則必須將地址信號(hào)從AvalonSwitch Fabric正確映射到從設(shè)備的地址線。

Avalon Switch Fabric信號(hào)直接與具有Avalon三態(tài)從端口的片外異步存儲(chǔ)器相連一般不需要時(shí)鐘信號(hào),而在chipsclest、read或write信號(hào)上的脈沖則使用建立和保持時(shí)間與傳輸同步。

PCB板中有片選、讀寫使能、高低字節(jié)使能、數(shù)據(jù)線、地址線,因此,在SOPC Builder中的Create New Componet中設(shè)置SRAM的信號(hào)線包括數(shù)據(jù)線sram_data、地址線sram_addr、片選sram_ce、讀寫使能sram_oe、we以及字節(jié)使能信號(hào)sram_be。通過閱讀IS61LV25616AL-10TL型高速異步靜態(tài)RAM手冊(cè)可知,其建立時(shí)間、保持時(shí)間都為40ns,讀等待和寫等待為160ns,這使其既可符合Avalon總線時(shí)序的要求,又符合IS61LN25616AL-10TL型SRAM的時(shí)序要求。圖5所示為SRAM的三態(tài)從接口配置圖,圖6是將緊耦合數(shù)據(jù)存儲(chǔ)器的數(shù)據(jù)寫入SRAM的時(shí)序波形。



5  結(jié)束語

本文通過將片上和片外存儲(chǔ)器接入SOPC系統(tǒng),介紹了存儲(chǔ)器型外設(shè)接口的定制方法。同時(shí)說明了將緊耦合存儲(chǔ)器添加至系統(tǒng),以及將數(shù)據(jù)通過處理器由存儲(chǔ)器讀寫到存儲(chǔ)器的設(shè)計(jì)方法,并在cyclone EP1C120240C8的FPGA上進(jìn)行了結(jié)果驗(yàn)證,因此,用戶可根據(jù)實(shí)際需要采用此方法將外設(shè)接入Avalon總線,并構(gòu)建SOPC系統(tǒng)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

June 24, 2025 ---- 近期市場(chǎng)對(duì)于NVIDIA RTX PRO 6000系列產(chǎn)品的討論聲量高,預(yù)期在需求支撐下,整體出貨將有不俗表現(xiàn)。然而,TrendForce集邦咨詢資深研究副總吳雅婷認(rèn)為,該系列產(chǎn)品受...

關(guān)鍵字: 存儲(chǔ)器 供應(yīng)鏈 邊緣AI

在人工智能訓(xùn)練、實(shí)時(shí)圖形渲染與科學(xué)計(jì)算領(lǐng)域,存儲(chǔ)器帶寬已成為制約系統(tǒng)性能的核心瓶頸。HBM3與GDDR7作為當(dāng)前顯存技術(shù)的兩大巔峰之作,分別通過三維堆疊與信號(hào)調(diào)制技術(shù)的突破,為不同應(yīng)用場(chǎng)景提供了差異化解決方案。本文從架構(gòu)...

關(guān)鍵字: 存儲(chǔ)器 HBM3

傳統(tǒng)存儲(chǔ)器技術(shù)逼近物理極限,鐵電場(chǎng)效應(yīng)晶體管(FeFET)憑借其獨(dú)特的極化翻轉(zhuǎn)機(jī)制與非易失性邏輯特性,成為突破馮·諾依曼架構(gòu)瓶頸的關(guān)鍵技術(shù)。FeFET通過將鐵電材料集成至晶體管柵極,實(shí)現(xiàn)了存儲(chǔ)與邏輯功能的深度融合,其物理...

關(guān)鍵字: FeFET 存儲(chǔ)器

數(shù)字化轉(zhuǎn)型與人工智能技術(shù)驅(qū)動(dòng),數(shù)據(jù)中心存儲(chǔ)架構(gòu)正經(jīng)歷從傳統(tǒng)磁盤陣列向全閃存與新型內(nèi)存技術(shù)的深度變革。全閃存陣列(AFA)憑借亞毫秒級(jí)延遲與高IOPS性能重塑存儲(chǔ)性能基準(zhǔn),而持久化內(nèi)存(PMEM)則通過填補(bǔ)DRAM與SSD...

關(guān)鍵字: 數(shù)據(jù)中心 存儲(chǔ)器

AI算力與數(shù)據(jù)中心規(guī)模持續(xù)擴(kuò)張,存儲(chǔ)器糾錯(cuò)碼(ECC)技術(shù)已成為保障數(shù)據(jù)完整性的核心防線。從硬件加速架構(gòu)到算法優(yōu)化,ECC技術(shù)正通過多維度創(chuàng)新,將內(nèi)存錯(cuò)誤率降低至每萬億小時(shí)1次以下,為關(guān)鍵任務(wù)系統(tǒng)提供接近零故障的可靠性保...

關(guān)鍵字: 存儲(chǔ)器 ECC

存儲(chǔ)器供應(yīng)鏈安全已成為國家戰(zhàn)略的核心命題,從晶圓代工到封裝測(cè)試,中國存儲(chǔ)器產(chǎn)業(yè)正通過關(guān)鍵環(huán)節(jié)的技術(shù)突破與生態(tài)重構(gòu),走出一條從“受制于人”到“自主可控”的替代之路。這條路徑不僅關(guān)乎產(chǎn)業(yè)安全,更承載著數(shù)字經(jīng)濟(jì)時(shí)代的技術(shù)主權(quán)。

關(guān)鍵字: 存儲(chǔ)器 國產(chǎn)化替

AI算力需求爆炸式增長(zhǎng),存儲(chǔ)器封裝技術(shù)正經(jīng)歷從2.5D到3D異構(gòu)集成的范式變革。這種變革不僅重構(gòu)了芯片間的物理連接方式,更對(duì)散熱設(shè)計(jì)與信號(hào)完整性提出了全新挑戰(zhàn)。本文從封裝架構(gòu)演進(jìn)、散熱機(jī)制創(chuàng)新與信號(hào)完整性保障三個(gè)維度,解...

關(guān)鍵字: 存儲(chǔ)器 散熱

數(shù)據(jù)成為核心生產(chǎn)要素的時(shí)代,存儲(chǔ)器安全技術(shù)已成為保障數(shù)字資產(chǎn)隱私與完整性的關(guān)鍵防線。從早期基于硬件的加密引擎到現(xiàn)代可信執(zhí)行環(huán)境(TEE)的生態(tài)構(gòu)建,存儲(chǔ)器安全技術(shù)經(jīng)歷了從單一防護(hù)到體系化協(xié)同的演進(jìn)。本文從硬件加密引擎、存...

關(guān)鍵字: 存儲(chǔ)器 TEE

May 13, 2025 ---- 根據(jù)TrendForce集邦咨詢最新半導(dǎo)體封測(cè)研究報(bào)告,2024年全球封測(cè)(OSAT)市場(chǎng)面臨技術(shù)升級(jí)和產(chǎn)業(yè)重組的雙重挑戰(zhàn)。從營收分析,日月光控股、Amkor(安靠)維持領(lǐng)先地位,值得...

關(guān)鍵字: 自制化 AI 汽車電子 存儲(chǔ)器

像任何行業(yè)幫助開發(fā)可編程邏輯應(yīng)用程序一樣,我們使用標(biāo)準(zhǔn)接口來實(shí)現(xiàn)重用和簡(jiǎn)化設(shè)計(jì)。在FPGA開發(fā)中最流行的接口是Arm可擴(kuò)展接口(AXI),它為開發(fā)人員提供了一個(gè)完整的高性能,如果需要的話,還可以緩存相干存儲(chǔ)器映射總線。

關(guān)鍵字: FPGA ARM 存儲(chǔ)器
關(guān)閉