From 84a69a3896ab9ab76587aa477ec8a3fb74e7fd77 Mon Sep 17 00:00:00 2001 From: rlar Date: Fri, 16 Jul 2010 15:33:25 +0000 Subject: [PATCH] xspice, flip-flops and ram, cast the `ic' PARAM to Digitial_State_t the *.ifs file claims this parameter to be an integer in range 0..2 meant to represent ZERO, ONE and UNKNOWN --- ChangeLog | 13 +++++++++++++ src/xspice/icm/digital/d_dff/cfunc.mod | 2 +- src/xspice/icm/digital/d_dlatch/cfunc.mod | 2 +- src/xspice/icm/digital/d_jkff/cfunc.mod | 2 +- src/xspice/icm/digital/d_ram/cfunc.mod | 4 ++-- src/xspice/icm/digital/d_srff/cfunc.mod | 2 +- src/xspice/icm/digital/d_srlatch/cfunc.mod | 2 +- src/xspice/icm/digital/d_tff/cfunc.mod | 2 +- 8 files changed, 21 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index e67b261be..f1713fa21 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2010-07-16 Robert Larice + * src/xspice/icm/digital/d_dff/cfunc.mod , + * src/xspice/icm/digital/d_dlatch/cfunc.mod , + * src/xspice/icm/digital/d_jkff/cfunc.mod , + * src/xspice/icm/digital/d_srff/cfunc.mod , + * src/xspice/icm/digital/d_srlatch/cfunc.mod , + * src/xspice/icm/digital/d_tff/cfunc.mod : + xspice, flip-flops, cast the `ic' PARAM to Digitial_State_t + the *.ifs file claims this parameter to be an integer in range 0..2 + meant to represent ZERO, ONE and UNKNOWN + * src/xspice/icm/digital/d_ram/cfunc.mod : + xspice, the same fix for `ram' + 2010-07-16 Robert Larice * src/xspice/icm/analog/pwl/cfunc.mod , * src/xspice/icm/spice2poly/icm_spice2poly/cfunc.mod , diff --git a/src/xspice/icm/digital/d_dff/cfunc.mod b/src/xspice/icm/digital/d_dff/cfunc.mod index 1a7d9a0b1..87825b136 100644 --- a/src/xspice/icm/digital/d_dff/cfunc.mod +++ b/src/xspice/icm/digital/d_dff/cfunc.mod @@ -284,7 +284,7 @@ void cm_d_dff(ARGS) if (0.0 == TIME) { /****** Initial conditions...output w/o delays ******/ - temp = PARAM(ic); + temp = (Digital_State_t) PARAM(ic); /** Modify output if set or reset lines are active **/ if ( (*set==ONE) && (*reset==ZERO) ) temp = ONE; diff --git a/src/xspice/icm/digital/d_dlatch/cfunc.mod b/src/xspice/icm/digital/d_dlatch/cfunc.mod index 7bd66b6f1..e8bb8390c 100644 --- a/src/xspice/icm/digital/d_dlatch/cfunc.mod +++ b/src/xspice/icm/digital/d_dlatch/cfunc.mod @@ -289,7 +289,7 @@ void cm_d_dlatch(ARGS) if (0.0 == TIME) { /****** DC analysis...output w/o delays ******/ - temp = PARAM(ic); + temp = (Digital_State_t) PARAM(ic); /** Modify output if set or reset lines are active **/ if (*enable==ONE) temp = *data; diff --git a/src/xspice/icm/digital/d_jkff/cfunc.mod b/src/xspice/icm/digital/d_jkff/cfunc.mod index fe604fea1..57ac624bd 100644 --- a/src/xspice/icm/digital/d_jkff/cfunc.mod +++ b/src/xspice/icm/digital/d_jkff/cfunc.mod @@ -374,7 +374,7 @@ void cm_d_jkff(ARGS) if (0.0 == TIME) { /****** DC analysis...output w/o delays ******/ - temp = PARAM(ic); + temp = (Digital_State_t) PARAM(ic); /** Modify output if set or reset lines are active **/ if ( (*set==ONE) && (*reset==ZERO) ) temp = ONE; diff --git a/src/xspice/icm/digital/d_ram/cfunc.mod b/src/xspice/icm/digital/d_ram/cfunc.mod index 9f112f932..eb0b7db03 100644 --- a/src/xspice/icm/digital/d_ram/cfunc.mod +++ b/src/xspice/icm/digital/d_ram/cfunc.mod @@ -1046,7 +1046,7 @@ void cm_d_ram(ARGS) /** initialize ram to ic value **/ - out = PARAM(ic); + out = (Digital_State_t) PARAM(ic); for (i=0; i