daily pastebin goal
61%
SHARE
TWEET

Untitled

a guest Mar 13th, 2018 47 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2. module SW_to_LEDR (SW, LEDR);//SW_to_LEDR
  3.     input [9:0] SW; // przełączniki
  4.     output [9:0] LEDR; // czerwone LEDs
  5.     assign LEDR = SW;
  6. endmodule
  7.  
  8.  
  9. //1
  10. module showDigitDec ( //show a given 4-bit number on given display
  11.     input [3:0] SW,
  12.     output reg [0:6] HEX0);
  13.    
  14.     always @(*)
  15.         case(SW)
  16.             4'b0000: HEX0 = ~7'b1111110;// 0
  17.             4'b0001: HEX0 = ~7'b0110000;// 1
  18.             4'b0010: HEX0 = ~7'b1101101;// 2
  19.             4'b0011: HEX0 = ~7'b1111001;// 3
  20.             4'b0100: HEX0 = ~7'b0110011;// 4
  21.             4'b0101: HEX0 = ~7'b1011011;// 5
  22.             4'b0110: HEX0 = ~7'b1011111;// 6
  23.             4'b0111: HEX0 = ~7'b1110000;// 7
  24.             4'b1000: HEX0 = ~7'b1111111;// 8
  25.             4'b1001: HEX0 = ~7'b1111011;// 9
  26.             4'b1010: HEX0 = ~7'b1111010;// r (error)
  27.             4'b1011: HEX0 = ~7'b1111010;// r
  28.             4'b1100: HEX0 = ~7'b1111010;// r
  29.             4'b1101: HEX0 = ~7'b1111010;// r
  30.             4'b1110: HEX0 = ~7'b1111010;// r
  31.             4'b1111: HEX0 = ~7'b1111010;// r
  32.         endcase
  33.          
  34. endmodule
  35.  
  36. module show2DigitNumberDec ( // display 2 given decimal digits
  37.     input [7:0] SW,
  38.     output [9:0] LEDR,
  39.     output [0:6] HEX0, HEX1);
  40.    
  41.     assign LEDR[7:0] = SW[7:0];
  42.    
  43.     wire [0:3]sw1 = SW[3:0];
  44.     wire [0:3]sw2 = SW[7:4];
  45.     reg led8 = 0;
  46.     reg led9 = 0;
  47.    
  48.     showDigit ex1(SW[3:0], HEX0);
  49.     showDigit ex2(SW[7:4], HEX1);
  50.    
  51.     assign LEDR[8] = led8;
  52.     assign LEDR[9] = led9;
  53.    
  54.     always @(*)
  55.         begin
  56.             if(sw1 > 4'b1001)
  57.                 led8 = 1;
  58.             else
  59.                 led8 = 0;
  60.            
  61.             if(sw2 > 4'b1001)
  62.                 led9 = 1;
  63.             else
  64.                 led9 = 0;
  65.         end
  66.        
  67. endmodule
  68.  
  69.  
  70.  
  71. // 2
  72. module showDigitHex ( //show a given 4-bit number on given display
  73.     input [3:0] SW,
  74.     output reg [0:6] HEX0);
  75.    
  76.     always @(*)
  77.         case(SW)
  78.             4'b0000: HEX0 = ~7'b1111110;// 0
  79.             4'b0001: HEX0 = ~7'b0110000;// 1
  80.             4'b0010: HEX0 = ~7'b1101101;// 2
  81.             4'b0011: HEX0 = ~7'b1111001;// 3
  82.             4'b0100: HEX0 = ~7'b0110011;// 4
  83.             4'b0101: HEX0 = ~7'b1011011;// 5
  84.             4'b0110: HEX0 = ~7'b1011111;// 6
  85.             4'b0111: HEX0 = ~7'b1110000;// 7
  86.             4'b1000: HEX0 = ~7'b1111111;// 8
  87.             4'b1001: HEX0 = ~7'b1111011;// 9
  88.             4'b1010: HEX0 = ~7'b1110111;// A
  89.             4'b1011: HEX0 = ~7'b0011111;// b
  90.             4'b1100: HEX0 = ~7'b1001110;// C
  91.             4'b1101: HEX0 = ~7'b0111101;// d
  92.             4'b1110: HEX0 = ~7'b1001111;// E
  93.             4'b1111: HEX0 = ~7'b1000111;// F
  94.         endcase
  95.        
  96. endmodule
  97.  
  98. module show2DigitNumberHex ( // display 2 given hexadecimal digits
  99.     input [7:0] SW,
  100.     output [7:0] LEDR,
  101.     output [0:6] HEX0, HEX1);
  102.    
  103.     assign LEDR[7:0] = SW[7:0];
  104.    
  105.     wire [0:3]sw1 = SW[3:0];
  106.     wire [0:3]sw2 = SW[7:4];
  107.    
  108.     showDigit ex1(SW[3:0], HEX0);
  109.     showDigit ex2(SW[7:4], HEX1);
  110.    
  111. endmodule
  112.  
  113.  
  114.  
  115. //3
  116. module ps3 ( // binary to bcd
  117.     input [3:0] SW,
  118.     output [0:6] HEX0, HEX1);
  119.    
  120.     wire [0:3]sw1 = SW[3:0];
  121.     reg tens = 4'b0000;
  122.    
  123.     reg [0:3] n1;
  124.    
  125.    
  126.     showDigit ex1(n1, HEX0);
  127.     showDigit ex2(tens, HEX1);
  128.    
  129.    
  130.     always @(*)
  131.         begin
  132.             if(sw1 > 4'b1001)
  133.                 tens = 4'b0001;
  134.             else
  135.                 tens = 4'b0000;
  136.         end
  137.    
  138. endmodule
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top