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

Subversion Repositories wisbone_2_ahb

[/] [wisbone_2_ahb/] [trunk/] [svtb/] [avm_svtb/] [wb_ahb_env.svh] - Blame information for rev 11

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 8 toomuch
//******************************************************************************************************
2
// Copyright (c) 2007 TooMuch Semiconductor Solutions Pvt Ltd.
3
 
4
 
5
//File name             :       wb_ahb_env.svh
6
//Designer              :       Ravi S Gupta
7
//Date                  :       4 Sept, 2007
8
//Description           :       Environment for WISHBONE_AHB Bridge
9
//Revision              :       1.0
10
 
11
//******************************************************************************************************
12
 
13 5 toomuch
// env class
14
import avm_pkg::*;
15
import wb_ahb_pkg::*;
16
import global::*;
17
 
18
class wb_ahb_env extends avm_env;
19
 
20
virtual wb_ahb_if pin_if;// interface
21
 
22
// operational components
23
wb_ahb_stim_gen    stim_gen;
24
wb_ahb_driver      driver;
25
wb_ahb_responder   responder;
26
 
27
// analysis components
28
wb_ahb_monitor     monitor;
29
wb_ahb_coverage    coverage;
30 8 toomuch
wb_ahb_scoreboard  scoreboard;
31 5 toomuch
 
32
tlm_fifo #(wb_req_pkt) fifo;
33
 
34
avm_analysis_port#(monitor_pkt) e_ap;
35
 
36
        function new (virtual wb_ahb_if pin);
37
                stim_gen   =new("stim_gen",this);
38
                driver     =new("driver",this);
39
                responder  =new("responder",this);
40
                monitor    =new("monitor",this);
41
                coverage   =new("coverage", this);
42 8 toomuch
                scoreboard =new("scoreboard", this);
43 5 toomuch
                fifo       =new("fifo",this);
44
                e_ap       =new("e_ap",this);
45
                pin_if        =pin;
46
                monitor.ap_sb =e_ap;
47
 
48
        endfunction
49
 
50
        function void connect();
51
                stim_gen.initiator_port.connect(fifo.blocking_put_export);
52
                driver.request_port.connect(fifo.nonblocking_get_export);
53 8 toomuch
                monitor.ap_sb.register(scoreboard.ap_if);
54 5 toomuch
                monitor.ap_sb.register(coverage.ap_if);
55
        endfunction
56
 
57
        function void import_connections();
58
                driver.pin_if    = pin_if;
59
                responder.pin_if = pin_if;
60
                monitor.pin_if   = pin_if;
61
        endfunction
62
 
63
        task run;
64
                fork
65
                        stim_gen.stimulus();
66
                        responder.wait_state_by_slave();
67 8 toomuch
                        #700;
68 5 toomuch
                join
69
        endtask
70
 
71
endclass
72
 

powered by: WebSVN 2.1.0

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