国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      可擴(kuò)展可重配置的原型系統(tǒng)及方法

      文檔序號(hào):6649841閱讀:170來源:國知局
      專利名稱:可擴(kuò)展可重配置的原型系統(tǒng)及方法
      技術(shù)領(lǐng)域
      本發(fā)明是關(guān)于電路設(shè)計(jì)的自動(dòng)化和驗(yàn)證(validation)技術(shù),特別地本發(fā)明涉及片上系統(tǒng)型(SoC)電路的設(shè)計(jì)自動(dòng)化和驗(yàn)證技術(shù)。
      背景技術(shù)
      隨著集成度的提高,許多復(fù)雜邏輯系統(tǒng)現(xiàn)在可以在單個(gè)集成電路上實(shí)現(xiàn)。這樣的集成電路被稱為片上系統(tǒng)(SoC)。片上系統(tǒng)一般包括一些復(fù)雜的單元,例如微處理器、外圍設(shè)備和內(nèi)存控制器等。許多片上系統(tǒng)還采用了來自一些其他供應(yīng)商的現(xiàn)有的電路設(shè)計(jì)。這些電路設(shè)計(jì)在業(yè)界被稱為IP核。
      在現(xiàn)有技術(shù)中,調(diào)試一個(gè)包含用戶設(shè)計(jì)的集成一個(gè)或多個(gè)來自第三方的IP核的系統(tǒng)是十分困難的,因?yàn)橛脩敉鶡o法通過用戶設(shè)計(jì)和IP核的接口來完全控制IP核的時(shí)序和邏輯行為。例如,用戶設(shè)計(jì)不正確的輸出信號(hào)會(huì)導(dǎo)致IP核產(chǎn)生不可預(yù)料的行為,而IP核的行為又反饋到用戶設(shè)計(jì)從而使用戶設(shè)計(jì)進(jìn)入不可預(yù)料的狀態(tài)。這樣的錯(cuò)誤是極其難以診斷和定位的。因而,一個(gè)能夠使設(shè)計(jì)者控制用戶設(shè)計(jì)和IP核之間的接口的設(shè)計(jì)工具是十分需要的。

      發(fā)明內(nèi)容
      本發(fā)明提供了一種通過可重配置的平臺(tái)用來設(shè)計(jì)和仿真用戶設(shè)計(jì)的系統(tǒng)及其方法。本發(fā)明中的方法尤其適用于基于IP復(fù)用的設(shè)計(jì)方法學(xué),例如由用戶自行設(shè)計(jì)的可執(zhí)行用戶自己設(shè)計(jì)和來自第三方的IP核的片上系統(tǒng)類設(shè)計(jì)。本發(fā)明可以在由內(nèi)存和一定數(shù)量的可編程邏輯器件組成的平臺(tái)上實(shí)現(xiàn)。這里的可編程邏輯器件可以是可編程邏輯門陣列。許多定制的電路可被配置用來與用戶設(shè)計(jì)交互操作,提供諸如設(shè)計(jì)調(diào)試、性能分析以及與仿真器連接等功能。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,用來設(shè)計(jì)和仿真用戶設(shè)計(jì)的系統(tǒng)包括(1)具有一個(gè)與用戶工作站相連的接口和一個(gè)數(shù)據(jù)通訊接口的一個(gè)系統(tǒng)控制器;(2)一個(gè)與該數(shù)據(jù)通訊接口相連的模擬平臺(tái),該模擬平臺(tái)包括多個(gè)現(xiàn)場(chǎng)可編程邏輯器件和存儲(chǔ)器,用以實(shí)現(xiàn)用戶設(shè)計(jì)和第三方IP核,該平臺(tái)還包括一個(gè)與目標(biāo)系統(tǒng)的接口與用戶設(shè)計(jì)在運(yùn)行時(shí)交互。該數(shù)據(jù)通訊接口包括一組配置總線,一組系統(tǒng)訪問總線和一組時(shí)鐘總線。該與目標(biāo)系統(tǒng)的接口包括一組源于可編程器件的輸入/輸出端口的信號(hào)。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,使用用來設(shè)計(jì)和仿真用戶設(shè)計(jì)的系統(tǒng),用戶應(yīng)生成包含用戶設(shè)計(jì)和一個(gè)或多個(gè)第三方IP核的頂層模塊。用戶隨即綜合用戶設(shè)計(jì)。用戶設(shè)計(jì)和第三方IP核被合理地劃分成多個(gè)區(qū)塊,每個(gè)區(qū)塊均可由一個(gè)或多個(gè)可編程邏輯器件來實(shí)現(xiàn)。另外,每個(gè)可編程邏輯器件和每個(gè)IP核均被分配一個(gè)接口模塊。通過該接口模塊,任何一個(gè)實(shí)現(xiàn)在某個(gè)可編程邏輯器件內(nèi)的IP核可以與其他任何一個(gè)在同一個(gè)可編程邏輯器件內(nèi)的區(qū)塊進(jìn)行通信,也可以與在其他可編程邏輯器件內(nèi)的任一區(qū)塊進(jìn)行通信。這些區(qū)塊和接口模塊隨后被布局布線并物理實(shí)現(xiàn)在可編程邏輯器件內(nèi)。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,該被分配到各個(gè)IP核或各個(gè)可編程邏輯器件內(nèi)的接口模塊包括一個(gè)控制電路和一組可變數(shù)量的輸入/輸出單元,每個(gè)單元提供1比特的互連端口。在該實(shí)施例中,每個(gè)輸入/輸出單元包括一個(gè)動(dòng)態(tài)可重配置的存儲(chǔ)器模塊、一個(gè)用來選擇輸出到1比特互連端口的輸出信號(hào)多路選擇器以及一定數(shù)量的鎖存器,每個(gè)鎖存器均可有選擇性地捕獲從1比特互連端口接收到的信號(hào)。該多路選擇器和鎖存器可以由在動(dòng)態(tài)可重配置存儲(chǔ)器模塊內(nèi)存儲(chǔ)的數(shù)值來控制。該動(dòng)態(tài)可重配置存儲(chǔ)器模塊可由一個(gè)或多個(gè)動(dòng)態(tài)可重配置的存儲(chǔ)器單元組成,并由一個(gè)狀態(tài)機(jī)(例如,一個(gè)計(jì)數(shù)器)產(chǎn)生的地址來訪問。動(dòng)態(tài)可重配置存儲(chǔ)器模塊通??梢允褂靡粋€(gè)比用戶設(shè)計(jì)使用的時(shí)鐘頻率更高的時(shí)鐘來操作。
      該接口模塊可以用來實(shí)現(xiàn)一個(gè)輸出端口、一個(gè)輸入端口、一個(gè)雙向端口或一個(gè)三態(tài)端口。另外,在接口模塊內(nèi)實(shí)現(xiàn)的端口類型可以被動(dòng)態(tài)改變。根據(jù)指定的測(cè)試或調(diào)試情況(例如,在邊界掃描操作中),接口模塊也可以被配置用來將在一個(gè)可編程邏輯器件中的IP核與其他在同一或不同的可編程邏輯器件中的IP核隔離開來。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,一個(gè)或多個(gè)可編程邏輯器件可以被分配一個(gè)驗(yàn)證IP核用來驗(yàn)證用戶電路的功能。例如,這樣的驗(yàn)證IP核可以包括一個(gè)仿真業(yè)界標(biāo)準(zhǔn)總線的操作。
      根據(jù)本發(fā)明的另一個(gè)具體實(shí)施例,一個(gè)或多個(gè)可編程邏輯器件可以被分配一個(gè)性能分析IP核。例如,性能分析IP核可以包括一個(gè)用來分析總線帶寬的IP核。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,該系統(tǒng)提供一個(gè)配置工具用以動(dòng)態(tài)重配置在一個(gè)選定的可編程邏輯器件中的邏輯電路。該配置工具也可以包括一個(gè)背板配置工具用來動(dòng)態(tài)重配置在一個(gè)裝有多個(gè)可編程邏輯器件的電路板上的總線。
      根據(jù)本發(fā)明的一個(gè)具體實(shí)施例,該系統(tǒng)提供一個(gè)系統(tǒng)調(diào)試工具來在運(yùn)行時(shí)監(jiān)測(cè)和分析在多個(gè)可編程邏輯器件之間的信號(hào)。該系統(tǒng)調(diào)試工具可以包括一個(gè)FPGA(現(xiàn)場(chǎng)可編程門陣列)回讀工具、一個(gè)系統(tǒng)訪問總線操作工具、一個(gè)內(nèi)部邏輯分析儀工具、一個(gè)帶寬分析工、一個(gè)符號(hào)/事務(wù)提取工具和一個(gè)仿真器鏈接工具。該內(nèi)部邏輯分析儀工具在一個(gè)或多個(gè)可編程邏輯器件中插入一個(gè)邏輯分析電路。符號(hào)/事務(wù)提取工具可以讓用戶來把一個(gè)或多個(gè)信號(hào)關(guān)聯(lián)起來,設(shè)定一個(gè)符號(hào)名或設(shè)定由多個(gè)信號(hào)組成的一個(gè)事務(wù)。一個(gè)事務(wù)可由在一定時(shí)間內(nèi)的一組信號(hào)波形來設(shè)定。調(diào)試工具可以偵測(cè)事務(wù)的發(fā)生并以符號(hào)名的方式向用戶報(bào)告。仿真器鏈接工具使用戶可以與一個(gè)在用戶工作站上運(yùn)行的仿真器程序交互,共同構(gòu)造一個(gè)軟/硬件協(xié)同仿真環(huán)境。


      圖1是本發(fā)明的一個(gè)具體實(shí)施例的可擴(kuò)展可重配置原型系統(tǒng)100;圖2是本發(fā)明的可擴(kuò)展可重配置原型系統(tǒng)100的系統(tǒng)控制器102的框圖;圖3是本發(fā)明的可擴(kuò)展可重配置原型平臺(tái)103的示意圖;圖4是本發(fā)明的一個(gè)具體實(shí)施例的示例編譯流程;圖5是本發(fā)明的一個(gè)在一個(gè)存儲(chǔ)器件中常見的“寫操作(write)”的事務(wù)波形;圖6a是本發(fā)明的一個(gè)具體實(shí)施例的一個(gè)片上系統(tǒng)設(shè)計(jì)620的示意圖,該片上系統(tǒng)設(shè)計(jì)包括用戶設(shè)計(jì)電路和IP,該用戶設(shè)計(jì)和IP被劃分到電路625-1至625-n上,每個(gè)分別與TAI-IP 626-1至626-n相連;圖6b是本發(fā)明的一個(gè)框圖,其所示為TAI IP 601-1至601-n被實(shí)現(xiàn)在FPGA103內(nèi),并用來做為FPGA602-1至602-n的接口;圖7是本發(fā)明的一個(gè)具體實(shí)施例的TAI IP 700的框圖;圖8是本發(fā)明的一個(gè)具體實(shí)施例的TAI IP單元800的框圖。
      具體實(shí)施例方式
      圖1為本發(fā)明的一個(gè)具體實(shí)施例的電可重配置原型系統(tǒng)100。如圖所示,電可重配置原型系統(tǒng)100包括可擴(kuò)展可重配置的原型平臺(tái)103,該原型平臺(tái)103可由一個(gè)或多個(gè)FPGA電路組成??蓴U(kuò)展可重配置原型平臺(tái)103與一個(gè)目標(biāo)系統(tǒng)104通過可編程的輸入/輸出端口105進(jìn)行交互。這些輸入/輸出端口可以由FPGA驅(qū)動(dòng)??蓴U(kuò)展可重配置原型平臺(tái)103由系統(tǒng)控制器102通過一組或多組數(shù)據(jù)總線控制。在本實(shí)施例中,這些數(shù)據(jù)總線包括系統(tǒng)配置總線108、系統(tǒng)訪問總線(SUB)107和時(shí)鐘總線106。系統(tǒng)配置總線108是用來配置FPGA電路;系統(tǒng)訪問總線(SUB)107是用來在系統(tǒng)控制器102和可擴(kuò)展可重配置的原型平臺(tái)103之間進(jìn)行數(shù)據(jù)通信;時(shí)鐘總線106為操作可擴(kuò)展可重配置原型平臺(tái)103提供了一個(gè)或多個(gè)時(shí)間基準(zhǔn)。
      用戶工作站101為用戶提供一個(gè)圖形化的用戶界面來操控電可重配置原型系統(tǒng)100的工作。通過這個(gè)圖形界面,用戶工作站101的一個(gè)用戶可以訪問用戶設(shè)計(jì),操作一個(gè)用來把用戶設(shè)計(jì)轉(zhuǎn)換成適用于可擴(kuò)展可重配置原型平臺(tái)103的配置信號(hào)的編譯器,使用各種IP庫,調(diào)用電子設(shè)計(jì)自動(dòng)化軟件和運(yùn)行時(shí)軟件。用戶工作站101可以是一個(gè)工程用工作站或個(gè)人電腦。在本實(shí)施例中,用戶工作站101與系統(tǒng)控制器102通過業(yè)界標(biāo)準(zhǔn)通信接口109進(jìn)行通信。該接口109可以是USB、PCI、IEEE-1394(又稱“火線”)或其他各種業(yè)界標(biāo)準(zhǔn)通信總線。
      在本實(shí)施例中,一個(gè)用戶設(shè)計(jì)可以通過常規(guī)的電路圖工具輸入或編輯,或者用一種行為或硬件描述語言(例如,SystemC,Verilog,System Verilog,VHDL等)來表現(xiàn),然后被綜合成邏輯門級(jí)的電路圖。本發(fā)明可以在硬件原型系統(tǒng),即電可重配置系統(tǒng)100里,實(shí)現(xiàn)對(duì)已綜合的電路的仿真和驗(yàn)證。
      圖2是系統(tǒng)控制器102的一個(gè)框圖。系統(tǒng)控制器102包括通信接口204,系統(tǒng)訪問總線控制器202,時(shí)鐘生成器203和配置控制器201。配置控制器201處理配置信號(hào)協(xié)議并從用戶工作站101通過配置總線108傳送配置數(shù)據(jù)到可擴(kuò)展可重配置的原型平臺(tái)103。這樣,配置控制器201就可以來配置或下載一定格式的用戶設(shè)計(jì)到可擴(kuò)展可重配置FPGA103中的FPGA。配置總線108也可以用來將在各個(gè)FPGA中的設(shè)計(jì)回讀,用以校驗(yàn);或者在運(yùn)行時(shí)獲取用戶設(shè)計(jì)中的狀態(tài)信息和數(shù)據(jù)。回讀操作一般是通過常規(guī)的技巧或使用供應(yīng)商提供的協(xié)議,比如SelectMap和JTAG(邊界掃描)。在本實(shí)施例中,配置總線108可以被用來測(cè)試在原型系統(tǒng)100中可擴(kuò)展可重配置的原型平臺(tái)103的可編程門陣列。
      系統(tǒng)訪問總線控制器通過系統(tǒng)訪問總線(SUB)在運(yùn)行時(shí)訪問設(shè)計(jì)和系統(tǒng)特定部件中的寄存器、FIFO(先進(jìn)先出隊(duì)列)、存儲(chǔ)器和其他狀態(tài)單元,例如由編譯器插入用戶設(shè)計(jì)的特殊邏輯單元。系統(tǒng)訪問總線107也可以用來把可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA復(fù)位或初始化到特定的工作狀態(tài)。
      時(shí)鐘發(fā)生器203驅(qū)動(dòng)時(shí)鐘總線106給FPGA陣列提供各種時(shí)鐘信號(hào)。這些時(shí)鐘信號(hào)的頻率和占空比均可編程。這些時(shí)鐘被下載在可擴(kuò)展可重配置的原型平臺(tái)103中的用戶設(shè)計(jì)使用。
      如上所述,可擴(kuò)展可重配置的原型平臺(tái)103可以由一個(gè)或多個(gè)可擴(kuò)展的背板(或電路板)、FPGA、動(dòng)態(tài)可配置的電開關(guān)組成。可擴(kuò)展可重配置的原型平臺(tái)103可以包含任意數(shù)量的FPGA和開關(guān)。圖3所示為可擴(kuò)展可重配置的原型平臺(tái)103的示意圖。如圖3所示,一個(gè)可擴(kuò)展可重配置的原型平臺(tái)由FPGA 304-1到304-n構(gòu)成。301-1到304-n中的每個(gè)FPGA都有超過一組的連接線與其他FPGA相連。本實(shí)施例中,一個(gè)或多個(gè)總線(例如,總線301-303)被用來互連FPGA 304-1至304-n。在這種方式下,信號(hào)可由任一FPGA連接到其他任意FPGA??偩€301-303可以被設(shè)置為“全局總線”(即每個(gè)FPGA都可以訪問的總線)。或者,總線301-303也可以被分配成各種配置,這樣每條總線都可以被配置成為某一組特定FPGA專用。這些總線也可以通過動(dòng)態(tài)可配置的電路開關(guān)相互連。這些電路開關(guān)可以由特殊的開關(guān)電路來提供,或者被配置到FPGA 304-1到304-n中。這些FPGA可以被配置成為一個(gè)層次化的結(jié)構(gòu)。在這個(gè)結(jié)構(gòu)中,F(xiàn)PGA可以被分組。這樣,每組中的FPGA由一個(gè)“局部”的互連總線互連,而這些局部互連總線由一層或多層的動(dòng)態(tài)可重配置開關(guān)相連。另外,每個(gè)FPGA可以有一個(gè)或多個(gè)輸入或輸出信號(hào)連接在輸入/輸出總線105上與目標(biāo)系統(tǒng)104通信。這些輸入/輸出信號(hào)也可以被由一層或多層動(dòng)態(tài)可配置開關(guān)互連,用作FPGA之間的信號(hào)互通。無論如何,隨著技術(shù)的演進(jìn)和提升,這些互連線的數(shù)量不受限制。這些互連總線和開關(guān)通常是在一個(gè)或多個(gè)背板或電路路上實(shí)現(xiàn)為佳?;蛘?,任何的互連總線(例如,總線301-303,配置總線108,SUB總線107或時(shí)鐘總線106中的任一)也可以由電纜、光纖或其他互連方式來實(shí)現(xiàn)。
      一個(gè)復(fù)雜的數(shù)字系統(tǒng)(例如,一個(gè)片上系統(tǒng)或一個(gè)專用電路)通常包括多個(gè)子系統(tǒng)。例如,一個(gè)片上系統(tǒng)設(shè)計(jì)可以包括諸如一個(gè)多媒體子系統(tǒng)、一個(gè)信號(hào)處理子系統(tǒng)、一個(gè)外設(shè)控制系統(tǒng)和一個(gè)中央處理器。每個(gè)子系統(tǒng)可以被配置到一組由一條共用的局部總線連接的FPGA。然后由動(dòng)態(tài)可配置開關(guān)來連接這條局部總線到系統(tǒng)的其他總線。這條共用的局部總線也可以是一條被設(shè)置成“關(guān)”模式(斷開連接)的全局總線,這樣來做為子系統(tǒng)中專用的局部總線。在各條局部總線之間的開關(guān)可以被配置成“開”模式來完成子系統(tǒng)之間的通信。全局總線可以被用來作為子系統(tǒng)之間的通信或FPGA之間的點(diǎn)對(duì)點(diǎn)通信。
      為了把一個(gè)用戶設(shè)計(jì)在可擴(kuò)展可重配置的原型平臺(tái)103中實(shí)現(xiàn),用戶在用戶工作站101上使用一個(gè)編譯器。圖4所示為本發(fā)明的一個(gè)實(shí)施例的編譯器程序的流程圖。如圖4所示,在步驟401中,一個(gè)系統(tǒng)設(shè)計(jì)者可以調(diào)用一個(gè)頂層模塊生成器來為用戶設(shè)計(jì)生成一個(gè)頂層模塊。用戶設(shè)計(jì)可以包含特殊的設(shè)計(jì)單元和第三方的IP核。這個(gè)頂層模塊生成器用來幫助集成來自用戶自己的庫和第三方提供商的各種設(shè)計(jì)和IP核。該生成器根據(jù)標(biāo)準(zhǔn)的總線定義和用戶自定義的總線和信號(hào)互連關(guān)系來自動(dòng)連接用戶設(shè)計(jì)單元和第三方IP核。或者,系統(tǒng)設(shè)計(jì)者也可以手工的創(chuàng)建頂層模塊而不使用自動(dòng)頂層模塊生成器。
      在步驟402中,一個(gè)系統(tǒng)或電路設(shè)計(jì)者使用編譯器來導(dǎo)入(例如,使用一個(gè)“導(dǎo)入設(shè)計(jì)”命令)在頂層模塊中的各個(gè)設(shè)計(jì)單元。這個(gè)設(shè)計(jì)通常是由一種硬件描述語言或網(wǎng)表形式表述。編譯器檢查設(shè)計(jì)的語法、可綜合性和完整性(例如,是否所有在設(shè)計(jì)源碼中的邏輯單元是在一個(gè)預(yù)定義的庫或一個(gè)邏輯數(shù)據(jù)庫里可用的或可鏈接獲得的)。如果在一個(gè)導(dǎo)入的設(shè)計(jì)中有錯(cuò)誤存在或一個(gè)邏輯塊不可用,編譯器軟件會(huì)報(bào)告一個(gè)導(dǎo)入錯(cuò)誤。根據(jù)需要,步驟402可以被重復(fù)多次,直到所有的輸入源碼被檢查正確并被編譯器接受。
      在設(shè)計(jì)被導(dǎo)入后,在步驟403中,通過使用例如一條編譯器中的“綜合”命令或可被編譯器調(diào)用的第三方綜合工具,設(shè)計(jì)者可以綜合設(shè)計(jì)中所有的硬件描述(硬件描述語言或其他格式)。在實(shí)施例中,編譯器以自底向上的策略綜合第三方IP核,以此來保持第三方IP核的邊界信號(hào)并保持運(yùn)行時(shí)性能。綜合后的設(shè)計(jì)包含可以用來配置到可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA里的網(wǎng)表形式(比如,EDIF文件)。在實(shí)施例中,編譯器把所有EDIF文件合并到一個(gè)EDIF文件來代表用戶設(shè)計(jì)。
      在本實(shí)施例中,在步驟404中,當(dāng)一個(gè)設(shè)計(jì)被綜合后,設(shè)計(jì)者可以調(diào)用一個(gè)編譯器中的“符號(hào)定義”命令開始符號(hào)定義過程。在符號(hào)定義過程中,用戶可以把任何一個(gè)單獨(dú)的信號(hào)或一組信號(hào)定義為一個(gè)符號(hào)。任意數(shù)量的信號(hào)都可以定義為一個(gè)符號(hào)。另外,用戶也可以定義一個(gè)事務(wù),即一組特定的符號(hào)或信號(hào)的一系列事件,或一組任意長(zhǎng)度的波形。當(dāng)信號(hào)或符號(hào)的狀態(tài)轉(zhuǎn)換與事務(wù)中指定的一定長(zhǎng)度的波形相吻合時(shí),認(rèn)為該事務(wù)發(fā)生。例如,圖5所示是一個(gè)存儲(chǔ)設(shè)備的典型的“寫操作”的事務(wù)波形。如圖5所示,這個(gè)“寫操作”事務(wù)包括了五個(gè)符號(hào)的波形單獨(dú)的信號(hào)“時(shí)鐘(clk)”,“寫操作(write)”,“片選(chipselect)”和總線信號(hào)“地址(address)”,“數(shù)據(jù)(data)”。在這個(gè)例子中,這個(gè)事務(wù)為兩個(gè)時(shí)鐘周期長(zhǎng)。如圖5所示,周期1和周期2在0納秒到100秒之間。在這段時(shí)間內(nèi),“片選(chipselect)”和“寫操作(write)”控制信號(hào)都被置為有效一個(gè)“時(shí)鐘(clk)”信號(hào)的周期長(zhǎng)。這個(gè)兩個(gè)時(shí)鐘周期內(nèi)的信號(hào)波形定義了這個(gè)事務(wù)。為了檢測(cè)事務(wù)的發(fā)生,原型系統(tǒng)100可以被配置成在運(yùn)行時(shí)監(jiān)測(cè)指定信號(hào)并將信號(hào)變化與預(yù)定的事務(wù)中的信號(hào)變化相比較。與現(xiàn)有技術(shù)不同的是,當(dāng)事務(wù)發(fā)生被檢測(cè)到時(shí),軟件會(huì)向用戶報(bào)告事務(wù)的發(fā)生,而不是讓用戶去解讀一堆信號(hào)狀態(tài)。在這種方式下,事務(wù)以高階抽象的方式向用戶報(bào)告,既而被用來幫助調(diào)試。在一個(gè)實(shí)施例中,信號(hào)狀態(tài)被采樣并存儲(chǔ)在一個(gè)板上的存儲(chǔ)器中,或者是在用戶工作站101上的存儲(chǔ)器或文件中,以被用來做進(jìn)一步的分析。符號(hào)和事務(wù)在調(diào)試模式下尤其有用,在調(diào)試模式下信號(hào)比較和事務(wù)檢測(cè)機(jī)制都與前述的運(yùn)行時(shí)完全一致。電路設(shè)計(jì)者可以按需要定義任意多的符號(hào)和事務(wù),這樣,大量的運(yùn)行時(shí)信號(hào)信息可以在高抽象層次被定義,以方便調(diào)試。在調(diào)試模式下定義的符號(hào)和事務(wù)可以被轉(zhuǎn)換到運(yùn)行時(shí)使用和觀察。
      在步驟405中,用戶可以用一個(gè)編譯器中的“劃分”命令來把設(shè)計(jì)劃分到多個(gè)區(qū)塊,每個(gè)區(qū)塊將會(huì)在一個(gè)單獨(dú)的FPGA中實(shí)現(xiàn)。第三方IP核也被劃分并實(shí)現(xiàn)在各個(gè)FPGA中。一個(gè)大的IP核可以被劃分到多個(gè)FPGA中。在一個(gè)實(shí)施例中,劃分命令調(diào)用第三方的劃分工具。由于在后文中講到的“TAI IP單元”的互連方法,在原型系統(tǒng)100中的劃分工具可以遵循最大化FPGA的容量利用率而不用被FPGA的管腳所限的原則來優(yōu)化劃分。劃分工具產(chǎn)生在可擴(kuò)展FPGA陣列中的每個(gè)FPGA的單獨(dú)的網(wǎng)表。劃分步驟405會(huì)保留所有的用戶設(shè)計(jì)的所有信息和功能。或者,第三方劃分器或手工劃分也可以被用來劃分設(shè)計(jì)。劃分器可以接受設(shè)置約束條件,用以指示劃分器來生成針對(duì)可擴(kuò)展可重配置的原型平臺(tái)103的硬件的網(wǎng)表。
      在步驟406中,在用戶設(shè)計(jì)被劃分后,編譯器在每個(gè)FPGA區(qū)塊中插入一個(gè)定制的電路結(jié)構(gòu)來提供“可測(cè)性”、“可分析性”和“互連”功能。這個(gè)被稱為“TAI IP”的特制的電路結(jié)構(gòu)也被插入到各個(gè)IP或一個(gè)被劃分到多個(gè)FPGA的一個(gè)IP的各個(gè)部分。圖6a中所示為劃分后電路拓?fù)浣Y(jié)構(gòu)的一個(gè)邏輯視圖。如圖6a所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例,一個(gè)包括用戶設(shè)計(jì)電路和第三方IP的片上系統(tǒng)設(shè)計(jì)620,設(shè)計(jì)被劃分到電路625-1到625-n中,每個(gè)分別對(duì)應(yīng)TAI-IP 626-1到626-n。625-1到625-n中的每個(gè)電路分別是將被實(shí)現(xiàn)在一個(gè)FPGA中的用戶設(shè)計(jì)的一個(gè)分塊、一個(gè)IP或一個(gè)IP的一個(gè)部分。在某些實(shí)例中,一個(gè)用戶設(shè)計(jì)的分塊可以被分配到同一個(gè)FPGA。625-1到625-n中的每一塊電路通過與他們相關(guān)聯(lián)的TAI IP 626-1到626-n及一條或多條通信總線或通道(如圖中所示總線630-1到630-02)與其他部分相互通信。(雖然在圖6a中只示出兩條總線,根據(jù)用戶的選擇和電路間的互連關(guān)系,一個(gè)通信通道可以包括一條或多條信號(hào)總線。)圖6b是一個(gè)結(jié)構(gòu)框圖,其所示為TAI IP 602-1到601-n被實(shí)現(xiàn)在可擴(kuò)展可重配置的原型平臺(tái)103中,用來作為FPGA 602-1到602-n之間的接口。如圖6b所示,每個(gè)FPGA中的TAI IP與其他FPGA中的TAI IP相連,來提供可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA之間的互連。而一個(gè)FPGA中的每個(gè)IP則也通過與其相關(guān)的TAI IP與分配在該FPGA中的其他電路以及其他FPGA中的電路通信。在這樣的結(jié)構(gòu)下,一個(gè)IP的輸入和輸出可以通過TAI IP來控制。例如,IP的每個(gè)輸出信號(hào)可以被從用戶設(shè)計(jì)上隔離,而信號(hào)狀態(tài)可以被替換成固定值來方便調(diào)試。另外,IP的輸入和輸出信號(hào)可以被獨(dú)立監(jiān)測(cè)來提高可測(cè)性。
      圖7是本發(fā)明的一個(gè)實(shí)施例的TAI IP 700的一個(gè)框圖。如圖7所示,TAIIP 700包括控制電路701用以控制TAI IP結(jié)構(gòu)塊電路(“TAI IP單元”)702-1到702-n。每個(gè)TAI IP中的TAI IP單元的數(shù)量是一個(gè)可編程的設(shè)計(jì)參數(shù),通常根據(jù)FPGA陣列板上需要互連的FPGA的數(shù)量、用戶設(shè)計(jì)的輸入輸出要求和用戶的指定來決定。每個(gè)TAI IP單元通過一個(gè)一位的互連端口(例如,互連端口703-1到703-n中的一個(gè))來連接到可擴(kuò)展FPGA陣列103電路板上的一條總線?;谶@些要求,編譯器決定所需的TAI IP單元的數(shù)量并產(chǎn)生所需的每個(gè)FPGA中的TAI IP中TAI IP單元和控制電路。
      圖8是本發(fā)明的一個(gè)實(shí)施例的TAI IP單元800。如圖8所示,TAI IP單元800包括動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802、多路信號(hào)選擇器803、雙向緩沖器806(包括輸出緩沖器806a和輸入緩沖器806b)和信號(hào)鎖存器807。動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801控制的數(shù)據(jù)輸出信號(hào)808和與之相應(yīng)的輸出使能信號(hào)805的多路選擇。數(shù)據(jù)輸出信號(hào)809和相應(yīng)的輸出使能信號(hào)805包括配置在FPGA中的用戶設(shè)計(jì)的輸出信號(hào)和指定的內(nèi)部邏輯節(jié)點(diǎn)信號(hào)。另外,固定信號(hào)810(包括一個(gè)固定的“0”和一個(gè)固定的“1”)也可以被信號(hào)輸出多路選擇器選中來通過互連端口703傳遞。在這樣的結(jié)構(gòu)下,一個(gè)輸出信號(hào)可以在任何時(shí)刻輸出到互連端口703上。數(shù)據(jù)輸出信號(hào)809中的未分配信號(hào)可以被連上任意的值。如后文所述,這樣的組織使得運(yùn)行時(shí)的增量信號(hào)配置不需要完全的重編譯。未使用的輸出使能信號(hào)被分配一個(gè)“使無效”的信號(hào)狀態(tài),這樣可以防止無意地輸出一個(gè)值到互連端口703。
      動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器802控制一組信號(hào)鎖存器,每個(gè)鎖存器可以被選中來鎖存互連端口703上的輸入信號(hào)。如上所述,互連端口703通過一位的互連總線從其他FPGA接收到信號(hào)。信號(hào)鎖存器807的輸出信號(hào)驅(qū)動(dòng)信號(hào)808,信號(hào)808被連接到用戶設(shè)計(jì)中的元件的輸入端口。輸入信號(hào)808中未分配的信號(hào)可以被留空。
      動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802由控制記數(shù)器尋址,這樣動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802可以在運(yùn)行時(shí)由SUB總線107加載。多路選擇器804控制雙向緩沖器806的方向,由此來決定互連總線703是一個(gè)輸入端口、一個(gè)輸出端口或一個(gè)雙向端口。多路選擇器804的選擇信號(hào)可以在運(yùn)行時(shí)被改變動(dòng)態(tài)配置端口類型。如圖8中所示的實(shí)施例,多路選擇器803和804同時(shí)由動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801產(chǎn)生的控制信號(hào)控制,并選擇同樣數(shù)量的信號(hào)。在這種配置下,相應(yīng)的多路選擇器803和804的輸入信號(hào)被選中。這樣的結(jié)構(gòu)當(dāng)然不是必需的。多個(gè)多路選擇器也可以由動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801的輸出字中的不同字段來控制,用來選擇設(shè)計(jì)輸出信號(hào)809和輸出使能信號(hào)805。
      一個(gè)三態(tài)輸出端口可以通過把數(shù)據(jù)輸出信號(hào)作為信號(hào)809中的一個(gè),并把相應(yīng)的輸出使能信號(hào)作為相應(yīng)的輸出使能信號(hào)805中的一個(gè)來實(shí)現(xiàn)。當(dāng)相應(yīng)的輸出使能信號(hào)被置為無效時(shí)即得到高阻態(tài)。相似地,一個(gè)雙向信號(hào)可以通過同時(shí)作為數(shù)據(jù)輸出信號(hào)809和數(shù)據(jù)輸入信號(hào)808以及把相應(yīng)的輸出使能信號(hào)作為輸出使能信號(hào)805中的一個(gè)來實(shí)現(xiàn)。編譯器確保雙向端口被正確的映射,這樣相應(yīng)的動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器中的相應(yīng)的地址總是被同時(shí)選中。在一個(gè)實(shí)施例中,雙向信號(hào)被映射到動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802中的相同地址。
      一個(gè)TAI IP(例如,TAI IP 601-1到601-n中的任一個(gè))可以工作在一個(gè)比用戶設(shè)計(jì)更快的時(shí)鐘。以這個(gè)快時(shí)鐘來控制增大或減小計(jì)數(shù)器,并由計(jì)數(shù)器產(chǎn)生用來訪問動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802的地址。每個(gè)計(jì)數(shù)器有一個(gè)可以編程的最大和最小的計(jì)數(shù)值。通常,當(dāng)計(jì)數(shù)器達(dá)到最大或最小計(jì)數(shù)值時(shí),計(jì)數(shù)器輪回計(jì)數(shù)。當(dāng)達(dá)到計(jì)數(shù)上限時(shí),計(jì)數(shù)器被復(fù)位到零。當(dāng)計(jì)數(shù)器在一個(gè)用戶設(shè)計(jì)的時(shí)鐘周期內(nèi)至少被復(fù)位一次,用戶設(shè)計(jì)的輸入輸出信號(hào)和要被鎖存的信號(hào)都已經(jīng)被正確的傳送。在這個(gè)實(shí)施例中,每個(gè)計(jì)數(shù)器中的最大或最小計(jì)數(shù)值可以通過SUB 107在運(yùn)行時(shí)編程。這樣每個(gè)快時(shí)鐘周期內(nèi)可以被交互的信號(hào)可以動(dòng)態(tài)可變。由于動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器801和802可以由用戶或由實(shí)時(shí)軟件通過SUB 107來寫入,互連端口703的輸入或輸出信號(hào)就可以以用戶時(shí)鐘為依據(jù)動(dòng)態(tài)地調(diào)整。這樣的能力使得信號(hào)值或連接可以在測(cè)試或調(diào)試模式下可變。
      在TAI IP被插入后,在步驟407中,編譯器調(diào)用布局布線程序來處理每個(gè)FPGA的網(wǎng)表。布局布線程序通常是FPGA供應(yīng)商定制的程序,用來把每個(gè)網(wǎng)表轉(zhuǎn)換成一個(gè)二進(jìn)制文件或一個(gè)文本文件。這個(gè)輸出的文件可以下載到可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA中去。在一個(gè)實(shí)施例中,布局布線程序可以在多于一個(gè)用戶工作站或處理器上運(yùn)行來并行處理FPGA的布局布線任務(wù)。布局布線后的二進(jìn)制或文本文件可以被存儲(chǔ)在用戶工作站104上,留待實(shí)時(shí)軟件的進(jìn)一步處理。
      一個(gè)IP庫可以包括除了TAI IP以外的其他提供電路驗(yàn)證、電路調(diào)試和性能分析功能的IP。系統(tǒng)設(shè)計(jì)者可以把一個(gè)或多個(gè)這樣的IP加入用戶設(shè)計(jì)。把這樣的IP加入用戶設(shè)計(jì)可以由系統(tǒng)設(shè)計(jì)者指示編譯器或由手工在用戶設(shè)計(jì)的源代碼中實(shí)例化這些IP來完成。
      用作電路驗(yàn)證的IP(驗(yàn)證IP)可以包括諸如仿真一個(gè)USB總線或PCI總線的電路,用來驗(yàn)證與一個(gè)USB總線或PCI總線有交互的用戶設(shè)計(jì)的工作。用在原型系統(tǒng)100中的驗(yàn)證IP使用戶或?qū)崟r(shí)軟件可以通過SUB 107訪問驗(yàn)證IP的創(chuàng)建者或提供商提供的工作信息。通常,驗(yàn)證IP監(jiān)測(cè)用戶設(shè)計(jì)的行為,檢查用戶設(shè)計(jì)與標(biāo)準(zhǔn)通信或信號(hào)協(xié)議的兼容性,或是將用戶設(shè)計(jì)的行為與一個(gè)特定的行為模式(正確的模式)相比較。驗(yàn)證IP可以提供分析報(bào)告和錯(cuò)誤或警告信息給用戶或?qū)崟r(shí)軟件。
      例如,用作調(diào)試的IP核(調(diào)試IP核)包括完成一個(gè)內(nèi)部邏輯分析儀功能的IP核(內(nèi)部邏輯分析儀IP核)或一個(gè)數(shù)據(jù)流/狀態(tài)分析器。這些IP核使系統(tǒng)設(shè)計(jì)者可以在運(yùn)行時(shí)調(diào)試已配置好的系統(tǒng)。例如,一個(gè)內(nèi)部邏輯分析儀IP核可以用來在指定的觸發(fā)點(diǎn)采樣用戶設(shè)計(jì)中的信號(hào)值并存儲(chǔ)到存儲(chǔ)器單元用作后續(xù)分析。運(yùn)行軟件可以在運(yùn)行時(shí)訪問并操作這些調(diào)試IP核。
      用作性能分析的IP核(性能分析IP核)可以包括用來做帶寬分析的IP核。這些IP核可以用來收集性能信息并分析用戶設(shè)計(jì)的性能。與其他IP核一樣,性能分析IP核可以通過SUB 107與用戶或運(yùn)行時(shí)軟件通信來共同完成性能分析。
      在運(yùn)行系統(tǒng)100中的運(yùn)行軟件可包括一個(gè)動(dòng)態(tài)配置工具集和一個(gè)系統(tǒng)調(diào)試工具集。動(dòng)態(tài)配置工具集接收用戶命令來配置可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA,背板和TA IPs修改操作模式,交互和甚至實(shí)時(shí)地設(shè)計(jì)功能。在一個(gè)實(shí)施例中,在對(duì)FPGA命令做出響應(yīng)后,F(xiàn)PGA配置工具讀取二進(jìn)制或者ASCII的FPGA配置文件并將文件傳送至系統(tǒng)控制器102中的配置控制器201。FPGA配置工具可單獨(dú)配置一個(gè)或多個(gè)可擴(kuò)展可重配置的原型平臺(tái)103中的FPGA,甚至所需一個(gè)FPGA中的部分。例如,用戶可修改一個(gè)FPGA中的邏輯塊。使用FPGA配置工具可將修改的邏輯塊下載至FPGA中,而不需要重新配置別的FPGA。
      響應(yīng)一個(gè)電路板配置命令,背板配置工具配置電路板上或者可擴(kuò)展可重配置的原型平臺(tái)103中背板上的可配置開關(guān)。典型地,任一開關(guān)可設(shè)置成“開”狀態(tài)或“關(guān)”狀態(tài)。當(dāng)開關(guān)處于“開”狀態(tài)時(shí),開關(guān)導(dǎo)通。當(dāng)開關(guān)處于“關(guān)”狀態(tài)時(shí),開關(guān)斷開。背板配置工具可以用作諸如選擇性地將部分互聯(lián)總線配置成本地總線。
      響應(yīng)一個(gè)TAI IP配置命令,TAI IP配置工具生成用于通過SUB 107存儲(chǔ)在TAI IP單元中的一個(gè)或多個(gè)動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器中的數(shù)據(jù)。這些數(shù)據(jù)代表了FPGA之間的互連關(guān)系或用戶的特殊需求。例如,某用戶可能希望給一個(gè)指定的FPGA的某個(gè)輸入信號(hào)提供一個(gè)為“1”的值而不用重編譯。為了達(dá)到這樣的效果,TAI IP配置工具重新計(jì)算所需要的標(biāo)記存儲(chǔ)器內(nèi)的值來產(chǎn)生這個(gè)輸入值,同時(shí)把修改后的標(biāo)記存儲(chǔ)器的值寫入特定的動(dòng)態(tài)可重配置標(biāo)記存儲(chǔ)器。
      系統(tǒng)調(diào)試工具集收集和分析設(shè)計(jì)和調(diào)試信息,并設(shè)置特殊的條件和信號(hào)來實(shí)時(shí)操縱用戶設(shè)計(jì)的工作。在一個(gè)實(shí)施例中,系統(tǒng)調(diào)試工具集包括(a)一個(gè)FPGA回讀工具,(b)一個(gè)SUB訪問工具,(c)一個(gè)內(nèi)部邏輯分析工具,(d)一個(gè)帶寬分析工具,(e)一個(gè)符號(hào)/事務(wù)提取工具和(f)一個(gè)仿真鏈接工具。
      FPGA回讀工具在運(yùn)行時(shí)讀取指定的FPGA的內(nèi)容或用戶設(shè)計(jì)中指定信號(hào)的狀態(tài)。FPGA回讀工具可以從提供商處獲得并使用提供商指定的協(xié)議,諸如JTAG或SelectMAP,來讀取指定FPGA的內(nèi)容。許多FPGA提供商提供工具來讀取FPGA中的任一個(gè)寄存器或存儲(chǔ)器單元的內(nèi)容。在這個(gè)實(shí)施例中,當(dāng)數(shù)據(jù)從FPGA回讀后,F(xiàn)PGA回讀工具把這些信息轉(zhuǎn)譯成信號(hào)值并映射到用戶設(shè)計(jì)中的信號(hào)名和符號(hào)。通過這樣的方式,就可以得到FPGA內(nèi)任何信號(hào)的完全可觀察性。
      SUB訪問工具被用來訪問與SUB 107相連的用戶設(shè)計(jì)中的或原型系統(tǒng)100中的元件。元件都被映射到地址空間,這樣用SUB訪問工具來訪問元件就是通過發(fā)出命令,地址和數(shù)據(jù)到系統(tǒng)控制器102中的SUB控制器202來讀或?qū)懺械臄?shù)據(jù)。在一個(gè)實(shí)施例中,SUB 107被擴(kuò)展為可以讀寫可擴(kuò)展可重配置的原型平臺(tái)103電路板中的任何元件。
      內(nèi)部邏輯分析儀工具為原型系統(tǒng)100中內(nèi)嵌的邏輯分析儀設(shè)置觸發(fā)條件。這個(gè)邏輯分析儀是一個(gè)下載在可擴(kuò)展可重配置的原型平臺(tái)103中的一個(gè)或多個(gè)FPGA里的特殊的IP(內(nèi)部邏輯分析儀IP)。這個(gè)邏輯分析儀IP可以提供與傳統(tǒng)的邏輯分析儀相同的功能。在FPGA里與TAI IP共同作用,這個(gè)邏輯分析儀IP可以提供大量信號(hào)的采樣并處理大量的觸發(fā)條件。在一個(gè)實(shí)施例中,這個(gè)內(nèi)部邏輯分析儀工具在內(nèi)嵌的邏輯分析儀IP內(nèi)設(shè)置觸發(fā)條件,等待觸發(fā)條件或事件的發(fā)生,然后從邏輯分板儀IP中內(nèi)嵌的采樣存儲(chǔ)器中讀取采樣到的信號(hào)數(shù)據(jù)并把相關(guān)采樣數(shù)據(jù)轉(zhuǎn)譯成用戶定義的符號(hào)的形式。在一個(gè)實(shí)施例中,這個(gè)內(nèi)部邏輯分析儀工具設(shè)置一個(gè)邏輯分析儀IP內(nèi)嵌的復(fù)雜的事件狀態(tài)機(jī)。這個(gè)事件狀態(tài)機(jī)根據(jù)采得的信號(hào)數(shù)據(jù)工作來幫助調(diào)試。內(nèi)部邏輯分析儀工具與邏輯分析儀IP一起為用戶提供了實(shí)時(shí)監(jiān)測(cè)信號(hào)的功能(例如,在線運(yùn)行模式下)而不會(huì)干擾用戶設(shè)計(jì)的運(yùn)行狀況。
      符號(hào)/事務(wù)提取工具把采樣得到的信號(hào)數(shù)據(jù)解釋為符號(hào)和事務(wù)級(jí)的信息。符號(hào)/事務(wù)提取工具把采樣得到的信號(hào)數(shù)據(jù)映射為符號(hào)和事務(wù)并以符號(hào)的形式表現(xiàn)給用戶。例如,在前文描述的一個(gè)總線“寫操作”事務(wù)中,當(dāng)符號(hào)/事務(wù)提取工具發(fā)現(xiàn)一個(gè)“寫操作”事務(wù)的實(shí)例,一條消息被創(chuàng)建來提供給用戶總線“寫操作”事務(wù)的發(fā)生時(shí)間、“寫操作”事務(wù)中寫操作的地址和數(shù)據(jù)。這樣的能力是有十分有價(jià)值的,比如對(duì)于固件設(shè)計(jì)者在設(shè)計(jì)和調(diào)試固件程序時(shí)。
      仿真器鏈接工具把用戶工作站101上運(yùn)行的仿真器與可擴(kuò)展可重配置的原型平臺(tái)103里的配置的用戶設(shè)計(jì)相連接來完成一個(gè)硬件/軟件的協(xié)同仿真。仿真器鏈接工具可以通過各種現(xiàn)有方式來訪問仿真器。比如,在一個(gè)實(shí)施例中,一個(gè)PLI或VPI接口被用來提供與Verilog仿真器的通信,一個(gè)FLI接口被用來提供與VHDL仿真的通信,一個(gè)SCEMI接口被用來提供與有SCEMI接口的仿真器的通信。仿真器鏈接工具也可以支持其他標(biāo)準(zhǔn)接口或用戶定義的接口。
      上文的詳細(xì)描述說明了本發(fā)明的一些特定實(shí)施例,但本發(fā)明并不限于這些實(shí)施例。在本發(fā)明的范圍內(nèi)可有多種修改和替換均不超出本發(fā)明的揭露以及保護(hù)范圍。
      權(quán)利要求
      1.一種用于設(shè)計(jì)和仿真用戶設(shè)計(jì)的系統(tǒng),包括(i)一個(gè)系統(tǒng)控制器,包括(a)一個(gè)與用戶工作站相連的接口;(b)一個(gè)數(shù)據(jù)通訊接口;和(ii)一個(gè)與所述數(shù)據(jù)通訊接口相連的仿真平臺(tái),包括(a)多個(gè)可實(shí)現(xiàn)用戶設(shè)計(jì)和第三方IP核的現(xiàn)場(chǎng)可編程邏輯器件;(b)一個(gè)在運(yùn)行時(shí)與用戶設(shè)計(jì)交互的與目標(biāo)系統(tǒng)連接的接口。
      2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述數(shù)據(jù)通訊接口包括一配置總線。
      3.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述數(shù)據(jù)通訊接口包括一系統(tǒng)訪問總線。
      4.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述數(shù)據(jù)通訊接口包括一時(shí)鐘信號(hào)總線。
      5.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述與目標(biāo)系統(tǒng)連接的接口包括源于可編程邏輯器件的可編程輸入/輸出終端的信號(hào)。
      6.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述現(xiàn)場(chǎng)可編程邏輯器件包括現(xiàn)場(chǎng)可編程邏輯門陣列。
      7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述每個(gè)可編程邏輯器件被分配一個(gè)接口模塊,通過接口模塊實(shí)現(xiàn)分配給可編程邏輯器件的一部分用戶設(shè)計(jì)與分配給其它可編程邏輯器件的其它部分的用戶設(shè)計(jì)之間的通訊。
      8.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述接口模塊包括(a)一個(gè)控制電路;和(b)多個(gè)輸入/輸出單元,每個(gè)單元提供一個(gè)1比特的互連端口。
      9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于所述每個(gè)輸入/輸出單元包括(a)動(dòng)態(tài)可重配置存儲(chǔ)器模塊;(b)一個(gè)由動(dòng)態(tài)可重配置存儲(chǔ)器模塊控制的第一多路選擇器,其從多個(gè)可編程邏輯器件的配置信號(hào)中選擇輸出到1比特互連端口的一個(gè)輸出信號(hào);(c)多個(gè)可被動(dòng)態(tài)可重配置存儲(chǔ)器模塊選中的鎖存器,接收1比特互連端口的信號(hào)。
      10.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于所述動(dòng)態(tài)可重配置存儲(chǔ)器模塊包括一個(gè)或多個(gè)動(dòng)態(tài)可重配置存儲(chǔ)單元。
      11.根據(jù)權(quán)利要求9所述的系統(tǒng),其特征在于所述動(dòng)態(tài)可重配置存儲(chǔ)器模塊還包括一個(gè)由動(dòng)態(tài)可重配置存儲(chǔ)器模塊控制的第二多路選擇器,所述第二多路選擇器從多個(gè)輸出使能信號(hào)中選擇一個(gè)輸出使能信號(hào),控制緩沖器輸出信號(hào)到1比特互連端口。
      12.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于所述緩沖器可呈高阻抗?fàn)顟B(tài)。
      13.根據(jù)權(quán)利要求11所述的系統(tǒng),其特征在于所述每個(gè)輸出信號(hào)對(duì)應(yīng)一個(gè)輸出使能信號(hào)。
      14.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于所述輸出信號(hào)包括固定信號(hào)。
      15.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于多個(gè)被選可編程邏輯器件被分配給第三方IP核。
      16.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于一個(gè)或多個(gè)可編程邏輯器件被分配給一個(gè)驗(yàn)證用戶電路功能的校驗(yàn)IP核。
      17.根據(jù)權(quán)利要求16所述的系統(tǒng),其特征在于所述校驗(yàn)IP核包括一個(gè)仿真一個(gè)工業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線操作的電路。
      18.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于一個(gè)或多個(gè)可編程邏輯器件被分配一個(gè)性能分析IP核。
      19.根據(jù)權(quán)利要求18所述的系統(tǒng),其特征在于所述性能分析IP核包括一個(gè)帶寬分析IP核。
      20.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述系統(tǒng)還包括一個(gè)可將動(dòng)態(tài)可重配置邏輯電路分配給一個(gè)被選可編程邏輯器件的配置工具。
      21.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述系統(tǒng)還包括一個(gè)可動(dòng)態(tài)重配置在一個(gè)裝有多個(gè)可編程邏輯器件的電路板上總線的背板配置工具。
      22.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于所述系統(tǒng)還包括一個(gè)系統(tǒng)調(diào)試工具,所述系統(tǒng)調(diào)試工具在運(yùn)行時(shí)監(jiān)測(cè)和分析可編程邏輯器件內(nèi)部和多個(gè)可編程邏輯器件之間的信號(hào)。
      23.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)現(xiàn)場(chǎng)可編程門陣列回讀工具。
      24.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)系統(tǒng)訪問總線訪問工具。
      25.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)內(nèi)部邏輯分析工具。
      26.根據(jù)權(quán)利要求25所述的系統(tǒng),其特征在于所述內(nèi)部邏輯分析儀工具在一個(gè)或多個(gè)可編程邏輯器件中插入一個(gè)邏輯分析電路。
      27.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)帶寬分析工具。
      28.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)符號(hào)/事務(wù)提取工具。
      29.根據(jù)權(quán)利要求28所述的系統(tǒng),其特征在于所述符號(hào)/事務(wù)提取工具允許用戶把一個(gè)或多個(gè)信號(hào)與符號(hào)名關(guān)聯(lián)。
      30.根據(jù)權(quán)利要求29所述的系統(tǒng),其特征在于所述符號(hào)/事務(wù)提取工具允許用戶通過設(shè)定信號(hào)事務(wù)的方式在信號(hào)波形中設(shè)定一個(gè)包含多個(gè)信號(hào)的事務(wù)。
      31.根據(jù)權(quán)利要求30所述的系統(tǒng),其特征在于所述符號(hào)/事務(wù)提取工具通過相關(guān)的符號(hào)名報(bào)告設(shè)定事務(wù)的偵測(cè)結(jié)果。
      32.根據(jù)權(quán)利要求22所述的系統(tǒng),其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)仿真器聯(lián)接工具。
      33.根據(jù)權(quán)利要求32所述的系統(tǒng),其特征在于所述仿真器聯(lián)接工具允許用戶設(shè)計(jì)與一個(gè)在協(xié)同仿真環(huán)境下運(yùn)行于用戶工作站的仿真器程序交互。
      34.一種仿真用戶設(shè)計(jì)的方法,包括如下步驟提供一個(gè)系統(tǒng)控制器,包括(a)一個(gè)與用戶工作站相連的接口;和(b)一個(gè)數(shù)據(jù)通訊接口;提供一個(gè)與所述數(shù)據(jù)通訊接口相連的仿真平臺(tái),包括(a)多個(gè)可實(shí)現(xiàn)用戶設(shè)計(jì)的現(xiàn)場(chǎng)可編程邏輯器件;和(b)一個(gè)與目標(biāo)系統(tǒng)連接的接口,與用戶設(shè)計(jì)在運(yùn)行時(shí)交互;產(chǎn)生一個(gè)包含用戶設(shè)計(jì)和一個(gè)或多個(gè)第三方IP核的頂層模塊;綜合用戶設(shè)計(jì);把用戶設(shè)計(jì)和第三方IP核分成幾個(gè)區(qū)塊,每個(gè)區(qū)塊由一個(gè)可編程邏輯器件實(shí)現(xiàn);分配給每個(gè)可編程邏輯器件一個(gè)接口模塊,通過接口模塊使得在可編程邏輯器件內(nèi)實(shí)現(xiàn)的區(qū)塊被允許與在其它可編程邏輯器件內(nèi)的其它區(qū)塊實(shí)現(xiàn)通訊;布局和布線所述區(qū)塊和所述接口模塊;在可編程邏輯器件內(nèi)實(shí)現(xiàn)被布局布線的區(qū)塊。
      35.根據(jù)權(quán)利要求34所述的方法,其特征在于所述數(shù)據(jù)通訊接口包括一配置總線。
      36.根據(jù)權(quán)利要求34所述的方法,其特征在于所述數(shù)據(jù)通訊接口包括一系統(tǒng)訪問總線。
      37.根據(jù)權(quán)利要求34所述的方法,其特征在于所述數(shù)據(jù)通訊接口包括一時(shí)鐘信號(hào)總線。
      38.根據(jù)權(quán)利要求34所述的方法,其特征在于所述與目標(biāo)系統(tǒng)連接的接口包括源于可編程邏輯器件的可編程輸入/輸出終端的信號(hào)。
      39.根據(jù)權(quán)利要求34所述的方法,其特征在于所述現(xiàn)場(chǎng)可編程邏輯器件包括現(xiàn)場(chǎng)可編程邏輯門陣列。
      40.根據(jù)權(quán)利要求34所述的方法,其特征在于所述接口模塊包括(a)一個(gè)控制電路;和(b)多個(gè)輸入/輸出單元,每個(gè)單元提供一個(gè)1比特的互連端口。
      41.根據(jù)權(quán)利要求40所述的方法,其特征在于所述每個(gè)輸入/輸出單元包括(a)動(dòng)態(tài)可重配置存儲(chǔ)器模塊;(b)一個(gè)受控于動(dòng)態(tài)可重配置存儲(chǔ)器模塊的第一多路選擇器,用于從多個(gè)可編程邏輯器件的配置信號(hào)中選擇輸出到1比特互連端口的一個(gè)輸出信號(hào);(c)多個(gè)可被動(dòng)態(tài)可重配置存儲(chǔ)器模塊選中的鎖存器,接收1比特互連端口的信號(hào)。
      42.根據(jù)權(quán)利要求41所述的方法,其特征在于所述動(dòng)態(tài)可重配置存儲(chǔ)器模塊包括一個(gè)或多個(gè)動(dòng)態(tài)可重配置存儲(chǔ)單元。
      43.根據(jù)權(quán)利要求41所述的方法,其特征在于所述動(dòng)態(tài)可重配置存儲(chǔ)器模塊還包括一個(gè)由動(dòng)態(tài)可重配置存儲(chǔ)器模塊控制的第二多路選擇器,所述第二多路選擇器從多個(gè)輸出使能信號(hào)中選擇一個(gè)輸出使能信號(hào),控制緩沖器輸出信號(hào)到1比特互連端口。
      44.根據(jù)權(quán)利要求43所述的方法,其特征在于所述緩沖器可呈高阻抗?fàn)顟B(tài)。
      45.根據(jù)權(quán)利要求43所述的方法,其特征在于所述每個(gè)輸出信號(hào)對(duì)應(yīng)一個(gè)輸出使能信號(hào)。
      46.根據(jù)權(quán)利要求41所述的方法,其特征在于所述輸出信號(hào)包括固定信號(hào)。
      47.根據(jù)權(quán)利要求34所述的方法,其特征在于所述方法還包括如下步驟為一個(gè)或多個(gè)可編程邏輯器件分配給一個(gè)驗(yàn)證用戶電路功能的校驗(yàn)IP核。
      48.根據(jù)權(quán)利要求47所述的方法,其特征在于所述校驗(yàn)IP核包括一個(gè)仿真一個(gè)工業(yè)標(biāo)準(zhǔn)數(shù)據(jù)總線操作的電路。
      49.根據(jù)權(quán)利要求34所述的方法,其特征在于所述方法還包括如下步驟為一個(gè)或多個(gè)可編程邏輯器件分配一個(gè)性能分析IP核。
      50.根據(jù)權(quán)利要求49所述的方法,其特征在于所述性能分析IP核包括一個(gè)帶寬分析IP核。
      51.根據(jù)權(quán)利要求34所述的方法,其特征在于所述方法還包括如下步驟提供一個(gè)可將動(dòng)態(tài)可重配置邏輯電路分配給一個(gè)被選可編程邏輯器件的配置工具。
      52.根據(jù)權(quán)利要求34所述的方法,其特征在于所述方法還包括如下步驟提供一個(gè)可動(dòng)態(tài)重配置在一個(gè)裝有多個(gè)可編程邏輯器件的電路板上總線的背板配置工具。
      53.根據(jù)權(quán)利要求34所述的方法,其特征在于所述方法還包括如下步驟提供一個(gè)系統(tǒng)調(diào)試工具,所述系統(tǒng)調(diào)試工具在運(yùn)行時(shí)監(jiān)測(cè)和分析可編程邏輯器件內(nèi)部和多個(gè)可編程邏輯器件之間的信號(hào)。
      54.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)現(xiàn)場(chǎng)可編程門陣列回讀工具。
      55.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)系統(tǒng)訪問總線訪問工具。
      56.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)內(nèi)部邏輯分析工具。
      57.根據(jù)權(quán)利要求56所述的方法,其特征在于在一個(gè)邏輯分析電路中包括一個(gè)或多個(gè)可編程邏輯器件。
      58.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)帶寬分析工具。
      59.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)符號(hào)/事務(wù)提取工具。
      60.根據(jù)權(quán)利要求59所述的方法,其特征在于所述符號(hào)/事務(wù)提取工具允許用戶把一個(gè)或多個(gè)信號(hào)與一個(gè)符號(hào)名相關(guān)聯(lián)。
      61.根據(jù)權(quán)利要求59所述的方法,其特征在于所述符號(hào)/事務(wù)提取工具允許用戶通過設(shè)定信號(hào)事務(wù)的方式在信號(hào)波形中設(shè)定一個(gè)包含多個(gè)信號(hào)的事務(wù)。
      62.根據(jù)權(quán)利要求59所述的方法,其特征在于所述符號(hào)/事務(wù)提取工具通過相關(guān)的符號(hào)名報(bào)告設(shè)定事務(wù)的偵測(cè)結(jié)果。
      63.根據(jù)權(quán)利要求53所述的方法,其特征在于所述系統(tǒng)調(diào)試工具包括一個(gè)仿真器聯(lián)接工具。
      64.根據(jù)權(quán)利要求63所述的方法,其特征在于所述仿真器聯(lián)接工具允許用戶設(shè)計(jì)與一個(gè)在協(xié)同仿真環(huán)境下運(yùn)行于用戶工作站的仿真器程序交互。
      全文摘要
      本發(fā)明提供了一種通過可重配置的平臺(tái)用來設(shè)計(jì)和仿真用戶設(shè)計(jì)的系統(tǒng)及其方法。該系統(tǒng)和方法能更容易地設(shè)計(jì)和仿真片上系統(tǒng)類型的用戶設(shè)計(jì)。用戶設(shè)計(jì)中的網(wǎng)表形式可包含在一個(gè)使用有多個(gè)場(chǎng)可編程邏輯門陣列器件的平臺(tái)的仿真器中經(jīng)過定制的或者經(jīng)過優(yōu)化的第三方的電路的網(wǎng)表形式。許多定制的電路可被配置用來與用戶設(shè)計(jì)交互操作,提供諸如設(shè)計(jì)調(diào)試、性能分析以及與仿真器連接等功能。
      文檔編號(hào)G06F17/50GK1818912SQ20051011346
      公開日2006年8月16日 申請(qǐng)日期2005年10月13日 優(yōu)先權(quán)日2005年2月11日
      發(fā)明者黃八揆, 陳睦仁 申請(qǐng)人:思爾芯(上海)信息科技有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1