国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于FPGA技術的存儲器設計及其應用

發布時間:2010-7-29 11:21    發布者:lavida
關鍵詞: FPGA , 存儲器
復雜可編程邏輯器件—FPGA技術在近幾年的電子設計中應用越來越廣泛。FPGA具有的硬件邏輯可編程性、大容量、高速、內嵌存儲陣列等特點使其特別適合于高速數據采集、復雜控制邏輯、精確時序邏輯等場合的應用。而應用FPGA中的存儲功能目前還是一個較新的技術。本文將介紹在FPGA中構造存儲器的方法,特別是結合高速數據采集的特點重點描述雙端口RAM的構造方法及其應用。  

在FPGA中構造存儲器  

許多系列的FPGA芯片內嵌了存儲陣列,如ALTERA EPlK50芯片內嵌了5K字節的存儲陣列。因此,在FPGA中實現各種存儲器,如單/雙端口RAM、單/雙端口ROM、先進先出存儲器FIFO等非常方便,而且具有諸多優點。其硬件可編程的特點允許開發人員靈活設定存儲器數據的寬度、存儲器的大小、讀寫控制邏輯等,尤其適用于各種特殊存儲要求的場合。FPGA/FPGA器件可工作于百兆頻率以上,其構造的存儲器存取速度也可達百兆次/秒以上,這樣構成的高速存儲器能夠勝任存儲數據量不太大,但速度要求很高的工作場合。  

FPGA中構造存儲器主要有兩種方法實現。一是通過硬件描述語言如VHDL、AHDL、Verilog HDL等編程實現。二是調用MAX+PLUSⅡ自帶的庫函數實現。調用庫函數方法構造存儲器較硬件描述語言輸入方式更為方便、靈活、快捷和可靠,故也更常用之。  

利用庫函數構造雙端口RAM  

在MAX+PLUSⅡ中有幾個功能單元描述庫。prim邏輯元庫,包括基本邏輯單元電路,如與、或、非門,觸發器、輸入、輸出引腳等;mf宏功能庫,包括TTL數字邏輯單元如74系列芯片;而下文將要詳細介紹的參數化雙端口RAM模塊所在的參數化模塊庫(mega-lpm)中,包括各種參數化運算模塊(加、減、乘、除)、參數化存儲模塊(單、雙端口RAM、ROM、FIFO等)以及參數化計數器、比較器模塊等等。庫中的這些元件功能邏輯描述經過了優化驗證,是數字電路設計中的極好選擇。   

mega-lpm庫中共有五種參數化雙端口RAM模塊:ALTDPRAM、LPM_RAM_DP、CSDPRAM、LPM_RAM_DQ和LPM_RAM_IO。其中ALTDPRAM和LPM_RAM_DP模塊讀寫有兩套總線,讀和寫有各自的時鐘線、地址總線、數據總線和使能端,可同時進行讀寫操作。除此之外,ALTDPRAM模塊還有一個全局清零端口。CSDPRAM模塊則有a、b兩組寫端時鐘線、地址總線、數據總線和使能端,可同時對RAM進行寫操作,但對RAM讀、寫只能分時進行。LPM_RAM_DQ模塊相對簡單,讀與寫共用一組地址總線,有各自的數據線和時鐘線。LPM_RAM_IO模塊只有一組地址總線和數據總線。  

mega-1pm函數庫中的雙端口RAM模塊全是參數化調用,這為設計帶來極大的方便。通過對各種參數的取舍、參數設置和組合,再結合讀寫控制邏輯就可以構造出設計需要的存儲器模塊。雙端口RAM常見的應用模式主要有以下兩種:  

1.存儲器映像方式。該方式可以隨意對存儲器的任何單元進行讀寫操作。其主要應用于多CPU的共享數據存儲、數據傳送等。該方式中,讀、寫控制線、地址總線和數據總線有兩套。根據兩端口之間數據的傳送方向為單向或雙向,又有單向數據總線和雙向數據總線之分。  
2.順序寫方式。該方式對RAM的寫操作只能順序寫入。這種情況適用于對象特性與時間緊密相關或傳送數據與順序密切相關的場合,如文件傳送、時序過程、波形分析等。根據寫控制邏輯的不同,可對RAM進行循環寫入或一次寫入方式。該方式下的讀操作可以是存儲器映像讀或順序讀,前一種有較大的靈活性,而后一種則類似于FIFO形式。  

在讀、寫使用獨立的地址總線和數據總線時,可以同時對RAM不同單元進行讀寫操作。根據不同控制邏輯的要求,對讀寫時鐘、時鐘使能端口可以適時設置,以滿足控制需要。  

下面以LPM_RAM_DP模塊為例介紹庫函數法構造雙端口RAM的步驟。  

首先在MAX+PLUSⅡ中建立一個圖形編輯文件。雙擊文件任意空白處彈出庫函數選擇窗口。然后從mega-lpm庫中選擇LPM_RAM_DP模塊。  

在LPM_RAM_DP模塊中共有9個可配置參數:  

LPM_FILE——指定存儲器的初始化數據文件;  
LPM_INDATA——選擇輸入數據采用寄存方式還是非寄存方式;  
LPM_NUMWORDS——設置存儲器的深度(大小);  
LPM_OUTDATA——選擇輸出數據采用寄存方式還是非寄存方式;  
LPM_RDADDRESS_CONTROL——決定讀地址控制信號是寄存方式還是非寄存方式;  
LPM_WIDTH——設置存儲數據寬度;  
LPM_WIDTHAD——設置地址總線寬度;  
LPM_WRADDRESS_CONTROL——選擇寫地址控制信號是寄存方式還是非寄存方式;  
USE_EAB——決定是否使用嵌入式陣列塊。  

雙擊雙端口RAM參數列表可彈出引腳/參數設置窗口。在引腳/參數設置窗口可以具體對雙端口RAM進行引腳、參數設置。可以根據具體的對存儲器的功能要求,決定各種口線的使用與否。例如不想使用rdclken(讀時鐘使能)信號,則可以將其Status設置為Unused即可。同時還可以通過Inversion項設定該信號的初始狀態(初始值)。在窗口的Parameters參數設置處,選擇不同的參數項后,通過ParameterValue項可以改變或設置其相應的狀態或數值。如想設置存儲數據為8位寬度,則選擇LPM_WIDTH項,然后將Parameter Value設置為8。  

例如要設計一個11位寬數據,512個存儲單元,使用讀寫同步時鐘、不需要讀寫使能端及時鐘使能端的雙端口RAM。則可以打開引腳/參數設置窗口,設置LPM_NUMWORDS為512,LPM_WIDTH為11,LPM_WIDTHAD為9,LPM_INDATA、LPM_OUTDATA、LPM_RDADDRESS_CONTROL和LPM_WRADDRESS_CONTROL為寄存方式,使用嵌入式陣列;rdaddress、rdclock、data、wraddress、wrclock、q為Used,rden、rdclken、wren、wrclken為Unused。  

其它存儲器的構造方法  

不同的存儲器根據各自特點,應用場合也不盡相同。ROM存儲器主要用來存儲“常量”,如系統參數、波形發生器的信源等。先進先出FIFO存儲器可用于信號的實時不間斷采集,存儲、緩沖兩個異步時鐘之間的數據傳輸等。  

ROM、FIFO等存儲器的調用庫函數構造方法與雙端口RAM的構造方法類似,在mega-lpm庫中調用相應的模塊單元即可。其中ROM存儲器在庫中是LPM_ROM模塊,FIFO存儲器在庫中有CSFIFO、DCFIFO、LPM_FIFO、LPM__FIFO_DC、SCFIFO、SFIFO共六種。需要說明的是由于ROM在實際系統運行時的不可寫入性,在ROM構造過程中要對ROM存儲器進行數據初始化。這一操作是通過設置PLM_FILE項完成的。在引腳/參數設置窗口的Parameters參數設置處選擇該項,再通過ParameterValue項確定相應的數據初始化文件(*.mif)即可。下面是VHDL格式的ROM數據初始化文件(文件可用任何文本編輯器實現):  





雙端口RAM在高速數據采集中的應用
  

利用傳統方法設計的高速數據采集系統由于集成度低、電路復雜,高速運行電路干擾大,電路可靠性低,難以滿足高速數據采集工作的要求。應用FPGA可以把數據采集電路中的數據緩存、控制時序邏輯、地址譯碼、總線接口等電路全部集成進一片芯片中,高集成性增強了系統的穩定性,為高速數據采集提供了理想的解決方案。下面以一個高速數據采集系統為例介紹雙端口RAM的應用。  

該系統要求實現對頻率為5MHz的信號進行采樣,系統的計算處理需要對信號進行波形分析,信號采樣時間為25μs。根據設計要求,為保證采樣波形不失真,A/D采樣頻率用80MHz,采樣精度為8位數據寬度。計算得出存儲容量需要2K字節。  

根據設計要求,雙端口RAM的LPM_WIDTH參數設置為8,LPM_WIDTHAD參數設置為11(211=2048),使用讀寫使能端及讀寫時鐘。ADCLK、WRCLK和地址發生器的計數頻率為80MHz。  

A/D轉換值對雙端口RAM的寫時序為順序寫方式,每完成一次A/D轉換,存儲一次數據,地址加1指向下一單元,因此寫地址發生器(RAM_CONTROL)采用遞增計數器實現,計數頻率與ADCLK、WRCLK一致以保證數據寫入時序的正確性。寫操作時序由地址和時鐘發生器、A/D轉換時鐘和雙端口RAM的寫時鐘產生。停止采樣時AD_STOP有效,寫地址發生器停止計數,同時停止對RAM的寫操作。將地址發生器的計數值接至DSP總線可以獲取采樣的首尾指針。地址發生器單元一般用(VHDL)語言編程實現,然后生成符號文件RAM_CONTROL在上層文件調用。其部分VHDL語言程序如下:  



對雙端口RAM的讀操作采用存儲器映像方式,其讀出端口接DSP的外擴RAM總線,DSP可隨機讀取雙端口RAM的任一單元數據,以方便波形分析。 由于LPM_RAM_DP模塊的讀端數據總線q不具有三態特性,因此調用三態緩沖器74244,通過其將輸出數據連接到DSP數據總線上。  

在高速數據采集電路中,數據緩存也可以用FIFO或單端口RAM實現。用FIFO進行數據緩存,由于其已經把地址發生部分集成在模塊單元內,因此省去了一部分程序編寫,但是DSP卻不能任意地訪問FIFO的存儲單元,只能是順序寫入/讀出數據,這樣設計,系統的靈活性就大大降低。如果DSP的分析計算需要特定單元的數據,則系統的效率和速度會因為無效數據的讀取而降低。使用單端口RAM進行數據緩存同樣存在一些問題。由RAM側看,DSP和A/D轉換器是掛在一條總線上的,當從RAM向DSP傳輸數據的時候,A/D轉換器就不能有數據傳到該總線上,否則會產生總線沖突,引起芯片損壞。解決這個問題就需要增加電路。應用雙端口RAM就不存在這個問題,而且使系統結構劃分更明確,符合模塊化設計思想。  

結語  

綜上所述,利用FPGA芯片的高速工作特性,以及其內部集成嵌入式陣列和大規模邏輯陣列的特點,設計存儲器,三態緩存器、地址發生器、以及復雜的時序邏輯電路等,應用于高速數據采集電路中可以使電路大大簡化,性能提高。同時由于FPGA可實現在系統編程(ISP),使系統具有可在線更新、升級容易等特點,是一種較為理想的系統及電路實現方法。
本文地址:http://m.qingdxww.cn/thread-17733-1-1.html     【打印本頁】

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

廠商推薦

  • Microchip視頻專區
  • 無線充電基礎知識及應用培訓教程3
  • 想要避免發生災難,就用MPLAB® SiC電源仿真器!
  • 無線充電基礎知識及應用培訓教程2
  • 安靜高效的電機控制——這才是正確的方向!
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产日韩精品视频 | 黄辣文 | 91伊人影院 | 国产精品日韩欧美亚洲另类 | 四虎永久免费地址 | 日本一道dvd在线中文字幕 | 麻豆精品传媒视频观看 | 这里只有精品视频 | 亚洲欧美在线一区 | 日本特黄视频 | 国产欧美一区二区三区在线看 | 精品精品精品 | 性做久久久久久久免费看 | 久久久国产精品免费看 | 激性欧美激情在线播放16页 | 狠狠色丁香婷婷综合激情 | 亚洲国产精品日韩高清秒播 | 韩国福利视频一区二区 | 女人一级毛片免费观看 | 五月天综合在线 | 欧美高清视频www夜色资源网 | 日本特黄在线观看免费 | 国产好片无限资源 | 九九热re | 手机看片国产永久1204 | 特级黄a三级三级三级 | 精品在线小视频 | 美女的隐私视频网站蜜桃视频 | 成年一级片| 日日噜夜夜噜 | 三级毛片在线免费观看 | 日韩在线免费观看视频 | 在线天堂新版在线观看 | 国产香蕉久久 | 免费看片亚洲 | 日本在线一区二区 | 久久精品国内偷自一区 | 国产精品午夜免费观看网站 | 高清一级毛片一本到免费观看 | 偷偷狠狠的日日高清完整视频 | 日韩视频 中文字幕 视频一区 |