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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 3417|回复: 10

[原创] 求解,随机变量约束关系式

[复制链接]
发表于 2023-3-8 16:31:28 | 显示全部楼层 |阅读模式

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

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

x
3个随机变量 a,b,c;

约束关系写法:   80 / a >= b / 4 * c;
仿真发现无法按此关系随机。有什么办法解决吗,
发表于 2023-3-8 16:56:06 | 显示全部楼层
看起来可以呀,报啥错
 楼主| 发表于 2023-3-8 17:02:38 | 显示全部楼层


zhuimeng2020 发表于 2023-3-8 16:56
看起来可以呀,报啥错


编译和仿真都没报错,单纯是随机出来的值不符合这个公式
发表于 2023-3-9 10:08:15 | 显示全部楼层
改成320>=a*b*c;约束求解过程也是右结合规则,且除法存在小数位取点导致的精度丢失问题,80/a和b/4这两个除法运算得换算成乘法;另外,你需要a和b分别可以被80和4整除的话,需要额外添加b[1:0]==0;和a%80==0;这两个约束
 楼主| 发表于 2023-3-10 09:32:11 | 显示全部楼层


qsh123_123 发表于 2023-3-9 10:08
改成320>=a*b*c;约束求解过程也是右结合规则,且除法存在小数位取点导致的精度丢失问题,80/a和b/4这两个除 ...


试下一下,还是没按照这个关系式进行约束
 楼主| 发表于 2023-3-10 09:43:12 | 显示全部楼层


qsh123_123 发表于 2023-3-9 10:08
改成320>=a*b*c;约束求解过程也是右结合规则,且除法存在小数位取点导致的精度丢失问题,80/a和b/4这两个除 ...


根据绿皮书说明,多个随机变量之间关系式应该是没问题的

                               
登录/注册后可看大图

 楼主| 发表于 2023-3-10 10:06:29 | 显示全部楼层


qsh123_123 发表于 2023-3-9 10:08
改成320>=a*b*c;约束求解过程也是右结合规则,且除法存在小数位取点导致的精度丢失问题,80/a和b/4这两个除 ...



                               
登录/注册后可看大图

 楼主| 发表于 2023-3-10 10:08:48 | 显示全部楼层


qsh123_123 发表于 2023-3-9 10:08
改成320>=a*b*c;约束求解过程也是右结合规则,且除法存在小数位取点导致的精度丢失问题,80/a和b/4这两个除 ...



                               
登录/注册后可看大图

发表于 2023-3-10 11:13:27 | 显示全部楼层


你的3个变量用了3个不同位宽的bit类型。。。用不同位宽的变量进行多次乘法你连中间求解过程哪一步会出现位宽溢出截取都不知道,正数负数也无法知道,约束结果自然求解不对。。谁教你用不同位宽的变量进行约束求解的。。
全部用int类型,然后约束a的int类型的最大值只能达到对应位宽的最大值,最小值约束>0,简单来说,rand int b;和b<= 2^8;b>0;再加上你的其他乘法的约束。。

 楼主| 发表于 2023-3-13 14:56:40 | 显示全部楼层


qsh123_123 发表于 2023-3-10 11:13
你的3个变量用了3个不同位宽的bit类型。。。用不同位宽的变量进行多次乘法你连中间求解过程哪一步会出现 ...


谢谢大佬,已解决。平时看习惯绿皮书

                               
登录/注册后可看大图


您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2024-11-15 23:44 , Processed in 0.062918 second(s), 6 queries , Gzip On, Redis On.

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