999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種CPU和FPGA的快速交換數據方法

2016-09-15 07:02:57陳慶旭朱明浩余華武
單片機與嵌入式系統應用 2016年8期

陳慶旭,朱明浩,余華武

(1.南京國電南自自動化有限公司,南京 211153;2.南京依維柯汽車有限公司)

?

一種CPU和FPGA的快速交換數據方法

陳慶旭1,朱明浩2,余華武1

(1.南京國電南自自動化有限公司,南京 211153;2.南京依維柯汽車有限公司)

為了提高CPU讀寫FPGA的速度,提出了一種基于Burst方式的CPU和FPGA快速交換數據的方法。CPU在完成第一次讀寫之后,FPGA會記錄該地址,并使雙口RAM的地址自動遞增,不需要CPU再給出地址,這樣CPU可以操作多個連續地址中雙口RAM的數據。經過測試,該方法可以大大提高CPU和FPGA進行數據交換的速度。

CPU;FPGA;Burst;快速數據交換

引 言

隨著可編程邏輯控制器(Field Programmable Gate Array,FPGA)的應用日漸廣泛,很多系統采用了中央處理器(Central Processing Unit,CPU)+FPGA的架構方式。由于FPGA可以并行運算,所以大量的運算工作可由FPGA完成,CPU從FPGA中直接讀取計算結果,這種方式可以減少CPU的運算時間,降低了對CPU的要求。

目前,FPGA一般通過雙口RAM和CPU進行交互,通過雙口隨機存取存儲器(Random Access Memory,RAM)的緩沖解決FPGA和CPU的速度和并行性等問題。在CPU和FPGA之間有大量的數據需要進行交互的場合,這種方式CPU讀寫數據過程需要占用大量的時間,如何提高CPU讀寫FPGA的效率已經成為很多應用中的一個瓶頸問題。在數據量較大的電力系統濾波、圖像處理等應用場合,CPU讀取數據的時間是無法忽略的,甚至會造成系統的響應時間無法滿足要求。

盡管目前可以采用PCI-E、SRIO等方式實現CPU和FPGA之間的快速數據交換,但是這些方式對CPU和FPGA具有較高的要求,在某些成本比較敏感的場合是無法使用的。

本文提出了一種不需要增加額外成本,采用Burst方式對FPGA進行讀寫的方法。在CPU和FPGA有大量數據進行交互的場合,采用這種方式大大降低了CPU讀寫FPGA所需要的時間,提高了CPU讀寫FPGA的效率。

1 Burst模式的基本原理

目前很多CPU都支持Burst讀寫模式,通過該模式可以快速連續地完成多次讀寫。目前該模式一般僅用在了DRAM的讀寫操作中。圖1是DRAM芯片的讀時序。

圖1 DRAM的Burst時序

當DRAM芯片收到讀命令后,需要等待一段時間后才可以輸出數據,該值稱為CAS Latency。CPU給出讀命令后,等待CAS Latency時間后,DRAM就可以連續輸出后續地址的數據傳送給CPU,數據的數量可以由Burst Length進行設置。

在DRAM內部維護了一個地址寄存器,每當輸出一個數據后,內部地址寄存器自動加1,讀取下一個地址中的數據,由于每次讀取數據都經過了CAS Latency的延時,在第一個輸出后,在下一個周期的時候,下一個地址的數據進行輸出,這樣在外部CPU看來,等待CAS Latency時間后,每個時鐘周期都可以讀到DRAM的數據。采用這種方式后,可以大大提高CPU和DRAM交換數據的效率。

2 Burst模式CPU和FPGA交換數據方法

參考DRAM的讀寫過程,把Burst模式應用到CPU和FPGA之間進行數據交換。FPGA內部的雙口RAM地址不再由CPU給出的地址直接控制,而是使用FPGA內部維護的地址寄存器進行設置。

圖2 CPU和FPGA的連接

另外,為了實現以上工作方式,還需要CPU和FPGA的工作時鐘是同步的,只有這樣,CPU和FPGA才可以按照同樣的步調進行工作,為了實現這種功能,需要CPU和FPGA使用同一個外部時鐘。CPU和FPGA的連接如圖2所示。

另外,CPU需要能夠支持Burst功能,在Freescale的MPC82XX系列CPU中,每個片選輸出都可以靈活地配置Burst的長度、等待周期等,其他的CPU、DSP也有類似的功能。

當CPU開始對FPGA進行讀寫操作的時候,FPGA會把CPU給出的地址存儲到內部地址寄存器,同時雙口RAM開始輸出該地址的數據。在下一個時鐘周期到來時,FPGA會把內部地址寄存器的值加1,內部雙口RAM開始輸出下一個地址中的數據,依此類推,CPU便可以連續地從FPGA內部讀取到雙口RAM中的數據。圖3給出Burst長度等于8時,CPU讀取FPGA內部雙口RAM的時序圖。

圖3 FPGA的Burst時序

CPU給出/CS和/RD信號的同時,也給出了雙口RAM讀地址,在FPGA內部鎖存該地址并把其送到雙口RAM的地址端,在之后的每個時鐘周期內,FPGA會自動把雙口RAM的輸入地址加1,輸出下一個地址雙口RAM中的數據。在圖3中,假定FPGA雙口RAM的輸出延時是2個時鐘周期,那么CPU將會在/RD信號2個周期后讀到地址Addr0中的數據Dout0,第3個周期讀到地址Addr0+1中的數據Dout1,依此類推,在此之后的每個時鐘周期,CPU都可以讀到FPGA中的一個數據。

