summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/netlist/devices/nld_74123.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/netlist/devices/nld_74123.cpp')
-rw-r--r--src/lib/netlist/devices/nld_74123.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/lib/netlist/devices/nld_74123.cpp b/src/lib/netlist/devices/nld_74123.cpp
index 5f45b330b61..0e36e2ed487 100644
--- a/src/lib/netlist/devices/nld_74123.cpp
+++ b/src/lib/netlist/devices/nld_74123.cpp
@@ -181,47 +181,47 @@ namespace netlist
NETLIB_UPDATE(74123)
{
netlist_sig_t m_trig;
- netlist_sig_t res = !INPLOGIC(m_CLRQ);
+ netlist_sig_t res = !m_CLRQ();
netlist_time t_AB_to_Q = NLTIME_FROM_NS(10);
netlist_time t_C_to_Q = NLTIME_FROM_NS(10);
if (m_dev_type == 74123)
{
- m_trig = (INPLOGIC(m_A) ^ 1) & INPLOGIC(m_B) & INPLOGIC(m_CLRQ);
+ m_trig = (m_A() ^ 1) & m_B() & m_CLRQ();
}
else if (m_dev_type == 9602)
{
- m_trig = (INPLOGIC(m_A) ^ 1) | INPLOGIC(m_B);
+ m_trig = (m_A() ^ 1) | m_B();
}
else // 4538
{
- m_trig = (INPLOGIC(m_B) ^ 1) | INPLOGIC(m_A);
+ m_trig = (m_B() ^ 1) | m_A();
// The line below is from the datasheet truthtable ... doesn't make sense at all
- //res = res | INPLOGIC(m_A) | (INPLOGIC(m_B) ^ 1);
+ //res = res | m_A) | (m_B) ^ 1);
t_AB_to_Q = NLTIME_FROM_NS(300);
t_C_to_Q = NLTIME_FROM_NS(250);
}
if (res)
{
- OUTLOGIC(m_Q, 0, t_C_to_Q);
- OUTLOGIC(m_QQ, 1, t_C_to_Q);
+ m_Q.push(0, t_C_to_Q);
+ m_QQ.push(1, t_C_to_Q);
/* quick charge until trigger */
/* FIXME: SGS datasheet shows quick charge to 5V,
* though schematics indicate quick charge to Vhigh only.
*/
- OUTLOGIC(m_RP_Q, 1, t_C_to_Q); // R_ON
- OUTLOGIC(m_RN_Q, 0, t_C_to_Q); // R_OFF
+ m_RP_Q.push(1, t_C_to_Q); // R_ON
+ m_RN_Q.push(0, t_C_to_Q); // R_OFF
m_state = 2; //charging (quick)
}
else if (!m_last_trig && m_trig)
{
// FIXME: Timing!
- OUTLOGIC(m_Q, 1, t_AB_to_Q);
- OUTLOGIC(m_QQ, 0,t_AB_to_Q);
+ m_Q.push(1, t_AB_to_Q);
+ m_QQ.push(0,t_AB_to_Q);
- OUTLOGIC(m_RN_Q, 1, t_AB_to_Q); // R_ON
- OUTLOGIC(m_RP_Q, 0, t_AB_to_Q); // R_OFF
+ m_RN_Q.push(1, t_AB_to_Q); // R_ON
+ m_RP_Q.push(0, t_AB_to_Q); // R_OFF
m_state = 1; // discharging
}
@@ -230,22 +230,22 @@ namespace netlist
if (m_state == 1)
{
- const nl_double vLow = m_KP * TERMANALOG(m_RP.m_R.m_P);
- if (INPANALOG(m_CV) < vLow)
+ const nl_double vLow = m_KP * m_RP.m_R.m_P();
+ if (m_CV() < vLow)
{
- OUTLOGIC(m_RN_Q, 0, NLTIME_FROM_NS(10)); // R_OFF
+ m_RN_Q.push(0, NLTIME_FROM_NS(10)); // R_OFF
m_state = 2; // charging
}
}
if (m_state == 2)
{
- const nl_double vHigh = TERMANALOG(m_RP.m_R.m_P) * (1.0 - m_KP);
- if (INPANALOG(m_CV) > vHigh)
+ const nl_double vHigh = m_RP.m_R.m_P() * (1.0 - m_KP);
+ if (m_CV() > vHigh)
{
- OUTLOGIC(m_RP_Q, 0, NLTIME_FROM_NS(10)); // R_OFF
+ m_RP_Q.push(0, NLTIME_FROM_NS(10)); // R_OFF
- OUTLOGIC(m_Q, 0, NLTIME_FROM_NS(10));
- OUTLOGIC(m_QQ, 1, NLTIME_FROM_NS(10));
+ m_Q.push(0, NLTIME_FROM_NS(10));
+ m_QQ.push(1, NLTIME_FROM_NS(10));
m_state = 0; // waiting
}
}
@@ -253,7 +253,7 @@ namespace netlist
NETLIB_RESET(74123)
{
- m_KP = 1.0 / (1.0 + exp(m_K.Value()));
+ m_KP = 1.0 / (1.0 + exp(m_K()));
m_RP.do_reset();
m_RN.do_reset();