在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 1555|回复: 5

[求助] systemverilog约束中使用流操作符的问题

[复制链接]
发表于 2020-6-7 21:37:37 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
rand bit [7:0]   pdu[];rand bit [15:0] header;

rand bit [7:0]   payload[];


constraint c_valid {
   {<<byte {pdu} } == {<<byte {header, payload}};
}

为什么在constraint中使用流操作符会报错,除了一个byte一个byte约束外,有没有其它办法实现如上功能
发表于 2020-6-7 22:48:00 | 显示全部楼层
size constaint
 楼主| 发表于 2020-6-7 23:01:37 | 显示全部楼层


具体一点该怎么写?我只是想让header和payload组成pdu,如果按照byte来约束是可以的,就是没这个简洁。约束中用流操作符为什么不行呢? 约束以外的其它地方这么写没有问题

发表于 2020-6-8 23:07:31 | 显示全部楼层
没有使用在constraint中使用流操作,我的原则是constraint能简单就简单一点,这种情况可以考虑post_randomize啊,或者直接使用packer来搞定啊
 楼主| 发表于 2020-6-8 23:46:26 | 显示全部楼层


dtyuzhou 发表于 2020-6-8 23:07
没有使用在constraint中使用流操作,我的原则是constraint能简单就简单一点,这种情况可以考虑post_randomi ...


谢谢,因为不太熟悉constraint的语法要求,以为这样写简洁些
 楼主| 发表于 2020-6-8 23:55:26 | 显示全部楼层


dtyuzhou 发表于 2020-6-8 23:07
没有使用在constraint中使用流操作,我的原则是constraint能简单就简单一点,这种情况可以考虑post_randomi ...


你好,还问一下,就是像这种
class A extends base_packet;
   ...
   rand bit [7:0] pdu[];
   ...
endclass

class B extends A;
    rand [15:0] header;
    rand [7:0]   payload[];
    ...
endclass
如果想要{payload, header}等于pdu,你觉得怎么写最好?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条

×

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-9-22 17:29 , Processed in 0.016547 second(s), 6 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表