Browse Source
Sim Model Editor improvements
Sim Model Editor improvements
- Tab-switching, - Automatic expansion of categories on tab-switch, - Various minor simulation improvements, - Various new simulation-related bugfixes.7.0
56 changed files with 85980 additions and 990 deletions
-
337demos/simulation/subsheets/subsheets.kicad_pro
-
1eeschema/CMakeLists.txt
-
157eeschema/dialogs/dialog_sim_model.cpp
-
8eeschema/dialogs/dialog_sim_model.h
-
89eeschema/netlist_exporters/netlist_exporter_spice.cpp
-
4eeschema/netlist_exporters/netlist_exporter_spice.h
-
4eeschema/sim/ngspice.cpp
-
14eeschema/sim/ngspice_helpers.cpp
-
18eeschema/sim/ngspice_helpers.h
-
7eeschema/sim/sim_library.cpp
-
27eeschema/sim/sim_library.h
-
27eeschema/sim/sim_library_spice.cpp
-
5eeschema/sim/sim_library_spice.h
-
133eeschema/sim/sim_model.cpp
-
19eeschema/sim/sim_model.h
-
70eeschema/sim/sim_model_behavioral.cpp
-
16eeschema/sim/sim_model_behavioral.h
-
17eeschema/sim/sim_model_ideal.cpp
-
177eeschema/sim/sim_model_passive.cpp
-
48eeschema/sim/sim_model_passive.h
-
116eeschema/sim/sim_model_source.cpp
-
12eeschema/sim/sim_model_source.h
-
1eeschema/sim/sim_model_subckt.cpp
-
69eeschema/sim/sim_model_tline.cpp
-
16eeschema/sim/sim_model_tline.h
-
16eeschema/sim/sim_plot_frame.cpp
-
141eeschema/sim/sim_property.cpp
-
6eeschema/sim/sim_property.h
-
4eeschema/sim/sim_value.h
-
6eeschema/sim/spice_grammar.h
-
15eeschema/tools/sch_editor_control.cpp
-
9qa/data/eeschema/spice_netlists/chirp/chirp.cir
-
30052qa/data/eeschema/spice_netlists/chirp/chirp.csv
-
45qa/data/eeschema/spice_netlists/chirp/chirp.kicad_sch
-
0qa/data/eeschema/spice_netlists/chirp/chirp.lib.spice
-
9qa/data/eeschema/spice_netlists/chirp/chirp.spice
-
0qa/data/eeschema/spice_netlists/npn_ce_amp/npn.lib.spice
-
4043qa/data/eeschema/spice_netlists/npn_ce_amp/npn_ce_amp.csv
-
8qa/data/eeschema/spice_netlists/npn_ce_amp/npn_ce_amp.kicad_sch
-
16qa/data/eeschema/spice_netlists/npn_ce_amp/npn_ce_amp.spice
-
13qa/data/eeschema/spice_netlists/opamp/opamp.cir
-
4043qa/data/eeschema/spice_netlists/opamp/opamp.csv
-
6qa/data/eeschema/spice_netlists/opamp/opamp.kicad_sch
-
0qa/data/eeschema/spice_netlists/opamp/opamp.lib.spice
-
13qa/data/eeschema/spice_netlists/opamp/opamp.spice
-
40043qa/data/eeschema/spice_netlists/rectifier/rectifier.csv
-
0qa/data/eeschema/spice_netlists/rectifier/rectifier.spice
-
6817qa/data/eeschema/spice_netlists/tlines/tlines.csv
-
52qa/data/eeschema/spice_netlists/tlines/tlines.kicad_sch
-
0qa/data/eeschema/spice_netlists/tlines/tlines.spice
-
50qa/unittests/eeschema/eeschema_test_utils.cpp
-
39qa/unittests/eeschema/eeschema_test_utils.h
-
2qa/unittests/eeschema/sim/test_library_spice.cpp
-
112qa/unittests/eeschema/test_netlist_exporter_spice.cpp
-
2qa/unittests/eeschema/test_sch_reference_list.cpp
-
16qa/unittests/eeschema/test_sch_sheet_list.cpp
@ -1,337 +0,0 @@ |
|||
{ |
|||
"board": { |
|||
"design_settings": { |
|||
"defaults": { |
|||
"board_outline_line_width": 0.1, |
|||
"copper_line_width": 0.2, |
|||
"copper_text_size_h": 1.5, |
|||
"copper_text_size_v": 1.5, |
|||
"copper_text_thickness": 0.3, |
|||
"other_line_width": 0.15, |
|||
"silk_line_width": 0.15, |
|||
"silk_text_size_h": 1.0, |
|||
"silk_text_size_v": 1.0, |
|||
"silk_text_thickness": 0.15 |
|||
}, |
|||
"diff_pair_dimensions": [], |
|||
"drc_exclusions": [], |
|||
"rules": { |
|||
"min_copper_edge_clearance": 0.0, |
|||
"solder_mask_clearance": 0.0, |
|||
"solder_mask_min_width": 0.0 |
|||
}, |
|||
"track_widths": [], |
|||
"via_dimensions": [] |
|||
}, |
|||
"layer_presets": [], |
|||
"viewports": [] |
|||
}, |
|||
"boards": [], |
|||
"cvpcb": { |
|||
"equivalence_files": [] |
|||
}, |
|||
"erc": { |
|||
"erc_exclusions": [], |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"pin_map": [ |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
0, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
1, |
|||
2, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
0, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
1, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
2, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
0, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
0, |
|||
2, |
|||
1, |
|||
1, |
|||
0, |
|||
0, |
|||
1, |
|||
0, |
|||
2, |
|||
0, |
|||
0, |
|||
2 |
|||
], |
|||
[ |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2, |
|||
2 |
|||
] |
|||
], |
|||
"rule_severities": { |
|||
"bus_definition_conflict": "error", |
|||
"bus_entry_needed": "error", |
|||
"bus_label_syntax": "error", |
|||
"bus_to_bus_conflict": "error", |
|||
"bus_to_net_conflict": "error", |
|||
"different_unit_footprint": "error", |
|||
"different_unit_net": "error", |
|||
"duplicate_reference": "error", |
|||
"duplicate_sheet_names": "error", |
|||
"extra_units": "error", |
|||
"global_label_dangling": "warning", |
|||
"hier_label_mismatch": "error", |
|||
"label_dangling": "error", |
|||
"lib_symbol_issues": "warning", |
|||
"multiple_net_names": "warning", |
|||
"net_not_bus_member": "warning", |
|||
"no_connect_connected": "warning", |
|||
"no_connect_dangling": "warning", |
|||
"pin_not_connected": "error", |
|||
"pin_not_driven": "error", |
|||
"pin_to_pin": "warning", |
|||
"power_pin_not_driven": "error", |
|||
"similar_labels": "warning", |
|||
"unannotated": "error", |
|||
"unit_value_mismatch": "error", |
|||
"unresolved_variable": "error", |
|||
"wire_dangling": "error" |
|||
} |
|||
}, |
|||
"libraries": { |
|||
"pinned_footprint_libs": [], |
|||
"pinned_symbol_libs": [] |
|||
}, |
|||
"meta": { |
|||
"filename": "subsheets.kicad_pro", |
|||
"version": 1 |
|||
}, |
|||
"net_settings": { |
|||
"classes": [ |
|||
{ |
|||
"bus_width": 12.0, |
|||
"clearance": 0.2, |
|||
"diff_pair_gap": 0.25, |
|||
"diff_pair_via_gap": 0.25, |
|||
"diff_pair_width": 0.2, |
|||
"line_style": 0, |
|||
"microvia_diameter": 0.3, |
|||
"microvia_drill": 0.1, |
|||
"name": "Default", |
|||
"pcb_color": "rgba(0, 0, 0, 0.000)", |
|||
"schematic_color": "rgba(0, 0, 0, 0.000)", |
|||
"track_width": 0.25, |
|||
"via_diameter": 0.8, |
|||
"via_drill": 0.4, |
|||
"wire_width": 6.0 |
|||
} |
|||
], |
|||
"meta": { |
|||
"version": 2 |
|||
}, |
|||
"net_colors": null |
|||
}, |
|||
"pcbnew": { |
|||
"last_paths": { |
|||
"gencad": "", |
|||
"idf": "", |
|||
"netlist": "", |
|||
"specctra_dsn": "", |
|||
"step": "", |
|||
"vrml": "" |
|||
}, |
|||
"page_layout_descr_file": "" |
|||
}, |
|||
"schematic": { |
|||
"annotate_start_num": 0, |
|||
"drawing": { |
|||
"dashed_lines_dash_length_ratio": 12.0, |
|||
"dashed_lines_gap_length_ratio": 3.0, |
|||
"default_line_thickness": 6.0, |
|||
"default_text_size": 50.0, |
|||
"field_names": [], |
|||
"intersheets_ref_own_page": false, |
|||
"intersheets_ref_prefix": "", |
|||
"intersheets_ref_short": false, |
|||
"intersheets_ref_show": false, |
|||
"intersheets_ref_suffix": "", |
|||
"junction_size_choice": 3, |
|||
"label_size_ratio": 0.375, |
|||
"pin_symbol_size": 25.0, |
|||
"text_offset_ratio": 0.15 |
|||
}, |
|||
"legacy_lib_dir": "", |
|||
"legacy_lib_list": [], |
|||
"meta": { |
|||
"version": 1 |
|||
}, |
|||
"net_format_name": "", |
|||
"ngspice": { |
|||
"fix_include_paths": true, |
|||
"fix_passive_vals": false, |
|||
"meta": { |
|||
"version": 0 |
|||
}, |
|||
"model_mode": 0, |
|||
"workbook_filename": "" |
|||
}, |
|||
"page_layout_descr_file": "", |
|||
"plot_directory": "", |
|||
"spice_adjust_passive_values": false, |
|||
"spice_external_command": "spice \"%I\"", |
|||
"subpart_first_id": 65, |
|||
"subpart_id_separator": 0 |
|||
}, |
|||
"sheets": [ |
|||
[ |
|||
"e63e39d7-6ac0-4ffd-8aa3-1841a4541b55", |
|||
"" |
|||
], |
|||
[ |
|||
"51ab3a6c-36b1-4056-a2d2-39c83ee99c02", |
|||
"subsheet1" |
|||
], |
|||
[ |
|||
"cd8140cb-ee2c-44d2-bab6-19a75f861228", |
|||
"subsheet2" |
|||
] |
|||
], |
|||
"text_variables": {} |
|||
} |
@ -1,177 +0,0 @@ |
|||
/*
|
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mikolaj Wielgus |
|||
* Copyright (C) 2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 3 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* https://www.gnu.org/licenses/gpl-3.0.html
|
|||
* or you may search the http://www.gnu.org website for the version 3 license,
|
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#include <sim/sim_model_passive.h>
|
|||
|
|||
using PARAM = SIM_MODEL::PARAM; |
|||
|
|||
|
|||
SIM_MODEL_PASSIVE::SIM_MODEL_PASSIVE( TYPE aType ) |
|||
: SIM_MODEL( aType ) |
|||
{ |
|||
static std::vector<PARAM::INFO> resistor = makeParamInfos( "r", "Resistance", "Ω" ); |
|||
static std::vector<PARAM::INFO> capacitor = makeParamInfos( "c", "Capacitance", "F" ); |
|||
static std::vector<PARAM::INFO> inductor = makeParamInfos( "l", "Inductance", "H" ); |
|||
|
|||
switch( aType ) |
|||
{ |
|||
case TYPE::R_ADV: |
|||
for( const PARAM::INFO& paramInfo : resistor ) |
|||
AddParam( paramInfo ); |
|||
break; |
|||
|
|||
case TYPE::C_ADV: |
|||
for( const PARAM::INFO& paramInfo : capacitor ) |
|||
AddParam( paramInfo ); |
|||
break; |
|||
|
|||
case TYPE::L_ADV: |
|||
for( const PARAM::INFO& paramInfo : inductor ) |
|||
AddParam( paramInfo ); |
|||
break; |
|||
|
|||
default: |
|||
wxFAIL_MSG( "Unhandled SIM_MODEL type in SIM_MODEL_PASSIVE" ); |
|||
} |
|||
} |
|||
|
|||
|
|||
bool SIM_MODEL_PASSIVE::SetParamFromSpiceCode( const wxString& aParamName, |
|||
const wxString& aParamValue, |
|||
SIM_VALUE_GRAMMAR::NOTATION aNotation ) |
|||
{ |
|||
if( aParamName.Lower() == "tc" ) |
|||
return SetParamFromSpiceCode( "tc1", aParamValue, aNotation ); |
|||
|
|||
switch( GetType() ) |
|||
{ |
|||
case TYPE::R_ADV: |
|||
if( aParamName.Lower() == "tc1r" ) |
|||
return SIM_MODEL::SetParamFromSpiceCode( "tc1", aParamValue, aNotation ); |
|||
|
|||
/*if( aParamName.Lower() == "tc2r" )
|
|||
return SIM_MODEL::SetParamFromSpiceCode( "tc2", aParamValue, aNotation );*/ |
|||
|
|||
if( aParamName.Lower() == "res" ) |
|||
return SIM_MODEL::SetParamFromSpiceCode( "r", aParamValue, aNotation ); |
|||
|
|||
break; |
|||
|
|||
case TYPE::C_ADV: |
|||
if( aParamName.Lower() == "cap" ) |
|||
return SIM_MODEL::SetParamFromSpiceCode( "c", aParamValue, aNotation ); |
|||
|
|||
break; |
|||
|
|||
case TYPE::L_ADV: |
|||
if( aParamName.Lower() == "ind" ) |
|||
return SIM_MODEL::SetParamFromSpiceCode( "l", aParamValue, aNotation ); |
|||
|
|||
break; |
|||
|
|||
default: |
|||
break; |
|||
} |
|||
|
|||
return SIM_MODEL::SetParamFromSpiceCode( aParamName, aParamValue, aNotation ); |
|||
} |
|||
|
|||
|
|||
std::vector<PARAM::INFO> SIM_MODEL_PASSIVE::makeParamInfos( wxString aName, |
|||
wxString aDescription, |
|||
wxString aUnit ) |
|||
{ |
|||
std::vector<PARAM::INFO> paramInfos; |
|||
PARAM::INFO paramInfo = {}; |
|||
|
|||
paramInfo.name = "temp"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "°C"; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = "27"; |
|||
paramInfo.description = "Temperature"; |
|||
paramInfo.isInstanceParam = true; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = aName; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = aUnit; |
|||
paramInfo.category = PARAM::CATEGORY::PRINCIPAL; |
|||
paramInfo.defaultValue = ""; |
|||
paramInfo.description = aDescription; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "tnom"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = "°C"; |
|||
paramInfo.category = PARAM::CATEGORY::TEMPERATURE; |
|||
paramInfo.defaultValue = "27"; |
|||
paramInfo.description = "Nominal temperature"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
paramInfo.name = "tc1"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = aUnit; |
|||
paramInfo.category = PARAM::CATEGORY::TEMPERATURE; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "Temperature coefficient"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
|
|||
/*paramInfo.name = "tc2";
|
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = aUnit; |
|||
paramInfo.category = PARAM::CATEGORY::TEMPERATURE; |
|||
paramInfo.defaultValue = "0"; |
|||
paramInfo.description = "2nd order temperature coefficient"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfos.push_back( paramInfo );*/ |
|||
|
|||
/*if( aName != "l" )
|
|||
{ |
|||
paramInfo.name = "bv_max"; |
|||
paramInfo.type = SIM_VALUE::TYPE::FLOAT; |
|||
paramInfo.unit = aUnit; |
|||
paramInfo.category = PARAM::CATEGORY::LIMITING_VALUES; |
|||
paramInfo.defaultValue = ""; |
|||
paramInfo.description = "Max. safe operating voltage"; |
|||
paramInfos.push_back( paramInfo ); |
|||
}*/ |
|||
|
|||
if( aName == "r" ) |
|||
{ |
|||
paramInfo.name = "noisy"; |
|||
paramInfo.type = SIM_VALUE::TYPE::BOOL; |
|||
paramInfo.unit = ""; |
|||
paramInfo.category = PARAM::CATEGORY::NOISE; |
|||
paramInfo.defaultValue = "True"; |
|||
paramInfo.description = "Enable thermal noise"; |
|||
paramInfo.isInstanceParam = false; |
|||
paramInfos.push_back( paramInfo ); |
|||
} |
|||
|
|||
return paramInfos; |
|||
} |
@ -1,48 +0,0 @@ |
|||
/* |
|||
* This program source code file is part of KiCad, a free EDA CAD application. |
|||
* |
|||
* Copyright (C) 2022 Mikolaj Wielgus |
|||
* Copyright (C) 2022 KiCad Developers, see AUTHORS.txt for contributors. |
|||
* |
|||
* This program is free software; you can redistribute it and/or |
|||
* modify it under the terms of the GNU General Public License |
|||
* as published by the Free Software Foundation; either version 3 |
|||
* of the License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU General Public License |
|||
* along with this program; if not, you may find one here: |
|||
* https://www.gnu.org/licenses/gpl-3.0.html |
|||
* or you may search the http://www.gnu.org website for the version 3 license, |
|||
* or you may write to the Free Software Foundation, Inc., |
|||
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA |
|||
*/ |
|||
|
|||
#ifndef SIM_MODEL_PASSIVE_H |
|||
#define SIM_MODEL_PASSIVE_H |
|||
|
|||
#include <sim/sim_model.h> |
|||
|
|||
|
|||
class SIM_MODEL_PASSIVE : public SIM_MODEL |
|||
{ |
|||
public: |
|||
SIM_MODEL_PASSIVE( TYPE aType ); |
|||
|
|||
bool SetParamFromSpiceCode( const wxString& aParamName, const wxString& aParamValue, |
|||
SIM_VALUE_GRAMMAR::NOTATION aNotation |
|||
= SIM_VALUE_GRAMMAR::NOTATION::SPICE ) override; |
|||
|
|||
private: |
|||
static std::vector<PARAM::INFO> makeParamInfos( wxString aName, wxString aDescription, |
|||
wxString aUnit ); |
|||
|
|||
std::vector<wxString> getPinNames() const override { return { "+", "-" }; } |
|||
}; |
|||
|
|||
|
|||
#endif // SIM_MODEL_PASSIVE_H |
@ -1,9 +0,0 @@ |
|||
.title KiCad schematic |
|||
.include "chirp.lib" |
|||
.save all |
|||
.probe alli |
|||
.tran 10u 100m |
|||
|
|||
XV1 Net-_V1-E1_ Net-_V1-E2_ chirp bf=1k ef=3k bt=30m et=70m |
|||
R1 Net-_V1-E1_ Net-_V1-E2_ 10k |
|||
.end |
30052
qa/data/eeschema/spice_netlists/chirp/chirp.csv
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,9 @@ |
|||
.title KiCad schematic |
|||
.include "/home/mikolaj/my/src/kicad/qa/data/eeschema/spice_netlists/chirp/chirp.lib.spice" |
|||
.save all |
|||
.probe alli |
|||
.tran 10u 100m |
|||
|
|||
XV1 /out Net-_V1-E2_ chirp bf=1k ef=3k bt=30m et=70m |
|||
R1 /out Net-_V1-E2_ 10k |
|||
.end |
4043
qa/data/eeschema/spice_netlists/npn_ce_amp/npn_ce_amp.csv
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -1,17 +1,17 @@ |
|||
.title KiCad schematic |
|||
.include "npn.lib" |
|||
.include "npn.lib.spice" |
|||
.save all |
|||
.probe alli |
|||
.tran 1u 1m |
|||
|
|||
R1 Net-_R1-Pad1_ Net-_Q1-B_ 1k |
|||
R2 Net-_Q1-B_ GND 1k |
|||
Q1 /out Net-_Q1-B_ Net-_Q1-E_ NPN |
|||
R4 Net-_Q1-E_ Net-_C2-Pad2_ 100 |
|||
R2 Net-_Q1-B_ GND 1k |
|||
R1 Net-_R1-Pad1_ Net-_Q1-B_ 1k |
|||
C1 /in Net-_Q1-B_ 10u |
|||
V1 Net-_R1-Pad1_ GND 9 |
|||
R3 Net-_R1-Pad1_ /out 100 |
|||
C2 Net-_Q1-E_ Net-_C2-Pad2_ 10u |
|||
R4 Net-_Q1-E_ Net-_C2-Pad2_ 100 |
|||
R5 Net-_C2-Pad2_ GND 1 |
|||
R3 Net-_R1-Pad1_ /out 100 |
|||
V2 Net-_C1-Pad1_ GND SIN( 0 10m 10k ) |
|||
C1 Net-_C1-Pad1_ Net-_Q1-B_ 10u |
|||
V1 Net-_R1-Pad1_ GND ( 9 ) |
|||
V2 /in GND SIN( 0 10m 10k ) |
|||
.end |
@ -1,13 +0,0 @@ |
|||
.title KiCad schematic |
|||
.include "opamp.lib" |
|||
.save all |
|||
.probe alli |
|||
.tran 10u 10m |
|||
|
|||
R1 GND Net-_U1--_ 10k |
|||
R2 Net-_U1--_ /out 10k |
|||
V3 GND Net-_U1-V-_ ( 5 ) |
|||
VSIN1 /in GND SIN( 0 100m 1k ) |
|||
V2 Net-_U1-V+_ GND ( 5 ) |
|||
XU1 /in Net-_U1--_ Net-_U1-V+_ Net-_U1-V-_ /out uopamp_lvl2 |
|||
.end |
4043
qa/data/eeschema/spice_netlists/opamp/opamp.csv
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
@ -0,0 +1,13 @@ |
|||
.title KiCad schematic |
|||
.include "opamp.lib.spice" |
|||
.save all |
|||
.probe alli |
|||
.tran 10u 10m |
|||
|
|||
R1 GND Net-_U1--_ 10k |
|||
R2 Net-_U1--_ /out 10k |
|||
V3 GND Net-_U1-V-_ AC ( 5 ) |
|||
VSIN1 /in GND AC SIN( 0 100m 1k ) |
|||
V2 Net-_U1-V+_ GND AC ( 5 ) |
|||
XU1 /in Net-_U1--_ /out uopamp_lvl1 |
|||
.end |
40043
qa/data/eeschema/spice_netlists/rectifier/rectifier.csv
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
6817
qa/data/eeschema/spice_netlists/tlines/tlines.csv
File diff suppressed because it is too large
View File
File diff suppressed because it is too large
View File
Write
Preview
Loading…
Cancel
Save
Reference in new issue