(1)systemverilo | uvm | 精講ral暫存器模型基礎 (qq.com)
1.暫存器與暫存器模型簡介
(1) 暫存器(register)是數字系統中非常重要的部件,它常被用於數字系統的功能控制(control)和狀態(status)顯示。
(2) 暫存器模型(ral, register abstract layer)是一組高度抽象的類,用來對dut中具有位址對映的暫存器和儲存器進行建模;
(3) 暫存器模型,要能模擬任意數量的暫存器域操作、***以及不同暫存器間的互動作用.
2. 暫存器模型的作用(為什麼對暫存器建模?)
(1)暫存器建模要做的事情就是在軟體的世界裡面復刻rtl中的暫存器.既然是面向軟體世界做的事情,自然就是為軟體所用,要麼方便軟體觀測,要麼方便軟體使用。這裡的軟體指的是整個驗證環境所構造出來的物件導向的世界。有了暫存器模型,軟體世界中的參考模型(reference model)可以很方便的獲取到當前rtl的功能配置和狀態,我們也可以很方便的收集到對暫存器各個域段甚至位的測試覆蓋情況等等。
(2)暫存器模型充當驗證平台(尤其是uvm_component)與dut之間暫存器訪問操作的橋梁,簡化了暫存器訪問的流程.比如,reference model裡面需要讀取暫存器的值,在沒有暫存器模型之前,需要考慮怎麼在reference model裡啟動乙個sequence以及怎麼將sequence讀回的值返回給reference model.
(3)暫存器模型完成啟動sequence以及將讀結果返回等操作;
(4)暫存器模型的本質是重新定義了驗證平台與dut的寄存
器介面;
3.暫存器模型的結構(含層次化的regmodel&file)
暫存器模型就是一些類的集合,這些類模擬了dut中的儲存器、暫存器以及暫存器、儲存器對映行為.這些類用於產生特定激勵,進行功能檢查.
3.2 hierarchical regmodel(含regfile及sub_regmodel)
3.3 hierarchical regmodel實現方式1(含regfile及sub_regmodel, multi_reg_field)
3.4 hierarchical regmodel實現方式2(含regfile及sub_regmodel, multi_reg_field)
4. regmodel的生成
由於專案中暫存器數量多,通常使用工具產生和維護uvm暫存器模型,常見工具如下:
(1) synopsys vcs自帶的ralgen可以產生uvm暫存器模型;
(2) paradigm works公司開源的regworks spec2reg;
5. register model的並行訪問
(1) 多個並行執行的執行緒可同時訪問register model,但是當訪問同乙個register時,內部會對這些訪問進行序列處理;
(2) 每乙個register內都有乙個旗語,用於確保同一時刻只有乙個執行緒對其進行讀寫操作; 如果乙個執行緒在執行register訪問操作的過程中被顯式kill,有必要通過呼叫uvm_reg::reset()函式release該register的旗語;
UVM暫存器篇之五 暫存器模型的整合(下)
本文 前門訪問 利用暫存器模型,我們可以更方便地對暫存器做操作。接下來我們分別兩種訪問暫存器的方式,即前門訪問 front door 和後門訪問 back door 前門訪問,顧名思義指的是在暫存器模型上做的讀寫操作,最終會通過匯流排uvc來實現匯流排上的物理時序訪問,因此是真實的物理操作 而後門訪...
暫存器(通用暫存器)
因為學習使用的是王爽的 組合語言 第3版 因此也只能提到8086cpo的暫存器。對於其他而言,原理都是相通的。對於8086暫存器,有14個暫存器,主要是 ax bx cx dx si di sp bp ip cs ss ds es psw。一 通用暫存器 8086的通用暫存器有ax bx cx dx...
暫存器,標誌暫存器
涉及硬體傳輸資料的,往往包含以下內容 1.資料傳輸引腳 資料放 2.控制引腳 怎麼控制 3.狀態引腳 結果如何 暫存器相當於cpu內部的儲存單元,可能是連續排列,相當於 c語言中的陣列。一 8個通用暫存器 16 bit accumulate axah alr0 count cxch clr1 dat...