Advertisement
Weesla

delay_line.v

Mar 16th, 2017
188
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module delay_line(
  2. input            clk,
  3. input            rst,
  4. input      [7:0] in_r,
  5. input      [7:0] in_g,
  6. input      [7:0] in_b,
  7. input      [2:0] in_c,
  8. output reg [7:0] out_r,
  9. output reg [7:0] out_g,
  10. output reg [7:0] out_b,
  11. output reg [2:0] out_c
  12. );
  13.  
  14. reg [7:0] in_r_p1;
  15. reg [7:0] in_r_p2;
  16. reg [7:0] in_r_p3;
  17.  
  18. reg [7:0] in_g_p1;
  19. reg [7:0] in_g_p2;
  20. reg [7:0] in_g_p3;
  21.  
  22. reg [7:0] in_b_p1;
  23. reg [7:0] in_b_p2;
  24. reg [7:0] in_b_p3;
  25.  
  26. reg [2:0] in_c_p1;
  27. reg [2:0] in_c_p2;
  28. reg [2:0] in_c_p3;
  29.  
  30.  
  31. //Generate delays to match with the latency required for YUV generation.
  32. always @(posedge clk)
  33. begin
  34.     if(rst) begin
  35.         in_r_p1 <=8'd0;
  36.         in_r_p2 <= 8'd0;
  37.         in_r_p3 <= 8'd0;
  38.         out_r <= 8'd0;
  39.          
  40.           in_g_p1 <=8'd0;
  41.         in_g_p2 <= 8'd0;
  42.         in_g_p3 <= 8'd0;
  43.         out_g <= 8'd0;
  44.          
  45.           in_b_p1 <=8'd0;
  46.         in_b_p2 <= 8'd0;
  47.         in_b_p3 <= 8'd0;
  48.         out_b <= 8'd0;
  49.          
  50.           in_c_p1 <=3'd0;
  51.         in_c_p2 <= 3'd0;
  52.         in_c_p3 <= 3'd0;
  53.         out_b <= 3'd0;
  54.          
  55.     end else begin
  56.         in_r_p1 <= in_r;
  57.         in_r_p2 <= in_r_p1;
  58.         in_r_p3 <= in_r_p2;
  59.         out_r   <= in_r_p3;
  60.          
  61.          in_g_p1 <= in_g;
  62.         in_g_p2 <= in_g_p1;
  63.         in_g_p3 <= in_g_p2;
  64.         out_g   <= in_g_p3;
  65.          
  66.          in_b_p1 <= in_b;
  67.         in_b_p2 <= in_b_p1;
  68.         in_b_p3 <= in_b_p2;
  69.         out_b   <= in_b_p3;
  70.          
  71.          in_c_p1 <= in_c;
  72.         in_c_p2 <= in_c_p1;
  73.         in_c_p3 <= in_c_p2;
  74.         out_c   <= in_c_p3;
  75.        
  76.          
  77.     end
  78. end
  79.  
  80.  
  81.  
  82. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement