diff --git a/ChangeLog b/ChangeLog index f1713fa21..4fda9bc39 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2010-07-16 Robert Larice + * src/xspice/icm/digital/d_fdiv/cfunc.mod : + xspice, digital/d_fdiv, fix the type of counter and counter_old + from Digital_State_t to int + 2010-07-16 Robert Larice * src/xspice/icm/digital/d_dff/cfunc.mod , * src/xspice/icm/digital/d_dlatch/cfunc.mod , diff --git a/src/xspice/icm/digital/d_fdiv/cfunc.mod b/src/xspice/icm/digital/d_fdiv/cfunc.mod index 58e116c20..1e31e5c9d 100644 --- a/src/xspice/icm/digital/d_fdiv/cfunc.mod +++ b/src/xspice/icm/digital/d_fdiv/cfunc.mod @@ -135,9 +135,9 @@ void cm_d_fdiv(ARGS) Digital_State_t *freq_in, /* freq_in clock value */ *freq_in_old, /* previous freq_in value */ *freq_out, /* current output for fdiv */ - *freq_out_old, /* previous output for fdiv */ + *freq_out_old; /* previous output for fdiv */ - *count, /* counter value */ + int *count, /* counter value */ *count_old; /* previous counter value */ @@ -149,7 +149,7 @@ void cm_d_fdiv(ARGS) /* allocate storage */ cm_event_alloc(0,sizeof(Digital_State_t)); cm_event_alloc(1,sizeof(Digital_State_t)); - cm_event_alloc(2,sizeof(Digital_State_t)); + cm_event_alloc(2,sizeof(int)); /* declare load values */ LOAD(freq_in) = PARAM(freq_in_load); @@ -157,7 +157,7 @@ void cm_d_fdiv(ARGS) /* retrieve storage for the outputs */ freq_in = freq_in_old = (Digital_State_t *) cm_event_get_ptr(0,0); freq_out = freq_out_old = (Digital_State_t *) cm_event_get_ptr(1,0); - count = count_old = (Digital_State_t *) cm_event_get_ptr(2,0); + count = count_old = (int *) cm_event_get_ptr(2,0); } else { /* Retrieve previous values */ @@ -167,8 +167,8 @@ void cm_d_fdiv(ARGS) freq_in_old = (Digital_State_t *) cm_event_get_ptr(0,1); freq_out = (Digital_State_t *) cm_event_get_ptr(1,0); freq_out_old = (Digital_State_t *) cm_event_get_ptr(1,1); - count = (Digital_State_t *) cm_event_get_ptr(2,0); - count_old = (Digital_State_t *) cm_event_get_ptr(2,1); + count = (int *) cm_event_get_ptr(2,0); + count_old = (int *) cm_event_get_ptr(2,1); } @@ -191,7 +191,7 @@ void cm_d_fdiv(ARGS) bounds, set to "zero" equivalent */ *count = PARAM(i_count); if ( (div_factor <= *count) || (0 > *count) ) { - *count = ZERO; + *count = 0; OUTPUT_STATE(freq_out) = *freq_out = *freq_out_old = ZERO; } @@ -216,7 +216,7 @@ void cm_d_fdiv(ARGS) /* If new count value is equal to the div_factor+1 value, need to normalize count to "1", and raise output */ if ( ((div_factor+1) == *count)||(1 == *count) ) { - *count = ONE; + *count = 1; OUTPUT_STATE(freq_out) = *freq_out = ONE; OUTPUT_DELAY(freq_out) = PARAM(rise_delay); }