基于FPGA的雙口RAM與PCI9O52接口設計

發(fā)布時(shí)間:2010-8-19 17:27    發(fā)布者:lavida
關(guān)鍵詞: FPGA , PCI9O52 , RAM
IDT70V28L(雙口RAM)的存取時(shí)間大于20ns,PCI9052工作于25MHz,其存取時(shí)間要大于雙口RAM的存取時(shí)間。PCI9052是發(fā)起交易的主動(dòng)者,相當于一個(gè)慢速器件訪(fǎng)問(wèn)快速器件,通過(guò)可編程器件,可以把PCI9052讀寫(xiě)控制信號直接傳遞給IDT70V28L,完成時(shí)序的匹配。  

為將PCI9052的局部邏輯轉換為雙口RAM的讀寫(xiě)控制信號和地址信號,本設計采用了可編程器件來(lái)實(shí)現它們之間的接口邏輯電路。在可編程器件設計中,狀態(tài)機的設計方法是應用最廣泛的設計方法之一。有限狀態(tài)機是一種簡(jiǎn)單、結構清晰、設計靈活的方法,它易于建立、理解和維護,特別應用在具有大量狀態(tài)轉移和復雜時(shí)序控制的系統中,更顯其優(yōu)勢。鑒于其優(yōu)勢,本設計采用了Verilog HDL描述的狀態(tài)機來(lái)實(shí)現該接口的時(shí)序邏輯,并通過(guò)仿真工具驗證了該設計的正確性。  

1 PCI9052和雙DRAM  

1.1 PCI9052簡(jiǎn)介  

PCI9052是PLX公司繼PCI9050之后開(kāi)發(fā)的低價(jià)位總線(xiàn)目標接口芯片,低功耗,符合PCI2.1規范,它的局部總線(xiàn)(LOCAL BUS)可以通過(guò)可編程設置為8/16/32位的(非)復用總線(xiàn),數據傳輸率可達到132Mb/s。它的主要功能和特性如下:  

(1)異步操作。PCI9052的Local Bus與PCI總線(xiàn)的時(shí)鐘相互獨立運行,兩總線(xiàn)的異步運行方便了高、低速設備的兼容。Local Bus的運行時(shí)鐘頻率范圍為0~40MHz,TTL電平;PCI的運行時(shí)鐘頻率范圍0~33MHz。  

