像上图中,num_frequency为18位,CLK_FS为25位,fx_cnt和fs_cnt都是32位
虽然CLK_FS / fs_cnt * fx_cnt = CLK_FS * fx_cnt /fs_cnt , 但是等式右边先算乘法,很容易超出这两个数原本位数所表示的最大范围,所以会造成截断数据,进而所得出的结果是不对的。
一上午因为这一个错误改了好久。
像上图中,num_frequency为18位,CLK_FS为25位,fx_cnt和fs_cnt都是32位
虽然CLK_FS / fs_cnt * fx_cnt = CLK_FS * fx_cnt /fs_cnt , 但是等式右边先算乘法,很容易超出这两个数原本位数所表示的最大范围,所以会造成截断数据,进而所得出的结果是不对的。
一上午因为这一个错误改了好久。