微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 请问下,verilog HDL小数分频这个怎么实现,求大师

请问下,verilog HDL小数分频这个怎么实现,求大师

时间:10-02 整理:3721RD 点击:
Out=0.78x+0.17yinput x,y
不能用乘法器和除法器。请大家指点一下

求同道中人给出想法,非常感激!

题目是这样的:
Out=0.78x+0.17y

input x,y
不能用乘法器和除法器。请大家指点一下



   用移位然后进行加法。例如,0.780.5+0.125+1/(2^n)+.... 无限逼近0.78,0.5 用向右移1位实现。

楼上说的对

基础问题。哎

不需要无限逼近,可以考虑用西格玛 算法,像进行小数分频一样,神马无限逼近啊,都是浮云



   你这样计算的话,是不是也得n多个周期取平均值啊。

我有一个想法,就是把前面的小数系数换算为二进制小数,为了简单说明,我把等式改为out = 0.75x + 0.25y
换算后则为out = 0.11x + 0.001y,如果x,y的位宽为4bit,那么等式还可以为out = [1100]x + [0010]y,结果就为out = x[3:1] + x[3:2] + y[3:3]。一般的,如果x,y的位宽为n,换算后x的二进制小数部分系数为C1,y的二进制小数部分系数为C2,宽度也为n,那么out = C1[n-1]&x[n-1]+...+C1[0]&x[0]+C2[n-1]&y[n-1]+...+C2[0]&y[0]。试试看能不能达到要求

out = C1[n-1]&x[n-1:1]+C1[n-2]&x[n-1:2]+...+C1[1]&x[n-1]+C2[n-1]&y[n-1:1]+...+C2[1]&y[n-1]

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

网站地图

Top