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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 12053|回复: 32

谁能给个用vhdl或者verilog写的关于浮点数运算的例子啊

[复制链接]
发表于 2008-7-4 15:54:25 | 显示全部楼层 |阅读模式

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

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

x
谁能给个用vhdl或者verilog写的关于浮点数运算的例子啊
 楼主| 发表于 2008-7-5 10:23:27 | 显示全部楼层

顶一下
发表于 2008-7-5 12:16:03 | 显示全部楼层
浮点数?没接触过
 楼主| 发表于 2008-7-10 11:04:01 | 显示全部楼层
有人知道噻?
再顶下。
发表于 2008-7-12 20:43:52 | 显示全部楼层
期待中
发表于 2008-7-13 14:36:53 | 显示全部楼层
正在研究探讨中
发表于 2008-7-22 16:20:30 | 显示全部楼层
顶。。。。。。。。。。。。。。。
发表于 2008-7-31 16:06:12 | 显示全部楼层
顶,哪位高手大哥回复一下.......
发表于 2008-8-5 11:10:57 | 显示全部楼层

浮点数乘法

module floatmul(clk,reset,oz,ost);
   //input[31:0]  ix,iy;
   input        clk,reset;
   output[31:0] oz;
   output       ost;
         
   reg[31:0]    oz;
   reg[24:0]    xm, ym, zm;
   reg[22:0]    zm1;  
   reg[7:0]     xe, ye, ze;
   reg          p;
   reg[31:0]    ix,iy;
   reg[2:0]     state;   
   parameter    start   =   3'b000;  
   parameter    mulm    =   3'b011;               
   parameter    infifl  =   3'b101;
   parameter    over    =   3'b110;
               
   assign ost = (state == over) ? 1 : 0;
   
   [email=always@(posedge]always@(posedge[/email] clk)
      begin
         if(!reset)  
                 begin
                 state<= start;
                 ix=32'b01000000001101000111100110010110;
                 iy=32'b10111111000111110101001110110010;
                 oz=0;
                 end
   else
  case(state)
start: begin
   xe   <= ix[30:23];
   xm   <= {1'b0,1'b1,ix[22:0]};
   ye   <= iy[30:23];
   ym   <= {1'b0,1'b1,iy[22:0]};
   state<= mulm;
   end
      mulm: begin
            p=ix[31]^iy[31];
            ze=xe+ye-8'b01111111;
            {zm,zm1}=xm*ym;
            state <= infifl;     
      end
  
  infifl:begin
         if(zm[24])
                  begin
                  ze=ze+1;
                  oz={p,ze,zm[23:1]};
                  state <= over;
                  end
          else
                  begin
                  oz={p,ze,zm[22:0]};
                  state <= over;
                  end               
   end   
   over:  state <= over;
   default: state <= start;   
endcase
end
endmodule
32位浮点数分为三部分:
31 符号位      30~23 阶码   22~0   尾数
发表于 2008-8-5 11:13:39 | 显示全部楼层
ix,iy为32位浮点数输入
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

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

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