本技術(shù)涉及測試,特別是涉及一種fpga測試數(shù)據(jù)采集方法、fpga及裝置。
背景技術(shù):
1、相關(guān)技術(shù)中,fpga(field?programmable?gate?array,現(xiàn)場可編程門陣列)開發(fā)人員在對fpga進(jìn)行調(diào)試定位時需要依賴fpga廠商提供的工具抓取fpga內(nèi)部的信號波形,作為測試數(shù)據(jù)。但是使用以上工具時需要使用jtag(join?test?action?group,聯(lián)合測試工作組)加載盒子,jtag加載盒子與fpga相連。并且,接收測試數(shù)據(jù),并對測試數(shù)據(jù)進(jìn)行處理生成測試結(jié)果的調(diào)試機(jī)上還需要安裝eda(electronic?design?automation,電子設(shè)計自動化)軟件。調(diào)試機(jī)與jtag之間通過有線或無線網(wǎng)絡(luò)通信連接,進(jìn)行數(shù)據(jù)交互。
2、參見圖1,為相關(guān)技術(shù)中的一種fpga測試場景示意圖。圖中包含調(diào)試機(jī)、jtag加載盒子與fpga。圖中示出了三者之間的連接關(guān)系。
3、由此可見,相關(guān)技術(shù)中進(jìn)行fpga測試數(shù)據(jù)的采集需要專用的jtag加載盒子和eda軟件,導(dǎo)致fpga調(diào)試的軟硬件成本較大。
技術(shù)實(shí)現(xiàn)思路
1、本技術(shù)實(shí)施例的目的在于提供一種fpga測試數(shù)據(jù)采集方法、fpga及裝置,以降低fpga的調(diào)試成本。具體技術(shù)方案如下:
2、在本技術(shù)實(shí)施例的第一方面,首先提供了一種fpga測試數(shù)據(jù)采集方法,應(yīng)用于fpga,所述fpga與調(diào)試機(jī)相連,所述方法包括:
3、接收調(diào)試機(jī)發(fā)送的配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
4、采集所述fpga所處理的信號數(shù)據(jù),將所采集的信號數(shù)據(jù)存儲于所述fpga中的隨機(jī)存儲器ram內(nèi);
5、從所采集的信號數(shù)據(jù)滿足所述終止條件起,延時停止信號數(shù)據(jù)采集;
6、從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù);其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
7、根據(jù)所述測試數(shù)據(jù)生成測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件。
8、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序;
9、所述在所采集的信號數(shù)據(jù)滿足所述終止條件之后,延時停止信號數(shù)據(jù)采集,包括:
10、從所采集的信號數(shù)據(jù)滿足所述終止條件起,繼續(xù)在目標(biāo)時鐘周期中采集有效信號數(shù)據(jù)后停止采集;其中,所述目標(biāo)時鐘周期的數(shù)量為所述采樣深度與所述觸發(fā)位置之差;
11、所述從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù),包括:
12、從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取包含所述有效信號數(shù)據(jù)的測試數(shù)據(jù)。
13、在一種可能的實(shí)施例中,在一個時鐘周期中采集的信號數(shù)據(jù)的數(shù)據(jù)量大于一個ram的數(shù)據(jù)位寬的情況下,所述將所采集的信號數(shù)據(jù)存儲于所述fpga中的隨機(jī)存儲器ram內(nèi),包括:
14、將同一時鐘周期采集的信號數(shù)據(jù)中的不同部分,分別存儲于所述fpga中的多個ram的次序相同的行中;
15、所述從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù),包括:
16、分別從所述多個ram中讀取數(shù)據(jù);
17、將所讀取的所述多個ram中的數(shù)據(jù)組合為測試數(shù)據(jù),其中,每一測試數(shù)據(jù)由所述多個ram中次序相同的行內(nèi)記載的數(shù)據(jù)組成。
18、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
19、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
20、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
21、在本技術(shù)實(shí)施例的第二方面,還提供了一種fpga測試數(shù)據(jù)采集方法,應(yīng)用于調(diào)試機(jī),所述調(diào)試機(jī)與現(xiàn)場可編程門陣列fpga相連,所述方法包括:
22、獲取配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
23、向所述fpga發(fā)送配置信息,以使得所述fpga根據(jù)所述配置信息采集所述fpga處理的信號數(shù)據(jù),并生成包含所采集的信號數(shù)據(jù)中測試數(shù)據(jù)的測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件;其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
24、接收所述fpga發(fā)送的測試文件。
25、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為所述fpga在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序。
26、在一種可能的實(shí)施例中,在所述接收所述fpga發(fā)送的測試文件之后,還包括:
27、在信號波形顯示界面中顯示所述測試文件表示的信號波形。
28、在一種可能的實(shí)施例中,所述獲取配置信息,包括:
29、接收配置信息輸入信號;其中,所述配置信息輸入信號用于指示待生成的配置信息中包含的參數(shù)的取值;
30、根據(jù)所述配置信息輸入信號,生成配置信息。
31、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
32、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
33、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
34、在本技術(shù)實(shí)施例的第三方面,還提供了一種fpga,所述fpga與調(diào)試機(jī)相連,所述fpga用于執(zhí)行以下操作:
35、接收調(diào)試機(jī)發(fā)送的配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
36、采集所述fpga所處理的信號數(shù)據(jù),將所采集的信號數(shù)據(jù)存儲于所述fpga中的隨機(jī)存儲器ram內(nèi);
37、從所采集的信號數(shù)據(jù)滿足所述終止條件起,延時停止信號數(shù)據(jù)采集;
38、從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù);其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
39、根據(jù)所述測試數(shù)據(jù)生成測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件。
40、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序;所述fpga具體用于:
41、從所采集的信號數(shù)據(jù)滿足所述終止條件起,繼續(xù)在目標(biāo)時鐘周期中采集有效信號數(shù)據(jù)后停止采集;其中,所述目標(biāo)時鐘周期的數(shù)量為所述采樣深度與所述觸發(fā)位置之差;
42、所述fpga具體用于:
43、從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取包含所述有效信號數(shù)據(jù)的測試數(shù)據(jù)。
44、在一種可能的實(shí)施例中,在一個時鐘周期中采集的信號數(shù)據(jù)的數(shù)據(jù)量大于一個ram的數(shù)據(jù)位寬的情況下,所述fpga具體用于:
45、將同一時鐘周期采集的信號數(shù)據(jù)中的不同部分,分別存儲于所述fpga中的多個ram的次序相同的行中;
46、所述fpga具體用于:
47、分別從所述多個ram中讀取數(shù)據(jù);
48、將所讀取的所述多個ram中的數(shù)據(jù)組合為測試數(shù)據(jù),其中,每一測試數(shù)據(jù)由所述多個ram中次序相同的行內(nèi)記載的數(shù)據(jù)組成。
49、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
50、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
51、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
52、在本技術(shù)實(shí)施例的第四方面,還提供了一種調(diào)試機(jī),所述調(diào)試機(jī)與現(xiàn)場可編程門陣列fpga相連,所述調(diào)試機(jī)包括存儲器,收發(fā)機(jī),處理器:
53、存儲器,用于存儲計算機(jī)程序;收發(fā)機(jī),用于在所述處理器的控制下收發(fā)數(shù)據(jù);處理器,用于讀取所述存儲器中的計算機(jī)程序并執(zhí)行以下操作:
54、獲取配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
55、向所述fpga發(fā)送配置信息,以使得所述fpga根據(jù)所述配置信息采集所述fpga處理的信號數(shù)據(jù),并生成包含所采集的信號數(shù)據(jù)中測試數(shù)據(jù)的測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件;其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
56、接收所述fpga發(fā)送的測試文件。
57、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為所述fpga在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序。
58、在一種可能的實(shí)施例中,所述處理器,還用于:
59、在信號波形顯示界面中顯示所述測試文件表示的信號波形。
60、在一種可能的實(shí)施例中,所述處理器,具體用于:
61、接收配置信息輸入信號;其中,所述配置信息輸入信號用于指示待生成的配置信息中包含的參數(shù)的取值;
62、根據(jù)所述配置信息輸入信號,生成配置信息。
63、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
64、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
65、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
66、在本技術(shù)實(shí)施例的第五方面,還提供了一種fpga測試數(shù)據(jù)采集裝置,應(yīng)用于現(xiàn)場可編程門陣列fpga,所述fpga與調(diào)試機(jī)相連,所述裝置包括:
67、信息接收模塊,用于接收調(diào)試機(jī)發(fā)送的配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
68、第一采集模塊,用于采集所述fpga所處理的信號數(shù)據(jù),將所采集的信號數(shù)據(jù)存儲于所述fpga中的隨機(jī)存儲器ram內(nèi);
69、第二采集模塊,用于從所采集的信號數(shù)據(jù)滿足所述終止條件起,延時停止信號數(shù)據(jù)采集;
70、數(shù)據(jù)讀取模塊,用于從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù);其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
71、文件發(fā)送模塊,用于根據(jù)所述測試數(shù)據(jù)生成測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件。
72、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序;
73、所述第二采集模塊,具體用于:
74、從所采集的信號數(shù)據(jù)滿足所述終止條件起,繼續(xù)在目標(biāo)時鐘周期中采集有效信號數(shù)據(jù)后停止采集;其中,所述目標(biāo)時鐘周期的數(shù)量為所述采樣深度與所述觸發(fā)位置之差;
75、所述數(shù)據(jù)讀取模塊,具體用于:
76、從所述ram中存儲的信號數(shù)據(jù)內(nèi)讀取包含所述有效信號數(shù)據(jù)的測試數(shù)據(jù)。
77、在一種可能的實(shí)施例中,在一個時鐘周期中采集的信號數(shù)據(jù)的數(shù)據(jù)量大于一個ram的數(shù)據(jù)位寬的情況下,所述第一采集模塊,具體用于:
78、將同一時鐘周期采集的信號數(shù)據(jù)中的不同部分,分別存儲于所述fpga中的多個ram的次序相同的行中;
79、所述數(shù)據(jù)讀取模塊,具體用于:
80、分別從所述多個ram中讀取數(shù)據(jù);
81、將所讀取的所述多個ram中的數(shù)據(jù)組合為測試數(shù)據(jù),其中,每一測試數(shù)據(jù)由所述多個ram中次序相同的行內(nèi)記載的數(shù)據(jù)組成。
82、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
83、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
84、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
85、在本技術(shù)實(shí)施例的第六方面,還提供了一種fpga測試數(shù)據(jù)采集裝置,應(yīng)用于調(diào)試機(jī),所述調(diào)試機(jī)與現(xiàn)場可編程門陣列fpga相連,所述裝置包括:
86、信息獲取模塊,用于獲取配置信息;其中,所述配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度;
87、信息發(fā)送模塊,用于向所述fpga發(fā)送配置信息,以使得所述fpga根據(jù)所述配置信息采集所述fpga處理的信號數(shù)據(jù),并生成包含所采集的信號數(shù)據(jù)中測試數(shù)據(jù)的測試文件,向所述調(diào)試機(jī)發(fā)送所述測試文件;其中,所述測試數(shù)據(jù)為連續(xù)采集的、在所述采樣深度個時鐘周期中采集的信號數(shù)據(jù),所述測試數(shù)據(jù)中包含在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù);
88、文件接收模塊,用于接收所述fpga發(fā)送的測試文件。
89、在一種可能的實(shí)施例中,所述配置信息還表示觸發(fā)位置,所述觸發(fā)位置為所述fpga在滿足所述終止條件的時鐘周期中采集的信號數(shù)據(jù)在所述測試數(shù)據(jù)中的次序。
90、在一種可能的實(shí)施例中,在所述文件接收模塊接收所述fpga發(fā)送的測試文件之后,還包括:
91、波形顯示模塊,用于在信號波形顯示界面中顯示所述測試文件表示的信號波形。
92、在一種可能的實(shí)施例中,所述信息獲取模塊,具體用于:
93、接收配置信息輸入信號;其中,所述配置信息輸入信號用于指示待生成的配置信息中包含的參數(shù)的取值;
94、根據(jù)所述配置信息輸入信號,生成配置信息。
95、在一種可能的實(shí)施例中,所述終止條件包括一個或多個觸發(fā)條件;
96、在所述終止條件包括多個觸發(fā)條件時,相鄰的觸發(fā)條件之間存在邏輯關(guān)系。
97、在一種可能的實(shí)施例中,所述觸發(fā)條件包括:信號值、觸發(fā)門限、所述信號值和觸發(fā)門限之間的關(guān)系符。
98、在本技術(shù)實(shí)施的又一方面,還提供了一種計算機(jī)可讀存儲介質(zhì),所述計算機(jī)可讀存儲介質(zhì)內(nèi)存儲有計算機(jī)程序,所述計算機(jī)程序被處理器執(zhí)行時實(shí)現(xiàn)上述第一方面或第二方面任一所述的方法步驟。
99、本技術(shù)實(shí)施例有益效果:
100、本技術(shù)實(shí)施例提供的fpga測試數(shù)據(jù)采集方法,fpga在接收到調(diào)試機(jī)發(fā)送的配置信息的情況下,采集fpga所處理的信號數(shù)據(jù),將所采集的信號數(shù)據(jù)存儲于fpga中的ram內(nèi)。由于配置信息表示信號數(shù)據(jù)采集的終止條件、采樣深度,fpga從所采集的信號數(shù)據(jù)滿足終止條件起,延時停止信號數(shù)據(jù)采集,并從ram中存儲的信號數(shù)據(jù)內(nèi)讀取測試數(shù)據(jù),根據(jù)測試數(shù)據(jù)生成測試文件,向調(diào)試機(jī)發(fā)送測試文件,從而完成fpga測試數(shù)據(jù)的采集過程。
101、此外,由于fpga測試數(shù)據(jù)的采集過程中,fpga與調(diào)試機(jī)相連,不需要專用的jtag加載盒子和eda軟件,省去了專用的jtag加載盒子和eda軟件的成本,從而降低了fpga的調(diào)試成本。
102、當(dāng)然,實(shí)施本技術(shù)的任一產(chǎn)品或方法并不一定需要同時達(dá)到以上所述的所有優(yōu)點(diǎn)。