Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module SW_to_LEDR (SW, LEDR);//SW_to_LEDR
- input [9:0] SW; // przełączniki
- output [9:0] LEDR; // czerwone LEDs
- assign LEDR = SW;
- endmodule
- //1
- module showDigitDec ( //show a given 4-bit number on given display
- input [3:0] SW,
- output reg [0:6] HEX0);
- always @(*)
- case(SW)
- 4'b0000: HEX0 = ~7'b1111110;// 0
- 4'b0001: HEX0 = ~7'b0110000;// 1
- 4'b0010: HEX0 = ~7'b1101101;// 2
- 4'b0011: HEX0 = ~7'b1111001;// 3
- 4'b0100: HEX0 = ~7'b0110011;// 4
- 4'b0101: HEX0 = ~7'b1011011;// 5
- 4'b0110: HEX0 = ~7'b1011111;// 6
- 4'b0111: HEX0 = ~7'b1110000;// 7
- 4'b1000: HEX0 = ~7'b1111111;// 8
- 4'b1001: HEX0 = ~7'b1111011;// 9
- 4'b1010: HEX0 = ~7'b1111010;// r (error)
- 4'b1011: HEX0 = ~7'b1111010;// r
- 4'b1100: HEX0 = ~7'b1111010;// r
- 4'b1101: HEX0 = ~7'b1111010;// r
- 4'b1110: HEX0 = ~7'b1111010;// r
- 4'b1111: HEX0 = ~7'b1111010;// r
- endcase
- endmodule
- module show2DigitNumberDec ( // display 2 given decimal digits
- input [7:0] SW,
- output [9:0] LEDR,
- output [0:6] HEX0, HEX1);
- assign LEDR[7:0] = SW[7:0];
- wire [0:3]sw1 = SW[3:0];
- wire [0:3]sw2 = SW[7:4];
- reg led8 = 0;
- reg led9 = 0;
- showDigit ex1(SW[3:0], HEX0);
- showDigit ex2(SW[7:4], HEX1);
- assign LEDR[8] = led8;
- assign LEDR[9] = led9;
- always @(*)
- begin
- if(sw1 > 4'b1001)
- led8 = 1;
- else
- led8 = 0;
- if(sw2 > 4'b1001)
- led9 = 1;
- else
- led9 = 0;
- end
- endmodule
- // 2
- module showDigitHex ( //show a given 4-bit number on given display
- input [3:0] SW,
- output reg [0:6] HEX0);
- always @(*)
- case(SW)
- 4'b0000: HEX0 = ~7'b1111110;// 0
- 4'b0001: HEX0 = ~7'b0110000;// 1
- 4'b0010: HEX0 = ~7'b1101101;// 2
- 4'b0011: HEX0 = ~7'b1111001;// 3
- 4'b0100: HEX0 = ~7'b0110011;// 4
- 4'b0101: HEX0 = ~7'b1011011;// 5
- 4'b0110: HEX0 = ~7'b1011111;// 6
- 4'b0111: HEX0 = ~7'b1110000;// 7
- 4'b1000: HEX0 = ~7'b1111111;// 8
- 4'b1001: HEX0 = ~7'b1111011;// 9
- 4'b1010: HEX0 = ~7'b1110111;// A
- 4'b1011: HEX0 = ~7'b0011111;// b
- 4'b1100: HEX0 = ~7'b1001110;// C
- 4'b1101: HEX0 = ~7'b0111101;// d
- 4'b1110: HEX0 = ~7'b1001111;// E
- 4'b1111: HEX0 = ~7'b1000111;// F
- endcase
- endmodule
- module show2DigitNumberHex ( // display 2 given hexadecimal digits
- input [7:0] SW,
- output [7:0] LEDR,
- output [0:6] HEX0, HEX1);
- assign LEDR[7:0] = SW[7:0];
- wire [0:3]sw1 = SW[3:0];
- wire [0:3]sw2 = SW[7:4];
- showDigit ex1(SW[3:0], HEX0);
- showDigit ex2(SW[7:4], HEX1);
- endmodule
- //3
- module ps3 ( // binary to bcd
- input [3:0] SW,
- output [0:6] HEX0, HEX1);
- wire [0:3]sw1 = SW[3:0];
- reg tens = 4'b0000;
- reg [0:3] n1;
- showDigit ex1(n1, HEX0);
- showDigit ex2(tens, HEX1);
- always @(*)
- begin
- if(sw1 > 4'b1001)
- tens = 4'b0001;
- else
- tens = 4'b0000;
- end
- endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement