《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > 基于FPGA與SRAM的大容量數據存儲的設計
基于FPGA與SRAM的大容量數據存儲的設計
電子發燒友
摘要: 1 前言 針對FPGA中內部BlockRAM有限的缺點,提出了將FPGA與外部SRAM相結合來改進設計的方法,并給出了部分VHDL程序。  2 硬件設計  這里將主要討論以Xilinx公司的FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)為主要器件來完成大容量數據存儲的設計思路。  FPGA即現場可編程門陣列,其結構與傳統的門陣列相似,大量的可編程邏輯塊( CLB , Configurable Logic Block ) 在芯片中央按矩陣排列,芯片四周為可編程輸入/輸出塊( IOB , Input / Output Block),CLB行列之間及CLB和IOB之間具有可編程的互連資源(ICR,InterConnectResource)。CLB、IOB和ICR都由分布在芯片中的SRAM靜態存儲單元控制,SRAM中的數據決定FPGA的功能,這些數據可以在系統加電時自動或由命令控制從外部存儲器裝入。  在進行數據存儲時,可直接將數據寫入FPGA內部的BlockRAM中,在一定程度上減少了FPGA的資源分配。但FPGA內部自帶的RAM塊畢竟是有限的,當需進行大容量數據存
Abstract:
Key words :

 1 前言

 針對FPGA中內部BlockRAM有限的缺點,提出了將FPGA與外部SRAM相結合來改進設計的方法,并給出了部分VHDL程序。

  2 硬件設計

  這里將主要討論以Xilinx公司的FPGA(XC2S600E-6fg456)和ISSI公司的SRAM(IS61LV25616AL)為主要器件來完成大容量數據存儲的設計思路。

  FPGA即現場可編程門陣列,其結構與傳統的門陣列相似,大量的可編程邏輯塊( CLB , Configurable Logic Block ) 在芯片中央按矩陣排列,芯片四周為可編程輸入/輸出塊( IOB , Input / Output Block),CLB行列之間及CLB和IOB之間具有可編程的互連資源(ICR,InterConnectResource)。CLB、IOB和ICR都由分布在芯片中的SRAM靜態存儲單元控制,SRAM中的數據決定FPGA的功能,這些數據可以在系統加電時自動或由命令控制從外部存儲器裝入。

  在進行數據存儲時,可直接將數據寫入FPGA內部的BlockRAM中,在一定程度上減少了FPGA的資源分配。但FPGA內部自帶的RAM塊畢竟是有限的,當需進行大容量數據存儲時這有限的RAM塊是遠遠不能滿足系統設計要求的。此時,就需要將FPGA與外部RAM相結合完成大容量數據存儲。具體硬件電路如圖一所示:

  

 

  3 IS61LV25616AL功能簡介

  IS61LV25616AL是IntegratedSiliconSolution公司(ISSI)的一款容量為256K×16的且引腳功能完全兼容的4Mb的異步SRAM,可為Xilinx公司的Spartan-2E系列FPGA提供高性能、高消費比的外圍存儲。除了256K×16異步SRAM外,ISSI還提供128K×16、512K×16、256K×8、512K×8和1M×8的異步SRAM。 IS61LV25616AL引腳結構框圖如圖二所示:

  

 

  3.1 主要特征

  (1)工作電壓:3.3伏;

  (2)訪問時間:10ns、12ns;

  (3)芯片容量:256K×16;

  (4)封裝形式:44引腳TSOPII封裝,也有48引腳mBGA和44引腳SOJ封裝;

  (5)采用0.18μm技術制造。

  3.2 引腳功能

  (1)A0~A17:18位的地址輸入線;

  (2)IO0~IO15:16位的三態數據輸入輸出線;

  (3)寫控制線;

  (4)片選信號;

  (5)輸出使能信號;

  (6)低字節、高字節使能信號;

  (3)~(6)的控制線均為低電平有效。

  3.3 控制邏輯電路設計

  如圖三所示,控制邏輯由FPGA來實現。主要包括讀地址產生器、寫地址產生器、讀寫時鐘信號產生器及讀寫控制等幾部分。下面分別加以講述。

  

 

  (1)寫地址產生器:由于設計時采用256K×16的SRAM,故有18位地址,寫地址產生器用18位計數器實現。靠外部時鐘驅動,每進行一次寫操作后,讀寫控制單元產生計數脈沖,使其增1,直到18位計數器計滿再循環寫入地址為0的空間。

  (2)讀地址產生器同上,也采用18位計數器實現,根據系統要求,每隔一定的采樣周期將讀地址指針偏移一定偏移量,并從該位置讀取數據。

  (3)讀寫地址選擇器由于讀寫地址復用管腳,因此在讀寫操作時,必須選通相應的地址。這就需要由FPGA控制芯片上的等控制信號來對SRAM進行讀寫的操作。

  (4)此外,由于讀寫之間的切換,數據線上的數據在切換瞬間如不加處理會出現混亂現象。因此,為避免讀、寫操作發生沖突,數據線呈三種狀態,讀數據、寫數據及高阻態。在從寫到讀的過程中需給數據線上送高阻態。

  (5)當需要對SRAM進行寫操作時,由FPGA控制產生寫地址選通信號,該選通信號為一單脈沖形式,如圖四中該脈沖下降沿觸發SRAM,告知開始對RAM進行寫操作,使FPGA輸出寫地址,同時給數據線上送數據。在寫操作期間,片選信號始終保持低電平,而寫地址選通信號上升沿到來時使寫地址計數器增1。以此類推,通過寫地址選通信號高低電平變化完成對數據依次寫入。需要注意的是,地址線和數據線在為高時可同時賦新值,但只有在變低后賦予數據線上的新值才有效。

  

 

  對SRAM進行讀操作相對較簡單,在進行讀操作期間,始終為低電平,始終為高電平。每進行一次讀操作,地址按系統要求變化一次。同時注意,地址的變化時刻總要先于數據的變化時刻。圖五為RAM讀操作時序。

  

 

  以下是一段用VHDL語言描述的控制RAM的讀寫操作時序的程序代碼:

  

 

  程序中,在進行讀寫操作時,片選使能信號CE_SRAM及輸出使能信號OE_SRAM始終為低電平。

  第0時刻到第2時刻在進行寫操作:第0時刻地址線addr_SRAM和數據線data_SRAM同時賦新值,控制線WE_SRAM、LB_SRAM、UB_SRAM要經歷一個窄脈沖的變化過程,RAM在獲取到此控制線下降沿信息后,便知開始進行寫操作。需要注意的是,雖然數據在第0時刻已賦到數據線上,但因為寫操作是控制線低電平有效,所以數據線上真正發生數據更新是在控制線變為低電平之后,因此,數據線上的實際更新時刻是在第2個時刻。

  第3、4狀態是進行讀操作:在讀寫轉換時刻,也就是在第3時刻如前所述需給數據線上送高阻態。這樣,讀取數據的時序關系由系統時鐘進行控制,在第3時刻給地址線上送要讀取的地址,第4時刻將數據端口上的數據送出。這里需注意的是,讀取數據要比讀取地址晚一個時刻。從而,完成了對外部RAM的讀寫操作控制。

  4結論

  該系統已應用在羅蘭—C導航接收機的信號處理中。實驗證明,此設計可靠穩定地完成了大容量高速異步數據存儲,進一步提高了系統的性能。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 黄色a级片在线观看| 中文人妻熟妇乱又伦精品| 2021国产麻豆剧果冻传媒入口| 日本无吗免费一二区| 人体大胆做受大胆视频一| 青青草国产三级精品三级| 成年人性生活片| 亚洲国产欧洲综合997久久| 7777精品久久久大香线蕉| 成年大片免费视频| 亚洲二区在线视频| 男人扒开女人下面狂躁动漫版| 国产人妖另类在线二区| 一本久久精品一区二区| 极品丝袜乱系列集合大全目录| 偷炮少妇宾馆半推半就激情| 荫蒂添的好舒服视频囗交| 国产精品免费_区二区三区观看| www.狠狠干| 欧美jizz18性欧美| 伊人久久精品一区二区三区| 草莓在线观看视频| 国产白嫩美女在线观看| 99热精品在线免费观看| 校花小雪和门卫老头阅读合集| 免费人妻精品一区二区三区| 色综合蜜桃视频在线观看| 国产欧美日韩视频在线观看一区二区 | 波多野结衣之cesd819| 国产精品99re| chinese真实露脸hotmilf| 最近最新中文字幕6页| 亚洲视频免费在线观看| 精品视频无码一区二区三区| 国产午夜福利在线观看视频| juliaann大战七个黑人| 朱竹清被吸乳羞羞漫画| 亚洲精品无码专区在线| 精品久久欧美熟妇WWW| 国产三级小视频| 91福利免费体验区观看区|