Eman Hassan
04/13/2023, 12:29 PMMitch Bailey
04/13/2023, 2:34 PMsky130_fd_pr__reram_reram_cell
.
Looks like the xschem model is sky130_fd_pr_reram__reram_model
.
Should these be the same?Stefan Schippers
04/13/2023, 5:15 PMsky130_fd_pr_reram__reram_cell
I have committed the changes in xschem_sky130, an open_pdks update/reinstall will pull in the updated xschem device.
The verilog-A patched model should be included in open-pdks in some way, and needs to be compiled by openvaf
on the target platform.
The reram symbol is now netlisted as a subcircuit. Barak has built a wrapper that instantiates the verilog-A model.
XR1 TOP 0 sky130_fd_pr_reram__reram_cell Tfilament_0=3.8e-9
The subcircuit contains the actual verilog-A primitive limked to a sky130_fd_pr_reram__reram_model
model.
.subckt sky130_fd_pr_reram__reram_cell TE BE Tfilament_0=3.3e-9 area_ox=0.1024e-12
N1 TE BE nFilament sky130_fd_pr_reram__reram_model
.ic v(nFilament)={Tfilament_0*1.0e9}
.ends sky130_fd_pr_reram__reram_cell
The xschem reram.sym
is self contained. When one or more of these devices are present in a circuit the following lines will be present in the netlist. The path for the osdi compiled model is built using the PDK_ROOT variable (should point to the the sky130B process variant)
.subckt sky130_fd_pr_reram__reram_cell TE BE Tfilament_0=3.3e-9 area_ox=0.1024e-12
N1 TE BE nFilament sky130_fd_pr_reram__reram_model
.ic v(nFilament)={Tfilament_0*1.0e9}
.ends sky130_fd_pr_reram__reram_cell
.model sky130_fd_pr_reram__reram_model sky130_fd_pr_reram__reram_module area_ox=0.1024e-12 area_ox
+ = 0.1024e-12 Tox = 5.0 Tfilament_max = 4.9 Tfilament_min = 3.3 Eact_generation = 1.501
+ Eact_recombination = 1.500 I_k1 = 6.140e-5 Tfilament_ref = 4.7249 V_ref = 0.430 velocity_k1 = 150 gamma_k0 =
+ 16.5 gamma_k1 = -1.25 Temperature_0 = 300 C_thermal = 3.1825e-16 tau_thermal = 0.23e-9 t_step =
+ 1.0e-9 smoothing = 1e-7 Kclip = 200
.control
pre_osdi /home/schippes/share/pdk/sky130B/libs.tech/ngspice/sky130_fd_pr_reram__reram_module.osdi
.endc