当前位置: 代码迷 >> 单片机 >> fpga verilog 8位加法器,该如何解决
  详细解决方案

fpga verilog 8位加法器,该如何解决

热度:395   发布时间:2016-04-28 15:37:36.0
fpga verilog 8位加法器
用相同的两个键分时输入A[7..0],B[7..0]的值,用sel选择是给A还是B,代码如下,但为啥A,B值总是相同的,搞好久了,不知错在何处,求指导。


 always @(en or sel or Cin or asc or in) begin
                if(en==1'b1) begin
                       if(sel==1'b1) A=in;
                       else B=in;
                       case({asc,Cin})//stimulate output
                             2'b00:state=7'b0000_110;//state '1'
                             2'b01:state=7'b1011_011;//state '2'
                             2'b10:state=7'b1001_111;//state '3'
                             2'b11:state=7'b1100_110;//state '4'
                             default:state=7'b0000_000;
                       endcase
                end
                
                else state=7'b0000_000;//state '0'
       end

------解决方案--------------------
你这是组合逻辑,没有加延时延时的情况下仿真结果很不可靠。改成时序逻辑就知道了
------解决方案--------------------
呵呵,你的仿真软件有问题,换一个试试吧,modelsim里的仿真结果如下图:
  相关解决方案