《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 動態部分可重構方法在SDRAM控制器中的應用

動態部分可重構方法在SDRAM控制器中的應用

2009-07-09
作者:翁穎方, 徐德民, 苗 勝

  摘??要: 動態部分可重構方法應用于FPGA系統設計中,充分利用了FPGA芯片提供的可重配置功能,減小了FPGA芯片的配置時間。通過對可重構方法的研究,提出了基于模塊化動態可重構方法應用到SDRAM控制器設計中,給出了重構流程,并對實驗結果進行了分析。該方法提高了FPGA芯片的利用率,有效地提高了可重配置計算系統的整體性能。
  關鍵詞: 動態部分可重構; FPGA; 模塊化; SDRAM控制器

?

  動態部分可重構(Dynamic Partial Reconfigurable)配制結合了傳統的ASIC技術和通用處理器技術的特點,既具有通用處理器的靈活性,又具有ASIC的計算速度。隨著FPGA[1]應用領域的不斷擴大,即使采用百萬門級的FPGA,也很難一次容納所有的電路設計。動態部分可重構是將任務劃分成更細粒度的功能模塊,根據任務執行的階段分別下載,動態地重配置相應的部分電路,而不需要重新配置的固定模塊部分則不受影響。基于此技術設計的可重構系統在高速數字濾波器、圖像壓縮、硬件演化計算、定值計算、嵌入式系統等方面,都有著廣泛的應用前景。
  在系統分析研究現有各種動態部分可重構方法的基礎上,結合FPGA設計模塊化的特點,本文提出一種基于模塊化的動態部分可重構的SDRAM控制器設計方法,依靠強大的FPGA軟件工具生成相應的配制模塊,并通過了板級驗證。
1 基于模塊的動態部分可重構方法
  在該方法中,任務被劃分為相互獨立的子模塊,這些子模塊的總大小一般要超過FPGA芯片的最大容量,運行時只需將當前任務執行所需要的子模塊配置到芯片上。因此,這種方法不受硬件資源的限制,可以完成任意規模的任務。任務模塊之間的通信使用總線宏來完成,總線宏允許信號穿越模塊的邊界而保持正確通信。動態指令集計算機[2]就是利用基于模塊的動態重配置方法實現的,它是在FPGA中的二維配置邏輯單元按照行的方式構成一維線性硬件模型下實現的可重定位硬件的系統結構,提供了面向應用的指令集,每個指令都作為一個獨立的電路模塊實現。其中的重配置模塊按照水平方向布局,每個模塊的寬度等于芯片的寬度,由于模塊所占用的FPGA邏輯陣列的高度可以改變,因此,指令模塊庫中的各模塊可以按照其功能的需求被設計成不同的尺寸。靜態的全局控制器和通信網絡構成了一維線性模型上的全局上下文,在整個任務的執行過程中保持不變。通信網絡起到了總線宏的作用,實現了重配置模塊之間以及重配置模塊與全局資源之間的通信。動態指令空間存放著完成特定任務的動態重配置模塊,可重定位硬件使得任意一個指令模塊都可以被配置到動態指令空間的任意部分,實現了“虛擬硬件”的概念,從而可以利用有限的資源完成更大規模的計算任務。而且,還實現了計算和指令模塊重配置的重疊,隱藏了配置時間,有效地提高了系統的整體性能。
2 基于高速數據采集卡的SDRAM控制器設計
  該SDRAM控制器是基于高速數據采集卡所設計的。數據采集卡以FPGA為主控制芯片,外圍電路包括SDRAM存儲電路、時鐘電源電路、模擬電路以及上位機與板通信的UART接口、數據采集卡對數據采集目標進行數據通信的PCI總線接口。
  在整個系統中,SDRAM電路能進行部分動態重構替換,以實現硬件電路與FPGA重構功能之間的相互適應。此系統采用Micron公司的32位SDRAM芯片,根據芯片的時序工作特點把SDRAM控制器分為3個模塊:控制接口模塊、命令模塊、數據模塊。SDRAM控制器的接口結構如圖1所示。

  SDRAM 具有多種工作模式,內部操作是一個非常復雜的狀態機,本文設計的SDRAM控制器包括以下一些狀態:模式寄存器設置狀態、激活狀態、預充電狀態、寫狀態、讀狀態、自動刷新狀態和空閑狀態。在本控制器中還設計了2個FIFO、2個狀態機(1個寫,另1個必定在讀),當寫FIFO寫滿1幀時就切換到讀FIFO[3];但由于讀寫的速度不同,這里需要對讀FIFO進行多次讀,當寫滿寫FIFO時自動切換狀態機,這樣可以保證數據采集系統大數據量的讀寫,也保證了數據采集板數據采集的連續性。
