Binoy B
08/29/2022, 10:42 AMStefan Schippers
08/29/2022, 11:17 AMBinoy B
09/01/2022, 6:59 AMBinoy B
09/02/2022, 9:18 AMJesse Cirimelli-Low
09/06/2022, 8:25 PMRyan R
09/27/2022, 11:07 AMMohammed Fouda
09/30/2022, 12:48 AMBarak Hoffer
10/24/2022, 5:11 PMMatt Venn
11/15/2022, 4:26 PMStefan Schippers
02/03/2023, 5:12 PMStefan Schippers
02/07/2023, 1:35 PM2V
peak value I see some current bump. I don't know if this is correct, but at least something is happening. May be reram parameters must be tuned somehow...
WIll also try to compare with Xyce, if I am able to do that...Barak Hoffer
02/08/2023, 10:32 AMTim Edwards
02/08/2023, 9:30 PMStefan Schippers
02/09/2023, 11:22 AMopenvaf
compiler (openvaf is a prebuilt executable I downloaded from the openvaf main site). Then simply compiled the sky130_fd_pr_reram_git/cells/reram_cell/sky130_fd_pr_reram__reram_cell.va
to produce the sky130_fd_pr_reram__reram_cell.osdi
object. This must be included in ngspice with the new pre_osd
command.
Following is the complete netlist of the testbench:
** sch_path: /home/schippes/.xschem/xschem_library/xschem_sky130/sky130_tests/tb_reram.sch
**.subckt tb_reram
N1 TOP 0 sky130_fd_pr_reram__reram_model
V1 TOP 0 PWL (0 0 1u 2 2u 0 3u -2 4.0u 0.0)
**** begin user architecture code
.control
* Modify according to your specific location
pre_osdi /mnt/sda7/sky130_fd_pr_reram_git/cells/reram_cell/sky130_fd_pr_reram__reram_cell.osdi
save all
tran 1n 4.0u
write tb_reram.raw
.endc
** opencircuitdesign pdks install, not needed in this testbench
* .lib /home/schippes/share/pdk/sky130A/libs.tech/ngspice/sky130.lib.spice tt
**.ends
.model sky130_fd_pr_reram__reram_model sky130_fd_pr_reram__reram_cell area_ox=0.1024e-12 Tox=5.0e-9
+ Tfilament_max=4.9e-9 Tfilament_min=3.3e-9 Tfilament_0=3.5e-9 Eact_generation=1.501 Eact_recombination=1.500
+ I_k1=6.140e-5 Tfilament_ref=4.7249e-9 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
**** end user architecture code
.end
You see the reram instance uses the (new) N
letter, it references a sky130_fd_pr_reram__reram_model
SPICE model, this can be defined as simply
.model sky130_fd_pr_reram__reram_model sky130_fd_pr_reram__reram_cell
the .model
'*connects*' the spice device to the verilog OSDI model
Additionally the .model can override default parameters specified in the .va file, as done in above netlist .
To enable the new reram I think the .model sky130_fd_pr_reram__reram_model
SPICE wrapper and the <http://sky130_fd_pr_reram__reram_cell.va|sky130_fd_pr_reram__reram_cell.va>
verilog source file should be added. Then the verilog must be compiled on the target machine in some way.Barak Hoffer
03/13/2023, 6:05 PMTim 'mithro' Ansell
03/18/2023, 8:07 PMAvinash Gupta
03/27/2023, 7:34 PMEman Hassan
04/12/2023, 8:45 AMEman Hassan
04/12/2023, 10:39 AMEman Hassan
04/12/2023, 2:05 PMEman Hassan
04/12/2023, 2:18 PMBarak Hoffer
04/13/2023, 9:13 AMEman Hassan
04/13/2023, 12:29 PMEman Hassan
04/13/2023, 12:33 PMEman Hassan
04/15/2023, 9:14 AMEman Hassan
04/16/2023, 10:51 AM<http://sky130_fd_pr_reram__reram_module.va|sky130_fd_pr_reram__reram_module.va>
sky130_fd_pr_reram__reram_module.osdi
in the path /home/eda_work/eman/hassan/share/pdk/sky130B/libs.tech/ngspice. the current PDK_ROOT I added to the .bashrc are export PDK_ROOT=/home/eda_work/eman/hassan/share/pdk
Eman Hassan
04/16/2023, 11:09 AM** sch_path: /home/eda_work/eman/hassan/share/pdk/sky130B/libs.tech/xschem/sky130_tests/tb_reram.sch
**.subckt tb_reram
V1 net1 0 PWL (0 0 0.25u 1.8 0.5u 0 0.75u -1.8 1.0u 0.0)
.save i(v1)
XR1 TOP 0 sky130_fd_pr_reram__reram_cell Tfilament_0=3.8e-9
Vreram net1 TOP 0
.save i(vreram)
**** begin user architecture code
.control
save all
tran 0.1n 1.5u
write tb_reram.raw
.endc
**** end user architecture code
**.ends
**** begin user architecture code
.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/eda_work/eman/hassan/share/pdk/sky130B/libs.tech/ngspice/sky130_fd_pr_reram__reram_module.osdi
.endc
Thomas Pluck
04/17/2023, 8:02 PMEman Hassan
04/18/2023, 3:11 PMEman Hassan
04/24/2023, 11:15 AM<http://sky130_fd_pr_reram__reram_module.va|sky130_fd_pr_reram__reram_module.va>
sky130_fd_pr_reram__reram_module.osdi
in the pdk path in the path /home/eda_work/eman/hassan/share/pdk/sky130B/libs.tech/ngspice. Also, the current PKK_ROOT is: export PDK_ROOT=/home/eda_work/eman/hassan/share/pdk. However, I have still has the same error when I tried to simulate the tb_reram available in the path sch_path: /home/eda_work/eman/hassan/share/pdk/sky130B/libs.tech/xschem/sky130_tests/tb_reram.sch
the error is as the following: Error opening osdi lib "/home/eda_work/eman/hassan/share/pdk/sky130b/libs.tech/ngspice/sky130_fd_pr_reram__reram_module.osdi": No such file or directory!
Error: Library /home/eda_work/eman/hassan/share/pdk/sky130b/libs.tech/ngspice/sky130_fd_pr_reram__reram_module.osdi couldn't be loaded!
Circuit: ** sch_path: /home/eda_work/eman/hassan/share/pdk/sky130b/libs.tech/xschem/sky130_tests/tb_reram.sch
Error on line:
n.xr1.n1 top 0 xr1.nfilament sky130_fd_pr_reram__reram_model
could not find a valid modelname
Simulation interrupted due to error!. I am not sure what I missed and how to fix the issue.