D_source: case sensitive file system

How can I use d_source with a case sensitive file system (Ubuntu)?

* model D_Imp

.subckt Imp  p1
.control
setcs f = "/home/dunkelwind/Dokumente/Projekte/NE544/NE544/NE544Simu/imp.stim"
echo $f
.endc
a_1 [ p1 ] input_vec1
.model input_vec1 d_source(input_file ="/home/dunkelwind/Dokumente/Projekte/NE544/NE544/NE544Simu/imp.stim")
.ends

I can use d_source only with lower-case path’s ??? :grimacing:

I think that you need to cd to the folder in the control section first and then the d_source file can be relative not absolute. It will have to be a lower case file name though.

Here’s how I did it with d_process Mixed mode simulation including C code and verilog

Thanks for the hint, it’s works :grinning:
But imho, it’s a nightmare that ngspice not support linux case sensitive file names.

What filesystem is the file on?
Linux programs have to go out of their way to be case insentive and honesty I havnt met one that is.
The case sentivity comes.from the filesystem and that is why NTFS/FAT mounts end up being case insentive.

Likewise ext4 does have options these days to be case insentive

–edit–
Yes it’s ngspice

All identifiers are case insensitive - the identifier ‘npn’ is equivalent to ‘NPN’ and to ‘nPn

This might be due to SPICE

I have pushed a fix to ngspice git development branch pre-master-43. It will be available in ngspice-43.

Indeed Spice traditionally has been case insensitive. With file paths and names this does not make sense though, as file handling in Linux (and macOS) is case sensitive…

1 Like