aboutsummaryrefslogtreecommitdiffstats
path: root/dot_product/dot_product/dot_product/dot_product.v9/scverify/mc_dut_wrapper.h
blob: 5cbf161de251cf8d02fc00035f2cc3af17f9c8f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
// ----------------------------------------------------------------------------
// SystemC Wrapper for Catapult Design HDL Netlist
//
//    HLS version: 2011a.126 Production Release
//       HLS date: Wed Aug  8 00:52:07 PDT 2012
//  Flow Packages: HDL_Tcl 2008a.1, SCVerify 2009a.1
//
//   Generated by: mg3115@EEWS104A-015
// Generated date: Tue Mar 01 14:54:48 +0000 2016
//
// ----------------------------------------------------------------------------
#ifndef INCLUDED_CCS_DUT_WRAPPER_H
#define INCLUDED_CCS_DUT_WRAPPER_H

#ifndef SC_USE_STD_STRING
#define SC_USE_STD_STRING
#endif

#include <systemc.h>
#include <mc_simulator_extensions.h>

#if defined(CCS_DUT_SYSC)

// alias ccs_DUT_wrapper to namespace enclosure of either cycle or RTL SystemC netlist
namespace ccs_design {
#if defined(CCS_DUT_CYCLE)
//#include "cycle.cxx"
#include "cycle.cxx"
#else
#if defined(CCS_DUT_RTL)
//#include "rtl.cxx"
#include "rtl.cxx"
#endif
#endif
}
typedef ccs_design::HDL::dot_product ccs_DUT_wrapper;

#else

// Create a foreign module wrapper around the HDL
class ccs_DUT_wrapper : public mc_foreign_module
{
public:
   #ifndef VCS_SYSTEMC
   // Interface Ports
   sc_in<bool> clk;
   sc_in< sc_logic > en;
   sc_in< sc_logic > arst_n;
   sc_in< sc_lv<8> > input_a_rsc_z;
   sc_in< sc_lv<8> > input_b_rsc_z;
   sc_out< sc_lv<8> > output_rsc_z;
   #endif
   
public:
   ccs_DUT_wrapper(const sc_module_name& nm, const char *hdl_name)
      : mc_foreign_module(nm,hdl_name)
      #ifndef VCS_SYSTEMC
      ,clk("clk")
      ,en("en")
      ,arst_n("arst_n")
      ,input_a_rsc_z("input_a_rsc_z")
      ,input_b_rsc_z("input_b_rsc_z")
      ,output_rsc_z("output_rsc_z")
      #endif
      {
          // elaborate_foreign_module(hdl_name);
      }
      
      ~ccs_DUT_wrapper() {}
   };
   
   #endif

#endif