Advertisement
Guest User

Untitled

a guest
Aug 24th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2. //////////////////////////////////////////////////////////////////////////////////
  3. // Company:
  4. // Engineer:
  5. //
  6. // Create Date: 24.08.2018 03:27:11
  7. // Design Name:
  8. // Module Name: matrix_index
  9. // Project Name:
  10. // Target Devices:
  11. // Tool Versions:
  12. // Description:
  13. //
  14. // Dependencies:
  15. //
  16. // Revision:
  17. // Revision 0.01 - File Created
  18. // Additional Comments:
  19. //
  20. //////////////////////////////////////////////////////////////////////////////////
  21.  
  22.  
  23. module matrix_index(
  24.     input clk,
  25.     input draw,             // dentro de la imagen?
  26.     output [1:0] Mx, My
  27.     );
  28.    
  29.     logic [1:0] x, y, x_next, y_next;
  30.     logic countdelay;
  31.    
  32.     assign {Mx, My} = {x, y};
  33.    
  34.     initial begin
  35.         x = 'd0;
  36.         x_next = 'd0;
  37.         y = 'd0;
  38.         y_next = 'd0;
  39.     end
  40.    
  41.     always_ff @(posedge clk)
  42.     begin
  43.         countdelay = 'd0;
  44.         if (draw == 1'b1)
  45.             countdelay <= 'd1;
  46.     end
  47.    
  48.     always_ff @(posedge clk) begin
  49.         if (x == 'd3) begin
  50.             x_next = 'd0;
  51.         end else if (y == 'd3) begin
  52.              y_next = 'd0;
  53.         end else if (countdelay) begin
  54.             x_next = x + 'd1;
  55.         end else begin
  56.             x_next = x;
  57.             y_next = y;
  58.         end
  59.     end
  60.        
  61.     always_ff @(negedge draw) begin
  62.         y_next = y + 'd1;
  63.         x_next = 'd0;
  64.     end        
  65.        
  66.     always_ff @(posedge clk) begin
  67.         x <= x_next;
  68.         y <= y_next;
  69.     end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement