《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 動態部分可重構方法在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亚洲国产精品_日韩亚洲一区二区
久久综合狠狠综合久久激情| 欧美日韩综合在线| 在线中文字幕一区| 91久久国产综合久久| 欧美在线地址| 翔田千里一区二区| 亚洲免费在线视频一区 二区| 最新亚洲电影| 亚洲黄一区二区三区| 亚洲国产1区| 亚洲大胆女人| 在线观看日韩一区| 国产一区二区日韩| 国产婷婷一区二区| 韩国av一区二区三区四区| 国产一区av在线| 国产综合久久久久影院| 狠狠色综合网站久久久久久久| 国产自产2019最新不卡| 黄色成人免费观看| 亚洲第一精品福利| 亚洲精品欧洲| 正在播放亚洲一区| 亚洲欧美日韩中文播放| 午夜日韩激情| 久久激情综合| 亚洲人体偷拍| 一本色道久久综合亚洲精品小说 | 亚洲黄色免费电影| 亚洲国产婷婷香蕉久久久久久99| 亚洲精美视频| 亚洲深夜av| 久久高清国产| 蜜臀va亚洲va欧美va天堂| 欧美韩国日本综合| 欧美日韩国产小视频在线观看| 国产精品av久久久久久麻豆网| 国产精品视频久久一区| 国产一区二区黄| 亚洲二区在线视频| 一区二区电影免费在线观看| 午夜精品国产更新| 亚洲精品乱码| 亚洲欧美日韩系列| 久热综合在线亚洲精品| 欧美日韩国产专区| 国产欧美精品日韩区二区麻豆天美| 狠狠色综合色区| 一本色道精品久久一区二区三区| 亚洲欧美一区二区三区久久| 亚洲福利电影| 亚洲视频在线观看网站| 久久本道综合色狠狠五月| 蜜臀久久99精品久久久画质超高清 | 国产一区二区成人| 亚洲精品久久| 亚洲欧美在线一区二区| 亚洲毛片视频| 欧美专区在线播放| 欧美精品在线免费播放| 国产欧美高清| 91久久夜色精品国产网站| 亚洲一区二三| 亚洲精品综合精品自拍| 欧美在线高清| 欧美日韩国产综合新一区| 国产一区二区三区在线免费观看 | 国产精品久久一卡二卡| 在线观看久久av| 亚洲尤物视频网| 亚洲人午夜精品免费| 性色av一区二区三区| 欧美电影在线| 国产模特精品视频久久久久| 亚洲激情午夜| 久久精品视频免费播放| 亚洲无限乱码一二三四麻| 久久久久欧美| 国产精品视频九色porn| 亚洲人成亚洲人成在线观看| 欧美专区在线观看一区| 亚洲一品av免费观看| 欧美顶级少妇做爰| 国产一区二区中文字幕免费看| 一区二区三区产品免费精品久久75 | 亚洲专区国产精品| 欧美成黄导航| 国产一区视频在线看| 一区二区三区 在线观看视频| 亚洲欧洲另类国产综合| 久久成人精品一区二区三区| 国产精品chinese| 亚洲激情视频在线| 亚洲国产日韩一区二区| 久久精品中文| 国产精品专区第二| 亚洲视频精品在线| 一区二区三区视频观看| 欧美电影免费观看高清| 国内精品一区二区| 性欧美1819性猛交| 午夜视黄欧洲亚洲| 国产精品99免费看| 妖精成人www高清在线观看| 日韩午夜一区| 欧美精品三级| 亚洲国产欧美国产综合一区| 亚洲激情电影在线| 久久综合狠狠综合久久综合88| 国产一区导航| 久久av资源网| 久久免费精品日本久久中文字幕| 国产欧美一二三区| 午夜欧美大片免费观看| 欧美在线网址| 国产日本欧美一区二区| 亚洲欧美日韩另类精品一区二区三区| 亚洲中无吗在线| 国产精品一二三四| 亚洲欧美日韩综合国产aⅴ| 欧美一区二区三区在线观看| 国产精品女人毛片| 亚洲欧美视频一区二区三区| 欧美一区二区网站| 国产噜噜噜噜噜久久久久久久久| 亚洲欧美日韩国产成人| 欧美在线播放| 国产在线视频不卡二| 久久精品女人| 欧美国产国产综合| 亚洲乱码国产乱码精品精98午夜| 在线视频亚洲| 国产精品久久久久aaaa| 亚洲欧美激情视频在线观看一区二区三区 | 伊人夜夜躁av伊人久久| 亚洲国产福利在线| 欧美成人亚洲成人| 日韩视频久久| 欧美一区二区三区视频免费播放| 国产综合av| 亚洲日本欧美天堂| 欧美色视频一区| 午夜精品免费在线| 久色婷婷小香蕉久久| 亚洲欧洲久久| 香蕉免费一区二区三区在线观看| 国产一区清纯| 亚洲伦理在线| 国产精品成人免费| 欧美中文在线视频| 欧美成人午夜| 在线综合亚洲| 久久精品中文字幕免费mv| 伊大人香蕉综合8在线视| 日韩视频在线免费观看| 欧美午夜不卡视频| 欧美一区二区三区精品电影| 免费日韩av电影| 一本色道久久| 久久全球大尺度高清视频| 最新亚洲一区| 欧美一区国产一区| 亚洲国产导航| 亚洲女ⅴideoshd黑人| 精品电影在线观看| 亚洲一区二区视频| 黄色成人在线| 一本久久精品一区二区| 国产亚洲精品福利| av72成人在线| 国产亚洲精品久久飘花 | 亚洲午夜久久久久久久久电影院| 国产精品一区二区三区久久久| 亚洲国产欧美日韩精品| 国产精品豆花视频| 亚洲国产精品视频一区| 欧美性猛交视频| 亚洲国产毛片完整版| 国产精品国产三级国产aⅴ入口| 久久精品国产一区二区三区免费看 | 欧美性大战xxxxx久久久| 亚洲丁香婷深爱综合| 欧美日韩一区成人| 亚洲大胆av| 国产女同一区二区| 99re8这里有精品热视频免费 | 亚洲精品久久久久久久久久久久| 欧美亚洲综合另类| 亚洲乱码国产乱码精品精| 久久精视频免费在线久久完整在线看| 亚洲伦理在线| 你懂的一区二区| 欧美亚洲一区二区三区| 欧美日韩专区在线| 亚洲破处大片| 国产亚洲午夜高清国产拍精品| 亚洲一区精品在线| 91久久国产自产拍夜夜嗨| 久久久免费av| 性欧美暴力猛交69hd|