集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 879|回复: 0

累加器verilog语言编程问题

[复制链接]
nannanbao2 发表于 2015-5-23 20:17:56 | 显示全部楼层 |阅读模式
刚刚接触FPGA,编程方面也不是很擅长。今天做了一个累加器的verilog编程,仿真波形图一直出错,想请大神指教一下错误的原因,十分感谢!
我要实现的累加器功能是:连续输入几百个gary_value,每满15个gary_value输出一个累加结果,同时累加器清零。我写的代码如下:
module accumulator (clk, rst_n,a_en,gary_value,accumulation);
input clk, rst_n;
input a_en;  //累加启动使能,高有效
input [7:0] gary_value;
output [15:0] accumulation;  
reg [15:0] accum_i;
reg[5:0] accum_k;      
reg [15:0] accumulation;
always @ (posedge clk or negedge rst_n)
begin
   if (!rst_n)
           begin
          accum_k <= 0;
        accum_i <= 0;
      end
   else if(a_en)        
  begin
         if(accum_k==8'd16)  
              begin
                 accumulation <= accum_i;
                  accum_i <= 0;
                  accum_k <= 0;
               end
         else if(accum_k!=8'd16)
               begin
                  accum_i <= accum_i + gary_value;
                 accum_k <= accum_k+1;
               end  
         else
                         accum_k <= 0;
  end
end
endmodule
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

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

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2025-5-6 23:21 , Processed in 0.060078 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表