新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 利用SOPC Builder解決嵌入式處理器外設設計挑戰(zhàn)

利用SOPC Builder解決嵌入式處理器外設設計挑戰(zhàn)

——
作者: 時間:2006-03-21 來源: 收藏
  新產(chǎn)品開發(fā)成本的不斷提高要求用新方法來采用標準產(chǎn)品以滿足確切的產(chǎn)品需求。本文介紹的SOPC Builder工具充分利用當今CPLD及FPGA的密度、特性及性能來擴展標準處理器的外設,通過實現(xiàn)新型交換網(wǎng)互連,該工具為提高系統(tǒng)性能以及增加系統(tǒng)其他功能創(chuàng)造了機會。 

  隨著新產(chǎn)品開發(fā)成本的不斷提高,新型嵌入式處理器開發(fā)將主要瞄準各種通用解決方案或特定大批量應用。要采用通用解決方案,處理器很可能需要有80%的外設,而特定大批量應用則可能需要采用100%的外設。為能在有些略微不同的應用中采用這些方案,很可能需要有額外的外設。這兩種解決方案都不會用獨特的定制外設來區(qū)分這些產(chǎn)品。FPGA及FPGA開發(fā)工具目前都能提供多種途徑來用這些標準產(chǎn)品迅速、并以很少(或完全不用)硬件描述語言(HDL)設計來滿足外設要求。 

  今天的低成本FPGA及CPLD,如Altera公司的Cyclone及MAX II系列芯片等,都能提供滿足各種外設所需的性能、密度及多輸入/輸出(I/O)標準。利用Altera公司的SOPC(可編程系統(tǒng)級芯片)Builder工具,系統(tǒng)設計工程師無需編寫HDL即能定義并集成外設子系統(tǒng),并能以傳統(tǒng)的系統(tǒng)級芯片(SOC)設計方法在很短的時間內(nèi)做到這一點。 

  嵌入式處理器接口 

  今天的嵌入式處理器一般都配備有簡單或復雜的接口。復雜接口包括PCI、PCI-X、PCI-Express、RapidIO及Hypertransport等,對于簡單的外設擴展而言,這些接口內(nèi)核增加了不必要的復雜性。簡單接口包括由地址、數(shù)據(jù)及控制信號所組成的外部存儲器接口等,這類接口適合簡單外設擴展,并且?guī)缀醪辉黾訌碗s度,這類接口適用于絕大多數(shù)標準產(chǎn)品。在與外設接口時所遇到的最大挑戰(zhàn)是如何處理各類接口標準、不同數(shù)據(jù)通道寬度,以及由外設所引起的每個傳輸總線周期數(shù)變化等。而SOPC Builder工具可有效解決以上問題。 

  包含在Quartus II開發(fā)工具中的SOPC Builder工具提供了一種基于表格的錄入系統(tǒng),該系統(tǒng)可以列出定義系統(tǒng)的處理器及外設。系統(tǒng)組件庫中所列出的每一個SOPC Builder組件,都提供一個以一些表格來描述該組件的文件,以及另一個用來描述接口信號及數(shù)據(jù)傳輸要求的文件。根據(jù)這些信息,SOPC Builder生成一個包含所有譯碼邏輯、仲裁邏輯、中斷控制、等待狀態(tài)控制以及用于連接處理器與外設的數(shù)據(jù)通道匹配邏輯的交換網(wǎng)(switch fabric)。SOPC Builder庫組件可以是非常簡單的模塊子系統(tǒng)。對于定制外設,SOPC Builder提供一個重要的向?qū)韺肷鲜鲈O計文件,并將其映射到SOPC Builder組件中。 

  Avalon規(guī)范 

  SOPC Builder并不強制要求所有外設類型都滿足同樣的總線標準,而是根據(jù)Avalon規(guī)范來創(chuàng)建一個交換網(wǎng),并針對特定系統(tǒng)中所采用的外設進行優(yōu)化。Avalon規(guī)范可從Altera網(wǎng)站上免費下載,是專為適應SOPC環(huán)境中的外設開發(fā)而設計的。該規(guī)范為外設設計工程師提供了一個用來描述Avalon主器件(如微處理器等)和從器件(存儲器、UART及定時器等)內(nèi)基于地址的讀/寫端口的基礎。該規(guī)范將傳輸描述為發(fā)生在外設與交換網(wǎng)之間的互連,此互連策略可以使任何Avalon主器件與任何Avalon從器件動態(tài)連接。  

  SOPC Builder工具可實現(xiàn)這種交換網(wǎng)互連策略。在實施該策略的過程中,生成適當邏輯以連接各種器件的任務從設計工程師轉(zhuǎn)移到了開發(fā)工具。因此,該方法使得設計工程師能將精力集中在優(yōu)化外設及其應用上,并能大大減少解決集成問題的時間。 

  外部存儲器接口與Avalon接口 

  通過處理器上的各種外部存儲器接口,Avalon接口所具有的靈活性使其非常適合于將標準處理器與FPGA內(nèi)、或經(jīng)過FPGA的外設相連,Avalon接口還支持高有效或低有效控制信號邏輯電平,支持地址和數(shù)據(jù)通道高達128位的主器件。在FPGA內(nèi)部,讀/寫數(shù)據(jù)通道是分離的非三態(tài)高性能數(shù)據(jù)通道。 

  對于大多數(shù)處理器接口而言,只需通過將處理器信號類型與Avalon對等信號類型匹配,外部存儲器接口即可以簡單連線形式與FPGA及Avalon交換網(wǎng)連接。接口上所要求的邏輯僅為用來將處理器的雙向數(shù)據(jù)總線轉(zhuǎn)換為Avalon所采用的單獨讀/寫數(shù)據(jù)通道的控制邏輯,并且可以少至一個邏輯單元。FPGA I/O元件很容易支持高達133MHz的數(shù)據(jù)速率,高于絕大多數(shù)處理器外部存儲器接口的數(shù)據(jù)速率。 

  對于FPGA邏輯而言,由SOPC Builder生成的Avalon交換網(wǎng)可以最低的邏輯電平來提供最佳的譯碼邏輯。FPGA邏輯的性能取決于FPGA的系列、外設器件類型以及與Avalon交換網(wǎng)相連的外設數(shù)量,今天的FPGA高性能很容易實現(xiàn)外設子系統(tǒng)。 

  可變等待時間I/O接口 

  Intel PXA2xx芯片上的可變等待時間接口(VLIO)可直接映射到Avalon信號類型(圖1)。VLIO允許與FPGA相連的外設采用像SRAM存取允許外設通過使用RDY信號來插入等待周期一樣的方式工作。RDY信號的產(chǎn)生可由SOPC Builder及Avalon交換網(wǎng)來自動處理,而控制信號nPWE和nOE則可直接映射到Avalon write_n及read_n信號類型上。同樣,地址(MA[25:0])映射到地址([n:2])上。nOE也與CS(片選)信號一起用來使寫處理中的讀操作能控制方向數(shù)據(jù)(MD[31:0]) 映射到Avalon讀/寫數(shù)據(jù)通道上。如果需要支持尋址單個字節(jié),則可將DQM[3:0]信號映射到支持Avalon字節(jié)的信號上。圖2顯示接口的簡單Verilog描述,其中不包括端口及信號聲明。 

  對于工程師的定制外設,硬件設計團隊可以獨立于所選處理器來設計這些專用器件。SOPC Builder通過其“接口至用戶邏輯向?qū)А蓖耆С钟脩糇远x組件,該向?qū)胗脩舻脑O計文件來讀取端口列表。用戶只需將模塊信號名映射到對等的Avalon信號類型上。完成映射后,設計工程師即可選擇時序頁(timing page)來定義時鐘數(shù)或任何設置、讀/寫處理所需保持時間的數(shù)值。通過這些信息,SOPC Builder可創(chuàng)建一個適當?shù)慕粨Q網(wǎng)來使任何主外設與該定制外設交換數(shù)據(jù)。將該組件發(fā)布到組件庫中,不需要對外設進行任何改動,該組件就可以在同一系統(tǒng)或其他新系統(tǒng)中再次使用。 

  簡化多主處理器設計 

  SOPC Builder方法也使得通過增加軟件內(nèi)核處理器(如Nios II處理器等)來卸載主處理器,或通過增加DMA控制器來在FPGA內(nèi)移動數(shù)據(jù)變得更加簡單。SOPC Builder為設計工程師提供一張顯示系統(tǒng)內(nèi)所有處理器、外設以及哪些處理器訪問哪些外設的表格。外設共享控制簡單得只需輕按按鈕。當需要進行調(diào)整時,設計工程師只需重新訪問該表格,進行相應的改變,然后再按一下按鈕,即可生成一個新的解決方案。 

  嵌入式應用軟件 

  集成完組件后,即可進行軟件開發(fā)。許多SOPC Builder組件都含有用來訓練外設的軟件驅(qū)動器及采樣應用程序。SOPC Builder將這些軟件復制到目錄中以便使用。SOPC Builder還為提供有存儲器映射及寄存器聲明的系統(tǒng)中的每一個處理器生成一個標準的C頭文件。SOPC Builder每生成一個系統(tǒng),這些文件都被更新一次,并能自動地將最新參數(shù)以及每個新硬件映像聲明遞交給軟件開發(fā)團隊,通過保持軟硬件的一致性來加速系統(tǒng)開發(fā)。 



評論


技術專區(qū)

關閉