微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 微电子和IC设计 > IC验证交流 > 求助:如何约束一个数据的位宽

求助:如何约束一个数据的位宽

时间:10-02 整理:3721RD 点击:
各位:
目前在写axi_transfer,本来是想以AXI_DATA_WIDTH来定data的位宽的,但是,如果遇上narrow transfer,那么data的位宽就没那么多了,所以我想以burst的size来约束data的位宽,但是,实在想不到该怎么做呀?

动态数组或者队列应该可以办到吧

能更详细一点么,因为我在transfer中定义的data本身就是一个动态数组,它的size是由burst的length来决定的。

哦,这样
axi里面的data的宽度都是以字节byte为基数的,
你可以先定义
rand bit [7:0] data[];
rand unsigned int width;
rand unsigned int burst;
constraint c0 {width inside {1, 2, 4, 8, ...;}
constraint c1 {burst inside {1, 2, 4, 8, 16, ...;}
constraint c2 {data.size() == width * burst;}
constraint c3 {solve width before data.size();
solve burst before data,size();}
大概是这样了,我也是初学者,欢迎交流

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top