3 模塊化動態可重構方法的實現和驗證
  本設計驗證所使用的高速數據采集板卡是基于Xilinx[4] Virtex-II XC2V500的芯片,該系列芯片是Xilinx公司生產的支持動態可重構的FPGA芯片。所采用的軟件是Xilinx ISE9.1i集成軟件包,其中包括用于確定模塊在FPGA芯片上的位置和形狀的Floorplanner軟件,iMPACT實現把動態部分可重構位流下載到開發板上。在該可重構設計過程中,總線宏起到重要的作用,保證了動態可重構模塊和靜態固定模塊之間的正確通信。
  本設計是基于模塊化的動態可重構設計,在設計過程中采用如圖2的文件目錄結構,以便組織每個設計步驟所生成的文件,更好地體現了模塊化[5]的特點。

?

?

  在SDRAM控制器程序中,SDRAM芯片的初始化程序模塊(sdram_initial.v)作為靜態固定模塊,數據模塊(sdram_data.v)和命令模塊 (sdram_cmd.v)作為動態部分可重構模塊。為了能體現可重構模塊在重配制過程中不影響靜態模塊的工作,在重配制時,SDRAM芯片仍然可以被初始化。
  (1)頂層模塊設計與綜合
  首先確定整個控制器的頂層模塊top.v,其中包括3個獨立的模塊sdram_initial.v、sdram_data.v、sdram_cmd.v、然后用XST工具對頂層設計進行綜合,生成top.ngc文件,并存放在Initial文件目錄下。
  (2)總線宏[6]的設計
  為了促進可重構模塊之間的通信,需要保證穿過可重構模塊邊界的布線資源是完全固定而且必須是靜態的,這就需要一種特殊的總線宏,它是模塊之間通信的“橋梁”。目前使用的總線宏由8個三態緩沖器組成,每個三態緩沖器傳輸1位信息。根據模塊設計劃分的要求,在FPGA Editor中設計總線宏,并保存在Initial文件目錄下,文件名為bus_macro.nmc。
  (3)初始化預算
  首先將top.ngc作為Ngdbuild命令的輸入,生成top.ngd文件,然后使用Floorplanner對其進行位置和面積約束,產生約束文件top.ucf,并手動增加對總線宏位置、重配置模塊和物理管腳的約束,該約束文件用于每個模塊的具體實現。如有需要,使用Constraint Editor對整個設計做全局時序限制。最后,使用Ngdbuild命令重新生成tog.ngd文件,用于每個模塊的具體實現。
  (4)動態模塊的實現
  靜態固定模塊和動態可重構模塊要通過頂層文件設計和約束來實現。首先將top.ucf和top.ngd文件拷貝到各模塊目錄下,并對每個模塊運行Ngdbuild、Map、Par和Pimcreate命令,操作完成后將生成已布局布線的模塊并放在Pims目錄下。對可重構模塊還要使用BitGen命令產生動態可重構位流sdram_data.bit和sdram_cmd.bit。
  (5)可重構流的生成和驗證
  首先將top.ngc、top.ucf、bus_macro.nmc復制到Assemble,運行Ngdbuild命令產生top.ngd,再運行Map、Par命令,然后使用FPGA Editor來觀察最后頂層模塊的布局布線結果。最后使用BitGen命令得到配置位流文件top.bit,再使用iMPACT軟件通過并口的電纜線top.bit,在下載過程中用JTAP模式配置Virtex-II FPGA芯片。運行SDRAM控制器的數據模塊和命令模塊的程序,用動態可重構位流sdram_data.bit和sdram_cmd.bit配置芯片的命令接收和數據讀寫過程,而在動態可重構配置過程中靜態固定模塊sdram_initial.v仍然能初始化SDRAM芯片,達到了動態部分可重構的設計目的。圖3~圖5為在FPGA Editor中設計的3種模塊的區域約束對比圖。

?


4 動態部分可重構配置與全局配置比較
  傳統的全局配置在硬件電路升級時是把電路的所有模塊一起更新配置,這種配置方法在操作過程中把靜態的固定模塊又重新不變地配置了1次,使得在工程應用中顯得效率不高。
  與全局配置方法相比,基于模塊化的動態部分可重構方法是一種高效率的FPGA配置方法。它將各模塊的公共部分和全局控制部分設計為靜態模塊,在重配置時可以將系統運行狀態和中間結果等存入該靜態電路中,既減少了相應的路由選擇和控制等外圍電路所需要的硬件資源,又節省了向外傳送這些數據所需要的時間。
  使用普通的全局配制方法對SDRAM控制器進行設計,觀察實驗數據結果,得出2種方法的對比情況如表1所示。從表中可看出,使用動態部分可重構方法配置文件其容量減少,約為原來的1/4~1/3,配置時間大約為原來的3/5。

?


  綜上所述,把基于模塊化的動態部分可重構方法應用到SDRAM控制器的設計里,在任務的執行過程中根據需求動態地進行模塊替換,使得可重構配置計算不再受到硬件資源的限制,既能提高硬件電路的能量消耗,又能提高硬件資源的利用率,本方法在實際工程中有很高的應用價值。隨著FPGA技術和開發工具的不斷完善,必將更好地支持和推動可重構技術的發展。

