BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / circuit / #17592同步于 2011/6/24
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Circuit机器人发帖

quartus ii 生成的除法器怎么用啊

yxplf
2011/6/24镜像同步11 回复
将被除数,除数,商,余数例化了,向被除数,除数端口写入数据,一定时间后再去读商和余数就可以了吗?另外,除法模块的时延太大该怎样解决啊,多谢
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
teamo机器人#1 · 2011/6/24
每个cycle都有输出; 时延取决于你ipcore里设了几个delay 时延大点就大点呗,撑死10个cycle左右,对一般算法都不会有影响的。
yxplf机器人#2 · 2011/6/24
设置delay为0,是不是不对啊? 【 在 teamo 的大作中提到: 】 : 每个cycle都有输出; : 时延取决于你ipcore里设了几个delay : 时延大点就大点呗,撑死10个cycle左右,对一般算法都不会有影响的。 : ...................
teamo机器人#3 · 2011/6/24
delay为0估计也可以出来,就变成组合电路了,估计完全用不了。 我搞不清你对时延有多高的要求?
yxplf机器人#4 · 2011/6/24
我现在的除法器被除数是32位,除数是7位,delay为0时,时钟最高只能到30M左右,而我的系统时钟是125M。delay设为10时,延时有10几ns,时钟最高能到70M左右 【 在 teamo 的大作中提到: 】 : delay为0估计也可以出来,就变成组合电路了,估计完全用不了。 : 我搞不清你对时延有多高的要求? : -- : ...................
teamo机器人#5 · 2011/6/24
delay设为10啥意思,十级流水?延迟10ns啥意思,指slack吗?时钟只能跑70M,只能给除法器加寄存器了,假如你上边真的是十级流水了,我觉得不至于70M.
teamo机器人#6 · 2011/6/24
问下做时钟约束了没?还有你指的延迟是不是数据从系统输入到输出?
yxplf机器人#7 · 2011/6/24
delay为10,是设置那里:I want an output latency of 10 clock cycles. 然后出来结果是slack=-10ns,延迟是从除法模块的输入信号到输出信号的,时钟是约束为125M。 十级流水是指10个时钟周期后才出来计算结果,还是指内部运算分成10个周期来做?另外,给除法器加寄存器是怎么做的呢?是先用寄存器保存要输入的被除数等,再赋给除法器的输入? 【 在 teamo 的大作中提到: 】 delay设为10啥意思,十级流水?延迟10ns啥意思,指slack吗?时钟只能跑70M,只能给除法器加寄存器了, 假如你上边真的是十级流水了,我觉得不至于70M. : 问下做时钟约束了没?还有你指的延迟是不是数据从系统输入到输出? : --
teamo机器人#8 · 2011/6/24
core内设的10个cycle,指的是core的输入到输出需要10个cycle。至于除法器内部如何分配这10个寄存器,要看core有没有可选项让你指定。我记得乘法器是可以设定的,内部有两三个位置可选是否寄存,忘了除法器有没有了,可以用RTL看一下。 输入和输出分别在外部给他寄存一下固然会好一些,内部寄存器的分布应该也比较关键 Timequest给的关键路径from和to分别是哪? 按道理10个cycle已经足够了,为啥只跑到70M捏。。。我曾经用过48bit除以16bit的,在整片芯片LE使用率在98% 的时候,约束到125MHz是可以过的,Stratix IV 250 【 在 yxplf 的大作中提到: 】 : delay为10,是设置那里:I want an output latency of 10 clock cycles. : 然后出来结果是slack=-10ns,延迟是从除法模块的输入信号到输出信号的,时钟是约束为125M。 : 十级流水是指10个时钟周期后才出来计算结果,还是指内部运算分成10个周期来做?另外,给除法器加寄存器是怎么做的呢?是先用寄存器保存要输入的被除数等,再赋给除法器的输入? : ...................
yxplf机器人#9 · 2011/6/24
首先要感谢你的耐心回答啊,我用IPcore生成除法器时没看到有可选是否寄存的,现在工程里延时大的地方都是需要做加减乘除这些路径,除法的时延最大。我自己写了一个除法模块,时延有一些改善,但还是达不到125M,资源占用也提高了不少。不知道是不是因为采用的低端cyclone ii,怎么也跑不到那么高的时钟? 【 在 teamo 的大作中提到: 】 : core内设的10个cycle,指的是core的输入到输出需要10个cycle。至于除法器内部如何分配这10个寄存器,要看core有没有可选项让你指定。我记得乘法器是可以设定的,内部有两三个位置可选是否寄存,忘了除法器有没有了,可以用RTL看一下。 : 输入和输出分别在外部给他寄存一下固然会好一些,内部寄存器的分布应该也比较关键 : Timequest给的关键路径from和to分别是哪? : ...................