原创 systemverilog語法(六)

十六、隨機化 通過隨機化可以通過利用CPU的時間來換取人工檢查的時間,提高效率,提供足夠的激勵。 採用受約束的隨機測試法(CRT)產生測試集:使用隨機的數據流爲DUT產生輸入的測試代碼。改變僞隨機數發生器(PRNG)的

原创 systemverilog語法(十)

二十一、高級接口 虛接口(virtual interface)是一個物理接口的句柄(handle)。 虛接口和對應的通用方法可以把設計和驗證平臺分隔開來,保證其不受設計改動的影響。當我們對一個設計引腳名字進行改動時,無須改動驅

原创 UVM的transaction及filed_automation(三)

Transaction及field_automation Transaction是整個驗證平臺中流動的信息單元。Sequence產生出transaction,通過sequencer把此transaction轉交給driv

原创 C++語法(二)

二、處理數據 1、整型:就是沒有小數部分的數字。不同C++整型使用不同的內存量來存儲整數。 整型short、int、long和long long: 使用sizeof運算符返回類型或變量的長度的辦法。 2、初始化:

原创 systemverilog語法(七)

十七、線程 線程的量級比進程小,其代碼和存儲區可共享,而且所消耗的資源比典型的進程小的多。 1、 線程的使用 1) begin ••••end順序執行、fork•••join並行執行 2) fork•••join、f

原创 UVM的factory機制(二)

Factory機制: 1、 UVM強烈推薦使用uvm_component_utils或者uvm_object_utils宏來註冊。用法: Class A extends uvm_component `uvm_compone

原创 UVM的register model介紹(七)

Register model介紹 問題:期待DUT中的狀態寄存器會對我們的激勵有一定反應。 解決辦法: Task scoreborard::main_phase(uvm_phase phase); …….

原创 systemverilog語法(九)

二十、功能覆蓋率 功能覆蓋率是用來衡量哪些設計特徵已經被測試程序試過的一個指標。 1、 覆蓋率的類型: 1) 代碼覆蓋率:衡量多少代碼已經被執行過。一般都通過調用代碼覆蓋率的命令即可實現。 2) 功能覆蓋率:確保設計

原创 systemverilog語法(八)

十九、面向對象編程的高級技巧 繼承:允許從一個現存的類得到一個新的類並共享其變量和子程序。原始類被稱爲基類或者超類,而新類因爲擴展了基類的功能,被稱爲擴展類。 OOP真正強大的地方在於它可以使你繼承現有類。 1、例:事務基類

原创 UVM的sequence機制(四)

Sequence機制: 在整個UVM驗證平臺中,sequence負責transaction的產生,並通過sequencer發送給driver。要產生不同的transaction,那麼就要在sequence中下功夫。不同的

原创 zynq的學習(一)

一、 可編程SOC設計 可編程片上系統(p-soc):包含嵌入式的軟核/硬核處理器、存儲器和硬件加速器。 硬核處理器:使用硅片上專門的單元實現一個處理器稱爲硬核處理器。硬核處理器會將一些硬核(如:PowerPC)到FPGA芯

原创 UVM的各種port(六)

TLM:transaction Level Modeling UVM中常見的port: 前6個定義參數就是port中的數據流類型,而後3個定義中參數則表示(request-response)中發起請求時傳輸的數據類型和返回

原创 UVM的config機制(五)

Config機制 本質是半個全局變量 Config機制是用來傳遞數據的 比如在case(派生自uvm_test)中build_phase中可如下配置: Uvm_config_db#(int)::set(this,”env.

原创 UVM概述及uvm_component和uvm_object(一)

UVM:Universal Verification Methodology(通用驗證方法學) UVM:是建立在systemverilog平臺上的一個庫,提供了一系列的接口,讓我們能夠更方便的進行驗證。 驗證平臺組成: Dri

原创 zynq的HDMI接口設計

HDMI設計:高清晰度多媒體接口 是一種數字化視頻/音頻接口技術,最高數據傳輸速度爲5Gbps(目前到10Gbps)。 1、 HDMI傳輸原理 HDMI系統的架構由信源(source)和信宿(sink)組成。一個設備上可以