Ejemplo n.º 1
0
        /// \brief logic output constructor
        ///
        /// The third parameter does nothing. It is provided only for
        /// compatibility with tristate_output_t in templatized device models
        ///
        /// \param dev Device owning this output
        /// \param aname The name of this output
        /// \param dummy Dummy parameter to allow construction like tristate output
        ///
        public logic_output_t(device_t dev, string aname, bool dummy = false)
            : base(dev, aname, state_e.STATE_OUT, null)  //: logic_t(dev, aname, STATE_OUT, nldelegate())
        {
            m_my_net = new logic_net_t(dev.state(), name() + ".net", this);


            //plib::unused_var(dummy);
            this.set_net(m_my_net);
            state().register_net(m_my_net);  //state().register_net(device_arena::owned_ptr<logic_net_t>(&m_my_net, false));
            state().setup().register_term(this);
        }
Ejemplo n.º 2
0
        // pass in a default model - this may be overwritten by PARAM(DEVICE.MODEL, "XYZ(...)")
        public void device_t_after_ctor(device_t owner, string name, string model)
        //: base(owner, name)
        {
            m_model = new param_model_t(this, "MODEL", model);


            set_logic_family(state().setup().family_from_model(m_model.op()));
            if (logic_family() == null)
            {
                throw new nl_exception(MF_NULLPTR_FAMILY(this.name(), m_model.op()));
            }
        }
Ejemplo n.º 3
0
        public void device_t_after_ctor(device_t owner, string name)
        //: base(owner, name)
        {
            m_model = new param_model_t(this, "MODEL", "");


            set_logic_family(owner.logic_family());
            if (logic_family() == null)
            {
                throw new nl_exception(MF_NULLPTR_FAMILY(this.name(), "<owner logic family>"));
            }
        }
Ejemplo n.º 4
0
 public logic_input_t(device_t dev, string aname, nldelegate delegate_)
     : base(dev, aname, state_e.STATE_INP_ACTIVE, delegate_)
 {
     state().setup().register_term(this);
 }
Ejemplo n.º 5
0
 tristate_output_t(device_t dev, string aname, bool force_logic)
     : base(dev, aname)
 {
     throw new emu_unimplemented();
Ejemplo n.º 6
0
 public logic_t(device_t dev, string aname, state_e terminal_state, nldelegate delegate_)
     : base(dev, aname, terminal_state, delegate_)
 {
     m_logic_family = dev.logic_family();  //, logic_family_t(dev.logic_family())
 }