OpenCores
URL https://opencores.org/ocsvn/socgen/socgen/trunk

Subversion Repositories socgen

[/] [socgen/] [trunk/] [common/] [opencores.org/] [cde/] [ip/] [mult/] [sim/] [testbenches/] [verilog/] [top] - Blame information for rev 135

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 131 jt_eaton
 
2
 
3
 
4
reg [31:0]  a_in_R;
5
reg [31:0]  b_in_R;
6
reg [63:0]  mul_prod_exp_R;
7
reg   alu_op_mul_R;
8
reg   ex_freeze_R;
9
reg   mask_R;
10
 
11
 
12
 
13 133 jt_eaton
assign   mul_prod_exp_P =  mul_prod_exp_R;
14
 
15 131 jt_eaton
assign a_in       = a_in_R;
16
assign b_in       = b_in_R;
17
assign alu_op_mul = alu_op_mul_R;
18
assign ex_freeze  = ex_freeze_R;
19
 
20
 
21
 
22 133 jt_eaton
assign   mask =  {32{mask_R}};
23 131 jt_eaton
 
24
 
25 135 jt_eaton
`ifndef SYNTHESIS
26 131 jt_eaton
 
27
  task u_cmp;
28
    input  [31:0] a_in;
29
    input  [31:0] b_in;
30
    input  [31:0] exp;
31
 
32
     begin
33
      test.a_in_R <= a_in;
34
      test.b_in_R <= b_in;
35
      test.mul_prod_exp_R <= exp;
36
      test.alu_op_mul_R  <= 1'b1;
37
      test.ex_freeze_R    <= 1'b1;
38
      test.cg.next(1);
39
      while(mul_stall)        test.cg.next(1);
40
      test.mask_R  <= 1'b1;
41
      $display("%t %m   cycle %x %x %x",$realtime,a_in,b_in,exp );
42
      test.alu_op_mul_R  <= 1'b0;
43
      test.ex_freeze_R   <= 1'b0;
44
      test.cg.next(1);
45
      test.mask_R  <= 1'b0;
46
 
47
   end
48
  endtask
49
 
50
`endif
51
 
52
 
53
 
54
assign STOP = 1'b0;
55
assign BAD = 1'b0;

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.