參考文獻
[1] ?朱明程. FPGA 原理及應用設計. 北京: 電子工業出版社,1994.
[2] ?李麗, 辛勤, 楊樂平.基于FPGA的可重構系統的應用[J].微處理機,2001(3):11-13.
[3] ?張宇,時龍興,王學香,等.面向片上系統的高性能SDRAM控制器設計[J].固體電子學研究與進展,2007(3).
[4] 徐 欣, 于紅旗, 易 凡,等. 基于FPGA嵌入式系統設計(Xilinx?Edition). 北京: 機械工業出版社, 2005.
[5] 劉杰,周建華,黃子強. 基于SDRAM的視頻處理器設計與實現[J]. 電子元器件應用, 2006(7).
[6] Xilinx Inc. Two flows for partial?reconfiguration: module based or?difference based[EB/OL].? http://direct.xilinx.com/bvdocs/appnotes/xapp290.pdf, 2003.

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲第一精品夜夜躁人人躁| 亚洲一区精品在线| 亚洲精品一区二区三区樱花| 国产专区精品视频| 国产农村妇女精品一区二区| 国产精品视频久久| 国产精品久久久久久久9999| 欧美三级日韩三级国产三级| 欧美日韩a区| 欧美理论片在线观看| 欧美乱大交xxxxx| 欧美激情亚洲一区| 欧美成人亚洲成人日韩成人| 欧美凹凸一区二区三区视频| 另类人畜视频在线| 蜜桃av一区二区三区| 美脚丝袜一区二区三区在线观看| 老司机成人网| 欧美国产日产韩国视频| 欧美精品日韩三级| 欧美日韩国产在线观看| 欧美日韩免费观看一区三区| 欧美日韩一二区| 欧美视频一区在线| 国产精品麻豆欧美日韩ww | 欧美激情一区二区三区全黄| 欧美高清免费| 欧美日韩国产一区二区三区| 欧美日韩亚洲综合| 国产精品高潮呻吟| 国产欧美视频一区二区| 国产亚洲一级高清| 在线观看一区二区精品视频| 亚洲激情图片小说视频| 亚洲美女区一区| 亚洲一区二区三区成人在线视频精品 | 91久久精品国产91久久| 亚洲毛片一区| 亚洲欧美日本在线| 久久精品国产亚洲aⅴ| 麻豆成人91精品二区三区| 欧美伦理在线观看| 国产精品色午夜在线观看| 国产午夜精品一区二区三区视频 | 亚洲欧美日韩成人高清在线一区| 欧美在线啊v一区| 免费在线视频一区| 欧美日韩精品免费观看视频完整| 国产精品日韩电影| 激情视频亚洲| 一本综合久久| 欧美一区二区三区在线视频| 日韩视频中文字幕| 香港久久久电影| 欧美多人爱爱视频网站| 国产精品成人国产乱一区| 国产在线精品二区| 日韩午夜在线播放| 久久精品夜色噜噜亚洲aⅴ| 国产精品99久久不卡二区| 久久久久久日产精品| 欧美久久久久久蜜桃| 国产一区二区三区日韩| 最新国产乱人伦偷精品免费网站| 亚洲性视频网址| 亚洲精品九九| 欧美在线免费观看视频| 欧美女主播在线| 国产主播精品在线| 一本一本久久| 亚洲激情影视| 欧美一区二区大片| 欧美了一区在线观看| 含羞草久久爱69一区| 一本在线高清不卡dvd | 夜夜精品视频一区二区| 久久精品卡一| 欧美午夜a级限制福利片| 在线高清一区| 亚洲欧美日韩综合国产aⅴ| 99精品99久久久久久宅男| 久久九九有精品国产23| 欧美香蕉视频| 亚洲国产欧美日韩| 久久精品观看| 欧美一区二区三区在| 欧美精品日韩一区| 激情另类综合| 性欧美大战久久久久久久久| 一区二区三区四区国产精品| 美女国产一区| 国产一区二区在线免费观看 | 欧美影院成人| 先锋影音一区二区三区| 欧美日韩天天操| 亚洲国产一区二区三区在线播| 欧美一区二区三区在线播放| 亚洲欧美精品伊人久久| 欧美日韩一区二区三| 亚洲国产精品一区在线观看不卡 | 欧美大片免费观看在线观看网站推荐 | 欧美在线日韩在线| 欧美亚洲一区| 国产精品vvv| 日韩写真在线| 99视频精品全部免费在线| 欧美.日韩.国产.一区.二区| 精品成人在线| 久久高清国产| 久久久国产成人精品| 国产伦精品一区二区三区免费迷 | 你懂的国产精品| 国内久久视频| 久久精品视频一| 久久久无码精品亚洲日韩按摩| 国产日韩欧美高清| 亚洲欧美视频一区| 欧美与黑人午夜性猛交久久久| 国产精品一区亚洲| 亚洲一区视频在线| 久久av一区| 国产一区二区欧美| 欧美在线观看www| 久久久伊人欧美| 国产在线视频欧美| 久久精品国产亚洲一区二区三区| 久久国产手机看片| 国产亚洲精品久久久久久| 午夜伦理片一区| 久久久久久网址| 亚洲第一页在线| 亚洲精品视频在线观看网站 | 有码中文亚洲精品| 亚洲国产欧美日韩精品| 欧美国产综合| 亚洲剧情一区二区| 亚洲专区在线| 国产精品综合久久久| 午夜久久久久久| 久久在线免费| 最新中文字幕一区二区三区| 亚洲作爱视频| 国产精品扒开腿做爽爽爽软件| 亚洲午夜高清视频| 久久国产精品亚洲va麻豆| 尤物九九久久国产精品的分类| 亚洲精品乱码久久久久久按摩观| 欧美国产视频在线| 一区二区三区四区蜜桃| 欧美在线观看视频在线 | 亚洲区国产区| 亚洲欧美国产精品va在线观看| 国产日韩欧美视频在线| 亚洲国产欧美另类丝袜| 欧美日韩精品福利| 亚洲欧美春色| 久热精品视频在线观看一区| 亚洲片在线观看| 性伦欧美刺激片在线观看| 国产在线欧美| av成人福利| 国产一本一道久久香蕉| 亚洲精品一级| 国产精品视频精品| 亚洲日本激情| 国产精品久久久久久久久久久久久久 | 欧美日韩免费观看一区三区 | 国产精品视频免费在线观看| 欧美永久精品| 欧美日韩大片| 欧美一区二区三区在线看 | 欧美日韩亚洲一区二区三区在线观看 | 午夜精品久久久久久久99水蜜桃| 狠狠噜噜久久| 亚洲视频在线二区| 精品二区视频| 亚洲一区二区三区精品视频| 韩国在线视频一区| 亚洲视频一区在线| 精品福利免费观看| 午夜精品久久久久99热蜜桃导演| 在线观看欧美一区| 先锋影院在线亚洲| 亚洲精品之草原avav久久| 久久久99精品免费观看不卡| 亚洲理伦在线| 美日韩丰满少妇在线观看| 亚洲在线1234| 欧美日韩国产综合网| 久久精品国产77777蜜臀| 国产精品成人va在线观看| 最新亚洲电影| 国产视频久久久久久久| 国产精品99久久久久久人| 亚洲大胆人体在线| 久久久av水蜜桃| 亚洲一区二区三区三| 欧美日韩精品免费观看视频完整| 亚洲国产激情| 国产日韩欧美一区|