新四季網

用於對模塊化測試系統進行仿真的方法和系統的製作方法

2023-06-06 21:30:26

專利名稱:用於對模塊化測試系統進行仿真的方法和系統的製作方法
技術領域:
本發明涉及自動測試設備(ATE)領域。具體而言,本發明涉及用於對模塊化測試系統進行仿真的方法和系統。
背景技術:
對集成電路的壽命和功能進行測試的測試程序的開發和維護是半導體生產中的主要成本。這種活動通常需要在實際測試器硬體上工作多個小時。然而,除了對測試程式語言的語義進行檢查之外,現有的半導體測試器只有很少或沒有對測試程序進行仿真的能力。這種局限性迫使工程師在實際測試器硬體上對其測試程序進行調試。但是將測試器硬體用於測試程序的開發對於昂貴的測試設備來說並非一種划算的利用。此外,由於測試器通常由多組工程師共享,因此被分配來使用測試器的時間量是有限的,這造成了開發順序進行的過程中測試程序開發的瓶頸。測試程序開發中的這種局限性可以延遲集成電路的生產,這將延遲產品的發布並喪失市場機遇。
因此,需要一種在不使用昂貴的測試設備的情況下對測試程序功能進行驗證的方法和系統。具體而言,需要一種對帶有測試程序、供應商模塊及其對應的被測器件(DUT)的模塊化測試系統進行仿真的方法和系統。
本發明的一個目的在於減少用於測試程序開發的測試器硬體的使用量,從而優化對珍貴的測試器設備的利用。本發明的另一目的是在測試程序、模塊和DUT在測試器設備上運行之前識別其中的問題。本發明的又一目的是提供一種用於對測試程序、模塊和DUT的並行開發的環境,從而減少產品的總開發時間。

發明內容
所公開的用於對模塊化測試系統進行仿真的方法提供了可由最終用戶來配置的仿真框架。該框架用於構建仿真環境,以加載供應商仿真模塊和DUT模型,並通過仿真框架API來執行測試程序。通過安裝供應商的軟體模擬以及通過編輯系統配置文件,該方法能夠將新的供應商模塊添加至現有裝置。該方法還使工程師能夠在其自己的工作站上開發測試程序,而儘量減少對昂貴的測試器設備的使用。
在一個實施例中,一種用於對模塊化測試系統進行仿真的方法包括提供控制器,其中所述控制器對至少一個供應商模塊及其對應的DUT模型進行控制;創建仿真框架,以便在所述至少一個供應商模塊及其對應的DUT模型之間建立標準接口;配置所述仿真框架;以及利用所述仿真框架對所述模塊化測試系統進行仿真。
在另一實施例中,一種模塊化測試系統包括一個或多個供應商模塊、一個或多個DUT模型、用於對所述供應商模塊及其對應的DUT模型進行控制的控制器、以及用於在所述供應商模塊和所述DUT模型之間建立標準接口的仿真框架。所述模塊化測試系統進一步包括用於對所述仿真框架進行配置的裝置、以及利用所述仿真框架對所述模塊化測試系統進行仿真的裝置。


下文中,通過結合下列附圖對本發明實施例的詳細說明,將更清楚地理解本發明的上述特徵和優點以及其附加特徵和優點。
圖1a示出根據本發明一個實施例的開放體系測試系統。
圖1b示出了本發明一個實施例的仿真系統的概觀。
圖2示出了用於對模塊化測試系統進行仿真的仿真框架。
圖3a示出了根據本發明一個實施例的用於處理仿真通道對象的仿真框架。
圖3b示出了根據本發明一個實施例的階梯、迴轉(slew)和模擬波形。
圖4示出了根據本發明一個實施例的用於處理仿真部件的仿真框架。
圖5示出了根據本發明一個實施的用於處理仿真事件對象的仿真框架。
圖6示出根據本發明一個實施例的仿真模塊和加載板模塊之間的通道。
具體實施例方式
提供了用於對模塊化測試系統進行仿真的方法和系統。提供以下描述是為了使本領域技術人員能夠利用本發明。對具體實施例和應用的描述僅僅是作為示例。對於本領域的技術人員來說,在此所述示例的各種修改和組合是顯而易見的,並且在此所限定的一般原則也可應用於其它示例和應用,而不背離本發明的精神和範圍。因此,本發明並不局限於所述和所示的各示例,而是應被給予與在此所公開的原則和特徵一致的最寬的範圍。
圖1示出根據本發明一實施例的開放體系的測試系統。系統控制器(SysC)102耦合至多個站點控制器(SiteC)104。該系統控制器亦可耦合至網絡以便訪問相關文件。每個站點控制器通過模塊連接使能器106被耦合成控制位於測試站點110的一個或多個測試模塊108。模塊連接使能器106容許所連接的硬體模塊108的重新配置,並亦用作數據傳遞的總線(用於加載模式數據、收集響應數據、提供控制等)。此外,通過所述模塊連接使能器,一個站點處的模塊可訪問另一站點處的模塊。模塊連接使能器106容許測試站點具有相同或不同的模塊配置。換言之,每個測試站點可採用不同數量和類型的模塊。可能的硬體實施包括專用連接、開關連接、總線連接、環形連接和星形連接。模塊連接使能器106可通過交換矩陣來實施。例如,每個測試站點110與通過加載板114連接至對應站點模塊的DUT 112關聯。在另一實施例中,可將單個站點控制器連接至多個DUT站點。
系統控制器102用作總的系統管理器。其協調站點控制器的行動、管理系統級的並行測試策略、並且還提供處理機(handler)/探測控制以及系統級的數據記錄和誤差處理支持。系統控制器102是測試工程師對測試環境進行驗證和調試的主要交互點。其提供到站點控制器104的網關,並對多DUT環境下的站點控制器行動的同步進行管理。其還運行用戶應用和工具,如測試仿真模塊。根據運行設置,系統控制器102可在獨立於站點控制器104的運行的CPU上應用。可選地,系統控制器102和站點控制器104可共享公共CPU。同樣,每個站點控制器104可在其自己的專用CPU(中央處理單元)上應用,或作為同一CPU內的獨立進程或線程。
站點控制器104負責運行測試計劃,以對DUT進行測試。測試計劃通過利用框架類(Framework Class)以及封裝了測試方法的標準或用戶提供的測試類(Test Class)來創建特定的測試。此外,測試計劃使用標準接口對硬體進行測試,並限定測試流程。
本發明的系統體系在概念上可想像為圖1中所示的分布系統,同時應理解的是,各個系統部件亦可視為集成單片式系統的邏輯部件,而不必是分布式系統的物理部件。利用硬體和軟體級的標準接口來實現即插即用或可更換的模塊。測試器作業系統(TOS)容許用戶使用測試計劃程式語言來編寫測試計劃程序,並以特定於具體被測器件(DUT)的方式來操作測試系統。其還容許用戶將測試計劃程序中共用的測試系統操作序列打包為庫。這些庫有時稱作測試類或測試模板。
圖1b示出本發明一個實施例的仿真系統的概觀。該仿真系統包括控制器模型121、一個或多個供應商仿真模塊122(注意術語供應商仿真模塊亦稱作供應商模塊或仿真模塊)、一個或多個被測器件(DUT)模型124以及加載板模型126。為了裝配仿真環境,用戶創建系統配置文件和離線配置文件(二者將在下文中詳述),這兩個文件描述仿真模塊、加載板模型和DUT模型如何通過仿真框架來連接。仿真的執行是對通過測試程序加載入模塊模型中的模式進行的。
仿真框架提供加載板模型126、一個或多個測試器通道128及一個或多個DUT通道130。各模塊是從供應商的動態連結庫(DLL)中加載的。每個塊代表模塊的單個實例。可多次加載一個DLL,來創建同一模塊類型的多個實例。如果模型是以C++編寫的,DUT模型124可提供為DLL,或者,DUT模型124可提供為Verilog方式。
可由用戶來配置加載板模型126。用戶將測試器通道128映射到對應的DUT通道130,並規定與每個連接關聯的傳輸延遲。所有的連接均為雙向的,因此,不需要特殊考慮將連接器指定為輸出驅動器或輸入選通。
仿真框架測試系統仿真的主要部件是仿真框架,所述仿真框架亦稱作框架。框架提供兩個基本服務。首先,其容許在正常測試器運行中通過系統總線以基本上相同的方式對每個供應商模塊編程。通過對總線調用進行仿真,測試程序可寫入仿真的模塊寄存器,由此設定測試。另一服務是對測試執行的仿真。框架提供用於仿真的模塊和DUT模型間物理連接的模型。框架還提供用於維持各仿真部件執行序列的引擎。
當測試系統處於仿真方式(離線方式)中時,其以通過共享存儲器與框架通信的軟體模塊來替代與測試器模塊硬體通信的器件驅動器。在實際測試器中,總線一般使用將二進位模式發送到供應商硬體模塊中的可尋址寄存器的命令。在仿真中,同一命令由框架來接收並解釋,以指向具體的仿真模塊。然後,框架將寄存器地址和數據發送到該模塊,以使其將數據保存在其仿真寄存器中。由於測試程序加載最終分解到這些地址/數據對的基本單元中,該簡單模型支持測試程序與各模塊的所有交互。該進程的副產品是也支持校準和診斷程序開發的仿真。
由於在線與離線方式之間運行時軟體的唯一差別在於系統總線器件驅動器,因此,在線環境中測試程序的行為與其在離線環境中的對應行為之間存在高度相關性。因而,就用戶的測試程序和底層的測試器作業系統(TOS)來說,仿真是準確的。
框架還提供了測試器模塊和DUT間物理連接的詳細模型。所有連接被模型化為接線上的電壓,由此再現了基本的物理關係。由於沒有關於模塊/DUT交互中數據格式的假定,因此框架與仿真模塊和DUT模型的任何組合一起工作,只要其使用該框架所建立的應用編程接口(API)。框架提供當兩個電源同時在同一接線上驅動時電壓的自動協調(reconciliation)。
為了控制測試程序執行過程中的仿真,框架在其API中提供了各種方法,以容許供應商模塊登記(register for)和接收事件。框架使用這些事件來控制仿真模塊和DUT模型的執行序列。通過管理這些事件,並通過規定模塊如何處理事件的基本規則,可使用於創建模塊仿真的靈活模板對模塊化測試系統的用戶變得可用。
圖2示出了用於對模塊化測試系統進行仿真的仿真框架。該仿真框架包括仿真管理器(SimMgr)類202、仿真通道(SimChannel)類204、仿真部件(SimComponent)類206和仿真事件管理器(SimEventMgr)類208。SimMgr類202管理仿真進程。SimComponent 206是供應商使用的基類。在該類中,實施某些需要的行為。很多方法是虛擬的(C++語言)並需要供應商實施。從SimComponent類206繼承的CAnalogModule類210用於添加所需的供應商特定的函數。
CAnalogModule類210包括一組SimChannel派生的對象,稱作CSimAWG對象212和CsimDigitizer對象214。這些對象代表系統資源(控制結構中的IResource派生類),這裡CSimAWG對象是對D/A通道(來自數字命令的模擬輸出)建模的模擬波形發生器,而CsimDigitizer對象對對應的D/A通道(來自模擬信號的數字輸出)建模。IResource派生類需求被合併到這些實施類中,而這些實施類使用系統提供的應用程式來產生或讀取波形。SimEventMgr類208還包括仿真事件對象216。下面詳細描述仿真體系每個部件。
仿真框架將一組預定接口和設計約束強加於仿真模塊和DUT模型開發者。這保證了滿足仿真框架需求的模型與仿真中的其它部件兼容。該仿真框架分成三部分,第一部分用於對仿真模塊和DUT模型共用的API,第二部分對模塊模型是特定的,而第三部分對DUT模型是特定的。在一實施中,供應商仿真模塊被視為基於事件的模型,而DUT模型被視為基於時間的模型。在其它實施例中,仿真模塊和DUT模型二者可以是基於事件的模型,亦可以是基於時間的模型。
仿真通道圖3a示出了根據本發明一實施例的用於處理仿真通道對象的仿真框架。該仿真框架包括模塊類302、DUT類304和仿真通道(SimChannel)類306。SimChannel類306包括仿真波形迭代器(SimWaveformIter)類308,而模塊類302包括仿真通道標識(SimChanID)類310。
在模式執行過程中,SimChannel類306分別通過模塊類302和DUT類304為仿真模塊和DUT模型提供I/O能力。為了使用該類,為每個模塊通道或DUT引腳構建一個空的通道對象。基於仿真配置文件(描述見下文)中的設置,這些通道通過仿真框架與加載板上的對應通道相連。仿真框架通過getChannel方法來獲取SimChannel對象的基準。所述getChannel方法用於進行加載板連接。
對所述模塊和DUT模型共同的元素是對各通道的I/O調用。通過設定特定時間的電壓電平來完成模塊和DUT之間的所有I/O調用。這通過來自SimChannel類306的set方法來提供。該方法容許調用例程通過將條目寫入與SimChannel類306相連的輸出緩衝器中來規定特定時間的電壓。
在一個實施例中,set方法將點寫入電壓時間歷史中。波形的形狀取決於通道如何配置。圖3b示出了根據本發明一實施例的階梯、迴轉和模擬波形。在階梯通道中,電壓轉換是瞬時的,這樣t1和t2之間的任何讀取均返回電壓v1。在迴轉通道中,電壓從其當前狀態轉換到所命令的狀態需要有限量的時間。轉換的斜率由系統配置文件的迴轉部分中的slewRate參數來確定。最後,在模擬通道中,電壓不會變得平坦。時間點間的電壓通過分段的(piece-wise)線性內插來計算。如果讀取是在最後的點之後進行的,則該值根據最後兩點來外推;因此,如果在針對t2設置的調用後沒有添加點,則虛線表示從通道讀取的電壓。
off方法主要用於關斷對電壓的驅動。這在兩個部件同時寫一個通道的相對側時發生。如果一側調用set方法,則電壓被視為被驅動。如果另一側調用off方法,則電壓被視為無效(passive)。在這種情況下,驅動電壓佔優勢,並且在兩側上的電壓分解後,從每個通道讀取的電壓是以set命令輸入的電壓。如果兩側均調用set方法或兩側均調用off方法,則電壓歷史被設置為平均電壓值。
end方法調用向仿真框架指示通道已準備進行分解,並且因此準備好由通道另一側的部件讀取。如果在通道上未調用end方法,則該通道上的信號不可傳播通過仿真的其餘部分,因為未給通道對側上的部件發信號從該通道讀取。用戶一般進行幾次set調用來規定一時間範圍內的電壓,然後在該時間範圍結束時調用一次end方法。
SimWaveformIter類308標識波形轉換。用戶通過調用SimChannel類308中的getWaveformIter方法來獲得波形迭代器的實例。該方法需要用戶來規定高電壓和低電壓以及起始和停止時間。通過使用該數據,getWaveformIter方法返回SimWaveformIter類308的實例。getWaveformIter方法還容許用戶逐步通過波形的所有邊沿轉換。對於每個轉換,其返迴轉換的時間以及轉換隨後的波形狀態。該狀態被規定為枚舉類型State_t。該類型的可能值是H(高)、L(低)和Z(三態)。
在本發明的一個實施中,getWaveformIter方法的一個示例如下所示void findHighs(SimChannelsc,const Voltagevhi,const Voltagevlo,const Tinet_start,const Timet_end){Sim Waveformlter iter=sc.getWaveformIter;for(;!iter.end;iter.next){if(iter.getState==Sim WaveformIter::H){cout<<″waveform goes high at″<<iter.getTime.getValue<<endl;}}}SimWaveformIter類308包括下列方法●start將迭代器設置為第一轉換。
●endend方法檢查迭代器是否在邊沿序列的結束。注意如果該方法返回真(true),則getTime和getState的結果是未定義的。
●nextnext方法將迭代移到下一個轉換。
● getTimegetTime方法返回當前轉換的時間。
●getStategetState方法獲取當前邊沿的狀態。該邊沿適用於邊沿時間後的基本波形的狀態。
在另一實施例中,SimChannel類306提供讀取規定時間的通道電壓的能力。這通過read方法使用單個的時間變元來完成。read返回的值從包含時間相對電壓信息的表中存儲的 數據被內插。內插方法基於仿真配置文件中定義的通道配置。如果通道被配置成階梯通道,則使用方波模型。如果通道被配置為迴轉通道,則使用迴轉模型來內插有限時間內發生的電壓轉換。如果通道是模擬通道,則使用分段線性內插來計算電壓。
另外,用戶負責管理通道中的數據。這通過flush方法來完成。該方法在清理(clean-up)階段對通道進行登記,其指示在flush變元規定的時間之前不能發生讀取。當調用flush方法時,在下一清理循環期間,從通道中去除規定時間之前的所有記錄。對於長模式,flush方法被周期性地調用,在這種模式中,存儲器的局限可阻止仿真的完成。
在另一實施例中,為了寫通道,用於規定輸出電壓的主要方法是set方法,其中用戶規定時間和相關電壓作為參數。該方法為通道的時間歷史提供輸入。如果驅動被關斷,則可使用off方法。這指示如果信號是從接口的另一側驅動的,其指示通道上的電壓。off方法主要用於執行驅動和選通操作二者的雙向通道。
用戶可指示已輸入到通道中的該組值已準備好傳輸到接口的另一側。這通過過載的end方法來完成。end方法向仿真框架指示通道上的值已準備好讀取,直到並包括end調用中規定的時間。注意,沒有變元的end方法在set或off調用中默認為最大時間。end方法被調用,以使set方法生效。如果end方法未被調用,則沒有數據被傳遞到通道的另一端。
在一個實施例中,共用的API類如下被使用//create some channels in constructorSimChannel MyStepChannel;SimChannel MySlewChannel;SimChanmel MyAnalogChannel;...
//channel registrationSimChannel*getChannel(const SimChanIDchan){
if(chan.getIndex==MY_STEP_CHANNEL_INDEX){returnMyStepChannel;}else if(chant.getIndex==MY_SLEW_CHANNEL_INDEX){returnMySlewChannel;}else if(chan.getlndex==MY_ANALOG_CHANNEL_INDEX){returnMyAnalogChannel;}…}//running a patternvoid handleEvent(const SimEventevent,const Timet){if(event.is WriteEvent){…//set some output voltages on the step channelMyStepChannel.set(t0,hi_level);MyStepChannel.set(t2,lo_level);MyStepChannel.end(t4);//set some output voltages on the slew channelMySlewChannel.set(t0,hi_level);MySlewChannel.set(t2,lo_level);MySlewChannel.end(t4);//set some output voltages on the analog channelMyAnalogChannel.set(t0,lo_level);MyAnalogChannel.set(t1,hi_level);MyAnalogChannel.set(t2,hi_level);MyAnalogChannel.set(t3,lo_level);MyAnalogChannel.set(t4,lo_level);...
}else if(event.isReadEvent){…
//now strobe the step channelVoltage strobe_value=MyStepChannel.read(t5);MyStepChannel.flush(t5);//done reading…}...
}注意,對於模擬信號,波形的所有角均需要加以規定,而在階梯和迴轉波形中,僅需規定轉換。
getWaveformIter方法容許調用者返回從窗口選通中可用的狀態。其採用高輸入電壓、低輸入電壓和時間窗作為自變量,並返回含有過電壓時間的對象。
SimChanID類310封裝通道索引。在測試系統中,有兩組通道索引,一組用於測試器通道空間,而另一組用於DUT通道空間。SimChanID類對描述每一空間中的索引的20比特字進行封裝。最高有效比特指示該通道索引是用於測試器通道空間還是DUT通道空間。下一比特是指示所有通道是否全部被使用的標誌。後面的7比特是分別用於測試器模塊或DUT的埠或DUT索引。最低有效的12比特用於局部索引值(4K通道)。
SimChanID類310包括下列方法●SimChanID如果設置了所有通道比特,該SimChanID方法返回真(true)。
●getIndexgetIndex返回局部通道空間的索引。isTestChannel和isDUTChannel方法分別指示索引是用於測試器還是DUT通道。如果all方法返回真,則該方法的結果未定義。
●getPortgetPort返回給定通道ID的埠。埠和索引的組合唯一地標識加載板一側上的所有通道。
●isDUTChannel如果通道處於DUT通道空間中,則isDUTChannel方法返回真。
●isTesterChannel如果通道處於測試器通道空間中,則isTesterChannel返回真。
仿真部件圖4示出了根據本發明一實施例處理仿真部件的仿真框架。該仿真框架包括仿真部件基(SimComponentBase)類401。SimComponent類402和SimComponentStepped類406是從SimComponentBase類中派生的。供應商仿真模塊(Module)類404是從SimComponent類中派生的。在SimComponent類402中開發虛擬函數,以定義模塊的行為。同樣,DUT類408是從SimComponentStepped類406中派生的。SimComponentBase類401是共用的基類,包括SimComponent 402和SimComponentStepped406類二者共享的方法。
Module類404調用handleEvent方法來處理仿真事件對象。handleEvent方法與registerEvent和Simcomponent類的raiseEvent所提供的一些服務結合使用。registerEvent方法容許模塊利用仿真框架來登記事件。事件可以與單個通道、一組通道或整個模塊關聯。事件亦可與特定時間一起登記,在這種情況下,調用者將事件標識為讀或寫事件。如果事件是寫事件,則仿真一到達登記時間,即調用針對模塊的handleEvent回調用(callback)。如果事件是讀事件,則僅在事件關聯的所有通道被分解並準備好讀取之後才調用handleEvent回調用(callback)。
當響應於具有關聯時間的事件(即同步事件)來進行handleEvent調用時,模塊需要遵循仿真框架中所定義的API提出的規則,以便仿真正確工作。
●對於寫事件,模塊可僅設置寫事件時間之後的時間的電壓值。
●對於讀事件,模塊可僅讀取讀事件時間之前的時間的電壓值。
事件亦可不與時間一起登記(即異步事件)。這些事件由其它模塊或由仿真框架來發起。這些事件支持兩個函數。第一函數用於處理系統中的某些已知事件,如中斷。第二函數用於處理模塊間的通信。異步事件容許一個模塊通知另一模塊已出現了特定組的條件。一個示例為同步模塊在循環的開始處通知數字引腳模塊,使得數字引腳模塊輸出與當前循環關聯的邊沿。
對於待載入框架中的供應商模塊,供應商優選地從其DLL中導出一些預定的函數,該DLL支持用於維持仿真模塊模型的對象的創建和銷毀。該標準化的接口隱藏了加載每個模型的細節。
仿真模型是從可訪問仿真框架的SimComponent類中派生的,為了定義所述模型,用戶實施SimComponent類中規定的虛擬函數。模塊的虛擬函數分成兩個類別●派生類需要提供的虛擬方法;以及●具有用戶可重新定義的默認實施的基本函數。
除了這些函數,該類還為用於事件管理的派生類提供服務。
通過從仿真框架的SimComponentStepped類406中派生來實施DUT模型。開發者實施SimComponentStepped類406中的虛擬函數來限定模塊的特性。例如,run方法調用DUT模型以在規定的時間窗上運行。由於接口的簡單性,在如何對DUT建模上,給予了模型設計者很大的餘地。用於C/C++模型的公共接口或連接至伺服器運行的Verilog模型的DLL也支持這種餘地。如何實現DUT模型的細節與仿真的其它部分隔離,這容許這種模型可互換地使用。為了提供仿真框架中的DUT模型,SimComponentStepped類包括下列虛擬方法●run用戶通過規定的時間窗來運行DUT模型。相繼的run調用可從上一run調用結束時開始。
●handleISVM該方法返回針對規定通道的來自參數測量單元(PMU)的測量值。注意,在測試處於暫停狀態時或在測試之間,使用PMU來進行通道上的靜態DC測量。
●handleVSIM該方法返回針對規定通道的PMU測量值。
●handleVSVM該方法返回針對規定通道的PMU測量值。
為了將DUT模型加載入仿真框架中,DLL導出支持對DUT模型進行維護的對象的創建和銷毀的一組預定函數。該標準化接口隱藏了加載每個模型的細節。
仿真事件管理器圖5示出了根據本發明一實施例的用於處理仿真事件對象的仿真框架。該仿真框架包括模塊類502、仿真事件管理器(SimEventMgr)類504和仿真事件(SimEvent)類506。
SimEventMgr類504產生SimEvent類506的實例。SimEventMgr類504用於維護供應商索引。該索引唯一地標識事件族。通常,事件族與供應商關聯,該供應商具有指定的供應商ID串。該類還容許用戶創建另一事件族,使得兩組或多組模塊可共享單獨事件空間中的事件。
在一個實施例中,為了針對特定供應商索引來創建SimEventMgr對象,使用了下列構造器SimEventMgr(const OFCString,SimChanID::ChannelSpace_t)串變元規定事件族。通道空間類型指示事件通道是否測試器通道(SimChanID::TESTER_SPACE)或DUT通道(SimChanID::DUT_SPACE)。例如,如果用戶希望創建用於「ADCANTEST」測試器模塊的事件,則調用下列方法SimEventMgr emgr(_T(″ADVANTEST″),SimChanID::TESTER_SPACE);模塊開發者為模塊所屬的每個域來創建SimEventMgr實例。這些對象用於模塊存在的持續時間中。例如,進行下列一組調用來生成用於各域的事件SimEventMgr m_advmgr(_T(″ADVANTEST″),SimChanID::TESTER_SPACE);SimEventMgr m_msomgr(_T(″MSO_CONSORTIUM″),SimChanID::TESTER_SPACE);SimEventMgr m_pwrmgr(_T(″POWER_GROUP″),SimChanID::TESTER_SPACE);在仿真過程中,這些對象每個可生成針對每個域的事件。以這種方式,不同供應商所創建的模塊可通過對其共享的域的唯一名稱達成一致來共享事件。在DUT模型需要登記事件的情況下,使用clientmgr方法。注意,由於兩個通道屬於不同的索引空間,在DUT空間和測試器空間之間進行了區分。
SimEventMgr clientmgr(″CLIENT″,SimChanID::DUT_SPACE);使用各種方法來創建事件。用於創建同步事件的方法包括● SimEvent MakeReadEvent(SimEvent::LocalCode_t)該方法為模塊中的所有通道創建讀事件。
●SimEvent MakeReadEvent(SimChanID::Index_t,SimEvent::LocalCode_t)該方法為單個通道創建讀事件。
●SimEvent MakeReadDomainEvent(SimEvent::Domain_t,SimEvent::LocalCode_t)該方法為特定域創建異步事件。
●SimEvent MakeWriteEvent(SimEvent::LocalCode_t)該方法為模塊中的所有通道創建寫事件。
●SimEvent MakeWriteEvent(SimChanID::Index_t,SimEvent::LocalCode_t)該方法為單個通道創建寫事件。
●SimEvent MakeWriteDomainEvent(SimEvent::Domain_t,SimEvent::LocalCode_t)該方法為單個特定創建寫事件。
所述函數不利用通道索引作為參數來為所有通道創建事件。所述函數利用用戶規定的通道索引和局部代碼作為參數來生成特定通道的SimEvent。利用域作為的函數用於已被繫於特定域的一組通道。
用於創建異步事件的方法包括●makeAsyncEvent該方法用於創建異步的基於序列號的事件。
●makeDomainEvent該方法用於為特定通道創建異步的基於域的事件。
●makeSysEvent該方法用於創建系統事件。
●isMyEvent該方法檢查事件的域。當給定事件屬於與事件管理器相同的域時,其返回真。
在一個實施例中,如果生成上述構造器示例中的三個事件管理器的模塊開發者需要確定事件屬於哪個域,則使用下列方法。
if(m_advmgr.isMyEvent(event)){//an ADVANTEST event}else if(m_msomgr.isMyEvent(event)){//an MSO event}else if(m_pwrmgr.isMyEvent(event)){//a power event}SimEvent類506包括下列方法。
●isChannelEvent該方法檢查事件是否針對單個通道。如果事件是基於通道的事件,該方法返回真。
●isDomainEvent該方法檢查事件是否針對域。如果事件是基於域的事件,該方法返回真。
●isReadEvent該方法檢查對象是否讀事件。如果事件是讀事件,該方法返回真。
●isSerialNumberEvent該方法檢查事件是否針對特定的序列號。如果事件是針對特定序列號的,該方法返回真。
●isSysEvent該方法檢查對象是否系統事件。如果事件是系統事件,該方法返回真。
●isWriteEvent該方法檢查對象是否寫事件。如果事件是寫事件,該方法返回真。
●getChan該方法獲取SimChanID對象。
●getCode該方法獲取局部用戶代碼。
●getDomain該方法獲取域,其返回事件的域索引。
●getSerialNumber該方法獲取序列號
●getSysCode該方法獲取系統事件代碼。
●numArgs該方法返回用戶自變量號。
●popArg該方法訪問隊列中的下一用戶變元。注意變元是以添加其的相同次序來取回的。一旦已經取回了變元,其即不再可以從事件獲得了。調用popArg的次數多於numArgs將導致拋出異常。
●pushArg該方法添加用戶變元。
配置文件仿真框架使用兩個配置文件仿真配置文件和離線配置文件。仿真配置文件規定什麼測試器模塊在仿真過程中是可用的。離線配置文件規定加載什麼DUT模型及其如何連接到測試器。
當函數SimTester初始啟動,加載仿真配置文件。該文件中的設置在SimTester進程的生命過程中保持有效。離線配置文件作為用戶測試計劃的一部分來加載。該文件的名稱以測試程序語言(TPL)命令OfflineDef來規定。該命令可出現在用戶測試程序的任何地方,但是傳統上,與其它高級命令一起置於testplan.tpl文件中。
如下給出了在一個實施例中的仿真配置文件。如下所示,文件被分成有層次的塊。全局塊含有全系統範圍的參數。EMUModule塊指明含有仿真器模型並規定加載模型的埠的DLL。EMUModule塊包含用於仿真框架的模塊接口。
#T2000 System Software version of the configurationVersion 0.0.1;Global{Initvoltage 0.5 v; # Required.Initial voltage on all# wires.
RecoveryRate 2.5 v/nS; # Optional.For drive conflict in# analog signals.
}# Module Emulator.
EMUModule″module1″# Module DLL.
{Wavefom# Optional.Resource declaration.
{Step 1-32,35;# Step type waveforms on channels 1 thru 32# channel 35.
Analog 33,34;# Analog wavefom on channels 33 and 34.
}Port 1# Declares the GBUS Port for this module.
{SerialNumber 1; # Required.Should match setting in Module# Configuration File.
productRevision 1;# Required.Should match setting in Module# Configuration File.
Params # To be passed to DLL.
{test″param1″;key″abc″;}}Port 8{LogicalPort 3;# Optional.Designate Logical Port to use in# offline configuration file.Default is the# GBUS port.
SerialNumber 2;ProductRevision 1;Parama # Tobe passed to DLL.
{test″param1″;key″abc″;}
}}# Module EmulatorEMUModule″module2″{Waveform{Step 1-32;}Port 2{SerialNumber 1;ProductReviaion 1;}}# Module EmulatorEMUModule″dps″{Wave form{Slew 1-32 @ 2.0 v/ns;# The slew rate is required for all slewing# waveforms.
}Port 4{SerialNumber 1 ;ProductRevision 1;}}用戶可提供離線配置文件,來指定將在仿真中使用的DUT模型,並示出這些模型如何附著於測試器資源。如下示出了在一個實施例中的範例離線配置文件。注意,除了PinConnection塊以外,該文件的結構與仿真配置文件相似。全局塊描述全系統範圍的設置。DUTModel塊描述含有DUT模型並規定加載DUT模型的埠的DLL。PinConnection塊指示每個引腳如何連接到測試器。
# T2000 Version of the syntaxVersoin 0.0.1;Global{RegSelect″patTraceSel″;# Pattern Tracing - Name of OASIS Simulated# Register Selection File.
}DUTModel″DUTlsim″{Wavefom{Step 1-32;}DUT 1{Params{param1Name″param1Value″;param2Name″param2Value″;}PinConnections{L3.111.0 nS;L3.281.0 nS;L3.321.0 nS;L3.471.0 nS;L3.531.0 nS;L3.661.0 nS;L3.741.0 nS;L3.851.0 nS;L3.991.0 nS;L3.10 161.0 nS;L3.11 101.0 nS;L3.12 151.0 nS;L3.13 111.0 nS;L3.14 141.0 nS;L3.15 121.0 nS;L3.16 131.0 nS;}}}
DUTModel ″DUT2Sim″{Waveform{Slew 1-16 @ 2.0 v/nS;}DUT 2{Params{param1Name ″param1Value″;param2Name ″param2Value″;}PinConnections{L2.11; # no delay specified means a delay of 0L2.22;L2.33;L2.44;L2.12 5;L2.13 6;L2.14 7;L2.15 8;}}}框架配置如上所述,需要模塊供應商來提供其硬體模塊的仿真。由於這種需求,獲得供應商模塊的用戶也就獲得了該部件的仿真模塊。該仿真模塊是DLL的形式,該DLL具有使仿真框架可加載所述模塊的接口。這通過置於供應商DLL上的一組預定接口需求來規定。為了將仿真模塊加載到仿真框架,由用戶來提供仿真配置文件,或由測試系統產生仿真配置文件。仿真配置文件列舉要加載的每個DLL。除了命名DLL,仿真配置文件還規定與待仿真的測試系統硬體設置一致的參數。這包括模塊埠號、模塊序列號、通道號、每個通道上波形的格式以及在整個仿真過程中所用的基準電壓等。仿真配置文件包括作為仿真的產物的其它參數。這些包括用於將通道從模塊附著於DUT引腳的邏輯基準以及當加載模塊時傳遞給DLL的具體參數。
在一個實施例中,仿真管理器執行以下功能來對仿真進行配置
●如仿真配置文件所指示的加載所有部件;●在各站點之間分配所述部件和資源;以及●提供中央對象,用於管理所有線程上的模式執行。
此外,仿真管理器還使用仿真配置文件來執行以下功能●給出所有部件和接口對象的實例;●如配置文件所規定得連接所有部件;以及●提供從部件通道到接口對象的映射。
注意,為了保證只有一個SimMgr實例,可創建SimMgr的公共方法只有create方法。使用匹配release方法在仿真後清理資源。create方法基於變元列表中規定的仿真配置文件來創建仿真。使用路徑變元來規定仿真配置文件內部所引用的其它文本文件的基路徑。這些文件被規定為相對於所述基路徑的路徑。
一旦已經配置了仿真框架,則等待對測試程序和目標DUT模型的規定。在加載測試程序之前,TOS通知仿真框架已經規定了一個或多個DUT模型。這通過稱作離線配置文件的另一配置文件來完成。DUT模型是滿足一組預定接口需求的以C/C++編寫的最終用戶提供的DLL的形式,或者作為等待來自仿真的連接的伺服器上運行的Verilog模型。離線配置文件規定待加載的一個或多個DUT模型。此外,該文件還規定與DUT的硬體設置一致的參數。這包括波形的通道和格式、邏輯測試器通道到DUT引腳的接線以及與接線關聯的傳輸延遲。離線配置文件還包括作為仿真產物的其它參數。這些包括加載DUT模型時傳遞給DLL的具體參數。為了訪問Verilog DUT模型,框架提供了特殊的DUT模型DLL。該模型可配置成連接至特定的伺服器,在伺服器上,運行特定Verilog模型的程序正在運行。
在一個實施例中,仿真框架的初始化包括以下過程1.加載模塊DLL,並基於仿真配置文件在存儲器中給出模塊仿真對象的實例;
2.等待由用戶提供離線配置文件(其描述待加載的DUT模型及其如何連接至模塊);3.使用兩個配置文件來構建仿真如下a.使用經由總線仿真編程至系統中的站點信息來指定模塊和DUT給各站點;b.將模塊連接至該站點專用的仿真框架中的加載板模型;c.將每個站點中的DUT模型連接至加載板模型的對應站點。
4.當卸載測試計劃時,卸載步驟3中創建的結構,並等待另一離線配置文件。
框架按照每站點來分割仿真,以實現多線程的仿真。各站點可被並行仿真。這樣,根據預定仿真站點來分割仿真使其關於彼此是線程安全的,並避免了對可影響性能的任何鎖定機制的需要。
在加載配置數據時,通過經由加載板來構造模塊中每個通道到仿真框架中對象的連接,仿真框架開始構建仿真。圖6示出了根據本發明一實施例的仿真模塊和加載板模型之間的通道。通道包括仿真模塊602、雙向接口模型604和加載板模型606。仿真模塊602包含I/O埠SimChannel A603,而類似地,加載板模型包含I/O埠SimChannel B 607。在雙向接口604內有兩個緩衝器,一個SimWaveform A2B緩衝器608,用於將數據從仿真模塊602傳遞至加載板模型606,一個SimWaveform B2A緩衝器610,用於將數據從加載板模型606傳遞至仿真模塊602。如圖6中所示,仿真模塊602寫入SimWaveform A2B緩衝器,並從SimWaveform B2A緩衝器610讀取。另一方面,加載板模型606寫入SimWaveform B2A緩衝器610,而從SimWaveform A2B緩衝器608讀取。
SimWaveform A2B和SimWaveform B2A緩衝器的每個包含用於存儲有關通道的信息的表。具體而言,所述緩衝器存儲在任意時間點從通道對象中讀取的電壓。利用以上圖3b中所述的幾個標準模型之一,在表條目時間之間讀取的通道的電壓值被內插。與特定通道一起使用的模型的選擇是用戶可配置的。通過使SimWaveform成為其它波形類的基類來完成交換模型。SimWaveform具有虛擬函數read,該函數返回給定時間的電壓。每個派生類根據被建模的波形(如,SimWaveformStep對方波建模)來實施read。使用模擬技術來對窗口選通建模。
如圖6所示,DUT模型612耦合至加載板。該連接通過使用仿真框架的SimWire類的實例來完成。SimWire類可訪問雙向接口對象中的緩衝器。SimWire類解決DUT和模塊之間的驅動衝突。注意,圖6中的加載板606和DUT模型612之間的連接是仿真模塊602和加載板606之間連接的鏡像。該連接的細節未在圖中示出,以便更清楚地示出模塊和加載板之間的連接。
在構造了仿真之後,則加載測試程序。這涉及對系統總線設備驅動器的調用。在離線方式中,訪問硬體的設備驅動器被轉向至共享的存儲器I/O,從而容許站點控制器進程與仿真框架進程通信。由於兩個仿真設置的唯一不同的部件是設備驅動器,因此在線和離線測試仿真的特性之間具有高度相關性。
框架執行在測試計劃執行過程中,有兩種類型的仿真運行。第一是基於事件的仿真。被仿真的部件通常為仿真模塊。這些部件在本質上是基於事件的,因為其特性由測試程序在仿真開始前規定。另一類型的仿真是基於時間的仿真。被仿真的部件通常是DUT模型。這些部件在本質上是基於時間的,因為其狀態基於外部激勵和當前內部狀態前向傳播。仿真框架協調基於事件和基於時間的仿真之間的執行和數據傳遞。
基於事件的仿真使用登記和處理進程。一般為仿真模塊的仿真部件需要為每個仿真事件登記。在登記後,當測試事件的條件發生時,調用部件事件處理機的回調用,從而容許執行適當的仿真過程。
基於時間的仿真依賴於基於事件的部件的輸出。仿真框架計算用於俘獲針對饋送基於時間的部件的所有通道、由基於事件的部件所產生的激勵的時間窗。基於時間的部件然後利用所計算的時間窗來調用。從基於事件的部件發送到基於時間的部件的數據需要是穩定的。通過使基於事件的部件在寫入其輸出通道時滿足一組預定的時序需求,來加強該穩定性準則。
仿真框架提供仿真模塊和DUT模型之間驅動衝突的自動解決。驅動衝突一般是由測試程序中的定時誤差引起的。在其發生於實際硬體上之前就識別這些誤差是至關重要的,因為這樣做可避免對DUT和測試設備的損壞。加載板模型中的SimWire對象解決驅動衝突。在SimWire兩側的部件接收了其輸入後,仿真框架調用SimWire對象來分解來自兩側的信號。如果只有一個通道具有驅動輸入,則將其拷貝到其它通道,其中施加適當的傳輸延遲。如果SimWire對象的多側具有接收的驅動輸入,則設置輸出緩衝器中的電壓以反映該衝突。一旦設置了輸出緩衝器,則調用已經登記從其讀取的模塊。然後,訪問分解了的電壓。由於電壓分解封裝在SimWire對象中,因此該過程對仿真的其餘部分是透明的。
所公開的用於對模塊化測試系統進行仿真的方法具有多個有益效果。第一,通過提供對測試程序的準確和詳細的仿真,所公開的方法使得工程師能夠在其自己的工作站上開發測試程序,而不是在昂貴的測試器設備上。第二,所公開的方法在測試程序、仿真模塊和DUT模型在測試設備上運行前即識別出其中的問題,從而允許這樣的問題早些得以解決。第三,所公開的方法支持並行開發模型,可實現較短的測試程序開發周期,並較快地將DUT投入市場。
相關領域的技術人員將認識到,在依然採用相同的基本基礎機制和方法的情況下,可使用所公開實施例的很多可能的修改和組合。前述描述是關於特定實施例所撰寫的,是為了解釋的目的。但是,上述說明性的討論並非意欲窮盡本發明,或將本發明限制於所公開的精確形式。就上述教示來說,很多修改和變化都是可能的。選擇和描述上述實施例是為了解釋本發明及其實際應用的原理,並使本領域技術人員更好地利用本發明以及具有適於可預期的具體應用的各種修改的各種實施例。
權利要求
1.一種用於對模塊化測試系統進行仿真的方法,包括提供控制器,其中所述控制器控制至少一個供應商模塊及其對應的被測器件(DUT)模型;創建仿真框架,以便在所述至少一個供應商模塊及其對應的DUT模型之間建立標準接口;對所述仿真框架進行配置;以及利用所述仿真框架對所述模塊化測試系統進行仿真。
2.根據權利要求1所述的方法,其中創建仿真框架包括創建供應商模塊接口,用於處理所述供應商模塊與所述模塊化測試系統之間的通信;以及創建DUT模型接口,用於處理DUT模型與所述供應商模塊之間的通信。
3.根據權利要求2所述的方法,其中創建所述供應商模塊接口包括根據第一組預定標準接口來實施所述供應商模塊;以及實施用於對所述供應商模塊的特性建模的虛擬函數。
4.根據權利要求2所述的方法,其中創建所述DUT模型接口包括根據第二組預定標準接口來實施所述DUT模型;以及實施用於對所述DUT模型的特性建模的虛擬函數。
5.根據權利要求2所述的方法,其中創建仿真框架進一步包括提供用於設置所述供應商模塊和所述DUT模型的輸出通道處的動態電壓電平的共用接口。
6.根據權利要求1所述的方法,其中對所述仿真框架進行配置包括生成仿真配置文件(SCF);以及將所述仿真配置文件加載至所述模塊化測試系統。
7.根據權利要求6所述的方法,其中所述仿真配置文件包括一個或多個供應商模塊DLL;所述模塊化測試系統的硬體設置;以及仿真參數。
8.根據權利要求6所述的方法,其中對所述仿真框架進行配置包括生成離線配置文件;以及將所述離線配置文件加載至所述模塊化測試系統。
9.根據權利要求8所述的方法,其中所述離線配置文件包括一個或多個DUT模型DLL;所述DUT的硬體設置;以及離線仿真參數。
10.根據權利要求8所述的方法,其中對所述仿真框架進行配置進一步包括加載供應商模塊DLL;接收所述離線配置文件;以及根據所述仿真配置文件和所述離線配置文件來構建仿真結構。
11.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括執行所述供應商模塊的基於事件的仿真;執行所述DUT模型的基於時間的仿真;以及在所述基於事件的仿真和所述基於時間的仿真之間傳遞仿真數據。
12.根據權利要求11所述的方法,其中傳遞仿真數據包括在仿真過程中自動解決供應商模塊和所述DUT模型之間的驅動衝突。
13.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括對多個DUT模型進行並行測試。
14.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括將一個或多個供應商模塊添加至所述模塊化測試系統,而不修改所述仿真框架。
15.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括從所述模塊化測試系統中去除一個或多個供應商模塊,而不修改所述仿真框架。
16.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括將一個或多個DUT模型添加至所述模塊化測試系統,而不修改所述仿真框架。
17.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括從所述模塊化測試系統中去除一個或多個DUT模型,而不修改所述仿真框架。
18.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括將一個或多個DUT模型添加至所述模塊化測試系統,而不停止仿真的運行。
19.根據權利要求1所述的方法,其中對所述模塊化測試系統進行仿真包括從所述模塊化測試系統中去除一個或多個DUT模型,而不停止仿真的運行。
20.一種模塊化測試系統,包括一個或多個供應商模塊;一個或多個被測器件(DUT)模型;用於控制所述供應商模塊及其對應的DUT模型的控制器;用於在所述供應商模塊和所述DUT模型之間建立標準接口的仿真框架;用於對所述仿真框架進行配置的裝置;以及用於利用所述仿真框架對所述模塊化測試系統進行仿真的裝置。
21.根據權利要求20所述的系統,其中所述仿真框架包括供應商模塊接口,用於處理所述供應商模塊與所述模塊化測試系統之間的通信;以及DUT模型接口,用於處理DUT模型與所述供應商模塊之間的通信。
22.根據權利要求21所述的系統,其中所述供應商模塊接口包括根據第一組預定標準接口實施的供應商模塊接口;以及用於對所述供應商模塊的特性建模的虛擬函數。
23.根據權利要求21所述的系統,其中所述DUT模型接口包括根據第二組預定標準接口實施的DUT模型接口;以及用於對所述DUT模型的特性建模的虛擬函數。
24.根據權利要求21所述的系統,其中所述仿真框架進一步包括用於設置所述供應商模塊和所述DUT模型的輸出通道處的動態電壓電平的共用接口。
25.根據權利要求20所述的系統,其中所述用於對仿真框架進行配置的裝置包括用於生成仿真配置文件(SCF)的裝置;以及用於將所述仿真配置文件加載至所述模塊化測試系統的裝置。
26.根據權利要求25所述的系統,其中所述仿真配置文件包括一個或多個供應商模塊DLL;所述模塊化測試系統的硬體設置;以及仿真參數。
27.根據權利要求25所述的系統,其中對所述仿真框架進行配置的裝置包括用於生成離線配置文件的裝置;以及用於將所述離線配置文件加載至所述模塊化測試系統的裝置。
28.根據權利要求27所述的系統,其中所述離線配置文件包括一個或多個DUT模型DLL;所述DUT的硬體設置;以及離線仿真參數。
29.根據權利要求27所述的系統,其中對所述仿真框架進行配置的裝置進一步包括用於加載供應商模塊DLL的裝置;用於接收所述離線配置文件的裝置;以及用於根據所述仿真配置文件和所述離線配置文件來構建仿真結構的裝置。
30.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括用於執行所述供應商模塊的基於事件的仿真的裝置;用於執行所述DUT模型的基於時間的仿真的裝置;以及用於在所述基於事件的仿真和所述基於時間的仿真之間傳遞仿真數據的裝置。
31.根據權利要求30所述的系統,其中傳遞仿真數據的裝置包括用於在仿真過程中自動解決供應商模塊和所述DUT模型之間的驅動衝突的裝置。
32.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括對多個DUT模型進行並行測試的裝置。
33.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括將一個或多個供應商模塊添加至所述模塊化測試系統而不修改所述仿真框架的裝置。
34.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括從所述模塊化測試系統中去除一個或多個供應商模塊而不修改所述仿真框架的裝置。
35.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括將一個或多個DUT模型添加至所述模塊化測試系統而不修改所述仿真框架的裝置。
36.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括從所述模塊化測試系統中去除一個或多個DUT模型而不修改所述仿真框架的裝置。
37.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括將一個或多個DUT模型添加至所述模塊化測試系統而不停止仿真的運行的裝置。
38.根據權利要求20所述的系統,其中對所述模塊化測試系統進行仿真的裝置包括從所述模塊化測試系統中去除一個或多個DUT模型而不停止仿真的運行的裝置。
全文摘要
公開了一種用於對模塊化測試系統進行仿真的方法。所述方法包括提供控制器,其中所述控制器控制至少一個供應商模塊及其對應的被測器件(DUT)模型;創建仿真框架,以便在所述至少一個供應商模塊及其對應的DUT模型之間建立標準接口;對所述仿真框架進行配置;以及利用所述仿真框架對所述模塊化測試系統進行仿真。
文檔編號G06F17/50GK1997908SQ20058001621
公開日2007年7月11日 申請日期2005年5月23日 優先權日2004年5月22日
發明者康拉德·穆凱, 安康·普拉馬尼克, 馬克·埃爾斯頓, 足立敏明, 陳良力 申請人:株式會社愛德萬測試

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