Verilog A Model To Cadence
Verilog A Model To Cadence
- Signal-flow models
Model relates potentials only
Useful for abstract models
- Conservative models
Model relates potentials and flows
Device modeling and loading at interfaces
Flow
parameter r = 1;
V(a,b) I(a,b) Model
analog
(potential & flow)
– V(a,b) <+ r*I(a,b);
b endmodule
Amplifier
module amp (out, in);
output out; input in;
+ + Potential
Potential
module mymod(p,n);
.............
endmodule
+
–
analog
i v=ri V(a,b) <+ r*I(a,b);
endmodule
• Conductor (flow source branch)
module cond (a, b);
v electrical a, b;
+ parameter real g = 1;
–
analog
I(a,b) <+ g*V(a,b);
i=gv endmodule
2. If the model has a syntax error, open the error log to identify errors and
solve it.
http://webee.technion.ac.il/people/skva/Memristor%20Models
/TCAS_memristor_model_paper_final.pdf
German University in Cairo 32
Example B: TEAM
Memristor model
Note: You can access the parameters’ values
from the schematic directly
• Verilog-A, …
• Continuous-time / continuous-value simulation
• Signal flow modeling
• Conservative modeling
38 CADENCE DESIGN
SYSTEMS, INC.
Named Branches
• Named branches are explicitly declared
• Useful when defining distinct parallel potential branches
39 CADENCE DESIGN
SYSTEMS, INC.
Example: Capacitor with Initial Condition
module cap (a, b);
electrical a, b;
parameter real c=0, ic=0;
analog begin
if (analysis("ic"))
V(a,b) <+ ic;
else
I(a,b) <+ ddt(c*V(a,b));
end
endmodule
40 CADENCE DESIGN
SYSTEMS, INC.
German University in Cairo 41
Accessing Net and Branch Signals
• Examples
Vin = V(in);
CurrentThruBranch = I( myBranch );
{ } concatenation || logical OR
*, /, % arithmetic ?: conditional
+, - arithmetic
<<, >> shift
Analog operators and equations
• Time derivative operator
• Time integral operator
• Circular integrator operator