QQ登录

只需要一步,快速开始

 注册地址  找回密码
查看: 2692|回复: 6
打印 上一主题 下一主题

基4-Booth编码乘法运算

[复制链接]
字体大小: 正常 放大
大笨象 实名认证       

42

主题

11

听众

2119

积分

di_dar

  • TA的每日心情
    无聊
    2015-1-15 22:05
  • 签到天数: 79 天

    [LV.6]常住居民II

    自我介绍
    隐秘盛开

    优秀斑竹奖 新人进步奖 发帖功臣

    群组Matlab讨论组

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组SIMULINK

    群组LINGO

    跳转到指定楼层
    1#
    发表于 2011-7-20 19:49 |只看该作者 |倒序浏览
    |招呼Ta 关注Ta
    本帖最后由 大笨象 于 2011-7-20 20:58 编辑
    1. `timescale 1ns / 1ps
    2. module Booth4RadixMultiplier(a,b,c,sclr,clk,rfd
    3.     );
    4. parameter N=8;
    5. input[N-1:0] a,b;
    6. input sclr,clk;
    7. output[2*N-1:0] c;
    8. output rfd;
    9. reg[N:0] y;
    10. reg[N-1:0] x,x_c,z;
    11. reg[1:0] current_state,next_state;
    12. integer index_i;
    13. reg finished;
    14. parameter    Init=2'b00,
    15.                    Acc=2'b01,
    16.                    Done=2'b11;
    17. always@(posedge clk)//状态跳变时钟
    18. if(!sclr)
    19. begin
    20. current_state<=Init;
    21. end
    22. else
    23. begin
    24. current_state<=next_state;
    25. end
    26. always@(current_state or index_i)//状态改变的组合电路
    27. case(current_state)
    28. Init:
    29.      next_state=Acc;
    30. Acc:
    31.      if(index_i==(N>>1)-1)
    32.           next_state=Done;
    33.           else
    34.           next_state=Acc;
    35. Done:
    36.      next_state=Init;
    37. endcase
    38. always@(posedge clk)//实现算法的计算程序
    39. case(current_state)
    40. Init:
    41.        begin
    42.        finished=0;
    43.                  index_i=0;
    44.             x=a[N-1:0];
    45.                  x_c=~a[N-1:0]+1;
    46.                  y={b[N-1:0],1'b0};
    47.                  z=0;
    48.                  end
    49. Acc:
    50.       begin
    51.             case(y[2:0])
    52.                  3'b000,3'b111:
    53.                     {z[N-1:0],y[N:0]}={z[N-1],z[N-1],z[N-1:0],y[N:2]};
    54.                  3'b001,3'b010:
    55.                     begin
    56.                          z=z+x;
    57.                         {z[N-1:0],y[N:0]}={z[N-1],z[N-1],z[N-1:0],y[N:2]};
    58.                          end
    59.                  3'b011:
    60.                     begin
    61.                         z=z+(x<<1);
    62.                        {z[N-1:0],y[N:0]}={z[N-1],z[N-1],z[N-1:0],y[N:2]};                            
    63.                    end
    64.                  3'b100:
    65.                     begin
    66.                        z=z+(x_c<<1);
    67.                       {z[N-1:0],y[N:0]}={z[N-1],z[N-1],z[N-1:0],y[N:2]};                            
    68.                    end      
    69.                  3'b101,3'b110:
    70.                     begin
    71.                       z=z+x_c;
    72.                      {z[N-1:0],y[N:0]}={z[N-1],z[N-1],z[N-1:0],y[N:2]};
    73.                    end
    74.                  default:
    75.                      {z[N-1:0],y[N:0]}=0;
    76.           endcase
    77.           index_i=index_i+1;
    78.      end
    79. Done:
    80.       finished=1;
    81. endcase
    82. assign rfd=finished;
    83. assign c[N*2-1:0]={z[N-1:0],y[N:1]};
    84. endmodule
    复制代码

    20110720194500.jpg (68.25 KB, 下载次数: 175)

    时序仿真图

    时序仿真图

    zan
    转播转播0 分享淘帖0 分享分享0 收藏收藏0 支持支持1 反对反对0 微信微信
    我正在用金山快盘。http://www.kuaipan.cn/?channel=6ohsg7
    jt202010 实名认证    中国数模人才认证  会长俱乐部认证 

    109

    主题

    165

    听众

    1万

    积分

    升级  0%

  • TA的每日心情
    擦汗
    2025-7-28 16:31
  • 签到天数: 3577 天

    [LV.Master]伴坛终老

    社区QQ达人 邮箱绑定达人 最具活力勋章 发帖功臣 风雨历程奖 新人进步奖

    群组数学建模

    群组自然数狂想曲

    群组2013年数学建模国赛备

    群组第三届数模基础实训

    群组第四届数学中国美赛实

    回复

    使用道具 举报

    大笨象 实名认证       

    42

    主题

    11

    听众

    2119

    积分

    di_dar

  • TA的每日心情
    无聊
    2015-1-15 22:05
  • 签到天数: 79 天

    [LV.6]常住居民II

    自我介绍
    隐秘盛开

    优秀斑竹奖 新人进步奖 发帖功臣

    群组Matlab讨论组

    群组数学趣味、游戏、IQ等

    群组数学建模

    群组SIMULINK

    群组LINGO

    我正在用金山快盘。http://www.kuaipan.cn/?channel=6ohsg7
    回复

    使用道具 举报

    zspengyou        

    3

    主题

    2

    听众

    167

    积分

    升级  33.5%

  • TA的每日心情

    2013-2-3 14:07
  • 签到天数: 41 天

    [LV.5]常住居民I

    自我介绍
    乐观开朗

    群组岩土力学与地下工程

    群组数学建模培训课堂2

    群组Matlab讨论组

    回复

    使用道具 举报

    1

    主题

    4

    听众

    169

    积分

    升级  34.5%

  • TA的每日心情
    开心
    2012-6-21 21:19
  • 签到天数: 13 天

    [LV.3]偶尔看看II

    群组数学建模培训课堂1

    回复

    使用道具 举报

    2

    主题

    4

    听众

    129

    积分

    升级  14.5%

  • TA的每日心情
    郁闷
    2012-4-15 12:48
  • 签到天数: 1 天

    [LV.1]初来乍到

    回复

    使用道具 举报

    1

    主题

    9

    听众

    1747

    积分

  • TA的每日心情
    开心
    2016-7-26 21:58
  • 签到天数: 182 天

    [LV.7]常住居民III

    社区QQ达人

    群组2014年美赛冲刺培训

    群组数学建模培训课堂1

    群组物联网工程师培训

    群组2014年网络挑战赛交流

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册地址

    qq
    收缩
    • 电话咨询

    • 04714969085
    fastpost

    关于我们| 联系我们| 诚征英才| 对外合作| 产品服务| QQ

    手机版|Archiver| |繁體中文 手机客户端  

    蒙公网安备 15010502000194号

    Powered by Discuz! X2.5   © 2001-2013 数学建模网-数学中国 ( 蒙ICP备14002410号-3 蒙BBS备-0002号 )     论坛法律顾问:王兆丰

    GMT+8, 2025-8-6 05:50 , Processed in 0.513551 second(s), 87 queries .

    回顶部