Advertisement
Guest User

Untitled

a guest
Mar 20th, 2019
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module sample001_sum(KEY, LEDR, SW, HEX0, HEX1, HEX2, HEX3);
  2. input [3:0] KEY;
  3. input [9:0] SW;
  4. output reg [9:0] LEDR;
  5. output [6:0] HEX0;
  6. output [6:0] HEX1;
  7. output [6:0] HEX2;
  8. output [6:0] HEX3;
  9. reg [9:0] H1;
  10. reg [9:0] H2;
  11. reg [9:0] H3;
  12. reg [9:0] H4;
  13.  
  14.  
  15. always
  16. if (KEY[0] != 0 && KEY[1] != 0 && KEY[2] != 0 && KEY[3] != 0)
  17. begin
  18.     H1 = LEDR[9:5] % 10;
  19.     H2 = (LEDR[9:5] / 10)% 10;
  20.     H3 = LEDR[4:0]% 10;
  21.     H4 = (LEDR[4:0] / 10)% 10;
  22. end
  23. else
  24. begin
  25.     H1 = (LEDR[9:0] / 100) % 10;
  26.     H2 = (LEDR[9:0] / 1000)% 10;
  27.     H3 = LEDR[9:0]% 10;
  28.     H4 = (LEDR[9:0] / 10)% 10;
  29. end
  30.  
  31. decToHex(H1, HEX2);
  32. decToHex(
  33.     (KEY[1] == 0) ?
  34.         SW[9:5] < SW[4:0] ?
  35.         H2
  36.         : 11
  37.     :H2
  38. , HEX3);
  39. decToHex(H3, HEX0);
  40. decToHex(H4, HEX1);
  41.  
  42. always
  43. if (KEY[0] == 0)
  44. begin
  45.     LEDR[9:0] = SW[9:5] + SW[4:0];
  46. end
  47. else if (KEY[1] == 0)
  48.     if (SW[9:5] < SW[4:0])
  49.         begin
  50.             LEDR[9:0] = SW[4:0] - SW[9:5];
  51.             // show minus here!
  52.         end
  53.     else   
  54.         LEDR[9:0] = SW[9:5] - SW[4:0];
  55. else if (KEY[2] == 0)
  56.     LEDR[9:0] = SW[9:5] * SW[4:0];
  57. else
  58.     LEDR[9:0] = SW[9:0];
  59.  
  60. endmodule
  61.  
  62.  
  63. module decToHex(number, bits);
  64.  
  65. input [3:0] number;
  66. output reg [6:0] bits;
  67.  
  68. always
  69. case (number)
  70.     0: bits = 7'b1000000;
  71.     1: bits = 7'b1111001;
  72.     2: bits = 7'b0100100;
  73.     3: bits = 7'b0110000;
  74.     4: bits = 7'b0011001;
  75.     5: bits = 7'b0010010;
  76.     6: bits = 7'b0000010;
  77.     7: bits = 7'b1111000;
  78.     8: bits = 7'b0000000;
  79.     9: bits = 7'b0010000;
  80.     11: bits = 7'b0111111;
  81.     default: bits = 7'b1111111;
  82. endcase
  83. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement