新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > FPGA中定時(shí)循環(huán)啟動(dòng)開銷測(cè)試

FPGA中定時(shí)循環(huán)啟動(dòng)開銷測(cè)試

作者: 時(shí)間:2017-01-09 來源:網(wǎng)絡(luò) 收藏

1. 背景及目的

FPGA代碼中,會(huì)遇到將定時(shí)循環(huán)嵌入非定時(shí)循環(huán)的情況,此時(shí)定時(shí)循環(huán)將反復(fù)啟動(dòng)和停止。這個(gè)定時(shí)循環(huán)的時(shí)間開銷如何,需要測(cè)試驗(yàn)證。
定時(shí)循環(huán)的時(shí)間開銷應(yīng)包含兩個(gè)方面:1.定時(shí)循環(huán)的啟動(dòng)開銷,2.定時(shí)循環(huán)的運(yùn)行開銷。
對(duì)于第1點(diǎn),目前沒有找到FPGA的具體說明信息,而且這個(gè)時(shí)間開銷應(yīng)該和具體的時(shí)鐘配置相關(guān)。
對(duì)于第2點(diǎn),F(xiàn)PGA編譯保障了每遍運(yùn)行時(shí)間嚴(yán)格按照指定時(shí)鐘周期運(yùn)行。
所以,可以編寫簡單程序測(cè)試FPGA定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷。

2. 測(cè)試方法

軟硬件環(huán)境:LabVIEW 2011,LabVIEW FPGA 2011
NI PXI-7851

測(cè)試配置及代碼:

1.FPGA Target下新建多個(gè)時(shí)鐘


2.FPGA Target的top-level clock配置為80MHz時(shí)鐘

3.FPGA代碼中對(duì)不同時(shí)鐘運(yùn)行指定次數(shù)進(jìn)行計(jì)時(shí)


4.Host端指定循環(huán)次數(shù),并讀取每次的計(jì)時(shí)結(jié)果


3. 測(cè)試結(jié)果

由于Top-Level clock是80MHz,所以所有計(jì)時(shí)器的1個(gè)Tick代表的是80MHz時(shí)鐘的1周期,
在160M時(shí)鐘下,定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷約10個(gè)Tick,運(yùn)行時(shí)間是每遍循環(huán)0.5個(gè)Tick;
在80M時(shí)鐘下,定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷約1個(gè)Tick,運(yùn)行時(shí)間是每遍循環(huán)1個(gè)Tick;
在40M時(shí)鐘下,定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷約為28個(gè)Tick,運(yùn)行時(shí)間是每遍循環(huán)2個(gè)Tick;
在20M時(shí)鐘下,定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷約為48個(gè)Tick,運(yùn)行時(shí)間是每遍循環(huán)4個(gè)Tick。
結(jié)果表明:
與Top-Level Clock 相同時(shí)鐘驅(qū)動(dòng)的定時(shí)循環(huán)的啟動(dòng)時(shí)間開銷大大小于其他時(shí)鐘下的定時(shí)循環(huán)。
在非Top-Level Clock情況下,定時(shí)循環(huán)的時(shí)鐘頻率越低,啟動(dòng)時(shí)間越長。


4. 結(jié)論
在FPGA代碼中,

本文引用地址:http://m.butianyuan.cn/article/201701/337464.htm
  • 盡量避免循環(huán)的嵌套。盡量讓最外層循環(huán)為定時(shí)循環(huán)。

  • 定時(shí)循環(huán)的啟動(dòng)有時(shí)間開銷。如果在非定時(shí)循環(huán)中反復(fù)運(yùn)行定時(shí)循環(huán),需要考慮定時(shí)循環(huán)的啟動(dòng)開銷。

  • 盡量讓非定時(shí)循環(huán)中的定時(shí)循環(huán)工作在Top-Level Clock下,此時(shí)的啟動(dòng)開銷為1個(gè)Tick。



評(píng)論


技術(shù)專區(qū)

關(guān)閉