雙端口RAM芯片主要應用于高速率、高可靠性、對實時性要求高的場合,如實現(xiàn)DSP與PCI總線芯片之間的數(shù)據(jù)交換接口電路等。但普通雙端口RAM最大的缺點是在兩個cpu發(fā)生競爭時。有一方CPu必須等待,因而降低了訪問效率。
IDT公司推出的專用雙端口RAM芯片解決了普通雙端口RAM內部競爭問題,并融合了中斷、旗語、主從功能。它具有存取速度快、功耗低、可完全異步操作、接口電路簡單等優(yōu)點,但缺點也非常明顯,那就是價格太昂貴。
為解決DT專用雙端口RAM芯片的價格過高問題,廣州致遠電子有限公司推出了一種全新的基于Actel PPGA的雙端口RAM的解決方案。該方案采用Actel FPGA實現(xiàn),不僅具有IDT專用雙端口RAM芯片的所有性能特點,更是在價格上得到了很大改善,以A3P060雙端口RAM為例,在相同容量(2K字節(jié))下,其價格僅為IDT專用芯片的六分之一。
1 概述
(1)功能概述
基于Actd FPGA的雙端口RAM解決方案具有兩套獨立的地址線、數(shù)據(jù)線和控制信號線,允許兩個控制器件中的數(shù)據(jù)通過其同連接的存儲器來進行通信。其功能特點有:
·內含仲裁邏輯,可解決同時讀寫同一地址問題;
·具有中斷邏輯,允許通過端口直接進行通信;
·帶有旗語通訊邏輯,允許兩個控制器共享資源;
·采用主、從模式,可方便地擴展RAM數(shù)據(jù)寬度。

(2)系統(tǒng)框圖
圖1展示的是基于Actel FPGA的雙端口RAM解決方案外圍接口與內部結構圖。內部結構朔由RAM模塊、接口模塊、中斷模塊、仲裁模塊和旗語模塊構成,該雙端口RAM解決方案引腳說明如表1所示。
該雙端口RAM功能完善,易于軟件編程和控制,速度也較快,非常適合于雙cPu共享內存。其主要性能如下:
·允許同時讀取同一存儲單元;
·可進行高速訪問,最高頻率可達60MHZ;
·利用M/S模式可級聯(lián)擴展數(shù)據(jù)寬度;
·具有片內端口仲裁邏輯和中斷標志;
·片內硬件支持端口間的旗語通訊;
·各端口完全異步操作;
·與TTL電平兼容,采用3.3V電壓供電。

2 詳細功能介紹
(1)中斷
在一個雙CPu系統(tǒng)中,一般均需要互相通信,這需要雙端口RAM中斷邏輯進行中斷處理。基于Actel PPGA的雙端口RAM解決方案中斷邏輯的最后兩個存儲單元(7FE和7FF)用作兩端口的中斷產生器。圖2展示的是中斷時序示意圖。
(2)仲裁
在雙端口RAM系統(tǒng)中,有時會發(fā)生雙CPU同時訪問同一存儲單元的情況,分兩種情況:第一種情況是一個CPU在讀,而另一個在寫,此時會讀出一個錯誤的數(shù)據(jù);第二種情況是兩個CPU同時寫,此時寫入數(shù)據(jù)為兩端口數(shù)據(jù)之合成。仲裁邏輯電路則專門用于解決此問題,圖3展示的是仲裁邏輯示意圖。
(3)旗語
在雙端口RAM應用中,經常需要暫時指定一塊存儲區(qū)只供一端CPU使用。例如,把一個CPU運算出的一批數(shù)據(jù)結果一次寫人存儲器供另一CPU調用,這種情況稱為塊配置。塊配置應避免地址仲裁問題,因為一個CPU在使用塊配置時,不希望另一個CPu使用這些單元,旗語通訊邏輯提供了一套適于塊配置的功能,圖4展示的是旗語邏輯時序示意圖。

(4)雙端口RAM的擴展
雙端口RAM的擴展分為深度擴展和寬度擴展兩個方面,深度擴展與常規(guī)的RAM擴展一樣,如兩個A3P060雙端口RAM可擴展為4k×8b的雙端口RAM。圖5展示的是寬度擴展的邏輯框圖,兩個A3P060雙端口RAM可擴展為2kx 16b雙端口RAM。
3 市場應用
基于Actel FPGA的雙端口RAM解決方案主要應用于數(shù)據(jù)的存儲,可方便擴展RAM容量。旗語功能可將RAM劃分為多個部分,方便進行存儲塊操作。Actel FPGA雙端口RAM解決方案典型應用如圖6所示。
4 小結
本文主要介紹了基于Actel FPGA雙端口RAM解決方案的擴展功能(中斷、仲裁、旗語等),以后還將推出更多基于Actel FPGA的產品和解決方案,敬請關注周立功公司的網站www.zlgmcu.com以獲得更多的信息。我們有著一個接近30i的FPGA團隊提供強有力的售后服務和技術支持,解決用戶在產品使用和研發(fā)過程中遇到的困難。若有更多的需求可以與我們聯(lián)系,我們將會竭誠為您服務,并能關注下期的FPGA專題技術講座。