-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathNEWS
More file actions
278 lines (254 loc) · 7.2 KB
/
Copy pathNEWS
File metadata and controls
278 lines (254 loc) · 7.2 KB
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
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
NEWS for modelgen-verilog.
This file summarizes new features and important changes between snapshots.
2026****-dev
============
- conditionals, loops in digital blocks
- initial blocks
- various logic bugfixes
20260729-dev
============
- fix parameter initialisers in interpreted paramset
- localparam in spice and (interpreted) module
- overloading tie break: localparam range count
- fix href elaboration bug (codeberg issue #8)
- overloading at top level, now like module body
- fix: include port direction with verilog dumps
- lang_verilog: (re)enable backslash line continuation
- mgvams/$rdist: accept type_string arg
- generate code for always blocks
- pos/neg edge triggered events
- system tasks in always blocks
- reg, assign to reg in event block
- logic examples
20260329-dev
============
- hierarchical references to parameters
- fix param count bug in overload selection
- support common pooling (with C++>=20)
- string parameters
- fix dcop in $absdelay and $transition
- preprocessor fix. whitespace in string literals
- overloading diagnostics: use "desc" attribute
- generate code for variable initialiser expressions
- generate code for "net_assign"
- fopen, fclose, fwrite etc.
- final_step (without arg)
20251222-dev
============
- infer variable storage type (instance/common/temp)
- honour storage type in code generation
- improve annotation dumps
- add P_{K,Q}_NIST1998 to constants.vams
- add/test absdelay based transmission line
- fix lost context in parse error reporting
- fix a bunch of issues with const expressions
- fix "transition" 3-arg invocation
20250731-dev
============
- random distribution functions
- modularise functions and filters
- generate code for $rdist_* calls
- adjust precalc logic
- fix current control in idt/ddt
- simparam: "scale" and "simulatorVersion"
- follow various library improvements
20250525-dev
============
- improve overloading diagnostics
- fix paramset param_count bug
- codegen for same_port aka net devices
- add ceil, tangent functions, NaN
- support current ports in overloads
- pp: replace get_line overload use getline
- some event related fixes, analog initial
- fix analog init related bugs
- fix integer parameters in function args
- fix crash in noise source (ignore input nodes)
- sign fix laplace filter potential output
20250301-dev
============
* static state reinitialisation fixed
* event algorithm improvements
* port connections now optional
* overloading based on connections
* idt reset flag
* analog function ref in $limit call
* wildcard in udp table
* idiomatic mosfet model (demo/stub)
* sync/drop module plugin
* MODEL_CARD envelope for prototypes
* two more constants, from CMC policy
* $limit improvements, $discontinuity(-1)
* rework timer logic
* always block parse/dump
20241210-dev
============
* initial user defined primitives
* event "or" code generation
* bugfixes, cross event etc.
* paramset is a MODEL_CARD
* more functions/tasks are plugins
* catch up with gnucap, portlist & `include
20241031-dev
============
* expm1, logp1
* adjust port names and syntax
* string parameter range
* add coupled line example
* verilog style integer arithmetics
* clarify license situation
20241002-dev
============
* name spaces and state variables
* cross events
* timer event
* $discontinuity
* transition filter
* $port_connected
* vpulse device
* combined build with Gnucap
20240702-dev
============
* noise analysis fixes and test coverage
* paramsets: emit code for prototype module last
* bugfix short current probe
* fix mfactor bug in noise source
* add noise to diode.vams
20240430-dev
============
* fix output variable evaluation in paramset
* propagate reverse dependencies
* integer variable cleanup
* optimise out unused filter calls
* implement untest, retest
* small signal noise sources and analysis
* "mag" in ac_stim
* variable declaration type and range parse/dump.
* various paramset expansion and dump fixes
* fix optimised out dependency on short branch.
* bugfix mfactor in paramset instances
* initial trln and ltra examples
20240331-dev
============
* fix allocation in laplace
* fix uninitialised access in *dt filter
* refactor Tokens
* laplace_{zi,np,zp} filters
* zi_{zi,nd,np,zp} filters
* revisit build system
* attribute instance improvements
* output variables in paramset
20240229-dev
============
* build system improvements
* un-hack filter evaluation in do_tr
* laplace_nd filter
* $debug task
* bugfix uninitialised state in sources
* hotfix name unmangling
20240220
========
* array parse/dump
* ground statement code generation
* port flow stub (dummy code generated, zero flow.)
* new build system: out-of-tree build etc.
* parallel testing
* load plugins by directory, at startup
20231231-dev
============
* preprocessor conditional fix
* preprocessor quoted string fix
* diode.model port with switches
* $bound_step
* ac_stim
* sine sources
* $mfactor function and fixes
* fix dump: preserve unreachable shorts and probes
* netlist with analog blocks
* bugfix pragma parser
20231130-dev
============
* bugfix aliasparam
* bugfix pp nested conditional
* bugfix production build, casts.
* drop module variable derivatives
* refine (reverse) dependency tracking, fpi
* dump-annotate dependencies and reachability
* node equivalence, hard and conditional.
* keep track of event sensitivities
* deterministic output
* handle parametric constants in precalc_last
* ddt/idt: avoid internal nodes
* do not allocate unused filter nodes
* misc small fixes (see git)
20231031-dev
============
* commons hotfix
* fix shutdown crash
* partial attribute instance in lang_verilog
* bunch of optimisations
* paramset stub, vams/cap
* deps: fixed point iteration (fpi) stub
* more pragmas options
20230930-dev
============
* embed custom headers into output
* GPL compatible vams header from ADMS
* preprocessor: `elif
* unify FUNCTION and Token use
* revisit probe and dependency equality
* Token based dependecy tracking
* skip code generation for unused functions
* same for (some) unreachable conditional blocks
* simplify state and contribution code
* more binary operator optimisations
* provide (simple) examples
* fix contribution bug, mg1_polarity1.gc
* fix getlines memory issue
20230829-dev
============
* aliasparam
* func, task plugins
* tasks events, $strobe
* filter plugins
* slew filter stub
* paramset: param_count tie break
* sign bug fix in vsource
* indirect contribution
* limiting
* initial conditions
20230729-dev
============
* string handling
* systemtask parse/dump
* handle short branches
* probe vars with attribs only
* named branches
* preliminary value retention rules
* preliminary attribute_instance
* tr_probe_num: only include variables with attributes
* paramset/instance default param fix
* fix current port re-expansion in vaflow
* various bugfixes
20230623-dev
============
* analog functions
* control structures: while/for/case
* preprocessor fixes & cleanup
* support ternary operator
* add string, integer variable types
* expressions in parameter bounds
* ddx (without nested/second derivatives)
* generate is_valid (overloading)
* analog event stub
* switching branch
20230520-dev
============
* initial development snapshot
* preprocessing
* disciplines
* modules with ports & parameters
* partial derivatives
* current/voltage sources
* ddt/idt filters
* basic code generation