Advertisement
Guest User

Untitled

a guest
Jul 3rd, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module v_5_1(
  2.     input clk,
  3.     input BTN2,
  4.     output reg[7:4] LED
  5.     )
  6.     reg [25:0] Q = 0;
  7.     always @ (posedge clk)
  8.         if(BTN2)
  9.                 cnt<=4'b0000;
  10.         else
  11.             if(Q==49999999)
  12.                 LED<={LED[2:0],~LED[3]};
  13.                 Q<=0;
  14.             else
  15.                 Q<=Q+1;
  16. endmodule
  17. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  18. module v_5_2(
  19.     input clk,
  20.     input SW7,
  21.     output [3:0] AN,
  22.     output reg [6:0] SEG
  23.     );
  24.     reg [3:0] cnt;
  25.     reg [25:0] Q = 0;
  26.     assign AN=4'b1110;
  27.     always @ (posedge clk)
  28.         if(SW7==0)
  29.             cnt<=0;
  30.         else
  31.             if(Q==/*49999999*/2)
  32.             begin
  33.                 cnt<=cnt+1;
  34.                 Q<=0;
  35.             end
  36.             else
  37.                 Q<=Q+1;
  38.    always @(cnt)
  39.       case (cnt)
  40.           4'b0001 : SEG = 7'b1111001;   // 1
  41.           4'b0010 : SEG = 7'b0100100;   // 2
  42.           4'b0011 : SEG = 7'b0110000;   // 3
  43.           4'b0100 : SEG = 7'b0011001;   // 4
  44.           4'b0101 : SEG = 7'b0010010;   // 5
  45.           4'b0110 : SEG = 7'b0000010;   // 6
  46.           4'b0111 : SEG = 7'b1111000;   // 7
  47.           4'b1000 : SEG = 7'b0000000;   // 8
  48.           4'b1001 : SEG = 7'b0010000;   // 9
  49.           4'b1010 : SEG = 7'b0001000;   // A
  50.           4'b1011 : SEG = 7'b0000011;   // b
  51.           4'b1100 : SEG = 7'b1000110;   // C
  52.           4'b1101 : SEG = 7'b0100001;   // d
  53.           4'b1110 : SEG = 7'b0000110;   // E
  54.           4'b1111 : SEG = 7'b0001110;   // F
  55.           default : SEG = 7'b1000000;   // 0
  56.       endcase
  57. endmodule
  58. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  59. module v_5_3(
  60.     input clk,
  61.     input SW1,
  62.     output reg[7:4] LED
  63.     );
  64. reg [25:0] Q = 0;
  65. always @ (posedge clk)
  66.     if (SW1==0)
  67.         LED<=4'b1000;
  68.     else
  69.         if(Q==49999999)
  70.             begin
  71.                 LED<={LED[4],LED[7:5]};
  72.                 Q<=0;
  73.             end
  74.         else
  75.             Q<=Q+1;
  76. endmodule
  77. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  78. module v_5_4(
  79.     input clk,
  80.     input SW0,
  81.     output reg[7:4] LED) ;
  82. reg [25:0] Q =0;
  83. reg [3:1] cntr;
  84. always @ (posedge clk)
  85.     cntr<=cntr+SW0;
  86.     if (Q== 49999999)
  87.         begin
  88.             cntr<=cntr+2;
  89.             Q<=0;
  90.         end
  91.     else
  92.         Q<=Q+1;
  93. LED<=cntr;
  94. endmodule
  95. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  96. module v_5_5(
  97.     input clk,
  98.     input SW1,
  99.     input SW2,
  100.     output reg [7:4] LED
  101.     );
  102.     reg [25:0] Q;
  103.     reg [3:0] shr=4'b0001;
  104.     always @ (posedge clk)
  105.     begin
  106.         if(SW1==0)
  107.             shr<=4'b0001;
  108.         else
  109.             if(Q==49999999)
  110.                 begin
  111.                     Q<=0;
  112.                     if(SW2)
  113.                         shr<={shr[0],shr[3:1]};
  114.                     else
  115.                         shr<={shr[2:0],shr[3]};
  116.                 end
  117.             else
  118.                 Q<=Q+1;
  119.     LED<=shr;
  120.     end
  121. endmodule
  122. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  123. module v_5_6(
  124.     input clk,
  125.     input BTN0,
  126.     output reg [7:0] LED);
  127.     reg [25:0] Q =0;
  128.     reg [7:0] shr=8'b00000001;
  129.     reg dir=0// 0-balra|1-jobb
  130.     always @ (posedge clk)
  131.         begin
  132.         if(BTN0)
  133.             shr<=8'b00000001;
  134.         else
  135.             if(Q==49999999)
  136.                 begin
  137.                     if(shr[7]) dir<=1;if(shr[0]) dir<=0;
  138.                     if (dir)
  139.                         shr<={shr[0],shr[7:1]};
  140.                     else
  141.                         shr<={shr[6:0],shr[7]};
  142.                 end
  143.             else
  144.                 Q<=Q+1;
  145.         LED<=shr;
  146.         end
  147. endmodule
  148. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  149. module v_5_7(
  150.     input clk,
  151.     input SW0;
  152.     output LD0;
  153.     );
  154.     reg [25:0] Q;
  155.     reg d=1;
  156.     always @ (posedge clk)
  157.         if( Q==49999999)
  158.             begin
  159.                 if(SW0)
  160.                     d=~d;
  161.                 else
  162.                     d=1;
  163.             end
  164.         else
  165.             Q<=Q+1;
  166.         LD0<=d;
  167. endmodule
  168. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  169. `timescale 1ns / 1ps
  170. module v_5_8(
  171.     input clk,
  172.     output reg [6:0] SEG,
  173.     output reg [3:0] AN);
  174.     reg[25:0] mp =0;
  175.     reg [10:0] khz =0;
  176.     reg[3:0] shr=4'b1110;
  177.     reg[3:0] shr2=4'b1110;
  178.     always @ (posedge clk)
  179.         begin
  180.             if(mp_en)
  181.                 mp<=0;
  182.             else
  183.                 mp<=mp+1;
  184.         end
  185.     assign mp_en=(mp==20);
  186.     always @ (posedge clk)
  187.         begin
  188.             if(khz_en)
  189.                 khz<=0;
  190.             else
  191.                 khz<=khz+1;
  192.         end
  193.     assign khz_en=(khz==5);
  194.     always @ (posedge clk)
  195.         begin
  196.             if(khz_en)
  197.                 shr<={shr[2:0],shr[3]};
  198.             else
  199.                 shr<=shr;
  200.         AN<=shr;
  201.         end
  202.     always @ (posedge clk)
  203.         begin
  204.             if(mp_en)
  205.                 shr2<={shr[2:0],shr[3]};
  206.             else
  207.                 shr2<=shr2;
  208.         end
  209.     always @ (posedge clk)
  210.         if(shr2==shr) SEG<=7'b0111111; else SEG<=7'b0000000;
  211. endmodule
  212. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  213. module v_5_9(
  214.     input clk,
  215.     input SW0,
  216.     output reg[6:0] SEG,
  217.     output reg[3:0] AN,
  218.     output LED0,
  219.     output LED1);
  220.     reg [25:0] Q =0;
  221.     reg [3:0] cnt=0;
  222.     reg [3:0] cntr=0;
  223.     assign AN<=4'b1110;
  224.     always @(posedge clk)
  225.         if(Q==49999999)
  226.             begin
  227.             if(SW0)
  228.                 begin
  229.                 if(cnt==9) cnt<=0;
  230.                 cnt<=cnt+1;
  231.                 end
  232.             else
  233.                 begin
  234.                 if(cnt==0) cnt<=9;
  235.                 cnt<=cnt-1;
  236.                 end
  237.             end
  238.         else
  239.             Q<=Q+1;
  240.         if(Q==1000) cntr<=cnt;
  241.    always @(cntr)
  242.       case (cntr)
  243.           4'b0001 : SEG = 7'b1111001;   // 1
  244.           4'b0010 : SEG = 7'b0100100;   // 2
  245.           4'b0011 : SEG = 7'b0110000;   // 3
  246.           4'b0100 : SEG = 7'b0011001;   // 4
  247.           4'b0101 : SEG = 7'b0010010;   // 5
  248.           4'b0110 : SEG = 7'b0000010;   // 6
  249.           4'b0111 : SEG = 7'b1111000;   // 7
  250.           4'b1000 : SEG = 7'b0000000;   // 8
  251.           4'b1001 : SEG = 7'b0010000;   // 9
  252.           default : SEG = 7'b1000000;   // 0
  253.       endcase
  254. endmodule
  255. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement