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久久精品久久久久久婷婷| 久久国产乱子| 欧美精品在线视频观看| a在线观看免费| 欧美福利在线| 综1合AV在线播放| 蜜桃视频一区二区| 国产波多野结衣中文在线播放| 最新国产你懂的在线网址| 国产自在线播放| 亚洲男人的天堂在线| 一区二区自拍| 国产精品免费露脸视频| 黄色网在线| 97精品久久久大香线焦| 色欲综合久久中文字幕网| 人妻少妇久久久久久97人妻| 国产三级精品三级在线观看| 天堂亚洲网| 国产精品第一区| 日本高清在线看免费观看| 最新日本中文字幕| 三级视频中文字幕| 东京热高清无码精品| 欧美午夜在线播放| 99中文字幕亚洲一区二区| 国语少妇高潮| 中国黄色一级视频| 日a本亚洲中文在线观看| 亚洲天堂成人在线观看| 亚洲日韩AV无码一区二区三区人 | 丁香六月激情综合| 小说 亚洲 无码 精品| 亚洲国产精品美女| 欧美成人a∨视频免费观看| 青青操视频在线| 99热这里只有精品在线观看| 永久毛片在线播| 视频二区国产精品职场同事| 欧美黄网站免费观看| 激情综合婷婷丁香五月尤物| 九九精品在线观看| 亚洲婷婷丁香| 国产1区2区在线观看| 欧洲av毛片| 国产综合无码一区二区色蜜蜜| 日本免费一区视频| 国产激爽大片在线播放| 久久夜色精品国产嚕嚕亚洲av| 成人午夜视频网站| a色毛片免费视频| 亚洲aaa视频| 99这里只有精品免费视频| 91精品国产丝袜| 四虎亚洲精品| 日本在线国产| 国产成人精品视频一区二区电影| 欧美日韩第三页| 色婷婷国产精品视频| 91在线高清视频| 久久这里只有精品66| 久久黄色一级视频| 亚洲色图欧美视频| 亚洲第一区在线| 99久久99视频| 99精品一区二区免费视频| 日本精品一在线观看视频| 国产精品综合久久久| 高清色本在线www| 欧美色丁香| 97国产在线观看| 日韩欧美国产区| 欧美性色综合网| 亚洲色欲色欲www在线观看| 亚洲免费成人网| 免费看a级毛片| 热久久这里是精品6免费观看| 国产精品原创不卡在线| 五月天天天色| 思思热在线视频精品| 亚洲一欧洲中文字幕在线| 在线中文字幕日韩|