[導(dǎo)讀]通過對FPGA內(nèi)部信號的捕獲測試,可以實(shí)現(xiàn)對系統(tǒng)設(shè)計(jì)缺陷的實(shí)時(shí)分析和修正。與外部測試設(shè)備相比,可以總結(jié)出SignalTapII ELA的幾點(diǎn)優(yōu)越性:不占用額外的I/O引腳,不占用PCB上的空間,不破壞信號的時(shí)序和完整性,不需額外費(fèi)用;從多方面證實(shí),該測試手段可以減少調(diào)試時(shí)間,縮短設(shè)計(jì)周期。
在設(shè)計(jì)基于FPGA的電子系統(tǒng)時(shí),一般需要用示波器、邏輯分析儀等外部測試設(shè)備進(jìn)行輸入輸出信號的測試,借助測試探頭把信號送到測試設(shè)備上進(jìn)行觀察分析。當(dāng)然,前提是需要保留足夠多的引腳,以便能選擇信號來驅(qū)動I/O進(jìn)行測試。但是外部的測試設(shè)備在測試FPGA系統(tǒng)時(shí),常會遇到這樣的情況:FPGA的I/O引腳數(shù)量不夠豐富,PCB布線和封裝丁藝復(fù)雜導(dǎo)致I/O引腳引出困難,外部測試探頭有影響FPGA信號時(shí)序和完整性的可能。
如果能在FPGA內(nèi)部嵌入具有外部測試設(shè)備功能的邏輯測試模塊,那么以上問題就可以一一解決。SignalTapII就是這樣一種嵌入式邏輯分析器(embedded logicanaIyzer),簡稱為SignalTapII ELA。它是QuartusII軟件中集成的內(nèi)部邏輯分析軟件,使用它可以實(shí)時(shí)觀察內(nèi)部信號波形,方便用戶查找設(shè)計(jì)的缺陷。
1 SignalTapII ELA的原理
SignalTapII ELA是Quartus軟件中第二代系統(tǒng)級調(diào)試工具。將SignalTapII ELA代碼和系統(tǒng)邏輯代碼組合交由QuartusII編譯、綜合、布局布線,生成sol文件中內(nèi)含SignalTapII ELA,把sof文件配置到FPGA內(nèi)。FPGA運(yùn)行時(shí),一旦滿足待測信號的觸發(fā)條件,SignalTapII ELA就立即啟動,按照采樣時(shí)鐘的頻率捕獲待測信號數(shù)據(jù)并暫存于FPGA片內(nèi)的RAM中,采樣數(shù)據(jù)不斷刷新片內(nèi)存儲器,最后通過JTAG口將捕獲的信號從片內(nèi)RAM傳至Quartus II實(shí)時(shí)顯示。SignalTapII ELA的原理流程如圖1所示。
實(shí)際工程中,加入SignalTapII ELA不會影響系統(tǒng)原有的邏輯功能。
2 SignalTapII ELA的配置
SignalTapII ELA基本配置過程如下:
①添加采樣時(shí)鐘。SignalTaplI ELA在時(shí)鐘的上升沿進(jìn)行采樣,可以使用設(shè)計(jì)系統(tǒng)中的任何信號作為采樣時(shí)鐘,根據(jù)Altera公司的建議最好使用同步系統(tǒng)全局時(shí)鐘作為采樣時(shí)鐘。但是在實(shí)際應(yīng)用中,多數(shù)使用獨(dú)立的采樣時(shí)鐘,這樣能采樣到被測系統(tǒng)中的慢速信號,或與工作時(shí)鐘相關(guān)的信號。當(dāng)然采樣時(shí)鐘的頻率要大于被測信號的最高頻率,否則被測信號波形會有較大誤差。
②定義采樣深度。采樣深度決定了待測信號采樣存儲的大小,而可以采樣的深度是根據(jù)設(shè)計(jì)中剩余的RAM塊容量和待測信號的個(gè)數(shù)決定的。若待測信號較多,則在同樣I/O Bank個(gè)數(shù)情況下采樣深度較淺。待測信號個(gè)數(shù)的增減和采樣深度的深淺會直接改變RAM塊的占用情況,采樣深度的范圍為0~128 KB。
③定義RAM類型。設(shè)置占用片內(nèi)何種RAM塊資源,隨著采樣深度的改變,RAM塊的數(shù)據(jù)線和地址線寬度可以分割成多種組合。例如:采樣深度是1 KB,RAM數(shù)據(jù)線、地址線可以分割成2×512或4×256等多種組合。依此類推。
④定義觸發(fā)位置。Pre trigger position表示采樣到的數(shù)據(jù)12%為觸發(fā)前,88%為觸發(fā)后;Center trigger position表示采樣的數(shù)據(jù)處于觸發(fā)前后各一半;Post trigger position表示采樣到的數(shù)據(jù)88%為觸發(fā)前,12%為觸發(fā)后。
⑤觸發(fā)條件級數(shù)設(shè)置。SignalTapII ELA支持多觸發(fā)級的觸發(fā)方式,最多可支持10級觸發(fā),幫助濾除不相干的數(shù)據(jù),更快地找到需要的數(shù)據(jù)。若有多級觸發(fā)條件,首先分析第一級觸發(fā)條件。若第一級為TRUE,則轉(zhuǎn)到分析第二級是否滿足,直到分析完所有觸發(fā)條件均為TRUE才最終觸發(fā)時(shí)鐘采樣數(shù)據(jù)。
⑥觸發(fā)條件。設(shè)定約束性的觸發(fā)條件??梢栽试S單個(gè)信號的獨(dú)立觸發(fā)條件Basic,直接采用單個(gè)外部或設(shè)計(jì)模塊內(nèi)部的信號;也可以允許多個(gè)節(jié)點(diǎn)信號的組合觸發(fā)條件Advanced,構(gòu)成觸發(fā)函數(shù)的觸發(fā)條件方程。例如:使能信號ENA與4位輸出信號Q相與后觸發(fā),觸發(fā)條件=ENA&(Q=15)。
⑦添加待測信號。可以使用Node Finder中的SignalTapII ELA Filter查找所有預(yù)綜合和布局布線后的SignalTapII ELA節(jié)點(diǎn),添加待測的中間信號和端口信號。SignalTapII ELA不可測試的信號包括:邏輯單元的進(jìn)位信號、PLL的時(shí)鐘輸出、JTAG引腳信號、LVDS(低壓差分)信號等。
完成STP配置,將sof文件配置到FPGA,運(yùn)行SignalTapII ELA,當(dāng)待測信號條件滿足時(shí),數(shù)據(jù)捕獲開始,捕獲的數(shù)據(jù)以波形的形式表示出來。SignalTapII ELA也可將捕獲數(shù)據(jù)通過多余的I/O引腳輸出,以供外部的測試設(shè)備使用。
3 實(shí)例分析
本文以一個(gè)基于DDR SDRAM高速數(shù)據(jù)采集IP核的設(shè)計(jì)為例,具體說明如何用SignalTapII ELA來進(jìn)行FPGA在線調(diào)試。使用Altera公司的器件CyclonelI系列FPGA EP2C5F256C6,該器件支持SignalTap II ELA。
當(dāng)前需要測試來自3個(gè)模塊的信號:外部存儲器DDR SDRAM與FPGA的接口信號、FPGA內(nèi)部輸入輸出PIO寄存器信號、FPGA內(nèi)部RAM接口信號。
先關(guān)閉增量編譯,設(shè)置采樣時(shí)鐘為外部獨(dú)立時(shí)鐘CLK=50 MHz;采樣深度為256;RAM類型為M4K,數(shù)據(jù)寬度分割為256×1;觸發(fā)位置為Pre trigger position;觸發(fā)信號為DDR SDRAM讀操作信號;觸發(fā)條件為Basic單信號觸發(fā);觸發(fā)條件級數(shù)為1級。從圖2可知,該觸發(fā)信號設(shè)置為上升沿觸發(fā)有效。重新編譯后將包含SignalTapIIELA的sof配置文件下載到FPGA中,圖3即是從SignalTap II ELA數(shù)據(jù)窗觀察到的來自FPGA內(nèi)部實(shí)時(shí)信號的捕獲波形。
如果設(shè)計(jì)文件中添加SignalTapII ELA后編譯時(shí)間顯著增加,可以考慮使用Start Analysis&Elaboration代替Start Analysis&Synthesis,這樣可以顯著縮短編譯時(shí)間。
加入SignalTapII ELA后,如果發(fā)現(xiàn)一些用于調(diào)試的邏輯(比如調(diào)試用的計(jì)數(shù)器)被優(yōu)化掉,不能出現(xiàn)在波形中,可以嘗試這樣解決:在HDL設(shè)計(jì)文件中對要調(diào)試的信號添加保持或保護(hù)屬性。
保持屬性主要用于信號和網(wǎng)絡(luò)節(jié)點(diǎn)。代碼如下(以VHDL為例):
signal my_signal:bit;
attribute syn_keep:boolean;
attribute syn_keep of my_signal signal is true;
保護(hù)屬性主要用于寄存器。代碼如下(以VHDL為例):
signal my_reg:std_logic;
attribute preserve:boolean;
attribute preserve of my_signal:signal is true;
通過改變待測信號的觸發(fā)方式和條件,可以捕獲到其他相類似的信號波形,這里就不一一列舉。
需要注意的是,SignalTapII ELA本身是一塊獨(dú)立邏輯資源,需要占據(jù)FPGA資源。比如RAM、LE等,資源消耗量與需采集的數(shù)據(jù)量成正比,采集存儲的數(shù)據(jù)深度由設(shè)計(jì)中的內(nèi)部RAM剩余大小決定。在調(diào)試完成后,需將SignalTapII ELA從系統(tǒng)邏輯設(shè)計(jì)中移除,以免浪費(fèi)資源和影響設(shè)計(jì)的性能。
結(jié) 語
通過對FPGA內(nèi)部信號的捕獲測試,可以實(shí)現(xiàn)對系統(tǒng)設(shè)計(jì)缺陷的實(shí)時(shí)分析和修正。與外部測試設(shè)備相比,可以總結(jié)出SignalTapII ELA的幾點(diǎn)優(yōu)越性:不占用額外的I/O引腳,不占用PCB上的空間,不破壞信號的時(shí)序和完整性,不需額外費(fèi)用;從多方面證實(shí),該測試手段可以減少調(diào)試時(shí)間,縮短設(shè)計(jì)周期。
本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
最近為什么越來越多的研究開始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來什么神奇效果呢?原來,F(xiàn)PGA擁有大量的可編程邏輯資源,相對于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無法比擬的;同時(shí)...
關(guān)鍵字:
FPGA
可編程邏輯資源
GPU
FPGA的應(yīng)用領(lǐng)域包羅萬象,我們今天來看看在音樂科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。
關(guān)鍵字:
FPGA
科技領(lǐng)域
智能
最近某項(xiàng)目采用以太網(wǎng)通信,實(shí)踐起來有些奇怪,好像設(shè)計(jì)成只能應(yīng)答某類計(jì)算機(jī)的ICMP(ping)命令, 某類計(jì)算機(jī)指的是Windows特定系統(tǒng),其他系統(tǒng)發(fā)送ping都不能正確識別。
關(guān)鍵字:
嵌入式Linux
FPGA
協(xié)議
近兩年,國外廠商的FPGA芯片價(jià)格飆升,由于價(jià)格,貨期,出口管制等多方面因素的影響,很多公司都在尋找FPGA國產(chǎn)化替代方案。我工作中正在使用的幾款芯片也面臨停產(chǎn)的風(fēng)險(xiǎn),用一片少一片,了解到國產(chǎn)FPGA發(fā)展的也不錯(cuò),完全自...
關(guān)鍵字:
FPGA
芯片
EDA
本篇是FPGA之旅設(shè)計(jì)的第十二例,在前面的例程中,完成了DS18B20溫度傳感器數(shù)據(jù)的采集,并且將采集到的數(shù)據(jù)顯示在數(shù)碼管上。由于本例將對溫濕度傳感器DHT11進(jìn)行采集,而且兩者的數(shù)據(jù)采集過程類似,所以可以參考一下前面的...
關(guān)鍵字:
FPGA
DS18B20溫度傳感器
這是FPGA之旅設(shè)計(jì)的第十三例啦,本例是一個(gè)綜合性的例程,基于OLED屏幕顯示,和DHT11溫濕度采集,將DHT11采集到的溫濕度顯示到OLED屏幕上。
關(guān)鍵字:
FPGA
OLED屏幕
這是FPGA之旅設(shè)計(jì)的第九例啦?。?!本例將介紹如何使用FPGA驅(qū)動OLED屏幕,并在接下來的幾例中,配合其它模塊,進(jìn)行一些有趣的綜合實(shí)驗(yàn)。由于使用的OLED屏是IIC接口的,對IIC接口不是很清楚的,可以參考第五例的設(shè)計(jì)...
關(guān)鍵字:
FPGA
OLED屏幕
這是FPGA之旅設(shè)計(jì)的第十例啦,在上一例中,已經(jīng)成功驅(qū)動了OLED屏幕,本例將結(jié)合上一例,以及第四例多bytes串口通信做一個(gè)有趣的例程。
關(guān)鍵字:
FPGA
OLED屏
串口
這是FPGA之旅的第十一例了。在前面的例子中,已經(jīng)對OLED有了一個(gè)基礎(chǔ)的了解,本例將介紹如何在OLED上實(shí)現(xiàn)支符的顯示,為后面的例程做準(zhǔn)備。
關(guān)鍵字:
FPGA
OLED
字符
在許多高可靠性商業(yè)航空、太空、國防、汽車和工業(yè)應(yīng)用中使用的系統(tǒng)需要獲得IEC 61508安全完整性等級(SIL)3功能安全規(guī)范的認(rèn)證。為了降低這一過程的成本,并加快上市,Microchip Technology Inc....
關(guān)鍵字:
Microchip
FPGA
本例是FPGA之旅設(shè)計(jì)的第十四例,本例將紅外遙控的使用,并將紅外接收器接收到紅外遙控的數(shù)據(jù)顯示在數(shù)碼管上。
關(guān)鍵字:
FPGA
紅外遙控信號
加利福尼亞州圣克拉拉市,2022年9月19日——高性能現(xiàn)場可編程邏輯門陣列(FPGA)和嵌入式FPGA(eFPGA)半導(dǎo)體知識產(chǎn)權(quán)(IP)領(lǐng)域的領(lǐng)導(dǎo)性企業(yè)Achronix半導(dǎo)體公司宣布:該公司已經(jīng)收購了Accolade...
關(guān)鍵字:
Achronix
FPGA
Flex Logix目前在推廣他們的嵌入式 FPGA 技術(shù)。它非常堅(jiān)固。它已經(jīng)投放市場多年,并在許多流程節(jié)點(diǎn)上得到廣泛支持。他們看到越來越多的客戶采用該技術(shù),他們正在宣傳并嘗試與更多的架構(gòu)師和設(shè)計(jì)師會面,與他們分享他們可...
關(guān)鍵字:
Flex Logix
FPGA
這是FPGA之旅設(shè)計(jì)的第五例啦!今天給大家?guī)淼氖荌IC通信,IIC協(xié)議應(yīng)用非常廣泛,例如與MPU6050進(jìn)行通信,配置OV5640攝像頭、驅(qū)動OLED屏幕等等,都需要使用到IIC協(xié)議,所以掌握它是非常必要的,廢話不多說...
關(guān)鍵字:
FPGA
IIC協(xié)議
Altium Designer 提供了唯一一款統(tǒng)一的應(yīng)用方案,其綜合電子產(chǎn)品一體化開發(fā)所需的所有必須技術(shù)和功能。Altium Designer 在單一設(shè)計(jì)環(huán)境中集成板級和FPGA系統(tǒng)設(shè)計(jì)
關(guān)鍵字:
ad10
電子產(chǎn)品
FPGA
該芯片為國內(nèi)首顆基于22nm工藝制程,并已成功量產(chǎn)的FPGA芯片。
關(guān)鍵字:
京微齊力
FPGA
芯片
作為中科院唯一一支從事FPGA技術(shù)產(chǎn)品化及產(chǎn)業(yè)化的團(tuán)隊(duì),中科億海微此次榮獲“中國IC獨(dú)角獸”榮譽(yù)稱號,既是市場、用戶、行業(yè)對中科億海微實(shí)力的認(rèn)可,更是對公司未來發(fā)展前景的看好。
關(guān)鍵字:
中科億海微
FPGA
在這篇文章中,小編將對FPGA芯片的相關(guān)內(nèi)容和情況加以介紹以幫助大家增進(jìn)對FPGA芯片的了解程度,和小編一起來閱讀以下內(nèi)容吧。
關(guān)鍵字:
FPGA
芯片
ASIC