Holey_yan

20150115_KUAS_Verilog_FullAdder_4bit(Altera)

Jan 14th, 2015
229
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. /***************************************/
  2. /** 20141211 4-Bit Adder              **/
  3. /** Maker  : Yan                      **/
  4. /** E-Mail : [email protected] **/
  5. /** Date   : 2014/12/11 pm.04:16      **/
  6. /***************************************/
  7.  
  8. module Adder_4Bit(in1, in2, out1, out2, _set, _reset);
  9.     input       [3:0]   in1, in2;
  10.     input       _set, _reset;
  11.     output      [6:0]   out1, out2;
  12.    
  13.     reg     [7:0]   temp_out;
  14.     always@(negedge _set or negedge _reset) begin
  15.         if(_reset == 0) begin
  16.             temp_out = 8'b00000000;
  17.         end
  18.         else
  19.             if(_set == 0) begin
  20.                 temp_out = in1 + in2;
  21.             end
  22.     end
  23.    
  24.     Seven_Change    tmp1 (temp_out[3:0], out1);
  25.     Seven_Change    tmp2 (temp_out[7:4], out2);
  26. endmodule
  27.  
  28. module Seven_Change(in, out);
  29.     input       [3:0]   in;
  30.     output reg  [6:0]   out;
  31.     always@(in) begin
  32.         case(in)
  33.             // 0
  34.             4'b0000: out = 7'b1000000;
  35.             // 1
  36.             4'b0001: out = 7'b1111001;
  37.             // 2
  38.             4'b0010: out = 7'b0100100;
  39.             // 3
  40.             4'b0011: out = 7'b0110000;
  41.             // 4
  42.             4'b0100: out = 7'b0011001;
  43.             // 5
  44.             4'b0101: out = 7'b0010010;
  45.             // 6
  46.             4'b0110: out = 7'b0000010;
  47.             // 7
  48.             4'b0111: out = 7'b1111000;
  49.             // 8
  50.             4'b1000: out = 7'b0000000;
  51.             // 9
  52.             4'b1001: out = 7'b0011000;
  53.             // A
  54.             4'b1010: out = 7'b0001000;
  55.             // b
  56.             4'b1011: out = 7'b0000011;
  57.             // C
  58.             4'b1100: out = 7'b1000110;
  59.             // d
  60.             4'b1101: out = 7'b0100001;
  61.             // E
  62.             4'b1110: out = 7'b0000110;
  63.             // F
  64.             4'b1111: out = 7'b0001110;
  65.         endcase
  66.     end
  67. endmodule
Advertisement
Add Comment
Please, Sign In to add comment