当前位置: 代码迷 >> 单片机 >> fpga verilog 八位加法器
  详细解决方案

fpga verilog 八位加法器

热度:489   发布时间:2016-04-28 15:41:49.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里的仿真结果如下图:

------其他解决方案--------------------
你这是组合逻辑,没有加延时延时的情况下仿真结果很不可靠。改成时序逻辑就知道了
------其他解决方案--------------------
功仿真图:看信号sel , A,B,in。。

------其他解决方案--------------------
多谢楼上二位。。。这种仿真搞得我真是xx
------其他解决方案--------------------
这种简单
------其他解决方案--------------------
仿真出来不对,但童鞋说直接硬件测就对了。。。

@宇宙总统,能提供点有用的学习资料么?


------其他解决方案--------------------
引用:
呵呵,你的仿真软件有问题,换一个试试吧,modelsim里的仿真结果如下图:


关于modelsim,请问有什么资料可推荐小白我学学吗?

貌似那个用到命令行。。
  相关解决方案