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

Subversion Repositories tv80

[/] [tv80/] [trunk/] [sc_env/] [app_localcfg/] [it_cfg_driver.cpp] - Blame information for rev 108

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 104 ghutchis
#include "it_cfg_driver.h"
2
 
3
void it_cfg_driver::add_queue (uint32_t d)
4
{
5
  send_queue.push (d);
6
}
7
 
8
void it_cfg_driver::event()
9
{
10
  if (reset_n == 0) {
11
    cfgi_irdy = 0;
12
    cfgi_addr = 0;
13
    cfgi_write = 0;
14
    cfgi_wr_data = 0;
15
  } else {
16
    if (cfgi_irdy == 0) {
17
      // check the send queue
18
      if (!send_queue.empty()) {
19
        cfgi_irdy = 1;
20
        cfgi_addr = addr++;
21
        cfgi_wr_data = send_queue.front();
22
        send_queue.pop();
23
        cfgi_write = 1;
24
      }
25
    } else {
26
      if (cfgi_trdy == 1) {
27
        // check the send queue and send data
28
        if (!send_queue.empty()) {
29
          cfgi_irdy = 1;
30
          cfgi_addr = addr++;
31
          cfgi_wr_data = send_queue.front();
32
          send_queue.pop();
33
          cfgi_write = 1;
34
        } else {
35
          cfgi_irdy = 0;
36
        }
37
      }
38
    }
39 108 ghutchis
 
40
    while (!send_queue.empty() && (send_queue.front() == 0)) {
41
      send_queue.pop();
42
      addr++;
43
    }
44 104 ghutchis
  }
45
}

powered by: WebSVN 2.1.0

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