cfunc.mod

来自「xspice所支持的更为详细和全面的仿真电路示例程序」· MOD 代码 · 共 47 行

MOD
47
字号
/* $Id: cfunc.tpl,v 1.1 91/03/18 19:01:04 bill Exp $ */


#define CLK_STATE       0


void ucm_real_delay (ARGS)
{

    double              *in;
    double              *out;

    Digital_State_t     *state;
    Digital_State_t     *old_state;


    if(INIT) {
        state = (void *) cm_event_alloc(CLK_STATE, sizeof(Digital_State_t));
        old_state = state;
        *state = INPUT_STATE(clk);
    }
    else {
        state = (void *) cm_event_get_ptr(CLK_STATE, 0);
        old_state = (void *) cm_event_get_ptr(CLK_STATE, 1);
    }

    if(ANALYSIS != TRANSIENT)
        OUTPUT_CHANGED(out) = FALSE;
    else {
        *state = INPUT_STATE(clk);
        if(*state == *old_state)
            OUTPUT_CHANGED(out) = FALSE;
        else if(*state != ONE)
            OUTPUT_CHANGED(out) = FALSE;
        else {
            in = INPUT(in);
            out = OUTPUT(out);
            *out = *in;
            OUTPUT_DELAY(out) = PARAM(delay);
        }
    }
}




⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?