利用計(jì)算機(jī)打印口調(diào)試FPGA
發(fā)布時(shí)間:2007/9/11 0:00:00 訪問次數(shù):561
摘要:介紹一種用于計(jì)算機(jī)打印口調(diào)試ALTERA的FLEX10K系列FPGA的方法。對(duì)于沒有ALTERA的Quartus軟件的設(shè)計(jì)者,該方法可以在一定程序上彌補(bǔ)MAX+PLUSIII軟件沒有SinalTap邏輯分析功能的不足。
關(guān)鍵詞:并行口 MAX+PLUSII FPGA 硬件調(diào)試
隨著FPGA實(shí)現(xiàn)的功能越來越復(fù)雜,其調(diào)試也越來越困難。尤其對(duì)于輸入/輸出較少、內(nèi)部運(yùn)算復(fù)雜的FPGA設(shè)計(jì)來說,其內(nèi)部操作就象一個(gè)“黑箱”,數(shù)據(jù)進(jìn)入這個(gè)“黑箱”后,它如何被操作、傳輸,設(shè)計(jì)者很難知道。僅憑很少的輸入/輸出信號(hào),很難判斷設(shè)計(jì)是否有問題以及問題的癥結(jié)所在。因此,在硬件調(diào)試中非常有必要深入FPGA內(nèi)部去了解數(shù)據(jù)的運(yùn)算、存儲(chǔ)、流動(dòng)是否正常。
目前FPGA的調(diào)試手段很不理想。以ALTERA的器件為例,雖然它的大多數(shù)EPLD、FPGA芯片都帶有JTAG接口,但MAX+PLUSII系列軟件不支持真正的邊界掃描功能,而只是把JTAG接口作為器件配置接口。這就迫使設(shè)計(jì)者必須把芯片內(nèi)部的信號(hào)引到外部引腳上,通過示波器進(jìn)行測(cè)量和調(diào)試。但問題是:當(dāng)需要引出的內(nèi)部信號(hào)很多時(shí),一是有可能世馘 管腳不夠分配,二是必須使用昂貴的邏輯分析儀來同時(shí)測(cè)量這些引出的信號(hào),調(diào)試的代價(jià)非常高昂。
ALTERA最新的Quartus軟件中有一個(gè)SignalTap邏輯分析功能,配以專用的硬件,可以使FPGA的調(diào)試變得輕松簡(jiǎn)單。SignalTap的操作原理是:用戶在自已的設(shè)計(jì)中插入一個(gè)具有SignalTap功能的特公平宏模塊,并定義需記錄的節(jié)點(diǎn)名、數(shù)據(jù)長(zhǎng)度、記錄用時(shí)鐘信號(hào)、觸發(fā)記錄的條件等,然后啟動(dòng)硬件運(yùn)行。當(dāng)記錄完成后,器件內(nèi)部指定節(jié)點(diǎn)的數(shù)據(jù)序列便通過器件的JTAG口傳入計(jì)算機(jī),以波形的方式顯示到屏幕上,設(shè)計(jì)者就可以進(jìn)行高效率的調(diào)試了。
不過,對(duì)于那些仍在使用AMX+PLUSII的用戶,就享受不到這種方便了。為此,本人設(shè)計(jì)了一種利用計(jì)算機(jī)并行口調(diào)試FPGA的方法,同樣可以用于讀出FPGA內(nèi)部數(shù)據(jù),提高調(diào)試效率。仍在使用MAX+PLUS II軟件的朋友不妨一試。
1 FPGA的并行口調(diào)試方法
調(diào)試用硬件平臺(tái)示意圖如圖1所示。本方法具有以下特點(diǎn):
1.由于采用VHDL語言編程,因此其跨工藝的通用性較強(qiáng)。在ALTERA的FPGA上可有物功能,可以較方便地移植到其它廠家的FPGA上使用(而ALTERA或XILINX的JTAG調(diào)試功能必須在設(shè)計(jì)中調(diào)用特定的寵模塊);
2.設(shè)計(jì)得必須根據(jù)要記錄的數(shù)據(jù)源的不同來修改VHDL設(shè)計(jì),因此靈活性稍差;
3.沒有使用器件的邊界掃描功能和JTAG口,而是從器件上任意選擇6個(gè)可用引腳作為接口,自己定義邏輯把片內(nèi)RAM塊中的數(shù)據(jù)讀出;
4.需要2臺(tái)計(jì)算機(jī)協(xié)同工作(當(dāng)然,如果不怕配置和調(diào)試時(shí)頻敏拔插接頭的麻煩煩,也可以采用一臺(tái)計(jì)算機(jī));
5.考慮到與底層硬件打交道的方便性及維持較高傳送速度的需要,采用C語言程序與FPGA通訊,進(jìn)行數(shù)據(jù)傳送;數(shù)據(jù)格式變換及顯示彩MATLAB程序。
PC機(jī)與打印口之間的信號(hào)有三種:
一是8位數(shù)據(jù)輸出信號(hào),占據(jù)25針打印機(jī)接口的2~9腳,其I/O地址為378H,本設(shè)計(jì)中未用至;
二是打印機(jī)的控制輸出寄存器,其I/O地址為37AH.。本設(shè)計(jì)使用了該寄存器的最低位STROBE(1腳)作為計(jì)算機(jī)輸出信號(hào)Cpu_answer,其為高時(shí)表示計(jì)算機(jī)收到數(shù)據(jù),通知FPGA可以傳送下一組數(shù)據(jù);
三是打印機(jī)的狀態(tài)讀入寄存器,其I/O地址為379H。本設(shè)計(jì)將其最高位BUSY用來接收FPGA發(fā)出的“數(shù)據(jù)有效”信號(hào)Sned_data_avi,將其第3
摘要:介紹一種用于計(jì)算機(jī)打印口調(diào)試ALTERA的FLEX10K系列FPGA的方法。對(duì)于沒有ALTERA的Quartus軟件的設(shè)計(jì)者,該方法可以在一定程序上彌補(bǔ)MAX+PLUSIII軟件沒有SinalTap邏輯分析功能的不足。
關(guān)鍵詞:并行口 MAX+PLUSII FPGA 硬件調(diào)試
隨著FPGA實(shí)現(xiàn)的功能越來越復(fù)雜,其調(diào)試也越來越困難。尤其對(duì)于輸入/輸出較少、內(nèi)部運(yùn)算復(fù)雜的FPGA設(shè)計(jì)來說,其內(nèi)部操作就象一個(gè)“黑箱”,數(shù)據(jù)進(jìn)入這個(gè)“黑箱”后,它如何被操作、傳輸,設(shè)計(jì)者很難知道。僅憑很少的輸入/輸出信號(hào),很難判斷設(shè)計(jì)是否有問題以及問題的癥結(jié)所在。因此,在硬件調(diào)試中非常有必要深入FPGA內(nèi)部去了解數(shù)據(jù)的運(yùn)算、存儲(chǔ)、流動(dòng)是否正常。
目前FPGA的調(diào)試手段很不理想。以ALTERA的器件為例,雖然它的大多數(shù)EPLD、FPGA芯片都帶有JTAG接口,但MAX+PLUSII系列軟件不支持真正的邊界掃描功能,而只是把JTAG接口作為器件配置接口。這就迫使設(shè)計(jì)者必須把芯片內(nèi)部的信號(hào)引到外部引腳上,通過示波器進(jìn)行測(cè)量和調(diào)試。但問題是:當(dāng)需要引出的內(nèi)部信號(hào)很多時(shí),一是有可能世馘 管腳不夠分配,二是必須使用昂貴的邏輯分析儀來同時(shí)測(cè)量這些引出的信號(hào),調(diào)試的代價(jià)非常高昂。
ALTERA最新的Quartus軟件中有一個(gè)SignalTap邏輯分析功能,配以專用的硬件,可以使FPGA的調(diào)試變得輕松簡(jiǎn)單。SignalTap的操作原理是:用戶在自已的設(shè)計(jì)中插入一個(gè)具有SignalTap功能的特公平宏模塊,并定義需記錄的節(jié)點(diǎn)名、數(shù)據(jù)長(zhǎng)度、記錄用時(shí)鐘信號(hào)、觸發(fā)記錄的條件等,然后啟動(dòng)硬件運(yùn)行。當(dāng)記錄完成后,器件內(nèi)部指定節(jié)點(diǎn)的數(shù)據(jù)序列便通過器件的JTAG口傳入計(jì)算機(jī),以波形的方式顯示到屏幕上,設(shè)計(jì)者就可以進(jìn)行高效率的調(diào)試了。
不過,對(duì)于那些仍在使用AMX+PLUSII的用戶,就享受不到這種方便了。為此,本人設(shè)計(jì)了一種利用計(jì)算機(jī)并行口調(diào)試FPGA的方法,同樣可以用于讀出FPGA內(nèi)部數(shù)據(jù),提高調(diào)試效率。仍在使用MAX+PLUS II軟件的朋友不妨一試。
1 FPGA的并行口調(diào)試方法
調(diào)試用硬件平臺(tái)示意圖如圖1所示。本方法具有以下特點(diǎn):
1.由于采用VHDL語言編程,因此其跨工藝的通用性較強(qiáng)。在ALTERA的FPGA上可有物功能,可以較方便地移植到其它廠家的FPGA上使用(而ALTERA或XILINX的JTAG調(diào)試功能必須在設(shè)計(jì)中調(diào)用特定的寵模塊);
2.設(shè)計(jì)得必須根據(jù)要記錄的數(shù)據(jù)源的不同來修改VHDL設(shè)計(jì),因此靈活性稍差;
3.沒有使用器件的邊界掃描功能和JTAG口,而是從器件上任意選擇6個(gè)可用引腳作為接口,自己定義邏輯把片內(nèi)RAM塊中的數(shù)據(jù)讀出;
4.需要2臺(tái)計(jì)算機(jī)協(xié)同工作(當(dāng)然,如果不怕配置和調(diào)試時(shí)頻敏拔插接頭的麻煩煩,也可以采用一臺(tái)計(jì)算機(jī));
5.考慮到與底層硬件打交道的方便性及維持較高傳送速度的需要,采用C語言程序與FPGA通訊,進(jìn)行數(shù)據(jù)傳送;數(shù)據(jù)格式變換及顯示彩MATLAB程序。
PC機(jī)與打印口之間的信號(hào)有三種:
一是8位數(shù)據(jù)輸出信號(hào),占據(jù)25針打印機(jī)接口的2~9腳,其I/O地址為378H,本設(shè)計(jì)中未用至;
二是打印機(jī)的控制輸出寄存器,其I/O地址為37AH.。本設(shè)計(jì)使用了該寄存器的最低位STROBE(1腳)作為計(jì)算機(jī)輸出信號(hào)Cpu_answer,其為高時(shí)表示計(jì)算機(jī)收到數(shù)據(jù),通知FPGA可以傳送下一組數(shù)據(jù);
三是打印機(jī)的狀態(tài)讀入寄存器,其I/O地址為379H。本設(shè)計(jì)將其最高位BUSY用來接收FPGA發(fā)出的“數(shù)據(jù)有效”信號(hào)Sned_data_avi,將其第3
熱門點(diǎn)擊
- SDH中E1接口數(shù)字分接復(fù)用器VHDL設(shè)計(jì)及
- 系統(tǒng)內(nèi)的PLD
- 用Altera FLEX 10K可編程邏輯器
- EDA仿真技術(shù)在電子線路分析中的應(yīng)用
- 分布式運(yùn)算單元的原理及其實(shí)現(xiàn)方法
- 偽隨機(jī)序列及PLD實(shí)現(xiàn)在程序和系統(tǒng)加密中的應(yīng)
- 一種基于移位寄存器的CAM的Verilog
- 用FPGA技術(shù)實(shí)現(xiàn)模擬雷達(dá)信號(hào)
- 現(xiàn)代可編程計(jì)算機(jī)控制器PCC及其應(yīng)用
- 基于FPGA的FIR濾波器的實(shí)現(xiàn)
推薦技術(shù)資料
- 聲道前級(jí)設(shè)計(jì)特點(diǎn)
- 與通常的Hi-Fi前級(jí)不同,EP9307-CRZ這臺(tái)分... [詳細(xì)]
- 超低功耗角度位置傳感器參數(shù)技術(shù)
- 四路輸出 DC/DC 降壓電源
- 降壓變換器和升降壓變換器優(yōu)特點(diǎn)
- 業(yè)界首創(chuàng)可在線編程電源模塊 m
- 可編程門陣列 (FPGA)智能 電源解決方案
- 高效先進(jìn)封裝工藝
- 多媒體協(xié)處理器SM501在嵌入式系統(tǒng)中的應(yīng)用
- 基于IEEE802.11b的EPA溫度變送器
- QUICCEngine新引擎推動(dòng)IP網(wǎng)絡(luò)革新
- SoC面世八年后的產(chǎn)業(yè)機(jī)遇
- MPC8xx系列處理器的嵌入式系統(tǒng)電源設(shè)計(jì)
- dsPIC及其在交流變頻調(diào)速中的應(yīng)用研究