Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module adder_A_B_8_bits(
- input [7:0] SW,
- input [0:1] KEY,
- output [0:0] LEDR,
- output [0:6] HEX0, HEX1, HEX2, HEX3, HEX4, HEX5);
- wire [7:0] A, B;
- reg_8_bits_with_areset register(KEY[1],KEY[0],SW,A);
- assign B=SW;
- decoder_hex_16 dozenA(A[7:4],HEX3);
- decoder_hex_16 unityA(A[3:0],HEX2);
- decoder_hex_16 dozenB(B[7:4],HEX1);
- decoder_hex_16 unityB(B[3:0],HEX0);
- reg [7:0] total;
- reg cout;
- assign LEDR[0]=cout;
- decoder_hex_16 dozenTotal(total[7:4],HEX5);
- decoder_hex_16 unityTotal(total[3:0],HEX4);
- always@(*)
- if((A+B)>8'hFF)
- begin
- cout=1;
- total=8'h00;
- end
- else
- begin
- cout=0;
- total=A+B;
- end
- endmodule
- module reg_8_bits_with_areset(
- input Clk, areset,
- input [7:0] data,
- output reg [7:0] out);
- always@(posedge Clk, posedge areset)
- if(areset)
- out<=0;
- else
- out<=data;
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement