Advertisement
Guest User

Untitled

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