sc_signal.hh (12912:8a06e701c31a) sc_signal.hh (12933:9fb537a605f6)
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 17 unchanged lines hidden (view full) ---

26 *
27 * Authors: Gabe Black
28 */
29
30#ifndef __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
31#define __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
32
33#include <iostream>
1/*
2 * Copyright 2018 Google, Inc.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions are
6 * met: redistributions of source code must retain the above copyright
7 * notice, this list of conditions and the following disclaimer;
8 * redistributions in binary form must reproduce the above copyright

--- 17 unchanged lines hidden (view full) ---

26 *
27 * Authors: Gabe Black
28 */
29
30#ifndef __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
31#define __SYSTEMC_EXT_CHANNEL_SC_SIGNAL_HH__
32
33#include <iostream>
34#include <string>
35#include <vector>
34
35#include "../core/sc_module.hh" // for sc_gen_unique_name
36#include "../core/sc_prim.hh"
37#include "sc_signal_inout_if.hh"
38#include "warn_unimpl.hh" // for warn_unimpl
39
40namespace sc_core
41{
42
43class sc_port_base;
36
37#include "../core/sc_module.hh" // for sc_gen_unique_name
38#include "../core/sc_prim.hh"
39#include "sc_signal_inout_if.hh"
40#include "warn_unimpl.hh" // for warn_unimpl
41
42namespace sc_core
43{
44
45class sc_port_base;
46class sc_trace_file;
44
47
48// Nonstandard
49// Despite having a warning "FOR INTERNAL USE ONLY!" in all caps above this
50// class definition in the Accellera implementation, it appears in their
51// examples and test programs, and so we need to have it here as well.
52struct sc_trace_params
53{
54 sc_trace_file *tf;
55 std::string name;
56
57 sc_trace_params(sc_trace_file *tf, const std::string &name) :
58 tf(tf), name(name)
59 {}
60};
61typedef std::vector<sc_trace_params *> sc_trace_params_vec;
62
45template <class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER>
46class sc_signal : public sc_signal_inout_if<T>,
47 public sc_prim_channel
48{
49 public:
50 sc_signal() : sc_signal_inout_if<T>(),
51 sc_prim_channel(sc_gen_unique_name("signal"))
52 {}

--- 381 unchanged lines hidden ---
63template <class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER>
64class sc_signal : public sc_signal_inout_if<T>,
65 public sc_prim_channel
66{
67 public:
68 sc_signal() : sc_signal_inout_if<T>(),
69 sc_prim_channel(sc_gen_unique_name("signal"))
70 {}

--- 381 unchanged lines hidden ---