Code covered by the BSD License
-
SIMECT.m
-
SIMECT.m
-
SIMECT.m
-
SIMECT_PAR.m
-
SIMECT_PAR.m
-
SIMECT_PAR.m
-
[]=disp_AC(multi_in_out,model...
-
gui_set_des_var(des_var)
-
gui_simect_7(varargin)
-
sys_funct_disp_mimo(varargin)
SYS_FUNCT_DISP_MIMO M-file for sys_funct_disp_mimo.fig
-
A_Fct =supzmax(A, fmax)
-
[B_Trans_Fct A_Trans_Fct fr c...
-
[B_Trans_Fct A_Trans_Fct]=ext...
-
[B_norm A_norm]=norm_sfunct_d...
-
[B_norm A_norm]=norm_sfunct_m...
-
[R L C]=find_rlc(Rs,ZRAW,fr,e...
-
[Vname Vval Iname Ival]=find_...
-
[]=convert_res_model(an_res,m...
-
[]=create_analog_model(subcel...
-
[]=disp_DC(model_par,dir_dc,c...
-
[]=gen_multiout_sim_model(sim...
-
[]=write_verilog_real(fid,nam...
Write vhdl Constant vector from value and name
-
[]=write_verilog_vector(fid,n...
Write vhdl Constant vector from value and name
-
[]=write_vhdl_real(fid,name,v...
Write vhdl Constant vector from value and name
-
[]=write_vhdl_vector(fid,name...
Write vhdl Constant vector from value and name
-
[b,a]=invfreqs_local(g,w,vara...
INVFREQS Analog filter least squares fit to frequency response data.
-
[crt_meas,net_meas]=extract_n...
-
[dir_dc inv_dc imp_dc]=extrac...
-
[err err_mod err_phase]=fit_e...
-
[fc phase_at_f0 Q]=find_fc(re...
-
[good]=run_ocean(model_par, d...
-
[idc out in idc_comm out_comm...
-
[idc out1]=find_dc_par(sim_re...
-
[ind,subckt_net_meas,netlist]...
-
[line]=verilog_tr_decomp(namo...
-
[line]=vhdl_tr_decomp(cdn_mod...
-
[mod rep ]=get_ac_in(ac_an,or...
-
[model rep ]=get_ac_out(ac_an...
-
[multi_in_out model_in_out]=e...
-
[res]=verilog_tr(sub_fct_str_...
When a single element in vector
-
[res]=vhdl_tr(sub_fct_str_idx...
When a single element in vector
-
[res]=vhdl_tr_smash(sub_fct_s...
-
[simple_dc1,simple_dc2,simple...
-
[syst_nm sub_syst_all_vect su...
Open netlist
-
addinfogene( model_par,trans_...
-
cells_as_vector=extract_cells...
-
decomp_write_tf_verilog(cdn_m...
For verilog do not decompose
-
decomp_write_tf_vhdl(cdn_mode...
For SMASH do not decompose
-
des_var=extract_des_var(net_r...
-
disp_all_AC(model_par,multi_i...
-
disp_all_DC(model_par,multi_i...
-
disp_int_DC(model_par,sig,k,n...
-
filepath_vhd=create_verilog_m...
-
filepath_vhd=create_vhdl_mode...
-
filepath_vhd=create_vhdl_mode...
-
filname=convert_res_vhdl(vhdl...
-
find_rlc_fc(rep_ac,imp_dc,num...
-
find_trans(model_par, trans_a...
-
indication=verif_extract_only...
-
invIV( in )
-
ls_estimate(xs,ys,out1,gn)
-
model_in_out=get_gains(model_...
-
model_in_out=get_model(model_...
-
model_in_out=get_trf(model_pa...
-
pathdef
PATHDEF Search path defaults.
-
plt_param( res, fig, dc_an, p...
-
rep_trans=extract_tran(model_...
-
set_check_off(numedit)
-
set_check_on(numedit)
-
set_edit_off(numedit)
-
set_popup(popmenu,str,corrupt...
-
set_popup_off(numpopup,str)
-
set_popup_on(numpopup,str)
-
simple_dc=get_dc(model_par,dc...
-
solvev( vect )
-
strcmpc(s1,s2)
-
sub_fct_str=tf_decomp_real(Nu...
-
sup_pzmax(B, A, fmax, rempole...
-
tech=extract_tech(net_rep)
-
valv( vect, pos )
-
varres=extract_analp(varres, ...
-
SIMECT_GUI.m
-
extract_subckt_first_level.m
-
gui_alloff.m
-
gui_extract_off.m
-
gui_fill_vars.m
-
handpopmenu.m
-
param_test_v_uni_v_uni_v1.m
-
param_test_v_uni_v_uni_v1.m
-
read_user_input.m
-
simect_run.m
-
simect_runpar.m
-
update_model.m
-
var_test_i_diff_i_diff_v1.m
-
var_test_i_uni_v_diff_v1.m
-
var_test_v_diff_i_uni_v1.m
-
var_test_v_uni_v_uni_v1.m
-
var_test_v_uni_v_uni_v1.m
-
verif_par.m
-
write_variant_to_file.m
-
write_variant_to_gui.m
-
CCCS_lin_in_comm_out_comm
-
CCCS_lin_in_comm_out_diff
-
CCCS_lin_in_diff_out_comm
-
CCCS_lin_in_diff_out_diff
-
CCVS_lin_in_comm_out_comm
-
CCVS_lin_in_comm_out_diff
-
CCVS_lin_in_diff_out_comm
-
CCVS_lin_in_diff_out_diff
-
VCCS_lin_in_comm_out_comm
-
VCCS_lin_in_comm_out_diff
-
VCCS_lin_in_diff_out_comm
-
VCCS_lin_in_diff_out_diff
-
VCVS_lin_in_comm_out_comm
-
VCVS_lin_in_comm_out_diff
-
VCVS_lin_in_diff_out_comm
-
VCVS_lin_in_diff_out_diff_new
-
View all files
from
INTERFACE BETWEEN MATLAB AND CADENCE FOR MACRO-MODEL EXTRACTION
by Philippe BENABES
launch cadence analog simulations from Matlab and extract a macromodel of linear analog functions
|
| model_in_out=get_model(model_par,multi_in_out,model_in_out,numout) |
%---------------------------------------------------
% This software is the exclusive property of SUPELEC
%
% It is distributed as a MATLAB toolbox
% No part of this software can be distributed or
% modified without reference to the authors
%
% Copyright (c) 2011 SUPELEC SSE Departement
% All rights reserved
%
% http://www.supelec.fr/361_p_10063/philippe-benabes.html
%
%---------------------------------------------------
%
% file : get_model.m
% authors : P.BENABES & C.TUGUI
% Copyright (c) 2011 SUPELEC
% Revision: 3.0 Date: 24/03/2011
%
%---------------------------------------------------
% Modifications history
% 24 JAN 2010 : version 1.0
% 28 OCT 2010 : version 2.0
% 24 MAR 2011 : version 3.0
%---------------------------------------------------
%
% DESCRIPTION DU MODULE :
% extraction des fonctions de transfert endifferentiel
%
% MODULES UTILISES :
%
%---------------------------------------------------
function model_in_out=get_model(model_par,multi_in_out,model_in_out,numout)
model_in_out.mode_diff_enabled=model_par.mode_diff_enabled;
model_in_out.mode_diff_enabled_out=model_par.mode_diff_enabled_out;
f=multi_in_out(1).rep_ac.f;
model_in_out.f=f;
%If DIFF input
%Extract normal functions starting from diff/comm
%TFD1
model_in_out.Num_TF_dir1=multi_in_out(1).mod_ac.B_TF{2*numout-1};
model_in_out.Den_TF_dir1=multi_in_out(1).mod_ac.A_TF{2*numout-1};
%TFR1
if (model_par.rev_trfunction)
model_in_out.Num_TF_inv1=multi_in_out(2*numout+1).mod_ac.B_TF{1};
model_in_out.Den_TF_inv1=multi_in_out(2*numout+1).mod_ac.A_TF{1};
end
%Zin1/Yin1
model_in_out.Num_Zin1=multi_in_out(1).mod_ac.B_Z{1};
model_in_out.Den_Zin1=multi_in_out(1).mod_ac.A_Z{1};
%Zout1/Yout1
model_in_out.Num_Zout1=multi_in_out(2*numout+1).mod_ac.B_Z{1};
model_in_out.Den_Zout1=multi_in_out(2*numout+1).mod_ac.A_Z{1};
if model_par.mode_diff_enabled
%TFD3
model_in_out.Num_TF_dir3=multi_in_out(2).mod_ac.B_TF{2*numout-1};
model_in_out.Den_TF_dir3=multi_in_out(2).mod_ac.A_TF{2*numout-1};
%TFR3
if (model_par.rev_trfunction)
model_in_out.Num_TF_inv3=multi_in_out(2*numout+1).mod_ac.B_TF{2};
model_in_out.Den_TF_inv3=multi_in_out(2*numout+1).mod_ac.A_TF{2};
end
%Zin2/Yin2
model_in_out.Num_Zin2=multi_in_out(2).mod_ac.B_Z{1};
model_in_out.Den_Zin2=multi_in_out(2).mod_ac.A_Z{1};
%Zin_diff1/Yin_diff1
model_in_out.Num_Zin_diff1=multi_in_out(1).mod_ac.B_Z{2};
model_in_out.Den_Zin_diff1=multi_in_out(1).mod_ac.A_Z{2};
%Zin_diff2/Yin_diff2
model_in_out.Num_Zin_diff2=multi_in_out(1).mod_ac.B_Z{2};
model_in_out.Den_Zin_diff2=multi_in_out(1).mod_ac.A_Z{2};
end
if model_par.mode_diff_enabled_out
%TFD2
model_in_out.Num_TF_dir2=multi_in_out(1).mod_ac.B_TF{2*numout};
model_in_out.Den_TF_dir2=multi_in_out(1).mod_ac.A_TF{2*numout};
%TFR2
if (model_par.rev_trfunction)
model_in_out.Num_TF_inv2=multi_in_out(2*numout+2).mod_ac.B_TF{1};
model_in_out.Den_TF_inv2=multi_in_out(2*numout+2).mod_ac.A_TF{1};
end
%Zout2/Yout2
model_in_out.Num_Zout2=multi_in_out(2*numout+2).mod_ac.B_Z{1};
model_in_out.Den_Zout2=multi_in_out(2*numout+2).mod_ac.A_Z{1};
%Zout_diff1/Yout_diff1
model_in_out.Num_Zout_diff1=multi_in_out(2*numout+1).mod_ac.B_Z{2};
model_in_out.Den_Zout_diff1=multi_in_out(2*numout+1).mod_ac.A_Z{2};
%Zout_diff2/Yout_diff2
model_in_out.Num_Zout_diff2=multi_in_out(2*numout+2).mod_ac.B_Z{2};
model_in_out.Den_Zout_diff2=multi_in_out(2*numout+2).mod_ac.A_Z{2};
if model_par.mode_diff_enabled
%TFD4
model_in_out.Num_TF_dir4=multi_in_out(2).mod_ac.B_TF{2*numout};
model_in_out.Den_TF_dir4=multi_in_out(2).mod_ac.A_TF{2*numout};
%TFR4
if (model_par.rev_trfunction)
model_in_out.Num_TF_inv4=multi_in_out(2*numout+2).mod_ac.B_TF{2};
model_in_out.Den_TF_inv4=multi_in_out(2*numout+2).mod_ac.A_TF{2};
end
end
end
end
|
|
Contact us at files@mathworks.com