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