基于FPGA的雙口RAM與PCI9O52接口設(shè)計(jì)
摘要:為了解決PCI9052和雙口RAM之間讀寫時序不匹配的問題,本設(shè)計(jì)采用可編程器件來實(shí)現(xiàn)它們之間的接口電路。此電路可以使系統(tǒng)更加緊湊。核心邏輯部分采用有限狀態(tài)機(jī)實(shí)現(xiàn),使控制邏輯直觀簡單,提高了設(shè)計(jì)效率。
通過仿真工具M(jìn)odelSim Se對該接口電路進(jìn)行了驗(yàn)證,得出的仿真波形符合要求。
關(guān)鍵詞:PCI9052;雙口RAM;FPGA;狀態(tài)機(jī)
O 引言
IDT70V28L(雙口RAM)的存取時間大于20ns,PCI9052工作于25MHz,其存取時間要大于雙口RAM的存取時間。PCI9052是發(fā)起交易的主動者,相當(dāng)于一個慢速器件訪問快速器件,通過可編程器件,可以把PCI9052讀寫控制信號直接傳遞給IDT70V28L,完成時序的匹配。
為將PCI9052的局部邏輯轉(zhuǎn)換為雙口RAM的讀寫控制信號和地址信號,本設(shè)計(jì)采用了可編程器件來實(shí)現(xiàn)它們之間的接口邏輯電路。在可編程器件設(shè)計(jì)中,狀態(tài)機(jī)的設(shè)計(jì)方法是應(yīng)用最廣泛的設(shè)計(jì)方法之一。有限狀態(tài)機(jī)是一種簡單、結(jié)構(gòu)清晰、設(shè)計(jì)靈活的方法,它易于建立、理解和維護(hù),特別應(yīng)用在具有大量狀態(tài)轉(zhuǎn)移和復(fù)雜時序控制的系統(tǒng)中,更顯其優(yōu)勢。鑒于其優(yōu)勢,本設(shè)計(jì)采用了Verilog HDL描述的狀態(tài)機(jī)來實(shí)現(xiàn)該接口的時序邏輯,并通過仿真工具驗(yàn)證了該設(shè)計(jì)的正確性。
1 PCI9052和雙DRAM
1.1 PCI9052簡介
PCI9052是PLX公司繼PCI9050之后開發(fā)的低價位總線目標(biāo)接口芯片,低功耗,符合PCI2.1規(guī)范,它的局部總線(LOCAL BUS)可以通過可編程設(shè)置為8/16/32位的(非)復(fù)用總線,數(shù)據(jù)傳輸率可達(dá)到132Mb/s。它的主要功能和特性如下:
(1)異步操作。PCI9052的Local Bus與PCI總線的時鐘相互獨(dú)立運(yùn)行,兩總線的異步運(yùn)行方便了高、低速設(shè)備的兼容。Local Bus的運(yùn)行時鐘頻率范圍為0~40MHz,TTL電平;PCI的運(yùn)行時鐘頻率范圍0~33MHz。
(2)可編程的局部總線配置。PCI9052支持8位、16位或32位Local Bus,它們可以是復(fù)用或非復(fù)用。PCI9052有4個字節(jié)允許(LBE[3:0]#)信號,26條地址線(LA[27:2]),乖和32位、16位、8位數(shù)據(jù)線(LAD[3l:0])。
(3)直接從(目標(biāo))數(shù)據(jù)傳送模式。PCI9052支持從PCI總線到Local Bus的猝發(fā)存儲器映射空間的傳送和I/O訪問。讀和寫FIFO允許在PCI和局部總線之間的高性能猝發(fā)。PCI總線被允許猝發(fā),這樣Local Bus能被設(shè)置成猝發(fā)或持續(xù)單周期。
(4)4個局部片選。PCI9052提供4個片選,每個片選的基地址和范圍被編程成獨(dú)立的由SEEPROM或主機(jī)。
(5)5個局部地址空間。每個局部地址空間的基地址和范圍被由SEEPROM或主機(jī)編程成唯一的。
1.2 雙口RAM
IDT70V28是高速64k×16的雙端口靜態(tài)RAM。它能被設(shè)計(jì)為1024kb的雙端口RAM或者是32位字主從雙端口RAM。該雙口RAM提供兩個獨(dú)立的具有控制、地址和I/O引腳的端口。它的主要特性如下:a.可同時訪問雙端口同一存儲器空間;b.高速存儲訪問,訪問速度可達(dá)到20ns;c.低功耗運(yùn)行;d.同過將多個設(shè)備級聯(lián),可以方便地將數(shù)據(jù)線寬擴(kuò)展到32位或更高;e.具有‘busy’和‘interrupt’旗語。避免訪問沖突:f.可以獨(dú)立訪問端口。
評論