UVM register layer classes用于為DUV中的memory-mapped寄存器和內(nèi)存的read/write操作創(chuàng)建一個(gè)high-level和object-oriented的模型。
這種抽象機(jī)制允許驗(yàn)證環(huán)境和測試用例從模塊級(jí)遷移到系統(tǒng)級(jí),而無需進(jìn)行任何修改。寄存器模型還可以在寄存器之間移動(dòng)唯一命名的字段,而不需要在驗(yàn)證環(huán)境或測試用例中進(jìn)行修改(因?yàn)?strong>寄存器模型是按照字符串索引操作的,而不是按照字段offset操作的)。
UVM還提供了一個(gè)寄存器測試sequence庫,你可以用來驗(yàn)證DUV中registers和memories的功能。
register model通常也是層次結(jié)構(gòu)的。Blocks可以包含registers、register files和memories,以及其他Blocks。
register layer classes支持front-door a和back-door訪問。
由于register layer classes涉及眾多的細(xì)節(jié),所以通常是由model generator從設(shè)計(jì)中的registers和memories的規(guī)格生成的。
register model 是一個(gè)register block的實(shí)例,它可以包含任意數(shù)量的registers、register files、memories和其他blocks。一個(gè)block通常對(duì)應(yīng)于一個(gè)設(shè)計(jì),它有自己的處理器接口,地址解碼以及memory-mapped registers和memories。每個(gè)register file包含任意數(shù)量的registers和其他register files。每個(gè)寄存器包含任意數(shù)量的字段(fields),它們反映(mirror)了硬件中相應(yīng)域段的值。
如果一個(gè)memories作為設(shè)計(jì)模塊地址空間的一部分通過寄存器模型進(jìn)行訪問,那么該memories被認(rèn)為是寄存器模型的一部分。
所有的數(shù)據(jù)域段都被建模為fields。fields代表一組連續(xù)的比特,完全包含在一個(gè)register中。
一個(gè)register可以橫跨多個(gè)地址,重復(fù)的結(jié)構(gòu)可以被建模為register arrays, register file arrays或者block arrays。下圖顯示了一個(gè)包含兩個(gè)寄存器(分別有2個(gè)和3個(gè)字段)、一個(gè)內(nèi)部存儲(chǔ)器和一個(gè)外部存儲(chǔ)器的設(shè)計(jì)。
相應(yīng)的寄存器模型如下:
當(dāng)使用 register model時(shí),fields、registers和memory是通過其相應(yīng)的抽象類中的讀寫方法(不通過地址,而是通過字符串名稱)來訪問的。寄存器模型通過適當(dāng)?shù)目偩€驅(qū)動(dòng)將這些抽象的訪問變成特定地址的實(shí)際讀寫。
例 如,上圖所示的CONFIG寄存器中的字段ADDR可以通過CODEC.CONFIG.ADDR.read() 方 法 訪 問 。同 樣 , BFR 存 儲(chǔ) 器 中 的 位 置“7”可以用CODEC.BFR.write(7,value)方法訪問。
-
寄存器
+關(guān)注
關(guān)注
31文章
5433瀏覽量
124371 -
接口
+關(guān)注
關(guān)注
33文章
8993瀏覽量
153685 -
模型
+關(guān)注
關(guān)注
1文章
3517瀏覽量
50380
原文標(biāo)題:UVM寄存器模型概述
文章出處:【微信號(hào):芯片驗(yàn)證工程師,微信公眾號(hào):芯片驗(yàn)證工程師】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
Object-Oriented Python入門編程(一):認(rèn)識(shí)類別
Object-Oriented Programming in
C++ Network Programming (Volum

基于POOSL 的系統(tǒng)性能建模與性能分析
High-Level Modeling and Synthe

Research on the Approach to As
high-level protocol for CAN-bu
TPS65192,pdf(9 Channel Level S
什么是CHILL (CCITT High Level Lan
Getting Started with Vivado High-Level Synthesis

如何在HIGH LEVEL SYNTHESIS之前查找代碼問題的資料說明

高層次綜合技術(shù)(High-level synthesis)的概念

評(píng)論