在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2444|回复: 6

小题目: 设计一个电路, 求in[15:0]%3的值

[复制链接]
发表于 2007-9-25 09:59:41 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
一个小题目, 娱乐一下, 主要针对逻辑设计的新手.
写一个电路, input为a[15:0], output为b[1:0], 求b=a%3, 因为只是实现一段功能, 所以无所谓时序逻辑或组合逻辑, 也不用把整个module都写出来, 当然, 你也可以加上时钟和复位, 但为统一起见, 时钟只用上升沿, 复位为全局异步复位, 低电平有效.
注意是可综合的电路, RTL code, 不是行为级代码 ^_^

[ 本帖最后由 fenzaiqi 于 2007-9-25 10:03 编辑 ]
 楼主| 发表于 2007-9-28 13:48:41 | 显示全部楼层
看来没人感兴趣, 那就直接把结果贴出来, 免得大家费脑子.
function  [1:0]  mod3_lut4;
    input  [3:0]  a;
    begin
        case(a)
            4'h0:  mod3_lut4 = 2'd0;
            4'h1:  mod3_lut4 = 2'd1;
            4'h2:  mod3_lut4 = 2'd2;
            4'h3:  mod3_lut4 = 2'd0;
            4'h4:  mod3_lut4 = 2'd1;
            4'h5:  mod3_lut4 = 2'd2;
            4'h6:  mod3_lut4 = 2'd0;
            4'h7:  mod3_lut4 = 2'd1;
            4'h8:  mod3_lut4 = 2'd2;
            4'h9:  mod3_lut4 = 2'd0;
            4'ha:  mod3_lut4 = 2'd1;
            4'hb:  mod3_lut4 = 2'd2;
            4'hc:  mod3_lut4 = 2'd0;
            4'hd:  mod3_lut4 = 2'd1;
            4'he:  mod3_lut4 = 2'd2;
            4'hf:  mod3_lut4 = 2'd0;
        endcase
    end
endfunction

function  [1:0]  mod3_byte;
    input  [7:0]  a;
    begin
        mod3_byte = mod3_lut4({mod3_lut4(a[7:4]), mod3_lut4(a[3:0])});
    end
endfunction

input is:   a[15:0]
output is: b[1:0] = mod3_lut4({mod3_byte(a[15:8]), mod3_byte(a[7:0])});

[ 本帖最后由 fenzaiqi 于 2007-9-28 13:49 编辑 ]
发表于 2007-9-29 09:47:42 | 显示全部楼层
呵呵,有意思,想法很巧妙,顶了
发表于 2009-1-21 13:24:31 | 显示全部楼层
very good
发表于 2009-2-1 05:36:44 | 显示全部楼层
恩,不错。。。
发表于 2009-2-3 10:02:16 | 显示全部楼层
对我来说 不错 ~~~
发表于 2009-2-3 18:06:49 | 显示全部楼层
确实不错
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-16 16:19 , Processed in 0.066716 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表