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

Subversion Repositories pcie_vera_tb

[/] [pcie_vera_tb/] [trunk/] [skip_order_set.vri] - Blame information for rev 8

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 cmagleby
// ===========================================================================
2
// File    : skip_order_set.vri
3
// Author  : cmagleby
4
// Date    : Mon Dec 3 11:03:46 MST 2007
5
// Project : TI PHY design
6
//
7
// Copyright (c) notice
8
// This code adheres to the GNU public license
9
//
10
// ===========================================================================
11
//
12
// $Id: skip_order_set.vri,v 1.1.1.1 2007-12-05 18:37:07 cmagleby Exp $
13
//
14
// ===========================================================================
15
//
16
// $Log: not supported by cvs2svn $
17
//
18
// ===========================================================================
19
// Function : this file generates skip order sets when the timer expires
20
//
21
// ===========================================================================
22
// ===========================================================================
23
#include 
24
 
25
//task to send in skip order sets on a regular basis.
26
task skip_order_set() {
27
  integer time_limit_expire = 0;
28
  integer index = 0;
29
  wait_var(phy_rdy);
30
  while(1) {
31
    time_limit_expire++;
32
    @ (posedge CLOCK);
33
    ti_phy_top.rxdatak16 = 2'b00;
34
    ti_phy_top.rxdata16  = 1'b0;
35
    //1180 symbols clk is 2 symbols
36
    if (time_limit_expire == 1180/2) {
37
      if (!semaphore_get(WAIT,my_semaphore,1))
38
        error ("Semaphore_get returned 0\n");
39
      skip_set = new(*,*,*,*,*,*);
40
      skip_set.build_packet("skip");
41
      for (index = 0; index < skip_set.length; index ++) {
42
        @ (posedge CLOCK);
43
        //ti_phy_top.rxdatak16 = skip_set.temp_packet[index][17:16];
44
        //ti_phy_top.rxdata16  = skip_set.temp_packet[index][15:0];
45
        //adding mailbox
46
        mailbox_put (rx_data_mailbox, {skip_set.temp_packet[index][17:16],skip_set.temp_packet[index][15:0]});
47
        time_limit_expire = 0;
48
      }
49
      semaphore_put (my_semaphore, 1);
50
    }
51
  }
52
}
53
 
54
 
55
task zero_fill(){
56
 
57
  while(1) {
58
    @ (posedge CLOCK);
59
    if (!semaphore_get(WAIT,my_semaphore,1))
60
      error ("Semaphore_get returned 0\n");
61
    mailbox_put (rx_data_mailbox,18'b0);
62
    semaphore_put(my_semaphore, 1);
63
  }
64
}

powered by: WebSVN 2.1.0

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