Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2. module rategen_1(
  3.     input clk,
  4.     output cy1
  5.     );
  6. reg [25:0] q = 0;
  7. always @(posedge clk)
  8.     if(~cy1)
  9.         q <= q+1;
  10.     else q <= 0;   
  11. //assign cy = (q == 49999999);
  12. assign cy1 = (q == 4); //for testing purpose
  13. endmodule
  14.  
  15. ////////////////////////////////////////////////
  16.  
  17. `timescale 1ns / 1ps
  18. module rategen_2(
  19.     input clk,
  20.     output cy2
  21.     );
  22. reg [25:0] q = 0;
  23. always @(posedge clk)
  24.     if(~cy2)
  25.         q <= q+2;
  26.     else q <= 0;   
  27. //assign cy = (q == 49999999);
  28. assign cy2 = (q == 4); //for testing purpose
  29. endmodule
  30.  
  31. ///////////////////////////////////////////////
  32.  
  33. `timescale 1ns / 1ps
  34. module melyik(
  35.     input clk,
  36.     input dir,
  37.      input ce1,ce2,
  38.     output led
  39.     );
  40. reg ld;
  41. always @(posedge clk)
  42.     if(dir==1)
  43.         ld <= (~ce2);
  44.     else
  45.         ld <= ce1;     
  46. assign led=ld;     
  47. endmodule
  48.  
  49. //////////////////////////////////////////
  50.  
  51. `timescale 1ns / 1ps
  52. module top_module(
  53.     input clk,
  54.     input SW0,
  55.     output LED
  56.     );   
  57. reg dir;
  58. wire ce1, ce2;
  59. always @(posedge clk)
  60.     dir <= SW0;
  61. rategen_1 gen1(
  62.     .clk(clk),
  63.     .cy1(ce1)
  64.     );
  65. rategen_2 gen2(
  66.     .clk(clk),
  67.     .cy2(ce2)
  68.     );   
  69. melyik gen1_gen2(
  70.     .clk(clk),
  71.     .dir(dir),
  72.      .ce1(ce1),
  73.      .ce2(ce2),
  74.     .led(LED)
  75.     );   
  76. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement