Quantcast
Channel: Cadence Custom IC Design Forum
Viewing all articles
Browse latest Browse all 4906

scs files

$
0
0

Greetings, 

I am new to developing a compact models. I developed a compact model to a device in Verilog-A and I want to add statistical parameters to it. I looked at an older model developed by my group and figured out that the model is a .scs file that calls the verilog-A model. There is also another file that is .cdf that I do not quite understand what it does. Can some ones explain to me how these three files communicate together in a simulation. 

I am using version 616

Simulator: spectre

here is the .scs file:

////////////////////////////////////////////////////////////////////////////////

simulator lang=spectre

inline subckt memr_hfox (p n)
parameters
+ HRS1=1.5e+05 LRS1=1e4
+ VtP=0.75 VtN=-1.0 tswP=1e-08
+ tswN=1e-06 Rinit1=1.5e+05
+ HRS_rt=2e+06 HRS_nm_spr=0.001 THRS_sp=0.001 TLRS_sp=0.001
+ Ttsw_n_sp=0.001 Ttsw_p_sp=0.001 TVtn_sp=0.001 TVtp_sp=0.001
*
* include Verilog-A model for memristor
ahdl_include "/research/seneca/models/memr_hfox_demo.va"
*
* instantiate Verilog-A memristor model
memr_hfox p n memr_hfox HRS=HRS1 LRS=LRS1 Vtp=VtP Vtn=VtN
+ tsw_p=tswP tsw_n=tswN Rinit=Rinit1 HRS_rate=HRS_rt
+ HRS_nom_spr=HRS_nm_spr THRS_sp_rel=THRS_sp TLRS_sp_rel=TLRS_sp
+ Ttsw_n_sp_rel=Ttsw_n_sp Ttsw_p_sp_rel=Ttsw_p_sp TVtn_sp_rel=TVtn_sp
+ TVtp_sp_rel=TVtp_sp
*
* statistical block for this model
* mismatch used to generate random number per instance
statistics {
mismatch {
vary HRS1 dist=gauss std=0.05 percent=yes
vary LRS1 dist=gauss std=0.05 percent=yes
vary VtN dist=gauss std=0.05 percent=yes
vary VtP dist=gauss std=0.05 percent=yes
vary tswN dist=gauss std=0.05 percent=yes
vary tswP dist=gauss std=0.05 percent=yes
}
}
ends memr_hfox

///////////////////////////////////////////////////////////////////////////////////


Viewing all articles
Browse latest Browse all 4906

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>