打印
[verilog]

ADC数字校准中,在testbench可以用小数分数的形式用于计算?

[复制链接]
1157|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
muxiaona|  楼主 | 2018-7-28 08:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
parameter  FS      = 268435456,//2^wid_des,

            FS_half =  FS/2,//2^(wid_des-1),
             //produced by baoqq 20161103//as matlab *.m,// initial in *.m//version first         
            G1 = 2.2503,//1.759 ,//1.7839,//1.8181,//1.8054,
            G2 = 2.1226,//2.3075,//2.3567,//2.384, //2.3814,
            G3 = 1.8970,//2.3075,//2.3365,//2.384, //2.3911,
            G4 = 2.4982,//2.3075,//2.4311,//2.384, //2.3713,
            G5 = 2.0761,//2.3075,//2.4938,//2.384, //2.3607,
            G6 = 2.1416,//2.3075,//2.4131,//2.384, //2.3643,
            G7 = 2.1416,//2.3075,//2.5761,//2.384, //2.4490,
            G8 = 2.1416,//2.3075,//2.5761,//2.384, //2.4490,
            G9 = 2.1416,//2.3075,//2.5761,//2.384, //2.4490,
            G10 = 2.1416,//2.3075,//2.5761,//2.384, //2.4490,
            G11 = 2.1416,//2.3075,//2.5761,//2.384, //2.4490,
      
            FS_3_8 = FS*3/8       ,
            FS_2_8 = FS*2/8       ,
            FS_1_8 = FS*1/8       ,
            FS_1_16= FS*1/16      ,
            VFS_3_8 = FS_half*3/8 ,
            VFS_2_8 = FS_half*2/8 ,
            VFS_1_8 = FS_half*1/8 ,
            VFS_1_16= FS_half*1/16;


always @(*) begin
   if(PD) begin
     vout1 = 0;
     vout3 = 0;
     vout5 = 0;
     vout7 = 0;
     vout9 = 0;
     vout11 = 0;
   end else if(PH2) begin //PH2e)
     vout1 =vld_12 ? (vin1 -(D1 -3.5)* FS_1_8+t_pnS1 * FS_1_16)*G1 : 0;
     vout3 =vld_34 ? (vin3 -(D3 -3.5)*VFS_1_8+t_pnS3 *VFS_1_16)*G3 : 0;
     vout5 =vld_56 ? (vin5 -(D5 -3.5)*VFS_1_8+t_pnS5 *VFS_1_16)*G5 : 0;
     vout7 =vld_78 ? (vin7 -(D7 -3.5)*VFS_1_8)*G7  : 0;
     vout9 =vld_9a ? (vin9 -(D9 -3.5)*VFS_1_8)*G9  : 0;
     vout11=vld_bc ? (vin11-(D11-3.5)*VFS_1_8)*G11 : 0;
   end
end

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

1

帖子

0

粉丝