Advertisement
Guest User

MultP_tb.sv

a guest
Jun 1st, 2019
88
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: 17.05.2019 16:59:48
  7. // Design Name:
  8. // Module Name: Mp_tb
  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 Mp_tb();
  24.     logic [15:0] a;
  25.     logic [15:0] b;
  26.     logic clk;
  27.     logic reset;
  28.     logic [15:0] result;
  29.    
  30.     always #5 clk=!clk;
  31.    
  32.     Mp lfqd (
  33.         .a(a),
  34.         .b(b),
  35.         .clk(clk),
  36.         .reset(reset),
  37.         .result(result)
  38.        );
  39.        
  40.     initial begin
  41.         clk = 0;
  42.         reset = 1;
  43.         #20;
  44.         reset = 0;
  45.         //nan
  46.         a = 16'b0_11111_0000000001;
  47.         b = 16'b1_01111_0000000000;
  48.         #20;
  49.         b = 16'b0_11111_0000000001;
  50.         a = 16'b1_01111_0000000000;
  51.         #20;
  52.         //0*inf
  53.         a = 16'b0_00000_0000000000;
  54.         b = 16'b1_11111_0000000000;
  55.         #20;
  56.         b = 16'b0_00000_0000000000;
  57.         a = 16'b1_11111_0000000000;
  58.         #20;
  59.         //0*num
  60.         a = 16'b0_00000_0000000000;
  61.         b = 16'b1_10000_0000000000;
  62.         #20;
  63.         b = 16'b0_00000_0000000000;
  64.         a = 16'b1_10000_0000000000;
  65.         #20;
  66.         //inf*num
  67.         a = 16'b1_11111_0000000000;
  68.         b = 16'b1_10000_0000000000;
  69.         #20;
  70.         b = 16'b1_11111_0000000000;
  71.         a = 16'b1_10000_0000000000;
  72.         #20;
  73.         //-4*(-4)
  74.         a = 16'b1_10001_0000000000;
  75.         b = 16'b1_10001_0000000000;
  76.         #20;
  77.         //-4*(1/4)
  78.         a = 16'b1_10001_0000000000;
  79.         b = 16'b0_01101_0000000000;
  80.         #20;  
  81.         //1.5*1.5 = 1.125*2
  82.         a = 16'b1_01111_1000000000;
  83.         b = 16'b1_01111_1000000000;  
  84.         #20;
  85.         a = 16'b0_10111_0000000000;
  86.         b = 16'b1_10111_0000000000;
  87.         //256*256
  88.         #20;
  89.         a = 16'b0_00111_0000000000;
  90.         b = 16'b0_00110_0000000000;
  91.         //(1/256)*(1/512)
  92.         #20;
  93.     end
  94. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement