Advertisement
Krystian102

Untitled

Mar 21st, 2020
160
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module adder_A_B_8_bits(
  2.     input [7:0] SW,
  3.     input [0:1] KEY,
  4.     output [0:0] LEDR,
  5.     output [0:6] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5);
  6.    
  7.     wire [7:0] A, B;
  8.     reg_8_bits_with_areset register(KEY[1],KEY[0],SW,A);
  9.     assign B=SW;
  10.    
  11.     decoder_hex_16 dozenA(A[7:4],HEX3);
  12.     decoder_hex_16 unityA(A[3:0],HEX2);
  13.    
  14.     decoder_hex_16 dozenB(B[7:4],HEX1);
  15.     decoder_hex_16 unityB(B[3:0],HEX0);
  16.    
  17.     reg [7:0] total;
  18.     reg cout;
  19.     assign LEDR[0]=cout;
  20.    
  21.     decoder_hex_16 dozenTotal(total[7:4],HEX5);
  22.     decoder_hex_16 unityTotal(total[3:0],HEX4);
  23.    
  24.     always@(*)
  25.         if((A+B)>8'hFF)
  26.             begin
  27.                 cout=1;
  28.                 total=8'h00;
  29.             end
  30.         else
  31.             begin
  32.                 cout=0;
  33.                 total=A+B;
  34.             end
  35.    
  36. endmodule
  37.  
  38. module reg_8_bits_with_areset(
  39.     input Clk, areset,
  40.     input [7:0] data,
  41.     output reg [7:0] out);
  42.    
  43.     always@(posedge Clk, posedge areset)
  44.         if(areset)
  45.             out<=0;
  46.         else
  47.             out<=data;
  48. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement