Downsizing ... Removed netlist_ttl_input_t and netlist_ttl_output_t.

The logic family is governed by the chip and defaults to TTL. 
However individual devices may change the logic family of their
inputs and outputs as well. Implementing special output/input 
characteristics of "S", "LS", "HC", ... you name it, devices
is now pretty easy. Theoretically e.g. a "LS_HighPrecision"
proxy could be used to model the output down to the transistor
level. [Couriersud]
This commit is contained in:
couriersud 2015-05-09 21:12:02 +02:00
parent a9fa89ef41
commit bb3ac09be2
27 changed files with 169 additions and 197 deletions

View File

@ -744,8 +744,8 @@ public:
netlist_time m_inc;
private:
netlist_ttl_input_t m_feedback;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_feedback;
netlist_logic_output_t m_Q;
int m_pos;
int m_num_channel;

View File

@ -151,8 +151,8 @@ private:
dev_list_t m_step_devices;
dev_list_t m_dynamic_devices;
netlist_ttl_input_t m_fb_sync;
netlist_ttl_output_t m_Q_sync;
netlist_logic_input_t m_fb_sync;
netlist_logic_output_t m_Q_sync;
ATTR_HOT void step(const netlist_time delta);
@ -181,8 +181,8 @@ protected:
ATTR_HOT void reset();
ATTR_HOT void update_param();
netlist_ttl_input_t m_fb_step;
netlist_ttl_output_t m_Q_step;
netlist_logic_input_t m_fb_step;
netlist_logic_output_t m_Q_step;
netlist_param_double_t m_freq;
netlist_param_double_t m_sync_delay;

View File

@ -45,18 +45,18 @@ NETLIB_SUBDEVICE(4020_sub,
NETLIB_LOGIC_FAMILY(CD4000)
ATTR_HOT void update_outputs(const UINT16 cnt);
netlist_ttl_input_t m_IP;
netlist_logic_input_t m_IP;
UINT16 m_cnt;
netlist_ttl_output_t m_Q[14];
netlist_logic_output_t m_Q[14];
);
NETLIB_DEVICE(4020,
NETLIB_LOGIC_FAMILY(CD4000)
NETLIB_NAME(4020_sub) sub;
NETLIB_NAME(vdd_vss) m_supply;
netlist_ttl_input_t m_RESET;
netlist_logic_input_t m_RESET;
);
NETLIB_DEVICE_DERIVED(4020_dip, 4020,

View File

@ -34,8 +34,8 @@
NETLIB_DEVICE(7404,
public:
netlist_ttl_input_t m_I;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_I;
netlist_logic_output_t m_Q;
);
#define TTL_7404_INVERT(_name, _A) \

View File

@ -75,10 +75,10 @@
NET_REGISTER_DEV(74107_dip, _name)
NETLIB_SUBDEVICE(74107Asub,
netlist_ttl_input_t m_clk;
netlist_logic_input_t m_clk;
netlist_ttl_output_t m_Q;
netlist_ttl_output_t m_QQ;
netlist_logic_output_t m_Q;
netlist_logic_output_t m_QQ;
netlist_sig_t m_Q1;
netlist_sig_t m_Q2;
@ -92,9 +92,9 @@ NETLIB_DEVICE(74107A,
public:
NETLIB_NAME(74107Asub) sub;
netlist_ttl_input_t m_J;
netlist_ttl_input_t m_K;
netlist_ttl_input_t m_clrQ;
netlist_logic_input_t m_J;
netlist_logic_input_t m_K;
netlist_logic_input_t m_clrQ;
);

View File

@ -48,14 +48,14 @@ public:
NETLIB_NAME(res_sw) m_RP;
NETLIB_NAME(res_sw) m_RN;
netlist_ttl_output_t m_RP_Q;
netlist_ttl_output_t m_RN_Q;
netlist_logic_output_t m_RP_Q;
netlist_logic_output_t m_RN_Q;
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_CLRQ;
netlist_ttl_output_t m_Q;
netlist_ttl_output_t m_QQ;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_CLRQ;
netlist_logic_output_t m_Q;
netlist_logic_output_t m_QQ;
netlist_analog_input_t m_CV;

View File

@ -61,10 +61,10 @@
NET_REGISTER_DEV(74153_dip, _name)
NETLIB_SUBDEVICE(74153sub,
netlist_ttl_input_t m_C[4];
netlist_ttl_input_t m_G;
netlist_logic_input_t m_C[4];
netlist_logic_input_t m_G;
netlist_ttl_output_t m_Y;
netlist_logic_output_t m_Y;
int m_chan;
);
@ -72,16 +72,16 @@ NETLIB_SUBDEVICE(74153sub,
NETLIB_DEVICE(74153,
public:
NETLIB_NAME(74153sub) m_sub;
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
);
NETLIB_DEVICE(74153_dip,
NETLIB_NAME(74153sub) m_1;
NETLIB_NAME(74153sub) m_2;
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
);
#endif /* NLD_74153_H_ */

View File

@ -46,9 +46,9 @@
NETLIB_SUBDEVICE(74175_sub,
netlist_ttl_input_t m_CLK;
netlist_ttl_output_t m_Q[4];
netlist_ttl_output_t m_QQ[4];
netlist_logic_input_t m_CLK;
netlist_logic_output_t m_Q[4];
netlist_logic_output_t m_QQ[4];
netlist_sig_t m_clrq;
UINT8 m_data;
@ -57,8 +57,8 @@ NETLIB_SUBDEVICE(74175_sub,
NETLIB_DEVICE(74175,
NETLIB_NAME(74175_sub) m_sub;
netlist_ttl_input_t m_D[4];
netlist_ttl_input_t m_CLRQ;
netlist_logic_input_t m_D[4];
netlist_logic_input_t m_CLRQ;
);
NETLIB_DEVICE_DERIVED(74175_dip, 74175,

View File

@ -42,18 +42,18 @@ NETLIB_DEVICE(74192,
ATTR_HOT void update_outputs();
NETLIB_NAME(9316_subABCD) m_ABCD;
netlist_ttl_input_t m_CLEAR;
netlist_ttl_input_t m_LOADQ;
netlist_ttl_input_t m_CU;
netlist_ttl_input_t m_CD;
netlist_logic_input_t m_CLEAR;
netlist_logic_input_t m_LOADQ;
netlist_logic_input_t m_CU;
netlist_logic_input_t m_CD;
INT8 m_cnt;
UINT8 m_last_CU;
UINT8 m_last_CD;
netlist_ttl_output_t m_Q[4];
netlist_ttl_output_t m_BORROWQ;
netlist_ttl_output_t m_CARRYQ;
netlist_logic_output_t m_Q[4];
netlist_logic_output_t m_BORROWQ;
netlist_logic_output_t m_CARRYQ;
);
NETLIB_DEVICE_DERIVED(74192_dip, 74192,

View File

@ -37,22 +37,22 @@
NETLIB_DEVICE(74193,
ATTR_HOT void update_outputs();
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_D;
netlist_ttl_input_t m_CLEAR;
netlist_ttl_input_t m_LOADQ;
netlist_ttl_input_t m_CU;
netlist_ttl_input_t m_CD;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_D;
netlist_logic_input_t m_CLEAR;
netlist_logic_input_t m_LOADQ;
netlist_logic_input_t m_CU;
netlist_logic_input_t m_CD;
INT8 m_cnt;
UINT8 m_last_CU;
UINT8 m_last_CD;
netlist_ttl_output_t m_Q[4];
netlist_ttl_output_t m_BORROWQ;
netlist_ttl_output_t m_CARRYQ;
netlist_logic_output_t m_Q[4];
netlist_logic_output_t m_BORROWQ;
netlist_logic_output_t m_CARRYQ;
);
NETLIB_DEVICE_DERIVED(74193_dip, 74193,

View File

@ -43,29 +43,29 @@ NETLIB_SUBDEVICE(7448_sub,
ATTR_HOT void update_outputs(UINT8 v);
static const UINT8 tab7448[16][7];
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_D;
netlist_ttl_input_t m_RBIQ;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_D;
netlist_logic_input_t m_RBIQ;
UINT8 m_state;
netlist_ttl_output_t m_a;
netlist_ttl_output_t m_b;
netlist_ttl_output_t m_c;
netlist_ttl_output_t m_d;
netlist_ttl_output_t m_e;
netlist_ttl_output_t m_f;
netlist_ttl_output_t m_g;
netlist_logic_output_t m_a;
netlist_logic_output_t m_b;
netlist_logic_output_t m_c;
netlist_logic_output_t m_d;
netlist_logic_output_t m_e;
netlist_logic_output_t m_f;
netlist_logic_output_t m_g;
);
NETLIB_DEVICE(7448,
public:
NETLIB_NAME(7448_sub) sub;
netlist_ttl_input_t m_LTQ;
netlist_ttl_input_t m_BIQ;
netlist_logic_input_t m_LTQ;
netlist_logic_input_t m_BIQ;
);
NETLIB_DEVICE_DERIVED(7448_dip, 7448,

View File

@ -38,11 +38,11 @@
NETLIB_DEVICE(7450,
public:
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_D;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_D;
netlist_logic_output_t m_Q;
);
NETLIB_DEVICE(7450_dip,

View File

@ -55,11 +55,11 @@
NET_REGISTER_DEV(7474_dip, _name)
NETLIB_SUBDEVICE(7474sub,
netlist_ttl_input_t m_CLK;
netlist_logic_input_t m_CLK;
INT8 m_nextD;
netlist_ttl_output_t m_Q;
netlist_ttl_output_t m_QQ;
netlist_logic_output_t m_Q;
netlist_logic_output_t m_QQ;
ATTR_HOT inline void newstate(const UINT8 stateQ, const UINT8 stateQQ);
);
@ -68,9 +68,9 @@ NETLIB_DEVICE(7474,
public:
NETLIB_NAME(7474sub) sub;
netlist_ttl_input_t m_D;
netlist_ttl_input_t m_CLRQ;
netlist_ttl_input_t m_PREQ;
netlist_logic_input_t m_D;
netlist_logic_input_t m_CLRQ;
netlist_logic_input_t m_PREQ;
);
NETLIB_DEVICE(7474_dip,

View File

@ -45,23 +45,23 @@
NET_REGISTER_DEV(7483_dip, _name)
NETLIB_DEVICE(7483,
netlist_ttl_input_t m_C0;
netlist_ttl_input_t m_A1;
netlist_ttl_input_t m_A2;
netlist_ttl_input_t m_A3;
netlist_ttl_input_t m_A4;
netlist_ttl_input_t m_B1;
netlist_ttl_input_t m_B2;
netlist_ttl_input_t m_B3;
netlist_ttl_input_t m_B4;
netlist_logic_input_t m_C0;
netlist_logic_input_t m_A1;
netlist_logic_input_t m_A2;
netlist_logic_input_t m_A3;
netlist_logic_input_t m_A4;
netlist_logic_input_t m_B1;
netlist_logic_input_t m_B2;
netlist_logic_input_t m_B3;
netlist_logic_input_t m_B4;
UINT8 m_lastr;
netlist_ttl_output_t m_S1;
netlist_ttl_output_t m_S2;
netlist_ttl_output_t m_S3;
netlist_ttl_output_t m_S4;
netlist_ttl_output_t m_C4;
netlist_logic_output_t m_S1;
netlist_logic_output_t m_S2;
netlist_logic_output_t m_S3;
netlist_logic_output_t m_S4;
netlist_logic_output_t m_C4;
);

View File

@ -41,9 +41,9 @@
NETLIB_DEVICE(7486,
public:
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_output_t m_Q;
);
#define TTL_7486_DIP(_name) \

View File

@ -73,18 +73,18 @@
NETLIB_DEVICE(7490,
ATTR_HOT void update_outputs();
netlist_ttl_input_t m_R1;
netlist_ttl_input_t m_R2;
netlist_ttl_input_t m_R91;
netlist_ttl_input_t m_R92;
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_logic_input_t m_R1;
netlist_logic_input_t m_R2;
netlist_logic_input_t m_R91;
netlist_logic_input_t m_R92;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
UINT8 m_cnt;
UINT8 m_last_A;
UINT8 m_last_B;
netlist_ttl_output_t m_Q[4];
netlist_logic_output_t m_Q[4];
);
NETLIB_DEVICE_DERIVED(7490_dip, 7490,

View File

@ -70,15 +70,15 @@
NET_REGISTER_DEV(7493_dip, _name)
NETLIB_SUBDEVICE(7493ff,
netlist_ttl_input_t m_I;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_I;
netlist_logic_output_t m_Q;
UINT8 m_reset;
);
NETLIB_DEVICE(7493,
netlist_ttl_input_t m_R1;
netlist_ttl_input_t m_R2;
netlist_logic_input_t m_R1;
netlist_logic_input_t m_R2;
NETLIB_NAME(7493ff) A;
NETLIB_NAME(7493ff) B;

View File

@ -33,13 +33,13 @@
NETLIB_DEVICE(82S16,
netlist_ttl_input_t m_A[8];
netlist_ttl_input_t m_CE1Q;
netlist_ttl_input_t m_CE2Q;
netlist_ttl_input_t m_CE3Q;
netlist_ttl_input_t m_WEQ;
netlist_ttl_input_t m_DIN;
netlist_ttl_output_t m_DOUTQ;
netlist_logic_input_t m_A[8];
netlist_logic_input_t m_CE1Q;
netlist_logic_input_t m_CE2Q;
netlist_logic_input_t m_CE3Q;
netlist_logic_input_t m_WEQ;
netlist_logic_input_t m_DIN;
netlist_logic_output_t m_DOUTQ;
//netlist_state_t<UINT8[256]> m_ram;
UINT8 m_ram[256];

View File

@ -63,10 +63,10 @@
NET_REGISTER_DEV(9310_dip, _name)
NETLIB_SUBDEVICE(9310_subABCD,
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_D;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_D;
ATTR_HOT inline UINT8 read_ABCD() const
{
@ -79,27 +79,27 @@ NETLIB_SUBDEVICE(9310_sub,
ATTR_HOT inline void update_outputs_all(const UINT8 cnt, const netlist_time out_delay);
ATTR_HOT inline void update_outputs(const UINT8 cnt);
netlist_ttl_input_t m_CLK;
netlist_logic_input_t m_CLK;
UINT8 m_cnt;
NETLIB_NAME(9310_subABCD) *m_ABCD;
netlist_sig_t m_loadq;
netlist_sig_t m_ent;
netlist_ttl_output_t m_QA;
netlist_ttl_output_t m_QB;
netlist_ttl_output_t m_QC;
netlist_ttl_output_t m_QD;
netlist_ttl_output_t m_RC;
netlist_logic_output_t m_QA;
netlist_logic_output_t m_QB;
netlist_logic_output_t m_QC;
netlist_logic_output_t m_QD;
netlist_logic_output_t m_RC;
);
NETLIB_DEVICE(9310,
NETLIB_NAME(9310_sub) sub;
NETLIB_NAME(9310_subABCD) subABCD;
netlist_ttl_input_t m_ENP;
netlist_ttl_input_t m_ENT;
netlist_ttl_input_t m_CLRQ;
netlist_ttl_input_t m_LOADQ;
netlist_logic_input_t m_ENP;
netlist_logic_input_t m_ENT;
netlist_logic_input_t m_CLRQ;
netlist_logic_input_t m_LOADQ;
);
NETLIB_DEVICE_DERIVED(9310_dip, 9310,

View File

@ -49,13 +49,13 @@ NETLIB_TRUTHTABLE(9312, 12, 2, 0);
NETLIB_DEVICE(9312,
public:
// C, B, A, G,D0,D1,D2,D3,D4,D5,D6,D7| Y,YQ
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_G;
netlist_ttl_input_t m_D[8];
netlist_ttl_output_t m_Y;
netlist_ttl_output_t m_YQ;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_G;
netlist_logic_input_t m_D[8];
netlist_logic_output_t m_Y;
netlist_logic_output_t m_YQ;
UINT8 m_last_chan;
UINT8 m_last_G;

View File

@ -67,10 +67,10 @@
NET_REGISTER_DEV(9316_dip, _name)
NETLIB_SUBDEVICE(9316_subABCD,
netlist_ttl_input_t m_A;
netlist_ttl_input_t m_B;
netlist_ttl_input_t m_C;
netlist_ttl_input_t m_D;
netlist_logic_input_t m_A;
netlist_logic_input_t m_B;
netlist_logic_input_t m_C;
netlist_logic_input_t m_D;
ATTR_HOT inline UINT8 read_ABCD() const
{
@ -83,13 +83,13 @@ NETLIB_SUBDEVICE(9316_sub,
ATTR_HOT inline void update_outputs_all(const UINT8 cnt, const netlist_time out_delay);
ATTR_HOT inline void update_outputs(const UINT8 cnt);
netlist_ttl_input_t m_CLK;
netlist_logic_input_t m_CLK;
netlist_ttl_output_t m_QA;
netlist_ttl_output_t m_QB;
netlist_ttl_output_t m_QC;
netlist_ttl_output_t m_QD;
netlist_ttl_output_t m_RC;
netlist_logic_output_t m_QA;
netlist_logic_output_t m_QB;
netlist_logic_output_t m_QC;
netlist_logic_output_t m_QD;
netlist_logic_output_t m_RC;
UINT8 m_cnt;
NETLIB_NAME(9316_subABCD) *m_ABCD;
@ -101,10 +101,10 @@ NETLIB_SUBDEVICE(9316_sub,
NETLIB_DEVICE(9316,
NETLIB_NAME(9316_sub) sub;
NETLIB_NAME(9316_subABCD) subABCD;
netlist_ttl_input_t m_ENP;
netlist_ttl_input_t m_ENT;
netlist_ttl_input_t m_CLRQ;
netlist_ttl_input_t m_LOADQ;
netlist_logic_input_t m_ENP;
netlist_logic_input_t m_ENT;
netlist_logic_input_t m_CLRQ;
netlist_logic_input_t m_LOADQ;
);
NETLIB_DEVICE_DERIVED(9316_dip, 9316,

View File

@ -30,18 +30,18 @@
// ----------------------------------------------------------------------------------------
NETLIB_DEVICE(nicRSFF,
netlist_ttl_input_t m_S;
netlist_ttl_input_t m_R;
netlist_logic_input_t m_S;
netlist_logic_input_t m_R;
netlist_ttl_output_t m_Q;
netlist_ttl_output_t m_QQ;
netlist_logic_output_t m_Q;
netlist_logic_output_t m_QQ;
);
NETLIB_DEVICE_WITH_PARAMS(nicDelay,
netlist_ttl_input_t m_I;
netlist_logic_input_t m_I;
netlist_ttl_output_t m_Q;
netlist_logic_output_t m_Q;
netlist_param_int_t m_L_to_H;
netlist_param_int_t m_H_to_L;

View File

@ -98,8 +98,8 @@ public:
}
public:
netlist_ttl_input_t m_i[_numdev];
netlist_ttl_output_t m_Q[1];
netlist_logic_input_t m_i[_numdev];
netlist_logic_output_t m_Q[1];
INT32 m_active;
};
@ -175,8 +175,8 @@ public:
}
public:
netlist_ttl_input_t m_i[2];
netlist_ttl_output_t m_Q[1];
netlist_logic_input_t m_i[2];
netlist_logic_output_t m_Q[1];
INT32 m_active;
};

View File

@ -62,7 +62,7 @@
NETLIB_DEVICE_WITH_PARAMS(mainclock,
public:
netlist_ttl_output_t m_Q;
netlist_logic_output_t m_Q;
netlist_param_double_t m_freq;
netlist_time m_inc;
@ -75,8 +75,8 @@ public:
// -----------------------------------------------------------------------------
NETLIB_DEVICE_WITH_PARAMS(clock,
netlist_ttl_input_t m_feedback;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_feedback;
netlist_logic_output_t m_Q;
netlist_param_double_t m_freq;
netlist_time m_inc;
@ -87,8 +87,8 @@ NETLIB_DEVICE_WITH_PARAMS(clock,
// -----------------------------------------------------------------------------
NETLIB_DEVICE_WITH_PARAMS(extclock,
netlist_ttl_input_t m_feedback;
netlist_ttl_output_t m_Q;
netlist_logic_input_t m_feedback;
netlist_logic_output_t m_Q;
netlist_param_double_t m_freq;
netlist_param_str_t m_pattern;
@ -105,7 +105,7 @@ NETLIB_DEVICE_WITH_PARAMS(extclock,
// -----------------------------------------------------------------------------
NETLIB_DEVICE_WITH_PARAMS(ttl_input,
netlist_ttl_output_t m_Q;
netlist_logic_output_t m_Q;
netlist_param_logic_t m_IN;
);
@ -230,7 +230,7 @@ public:
netlist_param_double_t m_RON;
netlist_param_double_t m_ROFF;
netlist_ttl_input_t m_I;
netlist_logic_input_t m_I;
NETLIB_NAME(R) m_R;
protected:
@ -320,7 +320,7 @@ protected:
const netlist_logic_family_desc_t *m_logic_family;
netlist_ttl_input_t m_I;
netlist_logic_input_t m_I;
private:
};

View File

@ -233,8 +233,8 @@ public:
}
}
netlist_ttl_input_t m_i[m_NI];
netlist_ttl_output_t m_Q[m_NO];
netlist_logic_input_t m_i[m_NI];
netlist_logic_output_t m_Q[m_NO];
private:

View File

@ -911,15 +911,6 @@ ATTR_COLD void netlist_logic_output_t::initial(const netlist_sig_t val)
net().as_logic().initial(val);
}
// ----------------------------------------------------------------------------------------
// netlist_ttl_output_t
// ----------------------------------------------------------------------------------------
ATTR_COLD netlist_ttl_output_t::netlist_ttl_output_t()
: netlist_logic_output_t()
{
}
// ----------------------------------------------------------------------------------------
// netlist_analog_output_t
// ----------------------------------------------------------------------------------------

View File

@ -566,17 +566,6 @@ public:
};
// -----------------------------------------------------------------------------
// netlist_ttl_input_t
// -----------------------------------------------------------------------------
class netlist_ttl_input_t : public netlist_logic_input_t
{
public:
ATTR_COLD netlist_ttl_input_t()
: netlist_logic_input_t() { }
};
// -----------------------------------------------------------------------------
// netlist_analog_input_t
// -----------------------------------------------------------------------------
@ -817,14 +806,6 @@ private:
nld_base_d_to_a_proxy *m_proxy;
};
class netlist_ttl_output_t : public netlist_logic_output_t
{
public:
ATTR_COLD netlist_ttl_output_t();
};
class netlist_analog_output_t : public netlist_output_t
{
NETLIST_PREVENT_COPYING(netlist_analog_output_t)