UART UVM驗證平台平台搭建總結

2021-10-03 05:39:36 字數 1620 閱讀 3643

tb_top是整個uvm驗證平台的最頂層;tb_top中例化dut,提供時鐘和復位訊號,定義介面以及設定driver和monitor的virual inte***ce,在intial中呼叫run_test() uvm入口函式。在基於uvm_test擴充套件出base_test,根據測試用例再基於base_test擴充套件出各種各樣的test.在擴充套件後的test中call sequence.

在base_test中例項化env, env_config, 列印驗證平台的拓撲結構uvm_top.print_topology,列印輸出註冊在factory中類factory.print()。在環境env的build_phase()階段,例項化agent,reference model,scoreboard,checker,function coverage。在connetion_phase()將各個元件component通過tlm1.0 中的fifo或analysis port連線起來。在agent中,例項化driver,monitor,sequencer,根據uvm_agent的is_active變數決定是否例項化driver和sequencer。在monitor和driver與dut的訊號層打交道,所以需要例化virtual inte***ce. 除此之外,根據情況例化config,用congfig_db 配置相應的引數。從uvm_item_sequence派生成相應的transactions。

整個uvm tb的如何函式是run_test()。uvm是基於事物級的驗證方法學各個元件之間通過port, export, transport, analysis_port, analysis_export,imp(implement) 等來進行通訊。搭建完驗證平台後,大部分工作需要編寫sequence(seq lib).

uvm中有兩種基本類:uvm_transaction,uvm_component(uvm_component其實也是從uvm_objection擴充套件而來)。uvm驗證平台是基於uvm_component構建的樹形結構;uvm_compent包括各種phase: build_phase, connect_phase, end_of_elaboration, start_of_simulation_phase, run_phase, pre_reset_phase, reset_phase, post_reset_phase , pre_congfigure_phase, configure_phase, post_configure_phase, pre_main_phase, main_phase, post_main_phase, pre_shutdown, shutdown_phase, post_shutdown_phase, extract_phase, chect_phase, report_phase, final_pahse等。uvm採用objection機制決定phase執行的時間raising_objection和drop_objection. 將uvm_sequence_item中比較複雜的約束可以放在per_randomize()和post_randomize()中。sequence包含pre_body(), body(), post_body()三個過程。

驗證平台需要自動化完成工作,用perl指令碼搭建基本uvm驗證平台框架,編寫makefile完成**工具和工作設定,以及在makefile中呼叫引數化設定;還可使用$test$plusargs和$value$plusargs傳入相應的引數。

MTK平台搭建

mtk平台搭建 最近公司的專案差不多都做完了,趁新專案還沒來的時候學學東西。從朋友那裡搞來一套 mtk的源 學學 mtk的開發。選擇 mtk是因為,它跟我的工作所用的平台相似,學起來方便一點,另外一點是它可以在 pc上跑,不用自己去買硬體,成本不高。呵呵,從朋友那裡搞來的源 不用硬體,成本就只有時間...

MTK 平台搭建

首先要安裝編譯器ads v1.2,安裝目錄為c program files arm,版本應該是842以上版,如果版本不夠,需要將公升級的軟體包解壓,拷貝到c program files arm adsv1 2的目錄下,注意壓縮的7z工具要安裝442版本。然後需要安裝perl的編譯器,推薦安裝acti...

PHP平台搭建

今天把windows下的php開發平台搭建好了 html css和div開發 還是用的dw 感覺舒服也不想再換了 php開發用的是zend studio 8 網路上有註冊碼可以使用 底層用的是phpnow打包配置的 比較簡單 網上也有很多教程 主要是把虛擬主機配置好 ip設定正確就行了 然後在php...