@User As you desired, the following is the short write-up on "Creating a shared-library plug-in for Xyce": (1) configure Xyce along with the --enable-shared and --enable-xyce-shareable options use prefix for either of these directories ~/XyceInstall/Serial and ~/XyceInstall/Parallel. (2) build and install either serial-Xyce or parallel-Xyce or both (make sure you run the configure script in a directory other than the build directories ~/XyceInstall/Serial and ~/XyceInstall/Parallel). (3) Once Xyce is installed correctly, we get buildxyceplugin and Xyce scripts inside ~/XyceInstall/Serial/bin and ~/XyceInstall/Parallel/bin (4) then make a directory ~/MyXyceWork and copy device model verilogA code file (.va) and the netlist file into it, or download from
https://github.com/google/skywater-pdk-libs-sky130_fd_pr_reram. (Assuming you already have open_pdks installed). (5) Name of the .va file should be the same as the module name (in this case rram2) and this name will be the same as .so file generated after buildxyceplugin. (6) cd ~/MyXyceWork and then $~/XyceInstall/Serial/bin/buildxyceplugin -o rram2
rram2.va . (7) Now we have rram2.so file within the pwd, then $~/XyceInstall/Serial/bin/Xyce -plugin rram2.so 1T1R.spice (Note: 1T1R.spice is the input netlist file, contains the address for .lib file ../sky130B/libs.tech/ngspice/sky130.lib.spice). (8) Finally we have the output file in .raw format.