先進先出仿真單元及邏輯驗證仿真系統的製作方法
2023-06-15 17:49:41 1
專利名稱:先進先出仿真單元及邏輯驗證仿真系統的製作方法
技術領域:
本發明涉及計算機仿真技術領域,更具體的說,本發明涉及一種應用於計算機邏輯仿真中的先進先出仿真單元以及邏輯驗證仿真系統。
背景技術:
計算機仿真(CS,Computer Simulation)是一門利用計算機軟體模擬真實環境的技術。目前,採用計算機仿真技術實現邏輯驗證的邏輯驗證仿真系統主要包括仿真測試用例單元、先進先出(FIFO,First In First Out)仿真單元、仿真總線功能模型單元以及被驗證邏輯,其中仿真測試用例單元產生驗證所需的數據激勵,經過FIFO仿真單元緩存,然後發送給仿真總線功能模型單元,再由仿真總線功能模型單元經過接口適配後發送給被驗證邏輯;經被驗證邏輯處理過的數據發送給仿真總線功能模型單元,再經過FIFO仿真單元緩存後發送給仿真測試用例單元進行校驗,最終確認被驗證邏輯是否正確。
一般的,在實現所述FIFO仿真單元時,現有技術通常採用同步或異步FIFO。同步或異步FIFO按照讀寫時鐘工作,對外使用讀寫控制信號和數據線實現與其他模塊的接口。參考圖1,該圖是傳統邏輯驗證仿真系統中的FIFO示意圖。所述FIFO主要根據仿真的寫時鐘信號、讀時鐘信號等控制信號與外界通信,另外所述FIFO與邏輯驗證仿真系統中的仿真測試用例單元之間還包括仿真的寫使能信號、寫數據信號、空信號以及滿信號,與仿真總線功能模型單元之間還包括仿真的讀使能信號、讀數據信號、空信號以及滿信號等。
上述現有技術可實現仿真實際的FIFO電路工作,進一步可實現邏輯驗證仿真,但還存在如下缺點
首先,上述現有技術實現的FIFO仿真單元比較複雜,需要仿真FIFO仿真單元與邏輯驗證仿真系統中其他模塊間接口的大量電路連線及控制信號,特別是對於需要多個FIFO的設計則更為複雜,大大增加了仿真工作量。
例如,如圖2所示,以一個同步FIFO為例,需要仿真以下控制信號rst復位信號;full滿信號;alfull幾乎滿信號;empty空信號;alempty幾乎空信號;rd_en讀使能信號;wr_en寫使能信號;clk工作時鐘;data_in數據輸入信號;data_out數據輸出信號;count存儲空間計數;err錯誤上報信號等,即使較簡單的實現通常也需要仿真FIFO仿真單元與與外部模塊間接口的多個控制信號來實現FIFO自身的狀態上報和讀寫控制。在實現多個FIFO時,仿真處理將更為複雜。
其次,現有技術實現的FIFO仿真單元使用不靈活,不能適應更高的仿真要求。由於現有技術中FIFO仿真單元按照讀寫時鐘工作,每隔一個讀/寫時鐘周期才能完成一次讀/寫操作,無法根據邏輯驗證的測試需要靈活的調整激勵產生的速度,使用上並不靈活。
再次,由於現有技術需仿真FIFO仿真單元與其他模塊間的物理連接,因此,模塊的易用性和可重用性均大大降低。例如,對於一個FIFO就需要仿真設計該FIFO與外部模塊間的物理連接,對於多個FIFO,則需要仿真設計多個FIFO與外部模塊的物理連接,因此,模塊的易用性和可重用性大大降低。
再次,現有技術通過所述FIFO仿真單元實現的邏輯驗證仿真系統還存在效率較低的缺點。由於FIFO仿真單元按照讀寫時鐘工作,每次讀/寫一個地址空間的操作都要佔用一個讀/寫時鐘周期。這樣,必然會佔用一定的仿真時間,降低仿真效率。
發明內容
本發明解決的技術問題是提供一種實現簡單、使用靈活的先進先出仿真單元以及邏輯驗證仿真系統,以進一步提高仿真效率。
為解決上述問題,本發明的先進先出仿真單元,包括仿真緩存裝置,用於仿真緩存先進先出的仿真數據;另外,還包括仿真控制裝置,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出先進先出的仿真數據。
其中,所述預設的先進先出功能任務包括讀任務,如果所述先進先出仿真單元未處於復位狀態,首先判斷所述先進先出仿真單元是否為空,如果不為空,從所述先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述先進先出仿真單元未處於復位狀態,先判斷所述先進先出仿真單元是否為滿,如果不為滿,向所述先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述先進先出仿真單元是否為幾乎滿的狀態值;所述仿真控制裝置包括讀任務模塊,用於控制執行所述讀任務;寫任務模塊,用於控制執行所述寫任務;查詢是否空任務模塊,用於控制執行所述查詢是否空任務;查詢是否滿任務模塊,用於控制執行所述查詢是否滿任務;查詢是否幾乎空任務模塊,用於控制執行所述查詢是否幾乎空任務;查詢是否幾乎滿任務模塊,用於控制執行所述查詢是否幾乎滿任務。
其中,所述仿真緩存裝置包括仿真數據緩存裝置,用於仿真緩存先進先出的仿真數據;仿真狀態寄存器,用於仿真存儲所述先進先出仿真單元的空滿狀態。
相應地,本發明的邏輯驗證仿真系統,包括仿真數據產生驗證單元,用於產生邏輯驗證仿真使用的測試用例,並對待驗證邏輯處理過的測試用例進行驗證,以確認被驗證邏輯是否正確;仿真總線功能模型單元,用於將仿真數據產生驗證單元產生的測試用例數據以被驗證邏輯所約定的特定時序發送給待驗證邏輯;或按與被驗證邏輯約定的特定時序接收被驗證邏輯處理後的數據;另外,還包括發送先進先出仿真單元,用於根據預設的先進先出功能任務將仿真數據產生驗證單元產生的測試用例仿真緩存發送給仿真總線功能模型單元;接收先進先出仿真單元,用於根據預設的先進先出功能任務將仿真總線功能模型單元接收的、經被驗證邏輯處理後的仿真數據緩存返回給仿真數據產生驗證單元進行驗證。
其中,所述發送先進先出仿真單元包括仿真發送緩存裝置,用於仿真緩存所述仿真數據產生驗證單元發來的先進先出的仿真數據;仿真發送控制裝置,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出所述仿真數據產生驗證單元發來的先進先出的仿真數據。
其中,所述接收先進先出仿真單元包括仿真接收緩存裝置,用於仿真緩存所述總線功能模型單元發來的先進先出的仿真數據;仿真接收控制裝置,用於控制執行預設的先進先出功能任務,以向所述仿真接收緩存裝置寫入或讀出所述仿真總線功能模型單元發來的先進先出的仿真數據。
其中,所述預設的先進先出功能任務包括讀任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,首先判斷所述發送或接收先進先出仿真單元是否為空,如果不為空,從所述發送或接收先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,先判斷所述發送或接收先進先出仿真單元是否為滿,如果不為滿,向所述發送或接收先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎滿的狀態值;所述仿真發送控制裝置和所述仿真接收控制裝置均包括讀任務模塊,用於控制執行所述讀任務;寫任務模塊,用於控制執行所述寫任務;查詢是否空任務模塊,用於控制執行所述查詢是否空任務;查詢是否滿任務模塊,用於控制執行所述查詢是否滿任務;查詢是否幾乎空任務模塊,用於控制執行所述查詢是否幾乎空任務;查詢是否幾乎滿任務模塊,用於控制執行所述查詢是否幾乎滿任務。
其中,所述仿真發送緩存裝置包括
仿真發送數據緩存單元,用於仿真緩存所述仿真數據產生驗證單元發來的、待發送的先進先出的測試用例數據;仿真發送狀態寄存器,用於仿真存儲所述發送先進先出仿真單元的空滿狀態。
其中,所述仿真接收緩存裝置包括仿真接收數據緩存單元,用於仿真緩存所述仿真總線功能模型單元發來的、經待驗證邏輯處理過的先進先出的仿真數據;仿真接收狀態寄存器,用於仿真存儲所述接收先進先出仿真單元的空滿狀態。
與現有技術相比,本發明具有以下有益效果首先,本發明相比現有技術實現更簡單,FIFO仿真單元與周邊模塊無需仿真物理連線及控制信號,大大縮減了仿真工作量。
其次,本發明實現的FIFO仿真單元相比現有技術使用更靈活,可以根據需要便捷的設置FIFO仿真單元的讀寫速度,且由於無需仿真FIFO仿真單元與外部模塊的對外物理連線及控制信號,大大提高了FIFO仿真單元的易用性和可重用性。
再次,本發明實現的邏輯驗證仿真系統中FIFO仿真單元寫入或讀出數據無需時鐘控制,對FIFO仿真單元的讀寫不佔用仿真時間,因此,可大大提高邏輯驗證仿真系統的仿真效率。
圖1是現有技術邏輯驗證仿真系統中的FIFO示意圖;圖2是現有技術一種FIFO仿真單元涉及的控制信號示意圖;圖3是本發明FIFO仿真單元示意圖;圖4是圖3所示仿真控制裝置的一種組成示意圖;
圖5是本發明邏輯驗證仿真系統的組成示意圖;圖6是本發明邏輯驗證仿真系統中向FIFO仿真單元寫入數據的寫過程流程圖;圖7是本發明邏輯驗證仿真系統中從FIFO仿真單元讀出數據的讀過程流程圖。
具體實施例方式
在邏輯驗證仿真中通常需要採用先進先出仿真單元作為速率不匹配的接口電路處理的仿真數據的中間緩存。傳統的先進先出仿真單元按照時鐘周期進行數據讀寫操作,在實際操作中極不方便,本發明的核心即在於通過預設先進先出仿真單元執行的先進先出功能任務,進而在需要時執行相應的先進先出功能任務即可實現先進先出單元的相應功能,可避免現有技術通過時鐘周期控制讀寫操作靈活性較差的缺點,從而提高邏輯仿真驗證的效率。
參考圖3,該圖是本發明先進先出仿真單元的組成框圖。本發明的先進先出仿真單元主要包括仿真緩存裝置11和仿真控制裝置12;其中所述仿真緩存裝置11,主要用於仿真緩存先進先出的仿真數據以及所述先進先出單元空滿狀態,其實現的功能與一個靜態存儲器功能相當,與一個FIFO單元類似,其存儲的主要是需要中間緩存的數據(本發明中即邏輯驗證的仿真數據)以及FIFO仿真的存儲狀態數據(也即FIFO的狀態數據,如空滿狀態等),還請參考圖3,具體實現時,本發明所述仿真緩存裝置11可進一步包括仿真數據緩存裝置111,用於仿真緩存先進先出的仿真數據,也即緩存邏輯驗證所需的仿真數據;仿真狀態寄存器112,用於仿真存儲所述先進先出仿真單元的空滿狀態。
另外,所述仿真控制裝置12,主要用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出先進先出的仿真數據。具體實施時,根據先進先出單元的功能,可預設如下的先進先出功能任務讀任務,如果所述先進先出仿真單元未處於復位狀態,首先判斷所述先進先出仿真單元是否為空,如果不為空,從所述先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述先進先出仿真單元未處於復位狀態,先判斷所述先進先出仿真單元是否為滿,如果不為滿,向所述先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述先進先出仿真單元是否為幾乎滿的狀態。
上述僅列舉了先進先出仿真單元的基本功能任務,實際實現時,還可預設其他的先進先出功能任務,由於無法窮舉,且不是本發明的關鍵點,這裡不再細述。
參考圖4所示,為控制執行上述先進先出功能任務,本發明所述仿真控制裝置12相應包括如下組成模塊讀任務模塊121、寫任務模塊122、查詢是否空任務123、模塊查詢是否滿任務模塊124、查詢是否幾乎空任務模塊125、查詢是否滿任務模塊126;其中所述讀任務模塊121,用於控制執行所述讀任務;所述寫任務模塊122,用於控制執行所述寫任務;所述查詢是否空任務模塊123,用於控制執行所述查詢是否空任務;所述查詢是否滿任務模塊124,用於控制執行所述查詢是否滿任務;所述查詢是否幾乎空任務模塊125,用於控制執行所述查詢是否幾乎空任務;所述查詢是否幾乎滿任務模塊126,用於控制執行所述查詢是否幾乎滿任務。
下面以優選的具體實施例進一步進行說明。本優選實施例中使用Verilog語言設計所述FIFO仿真單元,不使用仿真的物理連線和控制信號,而是通過調用讀/寫FIFO任務和查詢FIFO狀態任務等FIFO功能任務作為外部模塊與FIFO仿真單元之間的接口,不需要時鐘控制實現FIFO功能,可提高仿真效率。
具體的,Verilog語言標準中所規定的關鍵字TASK可用於預設所述的FIFO功能任務,在需要讀寫數據或查詢FIFO狀態時,通過調用相應的TASK即可實現FIFO的相應功能,對於基本的FIFO功能任務簡單說明如下1、讀FIFO任務如果FIFO仿真單元不處於復位狀態,先判斷FIFO仿真單元是否空,如果不空,從FIFO仿真單元當前地址中讀出數據(數據由出口參數輸出),然後讀地址加一。
Task read_fifo;//任務聲明Output[7:0]data_out;//出口參數2、寫FIFO任務如果FIFO仿真單元不處於復位狀態,先判斷FIFO仿真單元是否滿,如果不滿,向FIFO仿真單元當前地址中寫入數據(數據由入口參數輸入),然後寫地址加一。
Task write_fifo;//任務聲明input[7:0]data_in;//入口參數3、查詢FIFO是否空任務將FIFO仿真單元是否空的狀態寄存器的值由出口參數輸出。
Task empty_status;//任務聲明Output empty_flag;//出口參數4、FIFO是否滿任務將FIFO仿真單元是否滿的狀態寄存器的值由出口參數輸出。
Task full_status;//任務聲明Output full_flag;//出口參數5、FIFO是否幾乎空任務將FIFO仿真單元是否幾乎空的狀態寄存器的值由出口參數輸出。
Task alempty_status;//任務聲明Output alempty_flag;//出口參數6、查詢FIFO是否幾乎滿任務將FIFO仿真單元是否幾乎滿的狀態寄存器的值由出口參數輸出。
Task alfull_status;//任務聲明Output alfull_flag;//出口參數。
通過調用上述預設的先進先出功能任務可實現FIFO仿真單元的各種功能,例如通過調用查詢FIFO空滿狀態的相應查詢任務完成傳統FIFO空滿指示信號的功能。通過調用讀寫任務完成向FIFO讀出或寫入數據的功能。
需要說明的是,本優選實施例中FIFO仿真單元不限於預設上述基本的FIFO功能任務,還可根據用戶需要自行定義其他的任務。另外本實施例以Verilog語言設計的先進先出仿真單元進行了描述,需要說明的是,本發明FIFO仿真單元也可採用其他語言如VHDL等語言實現,由於具體的語言實現不是本發明的關鍵點,這裡不再進行詳細描述。
另外,本發明中還可在FIFO功能任務調用之間根據需要插入一定的時延,控制FIFO讀寫或查詢速度,以獲得最高的效率。
參考圖5,本發明上述實現的先進先出仿真單元,可進一步應用在邏輯驗證仿真系統中,以提高邏輯驗證仿真系統的靈活性和仿真效率,具體的,本發明實現的邏輯驗證仿真系統包括仿真數據產生驗證單元21、仿真總線功能模型單元22、發送先進先出仿真單元23、接收先進先出仿真單元24。其中所述仿真數據產生驗證單元21,用於產生邏輯驗證仿真使用的測試用例,並對待驗證邏輯處理過的測試用例進行驗證,以確認待驗證邏輯是否正確,具體實現時,可根據不同的邏輯驗證需求設計不同的測試用例;所述仿真總線功能模型單元22,用於將所述仿真數據產生驗證單元21產生的測試用例數據以待驗證邏輯所約定的特定時序發送給待驗證邏輯;或按與待驗證邏輯約定的特定時序接收待驗證邏輯處理後的數據;所述發送先進先出仿真單元23,作為仿真數據產生驗證單元21和仿真總線功能模型單元22之間傳送的數據的中間緩存,根據預設的先進先出功能任務將仿真數據產生驗證單元21產生的測試用例仿真緩存發送給仿真總線功能模型單元22;所述接收先進先出仿真單元24,同樣作為仿真數據產生驗證單元21和仿真總線功能模型單元22之間傳送的數據的中間緩存,用於根據預設的先進先出功能任務將仿真總線功能模型單元22接收的、經被驗證邏輯處理後的仿真數據緩存返回給仿真數據產生驗證單元21進行驗證。
根據上述本發明先進先出仿真單元原理,本發明所述邏輯驗證仿真系統中所述發送先進先出仿真單元23可進一步包括仿真發送緩存裝置231和仿真發送控制裝置232,其中所述仿真發送緩存裝置231,用於仿真緩存所述仿真數據產生驗證單元發來的先進先出的仿真數據,另外還可緩存所述發送先進先出仿真單元空滿狀態等;
所述仿真發送控制裝置232,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出所述仿真數據產生驗證單元發來的先進先出的仿真數據。
另外,所述接收先進先出仿真單元24可進一步包括仿真接收緩存裝置241和仿真接收控制裝置242,其中所述仿真接收緩存裝置241,用於仿真緩存所述總線功能模型單元22發來的先進先出的仿真數據,同前,所述仿真接收緩存裝置還可緩存所述接收先進先出仿真單元的空滿狀態等;所述仿真接收控制裝置242,用於控制執行預設的先進先出功能任務,以向所述仿真接收緩存裝置寫入或讀出所述仿真總線功能模型單元22發來的先進先出的仿真數據。
同樣的,根據本發明上述先進先出仿真單元設計原理,本發明邏輯驗證仿真單元中所述預設的先進先出功能任務主要包括讀任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,首先判斷所述發送或接收先進先出仿真單元是否為空,如果不為空,從所述發送或接收先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,先判斷所述發送或接收先進先出仿真單元是否為滿,如果不為滿,向所述發送或接收先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎滿的狀態值;而所述仿真發送控制裝置231和所述仿真接收控制裝置241進一步包括如下模塊讀任務模塊,用於控制執行所述讀任務;寫任務模塊,用於控制執行所述寫任務;查詢是否空任務模塊,用於控制執行所述查詢是否空任務;查詢是否滿任務模塊,用於控制執行所述查詢是否滿任務;查詢是否幾乎空任務模塊,用於控制執行所述查詢是否幾乎空任務;查詢是否幾乎滿任務模塊,用於控制執行所述查詢是否幾乎滿任務。
不難理解,還可根據需求預設其他的先進先出功能任務,相應還需在所述仿真發送控制裝置232和所述仿真接收控制裝置242設置相應的模塊。
下面具體說明所述仿真發送緩存裝置231,本發明中對於所述仿真發送緩存裝置231可進一步包括仿真發送數據緩存單元,所述仿真發送數據緩存單元主要用於仿真緩存所述仿真數據產生驗證單元21發來的、待發送的先進先出的測試用例數據;仿真發送狀態寄存器,所述仿真發送狀態寄存器主要用於仿真存儲所述發送先進先出仿真單元的空滿狀態。
同樣的,本發明所述仿真接收緩存裝置241可進一步包括仿真接收數據緩存單元,所述仿真接收數據緩存單元主要用於仿真緩存所述仿真總線功能模型單元22發來的、經待驗證邏輯處理過的先進先出的仿真數據;仿真接收狀態寄存器,所述仿真接收狀態寄存器主要用於仿真存儲所述接收先進先出仿真單元的空滿狀態。
上述對於發送先進先出仿真單元以及接收先進先出仿真單元的具體組成可參考前述先進先出仿真單元的敘述,這裡不再贅述。
下面簡單說明上述邏輯驗證仿真系統主要工作原理。
參考圖6,該圖是上述邏輯驗證仿真系統中向FIFO仿真單元寫入數據的寫過程。具體的,當仿真數據產生驗證單元21產生激勵數據後,先調用查詢FIFO是否滿任務查詢FIFO仿真單元是否滿,如果滿,則等待若干時間後再次查詢;如果不滿,則調用寫任務將數據寫入FIFO仿真單元。
參考圖7,該圖是上述邏輯驗證仿真系統中從FIFO仿真單元讀出數據的讀過程。具體的,當仿真總線功能模型單元需要發送數據時,先調用查詢FIFO是否空任務查詢FIFO是否空,如果空,則等待若干時間後再次查詢;如果不空,則調用讀任務將數據讀出FIFO仿真單元,發送到與仿真總線功能模型單元連接的總線上。
本發明無需時鐘,以任務調用作為與其它模塊的接口,實現簡單,FIFO仿真單元與周邊模塊無需物理連線和控制信號,大大縮減了仿真工作量;另一方面,本發明可以根據需要便捷的設置FIFO仿真單元的讀寫速度,使用靈活,沒有對外物理連線,提高了易用性和可重用性;而且由於無需時鐘控制讀寫操作,所以本發明在邏輯驗證仿真系統中對FIFO仿真單元的讀寫不佔用仿真時間,大大提高了效率。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
權利要求
1.一種先進先出仿真單元,用於計算機邏輯仿真,包括仿真緩存裝置,用於仿真緩存先進先出的仿真數據;其特徵在於,還包括仿真控制裝置,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出先進先出的仿真數據。
2.根據權利要求1所述的先進先出仿真單元,其特徵在於,所述預設的先進先出功能任務包括讀任務,如果所述先進先出仿真單元未處於復位狀態,首先判斷所述先進先出仿真單元是否為空,如果不為空,從所述先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述先進先出仿真單元未處於復位狀態,先判斷所述先進先出仿真單元是否為滿,如果不為滿,向所述先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述先進先出仿真單元是否為幾乎滿的狀態值;所述仿真控制裝置包括讀任務模塊,用於控制執行所述讀任務;寫任務模塊,用於控制執行所述寫任務;查詢是否空任務模塊,用於控制執行所述查詢是否空任務;查詢是否滿任務模塊,用於控制執行所述查詢是否滿任務;查詢是否幾乎空任務模塊,用於控制執行所述查詢是否幾乎空任務;查詢是否幾乎滿任務模塊,用於控制執行所述查詢是否幾乎滿任務。
3.根據權利要求1或2所述的先進先出仿真單元,其特徵在於,所述仿真緩存裝置包括仿真數據緩存裝置,用於仿真緩存先進先出的仿真數據;仿真狀態寄存器,用於仿真存儲所述先進先出仿真單元的空滿狀態。
4.一種邏輯驗證仿真系統,包括仿真數據產生驗證單元,用於產生邏輯驗證仿真使用的測試用例,並對待驗證邏輯處理過的測試用例進行驗證,以確認被驗證邏輯是否正確;仿真總線功能模型單元,用於將仿真數據產生驗證單元產生的測試用例數據以被驗證邏輯所約定的特定時序發送給待驗證邏輯;或按與被驗證邏輯約定的特定時序接收被驗證邏輯處理後的數據;其特徵在於,還包括發送先進先出仿真單元,用於根據預設的先進先出功能任務將仿真數據產生驗證單元產生的測試用例仿真緩存發送給仿真總線功能模型單元;接收先進先出仿真單元,用於根據預設的先進先出功能任務將仿真總線功能模型單元接收的、經被驗證邏輯處理後的仿真數據緩存返回給仿真數據產生驗證單元進行驗證。
5.根據權利要求4所述的邏輯驗證仿真系統,其特徵在於,所述發送先進先出仿真單元包括仿真發送緩存裝置,用於仿真緩存所述仿真數據產生驗證單元發來的先進先出的仿真數據;仿真發送控制裝置,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出所述仿真數據產生驗證單元發來的先進先出的仿真數據。
6.根據權利要求4所述的邏輯驗證仿真系統,其特徵在於,所述接收先進先出仿真單元包括仿真接收緩存裝置,用於仿真緩存所述總線功能模型單元發來的先進先出的仿真數據;仿真接收控制裝置,用於控制執行預設的先進先出功能任務,以向所述仿真接收緩存裝置寫入或讀出所述仿真總線功能模型單元發來的先進先出的仿真數據。
7.根據權利要求5或6所述的邏輯驗證仿真系統,其特徵在於,所述預設的先進先出功能任務包括讀任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,首先判斷所述發送或接收先進先出仿真單元是否為空,如果不為空,從所述發送或接收先進先出仿真單元當前地址中讀出數據,然後讀地址加一;寫任務,如果所述發送或接收先進先出仿真單元未處於復位狀態,先判斷所述發送或接收先進先出仿真單元是否為滿,如果不為滿,向所述發送或接收先進先出仿真單元當前地址中寫入數據,然後寫地址加一;查詢是否空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為空的狀態值;查詢是否滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為滿的狀態值;查詢是否幾乎空任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎空的狀態值;查詢是否幾乎滿任務,查詢並輸出所述發送或接收先進先出仿真單元是否為幾乎滿的狀態值;所述仿真發送控制裝置和所述仿真接收控制裝置均包括讀任務模塊,用於控制執行所述讀任務;寫任務模塊,用於控制執行所述寫任務;查詢是否空任務模塊,用於控制執行所述查詢是否空任務;查詢是否滿任務模塊,用於控制執行所述查詢是否滿任務;查詢是否幾乎空任務模塊,用於控制執行所述查詢是否幾乎空任務;查詢是否幾乎滿任務模塊,用於控制執行所述查詢是否幾乎滿任務。
8.根據權利要求7所述的邏輯驗證仿真系統,其特徵在於,所述仿真發送緩存裝置包括仿真發送數據緩存單元,用於仿真緩存所述仿真數據產生驗證單元發來的、待發送的先進先出的測試用例數據;仿真發送狀態寄存器,用於仿真存儲所述發送先進先出仿真單元的空滿狀態。
9.根據權利要求7所述的邏輯驗證仿真系統,其特徵在於,所述仿真接收緩存裝置包括仿真接收數據緩存單元,用於仿真緩存所述仿真總線功能模型單元發來的、經待驗證邏輯處理過的先進先出的仿真數據;仿真接收狀態寄存器,用於仿真存儲所述接收先進先出仿真單元的空滿狀態。
全文摘要
本發明公開一種計算機邏輯仿真中應用的先進先出仿真單元,該先進先出仿真單元包括仿真緩存裝置,用於仿真緩存先進先出的仿真數據;另外還包括仿真控制裝置,用於控制執行預設的先進先出功能任務,以從所述仿真緩存裝置寫入或讀出先進先出的仿真數據。另外,本發明還公開了一種相應的邏輯驗證仿真系統。由於不需根據時鐘控制進行先進先出單元數據緩存操作,因此,本發明實現簡單,使用方便,可進一步提高仿真效率。
文檔編號G06F17/50GK1773513SQ20041008893
公開日2006年5月17日 申請日期2004年11月9日 優先權日2004年11月9日
發明者陳樂 申請人:華為技術有限公司