xspice, digital/d_fdiv, fix the type of counter and counter_old
from Digital_State_t to int
This commit is contained in:
parent
84a69a3896
commit
1915f964dc
|
|
@ -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 ,
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue