打印
[verilog]

48位的数比较大小如何优化

[复制链接]
1161|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pingis58|  楼主 | 2015-6-8 10:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
我的设计中有48位的时间计数,计数的分辨率会在10个CLOCK,所以48位感觉不太好拆分,现在要用这48位的计数与总计数相比较。用XST综合,级数太多了,速度上不来

请问有什么方式优化代码,能把速度提上来吗。

相关帖子

沙发
windycraze| | 2015-6-9 11:26 | 只看该作者
你最好附上你设计的代码

使用特权

评论回复
板凳
pingis58|  楼主 | 2015-6-9 14:31 | 只看该作者
windycraze 发表于 2015-6-9 11:26
你最好附上你设计的代码

always@(posedge clk_in)
    begin
            if(Tcmp > total_clk_cal)begin
                CLK_tmp <= total_clock - cur_clk;
            end
            else begin
                CLK_tmp <= Tn_1- Tlast;
            end
    end
其中所有的变量全是寄存器输出。输入输出有强关联的,这个时序是正好的不太好拆分,也是由多级流水线下来的。原来是想看这比较大小有没有效率更高的算法。
目前的处理是,强行加一级流水线,其他部分的逻辑做了调整,总感觉不爽。

使用特权

评论回复
地板
yulunna| | 2015-6-9 19:39 | 只看该作者
看到这种情况会直接选择多资源的芯片的路过,XST的木用过,QUARTUS中有个Chip Planner中有一项在综合后,可对内部寄存器输入输出等进行编辑的,提供一个公式编辑栏。XST中类似的功能可以试下,怎么操作忘了:lol:lol,不过感觉也优化不了多少

使用特权

评论回复
5
李冬发| | 2015-6-10 01:26 | 只看该作者
直接比较吧,这个没啥好优化的。

使用特权

评论回复
6
pingis58|  楼主 | 2015-6-11 08:54 | 只看该作者
yulunna 发表于 2015-6-9 19:39
看到这种情况会直接选择多资源的芯片的路过,XST的木用过,QUARTUS中有个Chip Planner中有一项在综合后, ...

谢谢,XST应该是有这方面功能的,只是现在不会用。稍后学习,这样的调整只肥优化线延时,门延时还得换算法。门级层次太多了。目前已经修改逻辑部分,绕开这个了。

使用特权

评论回复
7
pingis58|  楼主 | 2015-6-11 08:55 | 只看该作者
本帖最后由 pingis58 于 2015-6-11 09:30 编辑
李冬发 发表于 2015-6-10 01:26
直接比较吧,这个没啥好优化的。

数字电路里面,分析不出来有更好的多位数比较逻辑吗。哪怕是牺牲资源,求速度。因为这48位的比较,加法,到不了200M

使用特权

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

本版积分规则

21

主题

131

帖子

3

粉丝