亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

用于跟蹤現(xiàn)場(chǎng)可編程門(mén)陣列中的程序執(zhí)行的方法和系統(tǒng)的制作方法

文檔序號(hào):6559330閱讀:156來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于跟蹤現(xiàn)場(chǎng)可編程門(mén)陣列中的程序執(zhí)行的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及用于跟蹤現(xiàn)場(chǎng)可編程門(mén)陣列中的程序執(zhí)行的方法和系統(tǒng)。
背景技術(shù)
諸如片上系統(tǒng)(SOC)、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和專(zhuān)用集成電路(ASIC)之類(lèi)的集成系統(tǒng)經(jīng)常包含為輔助電路內(nèi)測(cè)試而設(shè)計(jì)的特征。通常,當(dāng)在諸如現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)之類(lèi)的大電路上執(zhí)行電路內(nèi)測(cè)試時(shí),提供這樣的電路信號(hào),該電路信號(hào)代表整個(gè)工作范圍中的實(shí)際工作信號(hào)。在遍及電路中的各個(gè)點(diǎn)產(chǎn)生的信號(hào)隨后被監(jiān)控。這種測(cè)試一般被稱(chēng)為實(shí)時(shí)軟件程序跟蹤捕獲。
很多FPGA包括嵌入式的微處理器。這些微處理器通常被實(shí)現(xiàn)在可綜合結(jié)構(gòu)以及例如使用專(zhuān)用硅的硬件中。與FPGA、ASIC或可編程邏輯器件(PLD)中的其它組件一樣,在執(zhí)行期間跟蹤微處理器中的信號(hào)是很有用的。以這種方式,可以對(duì)微處理器執(zhí)行調(diào)試。
在執(zhí)行電路內(nèi)測(cè)試時(shí),諸如示波器和邏輯分析儀之類(lèi)的測(cè)試儀器很有用。很多數(shù)字設(shè)計(jì)者習(xí)慣于使用邏輯分析儀作為調(diào)試工具來(lái)開(kāi)發(fā)試樣板(prototype board)。這些設(shè)計(jì)者使用邏輯分析儀來(lái)幫助揭示集成問(wèn)題和設(shè)計(jì)錯(cuò)誤。為了觀察系統(tǒng)的行為,設(shè)計(jì)者探測(cè)各個(gè)總線和芯片上的各種信號(hào),以嘗試隔離出問(wèn)題的根本原因。通常,這些信號(hào)被提供給在輸出端用于探測(cè)的電路。這樣的信號(hào)被稱(chēng)為跟蹤信號(hào)。通過(guò)這種對(duì)各種組件的探測(cè)和重探測(cè),可以收集足夠的信息來(lái)正確地估計(jì)導(dǎo)致問(wèn)題的因素。利用這種信息,工程團(tuán)隊(duì)可以了解錯(cuò)誤并實(shí)現(xiàn)解決方案。
當(dāng)前用于跟蹤嵌入在FPGA中的微處理器的程序執(zhí)行的方法存在若干缺陷。此外,將微處理器嵌入在FPGA或其他PLD上給測(cè)試增加了挑戰(zhàn)。例如,已知測(cè)試方法需要將所有地址信號(hào)、讀/寫(xiě)數(shù)據(jù)信號(hào)、控制信號(hào)和執(zhí)行狀態(tài)信號(hào)路由到外部以供邏輯分析儀捕獲和進(jìn)行后處理分析。但是,由于印制電路板上的可用空間(real estate)變得越來(lái)越稀少,并且專(zhuān)門(mén)用于調(diào)試的FPGA引腳有限,因此對(duì)處理器的實(shí)時(shí)測(cè)試變得無(wú)法實(shí)行。例如,使用已知測(cè)試方法,32位的Harvard體系結(jié)構(gòu)處理器將需要大約135個(gè)或更多專(zhuān)用引腳來(lái)跟蹤處理器執(zhí)行。由于可獲得的FPGA引腳有限,因此這些已知方法無(wú)法實(shí)行。另外,為了測(cè)量微處理器的行為,不是來(lái)自FPGA的所有信號(hào)都必須被分析。因此,已知的測(cè)試方法無(wú)法實(shí)行并且效率很低。
利用已知方法測(cè)試嵌入在FPGA中的微處理器還需要從幾千(或者幾萬(wàn))信號(hào)中確定利用微處理器標(biāo)識(shí)的那些信號(hào)。只有在執(zhí)行該確定之后,才能進(jìn)行有用的測(cè)量。顯而易見(jiàn),該過(guò)濾過(guò)程很費(fèi)力。
此外,總線上的很多引腳都是靜態(tài)的。例如,32位地址總線可能具有很多不訪問(wèn)已被填充的存儲(chǔ)器并因此為靜態(tài)的引腳。但是,已知測(cè)試方法需要路由和捕獲所有位,即使很多保持靜態(tài)也是如此??梢砸庾R(shí)到,這樣的測(cè)試方法效率低,尤其是在專(zhuān)用于測(cè)試的引腳數(shù)目稀少時(shí)。
因此,存在對(duì)于至少克服了上述已知方法的缺陷的用于測(cè)試嵌入式微處理器的裝置和方法的需求。


從以下結(jié)合附圖的詳細(xì)描述中,可以最好地理解本教導(dǎo)。其中特征不一定是按比例繪制的。在實(shí)踐中,類(lèi)似標(biāo)號(hào)指代類(lèi)似特征。
圖1是根據(jù)示例性實(shí)施例的動(dòng)態(tài)探測(cè)系統(tǒng)的簡(jiǎn)化框圖。
圖2是根據(jù)示例性實(shí)施例的包括微處理器和微處理器跟蹤內(nèi)核(MTC)的FPGA的簡(jiǎn)化示意圖。
圖3A是根據(jù)示例性實(shí)施例用于設(shè)置FPGA中的微處理器測(cè)試信號(hào)的方法的流程圖。
圖3B是根據(jù)示例性實(shí)施例被用于設(shè)置測(cè)試儀器以在微處理器上執(zhí)行測(cè)量的圖形用戶(hù)界面的顯示代表。
圖4A是根據(jù)示例性實(shí)施例用于設(shè)置FPGA中的微處理器測(cè)試信號(hào)以及設(shè)置用于在微處理器上執(zhí)行測(cè)量的測(cè)試儀器的方法的流程圖。
圖4B是根據(jù)示例性實(shí)施例被用于設(shè)置微處理器以測(cè)試FPGA中的信號(hào)的圖形用戶(hù)界面的顯示代表。
具體實(shí)施例方式
在以下詳細(xì)描述中,為了說(shuō)明而非限制的目的,提出了公開(kāi)特定細(xì)節(jié)的示例性實(shí)施例,以便對(duì)本發(fā)明提供全面理解。此外,對(duì)已知器件、硬件、軟件、固件、方法和系統(tǒng)的描述可以被省略,以免模糊示例性實(shí)施例的描述。盡管如此,根據(jù)示例性實(shí)施例,這樣本領(lǐng)域普通技術(shù)人員之一已知的硬件、軟件、固件、器件、方法和系統(tǒng)可以被使用。最后,在實(shí)際應(yīng)用中,類(lèi)似標(biāo)號(hào)指代類(lèi)似特征。
以下詳細(xì)描述給出這樣的方法,該方法可以由計(jì)算機(jī)可讀介質(zhì)、相關(guān)處理器、邏輯分析儀、微處理器仿真器、數(shù)字存儲(chǔ)示波器、配置有數(shù)據(jù)獲取卡的通用個(gè)人計(jì)算機(jī)等中的數(shù)據(jù)位的操作的例程和符號(hào)表示來(lái)體現(xiàn)。方法在這里(一般地)被看作導(dǎo)致所需結(jié)果的步驟或動(dòng)作序列,因此包含諸如“例程”、“程序”、“對(duì)象”、“功能”、“子例程”和“過(guò)程”之類(lèi)的本領(lǐng)域術(shù)語(yǔ)。
示例性實(shí)施例的裝置和方法將針對(duì)邏輯分析儀上的實(shí)現(xiàn)方式來(lái)描述,但是這里引用的方法可以在通用計(jì)算機(jī)或其他網(wǎng)絡(luò)設(shè)備上工作,所述通用計(jì)算機(jī)或其他網(wǎng)絡(luò)設(shè)備由存儲(chǔ)在具有所需信號(hào)處理能力的計(jì)算機(jī)和接口中的例程來(lái)有選擇地激活或重配置。除此之外,這里給出的方法不一定與任何特定器件相關(guān),相反,根據(jù)這里的教導(dǎo),例程可與各種器件一起使用??蓤?zhí)行本教導(dǎo)的功能的機(jī)器包括由諸如AGILENT TECHNOLOGIES,INC.、HEWLETT PACKARD和TEKTRONIX,INC.之類(lèi)的公司以及其他測(cè)試和測(cè)量設(shè)備制造商制造的機(jī)器。
對(duì)于用于這里所述實(shí)施例的軟件,本領(lǐng)域普通技術(shù)人員將意識(shí)到,存在多種用于創(chuàng)建用于執(zhí)行這里所述過(guò)程的軟件的平臺(tái)和語(yǔ)言。某些示例性實(shí)施例可以利用C編程語(yǔ)言的多種變體中任意一種來(lái)實(shí)現(xiàn)。此外,本領(lǐng)域普通技術(shù)人員還將意識(shí)到,對(duì)實(shí)際平臺(tái)和語(yǔ)言的選擇通常由構(gòu)建的實(shí)際系統(tǒng)的細(xì)節(jié)來(lái)指定,以致于在一種系統(tǒng)上工作的平臺(tái)和語(yǔ)言不能有效地用于另一系統(tǒng)。另外,在某些實(shí)施例中,適合于與內(nèi)核和其他組件一起使用的商業(yè)軟件可以被實(shí)現(xiàn),以實(shí)現(xiàn)某些有益方面。某些商業(yè)軟件是出于舉例說(shuō)明的目的而提出的。
圖1是根據(jù)示例性實(shí)施例的動(dòng)態(tài)探測(cè)系統(tǒng)100的框圖。動(dòng)態(tài)探測(cè)系統(tǒng)100例如簡(jiǎn)化了在包括至少一個(gè)微處理器的FPGA和片上系統(tǒng)(SOC)上的調(diào)試。動(dòng)態(tài)探測(cè)系統(tǒng)100提高了可觀察性,從而有助于電路內(nèi)調(diào)試。雖然動(dòng)態(tài)探測(cè)系統(tǒng)100是針對(duì)SOC流設(shè)計(jì)的(允許用于SOC的所有現(xiàn)有工具、設(shè)計(jì)過(guò)程和硬件描述語(yǔ)言(HDL)保持不變),但是本教導(dǎo)不局限于SOC,而是可被用在FPGA上和外的各種環(huán)境中。實(shí)際上,所示實(shí)施例描述了FPGA上的系統(tǒng)100的實(shí)現(xiàn)方式。
動(dòng)態(tài)探測(cè)系統(tǒng)100一般包括邏輯分析儀101,其連接到在FPGA103或其他合適的PLD中實(shí)現(xiàn)的一個(gè)或多個(gè)內(nèi)核102(例如跟蹤內(nèi)核、處理器、軟宏)。專(zhuān)用微處理器跟蹤內(nèi)核(MTC)104被用于強(qiáng)制測(cè)量,以用于調(diào)試實(shí)現(xiàn)在FPGA103中的微處理器105。跟蹤內(nèi)核104包括專(zhuān)用調(diào)試內(nèi)核,其輔助內(nèi)部微處理器信號(hào)從FPGA103到邏輯分析儀101的路由。內(nèi)核104可能適合于將來(lái)自嵌入在FPGA中的單個(gè)微處理器的內(nèi)部信號(hào)連接到由邏輯分析儀101探測(cè)的輸出引腳。雖然本描述示出單個(gè)MTC的使用,但是在實(shí)施例中,可以用與上述方法基本類(lèi)似的方法在FPGA103中例示多個(gè)MTC104。在所引用的共同轉(zhuǎn)讓的專(zhuān)利申請(qǐng)中,更全面地描述了某些類(lèi)型的用于調(diào)試FPGA103的內(nèi)核的數(shù)據(jù)收集的細(xì)節(jié)。
如這里更全面描述的,MTC104適合于以如下方式收集來(lái)自微處理器105的測(cè)量結(jié)果,所述方式減少了所需引腳的數(shù)目并且降低了確定將由正被測(cè)試的微處理器105處理的信號(hào)的過(guò)程的復(fù)雜性。
來(lái)自MTC104的數(shù)據(jù)信號(hào)是通過(guò)數(shù)據(jù)信號(hào)總線109從FPGA103上的專(zhuān)用引腳108獲得的。數(shù)據(jù)信號(hào)總線109通常(但不一定)包括與邏輯分析儀101相關(guān)聯(lián)的常規(guī)探測(cè)連接。如結(jié)合示例性實(shí)施例所描述的,專(zhuān)用引腳108是從FPGA103的多個(gè)引腳中選出的。
邏輯分析儀101包括邏輯分析部分和探測(cè)控制部分。邏輯分析儀101例如可以基于Palo Alto,CA的Agilent Technologies出售的AGILENT16903A。邏輯分析部分一般包括已知邏輯分析儀,而探測(cè)控制部分一般包括在伴隨邏輯分析部分的操作系統(tǒng)下運(yùn)行的附加軟件。包括在邏輯分析儀101中的一種軟件是反匯編程序。該反匯編程序包括用于將處理器總線周期轉(zhuǎn)換成用戶(hù)可理解的記憶和數(shù)據(jù)事務(wù)的后處理軟件。如這里更全面描述的,用戶(hù)提供到反匯編程序的信息被用于確定由活動(dòng)引腳尋址的存儲(chǔ)器。從該信息中,確定用于對(duì)微處理器105的執(zhí)行進(jìn)行測(cè)量的引腳需求。
動(dòng)態(tài)探測(cè)系統(tǒng)100還可以包括經(jīng)由鏈路107的串行通信總線110,所述鏈路107還被稱(chēng)為JTAG,其根據(jù)多種串行通信標(biāo)準(zhǔn)中的任意一種(例如IEEE 1149.1)工作。JTAG的益處包括低帶寬、容易獲得,并且可經(jīng)由FPGA內(nèi)側(cè)的JTAG控制器與FPGA容易地集成。JTAG控制器的目的在于確定已由用戶(hù)選出用于測(cè)試的總線和信號(hào)。
動(dòng)態(tài)探測(cè)系統(tǒng)100還包括用戶(hù)接口(UI)111。在示例性實(shí)施例中,UI111可以是網(wǎng)絡(luò)中的個(gè)人計(jì)算機(jī)(PC)或終端。當(dāng)然,可以想到其它類(lèi)型的用戶(hù)接口。這些用戶(hù)接口包括(但不局限于)可通過(guò)有線或無(wú)線鏈路連接到FPGA103的便攜式計(jì)算機(jī)和類(lèi)似合適的設(shè)備。UI111經(jīng)由JTAG鏈路112連接到FPGA103,并且適合于執(zhí)行這里更全面描述的內(nèi)核配置。在一個(gè)實(shí)施例中,MTC104經(jīng)由UI111被添加到FPGA103。在特定實(shí)施例中,MTC104通過(guò)駐留在UI111中的商業(yè)上可獲得的XilinxPlatform Studio軟件的修改版本被添加。具體而言,嵌入式開(kāi)發(fā)套件(EDK)被包括在Xilinx Studio Platform中,以使得能夠?qū)TC104添加到FPGA103。
圖2是具有微處理器和跟蹤信號(hào)的FPGA103的簡(jiǎn)化示意圖。圖2隔離出邏輯分析儀101和FPGA103之間的交互。先前描述的很多特征是當(dāng)前所述實(shí)施例所共有的。因此,共有特征不被重復(fù)。
FPGA103包括先前描述的微處理器105和MTC104。邏輯分析儀101(在圖2中未示出)通過(guò)總線109連接到跟蹤引腳108。跟蹤引腳108通過(guò)相應(yīng)數(shù)目個(gè)跟蹤線201連接到MTC104。在一個(gè)實(shí)施例中,微處理器105是基于Harvard體系結(jié)構(gòu)的,并且包括指令(程序)“端”和數(shù)據(jù)“端”。指令端連接到指令存儲(chǔ)器202,而數(shù)據(jù)端連接到數(shù)據(jù)存儲(chǔ)器203。在工作期間,微處理器105向存儲(chǔ)器202、203發(fā)送信號(hào)。指令存儲(chǔ)器202經(jīng)由指令地址總線204、指令數(shù)據(jù)總線205上的各個(gè)信號(hào)和總線控制信號(hào)206被微處理器105所訪問(wèn)。數(shù)據(jù)存儲(chǔ)器203經(jīng)由數(shù)據(jù)地址總線207、(數(shù)據(jù))數(shù)據(jù)總線208上的各個(gè)信號(hào)和數(shù)據(jù)總線控制信號(hào)209被微處理器105所訪問(wèn)。例如,地址和數(shù)據(jù)總線是32位總線,并且控制信號(hào)是5位信號(hào),如圖2所示。
MTC104經(jīng)由所示連接訪問(wèn)各個(gè)總線。選定數(shù)目的微處理器跟蹤信號(hào)從總線中被收集,以便在邏輯分析儀101處對(duì)微處理器105進(jìn)行測(cè)量。微處理器跟蹤信號(hào)是從指令地址總線、數(shù)據(jù)地址總線、數(shù)據(jù)數(shù)據(jù)總線和總線控制信號(hào)收集的。MTC104經(jīng)由UI111被配置以從總線204、205、207和208中選出所需微處理器跟蹤信號(hào),并將這些選出的跟蹤信號(hào)路由到FPGA103上的引腳108。具體而言,所選指令地址信號(hào)210、211、所選數(shù)據(jù)地址信號(hào)212、213和控制總線信號(hào)214和215被路由到MTC104,然后再路由到引腳108。顯而易見(jiàn),控制總線信號(hào)206、209是利用各個(gè)地址和數(shù)據(jù)信號(hào)來(lái)路由的。
很多收集測(cè)量數(shù)據(jù)的已知方法例如必須路由地址總線204、207的所有地址信號(hào)以用于測(cè)量,與這些已知方法相反,在示例性實(shí)施例中,只有所選信號(hào)被路由到跟蹤引腳108。這使得邏輯分析儀101能夠利用分配用于跟蹤測(cè)量的相對(duì)較少的引腳108來(lái)執(zhí)行調(diào)試微處理器105所需的測(cè)量。
如前所述,專(zhuān)用于利用邏輯分析儀或其他測(cè)試設(shè)備測(cè)試組件的引腳數(shù)目很少。因此,使所需引腳數(shù)目最小化是測(cè)試設(shè)備設(shè)計(jì)者的一個(gè)迫切需求。使測(cè)試引腳最小化的需求與收集足夠數(shù)據(jù)和來(lái)自特定信號(hào)類(lèi)型的數(shù)據(jù)以調(diào)試微處理器的需求相互競(jìng)爭(zhēng)。因此,按FPGA103上專(zhuān)用于測(cè)試的引腳的數(shù)目來(lái)成比例地縮放所需用于測(cè)試的信號(hào)是有用的。這種比例縮放是以各種方式經(jīng)由本教導(dǎo)來(lái)執(zhí)行的。兩種示例性方法被實(shí)現(xiàn),以實(shí)現(xiàn)跟蹤測(cè)量中有限跟蹤引腳的有效利用。雖然示例性方法的示例性實(shí)施例通常描述路由地址信號(hào),但是也可以設(shè)想以類(lèi)似方法路由數(shù)據(jù)信號(hào)(指令端和數(shù)據(jù)端兩者)。
當(dāng)前描述了配置測(cè)試儀器以從微處理器105收集相關(guān)信號(hào)的方法。本示例性實(shí)施例的方法包括從大量信號(hào)(在105數(shù)量級(jí)上)中確定與FPGA103相關(guān)的涉及微處理器105的那些信號(hào)。這些信號(hào)可以從微處理器供應(yīng)商處獲得,也可以從微處理器105上的數(shù)據(jù)表中獲得。這些信號(hào)是預(yù)定的并被提供給UI111。然后,用戶(hù)從這組信號(hào)(在101到102的數(shù)量級(jí)上)中選出用于對(duì)微處理器105的功能執(zhí)行有用分析最需要的那些信號(hào)。利用UI111的配置軟件(例如EDK軟件),MTC104被配置為從各個(gè)總線204、207獲取這些信號(hào)并將這些跟蹤信號(hào)提供到跟蹤引腳108。有益的是,信號(hào)的選擇將被路由到所分配的跟蹤引腳。例如,如果存在8個(gè)可用的跟蹤引腳,則只有8個(gè)信號(hào)可被路由以用于分析。在MTC104的配置期間,可選擇對(duì)于特定測(cè)量最有用的信號(hào)來(lái)路由。
圖3A是根據(jù)示例性實(shí)施例用于設(shè)置測(cè)試儀器以用于對(duì)FPGA的微處理器執(zhí)行測(cè)量的方法的流程圖。該方法在結(jié)合圖1和圖2及其描述閱讀時(shí)可被最好地理解。
該方法包括在步驟301處選擇與微處理器相關(guān)聯(lián)的信號(hào)的子集。例如,在FPGA103中,可能存在105或更多信號(hào)可用于FPGA103的各種組件。在這些信號(hào)中,只有一部分與微處理器105相關(guān)聯(lián)。因?yàn)閷⑺行盘?hào)路由到跟蹤引腳108是不實(shí)際的,因此確定與微處理器相關(guān)聯(lián)的信號(hào)子集并將其提供到UI111中的數(shù)據(jù)庫(kù)中。但是,在給定被分配用于邏輯分析儀101的測(cè)量的跟蹤引腳數(shù)目的情況下,該子集可能需要被進(jìn)一步縮小。
在步驟302處,依賴(lài)于可用引腳108的數(shù)目,信號(hào)子集被進(jìn)一步縮小。在特定實(shí)施例中,用戶(hù)確定某些在當(dāng)前分析中有用的微處理器總線(例如指令地址總線204和指令數(shù)據(jù)總線207)。用戶(hù)從信號(hào)子集中選出所需總線并經(jīng)由UI111上的GUI輸入這些總線。在選擇總線之后,EDK軟件配置MTC104以將總線路由到跟蹤引腳108。在步驟303處,信號(hào)被從連接到MTC104的信號(hào)路由到跟蹤引腳108。
本實(shí)施例允許用戶(hù)配置MTC104以訪問(wèn)來(lái)自參與存儲(chǔ)器202、203的總線204、209的信號(hào)。這些信號(hào)隨后被傳輸?shù)揭_108,然后被傳輸?shù)竭壿嫹治鰞x101??梢砸庾R(shí)到,向引腳108路由信號(hào)的標(biāo)準(zhǔn)可以變化。但是,該示例性實(shí)施例的方法允許用戶(hù)匹配路由到可用引腳的信號(hào)。在MTC104被配置之后,邏輯分析儀綁定引腳108以確定信號(hào)與引腳對(duì)。
圖3B是根據(jù)示例性實(shí)施例在設(shè)置測(cè)量?jī)x器以對(duì)微處理器105執(zhí)行測(cè)量時(shí)有用的GUI的代表。該GUI例如被實(shí)現(xiàn)在UI111的軟件中。
該GUI包括域305,在該域中MTC104被選擇。例如,MTC可以是由Agilent Technologies提供的MicroBlaze Trace Core。在選擇MTC之后,特定于所選MTC的多個(gè)微處理器總線信號(hào)和參數(shù)填充在域306中。域306允許用戶(hù)選擇其感興趣的微處理器信號(hào)。所選信號(hào)在307處示出。所選信號(hào)被添加到域308。域309允許用戶(hù)輸入將被路由到跟蹤引腳108的信號(hào)數(shù)目。以這種方式,可以將信號(hào)數(shù)目減小到符合可用引腳容量。
本教導(dǎo)的另一方法在減小測(cè)試微處理器所需引腳數(shù)目方面很有用。該示例性方法是后處理(post-processor)技術(shù),其中邏輯分析儀101的反匯編程序應(yīng)用軟件被提供有與被評(píng)估的特定微處理器相關(guān)的某些參數(shù)。
如前所述,32位Harvard體系結(jié)構(gòu)微處理器的完整反匯編程序?qū)⑿枰?35數(shù)量級(jí)上的引腳來(lái)路由所有信號(hào)。但是,微處理器105一般包括遠(yuǎn)超過(guò)寫(xiě)入到微處理器105的代碼的地址空間。因此,存儲(chǔ)器空間中存在不被訪問(wèn)的部分并因此存在靜態(tài)的地址信號(hào)。對(duì)微處理器105的分析僅需要收集活動(dòng)信號(hào)。因此,提供到邏輯分析儀101的反匯編程序的參數(shù)指示微處理器105中活動(dòng)的地址位。然后,邏輯分析儀101僅自由捕獲活動(dòng)信號(hào)用于分析,而將所有靜態(tài)位設(shè)置為預(yù)定值。這允許只將邏輯分析儀的分析所需的那些活動(dòng)位通過(guò)跟蹤引腳108來(lái)路由。
例如,F(xiàn)PGA上的微處理器程序一般不需要全部4G字節(jié)(32位)的程序空間和全部4G字節(jié)的數(shù)據(jù)空間。程序使用的地址空間的子集通??梢杂蒙儆?2位來(lái)代表。只有該較小位集合需要被路由到FPGA的引腳。根據(jù)本教導(dǎo)的方法,靜態(tài)位不被路由到FPGA的引腳。
圖4A是根據(jù)示例性實(shí)施例用于設(shè)置測(cè)試儀器以對(duì)微處理器執(zhí)行測(cè)量的方法的流程圖。該方法在結(jié)合圖1和2及其描述閱讀時(shí)可以最好地理解。如前所述,該示例性實(shí)施例的方法集中于從微處理器收集地址信號(hào)。需要強(qiáng)調(diào)的是,數(shù)據(jù)信號(hào)也可通過(guò)類(lèi)似方法來(lái)收集。
在步驟401處,用于完全代表由正被測(cè)試的微處理器的軟件程序占用的存儲(chǔ)器空間所需的地址信號(hào)的數(shù)目被確定。通常,用戶(hù)基于在用戶(hù)設(shè)計(jì)中實(shí)現(xiàn)的存儲(chǔ)器量來(lái)確定地址信號(hào)數(shù)目。如前所述,依賴(lài)于寫(xiě)入到微處理器的代碼的大小,只有地址空間的一部分是活動(dòng)的。因此只有地址信號(hào)的一部分訪問(wèn)已被填充的存儲(chǔ)器。參考圖2,這翻譯為只有存儲(chǔ)器202和微處理器105之間的某些指令地址信號(hào)和存儲(chǔ)器203和微處理器105之間的某些數(shù)據(jù)地址信號(hào)發(fā)送“活動(dòng)”信號(hào)。因?yàn)檫@些活動(dòng)信號(hào)在執(zhí)行用于分析的測(cè)量時(shí)是有用的,因此只有這些活動(dòng)信號(hào)被路由到MTC104并隨后被路由到邏輯分析儀101。
在步驟402處,用戶(hù)基于在用戶(hù)設(shè)計(jì)中實(shí)現(xiàn)的存儲(chǔ)器量來(lái)確定完全代表由正被測(cè)試的微處理器的數(shù)據(jù)占用的存儲(chǔ)空間所需的地址信號(hào)的數(shù)目。如前所述,依賴(lài)于寫(xiě)入到微處理器的代碼的大小,只有地址空間的一部分是活動(dòng)的。因此,只需要地址信號(hào)的一部分來(lái)訪問(wèn)已填充的存儲(chǔ)器。
在步驟403處,代表微處理器105的指令端和數(shù)據(jù)端兩者的存儲(chǔ)空間的地址信號(hào)被選擇。在結(jié)合圖2所述示例性實(shí)施例中,分別從地址總線204和207中選出的地址信號(hào)210和地址信號(hào)211被路由到MTC104,并隨后被路由到邏輯分析儀101以待測(cè)量和分析。對(duì)地址信號(hào)的選擇是在利用前述配置軟件(例如前述EDK軟件)和UI111配置MTC104時(shí)被執(zhí)行的。
在特定實(shí)施例中,用于路由到邏輯分析儀的地址信號(hào)的選擇是在經(jīng)由UI111中的配置軟件配置MTC104期間被執(zhí)行的。當(dāng)在步驟401、402處確定了所需地址信號(hào)的數(shù)目時(shí),用戶(hù)選擇起始地址,并且由于待用的所有地址信號(hào)都被選擇,因此“終止”地址信號(hào)是已知的。另外,在完成對(duì)地址信號(hào)的選擇之后,用戶(hù)在步驟403中選擇針對(duì)選出的每個(gè)位的引腳。例如,如果存在10個(gè)需要路由到跟蹤引腳的地址位,配置軟件則將MTC104配置為將10個(gè)地址位路由到10個(gè)所選跟蹤引腳(例如跟蹤引腳108中的10個(gè))。
當(dāng)在步驟403中選出地址信號(hào)之后,在步驟404處,由指令和數(shù)據(jù)端占用的地址空間被輸入到測(cè)試儀器(在本實(shí)施例中為邏輯分析儀101)。顯而易見(jiàn),活動(dòng)位被輸入并與靜態(tài)位相組合。
在特定實(shí)施例中,完全代表存儲(chǔ)空間所需的所有信號(hào)可經(jīng)由圖4A的方法來(lái)路由。但是,可能不存在足夠跟蹤引腳來(lái)路由所有信號(hào)。在特定實(shí)施例中,用戶(hù)可能選擇不提供所有總線的信號(hào)。因此,為了在有限引腳預(yù)算內(nèi)工作,用戶(hù)可以選擇僅跟蹤微處理器的指令端,或僅跟蹤微處理器的數(shù)據(jù)端。此外,在所選一端(指令或數(shù)據(jù)),用戶(hù)可以選擇僅跟蹤地址總線或僅跟蹤數(shù)據(jù)總線。為了調(diào)整對(duì)用于測(cè)量的跟蹤信號(hào)的選擇,示例性實(shí)施例的方法被修改以選擇一“端”或一條(多條)總線用于分析。而且,該選擇在配置MTC104時(shí)被執(zhí)行。然后,反匯編程序自動(dòng)調(diào)整其功能以匹配所提供的信號(hào)。這是通過(guò)邏輯分析儀/反匯編程序經(jīng)由JTAG鏈路112詢(xún)問(wèn)MTC104以確定已被確定引腳的信號(hào)來(lái)實(shí)現(xiàn)的。
為了實(shí)現(xiàn)所述調(diào)整,圖4A的示例性實(shí)施例的方法設(shè)想根據(jù)所選用于測(cè)量的一端而刪除步驟401或402中的一個(gè),并且修改步驟403和404來(lái)使該方法適合于所選端或總線。例如,如果用戶(hù)希望(或僅具有)足夠跟蹤引腳來(lái)對(duì)微處理器的指令端進(jìn)行測(cè)量,則步驟402將居先。另外,步驟403將被修改以選擇代表指令而非數(shù)據(jù)占用的存儲(chǔ)空間的地址信號(hào),并且步驟404將被修改以輸入由指令而非數(shù)據(jù)占用的地址空間。
圖4B是如步驟404提出的適合于輸入地址空間的邏輯分析儀101的GUI的代表。如果知道活動(dòng)位的起始地址,用戶(hù)就設(shè)置針對(duì)微處理器每一端的起始地址信號(hào)。用戶(hù)在域405中輸入數(shù)據(jù)端存儲(chǔ)器和指令端存儲(chǔ)器的起始地址。邏輯分析儀101的反匯編程序通過(guò)將該起始地址值添加到被路由到FPGA103上的引腳的地址位來(lái)計(jì)算全部32位地址。顯而易見(jiàn),對(duì)于數(shù)據(jù)信號(hào),可以對(duì)微處理器105的指令端和數(shù)據(jù)端兩者提供類(lèi)似的GUI。
根據(jù)本公開(kāi)文本,這里描述的各種方法和設(shè)備可被實(shí)現(xiàn)在硬件和軟件中。此外,各種方法和參數(shù)僅以示例方式而非限制方式被包括進(jìn)來(lái)。根據(jù)本公開(kāi)文本,本領(lǐng)域技術(shù)人員可以在確定他們自己的技術(shù)和用于實(shí)現(xiàn)這些技術(shù)所需的設(shè)備時(shí)實(shí)現(xiàn)本教導(dǎo),同時(shí)保留在所附權(quán)利要求書(shū)的范圍之內(nèi)。
權(quán)利要求
1.一種用于設(shè)置測(cè)試儀器以對(duì)微處理器執(zhí)行測(cè)量的方法,該方法包括確定完全代表多條指令占用的存儲(chǔ)空間所需的多個(gè)地址信號(hào);確定完全代表數(shù)據(jù)占用的存儲(chǔ)空間所需的多個(gè)地址信號(hào);選擇完全代表由所述指令或所述數(shù)據(jù)或這兩者占用的存儲(chǔ)空間的地址信號(hào);以及將所述指令和所述數(shù)據(jù)占用的地址空間輸入到所述測(cè)試儀器。
2.如權(quán)利要求1所述的方法,其中所述微處理器被實(shí)現(xiàn)在現(xiàn)場(chǎng)可編程門(mén)陣列中。
3.如權(quán)利要求2所述的方法,還包括將特定地址信號(hào)路由到所述現(xiàn)場(chǎng)可編程門(mén)陣列上的指定引腳。
4.如權(quán)利要求2所述的方法,還包括提供微處理器跟蹤內(nèi)核,該微處理器跟蹤內(nèi)核適合于選擇微處理器跟蹤信號(hào),并將所述微處理器跟蹤信號(hào)路由到所述現(xiàn)場(chǎng)可編程門(mén)陣列上的引腳。
5.如權(quán)利要求4所述的方法,其中所述微處理器跟蹤信號(hào)包括以下信號(hào)中的一個(gè)或多個(gè)指令地址總線、數(shù)據(jù)地址總線、數(shù)據(jù)數(shù)據(jù)總線以及總線控制信號(hào)。
6.如權(quán)利要求5所述的方法,其中所述選擇微處理器跟蹤信號(hào)的步驟還包括僅選擇完全代表所述存儲(chǔ)空間所需的地址信號(hào)。
7.如權(quán)利要求6所述的方法,還包括將所述微處理器跟蹤內(nèi)核配置為執(zhí)行對(duì)微處理器跟蹤信號(hào)的選擇。
8.如權(quán)利要求1所述的方法,其中所述輸入步驟還包括選擇起始存儲(chǔ)器地址。
9.一種用于設(shè)置測(cè)試儀器以對(duì)微處理器執(zhí)行測(cè)量的方法,該方法包括選擇信號(hào)子集,其中所述信號(hào)子集僅包括與所述微處理器相關(guān)聯(lián)的信號(hào);以及基于已分配的多個(gè)引腳從所述信號(hào)子集中選擇微處理器跟蹤信號(hào)。
10.如權(quán)利要求9所述的方法,還包括在可編程邏輯器件上提供微處理器跟蹤內(nèi)核。
11.如權(quán)利要求9所述的方法,其中所述可編程邏輯器件是現(xiàn)場(chǎng)可編程門(mén)陣列。
12.如權(quán)利要求11所述的方法,還包括配置所述微處理器跟蹤內(nèi)核以選擇所述微處理器跟蹤信號(hào)。
13.如權(quán)利要求9所述的方法,還包括在選擇所述微處理器跟蹤信號(hào)之后,將所述微處理器跟蹤信號(hào)路由到所選引腳。
14.如權(quán)利要求9所述的方法,還包括嵌入微處理器跟蹤內(nèi)核,該微處理器跟蹤內(nèi)核適合于選擇所述微處理器跟蹤信號(hào)以及將所述微處理器跟蹤信號(hào)路由到所述現(xiàn)場(chǎng)可編程門(mén)陣列上的引腳。
15.如權(quán)利要求14所述的方法,其中所述微處理器跟蹤信號(hào)包括以下信號(hào)中的一個(gè)或多個(gè)指令地址總線、數(shù)據(jù)地址總線、數(shù)據(jù)數(shù)據(jù)總線以及總線控制信號(hào)。
16.如權(quán)利要求15所述的方法,其中所述選擇微處理器跟蹤信號(hào)的步驟還包括僅選擇完全代表存儲(chǔ)空間所需的地址信號(hào)。
17.一種動(dòng)態(tài)探測(cè)系統(tǒng),包括測(cè)試設(shè)備;具有微處理器的現(xiàn)場(chǎng)可編程門(mén)陣列;適合于將所述測(cè)試設(shè)備連接到所述現(xiàn)場(chǎng)可編程門(mén)陣列的跟蹤引腳;以及被配置為從僅包括與所述微處理器相關(guān)聯(lián)的信號(hào)的信號(hào)子集中選擇微處理器跟蹤信號(hào)的微處理器跟蹤內(nèi)核。
18.如權(quán)利要求17所述的動(dòng)態(tài)探測(cè)系統(tǒng),其中所述測(cè)試設(shè)備是邏輯分析儀。
19.如權(quán)利要求17所述的動(dòng)態(tài)探測(cè)系統(tǒng),其中所述微處理器跟蹤信號(hào)僅是完全代表存儲(chǔ)空間所需的地址信號(hào)。
20.如權(quán)利要求17所述的動(dòng)態(tài)探測(cè)系統(tǒng),其中所述微處理器跟蹤信號(hào)包括以下信號(hào)中的一個(gè)或多個(gè)指令地址總線、數(shù)據(jù)地址總線、數(shù)據(jù)數(shù)據(jù)總線以及總線控制信號(hào)。
全文摘要
本發(fā)明描述了用于跟蹤現(xiàn)場(chǎng)可編程門(mén)陣列和其它合適的可編程邏輯器件中的程序執(zhí)行的方法和系統(tǒng)。
文檔編號(hào)G06F11/22GK1987820SQ20061009018
公開(kāi)日2007年6月27日 申請(qǐng)日期2006年7月3日 優(yōu)先權(quán)日2005年12月19日
發(fā)明者詹姆斯·B·斯圖爾特三世, 喬爾·D·伍德沃德, 阿德里安·赫曼德茨 申請(qǐng)人:安捷倫科技有限公司
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1