在module /chip 中要访问寄存器,就要用到ral model ,对寄存器的测试包含哪些内容呢?
- 检测register复位值是否正确
- 检测寄存器的类型是否和ralf file中规定的一致 (RO/WR/W1C...)
- bit cross test(检测同一register 和不同register的bit之间是否有粘连
生成ral model
ralgen -uvm -l sv -t <tb_name> -o <ral_model_name> <ralf_all_file_name>.ralf
如果需要generate出backdoor Access的代碼,需要加-b這個option,如果需要收Coverage,需要添加-c baF這個option。上面的command中,<ralf_all_file_name>.ralf為input文件,是需要驗的所有RALF檔案構成的一個文件,格式如下:
source ./module_1_name.ralf
source ./moduel_2_name.ralf
system ralf_name {
bytes 4;
block module_1_name_reg_blk = module_1_name_reg_blk @ 'h25CB0000;
block module_2_name_reg_blk = module_2_name_reg_blk @ 'h25CC0000;
}
1. 拿到ralf 中所有reg