Advertisement
Guest User

Part 4 Test

a guest
Feb 1st, 2015
246
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. `timescale 1ns / 1ps
  2.  
  3. ////////////////////////////////////////////////////////////////////////////////
  4. // Company:
  5. // Engineer:
  6. //
  7. // Create Date:   00:01:45 02/01/2015
  8. // Design Name:   multiply
  9. // Module Name:   C:/Users/rbridges/Desktop/CSE 140L/Lab2Part4/multiplyTest.v
  10. // Project Name:  Lab2Part4
  11. // Target Device:  
  12. // Tool versions:  
  13. // Description:
  14. //
  15. // Verilog Test Fixture created by ISE for module: multiply
  16. //
  17. // Dependencies:
  18. //
  19. // Revision:
  20. // Revision 0.01 - File Created
  21. // Additional Comments:
  22. //
  23. ////////////////////////////////////////////////////////////////////////////////
  24.  
  25. module multiplyTest;
  26.  
  27.     reg [3:0]a;
  28.     reg [3:0]b;
  29.     reg clock;
  30.     // Outputs
  31.     wire [7:0] p;
  32.  
  33.     // Instantiate the Unit Under Test (UUT)
  34.     multiply uut (
  35.         .p(p),
  36.         .a(a),
  37.         .b(b),
  38.         .clock(clock)
  39.     );
  40.  
  41.     initial begin
  42.        
  43.         clock = 0;
  44.         //pos + pos
  45.         #50;
  46.         clock = 1'b1;
  47.         a = 8'b0101;
  48.         b = 8'b1101;
  49.        //     01100010
  50.        
  51.         #50;
  52.         clock = 0;
  53.         //pos + neg
  54.         #50
  55.         clock = 1'b1;
  56.         a = 8'b1111;
  57.         b = 8'b1100;
  58.         //     00000011
  59.  
  60.         #50;
  61.         clock = 0;
  62.         //neg + pos
  63.         #50
  64.         clock = 1'b1;
  65.         a = 8'b1100;
  66.         b = 8'b0101;
  67.         //     00000001
  68.  
  69.         #50;
  70.         clock = 0;
  71.         //neg + neg
  72.         #50
  73.         clock = 1'b1;
  74.         a = 8'b1011;
  75.         b = 8'b1110;
  76.         //     10011100
  77.        
  78.         #50;
  79.         clock = 0;
  80.         //pos - pos
  81.         #50
  82.         clock = 1'b1;
  83.         a = 8'b0101;
  84.         b = 8'b0010;
  85.         //     00101011
  86.        
  87.         #50;
  88.         clock = 0;
  89.         //pos - neg
  90.         #50
  91.         clock = 1'b1;
  92.         a = 8'b0101;
  93.         b = 8'b1110;
  94.         //     01101001
  95.        
  96.         #50;
  97.         clock = 0;
  98.         //neg - pos
  99.         #50
  100.         clock = 1'b1;
  101.         a = 8'b1110;
  102.         b = 8'b0011;
  103.         //     10111011
  104.        
  105.         #50;
  106.         clock = 0;
  107.         //neg - neg
  108.         #50
  109.         clock = 1'b1;
  110.         a = 8'b1011;
  111.         b = 8'b1100;
  112.         //     11101101
  113.        
  114.        
  115.         #50;
  116.         clock = 0;
  117.         //overflow pos + pos
  118.         #50
  119.         clock = 1'b1;
  120.         a = 8'b0000;
  121.         b = 8'b0000;
  122.        
  123.         #50;
  124.         clock = 0;
  125.         //overflow neg + neg
  126.         #50
  127.         clock = 1'b1;
  128.         a = 8'b0011;
  129.         b = 8'b1011;
  130.        
  131.     end
  132.      
  133. endmodule
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement