001_uvm_ralgen_ug(Generating a RAL Model)

生成RAL model命令:
ralgen [options] -t topname -I dir -uvm {filename.ralf}

  • -t topname
    RALF文件中顶层模块或者系统的名称,生成的RAL model文件名称为ral_topname.sv
  • -uvm
    声明是UVM方法学
  • -I dir(注意是i的大写,不是L的小写)
    ralgen搜索源文件的可选目录列表
  • filename.ralf
    .ralf后缀不是必须的。对于多个文件的情况,指定顶层的RALF文件,在这个文件通过source来包含其他文件。
    $VCS_HOME/doc/examples/vmm/std_lib/vmm_subenv/oc_ethernet/dual_eth.ralf

options

  • -b
    为声明了完整hdl_path的reg和mem生成后门访问代码
  • -c a
  • -c b
  • -c f
    -c表示coverage,上面三个依次表示“Address Map” “Register Bits” “Field Values”功能覆盖率模型
  • -e
    为每个抽象类生成空约束
  • -f <filename>
    在一个文件里声明ralgen选项

生成Ral model到多个文件

命令行选项 -F
可以生成多个独立的寄存器模型文件,一个子模块(ralf文件中的block)一个文件,这些独立的寄存器模型文件可以在子模块的验证环境中重用。
对于最顶层模块(ralf文件中最顶层的block或者system),生成一个顶层用的ral_blkname.sv文件,用`include命令将生成的子模块文件包含进来。
格式如下:
ralgen -uvm -t sys sys.ralf -F
其中顶层system sys下有几类block blk1,blk2,blk3...,会生成几个ral_block文件ral_blk1.sv,ral_blk2.sv,ral_blk3.sv...,同时生成ral_sys.sv文件,在ral_sys.sv文件中`indclude 这几个ral_block文件。

注意:即使是ralf文件中的system对应生成到ral文件中的顶层类也是继承自uvm_reg_block,这一点跟vmm不一样。

命令行选项 -P
与-F选项不同的是,生成的子模块文件名为ral_blk1_pkg.sv,ral_blk2_pkg.sv,ral_blk3_pkg.sv...顶层名为ral_sys_pkg.sv。文件是package形式。

命令行选项 -T
这个选项一定要和-F或者-P一起使用,只生成-t指定的文件。比如ralgen -uvm -t sys sys.ralf -F -T命令只会生成ral_sys.sv文件,尽管sys下有子模块,但不生成ral_blk1.sv,ral_blk2.sv...等文件。

命令行选项 +prunable
这个选项一定要和-F或者-P一起使用,对于子模块的ral_blk1.sv,ral_blk2.sv...而言,没有区别,区别在于ral_sys.sv文件中加入了RAL_PRUNE_blk1,RAL_PRUNE_blk2的宏,把关于ral_blk1,ral_blk2类相关的代码隔开了。
这么做的目的是:对于大型SoCs,顶层的一些测试可能并不需要包含所有子模块的ral_model,用宏隔开,可以灵活的修改,节省编译时间和仿真时间。

后门类

ralgen提供两种方式生成后门。前提是在ralf文件的定义里指定了后门访问的RTL路径

  • Cross-module references based backdoors(XMR's)
    ralgen的-b选项生成一组write()/read()接口访问的类(扩展自uvm_reg_backdoor,bkdr后缀)

  • DPI-C based
    ralgen默认的后门选项。在ral_block的类中的build()里register调用add_hdl_path()

如果有bkdr类(ralgen -b),后门访问通过XMR方式,如果没有通过DPI-C方式,XMR优先级更高,DPI-C是默认方式。

命令选项-gen_vif_bkdr
-b选项生成的后门不能封装到package,因为HDL XMRs在生成的bkdr类里面,如果要想封装成package,加上-gen_vif_bkdr选项,这样会额外生成一个interface文件,HDL路径在这个interface文件里,而bkdr类中会声明interface,然后bkdr类的read,write是通过调用interface里生成的read write任务来访问的。
这个选项必须在有-b选项才可以被使用。
如果-b 和-P同时被使用,则必须也加上这个选项。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容