Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- LEKCJA3
- module wyswietl (a,b);
- input[3:0] a;
- output reg [0:6] b;
- always
- case(a)
- 4'd0 : b = ~7'b1111110;
- 4'd1 : b = ~7'b0110000;
- 4'd2 : b = ~7'b1101101;
- 4'd3 : b = ~7'b1111001;
- 4'd4 : b = ~7'b0110011;
- 4'd5 : b = ~7'b1011011;
- 4'd6 : b = ~7'b1011111;
- 4'd7 : b = ~7'b1110000;
- 4'd8 : b = ~7'b1111111;
- 4'd9 : b = ~7'b1111011;
- endcase
- endmodule
- module zad1 (
- input [3:0] KEY,
- input [9:0] SW,
- input CLOCK_50,
- output[0:6] HEX0,
- output[0:6] HEX1,
- output[0:6] HEX2,
- output[0:6] HEX3
- );
- reg [28:0] wynik;
- reg [7:0] wynik1;
- reg [7:0] wynik2;
- reg [7:0] wynik3;
- reg [7:0] wynik4;
- wyswietl inst1(wynik1,HEX0);
- wyswietl inst2(wynik2,HEX1);
- wyswietl inst3(wynik3,HEX2);
- wyswietl inst4(wynik4,HEX3);
- always @(posedge CLOCK_50)
- begin
- if (!KEY[0]) begin
- wynik <= 0;
- wynik1 <= 0;
- wynik2 <= 0;
- wynik3 <= 0;
- wynik4 <= 0;
- end
- if (wynik > 50000000) begin
- wynik1 <= wynik1 + 1;
- wynik <=0;
- end
- else wynik <= wynik + 1;
- if (wynik1>9)
- begin
- wynik2 <= wynik2 +1;
- wynik1 <= 0;
- end
- if (wynik2>9)
- begin
- wynik3 <= wynik3 +1;
- wynik2 <= 0;
- end
- if (wynik3>9)
- begin
- wynik4 <= wynik4 +1;
- wynik3 <= 0;
- end
- end
- endmodule
- ZAD2
- module zad1( input [3:0] KEY, input [9:0] SW, output reg [9:0] LEDR, input CLOCK_50);
- reg [3:0] states, next_states;
- always @(*)
- begin
- if (SW[0] == 1) next_states = 4'd0;
- else if (KEY[0] == 1'b0 && states == 4'd0)
- next_states = 4'd1;
- else if (KEY[1] == 1'b0 && states == 4'd1)
- next_states = 4'd2;
- else if (KEY[2] == 1'b0 && states == 4'd2)
- next_states = 4'd4;
- else if (KEY[3] == 1'b0 && states == 4'd4)
- next_states = 4'd8;
- else
- next_states = states;
- end
- always @(posedge CLOCK_50)
- begin
- states <= next_states;
- end
- always @*
- LEDR = states;
- Endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement