Advertisement
7isenko

Untitled

Apr 20th, 2022
1,641
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: 19.04.2022 22:36:20
  7. // Design Name:
  8. // Module Name: hypotenuse_test
  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 hypotenuse_test();
  24.     reg[7:0] a, b;
  25.     reg clk, rst;
  26.     reg start;
  27.     wire[8:0] rez;
  28.     wire busy;
  29.     wire[16:0] sum;
  30.    
  31.     hypotenuse my_hypotenuse(clk, rst, start, a, b, rez, busy, sum);
  32.    
  33.     initial begin
  34.         a = 15; b = 30; // 33
  35.         test();
  36.        
  37.         a = 3; b = 4; // 5
  38.         test();
  39.        
  40.         a = 6; b = 8; // 10
  41.         test();
  42.        
  43.         a = 10; b = 100; // 100
  44.         test();
  45.        
  46.         a = 0; b = 0; // 0
  47.         test();
  48.        
  49.         a = 125; b = 125; // 176
  50.         test();
  51.        
  52.         a = 255; b = 255; // 360
  53.         test();
  54.        
  55.         clk = 0; #10
  56.         $stop;
  57.     end
  58.  
  59.     task test;
  60.         begin
  61.             start = 0;
  62.        
  63.             clk = 0; #10
  64.        
  65.             clk = 1; rst = 1; #10
  66.      
  67.             clk = 0; rst = 0; #10
  68.             start = 1;
  69.        
  70.             clk = 1; #10
  71.             start = 0;
  72.             clk = 0; #10 clk = 1; #10;
  73.        
  74.             while(busy)
  75.             begin
  76.                 clk = 0;
  77.                 #10
  78.                 clk = 1;
  79.                 #10;
  80.             end
  81.         end
  82.     endtask
  83. endmodule
  84.  
  85.  
  86.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement