国产精品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>

      邏輯電路仿真測試方法和系統(tǒng)的制作方法

      文檔序號(hào):6556863閱讀:326來源:國知局
      專利名稱:邏輯電路仿真測試方法和系統(tǒng)的制作方法
      技術(shù)領(lǐng)域
      本發(fā)明涉及通信領(lǐng)域,尤其涉及邏輯電路的仿真測試技術(shù)。
      背景技術(shù)
      通常,邏輯電路的設(shè)計(jì)是將所要完成的邏輯需求映射成一些生產(chǎn)所需的文件,如網(wǎng)表、版圖等。數(shù)字邏輯電路在編碼設(shè)計(jì)完成后,投入生產(chǎn)之前,需要對(duì)所述設(shè)計(jì)的邏輯電路進(jìn)行仿真測試,以驗(yàn)證其設(shè)計(jì)是否正確,從而可以有效地降低生產(chǎn)風(fēng)險(xiǎn)。
      數(shù)字邏輯電路通常使用硬件設(shè)計(jì)語言描述,一個(gè)數(shù)字邏輯電路通常是由多個(gè)硬件語言代碼文件組成。在進(jìn)行仿真測試時(shí),通常利用一些軟件工具,如EDA(Electronic Design Automatic,電子設(shè)計(jì)自動(dòng)化)仿真器軟件,仿真硬件語言描述的數(shù)字邏輯電路。
      目前許多大規(guī)模的數(shù)字邏輯電路都具有CPU(中央處理器)接口,通過所述CPU接口CPU可以訪問數(shù)字邏輯電路內(nèi)部的寄存器或RAM(RandomAccess Memory,隨機(jī)訪問內(nèi)存)。例如在數(shù)字邏輯電路工作之前通過CPU接口實(shí)現(xiàn)CPU對(duì)數(shù)字邏輯電路中的寄存器進(jìn)行配置;在數(shù)字邏輯電路工作過程中,CPU也可以通過所述CPU接口對(duì)數(shù)字邏輯電路的工作狀態(tài)進(jìn)行查詢,并根據(jù)查詢結(jié)果再次更改數(shù)字邏輯電路中的配置。因此在仿真測試過程中,需要模擬實(shí)際應(yīng)用環(huán)境中CPU對(duì)數(shù)字邏輯電路進(jìn)行的訪問。
      與本發(fā)明相關(guān)的現(xiàn)有技術(shù)如圖1所示,其是在仿真測試前將產(chǎn)生的配置數(shù)據(jù)存放到配置數(shù)據(jù)文件中,仿真測試開始后,通過CPU BFM(Bus FunctionModel,總線功能模塊)將從所述配置數(shù)據(jù)文件中讀取的配置數(shù)據(jù),轉(zhuǎn)換成物理接口芯片的輸入口總線上連續(xù)的電平信號(hào),然后通過CPU接口將所述電平信號(hào)寫入到所述數(shù)字邏輯電路的寄存器中。這樣就完成所述數(shù)字邏輯電路的配置工作。
      由現(xiàn)有技術(shù)的技術(shù)方案可以看出,CPU BFM一旦處理完配置數(shù)據(jù)文件,就不再進(jìn)行CPU讀寫操作,因此其存在如下缺陷在仿真過程中,不方便更改配置,也不方便實(shí)時(shí)讀取數(shù)字邏輯的寄存器,無法根據(jù)查詢結(jié)果再次更改配置。

      發(fā)明內(nèi)容
      本發(fā)明的目的是提供一種邏輯電路仿真測試方法和系統(tǒng),通過本發(fā)明,CPU能夠?qū)崟r(shí)對(duì)數(shù)字邏輯電路的寄存器進(jìn)行讀寫操作,方便修改數(shù)字邏輯電路的配置數(shù)據(jù)。
      本發(fā)明的目的是通過以下技術(shù)方案實(shí)現(xiàn)的本發(fā)明提供一種對(duì)數(shù)字邏輯電路進(jìn)行仿真測試的系統(tǒng),包括仿真器、CPU測試命令模塊和CPU BFM模塊;通過CPU測試命令模塊將測試命令下發(fā)給所述CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);當(dāng)所述CPU BFM模塊接收到測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。
      其中所述的系統(tǒng)還包括中央處理單元程序語言接口CPU PLI模塊;用于對(duì)所述CPU測試命令模塊下發(fā)的測試命令進(jìn)行處理,并將處理后的測試命令提供給CPU BFM模塊;同時(shí)喚醒CPU BFM模塊,使所述CPU BFM模塊進(jìn)入測試執(zhí)行狀態(tài);以及,在進(jìn)行測試的過程中,用于對(duì)CPU BFM模塊反饋的命令執(zhí)行結(jié)果進(jìn)行處理,并將處理后的結(jié)果暫存,用于提供給CPU測試命令模塊讀取;并觸發(fā)仿真器進(jìn)入暫停仿真狀態(tài),使CPU測試命令模塊重新獲得對(duì)仿真器的控制權(quán)。
      本發(fā)明提供一種邏輯電路仿真測試方法,其包括A、通過CPU測試命令模塊將測試命令發(fā)送給CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);B、所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。
      其中所述的方法還包括在仿真器進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞給CPU測試命令模塊。
      其中所述的方法還包括在仿真器進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞CPU PLI模塊。
      其中,所述步驟A具體包括用戶通過CPU測試命令模塊實(shí)時(shí)將測試命令發(fā)送給CPU PLI模塊,并通過所述CPU PLI模塊喚醒CPU BFM模塊;所述CPU BFM模塊被喚醒后,從所述CPU PLI模塊中獲取所述測試命令,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài)。
      其中,所述步驟A具體包括A1、用戶通過CPU測試命令模塊實(shí)時(shí)下發(fā)測試命令給CPU PLI模塊;A2、所述CPU PLI模塊接收到所述測試命令后,對(duì)所述測試命令進(jìn)行處理并緩存,同時(shí)喚醒CPU BFM模塊,使所述CPU BFM模塊進(jìn)入測試執(zhí)行狀態(tài);A3、當(dāng)所述CPU BFM模塊被喚醒后,向CPU PLI模塊申請(qǐng)測試命令;A4、所述CPU BFM模塊判斷是否申請(qǐng)到所述測試命令,若申請(qǐng)到,則獲取所述測試命令,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);若申請(qǐng)不到,則進(jìn)入休眠狀態(tài)。
      其中,在進(jìn)入休眠狀態(tài)之后,還包括當(dāng)接收到CPU PLI模塊的撤銷休眠命令后,進(jìn)入激活狀態(tài),然后向CPUPLI模塊申請(qǐng)測試命令。
      其中,所述步驟B具體包括當(dāng)所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;所述CPU PLI模塊將所述命令執(zhí)行結(jié)果提供給所述CPU測試命令模塊。
      其中,所述步驟B具體包括B1、所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;B2、所述CPU PLI模塊緩存所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果;B3、所述CPU測試命令模塊從所述CPU PLI模塊中讀取所述命令執(zhí)行結(jié)果。
      其中,在所述步驟B2與步驟B3之間還包括B4、所述CPU PLI模塊執(zhí)行暫停仿真器的仿真測試操作;B5、仿真器暫停仿真,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      其中,所述步驟B具體包括B6、所述CPU BFM模塊一旦獲取到所述測試命令,則執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;B7、所述CPU PLI模塊對(duì)所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果進(jìn)行處理,并將處理后的結(jié)果發(fā)送給所述CPU測試命令模塊。
      其中,所述步驟B還包括
      當(dāng)所述CPU BFM模塊將命令執(zhí)行結(jié)果反饋給所述所述CPU PLI模塊后,進(jìn)入休眠狀態(tài)。
      其中,所述步驟B還包括B8、所述CPU測試命令模塊接收到所述命令執(zhí)行結(jié)果后,執(zhí)行暫停仿真測試的操作;B9、仿真器暫停仿真測試操作,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      由上述本發(fā)明提供的技術(shù)方案可以看出,本發(fā)明中用戶通過CPU測試命令模塊能夠?qū)崟r(shí)將測試命令發(fā)送給CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);所述CPU BFM模塊獲取到所述測試命令后,在仿真器運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。因此通過本發(fā)明,CPU能夠?qū)崟r(shí)對(duì)數(shù)字邏輯電路的寄存器進(jìn)行讀寫操作,方便修改被測設(shè)備的配置數(shù)據(jù);并且用戶可以根據(jù)命令執(zhí)行結(jié)果編制控制軟件來訪問被測設(shè)備內(nèi)部的寄存器或RAM,便于實(shí)現(xiàn)自動(dòng)化測試,使測試過程比較靈活,使測試范圍更為充分。


      圖1為現(xiàn)有技術(shù)提供的系統(tǒng)的工作原理圖;圖2為本發(fā)明提供的第一實(shí)施例中的系統(tǒng)工作原理圖;圖3為本發(fā)明提供的第二實(shí)施例中的系統(tǒng)工作原理圖;圖4為本發(fā)明提供的第三實(shí)施例中的仿真測試過程時(shí)序圖;圖5為本發(fā)明提供的第四實(shí)施例中的仿真測試過程時(shí)序圖。
      具體實(shí)施例方式
      本發(fā)明提供一種邏輯電路仿真測試方法和系統(tǒng),其核心為用戶通過CPU測試命令模塊實(shí)時(shí)將測試命令發(fā)送給CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);所述CPU BFM模塊獲取到所述測試命令后,在仿真器運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。
      針對(duì)本發(fā)明所述的系統(tǒng),本發(fā)明提供了第一實(shí)施例,其圖2所示,包括CPU測試命令模塊、CPU PLI(Progrmming Language Interface,程序語言接口)模塊、CPU BFM模塊和仿真器。用戶可以自由修改CPU BFM模塊,以便適配各種各樣的CPU接口總線時(shí)序。CPU測試命令模塊和CPU PLI模塊,是本發(fā)明的核心模塊,發(fā)布后的模塊代碼,用戶不可見,也無法修改,不影響正常使用。
      在仿真器啟動(dòng)并進(jìn)行初始化時(shí),CPU BFM模塊調(diào)用CPU PLI模塊提供的接口,將休眠控制位句柄傳遞給CPU PLI模塊,以便CPU PLI模塊在需要的時(shí)候取消CPU BFM模塊的休眠狀態(tài)。
      CPU測試命令模塊提供給用戶兩個(gè)CPU讀寫操作命令,分別是CPU讀命令(cpu_rd)和CPU寫命令(cpu_wr)。讀命令有一個(gè)地址參數(shù),有返回值;寫命令有地址和數(shù)據(jù)兩個(gè)參數(shù),無返回值。
      當(dāng)用戶操作仿真器(仿真器處于用戶控制狀態(tài))執(zhí)行cpu_rd或cpu_wr命令時(shí),CPU測試命令模塊將命令數(shù)據(jù)下發(fā)到CPU PLI模塊,并調(diào)用仿真器的仿真控制運(yùn)行(RUN)命令,使仿真器進(jìn)入仿真執(zhí)行狀態(tài)。CPU PLI模塊緩存所述CPU測試命令模塊下發(fā)的命令數(shù)據(jù),并取消CPU BFM的休眠控制位。
      在仿真執(zhí)行過程中,此時(shí)CPU BFM模塊已被喚醒,處于非休眠狀態(tài)。CPU BFM模塊向CPU PLI模塊申請(qǐng)CPU測試命令,如果沒有申請(qǐng)到CPU測試命令,CPU BFM模塊就進(jìn)入休眠狀態(tài);如果申請(qǐng)到CPU測試命令,CPUBFM模塊將執(zhí)行命令,產(chǎn)生CPU總線時(shí)序,將讀或?qū)懖僮鱾鬟f給數(shù)字邏輯電路,當(dāng)命令執(zhí)行完畢后,CPU BFM模塊將執(zhí)行結(jié)果告知給CPU PLI模塊,然后,CPU BFM模塊進(jìn)入休眠狀態(tài)。
      當(dāng)CPU PLI模塊接收到CPU BFM模塊的測試命令執(zhí)行結(jié)果告知后,執(zhí)行暫停仿真器的操作,并觸發(fā)仿真器進(jìn)入暫停仿真狀態(tài),使CPU測試命令模塊重新獲得對(duì)仿真器的控制權(quán)。仿真器暫停仿真,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      CPU測試命令模塊,從CPU PLI模塊得到執(zhí)行結(jié)果。對(duì)于cpu_rd命令,則得到讀數(shù)據(jù);對(duì)于cpu_wr命令,則僅僅是命令執(zhí)行結(jié)束返回。
      針對(duì)本發(fā)明所述的系統(tǒng),本發(fā)明提供了第二實(shí)施例,其圖3所示,包括CPU測試命令模塊、CPU BFM模塊和仿真器;在仿真器啟動(dòng)并進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞給CPU測試命令模塊,以便CPU測試命令模塊在需要的時(shí)候取消CPU BFM模塊的休眠狀態(tài)。
      CPU測試命令模塊提供給用戶兩個(gè)CPU測試命令,分別是CPU讀命令(cpu_rd)和CPU寫命令(cpu_wr)。讀命令有一個(gè)地址參數(shù),有返回值;寫命令有地址和數(shù)據(jù)兩個(gè)參數(shù),無返回值。
      用戶操作仿真器(仿真器處于用戶控制狀態(tài))執(zhí)行cpu_rd或cpu_wr命令時(shí),CPU測試命令模塊實(shí)時(shí)將命令數(shù)據(jù)下發(fā)到CPU BFM模塊。同時(shí)取消CPU BFM模塊的休眠控制位,然后調(diào)用仿真器的仿真控制運(yùn)行(RUN)命令,使仿真器進(jìn)入仿真執(zhí)行狀態(tài)。
      CPU BFM模塊被喚醒后,CPU BFM模塊將執(zhí)行測試命令,產(chǎn)生CPU總線時(shí)序,將讀或?qū)懖僮鱾鬟f給外部設(shè)備,如數(shù)字邏輯電路,當(dāng)測試命令執(zhí)行完畢后,CPU BFM模塊將執(zhí)行結(jié)果反饋給CPU測試命令模塊,隨后,CPUBFM模塊進(jìn)入休眠狀態(tài)。
      當(dāng)CPU測試命令模塊接收到CPU BFM模塊的測試命令執(zhí)行結(jié)果后,執(zhí)行暫停仿真器的操作。仿真器暫停仿真,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      針對(duì)本發(fā)明所述的方法,本發(fā)明提供了第三實(shí)施例,如圖4所示,包括步驟1,在啟動(dòng)仿真器進(jìn)行初始化的過程中,CPU BFM模塊將休眠控制位句柄傳遞給CPU測試命令模塊。
      CPU BFM模塊將休眠控制位句柄傳遞給CPU測試命令模塊后,CPU測試命令模塊在需要的時(shí)候可以利用休眠控制位句柄所述取消CPU BFM模塊的休眠狀態(tài)。
      步驟2,用戶通過CPU測試命令模塊實(shí)時(shí)將測試命令發(fā)送給所述CPUBFM模塊,同時(shí)將CPU BFM模塊喚醒,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài)。
      步驟3,一旦所述CPU BFM模塊獲取到所述測試命令后,則在仿真器運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊,然后進(jìn)入休眠狀態(tài)。
      步驟4,當(dāng)所述CPU測試命令模塊接收到所述命令執(zhí)行結(jié)果后,執(zhí)行暫停仿真測試的操作,并將結(jié)果反饋給用戶。
      步驟5,當(dāng)暫停仿真測試的操作執(zhí)行完畢后,仿真器退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      針對(duì)本發(fā)明所述的方法,本發(fā)明提供了第四實(shí)施例,如圖5所示,包括步驟1,在啟動(dòng)仿真器并進(jìn)行初始化的過程中,CPU BFM模塊調(diào)用CPUPLI模塊提供的接口,將休眠控制位句柄傳遞給CPU PLI模塊,以便CPU PLI模塊在需要的時(shí)候取消CPU BFM模塊的休眠狀態(tài)。
      步驟2,CPU測試命令模塊下發(fā)測試命令給CPU PLI模塊。
      步驟3,CPU PLI模塊緩存所述測試命令,同時(shí)撤銷CPU BFM的休眠控制位。
      然后執(zhí)行步驟4,CPU測試命令模塊調(diào)用仿真器運(yùn)行命令,如RUN(運(yùn)行)命令,使仿真器進(jìn)入開始仿真的執(zhí)行狀態(tài)。
      當(dāng)仿真器進(jìn)入仿真執(zhí)行狀態(tài)后,進(jìn)行如下過程步驟5,CPU BFM模塊從CPU PLI模塊中申請(qǐng)測試命令。
      步驟6、判斷是否申請(qǐng)到測試命令,如果申請(qǐng)到,則執(zhí)行步驟7;如果申請(qǐng)不到,則執(zhí)行步驟11,進(jìn)入休眠狀態(tài),并當(dāng)接收到CPU PLI模塊的撤銷休眠控制位命令后,進(jìn)入激活狀態(tài),然后轉(zhuǎn)向步驟5。
      步驟7,CPU BFM模塊執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將執(zhí)行結(jié)果告知CPU PLI模塊,然后CPU BFM模塊進(jìn)入休眠狀態(tài)。
      步驟7中,當(dāng)所述測試命令為讀命令時(shí),則CPU BFM模塊通過CPU接口讀取外部設(shè)備,如數(shù)字邏輯電路的數(shù)據(jù)。當(dāng)所述測試命令為寫命令時(shí),則CPU BFM模塊通過CPU接口將數(shù)據(jù)寫入到外部設(shè)備,如數(shù)字邏輯電路。當(dāng)測試命令執(zhí)行完畢后,CPU BFM模塊能夠獲得相應(yīng)的執(zhí)行結(jié)果。對(duì)于讀命令,CPU BFM模塊能夠獲得讀取的數(shù)據(jù);對(duì)于寫命令,CPU BFM模塊僅僅能夠獲得返回的命令執(zhí)行結(jié)束信息。當(dāng)CPU BFM模塊獲得相應(yīng)的執(zhí)行結(jié)果后,CPU BFM模塊將執(zhí)行結(jié)果告知CPU PLI模塊,然后CPU BFM模塊進(jìn)入休眠狀態(tài),并當(dāng)接收到CPU PLI模塊的撤銷休眠控制位命令后,進(jìn)入激活狀態(tài),然后轉(zhuǎn)向步驟5。
      步驟8,當(dāng)CPU PLI模塊接收到CPU BFM模塊的測試命令執(zhí)行結(jié)果告知后,從CPU測試命令模塊調(diào)用并執(zhí)行暫停仿真器的仿真工作的控制命令。
      之后執(zhí)行步驟9,仿真器退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      最后,執(zhí)行步驟10,CPU測試命令模塊從CPU PLI模塊讀取并得到測試命令的執(zhí)行結(jié)果。對(duì)于cpu_rd命令,則得到讀數(shù)據(jù);對(duì)于cpu_wr命令,則僅僅是返回的命令執(zhí)行結(jié)束信息。所述CPU測試命令模塊得到所述命令執(zhí)行結(jié)果后,將結(jié)果反饋給用戶。
      針對(duì)本發(fā)明所述的方法提供的第五實(shí)施例,其與第四實(shí)施例的區(qū)別在于第四實(shí)施例中,當(dāng)CPU PLI模塊獲取到所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果后,將其進(jìn)行緩存等待CPU測試命令模塊讀取。而此實(shí)施例中,當(dāng)CPU PLI模塊獲取到所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果后,對(duì)其進(jìn)行處理,然后發(fā)送給所述CPU測試命令模塊。其實(shí)施過程包括首先,在仿真器進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞CPU PLI模塊,以便CPU PLI模塊在需要的時(shí)候取消CPU BFM模塊的休眠狀態(tài)。
      然后,用戶通過CPU測試命令模塊實(shí)時(shí)下發(fā)測試命令給CPU PLI模塊。所述CPU PLI模塊接收到所述測試命令后,對(duì)所述測試命令進(jìn)行處理后發(fā)送給所述CPU BFM模塊,同時(shí)喚醒CPU BFM模塊,即取消CPU BFM模塊的休眠狀態(tài),并從CPU測試命令模塊中調(diào)用仿真控制命令,使仿真器進(jìn)入測試執(zhí)行狀態(tài)。
      所述CPU BFM模塊一旦接收到所述測試命令,則執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊,隨后進(jìn)入休眠狀態(tài)。
      接著,所述CPU PLI模塊對(duì)所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果進(jìn)行處理后,發(fā)送給所述CPU測試命令模塊。
      當(dāng)所述CPU測試命令模塊接收到所述命令執(zhí)行結(jié)果后,執(zhí)行暫停仿真測試的操作。仿真器暫停仿真,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      針對(duì)本發(fā)明所述的方法提供了第六實(shí)施例,其與第三實(shí)施例的不同之處在于,所述測試命令為突發(fā)讀寫命令。突發(fā)讀寫命令用于模擬支持突發(fā)讀寫的CPU,突發(fā)讀寫命令包含的信息有讀寫起始地址、讀寫字節(jié)數(shù)、寫數(shù)據(jù)列表(僅出現(xiàn)在突發(fā)寫命令中),當(dāng)所述CPU BFM模塊從所述CPU PLI模塊中取得所述突發(fā)讀寫命令時(shí),同時(shí)獲得一個(gè)起始地址。CPU BFM從讀寫起始地址開始,執(zhí)行突發(fā)讀寫(根據(jù)不同的CPU,CPU BFM的行為可不同),直到完成指定的讀寫字節(jié)數(shù)。
      由上述本發(fā)明的具體實(shí)施方案可以看出,本發(fā)明中的CPU BFM模塊在無CPU讀寫操作時(shí),能夠自動(dòng)轉(zhuǎn)入休眠狀態(tài);CPU測試命令模塊能夠?qū)崟r(shí)將測試命令發(fā)送給所述CPU BFM模塊,一旦測試命令在開始執(zhí)行時(shí),自動(dòng)喚醒正在休眠CPU BFM模塊;所述CPU BFM模塊執(zhí)行所述測試命令完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。由此可見,通過本發(fā)明,CPU能夠?qū)崟r(shí)對(duì)數(shù)字邏輯電路的寄存器進(jìn)行讀寫操作,方便修改被測設(shè)備的配置數(shù)據(jù);并且用戶可以根據(jù)命令執(zhí)行結(jié)果編制控制軟件來訪問被測設(shè)備內(nèi)部的寄存器或RAM。如使用TCL腳本編寫控制軟件,通過控制軟件中提供的命令,查詢和控制數(shù)字邏輯電路內(nèi)部的寄存器或RAM。從而便于實(shí)現(xiàn)自動(dòng)化測試,使測試過程比較靈活,使測試范圍更為充分。
      以上所述,僅為本發(fā)明較佳的具體實(shí)施方式
      ,但本發(fā)明的保護(hù)范圍并不局限于此,任何熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)該以權(quán)利要求的保護(hù)范圍為準(zhǔn)。
      權(quán)利要求
      1.一種邏輯電路仿真測試系統(tǒng),包括仿真器,其特征在于,還包括中央處理單元CPU測試命令模塊和中央處理單元總線功能CPU BFM模塊;通過CPU測試命令模塊將測試命令下發(fā)給所述CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);當(dāng)所述CPU BFM模塊接收到測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。
      2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,還包括中央處理單元程序語言接口CPU PLI模塊;用于對(duì)所述CPU測試命令模塊下發(fā)的測試命令進(jìn)行處理,并將處理后的測試命令提供給CPU BFM模塊;同時(shí)喚醒CPU BFM模塊,使所述CPU BFM模塊進(jìn)入測試執(zhí)行狀態(tài);以及,在進(jìn)行測試的過程中,用于對(duì)CPU BFM模塊反饋的命令執(zhí)行結(jié)果進(jìn)行處理,并將處理后的結(jié)果暫存,用于提供給CPU測試命令模塊讀??;并觸發(fā)仿真器進(jìn)入暫停仿真狀態(tài),使CPU測試命令模塊重新獲得對(duì)仿真器的控制權(quán)。
      3.一種邏輯電路仿真測試方法,其特征在于,包括A、通過CPU測試命令模塊將測試命令發(fā)送給CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);B、所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。
      4.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括在仿真器進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞給CPU測試命令模塊。
      5.根據(jù)權(quán)利要求3所述的方法,其特征在于,還包括在仿真器進(jìn)行初始化時(shí),CPU BFM模塊將休眠控制位句柄傳遞CPU PLI模塊。
      6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟A具體包括用戶通過CPU測試命令模塊實(shí)時(shí)將測試命令發(fā)送給CPU PLI模塊,并通過所述CPU PLI模塊喚醒CPU BFM模塊;所述CPU BFM模塊被喚醒后,從所述CPU PLI模塊中獲取所述測試命令,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài)。
      7.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟A具體包括A1、用戶通過CPU測試命令模塊實(shí)時(shí)下發(fā)測試命令給CPU PLI模塊;A2、所述CPU PLI模塊接收到所述測試命令后,對(duì)所述測試命令進(jìn)行處理并緩存,同時(shí)喚醒CPU BFM模塊,使所述CPU BFM模塊進(jìn)入測試執(zhí)行狀態(tài);A3、當(dāng)所述CPU BFM模塊被喚醒后,向CPU PLI模塊申請(qǐng)測試命令;A4、所述CPU BFM模塊判斷是否申請(qǐng)到所述測試命令,若申請(qǐng)到,則獲取所述測試命令,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);若申請(qǐng)不到,則進(jìn)入休眠狀態(tài)。
      8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在進(jìn)入休眠狀態(tài)之后,還包括當(dāng)接收到CPU PLI模塊的撤銷休眠命令后,進(jìn)入激活狀態(tài),然后向CPUPLI模塊申請(qǐng)測試命令。
      9.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟B具體包括當(dāng)所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;所述CPU PLI模塊將所述命令執(zhí)行結(jié)果提供給所述CPU測試命令模塊。
      10.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟B具體包括B1、所述CPU BFM模塊獲取到所述測試命令后,在仿真器的運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;B2、所述CPU PLI模塊緩存所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果;B3、所述CPU測試命令模塊從所述CPU PLI模塊中讀取所述命令執(zhí)行結(jié)果。
      11.根據(jù)權(quán)利要求10所述的方法,其特征在于,在所述步驟B2與步驟B3之間還包括B4、所述CPU PLI模塊執(zhí)行暫停仿真器的仿真測試操作;B5、仿真器暫停仿真,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      12.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述步驟B具體包括B6、所述CPU BFM模塊獲取到所述測試命令后,則執(zhí)行所述測試命令,并當(dāng)測試命令執(zhí)行完畢后,將命令執(zhí)行結(jié)果反饋給所述CPU PLI模塊;B7、所述CPU PLI模塊對(duì)所述CPU BFM模塊反饋的命令執(zhí)行結(jié)果進(jìn)行處理,并將處理后的結(jié)果發(fā)送給所述CPU測試命令模塊。
      13.根據(jù)權(quán)利要求9或12所述的方法,其特征在于,所述步驟B還包括當(dāng)所述CPU BFM模塊將命令執(zhí)行結(jié)果反饋給所述所述CPU PLI模塊后,進(jìn)入休眠狀態(tài)。
      14.根據(jù)權(quán)利要求13所述的方法,其特征在于,所述步驟B還包括B8、所述CPU測試命令模塊接收到所述命令執(zhí)行結(jié)果后,執(zhí)行暫停仿真測試的操作;B9、仿真器暫停仿真測試操作,退出仿真執(zhí)行狀態(tài),進(jìn)入用戶控制狀態(tài)。
      全文摘要
      本發(fā)明涉及一種邏輯電路仿真測試方法和系統(tǒng),其核心是用戶通過CPU測試命令模塊能夠?qū)崟r(shí)將測試命令發(fā)送給所述CPU BFM模塊,并調(diào)用仿真器的運(yùn)行命令使仿真器進(jìn)入運(yùn)行狀態(tài);所述CPU BFM模塊獲取到所述測試命令后,在仿真器運(yùn)行狀態(tài)下執(zhí)行所述測試命令,并將命令執(zhí)行結(jié)果反饋給所述CPU測試命令模塊。通過本發(fā)明,CPU能夠?qū)崟r(shí)對(duì)數(shù)字邏輯電路的寄存器進(jìn)行讀寫操作,方便修改被測設(shè)備的配置數(shù)據(jù);并且用戶可以根據(jù)命令執(zhí)行結(jié)果編制控制軟件來訪問被測設(shè)備內(nèi)部的寄存器或RAM,便于實(shí)現(xiàn)自動(dòng)化測試,使測試過程比較靈活,使測試范圍更為充分。
      文檔編號(hào)G06F17/50GK1866263SQ20061005831
      公開日2006年11月22日 申請(qǐng)日期2006年3月1日 優(yōu)先權(quán)日2006年3月1日
      發(fā)明者王進(jìn)成, 易敏, 程智輝, 王萬財(cái) 申請(qǐng)人:華為技術(shù)有限公司
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
      1