采用Burst模式要求數據線的各位輸出延時必須基本一致,只有這樣才可以保證各位數據同時到達CPU。表1是FPGA編譯報告中所給出的數據輸出延時的報告。

表1 FPGA的數據輸出延時(單位:ns)

可以看到,16位數據線的輸出延時均為10~20 ns。以100 MHz外頻的MPC8247為例,由于CPU的每個時鐘周期是10 ns,所以數據輸出延時取為2個時鐘周期,此時建立時間最短的是DATA[11]信號,等于3.746 ns;保持時間最短的是DATA[13]信號,等于3.799 ns。查閱MPC8247的手冊,CPU要求的建立時間不小于3.5 ns,保持時間不小于0.5 ns,時序上是可以滿足要求的。當不同數據線之間的延時差異比較大時,可以通過時序約束來保證不同數據線之間延時的一致性。

結 語

對于外頻是100 MHz的CPU,每讀一次至少需要4個時鐘周期,那么讀8次共需要32個時鐘周期,而采用上面的方式后,在10個時鐘周期內就可以讀到8個數據,讀寫速度至少提高了3.2倍。表2是MPC8247在關閉中斷的情況下,實際測試得到的1 s內CPU讀寫FPGA的次數和吞吐率(數據位寬按照16位計算)。

表2 是否采用Burst方式的性能對比

可以看到,采用Burst方式后,CPU讀數據的速度大約提高了3.7倍左右,與理論上基本相符。該方案在產品中經過長期應用,可靠性良好。

[1] 夏宇聞.Verilog數字系統設計教程[M].北京:北京航空航天大學出版社,2009.

[2] 閻石.數字電子技術基礎[M].4版.北京:高等教育出版社,2004.

[3] 羅苑棠.CPLD/FPGA常用模塊與綜合系統設計實例精講[M].北京:電子工業出版社,2007.

[4] Micron Inc.MT48LC4M32 User’s guide,2001.

[5] Freescale Inc.MPC8272 PowerQUICC II Family Reference Manual,2005.

陳慶旭(工程師)、余華武(高級工程師),主要研究方向為繼電保護平臺;朱明浩(助理工程師),主要研究方向為自動化控制。

Method of Exchange Data Quickly Between CPU and FPGA

Chen Qingxu1,Zhu Minghao2,Yu Huawu1

(1.Nanjing SAC Automation Co.,Ltd.,Nanjing 211153,China;2.Nanjing IVECO Co.,Ltd.)

To improve the reading and writing speed of the CPU for FPGA,a method of exchange data quickly between CPU and FPGA based on the Burst mode is proposed.There is a base address register in FPGA.After the CPU finished the first reading command,FPGA can record the address and increase the dual-port RAM address automatically without the address provided by CPU.So the CPU can operate multiple data of the consecutive address.The test results show that the method can improve the data exchanging speed between CPU and FPGA.

CPU;FPGA;Burst;exchange data quickly

TP368.1

A

(責任編輯:薛士然2016-02-29)

主站蜘蛛池模板: 99视频在线观看免费| 亚洲欧美精品日韩欧美| 久久福利片| 特级毛片8级毛片免费观看| 另类重口100页在线播放| 欧美午夜理伦三级在线观看| 亚洲日本在线免费观看| 欧美日韩一区二区在线播放| 亚洲第一在线播放| 国产黄网永久免费| 91麻豆久久久| 91在线国内在线播放老师| 国产精品免费露脸视频| 亚洲成人精品久久| 99热线精品大全在线观看| 丁香婷婷综合激情| 日本人又色又爽的视频| 亚洲第一页在线观看| 国产精品一老牛影视频| 麻豆精品视频在线原创| 美女内射视频WWW网站午夜| 亚洲福利网址| 精品少妇人妻av无码久久| 午夜福利在线观看入口| 另类综合视频| 人妻无码一区二区视频| 国产一区二区三区精品久久呦| 91在线视频福利| 亚洲天堂网在线视频| 亚洲无线观看| 亚洲区第一页| 亚州AV秘 一区二区三区 | 天天综合色天天综合网| 亚洲成人免费在线| 思思99思思久久最新精品| 亚洲日韩精品欧美中文字幕| 小说 亚洲 无码 精品| 亚洲精品欧美日本中文字幕| aaa国产一级毛片| 亚洲福利视频网址| 婷婷亚洲最大| 国产美女丝袜高潮| 国产视频大全| 58av国产精品| 欧美日韩资源| 无码乱人伦一区二区亚洲一| 高潮毛片免费观看| 成人国产小视频| 91精品视频播放| 久久久久夜色精品波多野结衣| 又猛又黄又爽无遮挡的视频网站| 呦女亚洲一区精品| 激情综合图区| 91亚瑟视频| 谁有在线观看日韩亚洲最新视频| 久久青草视频| 中文字幕 日韩 欧美| 最新国产网站| 精品久久国产综合精麻豆| 亚洲首页国产精品丝袜| 2021最新国产精品网站| 欧美午夜一区| 午夜激情婷婷| 国产无码制服丝袜| 免费一级无码在线网站| 久久黄色视频影| 久久精品人人做人人爽电影蜜月| 国产二级毛片| 欧美成人国产| 国产国模一区二区三区四区| 亚洲精品视频免费看| …亚洲 欧洲 另类 春色| 日韩午夜伦| 22sihu国产精品视频影视资讯| 777国产精品永久免费观看| 亚洲精品无码专区在线观看| 色妞www精品视频一级下载| 露脸一二三区国语对白| 男女精品视频| 欧美福利在线观看| 欧美一区精品| 重口调教一区二区视频|