專利名稱:用于fpga芯片調(diào)試的信號采樣緩存裝置的制作方法
技術領域:
本發(fā)明涉及FPGA應用中邏輯debug (調(diào)試)領域,具體涉及一種用于FPGA芯片調(diào)試的信號采樣緩存裝置。
背景技術:
FPGA作為一種可重復編程的邏輯陣列芯片,廣泛應用于原型驗證系統(tǒng)和批量產(chǎn)品的設計中。用戶邏輯通過FPGA廠商提供的設計工具經(jīng)過邏輯綜合、資源映射和布局布線過程產(chǎn)生相應的位流,將位流導入FPGA芯片后就可以執(zhí)行特定的應用。由于FPGA芯片應用靈活、可重復編程的優(yōu)點,利用FPGA芯片進行原型系統(tǒng)設計成為大多數(shù)ASIC投片之前進行邏輯驗證的重要手段。FPGA芯片與ASIC芯片一樣面臨著內(nèi)部信號觀察難、不利于邏輯debug的問題。針對這個普遍的邏輯debug困難的問題,F(xiàn)PGA廠商分別提供了不同的解決方法。Xilinx公司提供了一種稱為ChipScope的調(diào)試工具。這種工具借用芯片位流加載的JTAG下載電纜將調(diào)試終端與芯片內(nèi)映射的信號觀察IP交互,實現(xiàn)了一個簡化的FPGA內(nèi)部信號觀測的邏輯分析儀功能。ChipScope利用FPGA芯片內(nèi)用戶邏輯未使用的BlockRAM資源作為被撲捉信號的存儲部件,可以根據(jù)用戶的需要調(diào)整撲捉深度和寬度以及觸發(fā)條件。Altera公司也提供了類似功能的調(diào)試工具。這類工具使用方便靈活,特別適合用戶邏輯對片內(nèi)RAM資源占用較少的系統(tǒng)調(diào)試。如果用戶邏輯資源占用量大、時序要求嚴格,尤其是片內(nèi)RAM的使用量大的情況下,ChipScope等調(diào)試工具通常無法正常使用,一方面表現(xiàn)在資源受限,無法完成用戶期望的調(diào)試邏輯的插入;另一方面表現(xiàn)在增加的調(diào)試邏輯影響用戶邏輯的布局布線,甚至由于時序無法滿足導致失敗。雖然幾家主要的FPGA廠商都提供了較為方便和功能比較完善的內(nèi)部信號觀察工具,但都受限于芯片內(nèi)部十分有限的片內(nèi)RAM資源,并且無法滿足對內(nèi)部信號觀察有長時間跨度要求的邏輯debug。如果使用高端邏輯分析儀進行信號采樣,一方面價格昂貴,另一方面存儲深度仍然十分有限。
發(fā)明內(nèi)容
本發(fā)明要解決的技術問題是提供一種無需FPGA片內(nèi)RAM資源、存儲空間利用率高、信號采樣時間跨度大、多信號采樣能力強、使用方式靈活的用于FPGA芯片調(diào)試的信號采樣緩存裝置。為了解決上述技術問題,本發(fā)明采用的技術方案為:
一種用于FPGA芯片調(diào)試的信號采樣緩存裝置,包括緩存控制器、測試插座、存儲模塊、通信接口和用于實現(xiàn)多個信號采樣緩存裝置之間級聯(lián)連接的級聯(lián)插座模塊,所述緩存控制器分別與測試插座、存儲模塊、通信接口相連,所述級聯(lián)插座模塊包括分別用于在級聯(lián)工作狀態(tài)時連接上一級信號采樣緩存裝置或者下一級信號采樣緩存裝置的第一級聯(lián)插座和第二級聯(lián)插座,所述第一級聯(lián)插座、第二級聯(lián)插座分別與緩存控制器相連。
作為上述技術方案的進一步改進:
所述緩存控制器包括信號采集模塊、數(shù)據(jù)變換模塊、級聯(lián)傳輸模塊、選擇器、數(shù)據(jù)壓縮模塊、數(shù)據(jù)存儲模塊、數(shù)據(jù)通信模塊、存儲控制模塊和通信控制模塊,所述信號采集模塊的輸入端與測試插座相連,所述信號采集模塊的輸出端分別與數(shù)據(jù)變換模塊、級聯(lián)傳輸模塊相連,所述選擇器的輸入端分別與數(shù)據(jù)變換模塊、級聯(lián)傳輸模塊相連,所述選擇器的輸出端與數(shù)據(jù)壓縮模塊相連,所述數(shù)據(jù)壓縮模塊的輸出端分別與數(shù)據(jù)存儲模塊、數(shù)據(jù)通信模塊相連,所述數(shù)據(jù)存儲模塊通過存儲控制模塊與存儲模塊相連,所述數(shù)據(jù)存儲模塊與數(shù)據(jù)通信模塊相互連接,所述數(shù)據(jù)通信模塊通過通信控制模塊與通信接口相連,所述級聯(lián)傳輸模塊分別與第一級聯(lián)插座和第二級聯(lián)插座相連,所述級聯(lián)傳輸模塊內(nèi)設有用于控制第一級聯(lián)插座以及第二級聯(lián)插座連接狀態(tài)的級聯(lián)轉換模塊,所述級聯(lián)轉換模塊與通信控制模塊相連。本發(fā)明具有下述優(yōu)點:本發(fā)明針對現(xiàn)有FPGA廠商提供的內(nèi)部信號觀測調(diào)試工具嚴重依賴芯片內(nèi)部緊缺的片內(nèi)RAM資源作為數(shù)據(jù)存儲部件導致邏輯debug (調(diào)試)困難的問題,增加用于實現(xiàn)并行級聯(lián)或者串行級聯(lián)的級聯(lián)插座模塊,級聯(lián)插座模塊包括用于在級聯(lián)工作狀態(tài)時連接上一級信號采樣緩存裝置的第一級聯(lián)插座和用于在級聯(lián)工作狀態(tài)時連接下一級信號采樣緩存裝置的第二級聯(lián)插座,通過級聯(lián)插座模塊進行并行級聯(lián)能夠實現(xiàn)用于采樣信號數(shù)量大的FPGA調(diào)試信號采樣緩存,通過級聯(lián)插座模塊進行串行級聯(lián)能夠實現(xiàn)采樣時間跨度長的FPGA調(diào)試信號采樣緩存,通過并行級聯(lián)和串行級聯(lián)組合的方式能夠實現(xiàn)采樣信號數(shù)量大、采樣時間跨度長的FPGA調(diào)試時的信號采樣緩存,從而能夠實現(xiàn)用于采樣信號數(shù)量大和/或采樣時間跨度長的FPGA調(diào)試,具有無需FPGA片內(nèi)RAM資源、存儲空間利用率高、信號采樣時間跨度大、多信號采樣能力強、使用方式靈活的優(yōu)點。
圖1為本發(fā)明實施例的應用結構示意圖。圖2為本發(fā)明實施例中緩存控制器的結構示意圖。圖3為本發(fā)明實施例中信號采集模塊的工作原理示意圖。圖4為本發(fā)明實施例中數(shù)據(jù)變換模塊的工作原理示意圖。圖5為本發(fā)明實施例中級聯(lián)傳輸模塊的工作原理示意圖。圖6為應用兩個本發(fā)明實施例進行并行級聯(lián)連接的應用結構示意圖。圖7為并行級聯(lián)應用時各信號采樣緩存裝置在數(shù)據(jù)采樣存儲階段的數(shù)據(jù)流向示意圖;其中粗線箭頭代表當前的數(shù)據(jù)流向,帶圓圈的數(shù)字序號表示數(shù)據(jù)流向順序,以下各附圖相同。圖8為并行級聯(lián)應用時圖7中信號采樣緩存裝置#2在調(diào)試階段的數(shù)據(jù)流向示意圖。圖9為并行級聯(lián)應用時圖7中信號采樣緩存裝置#1在調(diào)試階段的第一種數(shù)據(jù)流向示意圖。圖10為并行級聯(lián)應用時圖7中信號采樣緩存裝置#1在調(diào)試階段的第二種數(shù)據(jù)流向示意圖。圖11為并行級聯(lián)應用時圖7中的中間級信號采樣緩存裝置(信號采樣緩存裝置#2 信號采樣緩存裝置#N-1)在調(diào)試階段的第一種數(shù)據(jù)流向示意圖。
圖12為應用多個本發(fā)明實施例進行串行級聯(lián)連接的應用結構示意圖。圖13為串行級聯(lián)應用時圖12中信號采樣緩存裝置#1在數(shù)據(jù)采樣階段的第二種數(shù)據(jù)流向示意圖。圖14為串行級聯(lián)應用時圖12中的中間級信號采樣緩存裝置(信號采樣緩存裝置#2 信號采樣緩存裝置#N-1)在數(shù)據(jù)采樣階段的第一種數(shù)據(jù)流向示意圖。圖15為串行級聯(lián)應用時圖12中的中間級信號采樣緩存裝置(信號采樣緩存裝置#2 信號采樣緩存裝置#N-1)在數(shù)據(jù)采樣階段的第二種數(shù)據(jù)流向示意圖。圖例說明:1、緩存控制器;11、信號采集模塊;12、數(shù)據(jù)變換模塊;13、級聯(lián)傳輸模塊;131、級聯(lián)轉換模塊;14、選擇器;15、數(shù)據(jù)壓縮模塊;16、數(shù)據(jù)存儲模塊;17、數(shù)據(jù)通信模塊;18、存儲控制模塊;19、通信控制模塊;2、測試插座;3、存儲模塊;4、通信接口 ;5、第一級聯(lián)插座;6、第二級聯(lián)插座。
具體實施例方式如圖1所示,本實施例用于FPGA芯片調(diào)試的信號采樣緩存裝置包括緩存控制器1、測試插座2、存儲模塊3、通信接口 4和用于實現(xiàn)多個信號采樣緩存裝置之間級聯(lián)連接的級聯(lián)插座模塊,緩存控制器I分別與測試插座2、存儲模塊3、通信接口 4相連,級聯(lián)插座模塊包括分別用于在級聯(lián)工作狀態(tài)時連接上一級信號采樣緩存裝置或者下一級信號采樣緩存裝置的第一級聯(lián)插座5和第二級聯(lián)插座6,第一級聯(lián)插座5、第二級聯(lián)插座6分別與緩存控制器I相連。本實施例針對現(xiàn)有FPGA廠商提供的內(nèi)部信號觀測調(diào)試工具嚴重依賴芯片內(nèi)部緊缺的片內(nèi)RAM資源作為數(shù)據(jù)存儲部件導致邏輯debug (調(diào)試)困難的問題,增加了用于實現(xiàn)并行級聯(lián)或者串行級聯(lián)的級聯(lián)傳輸模塊,級聯(lián)傳輸模塊包括第一級聯(lián)插座5和第二級聯(lián)插座6,除了單獨對待診斷FPGA系統(tǒng)中的被觀測信號進行采樣緩存以外,還可以通過構建并行級聯(lián)應用、或者串行級聯(lián)應用、或者并行級聯(lián)串行級聯(lián)組合應用,從而能夠實現(xiàn)采樣信號數(shù)量大和采樣時間跨度長的FPGA調(diào)試。利用多個信號采樣緩存裝置中的內(nèi)存儲模塊3的大容量存儲資源實現(xiàn)對采樣信號數(shù)量大以及采樣時間跨度長的采樣數(shù)據(jù)緩存,具有無需FPGA片內(nèi)RAM資源、存儲空間利用率高、信號采樣時間跨度大、多信號采樣能力強、使用方式靈活的優(yōu)點。本實施例的信號采樣緩存裝置基于印制電路板實現(xiàn),緩存控制器1、測試插座2、存儲模塊3、通信接口 4、第一級聯(lián)插座5和第二級聯(lián)插座6均固定于印制電路板上形成一個整體。緩存控制器I根據(jù)需要可采用大容量FPGA芯片或定制ASIC芯片實現(xiàn),本實施例中,緩存控制器I采用大容量FPGA芯片實現(xiàn)。測試插座2用于與待診斷FPGA系統(tǒng)測試插座的信號連接。存儲模塊3使用存儲條DIMM實現(xiàn),在圖1中使用3條存儲條DIMM進行示意,具體可以根據(jù)需要調(diào)整存儲條DIMM的數(shù)量。通信接口 4實現(xiàn)與控制終端的通信連接,主要用于接收控制終端的控制命令以及向控制終端輸出采樣數(shù)據(jù),本實施例的通信接口 4具體為以太網(wǎng)通信接口,此外也可以根據(jù)需要采用USB、串口或者是無線通信接口等,以滿足不同應用場合的要求。本實施例的第一級聯(lián)插座5和第二級聯(lián)插座6均采用高速低電壓差分(LVDS)接口,其接口通信協(xié)議均采用雙向請求-應答協(xié)議。在級聯(lián)工作狀態(tài)時,如果第一級聯(lián)插座5連接上一級信號采樣緩存裝置,則第二級聯(lián)插座6連接下一級信號采樣緩存裝置;相反,如果第一級聯(lián)插座5連接下一級信號采樣緩存裝置,則第二級聯(lián)插座6連接上一級信號采樣緩存裝置。需要對待診斷FPGA芯片調(diào)試時,將待診斷FPGA芯片的測試插座引出到本實施例信號采樣緩存裝置的測試插座2上即可。緩存控制器I是本實施例信號采樣緩存裝置的核心部件,其主要功能如下:I)采樣緩存功能,在用于采樣時通過測試插座2將待診斷FPGA芯片引出的被觀測信號壓縮后存儲在存儲模塊3內(nèi)供讀??;2)數(shù)據(jù)轉發(fā)功能,通過第一級聯(lián)插座5和第二級聯(lián)插座6實現(xiàn)級聯(lián)的信號采樣緩存裝置之間的采樣數(shù)據(jù)傳輸;3)數(shù)據(jù)輸出功能,根據(jù)控制命令將存儲模塊3中存儲的采樣數(shù)據(jù)輸出。圖1為單片本實施例的信號采樣緩存裝置應用于調(diào)試待診斷FPGA系統(tǒng)的結構示意圖,待診斷FPGA系統(tǒng)是指處于調(diào)試狀態(tài)下應用系統(tǒng),該應用系統(tǒng)中包含用于待診斷FPGA芯片以及包含測試插座在內(nèi)的其他功能部件,其中測試插座的用途就是將待診斷FPGA芯片中用于邏輯debug的待觀察內(nèi)部信號引出,并通過連接電纜與本實施例的信號采樣緩存裝置的測試插座2連接構成調(diào)試環(huán)境。待診斷FPGA芯片內(nèi)部信號的引出通常采用廠商提供的專門工具完成。以Xilinx公司的工具為例,其提供的fpga_editor工具可以完成將指定的一個內(nèi)部信號探測輸出至一個未使用的指定引腳的功能,這種探測功能最大的優(yōu)點就在于用戶邏輯布局布線完成之后進行信號探測,不改動已實現(xiàn)邏輯的布局布線結果,這一點對于邏輯debug是至關重要的。ChipScope之類的工具對于探測信號的觀測必須通過重新布局布線完成,這個過程有可能面臨資源受限或時序無法收斂的風險,特別是對于FPGA芯片的資源占用比率較高的應用,情況則更加惡劣。針對單個信號緩存裝置可以采樣的信號數(shù)量有限、以及可以掛接的存儲條DIMM數(shù)量有限的問題,本實施例采用級聯(lián)方式解決這兩個問題:一方面多塊信號緩存裝置通過級聯(lián)插座并行連接,可以同時對更多的信號進行同步采樣,能夠滿足邏輯復雜,信號觀測量大的邏輯debug ;另一方面多塊信號緩存裝置通過級聯(lián)插座串行連接,構成一個更大存儲緩存容量的診斷裝置,能夠滿足有長時間跨度信號觀測需求的系統(tǒng)調(diào)試,本實施例的信號采樣緩存裝置還提供一個通信接口 4與外部控制終端實現(xiàn)通信,外部控制終端通過這個通信接口 4控制緩存控制器I的工作模式,以及從存儲模塊3中將緩存的數(shù)據(jù)讀出并反饋給邏輯調(diào)試人員進行邏輯debug (調(diào)試)。如圖2所示,緩存控制器I包括信號采集模塊11、數(shù)據(jù)變換模塊12、級聯(lián)傳輸模塊
13、選擇器14、數(shù)據(jù)壓縮模塊15、數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17、存儲控制模塊18和通信控制模塊19,信號采集模塊11的輸入端與測試插座2相連,信號采集模塊11的輸出端分別與數(shù)據(jù)變換模塊12、級聯(lián)傳輸模塊13相連,選擇器14的輸入端分別與數(shù)據(jù)變換模塊12、級聯(lián)傳輸模塊13相連,選擇器14的輸出端與數(shù)據(jù)壓縮模塊15相連,數(shù)據(jù)壓縮模塊15的輸出端分別與數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17相連,數(shù)據(jù)存儲模塊16通過存儲控制模塊18與存儲模塊3相連,數(shù)據(jù)存儲模塊16與數(shù)據(jù)通信模塊17相互連接,數(shù)據(jù)通信模塊17通過通信控制模塊19與通信接口 4相連,級聯(lián)傳輸模塊13分別與第一級聯(lián)插座5和第二級聯(lián)插座6相連,級聯(lián)傳輸模塊13內(nèi)設有用于控制第一級聯(lián)插座5以及第二級聯(lián)插座6連接狀態(tài)的級聯(lián)轉換模塊131,級聯(lián)轉換模塊131與通信控制模塊19相連。本實施例中,信號采集模塊11、數(shù)據(jù)變換模塊12、級聯(lián)傳輸模塊13、級聯(lián)轉換模塊131、選擇器14、數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17、存儲控制模塊18和通信控制模塊19均基于大容量FPGA芯片實現(xiàn)的緩存控制器I內(nèi)部的邏輯電路實現(xiàn)。信號采集模塊11負責以設定的信號采樣時鐘采樣被觀察信號,并將采樣獲得的值記錄下來轉交給數(shù)據(jù)變換模塊12或級聯(lián)傳輸模塊13 ;采樣時鐘和被采樣信號由待診斷FPGA芯片通過測試插座提供給信號緩存裝置,被采樣信號以采樣時鐘的上升沿為采樣點連續(xù)記錄其值。如圖3所示,以待診斷FPGA芯片輸出3個被采樣信號(采樣信號_1、采樣信號_2、采樣信號_3)為例,信號采集模塊11在連續(xù)6個采樣點獲的數(shù)據(jù)值串為“101”、“101”、“101”、“001”、“110”和 “001”。數(shù)據(jù)變換模塊12負責將信號采集模塊11連續(xù)采樣記錄下來的數(shù)據(jù)值串根據(jù)用戶設定的采樣要求記錄并變換成數(shù)據(jù)壓縮模塊15接受的數(shù)據(jù)格式。用戶設定的采樣要求通常包括:啟動信號采樣的條件、信號采樣的范圍和節(jié)拍數(shù)、數(shù)據(jù)或數(shù)據(jù)組間的邏輯操作等;在邏輯debug過程中,信號采樣序列中并非任何一個節(jié)拍的數(shù)據(jù)都是有助于bug定位的,通常調(diào)試人員只關心特定條件下的采樣數(shù)據(jù),例如只需要跟蹤地址為A的報文、只需要統(tǒng)計報文發(fā)出的個數(shù)、報文發(fā)送有效節(jié)拍時的接收部件的信用等,因此必須要數(shù)據(jù)變換模塊12對采樣數(shù)據(jù)進行轉換。如圖4所示,數(shù)據(jù)變換模塊12進行信號采樣的要求為:采樣信號_1為“I”的節(jié)拍時,記錄采樣信號_2和采樣信號_3的值,則數(shù)據(jù)變換模塊12將采樣數(shù)據(jù)進行數(shù)據(jù)變換后得到的數(shù)據(jù)變換結果為數(shù)值串“01”、“01”、“01”和“10”,其中第4個(“001”)和第6個(“001”)由于采樣信號_1為O被數(shù)據(jù)變換模塊12過濾。級聯(lián)傳輸模塊13負責將信號采集模塊11記錄下來的數(shù)據(jù)值串根據(jù)級聯(lián)信號寬度轉換成下一級級聯(lián)模式下的數(shù)據(jù)值串。為了保證采樣數(shù)據(jù)不丟失,要求級聯(lián)數(shù)據(jù)傳輸接口帶寬比采樣信號接口帶寬高。以級聯(lián)數(shù)據(jù)位寬為4位,采樣信號位寬為3位為例,如圖5所示,信號采集模塊11采樣的信號為3位(采樣信號_1 采樣信號_3),而級聯(lián)傳輸模塊的信號為4位(級聯(lián)數(shù)據(jù)_1 級聯(lián)數(shù)據(jù)_4),如圖中箭頭所示,采樣信號數(shù)據(jù)值串為“101”、“101”、“101”、“001”、“110”和“001”通過級聯(lián)傳輸模塊13時,被轉換為級聯(lián)值串為“1011”、“0110”、“1001”、“1100”、“Olxx”,其中XX代表后續(xù)的采樣信號數(shù)據(jù)值串。級聯(lián)轉換模塊131是級聯(lián)傳輸模塊13的子模塊,負責級聯(lián)模式下將數(shù)據(jù)值串在相鄰的兩個信號采樣緩存裝置間傳遞;此外,也可以將級聯(lián)轉換模塊131設置為單獨的模塊。選擇器14用于選擇輸出的通路,選擇器14根據(jù)工作模式選擇數(shù)據(jù)壓縮模塊15的信號采集源,當信號采集的源頭來自級聯(lián)插座模塊時,選擇器14選通級聯(lián)傳輸模塊13,否則選通數(shù)據(jù)變換模塊12。數(shù)據(jù)壓縮模塊15負責將接收到的數(shù)據(jù)值串根據(jù)壓縮算法進行編碼壓縮成新的數(shù)據(jù)值串;壓縮后的數(shù)據(jù)可以存儲在存儲模塊3中,也可以通過通信接口 4交給外部控制終端并存儲在外部控制終端的硬盤中。本實施例通過數(shù)據(jù)壓縮模塊15采用在線數(shù)據(jù)壓縮方式對信號數(shù)據(jù)進行壓縮,能夠更高效地利用存儲模塊3的存儲空間,提高了信號采樣的時間跨度。數(shù)據(jù)壓縮模塊15輸出的數(shù)據(jù)可以交給兩種數(shù)據(jù)存儲目標,一種是本信號采樣緩存裝置的存儲模塊3,另一種是通過數(shù)據(jù)通信模塊17、通信控制模塊19、通信接口 4將數(shù)據(jù)存儲在外接的外部控制終端上。當通信接口 4的外部已連接外部控制終端且采樣信號所需的數(shù)據(jù)帶寬低于通信接口 4的通信端口的帶寬時,可以通過通信接口 4直接將數(shù)據(jù)傳輸給外部控制終端并存儲在外部控制終端的硬盤中,充分利用廉價的大容量存儲設備;當采樣信號所需的數(shù)據(jù)帶寬高于通信端口的帶寬時,通信端口無法滿足數(shù)據(jù)存儲要求,此時數(shù)據(jù)必須存儲在存儲模塊3中。數(shù)據(jù)存儲模塊16接收數(shù)據(jù)壓縮模塊15壓縮后的數(shù)據(jù)值串將其以設定的字長和順序交給存儲控制模塊18存儲。數(shù)據(jù)存儲模塊16還接收數(shù)據(jù)通信模塊17發(fā)送來的數(shù)據(jù)讀取請求并將數(shù)據(jù)從存儲模塊3中讀出返回給外部控制終端還原被采樣信號波形。數(shù)據(jù)通信模塊17負責解釋和轉發(fā)外部控制終端發(fā)出的各種命令,并作為數(shù)據(jù)傳輸通路將采集到的數(shù)據(jù)傳輸給外部控制終端。存儲控制模塊18負責存儲條的初始化、配置和讀寫控制,完成數(shù)據(jù)存儲模塊發(fā)起的讀、寫訪問。通信控制模塊19負責通信端口的初始化、配置和讀寫控制,負責外部控制終端和信號緩存裝置的通信連接。由于級聯(lián)傳輸模塊的存在,本實施例的信號采樣緩存裝置可用于采樣信號數(shù)量大(并行級聯(lián)應用)和采樣時間跨度長(串行級聯(lián)應用)的FPGA調(diào)試。本實施例在并行級聯(lián)工作模式下時,每個與待診斷FPGA系統(tǒng)相連的信號緩存裝置都進行信號采樣和數(shù)據(jù)變換操作并將數(shù)據(jù)存儲在自身的存儲模塊中。相鄰兩個信號緩存裝置通過前一級信號緩存裝置的第二級聯(lián)插座6和后一級信號緩存裝置的第一級聯(lián)插座5連接,級聯(lián)插座用于兩個相鄰緩存裝置間通信數(shù)據(jù)的傳遞,此時外部控制終端只需使用一個通信接口 4就可以訪問到所有緩存裝置中緩存的數(shù)據(jù),方便系統(tǒng)連接與調(diào)試。本實施例在串行級聯(lián)工作模式下時,相鄰兩個信號緩存裝置通過前一級信號緩存裝置的第二級聯(lián)插座6和后一級信號緩存裝置的第一級聯(lián)插座5連接,與待診斷FPGA系統(tǒng)相連的信號緩存裝置負責診斷信號的采樣,一方面將采樣數(shù)據(jù)交給數(shù)據(jù)變換模塊12進行后續(xù)處理,另一方面將采樣數(shù)據(jù)交給級聯(lián)傳輸模塊13傳遞到下一級信號緩存裝置處理。本實施例的緩存控制器I通過數(shù)據(jù)壓縮模塊15采用在線數(shù)據(jù)壓縮方式對信號數(shù)據(jù)進行壓縮,能夠更高效地利用存儲空間,提高了信號采樣的時間跨度。下文將對本實施例信號采樣緩存裝置應用于待診斷FPGA系統(tǒng)對待診斷FPGA芯片進行診斷的應用范例進行說明。一、單獨應用于待診斷FPGA系統(tǒng)的診斷。參見圖1,本實施例信號采樣緩存裝置在單獨應用于待診斷FPGA系統(tǒng)的診斷時,級聯(lián)傳輸模塊13不工作。1.1、數(shù)據(jù)采樣存儲階段。在數(shù)據(jù)采樣存儲階段,信號采集模塊11采集的采樣數(shù)據(jù)依次經(jīng)過數(shù)據(jù)變換模塊
12、選擇器14、數(shù)據(jù)壓縮模塊15、數(shù)據(jù)存儲模塊16、存儲控制模塊18后被存入存儲模塊3。1.2、調(diào)試階段。在調(diào)試階段,存儲模塊3中存儲的數(shù)據(jù)依次通過存儲控制模塊18、數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17、通信控制模塊19、通信接口 4輸出。二、并行級聯(lián)應用于待診斷FPGA系統(tǒng)的診斷。當邏輯bug復雜、需要同時觀測較多的內(nèi)部信號才能定位錯誤時,如果待觀測信號數(shù)量超過了單個信號采樣緩存裝置可以同時采樣的信號數(shù)量,則可以使用并行級聯(lián)方式對信號采樣緩存裝置進行擴展。如圖6所示,將兩塊本實施例的信號采樣緩存裝置(信號采樣緩存裝置#1和信號采樣緩存裝置#2)通過級聯(lián)傳輸模塊的第一級聯(lián)插座5和第二級聯(lián)插座6進行并行級聯(lián),構成信號采樣數(shù)量更大的緩存裝置;此外也可以采用更多的信號采樣緩存裝置進行并行級聯(lián)。在并行級聯(lián)狀態(tài)工作時,多個采樣緩存裝置與待診斷FPGA系統(tǒng)連接,每個采樣緩存裝置負責一部分診斷信號的采樣和存儲。信號采集模塊11負責將本裝置采樣到的診斷數(shù)據(jù)交給數(shù)據(jù)變換模塊12并作為選擇器14的數(shù)據(jù)來源交給數(shù)據(jù)壓縮模塊15以及數(shù)據(jù)存儲模塊16進行后續(xù)處理。2.1、數(shù)據(jù)采樣存儲階段。在數(shù)據(jù)采樣存儲階段,信號采樣緩存裝置#1和信號采樣緩存裝置#2并行工作且數(shù)據(jù)流向完全相同,如圖7所示,信號采集模塊11采集的采樣數(shù)據(jù)依次經(jīng)過數(shù)據(jù)變換模塊
12、選擇器14、數(shù)據(jù)壓縮模塊15、數(shù)據(jù)存儲模塊16、存儲控制模塊18后被存入存儲模塊3。2.2、調(diào)試階段。在調(diào)試階段,外部控制終端與信號采樣緩存裝置#1的通信接口 4連接。信號采樣緩存裝置#1和信號采樣緩存裝置#2的數(shù)據(jù)流向各不相同。在調(diào)試階段,信號采樣緩存裝置#2從本級信號采樣緩存裝置的存儲模塊3中讀出數(shù)據(jù),如圖8所示,存儲模塊3中存儲的數(shù)據(jù)依次通過存儲控制模塊18、數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17、通信控制模塊19、級聯(lián)轉換模塊131、第一級聯(lián)插座5輸出給上一級信號采樣緩存裝置(信號采樣緩 存裝置#1)。在調(diào)試階段,信號采樣緩存裝置#1有兩種數(shù)據(jù)流向:第一種是從本級信號采樣緩存裝置的存儲模塊3中讀出數(shù)據(jù),如圖9所示,存儲模塊3中存儲的數(shù)據(jù)依次通過存儲控制模塊18、數(shù)據(jù)存儲模塊16、數(shù)據(jù)通信模塊17、通信控制模塊19、通信接口 4輸出;另一種是從后繼各級信號采樣緩存裝置的存儲模塊3中讀出數(shù)據(jù),如圖10所示,來自下一級信號采樣緩存裝置(信號采樣緩存裝置#2)的采樣數(shù)據(jù)依次通過第二級聯(lián)插座6、級聯(lián)轉換模塊131、通信控制模塊19、通信接口 4輸出。本實施例的圖6所示僅僅為二級的并行級聯(lián)結構,對于三級以上的并行級聯(lián)結構而言,在僅僅是增加了中間級信號采樣緩存裝置。中間級信號采樣緩存裝置在數(shù)據(jù)采樣存儲階段的數(shù)據(jù)流向相同,在調(diào)試階段中間級信號采樣緩存裝置有兩種數(shù)據(jù)流向:第一種是將下一級信號采樣緩存裝置的輸出的數(shù)據(jù)傳遞到上一級,如圖11所示,來自下一級信號采樣緩存裝置輸出的采樣數(shù)據(jù)依次通過第二級聯(lián)插座6、級聯(lián)轉換模塊131、第一級聯(lián)插座5輸出給上一級信號采樣緩存裝置;另一種是從本級信號采樣緩存裝置的存儲模塊3中讀出數(shù)據(jù)并傳遞到上一級,存儲模塊3中存儲的數(shù)據(jù)依次通過存儲控制模塊18、數(shù)據(jù)存儲模塊
16、數(shù)據(jù)通信模塊17、通信控制模塊19、級聯(lián)轉換模塊131、第一級聯(lián)插座5輸出給上一級信號采樣緩存裝置(與圖8的數(shù)據(jù)流向相同)。三、串行級聯(lián)應用于待診斷FPGA系統(tǒng)的診斷。當邏輯bug復雜,錯誤觸發(fā)到錯誤被觀測到的時間跨度很大、需要長時間的信號捕獲才能定位錯誤時,如果信號采樣數(shù)據(jù)存儲量超過了單個信號緩存裝置可以存儲的容量則可以使用串行級聯(lián)方式進行擴展。如圖12所示,將多塊信號緩存裝置(信號采樣緩存裝置#1、信號采樣緩存裝置#2、……、信號采樣緩存裝置#N)通過級聯(lián)傳輸模塊的第一級聯(lián)插座5和第二級聯(lián)插座6進行串行級聯(lián),并由第一個信號采樣緩存裝置(信號采樣緩存裝置#1)與待診斷FPGA系統(tǒng)相連,構成信號采樣時間深度更深的緩存裝置。在串行級聯(lián)狀態(tài)工作時,與待診斷FPGA系統(tǒng)相連的信號緩存裝置(信號采樣緩存裝置#1)負責診斷信號的采樣,一方面將采樣數(shù)據(jù)交給數(shù)據(jù)變換模塊12,并作為選擇器14的數(shù)據(jù)來源交給數(shù)據(jù)壓縮模塊15以及數(shù)據(jù)存儲模塊16進行后續(xù)處理,另一方面將采樣數(shù)據(jù)交給級聯(lián)傳輸模塊13傳遞到下一級信號緩存裝置(信號采樣緩存裝置#2)處理并存儲。串行級聯(lián)的后繼信號緩存裝置都使用級聯(lián)插座作為數(shù)據(jù)來源,選擇器14選擇級聯(lián)傳輸模塊產(chǎn)生的數(shù)據(jù)串作為待存儲數(shù)據(jù)進行后續(xù)處理。3.1、數(shù)據(jù)采樣存儲階段。在數(shù)據(jù)采樣存儲階段,串行級聯(lián)的第一級(信號采樣緩存裝置#1)、中間級(信號采樣緩存裝置#2 信號采樣緩存裝置#N-1)和最末級(信號采樣緩存裝置#N)信號采樣裝置的數(shù)據(jù)采樣存儲階段有不同的數(shù)據(jù)流向。數(shù)據(jù)采樣存儲階段,信號采樣緩存裝置#1有兩種數(shù)據(jù)采樣存儲數(shù)據(jù)流向:第一種是將測試插座2采樣到的采樣數(shù)據(jù)經(jīng)過數(shù)據(jù)轉換、壓縮后存儲在本級的存儲模塊3中,信號采集模塊11采集的采樣數(shù)據(jù)依次經(jīng)過數(shù)據(jù)變換模塊12、選擇器14、數(shù)據(jù)壓縮模塊15、數(shù)據(jù)存儲模塊16、存儲控制模塊18后被存入存儲模塊3 (與圖7的數(shù)據(jù)流向相同)。第二種是將測試插座模塊采樣到的信號經(jīng)過級聯(lián)傳輸后存儲在后繼各級信號采樣緩存裝置的存儲模塊3中,如圖13所示,信號采集模塊11采集的采樣數(shù)據(jù)依次經(jīng)過級聯(lián)傳輸模塊13、級聯(lián)轉換模塊131、第二級聯(lián)插座6輸出至下一級信號采樣緩存裝置。數(shù)據(jù)采樣存儲階段,信號采樣緩存裝置#2 信號采樣緩存裝置#N_1均有兩種數(shù)據(jù)采樣存儲數(shù)據(jù)流向:第一種是上一級信號采樣緩存裝置發(fā)送來的信號經(jīng)過本級的級聯(lián)轉換模塊131處理后存儲在本級存儲模塊3中,如圖14所示,上一級信號采樣緩存裝置從第一級聯(lián)插座5輸入的采樣數(shù)據(jù)依次經(jīng)過級聯(lián)轉換模塊131、級聯(lián)傳輸模塊13、選擇器14、數(shù)據(jù)壓縮模塊15、數(shù)據(jù)存儲模塊16、存儲控制模塊18后被存入存儲模塊3。第二種是上一級信號采樣緩存裝置發(fā)送來的信號經(jīng)過級聯(lián)插座傳遞到后繼信號采樣緩存裝置,如圖15所示,下一級信號采樣緩存裝置通過第一級聯(lián)插座5輸入的采樣數(shù)據(jù)依次經(jīng)過級聯(lián)轉換模塊131后,直接從第二級聯(lián)插座6輸出傳遞到后繼信號采樣緩存裝置。數(shù)據(jù)采樣存儲階段,信號采樣緩存裝置棚的數(shù)據(jù)流如下:將上一級信號采樣緩存裝置傳輸來的信號經(jīng)過數(shù)據(jù)轉換、壓縮后存儲在本級的存儲模塊3中(與圖14的數(shù)據(jù)流向相同)。3.2、調(diào)試階段。當數(shù)據(jù)采樣存儲階段完成后進入調(diào)試階段,外部控制終端通過信號采樣緩存裝置#1的通信接口 4收集存儲在各級信號采樣緩存裝置存儲模塊3中的數(shù)據(jù),串行級聯(lián)模式的數(shù)據(jù)流向與并行級聯(lián)模式相同,在此不再贅述。除了上述應用以外,還可以通過將本實施例信號采樣緩存裝置進行串行級聯(lián)、并行級聯(lián)組合的形式,實現(xiàn)采樣信號數(shù)量大、采樣時間跨度長的FPGA調(diào)試時的信號采樣緩存,此時組合級聯(lián)連接結構中的各個信號采樣緩存裝置的工作原理與單獨進行串行級聯(lián)或并行級聯(lián)組合的工作原理相同,在此不再贅述。以上所述僅是本發(fā)明的優(yōu)選實施方式,本發(fā)明的保護范圍并不僅局限于上述實施例,凡屬于本發(fā)明思路下的技術方案均屬于本發(fā)明的保護范圍。應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理前提下的若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。
權利要求
1.一種用于FPGA芯片調(diào)試的信號采樣緩存裝置,其特征在于:包括緩存控制器(I)、測試插座(2)、存儲模塊(3)、通信接口(4)和用于實現(xiàn)多個信號采樣緩存裝置之間級聯(lián)連接的級聯(lián)插座模塊,所述緩存控制器(I)分別與測試插座(2)、存儲模塊(3)、通信接口(4)相連,所述級聯(lián)插座模塊包括分別用于在級聯(lián)工作狀態(tài)時連接上一級信號采樣緩存裝置或者下一級信號采樣緩存裝置的第一級聯(lián)插座(5)和第二級聯(lián)插座(6),所述第一級聯(lián)插座(5)、第二級聯(lián)插座(6)分別與緩存控制器(I)相連。
2.根據(jù)權利要求1所述的用于FPGA芯片調(diào)試的信號采樣緩存裝置,其特征在于:所述緩存控制器(I)包括信號采集模塊(11)、數(shù)據(jù)變換模塊(12)、級聯(lián)傳輸模塊(13)、選擇器(14),數(shù)據(jù)壓縮模塊(15)、數(shù)據(jù)存儲模塊(16)、數(shù)據(jù)通信模塊(17)、存儲控制模塊(18)和通信控制模塊(19),所述信號采集模塊(11)的輸入端與測試插座(2)相連,所述信號采集模塊(11)的輸出端分別與數(shù)據(jù)變換模塊(12)、級聯(lián)傳輸模塊(13)相連,所述選擇器(14)的輸入端分別與數(shù)據(jù)變換模塊(12)、級聯(lián)傳輸模塊(13)相連,所述選擇器(14)的輸出端與數(shù)據(jù)壓縮模塊(15)相連,所述數(shù)據(jù)壓縮模塊(15)的輸出端分別與數(shù)據(jù)存儲模塊(16)、數(shù)據(jù)通信模塊(17)相連,所述數(shù)據(jù)存儲模塊(16)通過存儲控制模塊(18)與存儲模塊(3)相連,所述數(shù)據(jù)存儲模塊(16)與數(shù)據(jù)通信模塊(17)相互連接,所述數(shù)據(jù)通信模塊(17)通過通信控制模塊(19)與通信接口(4)相連,所述級聯(lián)傳輸模塊(13)分別與第一級聯(lián)插座(5)和第二級聯(lián)插座(6)相連,所述級聯(lián)傳輸模塊(13)內(nèi)設有用于控制第一級聯(lián)插座(5)以及第二級聯(lián)插座(6)連接狀態(tài)的級聯(lián)轉換模塊(131),所述級聯(lián)轉換模塊(131)與通信控制模塊(19)相連。
全文摘要
本發(fā)明公開了一種用于FPGA芯片調(diào)試的信號采樣緩存裝置,包括緩存控制器(1)、測試插座(2)、存儲模塊(3)、通信接口(4)和用于實現(xiàn)多個信號采樣緩存裝置之間級聯(lián)連接的級聯(lián)插座模塊,緩存控制器(1)分別與測試插座(2)、存儲模塊(3)、通信接口(4)相連,級聯(lián)插座模塊包括分別用于在級聯(lián)工作狀態(tài)時連接上一級信號采樣緩存裝置或者下一級信號采樣緩存裝置的第一級聯(lián)插座(5)和第二級聯(lián)插座(6),第一級聯(lián)插座(5)、第二級聯(lián)插座(6)分別與緩存控制器(1)相連。本發(fā)明具有無需FPGA片內(nèi)RAM資源、存儲空間利用率高、信號采樣時間跨度大、多信號采樣能力強、使用方式靈活的優(yōu)點。
文檔編號G06F11/25GK103116554SQ201310069618
公開日2013年5月22日 申請日期2013年3月5日 優(yōu)先權日2013年3月5日
發(fā)明者張峻, 齊星云, 王桂彬, 常俊勝, 張建民, 羅章, 徐金波, 董德尊, 賴明澈, 陸平靜, 王紹剛, 徐煒遐, 肖立權, 龐征斌, 王克非, 夏軍, 童元滿, 陳虎 申請人:中國人民解放軍國防科學技術大學