打印
[CPLD]

除法器余数怎么处理

[复制链接]
2086|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
我是用ISE的IP核生成的除法器,我想将余数乘于2^24,我该怎样做。例:小数为0.72*2^24=12079595; 是直接将余数向左移动24位吗。

我看到一个程序是这样写的,麻烦大家帮我解释一下这段程序
   WHEN C2 =>
     CALC<=C3;
     DIV_ZI_SIG<=DIV_REMAIN(12 DOWNTO 0) & X"0000" & "000";  --左移19位再除以625
     DIV_MU_SIG<="0001001110001";
   WHEN C3 =>
    CALC<=C4;
    IF DIV_DELAY=100 THEN  --延时40个时钟周期,取出商和余数
     DIV_DELAY<=0;
     OSC_DAT_04<=DIV_QUO(29 DOWNTO 0) & "00";  --将商赋给一本振的03控制寄存器12
     CALC<=C4;
    ELSE
     DIV_DELAY<=DIV_DELAY+1;
     CALC<=C3;
    END IF;

ISE.jpg (184.27 KB )

ISE.jpg

相关帖子

沙发
yang4133|  楼主 | 2013-1-29 17:59 | 只看该作者
大家帮帮忙啊

使用特权

评论回复
板凳
lwq030736| | 2013-1-30 08:18 | 只看该作者
直接左移24位

使用特权

评论回复
地板
千里风123| | 2013-1-30 11:35 | 只看该作者
程序是先将被除数变成左移19BIT,相当于*2^19,再与625一起送到IP中,在100个DELAY后得到商,应该是这样的(实际的被除数*2^N)/(实际的被除数*2^M)=商*2^(N-M),是DDS或PLL赋值吧!

使用特权

评论回复
5
wuhaidianzi| | 2013-2-26 21:43 | 只看该作者
左移24位

使用特权

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

本版积分规则

16

主题

78

帖子

0

粉丝