Advertisement
Guest User

Untitled

a guest
Jul 4th, 2017
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. module proba (
  2.     input clk,
  3.     input rst,
  4.     input en,
  5.     output [7:0] r
  6.     );
  7.    
  8. reg [7:0] shr = 8'b00000001;
  9. reg dir;
  10. wire first, last;
  11.    
  12. always @ (posedge clk)
  13. if (rst)
  14.     shr <= 8'b00000001;
  15. else if (en)
  16.     if (dir)
  17.         shr <= { 1'b0, shr[7:1] }; //jobbra
  18.     else
  19.         shr <= { shr[6:0], 1'b0 }; //balra
  20.        
  21. assign first = (shr[0] == 1);
  22. assign last = (shr[7] == 1);
  23.  
  24. always @ (posedge clk)
  25.  
  26. if (rst)
  27.     dir <= 0;
  28. else if (en)
  29.     if (first|last) dir<=~dir;
  30.    
  31. assign r = shr;
  32.  
  33. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement