色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NIOS II的SOPC存儲器型外設(shè)接口的設(shè)計(jì)

          基于NIOS II的SOPC存儲器型外設(shè)接口的設(shè)計(jì)

          作者: 時(shí)間:2012-02-19 來源:網(wǎng)絡(luò) 收藏

          0 引言

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

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

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

          利用Quartus 的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ù)器件的具體情況Avalon。另外,對于一些沒有邏輯功能的可以直接與總線相連,但需要根據(jù)Avalon總線規(guī)范和的控制時(shí)序來定制

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

          1 SOPC中的Avalon總線

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

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

          1.1 Avalon從端口

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

          1.2 地址對齊方式

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

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

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

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

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



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

          在構(gòu)建SOPC系統(tǒng)時(shí),Nios II處理器需要選中Include tightly coupled instruction master pods以及Include tightly coupled data master pods,這樣就可以添加處理器的緊耦合指令/數(shù)據(jù)主端口。片上存儲器可選擇SOPC Builder提供的onchip_memory,并在緊耦合指令存儲器中設(shè)置其為雙端口。當(dāng)系統(tǒng)中的元件添加完成后,SOPC Builder會自動(dòng)連接緊耦合指令/數(shù)據(jù)存儲器的從端口和其他主端口,但是,這時(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處理器中緊耦合存儲器的配置如圖2所示。


          上一頁 1 2 下一頁

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