| |
使用Vmm open source 必须在vcs的编译选项中加入-ntb_opts rvm 或 +incdir+${VMM_HOME}/sv
Vcs +incdir+${VMM_HOME}/sv +incdir+${VMM_HOME}/sv/vmm_ral.sv ....
生成ral文件步骤:
1.创建ralf描述(register abstraction layer file)
模块Ralf 描述
Block blk_name {
...
}
系统的ralf描述
System sys_name{
...
Block blk_name ..
System subsys_name ..
}
寄存器由各个域组成,
Ralf description of register and memories in a block
Block blk_name {
...
Register reg_name
Register reg_name..
..
Memory mem_name..
}
Ralf description of fields in a register
Register reg_name {
...
Field field_name...
Field field_name..
}
Inlined RALF Description
system sys_name {
...
block blk_name {
...
register reg_name {
...
field fld_name {
...
}
}
...
memory mem_name {
...
}
}
}
Hierarchical RALF Description
field fld_name{
...
}
register reg_name{
...
field fld_name;
}
memory mem_name {
...
4-5
Register and Memory Specification
}
block blk_name {
...
register reg_name;
memory mem_name;
}
system sys_name {
...
block blk_name;
}
Field Class Properties in a Block Abstraction Class
block blk_name {
register reg_name {
field fld1;
field fld2;
}
register xyz {
field fld2;
}
}
Yields:
class ral_block_blk_name;
...
vmm_ral_field fld1, reg_name_fld1;
vmm_ral_field reg_name_fld2;
...
vmm_ral_field xyz_fld2
endclass