sc_signal.hh (13205:e965ce37608e) | sc_signal.hh (13245:c666c5d4996b) |
---|---|
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 --- 31 unchanged lines hidden (view full) --- 40#include "../dt/bit/sc_logic.hh" 41#include "sc_signal_inout_if.hh" 42#include "warn_unimpl.hh" // for warn_unimpl 43 44namespace sc_core 45{ 46 47class sc_port_base; | 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 --- 31 unchanged lines hidden (view full) --- 40#include "../dt/bit/sc_logic.hh" 41#include "sc_signal_inout_if.hh" 42#include "warn_unimpl.hh" // for warn_unimpl 43 44namespace sc_core 45{ 46 47class sc_port_base; |
48class sc_trace_file; | |
49 | 48 |
50// Nonstandard 51// Despite having a warning "FOR INTERNAL USE ONLY!" in all caps above this 52// class definition in the Accellera implementation, it appears in their 53// examples and test programs, and so we need to have it here as well. 54struct sc_trace_params 55{ 56 sc_trace_file *tf; 57 std::string name; 58 59 sc_trace_params(sc_trace_file *tf, const std::string &name) : 60 tf(tf), name(name) 61 {} 62}; 63typedef std::vector<sc_trace_params *> sc_trace_params_vec; 64 | |
65template <class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER> 66class sc_signal : public sc_signal_inout_if<T>, 67 public sc_prim_channel 68{ 69 public: 70 sc_signal() : sc_signal_inout_if<T>(), 71 sc_prim_channel(sc_gen_unique_name("signal")), 72 m_cur_val(T()), m_new_val(T()), _changeStamp(~0ULL) --- 419 unchanged lines hidden --- | 49template <class T, sc_writer_policy WRITER_POLICY=SC_ONE_WRITER> 50class sc_signal : public sc_signal_inout_if<T>, 51 public sc_prim_channel 52{ 53 public: 54 sc_signal() : sc_signal_inout_if<T>(), 55 sc_prim_channel(sc_gen_unique_name("signal")), 56 m_cur_val(T()), m_new_val(T()), _changeStamp(~0ULL) --- 419 unchanged lines hidden --- |