Herr Holger, I attached here an example. Unfortunately you have to re-create the scenario where you place the files in various location with “_” and “-” in the name, KiCad is not “self-contained” in that way. Please let me know if there are any sym or lib files I missed to add. For reference, I am showing here some of the path settings I have in Windows. Note, I tried to define some of the fields as URL Template; even these link settings are not working as expected, I can elaborate on this extra issue.
001-1_Logic_Driver.7z (58.2 KB)
One more bit of information for KiCad under Windows (maybe also Linux). If I replace the name “XDD_D-FLOP.sp” with “XDD_D_FLOP.sp” all over in the symbol, the file name, and the model content (replace minus character with underline character), then I can get the simulation working. This to me looks like a collection of multiple different bugs, affecting KiCad, Linux, and Windows, unless the minus character is forbidden now.
*
* Daddyzaur's models
* http://www.daddyzaur.com/
*
*********************************************************************************************************
* XSPICE Ngspice User Manual, D Flip Flop
*
* PINSEQ: 1 = NULL FORBIDDEN, VECTOR NO, digital, input data
* | 2 = NULL FORBIDDEN, VECTOR NO, digital, input clk
* | | 3 = NULL FORBIDDEN, VECTOR NO, digital, input asynch. set
* | | | 4 = NULL FORBIDDEN, VECTOR NO, digital, input asynch. reset
* | | | | 5 = NULL FORBIDDEN, VECTOR NO, digital, output data
* | | | | | 6 = NULL FORBIDDEN, VECTOR NO, digital, output inverted data
* | | | | | |
*******************|*|*|*|*|*|***************************************************************************
.SUBCKT XDD_D_FLOP 1 2 3 4 5 6
*
.PARAMS // GLOBAL Digital XSPICE default values (overwritten per Digital component if internally re-defined)
+ VCC = {X_VCC} // NULL PERMITTED, VECTOR NO, real, no limits (default 1.0)
+ RT = {X_RT} // NULL PERMITTED, VECTOR NO, real, no limits, technology internal raise time, (default 2.0e-9)
+ FT = {X_FT} // NULL PERMITTED, VECTOR NO, real, no limits, technology internal fall time, (default 2.0e-9)
+ DU = {X_DU} // NULL PERMITTED, VECTOR NO, real, no limits, technology delay unit, no default
+ CLK_DELAY = {X_CLK_DELAY} // NULL PERMITTED, VECTOR NO, real, 1.0e-12 lower limit, no upper limit (default 1.0e-9)
+ SET_DELAY = {X_SET_DELAY} // NULL PERMITTED, VECTOR NO, real, 1.0e-12 lower limit, no upper limit (default 1.0e-9)
+ RESET_DELAY = {X_RESET_DELAY} // NULL PERMITTED, VECTOR NO, real, 1.0e-12 lower limit, no upper limit (default 1.0e-9)
+ IC = {X_IC} // NULL PERMITTED, VECTOR NO, integer, 0 lower limit, 2 upper limit, output initial state (default 0)
+ DATA_LOAD = {X_DATA_LOAD} // NULL PERMITTED, VECTOR NO, real, no limits, data loading capacitance (default 1.0e-12)
+ CLK_LOAD = {X_CLK_LOAD} // NULL PERMITTED, VECTOR NO, real, no limits, clock loading capacitance (default 1.0e-12)
+ SET_LOAD = {X_SET_LOAD} // NULL PERMITTED, VECTOR NO, real, no limits, set loading capacitance (default 1.0e-12)
+ RESET_LOAD = {X_RESET_LOAD} // NULL PERMITTED, VECTOR NO, real, no limits, reset loading capacitance (default 1.0e-12)
+ INPUT_LOAD = {X_INPUT_LOAD} // NULL PERMITTED, VECTOR NO, real, no limits, input loading capacitance (default 1.0e-12)
+ RISE_DELAY = {X_RISE_DELAY} // NULL PERMITTED, VECTOR NO, real, 1.0e-12 lower limit, no upper limit (default 1.0e-9)
+ FALL_DELAY = {X_FALL_DELAY} // NULL PERMITTED, VECTOR NO, real, 1.0e-12 lower limit, no upper limit (default 1.0e-9)
+ T_RISE = {X_T_RISE} // NULL PERMITTED, VECTOR NO, real, no limits, hybrid XHDA_Bridge models only
+ T_FALL = {X_T_FALL} // NULL PERMITTED, VECTOR NO, real, no limits, hybrid XHDA_Bridge models only
+ HAS_DELAY_CNT = {X_HAS_DELAY_CNT} // NULL PERMITTED, VECTOR NO, boolean, FALSE uses {delay}, TRUE uses cntrl input (default 0)
+ DELMIN = {X_DELMIN} // NULL PERMITTED, VECTOR NO, real, 0 lower limit, no upper limit (default 0)
+ DELMAX = {X_DELMAX} // NULL PERMITTED, VECTOR NO, real, 0 lower limit, no upper limit (default 0)
+ DELAY = {X_DELAY} // NULL PERMITTED, VECTOR NO, real, no limits (default 0)
+ BUFFER_SIZE = {X_BUFFER_SIZE} // NULL PERMITTED, VECTOR NO, integer, 1 lower limit, no upper limit (default 1024)
+ RAISE_SLOPE = {X_RAISE_SLOPE} // NULL PERMITTED, VECTOR NO, real, no limits, (Default = 1.0e9), set in V/s
+ FALL_SLOPE = {X_FALL_SLOPE} // NULL PERMITTED, VECTOR NO, real, no limits, (Default = 1.0e9), set in V/s
+ RANGE = {X_RANGE} // NULL PERMITTED, VECTOR NO, real, no limits, (Default = 0.1), for SLEW RATE only
+ IN_LOW = {X_IN_LOW} // NULL PERMITTED, VECTOR NO, real, no limits (default 1.0)
+ IN_HIGH = {X_IN_HIGH} // NULL PERMITTED, VECTOR NO, real, no limits (default 2.0)
+ HYST = {X_HYST} // NULL PERMITTED, VECTOR NO, real, 0 lower limit, no upper limit (Default = 0.1)
+ OUT_LOWER_LIMIT = {X_OUT_LOWER_LIMIT} // NULL PERMITTED, VECTOR NO, real, no limits (Default = 0)
+ OUT_UPPER_LIMIT = {X_OUT_UPPER_LIMIT} // NULL PERMITTED, VECTOR NO, real, no limits (Default = 1)
+ INPUT_DOMAIN = {X_INPUT_DOMAIN} // NULL PERMITTED, VECTOR NO, real, no limits (Default = 0.1), input smoothing domain
+ FRACTION = {X_FRACTION} // NULL PERMITTED, VECTOR NO, boolean 0 or 1 (default 1)
+ OUT_LOW = {X_OUT_LOW} // NULL PERMITTED, VECTOR NO, real, no limits
+ OUT_HIGH = {X_OUT_HIGH} // NULL PERMITTED, VECTOR NO, real, no limits
+ OUT_UNDEF = {(X_OUT_LOW+X_OUT_HIGH)/2} // NULL PERMITTED, VECTOR NO, real, no limits, defaults to the arithmetic mean
*
A_D_FLOP 1 2 3 4 5 6 Digital_D_FLOP
.model Digital_D_FLOP d_dff (reset_delay={RESET_DELAY} set_delay={SET_DELAY} clk_delay={CLK_DELAY} ic = {IC}
+ data_load={DATA_LOAD} clk_load={CLK_LOAD} set_load={SET_LOAD} reset_load={RESET_LOAD}
+ rise_delay={RISE_DELAY} fall_delay={FALL_DELAY})
*
.ENDS XDD_D_FLOP
*$