lead_8bits_adder.v
上传用户:saul_905
上传日期:2013-11-27
资源大小:184k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

Visual C++

  1. module lead_8bits_adder(a,b,cin,sum,cout);
  2. input   [7:0]a,b;
  3. input        cin;
  4. output  [7:0]sum;
  5. output       cout;
  6. reg     [7:0]sum;
  7. reg          cout;
  8. always@(a or b or cin)
  9.         begin
  10.         sum[0]=(a[0]&b[0])|  (a[0]| b[0])&cin;
  11.         sum[1]=(a[1]&b[1])|  (a[1]| b[1])&((a[0]^b[0])^cin);
  12.         sum[2]=(a[2]&b[2])|  (a[2]| b[2])&((a[1]^b[1])^(a[0]^b[0])^cin);
  13.         sum[3]=(a[3]&b[3])|  (a[3]| b[3])&((a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin);
  14.         sum[4]=(a[4]&b[4])|  (a[4]| b[4])&((a[3]^b[3])^(a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin);
  15.         sum[5]=(a[5]&b[5])|  (a[5]| b[5])&((a[4]^b[4])^(a[3]^b[3])^(a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin);
  16.         sum[6]=(a[6]&b[6])|  (a[6]| b[6])&((a[5]^b[5])^(a[4]^b[4])^(a[3]^b[3])^(a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin);
  17.         sum[7]=(a[7]&b[7])|  (a[7]| b[7])&((a[6]^b[6])^(a[5]^b[5])^(a[4]^b[4])^(a[3]^b[3])^(a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin);
  18.         
  19.         cout=(a[7]^b[7])^(a[6]^b[6])^(a[5]^b[5])^(a[4]^b[4])^(a[3]^b[3])^(a[2]^b[2])^(a[1]^b[1])^(a[0]^b[0])^cin;
  20.         end
  21.         
  22. endmodule
  23.