From 5c458d5a638fbce353be5b176fa9bda61ee97066 Mon Sep 17 00:00:00 2001 From: Roka Miklos Date: Mon, 29 Jun 2026 10:58:24 +0200 Subject: [PATCH] Added resistor component with 3 different simulation model including Verilog-A --- circuit/ael/mr/mr_resistor.ael | 160 ++++++++++++++++++ mrModels/mr_pas_r/schematic/master.tag | 2 + mrModels/mr_pas_r/schematic/sch.oa | Bin 0 -> 34668 bytes .../mr_pas_r/schematic_parasitic/master.tag | 2 + mrModels/mr_pas_r/schematic_parasitic/sch.oa | Bin 0 -> 34940 bytes .../mr_pas_r/schematic_veriloga/master.tag | 2 + mrModels/mr_pas_r/schematic_veriloga/sch.oa | Bin 0 -> 34820 bytes mrModels/mr_pas_r/symbol/master.tag | 2 + mrModels/mr_pas_r/symbol/symbol.oa | Bin 0 -> 25596 bytes mrModels/mr_pas_r_va/symbol/master.tag | 2 + mrModels/mr_pas_r_va/symbol/symbol.oa | Bin 0 -> 25604 bytes mrModels/mr_pas_r_va/veriloga/master.tag | 2 + mrModels/mr_pas_r_va/veriloga/veriloga.va | 43 +++++ 13 files changed, 215 insertions(+) create mode 100644 circuit/ael/mr/mr_resistor.ael create mode 100644 mrModels/mr_pas_r/schematic/master.tag create mode 100644 mrModels/mr_pas_r/schematic/sch.oa create mode 100644 mrModels/mr_pas_r/schematic_parasitic/master.tag create mode 100644 mrModels/mr_pas_r/schematic_parasitic/sch.oa create mode 100644 mrModels/mr_pas_r/schematic_veriloga/master.tag create mode 100644 mrModels/mr_pas_r/schematic_veriloga/sch.oa create mode 100644 mrModels/mr_pas_r/symbol/master.tag create mode 100644 mrModels/mr_pas_r/symbol/symbol.oa create mode 100644 mrModels/mr_pas_r_va/symbol/master.tag create mode 100644 mrModels/mr_pas_r_va/symbol/symbol.oa create mode 100644 mrModels/mr_pas_r_va/veriloga/master.tag create mode 100644 mrModels/mr_pas_r_va/veriloga/veriloga.va diff --git a/circuit/ael/mr/mr_resistor.ael b/circuit/ael/mr/mr_resistor.ael new file mode 100644 index 0000000..0ef1b8a --- /dev/null +++ b/circuit/ael/mr/mr_resistor.ael @@ -0,0 +1,160 @@ +// ============================================================================ +// Resitor item definition +// ============================================================================ +create_item( + "mr_pas_r", // name + "Resistor (Custom Symbol)", // label + "R", // prefix + ITEM_DESIGN_INST, // attribute + -1, // priority + NULL, // icon name (for palette) + "Component Parameters", // dialog name + NULL, // dialog data + ComponentNetlistFmt, + "", // netlist data + ComponentAnnotFmt, + "", // symbol name (obsolete) + 3, // artwork type (obsolete) + NULL, // artwork data (obsolete) + 0, // extra attribute + + // ==================================================================== + // CORE PARAMETERS + // ==================================================================== + create_parm( + "R", // name + "Resistance", // label + PARM_DOE | // attribs + PARM_REAL | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFormSet", // form set + RESISTANCE_UNIT, // unit + prm("StdForm","50 Ohm")), // default value + + // ==================================================================== + // PARASITIC MODEL PARAMETERS + // ==================================================================== + create_parm( + "C", + "Parallel capacitance", + PARM_REAL, + "StdFormSet", + CAPACITANCE_UNIT, + prm("StdForm","0.1 pF")), + + create_parm( + "L", + "Series inductance", + PARM_REAL, + "StdFormSet", + INDUCTANCE_UNIT, + prm("StdForm","1 nH")), + + // ==================================================================== + // VERILOGA MODEL PARAMETERS + // ==================================================================== + create_parm( + "TC1", + "1st order temperature coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "TC2", + "2nd order temperature coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "Kf", + "Flicker noise coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "Af", + "Flicker noise exponent (usually 1.0)", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","1.0")) +); + + +// ============================================================================ +// Resitor item definition (Verilog) +// ============================================================================ +create_item( + "mr_pas_r_va", // name + "Resistor (Custom Symbol)", // label + "R", // prefix + 0, // attribute + -1, // priority + NULL, // icon name (for palette) + "Component Parameters", // dialog name + NULL, // dialog data + ComponentNetlistFmt, + "mr_pas_r_va", // netlist data -> model name + ComponentAnnotFmt, + "", // symbol name (obsolete) + 0, // artwork type (obsolete) + NULL, // artwork data (obsolete) + 0, + + // ==================================================================== + // CORE PARAMETERS + // ==================================================================== + create_parm( + "R", // name + "Resistance", // label + PARM_DOE | // attribs + PARM_REAL | + PARM_OPTIMIZABLE | + PARM_STATISTICAL, + "StdFormSet", // form set + RESISTANCE_UNIT, // unit + prm("StdForm","50 Ohm")), // default value + + // ==================================================================== + // VERILOGA MODEL PARAMETERS + // ==================================================================== + create_parm( + "TC1", + "1st order temperature coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "TC2", + "2nd order temperature coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "Kf", + "Flicker noise coefficient", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","0.0")), + + create_parm( + "Af", + "Flicker noise exponent (usually 1.0)", + PARM_REAL | PARM_NO_DISPLAY, + "StdFormSet", + UNITLESS_UNIT, + prm("StdForm","1.0")) +); + diff --git a/mrModels/mr_pas_r/schematic/master.tag b/mrModels/mr_pas_r/schematic/master.tag new file mode 100644 index 0000000..26be1be --- /dev/null +++ b/mrModels/mr_pas_r/schematic/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +sch.oa diff --git a/mrModels/mr_pas_r/schematic/sch.oa b/mrModels/mr_pas_r/schematic/sch.oa new file mode 100644 index 0000000000000000000000000000000000000000..1a63d5db19776a89d517958812cdc3ddf5a9eb39 GIT binary patch literal 34668 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 literal 0 HcmV?d00001 diff --git a/mrModels/mr_pas_r/schematic_parasitic/master.tag b/mrModels/mr_pas_r/schematic_parasitic/master.tag new file mode 100644 index 0000000..26be1be --- /dev/null +++ b/mrModels/mr_pas_r/schematic_parasitic/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +sch.oa diff --git a/mrModels/mr_pas_r/schematic_parasitic/sch.oa b/mrModels/mr_pas_r/schematic_parasitic/sch.oa new file mode 100644 index 0000000000000000000000000000000000000000..3c148f3fe9bafcb412db24b5895b0e80e3e4fdb9 GIT binary patch literal 34940 zcmYdyRc2&B0{sjO45|za3@|}0sGJOxmW9$RP?{A=OG0TjC=D_L#AF8%3=9nNP?`fu zb3$o5s6|{*J~x!+fzrHCnh#1dLe(=vX;vuB4y8GvG!K;Kh0=UbnjcCFLTMo=Z3Lx_ zp|lj#K4~be2Bl|0=mrf4&CmjKAe0Xa7X>Ik07{2I=?EyD0;T^$K@OD901eO_DBS`L zz!^|lK@_4;LIOftKm*=E4#M|Pg3u1?P}&eeE0{y*AGQ!W!39D`ctU6gUkI%c2%#&& zAaq1JgoZlvze7HR|Dq5=&nSh^4wVr4Lk)!f(Fma{Iw15MsQY2z14~Z^5NQUOIE;qH zKP20F}Q1O~4sY8m8_E zGsJ=yP&xpr{*C}t9O^#^kAYzY)c&yUts+! zevo1Y1_o%emO&887lP8lP#V_WhIU67#GvBPZV3adpT-1jf5ZA~EKokI-^K>z!}@O= zP(G|5#|7ncLuo?&IsvFU^!}YNR9pl~i$ZBJC@l`9C7`qQGt(N^3%CEhw!GrFEdRE|k`T()v)^07@G|Y4m=r z2~^w^N}EAxb0}>Ar7fYf6_mDy(l$`q7D|Jn9mE86cR)!F)Q)Wrq$$3cB@P`?p0 z1_A2sg2og;{cJ@B1_n^KSDArz25SZe1{($j z22dB;j)8%}o`HeEfq{X+k%581iGhK^nSp@;)U9@9U|?`#U|?`(U|{e71rUW8%{1_M*{23S+K;s*rv4Ma8|Nkc^{y};{egUNu z5DkiF5DkiJ5N!`iT%d4<(x7++iG$)6L_0#oouD)!w}R3qNM8z6Jt!T5(j*Hg0fQu9 zG*li+F~EdDegr9lnFA}|n4k(kX`O+Ap#hXmK{O~`fM}R~6)*!qh9F^>d9ZK*xd|i< z${!#alrKOuC_jK`P`U=up!5l%Ve+8(0P$hwkxIktL#IJzl7d0rgoObppMms(!VVff z46t|yiGk#xYQf^5poEEoW zgTz4j9a)~6nSlXhCPIEBsj4wH6n5+ z1*wT8o_Q&$6$~kv#RWNul?*|)P;DWpxdjX%MVZB^3?X^>xeOuBh72LjMht%WAfd?A zVutd7+{6loa!(NHo1c=J!w{aCQj)>olbV-alEDz~3$ofXueb#64Nn&op`iToVwmSW z{enZ{{hhpAokQT>4@s>kae=tYEkCaW?A4(Br2LY6hTznk)Z~)P{5*yLa43hQ7Ud#a z6U7jenii0gn3u|6ppcoz5SEe*vN|9$&oM7O2NDFCc|M6rsX3m-AkBWIxlpSZ0*n{} zj2ZG1L-UGKi%W_!lS@)l7<|CiKqJ!!7MVT_hI$4Hc^(WtwopcpErVxXW{GotUJ8RV zvL0uc9%rzg0yhR{u$}@phH|GckmG_g5(`p8DhpB>{8Gym+>7!{3tUpu7>e>!d=raH zQj3ZiObsAW3W_8s3mnBkwn1Rp+18mM$To<<$JU3zfFZ~hR3CzpIjr2c0^%?*Fo4P> zP<;-`BMdmpLulr~X#c^?xdAor4wQZXrJq3QFHjoRPJ_7v7Y!??KPywVfqE2=14$k87OT6_1GUM4W;1Y>gaq}Si<4~#)r|MbOQ=&m_Ath`UFUjfdOtV zlsifdPzZqH2ZTY^!}A3weKIkFgu!`&gAoEjc?6Ws86_k^P3{vQc5rZTFi0GvAJq2* zwMRhWpkyZ^0D&Mm7zU*mP@e#n&T;h@arF~%brr=CgdMNhteESniERH+#>*Wmk5-G%@@i*`6^J_1xiOi z=^QBC0Hvou=^0QO6ejpEEbMU6uyPSrZ-Md)C_r)1FmrOC;Q&%Q7%?b+fiTEzpzwi} z2_PC2bS(^xj4-?%&H|}s0GA_-{KAqlN(}18YM`DpM2w4@fq|KYft8H|+=r4$Yo$_Yx`x(8CW_U%=u6X5R*=MO&cs4k*0`N*{sJuyP;;>Yy!98Wukx zPzOdpX_&uo(Xf0B>vt2PVdl(%x(5^{1A#$fQy>g-4>+eWFukJg^^W( z)JUTU2up)Ut)T8h>Qpc?F)=YQg8>T*3o96~v9WP+aUcOs5Mbv*0B&|}Zic5!3=DHX z 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 literal 0 HcmV?d00001 diff --git a/mrModels/mr_pas_r/symbol/master.tag b/mrModels/mr_pas_r/symbol/master.tag new file mode 100644 index 0000000..e1024da --- /dev/null +++ b/mrModels/mr_pas_r/symbol/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +symbol.oa diff --git a/mrModels/mr_pas_r/symbol/symbol.oa b/mrModels/mr_pas_r/symbol/symbol.oa new file mode 100644 index 0000000000000000000000000000000000000000..c17c0c70ff0e3676e2226433002953bc28e5c617 GIT binary patch literal 25596 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 aK*T|17f76qjh&4ROn_{IoDl)K_X7ZcZqS$j literal 0 HcmV?d00001 diff --git a/mrModels/mr_pas_r_va/symbol/master.tag b/mrModels/mr_pas_r_va/symbol/master.tag new file mode 100644 index 0000000..e1024da --- /dev/null +++ b/mrModels/mr_pas_r_va/symbol/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +symbol.oa diff --git a/mrModels/mr_pas_r_va/symbol/symbol.oa b/mrModels/mr_pas_r_va/symbol/symbol.oa new file mode 100644 index 0000000000000000000000000000000000000000..81e4dac45548f81ba01bbf53fb5fc26012564699 GIT binary patch literal 25604 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 literal 0 HcmV?d00001 diff --git a/mrModels/mr_pas_r_va/veriloga/master.tag b/mrModels/mr_pas_r_va/veriloga/master.tag new file mode 100644 index 0000000..22b17e0 --- /dev/null +++ b/mrModels/mr_pas_r_va/veriloga/master.tag @@ -0,0 +1,2 @@ +-- Master.tag File, Rev:1.0 +veriloga.va diff --git a/mrModels/mr_pas_r_va/veriloga/veriloga.va b/mrModels/mr_pas_r_va/veriloga/veriloga.va new file mode 100644 index 0000000..cdb6367 --- /dev/null +++ b/mrModels/mr_pas_r_va/veriloga/veriloga.va @@ -0,0 +1,43 @@ +// VerilogA for mrModels, mr_pas_r_va, veriloga + +`include "constants.vams" +`include "disciplines.vams" + +module mr_pas_r_va(P1, P2); + inout P1, P2; + electrical P1, P2; + + // =================================== Parameters =================================== + parameter real R = 1000.0 from (0:inf); // Resistance in Ohms + parameter real TC1 = 0.0; // Linear temperature coefficient (1/°C) + parameter real TC2 = 0.0; // Quadratic temperature coefficient (1/°C²) + + // ======== Flicker (1/f) noise parameters (optional - set Kf=0 to disable) ========= + parameter real Kf = 0.0; // Flicker noise coefficient (1e-11 to 1e-9) + parameter real Af = 1.0; // Flicker noise exponent (usually 1.0) + + real R_eff; // Effective resistance after temp coeff + real T; // Temperature in Kelvin + + analog begin + T = $temperature; // Get simulation temperature (Kelvin) + + // Effective resistance with temperature dependence + R_eff = R * (1 + TC1*(T - 300.15) + TC2*(T - 300.15)*(T - 300.15)); + + // Ohm's law + V(P1, P2) <+ R_eff * I(P1, P2); + + // ============================ Thermal (white) noise =========================== + // Correct formula: voltage noise power = 4 * k * T * R + V(P1, P2) <+ white_noise(4 * `P_K * T * R_eff, "thermal"); + + // ======================== Optional flicker (1/f) noise ======================== + // Excess noise that appears in some real resistors (carbon, thick film, etc.) + if (Kf > 0) begin + // Current noise contribution (common way to model resistor excess noise) + V(P1, P2) <+ flicker_noise(Kf * pow(abs(I(P1,P2)), Af), 1.0, "excess"); + end + end + +endmodule