|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
自己拿来练手的。
interrupt有16个interrupt source(0~15)
每个source有3bit的interrupt priority(0~7,越低优先级越高)
每个source有一个soft_int_en, 可以选soft_int还是hardware interrupt
每个source有一个mask,如果为一就不会响应这个source的interrupt
总的有一个mask,如果为一就不会有任何interrupt产生。
总的还有一个nest_en,如果为0,就不会在interrupt响应期间产生新的interrupt, 如果为1,就允许产生nested interrupt
总的还有一个nest_level,如果nest 的interrupt数目小于nest level,就允许产生新的interrupt,否则就不会有新的interrupt
我的想法是
class int_source;
rand bit int_src;
rand bit soft_int_src;
rand bit soft_int_en;
rand bit mask;
rand bit [2:0] priority;
endclass
class int_packet;
rand int_source int_src;
rand bit general_mask;
rand bit nest_en;
rand bit nest_level;
endclass
这样写有问题吗?还是有更好的写法?准备用UVM testbench。 |
|