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

Subversion Repositories lpffir

[/] [lpffir/] [trunk/] [uvm/] [tools/] [easier_uvm_gen/] [examples/] [multi_if/] [include/] [serial_do_drive.sv] - Blame information for rev 4

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 4 vladimirar
task serial_driver::do_drive();
2
  @(posedge vif.clk);
3
  if (req.dir == serial_tx::IN)
4
  begin
5
    vif.data_in <= 1; // Start bit
6
    @(posedge vif.clk);
7
    for (int i = 7; i >= 0 ; i--)
8
    begin
9
      vif.data_in <= req.data[i];
10
      @(posedge vif.clk);
11
    end
12
    vif.data_in <= 0; // Stop bit
13
  end
14
  else
15
  begin
16
    int countdown = 16;
17
    while (vif.data_out == 0 && countdown--)
18
      @(posedge vif.clk);
19
    for (int i = 7; i >= 0 ; i--)
20
    begin
21
      req.data[i] = vif.data_out;
22
      @(posedge vif.clk);
23
    end
24
 end
25
endtask

powered by: WebSVN 2.1.0

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