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

Subversion Repositories ahb2wishbone

[/] [ahb2wishbone/] [trunk/] [svtb/] [avm_svtb/] [ahb_wb_env.svh] - Blame information for rev 5

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 5 toomuch
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////
2
//*****************************************************************************************************************
3
// Copyright (c) 2007 TooMuch Semiconductor Solutions Pvt Ltd.
4
//
5
//File name             :       ahb_wb_env.svh
6
//Designer              :       Sanjay kumar
7
//Date                  :       3rd Aug'2007
8
//Description           :       ahb_wb_env:Enviornment class to connect all the analysis and operational components.
9
//Revision              :       1.0
10
//*****************************************************************************************************************
11
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////
12
 
13
// env class
14
import avm_pkg::*;
15
import ahb_wb_pkg::*;
16
import global::*;
17
 
18
class ahb_wb_env extends avm_env;
19
 
20
virtual ahb_wb_if pin_if;// interface
21
 
22
// operational components
23
ahb_wb_stim_gen    stim_gen;
24
ahb_wb_driver      driver;
25
ahb_wb_responder   responder;
26
 
27
// analysis components
28
ahb_wb_monitor     monitor;
29
ahb_wb_scoreboard  scoreboard;
30
ahb_wb_coverage   coverage;
31
 
32
// tlm fifo
33
tlm_fifo #(ahb_req_pkt) fifo;
34
 
35
avm_analysis_port#(monitor_pkt) e_ap;
36
        function new (virtual ahb_wb_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
                scoreboard =new("scoreboard",this);
42
                coverage   =new("coverage",this);
43
                fifo       =new("fifo",this);
44
                e_ap       =new("e_ap",this);
45
                pin_if        =pin;
46
                monitor.ap_sb =e_ap;
47
        endfunction
48
 
49
        function void connect();
50
                stim_gen.initiator_port.connect(fifo.blocking_put_export);
51
                driver.request_port.connect(fifo.nonblocking_get_export);
52
                monitor.ap_sb.register(scoreboard.ap_if);
53
                monitor.ap_sb.register(coverage.ap_if);
54
        endfunction
55
 
56
        function void import_connections();
57
                driver.pin_if    = pin_if;
58
                responder.pin_if = pin_if;
59
                monitor.pin_if   = pin_if;
60
        endfunction
61
 
62
 
63
                task run;
64
                        fork
65
                        stim_gen.stimulus();
66
                        responder.wait_state_by_slave();
67
                        #625;
68
                        join
69
                endtask
70
 
71
endclass
72
 
73
 
74
 

powered by: WebSVN 2.1.0

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