|
1 | | -using SpiceSharpParser.ModelReaders.Netlist.Spice.Readers.EntityGenerators.Components.Semiconductors; |
| 1 | +using SpiceSharp.Components; |
| 2 | +using SpiceSharpParser.ModelReaders.Netlist.Spice.Readers.EntityGenerators.Components.Semiconductors; |
2 | 3 | using SpiceSharpParser.ModelReaders.Netlist.Spice.Readers.EntityGenerators.Models; |
3 | 4 | using System.IO; |
4 | 5 | using Xunit; |
@@ -49,6 +50,36 @@ public void When_CustomMosfetModel2_Used_NoExceptions() |
49 | 50 | spiceSharpReader.Settings.Mappings.Components.Map("M", mosfetGenerator); |
50 | 51 |
|
51 | 52 |
|
| 53 | + var spiceSharpModel = spiceSharpReader.Read(parseResult.FinalModel); |
| 54 | + |
| 55 | + Assert.False(spiceSharpModel.ValidationResult.HasError); |
| 56 | + Assert.False(spiceSharpModel.ValidationResult.HasWarning); |
| 57 | + } |
| 58 | + |
| 59 | + |
| 60 | + [Fact] |
| 61 | + public void When_BSIM1_Used_NoExceptions() |
| 62 | + { |
| 63 | + // Create a model from text file |
| 64 | + string path = Path.Combine(Directory.GetCurrentDirectory(), "Examples/Circuits/MosfetExample2.cir"); |
| 65 | + var netlistContent = File.ReadAllText(path); |
| 66 | + var parser = new SpiceNetlistParser(); |
| 67 | + parser.Settings.Lexing.HasTitle = true; |
| 68 | + var parseResult = parser.ParseNetlist(netlistContent); |
| 69 | + |
| 70 | + // Convert to Spice# |
| 71 | + var spiceSharpReader = new SpiceSharpReader(); |
| 72 | + spiceSharpReader.Settings.CaseSensitivity.IsModelTypeCaseSensitive = false; |
| 73 | + |
| 74 | + // custom mosfet models |
| 75 | + var modelGenerator = new MosfetModelGenerator(); |
| 76 | + modelGenerator.AddGenericLevel<BSIM1Model, SpiceSharpBSIM.Components.Semiconductors.BSIM.BSIM1Behaviors.ModelParameters>(4); |
| 77 | + spiceSharpReader.Settings.Mappings.Models.Map(new[] { "PMOS", "NMOS" }, modelGenerator); |
| 78 | + var mosfetGenerator = new MosfetGenerator(); |
| 79 | + mosfetGenerator.AddMosfet<SpiceSharp.Components.Mosfet3Model, SpiceSharp.Components.Mosfet3>(); |
| 80 | + spiceSharpReader.Settings.Mappings.Components.Map("M", mosfetGenerator); |
| 81 | + |
| 82 | + |
52 | 83 | var spiceSharpModel = spiceSharpReader.Read(parseResult.FinalModel); |
53 | 84 |
|
54 | 85 | Assert.False(spiceSharpModel.ValidationResult.HasError); |
|
0 commit comments