微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 很多比较器,请问有没有什么好的实现方式?

很多比较器,请问有没有什么好的实现方式?

时间:10-02 整理:3721RD 点击:
reg [10:0] id;
reg [9:0]   value;
always (id)
    if (id < 11'd1)
        value = 10'd0;
    else if (id < 11'd2)
        value = 10'd1;
    else if (id < 11'd5)
        value = 10'd4;
    else if (id < 11'd10)
        value = 10'd7;
    else if (id < 11'd20)
        value = 10'd13;
    else if (id < 11'd30)
        value = 10'd18;
......
......
    else if (id < 11'd300)
        value = 10'd200;
    else if (id < 11'd310)
        value = 10'd203;
......
......
    else if (id < 11'900)
        value = 10'd830;
中间省略了很多,比较的值没什么规律
请问有什么好的实现方式吗?

重新设计ID的值,使ID可以简单映射到VALUE

就是因为id值没什么规律呀

这么多数值的选择,你还不如做个ROM的查找表呢,这个写法,你能跑多快的钟呀?
你最好试着找找规律,要不就用ROM吧

时钟要求还好15M就可以了。
用ROM更占资源啊

这么写组合逻辑的多大,你还是把它分成几段来写.

用ROM表吧。

用rom实现比较的好

最好是单个值的比较。找id信号的规律
如果没有规律,那么只能分段处理,确保share pipeline...

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

网站地图

Top