(2)可編程的局部總線(xiàn)配置。PCI9052支持8位、16位或32位Local Bus,它們可以是復用或非復用。PCI9052有4個(gè)字節允許(LBE[3:0]#)信號,26條地址線(xiàn)(LA[27:2]),乖和32位、16位、8位數據線(xiàn)(LAD[3l:0])。  

(3)直接從(目標)數據傳送模式。PCI9052支持從PCI總線(xiàn)到Local Bus的猝發(fā)存儲器映射空間的傳送和I/O訪(fǎng)問(wèn)。讀和寫(xiě)FIFO允許在PCI和局部總線(xiàn)之間的高性能猝發(fā)。PCI總線(xiàn)被允許猝發(fā),這樣Local Bus能被設置成猝發(fā)或持續單周期。  

(4)4個(gè)局部片選。PCI9052提供4個(gè)片選,每個(gè)片選的基地址和范圍被編程成獨立的由SEEPROM或主機。  

(5)5個(gè)局部地址空間。每個(gè)局部地址空間的基地址和范圍被由SEEPROM或主機編程成唯一的。  

1.2 雙口RAM  

IDT70V28是高速64k×16的雙端口靜態(tài)RAM。它能被設計為1024kb的雙端口RAM或者是32位字主從雙端口RAM。該雙口RAM提供兩個(gè)獨立的具有控制、地址和I/O引腳的端口。它的主要特性如下:a.可同時(shí)訪(fǎng)問(wèn)雙端口同一存儲器空間;b.高速存儲訪(fǎng)問(wèn),訪(fǎng)問(wèn)速度可達到20ns;c.低功耗運行;d.同過(guò)將多個(gè)設備級聯(lián),可以方便地將數據線(xiàn)寬擴展到32位或更高;e.具有‘busy’和‘interrupt’旗語(yǔ)。避免訪(fǎng)問(wèn)沖突:f.可以獨立訪(fǎng)問(wèn)端口。  

2 PCI和雙口RAM之間的接口設計  

為了解決PCI9052和雙口RAM之間讀寫(xiě)時(shí)序不匹配的問(wèn)題,采用可編程邏輯器件CYCLONE-II來(lái)實(shí)現它們之間的接口電路,其信號連接關(guān)系如圖1所示。  


  
PCI9052對雙口RAM發(fā)出讀寫(xiě)指令需在FPGA配置完之后,這可以通過(guò)查詢(xún)CONF_DONE(和USERl相連)和INIT_DONE(和USER3相連)來(lái)確定FPGA是否配置完成。如采樣INIT_DONE信號,當其為高,表明FPGA配置完成;如采樣CONF_DONE,當其為高,則PCI9052還需要等待tCD2UM(min=18 μs,max=40 μs)時(shí)間后,才能對雙口RAM進(jìn)行讀寫(xiě)操作雙口RAM使用的是IDT70V28L,它的存取時(shí)間大于20ns。PCI9052采用非復用、單周期讀/寫(xiě)模式,工作于25MHz時(shí)鐘,PCI訪(fǎng)問(wèn)存儲器是以32位位寬,每讀寫(xiě)操作一次在Local Bus上都對應2次16位位寬的操作,為了防止相鄰二次交易的沖突,每次狀態(tài)機都是以檢測ADS信號有效開(kāi)始一次讀寫(xiě)訪(fǎng)問(wèn),且插入一個(gè)NXDA等待周期。具體讀寫(xiě)操作實(shí)現過(guò)程如下。

2.1 PCI9052寫(xiě)過(guò)程  

寫(xiě)過(guò)程是用狀態(tài)機加以描述,該狀態(tài)機有6個(gè)狀態(tài),分別是寫(xiě)空閑、寫(xiě)開(kāi)始、寫(xiě)等待數據、寫(xiě)過(guò)程、寫(xiě)過(guò)程等待和寫(xiě)結束。具體的狀態(tài)轉移圖如圖2所示。  


  
當系統復位后,BTERM、M S被拉高,LHOLD、MODE拉低,寫(xiě)控制信號無(wú)效,狀態(tài)機處于寫(xiě)空閑狀態(tài)。  

當狀態(tài)機處于寫(xiě)空閑狀態(tài)時(shí),在每次上升沿采樣到ADS有效和LW R為高電平,且訪(fǎng)問(wèn)雙口RAM空間(CS0或CSl有效),狀態(tài)機就進(jìn)入寫(xiě)開(kāi)始狀態(tài)。在寫(xiě)開(kāi)始狀態(tài),狀態(tài)機等待未進(jìn)行一定的操作。接著(zhù)是寫(xiě)等待數據狀態(tài),此時(shí)根據片選信號CS0和CSl的值譯出SEML、CEOL、CElL,并輸出有效的地址和控制信號R WL、UBL、LBL到雙口RAM。接著(zhù)是寫(xiě)過(guò)程狀態(tài),為了得到有效的數據,該過(guò)程未對輸入輸出操作。然后是寫(xiě)過(guò)程等待狀態(tài),此時(shí),置LRDY信號有效且輸出有效的數據到雙口RAM。最后是寫(xiě)結束狀態(tài),將片選信號CEOI。、CElL、SEMI。置位無(wú)效,在該過(guò)程的下一個(gè)周期將其余的寫(xiě)控制信號置為無(wú)效,狀態(tài)機恢復為寫(xiě)空閑狀態(tài)。  

2.2 PCI9052讀過(guò)程  

讀過(guò)程也是用狀態(tài)機加以描述,該狀態(tài)機有6個(gè)狀態(tài),分別是讀空閑、讀開(kāi)始、讀等待數據、讀過(guò)程、讀過(guò)程等待和讀結束。其狀態(tài)轉移如圖3所示。  


  
當系統復位后,BTERM、M S被拉高,LHOLD、MODE拉低,讀控制信號無(wú)效,狀態(tài)機處于寫(xiě)空閑狀態(tài)。  

當狀態(tài)機處于讀空閑狀態(tài)時(shí),在每次上升沿采樣到ADS有效和LW R為低電平,且訪(fǎng)問(wèn)雙口RAM空間(CS0或CSl有效),狀態(tài)機轉到讀開(kāi)始狀態(tài)。接著(zhù)是讀等待數據狀態(tài),此時(shí)根據片選信號CS0和CSl的值譯出SEML、CE0L、CElL,并輸出有效的地址和控制信號R WL、UBL、LBL、OEL到雙口RAM。接著(zhù)是讀過(guò)程狀態(tài),為了得到有效的數據,該過(guò)程未對輸入輸出操作。然后是讀過(guò)程等待狀態(tài),此時(shí),置LRDY信號有效且輸出有效的數據到PCI9052。最后是寫(xiě)結束狀態(tài),在該過(guò)程的下一個(gè)周期將讀控制信號置為無(wú)效,狀態(tài)機恢復為讀空閑狀態(tài)。  

3 FPGA仿真實(shí)現  

在Modelsim開(kāi)發(fā)平臺下,實(shí)現了PCI9052讀寫(xiě)雙口RAM的仿真過(guò)程,該仿真波形如圖4所示。從仿真波形可以看出該代碼可以實(shí)現將PCI90-52的讀寫(xiě)控制信號轉換成雙口RAM的讀寫(xiě)控制信號,完成時(shí)序的匹配。  


  
4 結語(yǔ)  

本設計采用了可編程邏輯芯片來(lái)實(shí)現PCI訪(fǎng)問(wèn)雙口RAM的接口電路,該接口電路具有可改性與適用性。隨著(zhù)微電子技術(shù)的發(fā)展,可編程器件的容量已經(jīng)達到千萬(wàn)門(mén)級,越來(lái)越多過(guò)去必須由專(zhuān)用芯片或器件才能完成的工作現在都可以通過(guò)設計軟件由FPGA來(lái)實(shí)現了。硬件的軟件化已經(jīng)成為電子行業(yè)中不可阻擋的趨勢。
本文地址:http://selenalain.com/thread-22537-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页