-
Notifications
You must be signed in to change notification settings - Fork 2
/
Todo
71 lines (52 loc) · 3.93 KB
/
Todo
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
[ ] Add an interactive shell (where devices can be added with commands)
[ ] Improve the print expression parser
[x] Add number support to the print expressions
[ ] Add the power operator (^ or **)
[x] It seems that the vcvs is broken. Fix this! Check the stamping of the device with some example netlists
[x] Improve the creation of the network matrices. Currently, each component knows their mna size, but with ports as sources this changed. The mna size needs to be moved out of the component class.
Furthermore, the stamps system needs to be reworked to be independent of the offset and the nodes. Stamps should be formulated for devices in general, not one particular one.
[x] Reworke the structure of the A, x and z creation. Remove the mna_size member variable from the component class, this is now calculated with the stamps.
[x] Remove 'get_component_index' from the componentlist class, which is currently needed for the results browser
[ ] Improve the parser: (this is actually critical for some other todo points, too, so focus on this)
[ ] Add error reporting (!)
[ ] Add spectre netlists
[x] Add parameters to devices and subcircuits
[x] Add support for expressions to the parser
[ ] Simplify parser hierarchy. Currently (with parser_common.hpp) simple changes result in huge rebuilds
[ ] Support n-port parameters (Z, Y, S, ABCD, ...)
[x] Enable Z- and Y-Matrix simulations
[x] Enable S-Matrix simulations
[x] Enable ABCD-, G-, H-, etc. Matrix simulations
[x] ABCD-Matrix
[x] G-Matrix
[x] H-Matrix
[x] Provide a generic interface in the results so that no specific simulation needs to be chosen by the user
[ ] Make it possible to use ports also as sources. This enables the simultaneous use of netlists for "regular" simulations and n-port simulations
[ ] Make sure n-port parameters work also with ports that are not grounded. Currently all functions assume that one terminal is on ground.
[ ] Add Transmission Lines?
[x] Enable the result browser to print currents for ALL devices (this could be done by some 'get_current' function for each device, with the actual node values (since these are all known))
[ ] Implement Noise simulations
[x] Add basic noise function for components
[x] Add integration of the NTFs (at least for one-pole systems)
[x] Rewrite the access function mechanism of the result browser, since regular and noise voltages need to be distinguished
[x] Add output of noise transfer functions
[x] Add non-integrated voltage noise
[x] Add noise parameters to devices (currently only resistors have noise)
[x] Add equivalent input noise and noise figure
[ ] Check noise simulations for all (sensible) devices
[ ] While checking output expressions, check for any errors (wrong noise results or similar). For this, the error mechanisms of printing commands needs to be changed so that every quantity holds
their own error messages.
[x] Integrate simplification from Jan, improve
[ ] Integrate simplifications into the netlist parser
[ ] Enhance readability of output, similar perhaps to sympy. Also improve (and implement correctly) the latex report, because this provides the best output.
[ ] Create an html report
[x] Added basic html functionality through MathJax. Results from the file are now also written to report.html
[ ] Improve format
[ ] Export network matrices?
[ ] Add a utility to generate matlab/octave files in order to postprocess the results.
[ ] plot tool to show (qualitively) how the result behaves with regard to frequency/component values/...
[x] Add a linearization feature (small-signal simulations from large-signal circuits)
[ ] Add behavioural models (in s-domain)
[ ] Small signal models should not be hard coded in the simulator, but supplied as config files (this way, the user can also change the small signal models)
[ ] Add numerical alternatives to netlists, so that symbolic results can automatically be converted to numeric results, enabling plotting.
[ ] Add poles and zeros to the results browser