亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        可重構計算平臺的硬件結構設計

        2014-11-20 08:18:30朱志宇
        電視技術 2014年7期
        關鍵詞:控制區(qū)PC機總線

        吳 將,朱志宇,沈 舒

        (江蘇科技大學電子信息學院,江蘇鎮(zhèn)江,212003)

        運行在馮·諾依曼或哈佛結構[1]設計的計算機處理器上的軟件都被編譯成一組特定處理器指令,而這些指令都是在運行軟件時加載并順序執(zhí)行[2],這樣順序處理的指令對一些數(shù)據(jù)處理要求較低的PC應用只需幾個時鐘周期,然而,PC也經常用來處理一些計算密集型高吞吐量的數(shù)據(jù),特別是在科學研究工作方面,在這種情況下典型PC處理器的順序執(zhí)行性就不能有效實現(xiàn),因此需要使用更快速的處理器或者一個集群或計算網(wǎng)絡[3]。如今,更多的則是運用可重構硬件(如FPGA)處理計算密集型數(shù)據(jù),這種硬件體系結構與典型的馮諾依曼或哈佛類型處理器完全不同,應用FPGA執(zhí)行算法時,通常將算法定義為硬件描述語言并編譯成信號,并將信號下載到FPGA實現(xiàn)。信號下載到FPGA時,硬件邏輯將重構,該過程允許數(shù)據(jù)傳輸和FPGA硬件處理并行執(zhí)行[4]?,F(xiàn)有多數(shù)可重構平臺都是采用多片F(xiàn)PGA的結構,這種可重構平臺可能還包含多個CPU或專用存儲器,F(xiàn)PGA的配置往往是整片重構或者是一維重構,而且需要一塊獨立的開發(fā)板來提供外設并控制重構過程,這樣的設計成本高、配置時間長、靈活性也受局限。為了降低可重構計算平臺的配置時間,并且提高平臺的靈活性,本文給出了一種基于PC機的可重構硬件平臺的設計方法。

        1 設計要求

        為了進行硬件結構設計,首先應該了解具體的設計需求和期望的系統(tǒng)性能。第一,可重構計算平臺是基于PC機設計的,PC機通過總線(如 PCI-33,PCI-X,F(xiàn)ireWire或者USB)訪問FPGA,要使得處理數(shù)據(jù)和FPGA重構信號傳輸速度足夠快就必須選擇合適的總線,因為PC總線接口標準是各種各樣的,在PC端其他標準可用時,PC接口的核心即可切換到其他標準。第二,本文的主要工作就是開發(fā)一個能夠通過PC機快速重構FPGA的系統(tǒng),即以運行在PC機上的軟件仿真平臺[5]作為處理器,當需要時可以下載重構算法信號到FPGA。當處理算法鏈將結果返回給PC機之前,數(shù)據(jù)在FPGA上通過特定的算法進行處理,而且重構FPGA以待處理下一步的算法鏈數(shù)據(jù),快速重構可以減少重構過程中的延遲。第三,運用盡可能少的元件設計出理想并簡單的物理硬件,這將使得這個平臺的開發(fā)成本較低,在同一FPGA同時運行PC機接口核心和算法實現(xiàn)能夠實現(xiàn)該要求,即使FPGA存儲算法和PC機接口在同一芯片上運性,但是部分FPGA存儲算法應該動態(tài)可重構并且獨立于PC機接口。由于軟件平臺允許多個硬件模塊并行使用FPGA,所以為了保持硬件設計簡單,不需要用多個FPGA來實現(xiàn)各個硬件模塊。雖然已經有人開發(fā)了可重構平臺結構,但是沒有一個滿足以上所有要求。例如,Blodget[6]等設計了一個利用內置FPGA的軟處理器核心代替外部PC機的自動重構的嵌入式系統(tǒng)平臺,F(xiàn)ong等[7]開發(fā)了一種采用RS-232端口傳輸可重構數(shù)據(jù)到FPGA的系統(tǒng),但是限制該系統(tǒng)重構性能的一個關鍵因素就是傳輸速度低。

        2 系統(tǒng)設計

        考慮到第1節(jié)中的設計要求,運用PCI總線和自重構FPGA Xilinx VirtexⅤ來設計硬件結構。典型PC機都配備有PCI總線,而且硬件設備可以完全由總線本身進行供電,這將減少額外供電電路的設計,同時還避免了PCI信號中的電流分離問題。此外,高吞吐量的總線(32位、33 MHz的PCI總線的速度為132 Mbit/s)使得從PC機到FPGA重構信號的傳輸速度更快。通過SelectMap總線傳輸信號到可重構FPGA的最大速度是50 Mbit/s,因此PCI總線可以滿足SelectMap總線的所有操作都是在它的最大速度下進行??芍貥婩PGA運用其部分資源來控制PCI接口,而其他部分資源用來執(zhí)行下載的算法,這就不需要單獨設計PCI接口芯片,從而使得硬件模塊非常簡單,這種方法還可以減少由物理連接點導致的系統(tǒng)故障的數(shù)量。同時,盡管PCI接口和算法在同一FPGA上執(zhí)行,但是FPGA的模塊化設計流程[8]允許兩者獨立開發(fā)和測試。這些功能的結合滿足以下3個要求:使用同一個普通PC機總線標準、快速FPGA重構時序和一個簡單的物理硬件模塊,下面將詳細介紹系統(tǒng)的結構框架。

        2.1 物理硬件設計和初始啟動配置

        正如上文所述,物理硬件要盡可能簡單,因此本文給出的硬件模塊主要由FPGA和Flash RAM芯片組成,如圖1所示。為了滿足PCI規(guī)范對信號線路長度的要求,將FPGA放置在盡可能接近PCI接口的位置。閃存芯片中存儲的是FPGA的初始配置信號,當SelectMap接口上電時將該信號下載到FPGA,基于SRAM的FPGA失電時配置信號就會丟失,所以需要通過閃存存儲配置信號,初始配置信號控制PCI接口芯片和自重構控制器。一旦初始配置完成,主機PC就會根據(jù)算法需要通過PCI總線下載部分比特流到可重構FPGA。

        現(xiàn)有的可重構硬件平臺一般都是用多個FPGA設計實現(xiàn),本文給出的硬件設計只用一片F(xiàn)PGA即可實現(xiàn),但是這也會引入一些額外問題,比如:芯片內部連接、通信協(xié)議規(guī)范、任務分配等。近年來隨著FPGA可用資源的增多,一片F(xiàn)PGA即可實現(xiàn)復雜算法,這種單一芯片解決方案的好處是不需要考慮FPGA各個模塊設計的復雜性,而且將按線路發(fā)送的內部芯片信號線的通信限制轉換為算法設計。

        圖1 物理硬件組成

        2.2 單一芯片結構的FPGA劃分

        同時處理PCI總線和算法的單個FPGA芯片可以劃分為以下2個部分:固定部分和可重構部分。固定部分包括PCI核心和配置控制器,而且啟動時通過Flash下載到FPGA的配置比特流進行初始化,可重構部分根據(jù)算法通過PC機下載的比特流進行動態(tài)重構。運用FPGA設計部分可重構系統(tǒng)時,固定部分配置控制器在可重構部分內部執(zhí)行動態(tài)重構操作,這兩部分是通過總線宏[9]進行連接,該指令給出了物理接口信號線的定義,劃分的FPGA由4個主要部分組成,如圖2所示。

        圖2 FPGA分區(qū)圖

        2.3 模塊化設計流程

        在實現(xiàn)算法的可重構部分時,每次都將整個設計(包括固定部分)當作一個整體進行編譯和測試,這種方法是不可取的而且也很麻煩。FPGA模塊化設計流程中,每個模塊(包括固定部分和可重構部分)獨立進行開發(fā)、測試和調試,只有預留模塊區(qū)域和總線宏接口必須保持一致,并且通過用于單一模塊設計的頂端信息進行定義。模塊邊界是通過用于布局布線步驟模塊區(qū)域進行定義的,而邏輯位置和信號路由以外的區(qū)域都是無效的。對于單個模塊設計需要生成一個對單個模塊配置信息的部分比特流,可重構部分根據(jù)算法生成該部分比特流,并由PC機下載FPGA動態(tài)重構相應的部分。全部比特流由頂端和固定部分設計生成并存儲在閃存中用于FPGA初始啟動配置。

        2.4 運用內部配置訪問通道(ICAP)自動重構

        固定部分的配置控制器通過FPGA的ICAP執(zhí)行自動重構[10],并且這一過程的執(zhí)行不受主機CPU的影響。配置控制器通過PC機共享內存獲得可重構數(shù)據(jù),這可以避免FPGA芯片上的可用內存對配置比特流大小的限制。而其他可重構系統(tǒng)則是運用有限的片上內存來存儲可重構數(shù)據(jù),由于需要反復加載配置比特流,并逐步重構FPGA的部分區(qū)域,因此可重構過程的時間就會很長。第二個限制是發(fā)送可重構比特流線路的吞吐量,如果使用低吞吐量的傳輸線路就會限制可重構的速度,比如RS-232串行線。本文中PCI核的Busmaster直接使用PC機的內存來存儲整個配置比特流,通過PCI總線傳輸?shù)絀CAP的數(shù)據(jù)是一個連續(xù)數(shù)據(jù),這就消除了重構增量,并且高吞吐量的PCI總線使得重構速度更快,ICAP通過SelectMap總線協(xié)議將配置控制器用作為ICAP與PCI總線之間的一個橋梁。為了給各個模塊提供獨立的時鐘,把片上雙向端口的RAM模塊設定為緩沖區(qū),該方法避免了PCI接口和SelectMap接口之間共享RAM空間使用權的交換,因此最大限度地縮短了訪問ICAP的時間。該模型實現(xiàn)使用FPGA的2個BRAMS,總的緩沖區(qū)大小為256×32 bit。配置控制器內部采用與PCI總線寬度相同的32位,為了通過8位的SelectMap總線,運用一個多路復用器將這32位分隔為4個單字節(jié)項,在這個過程中,當PCI總線不能提供足夠的數(shù)據(jù)緩沖區(qū)時,控制器通過停止配置時鐘暫停操作,一旦再次獲得數(shù)據(jù)就會恢復操作。

        2.5 固定部分設計

        PCI接口將部分重構比特流傳輸?shù)紽PGA,并將算法下載到FPGA來交換數(shù)據(jù),而這兩種數(shù)據(jù)的傳輸都是通過PCI總線的Busmaster來完成,因為Busmaster可以直接訪問PC機的共享RAM獲得數(shù)據(jù)。這確保了FPGA設計片上內存小的限制,并且還為PC的直接數(shù)據(jù)傳輸提供了最快的速度,固定部分的設計如圖3所示。固定部分主要由以下幾個部分組成:固定部分控制區(qū)、可重構部分控制區(qū)、公共部分控制區(qū)、流數(shù)據(jù)區(qū)和SelectMap數(shù)據(jù)區(qū)。

        固定部分訪問PCI總線的Busmaster,控制所有驅動設備之間通信和從PCI總線到可重構部分(或者可重構部分到PCI總線)的數(shù)據(jù)傳輸。固定部分作為共享PCI總線面向數(shù)據(jù)包的傳輸和可重構部分連續(xù)數(shù)據(jù)流傳輸之間的一個橋梁。固定部分分為以下3部分控制:公共部分控制區(qū)、可重構部分控制區(qū)和固定部分控制區(qū),而2個數(shù)據(jù)部分包括流數(shù)據(jù)和SelectMap數(shù)據(jù)。公共部分控制區(qū)有PCI的特定訪問功能并且包含中斷生成邏輯??芍貥嫴糠挚刂茀^(qū)使得可重構部分的靜態(tài)寄存器很容易實現(xiàn),該寄存器使得讀取和寫入單獨處理,運用這些寄存器,可重構部分可以從PC機端和返回狀態(tài)信息報告獲得設置值,可重構部分還可以通過固定部分設計調用中斷。固定部分控制區(qū)控制PCI總線和可重構部分之間的數(shù)據(jù)傳輸任務。數(shù)據(jù)部分控制PCI總線和可重構部分之間的從雙端口RAM模塊(BRAMs)到緩沖區(qū)之間的數(shù)據(jù),雙端口特性允許BRAMs訪問不同時鐘域的兩側,一個端口訪問PCI側并由PCI時鐘驅動,而另一端口訪問可重構部分并由其時鐘驅動。為了滿足PCI總線的訪問延遲時間,緩沖區(qū)的大小設定為256×32 bit,固定部分控制區(qū)的功能模塊如圖4所示。

        圖3 固定部分設計

        圖4 公共部分控制區(qū)功能模塊圖

        由圖4可見固定部分控制包括一個Busmaster啟動程序和Busmaster地址生成程序,其中Busmaster啟動程序通過PCI總線在PC機上對RAM進行分配從而實現(xiàn)Busmaster的數(shù)據(jù)傳輸,這一過程觸發(fā)內部BRAM緩沖區(qū)為滿狀態(tài)。Busmaster地址生成程序跟蹤PCI尋址,又因為在共享PCI總線上的數(shù)據(jù)傳輸在任何時候都可以被中斷,所以這種跟蹤是必需的,當中斷發(fā)生時,只有當總線再次可用才可在下一地址到來時重新啟動數(shù)據(jù)傳輸。

        數(shù)據(jù)傳輸中樞模塊通過4個目標數(shù)據(jù)流對PCI接口進行調度,而這4個目標數(shù)據(jù)流分別是上行數(shù)據(jù)流、下行數(shù)據(jù)流、讀SelectMap和寫SelectMap,這4個目標在同一個PCI接口實現(xiàn),因此數(shù)據(jù)傳輸中樞模塊通過一個簡單調度算法實現(xiàn)公平分配數(shù)據(jù)傳輸申請,該調度算法的具體要求是:當有多個申請在等待時,同一個目標不可以連續(xù)2次對PCI接口發(fā)出申請。每個數(shù)據(jù)流目標有一個與之相對應的控制區(qū),該控制區(qū)生成數(shù)據(jù)傳輸申請并監(jiān)視數(shù)據(jù)區(qū)BRAM緩沖區(qū)的狀態(tài)。

        3 實驗結果

        對于上一節(jié)中描述的固定部分設計,運用Xilinx ISE 13.2這一編譯軟件對型號為XC5VLX50T的FPGA進行程序編譯,F(xiàn)PGA的區(qū)域ISE布局規(guī)劃如圖5所示,其中白色部分為固定部分,而灰色部分為可重構部分。圖6給出了固定部分的資源使用情況,固定部分一共使用的模塊數(shù)為2 211,而這一系列FPGA的總的資源數(shù)為7 200,因此約占總資源的30.71%。另外固定部分還運用了3個BRAM,而總的 BRAM數(shù)為2 340,因此約占總數(shù)的0.13%。由實驗結果可以看出該設計方法能夠有效實現(xiàn)FPGA的硬件重構,而且其物理硬件設計簡單。

        圖5 FPGA的區(qū)域分配圖(截圖)

        4 結論

        本文提出了一種基于PC機的可重構計算平臺的硬件體系結構設計方法,該系統(tǒng)通過PCI總線的快速重新配置FPGA,同時物理硬件設計非常簡單,解決了傳統(tǒng)可重構計算平臺配置時間長、靈活性受限的缺陷。

        圖6 固定部分資源運用圖(截圖)

        [1]吳冬.8086微處理器尋址方式與8051控制器工作過程探討[J].計算機光盤軟件與應用,2011(19):24-25.

        [2]堯征,黃鄉(xiāng)生,黃威,等.基于FPGA的實時多任務系統(tǒng)的設計[J].湖南農機,2012,39(11):46-48.

        [3]樂光學,郭勇,鄢卉,等.基于Region多層結構P2P計算網(wǎng)絡定位服務策略研究[J].微電子學與計算機,2005,22(3):110-117.

        [4]夏海靜,溫彤,李其虎.高性能圖像多級小波變換的硬件設計與實現(xiàn)[J].電視技術,2012,36(13):19-22.

        [5]谷桂華,周端,楊延飛.基于Balsa-Xilinx FPGA的異步設計流程[J].微電子學與計算機,2012,29(6):18-27.

        [6] BLODGET B,JAMES-ROXBY P,KELLER E,et al.A self-reconfiguring platform proceedings[C]//Proc.The 13th International Conference on Field Programmable Logic and Applications,2003.[S.l.]:IEEE Press,2003:565-574.

        [7] FONG R,HARPER S,ATHANAS P.A versatile framework for FPGA field updates:an application of partial self-reconfiguration[C]//Proc.IEEE International Workshop on Rapid Systems Prototyping,2003.[S.l.]:IEEE Press,2003:117-121.

        [8]彭曉鈞,李文甫.船用OSD和雙絞線傳輸系統(tǒng)的模塊化設計[J].電視技術,2012,36(21):139-141.

        [9]肖松,李躍華,張金林.一種DPR中總線宏的設計方法[J].電子設計工程,2011,19(1):55-57.

        [10]王鵬,向厚振,張志杰.基于FPGA的動態(tài)可重構邊緣檢測系統(tǒng)設計[J].電視技術,2012,36(7):32-34.

        猜你喜歡
        控制區(qū)PC機總線
        基于OMI的船舶排放控制區(qū)SO2減排效益分析
        海洋通報(2020年5期)2021-01-14 09:27:06
        基于PCI Express總線的xHC與FPGA的直接通信
        測控技術(2018年6期)2018-11-25 09:50:12
        機載飛控1553B總線轉以太網(wǎng)總線設計
        測控技術(2018年8期)2018-11-25 07:42:08
        基于PC機與單片機的多機通信技術及抗干擾方法
        管好高速建筑控制區(qū)
        中國公路(2017年18期)2018-01-23 03:00:42
        基于三菱FXPLC的感應淬火機床與PC機的串行通信實現(xiàn)
        阿什河流域非點源污染優(yōu)先控制區(qū)識別
        山東日照劃定大氣污染物排放控制區(qū)
        汽車縱橫(2017年3期)2017-03-18 23:19:33
        VC.NET下實現(xiàn)dsPIC單片機與PC機的通信
        電子制作(2017年23期)2017-02-02 07:16:47
        多通道ARINC429總線檢查儀
        国产亚洲精品品视频在线| 日韩精品无码一本二本三本色| 久久久久99人妻一区二区三区| 色哟哟精品视频在线观看| 国产av无码专区亚洲av中文 | 夜夜揉揉日日人人青青| 丁香五香天堂网| 精品香蕉久久久午夜福利| 一本一本久久a久久精品综合| 少妇熟女淫荡丰满| 亚洲熟伦在线视频| 国产女主播福利一区二区| 日本国产亚洲一区二区| 中文字幕在线日亚洲9| 成人亚洲性情网站www在线观看| 國产一二三内射在线看片| 国产91AV免费播放| 91国产自拍精品视频| 狠狠摸狠狠澡| 最近最新中文字幕| 三级国产女主播在线观看| 爆乳午夜福利视频精品| 人妻秘书被社长浓厚接吻| 国产乱人伦偷精品视频免观看| 三年片大全在线观看免费观看大全| 欧美aaaaaa级午夜福利视频| 蜜臀aⅴ国产精品久久久国产老师| 四虎国产精品免费久久麻豆| 久久久国产精品粉嫩av| 男女啪啪免费视频网址| 亚洲成人av一区免费看| 久久蜜桃资源一区二区| 人妻少妇精品无码专区| 亚洲最大av资源站无码av网址| 久久精品国产亚洲AⅤ无码| 精品无码成人片一区二区| 午夜国产精品一区二区三区| 亚洲av老熟女一区二区三区 | 在线看高清中文字幕一区| 中文字幕综合一区二区三区| 午夜视频在线观看视频在线播放|