steve
31bd3e6056
Use all bits of ?: condit expression.
2002-07-12 18:10:45 +00:00
steve
472f98affe
Generate code for wide muxes.
2002-07-08 04:04:07 +00:00
steve
301040a67a
Avoid emitting to vvp local net symbols.
2002-07-05 21:26:17 +00:00
steve
3595b6d186
Carry can propagate to the otp in addi.
2002-07-01 00:52:47 +00:00
steve
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +00:00
steve
24a2487c18
Generate %cmpi/u where appropriate.
2002-06-02 18:57:17 +00:00
steve
cba5a22714
Generate %muli instructions when possible.
2002-05-31 20:04:57 +00:00
steve
95876feb46
Use addi with wide immediate values.
2002-05-30 01:57:23 +00:00
steve
b6b364a09d
Add %addi, which is faster to simulate.
2002-05-29 16:29:34 +00:00
steve
422754f36f
Support carrying the scope of named begin-end
...
blocks down to the code generator, and have
the vvp code generator use that to support disable.
2002-05-27 00:08:45 +00:00
steve
e70e04d6e8
Handle x case of unary ! properly.
2002-05-07 03:49:58 +00:00
steve
4a7e14786c
Tail size was wrong.
2002-04-23 05:18:05 +00:00
steve
1ddb736f4c
Handle bitsel muxes of odd shaped outputs.
2002-04-23 05:06:31 +00:00
steve
9ef49379f4
Add support for non-constant bit select.
2002-04-23 03:53:59 +00:00
steve
96213fe0ac
Keep delays applied to BUFZ devices.
2002-04-22 03:15:25 +00:00
steve
d482da4803
Reduce the while loop expression if needed.
2002-04-22 02:41:30 +00:00
steve
5882c6a481
Redo handling of assignment internal delays.
...
Leave it possible for them to be calculated
at run time.
2002-04-21 22:31:02 +00:00
steve
f03ec88c2a
Handle empty true case of conditional statements.
2002-04-14 19:19:21 +00:00
steve
eb27dc8db3
Support signed integer division.
2002-04-14 18:41:34 +00:00
steve
84bf0cee59
Vector constants to vpi_call can have sign.
2002-04-14 03:54:40 +00:00
steve
3275d1f252
Support signed expressions through to VPI.
2002-04-14 02:56:19 +00:00
steve
7349a6beaf
Generate port information in the .ufunc statement.
2002-03-18 00:18:50 +00:00
steve
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +00:00
steve
aa16e82102
Fix parameter bit select check for magic constants.
2002-02-03 05:53:00 +00:00
steve
364ffc9024
Add support for bit select of parameters.
...
This leads to a NetESelect node and the
vvp code generator to support that.
2002-01-28 00:52:41 +00:00
steve
02f5ccd5d9
Handle constants with drive strength z
2002-01-12 17:49:41 +00:00
steve
361d4f2147
Drive strengths for continuous assignments.
2002-01-12 04:03:39 +00:00
steve
5840368f2d
Handle certain special cases of stime.
2002-01-11 05:23:05 +00:00
steve
6be3be0f16
Constant values have drive strengths.
2002-01-06 03:15:43 +00:00
steve
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
a5400d7212
Support all 3 TRI net types.
2001-12-15 02:13:33 +00:00
steve
cd1524e6ca
Generate notif functors.
2001-12-14 06:03:34 +00:00
steve
4dd5f97a96
Parse and handle drive strengths of gates to vvp.
2001-12-14 02:05:13 +00:00
steve
ec4f8c80d5
Support functor delays for gates and UDP devices.
...
(Stephan Boettcher)
2001-12-06 03:31:24 +00:00
steve
2d3e85d941
Make sure fork labels are globally unique.
2001-12-05 05:41:20 +00:00
steve
e00aedd99b
Handle padding out of logical values.
2001-11-19 04:25:46 +00:00
steve
6e0b77a8da
Generate force code for variable l-values.
2001-11-18 01:28:18 +00:00
steve
54bb59ae99
Support compile on MacosX 10.1.1 (Timothy J. Wood)
2001-11-17 17:57:58 +00:00
steve
08f0f5a1f7
DLL target support for force and release.
2001-11-14 03:28:49 +00:00
steve
cc5ddc0b6b
MacOSX 10.1 updates.
2001-11-04 05:03:21 +00:00
steve
560c003e03
make fork label into complete statemnt.
2001-11-01 19:31:40 +00:00
steve
5d20dd63ec
Generate code for deassign and cassign.
2001-11-01 04:26:57 +00:00
steve
d83fb10774
The ! expression returns 0 to x and z values.
2001-10-24 05:06:54 +00:00
steve
5a6cca33a0
Write resolvers before the .functor (PR#300)
2001-10-24 03:43:45 +00:00
steve
924b4e0062
unused idx warning.
2001-10-22 02:04:37 +00:00
steve
0e43dfb285
Remove useless code for drawing .var inputs.
2001-10-22 00:04:51 +00:00
steve
46621d3c83
wrong variable for clk input to memory.
2001-10-21 23:38:16 +00:00
steve
83d3a60d5c
Add trailing ; to fork-join out labels.
2001-10-19 23:52:36 +00:00
steve
d350620315
Support multiple root modules (Philip Blundell)
2001-10-19 21:53:24 +00:00
steve
73283768a5
Support rnpmos devices. (Philip Blundell)
2001-10-18 17:30:25 +00:00
steve
ce7d64f427
Evaluate string expressions (Philip Blundell)
2001-10-18 16:41:49 +00:00
steve
177fa4062b
Support IVL_LPM_DIVIDE for structural divide.
2001-10-16 02:19:26 +00:00
steve
821c68696d
Generate %div instructions for binary /.
2001-10-16 01:27:17 +00:00
steve
42dab181cd
Carry the type of the scope (Stephan Boettcher)
2001-10-15 02:58:27 +00:00
steve
2326672b3a
Handle constant bits in arithmetic expressions.
2001-10-14 03:24:35 +00:00
steve
245905aeda
Support vectors as operands to logical and.
2001-10-10 04:47:43 +00:00
steve
c7bc35ad75
get CFLAGS from configure
2001-10-09 16:50:17 +00:00
steve
5071ce8575
handle nmos and pmos devices.
2001-10-09 02:28:44 +00:00
steve
cbd501b865
Fix some Cygwin DLL handling. (Venkat Iyer)
2001-09-30 16:45:10 +00:00
steve
bdf643ddb1
Generate code for unary minus (PR#272)
2001-09-29 04:37:44 +00:00
steve
d46465845c
Fix the size of unsized constant operants to compare (PR#274)
2001-09-29 01:53:22 +00:00
steve
dd75595082
Handle short l-values to concatenation.
2001-09-20 03:46:38 +00:00
steve
a73cfbc2b5
MacOS X compile time changes. (Timothy Wood)
2001-09-20 03:21:01 +00:00
steve
b2b8b89cd8
Make configure detect malloc.h
2001-09-15 18:27:04 +00:00
steve
f2068e83d4
Generate code for identity comparators.
2001-09-14 04:15:46 +00:00
steve
a9e54e7553
dead comments.
2001-09-01 00:58:16 +00:00
steve
03b428b6cb
Handle update in place of repeat constants.
2001-08-31 01:37:56 +00:00
steve
b8be5e80cd
Generate code for l-value bit selects.
2001-08-26 23:00:13 +00:00
steve
e35ed6e91c
Change the NetAssign_ class to refer to the signal
...
instead of link into the netlist. This is faster
and uses less space. Make the NetAssignNB carry
the delays instead of the NetAssign_ lval objects.
Change the vvp code generator to support multiple
l-values, i.e. concatenations of part selects.
2001-08-25 23:50:02 +00:00
steve
31aa85ce7d
Handle wide assignment to narrow return value.
2001-08-23 02:54:15 +00:00
steve
15c2b0317d
statement ends after while loop labels.
2001-08-16 03:45:17 +00:00
steve
2802601c44
tgt-vvp generates code that skips nets as inputs.
2001-08-10 00:40:45 +00:00
steve
b72d1c297d
More detailed messages about unsupported things.
2001-08-03 17:06:10 +00:00
steve
537757a7b9
Cleanup defines and types for mingw compile.
2001-07-30 02:44:05 +00:00
steve
00cacae2a3
Generate constant symbols for supply nets.
2001-07-28 03:18:50 +00:00
steve
1be77d68ce
Evaluate part selects when passed to system tasks.
2001-07-28 01:18:07 +00:00
steve
becc7cb56a
Handle part select expressions as variants of
...
NetESignal/IVL_EX_SIGNAL objects, instead of
creating new and useless temporary signals.
2001-07-27 04:51:44 +00:00
steve
629a02cccf
Fix binding of dangling function ports. do not elide them.
2001-07-27 02:41:55 +00:00
steve
bc284ee6d8
supply signals give input values.
2001-07-22 21:31:14 +00:00
steve
5c89fb71ae
Handle repeat for concatenation expressions.
2001-07-22 19:33:51 +00:00
steve
ce589da58a
Support the NetESubSignal expressions in vvp.tgt.
2001-07-22 00:17:49 +00:00
steve
cd8e491028
Support calculated delays in vvp.tgt.
2001-07-19 04:55:06 +00:00
steve
05407f488f
Relax driver limit from 64 to forever (Stephan Boettcher)
2001-07-18 02:44:39 +00:00
steve
64837efac5
Nest resolvers when there are lots of drivers (Stephan Boettcher)
2001-07-16 18:31:49 +00:00
steve
8d73df2b04
Make vvp output executable (Stephan Boettcher)
2001-07-16 18:26:08 +00:00
steve
c7b36322f6
Properly step through wide inputs. (Stephan Boettcher)
2001-07-09 15:38:35 +00:00
steve
8cc89a3a1f
Pass parameters to system functions.
2001-07-07 20:20:10 +00:00
steve
1628045b55
Generate code for right shift.
2001-07-07 03:01:06 +00:00
steve
370549a19a
Generate code for structural left shift.
2001-07-06 04:48:04 +00:00
steve
ab7b353ace
support fast programming by only writing the bits
...
that are listed in the input file.
2001-06-30 23:03:16 +00:00
steve
baac893d22
Support non-const right shift (unsigned).
2001-06-30 21:07:26 +00:00
steve
45d4117c02
Handle null parameters to system tasks.
2001-06-29 02:41:05 +00:00
steve
c4bd8b1463
Generate %shiftl instructions for shift.
2001-06-23 18:40:34 +00:00
steve
96d04bb5a0
Handle short inputs to tasks. (Stephan Boettcher)
2001-06-23 00:30:42 +00:00
steve
68a7ddefd3
Escaped identifiers in behavioral expressions. (Stephan Boettcher)
2001-06-21 04:53:59 +00:00
steve
81536481cc
Add structural EEQ gates (Stephan Boettcher)
2001-06-19 03:01:10 +00:00
steve
82e8e51736
1. Logic with more than 4 inputs
...
2. Id and name mangling
3. A memory leak in draw_net_in_scope()
(Stephan Boettcher)
2001-06-18 03:10:34 +00:00
steve
4159c98c58
More behavioral unary reduction operators.
...
(Stephan Boettcher)
2001-06-18 01:09:32 +00:00
steve
4b82d26f5e
Add support for structural multiply in t-dll.
...
Add code generators and vvp support for both
structural and behavioral multiply.
2001-06-16 23:45:05 +00:00
steve
bf42772995
Generate code to support memory access in continuous
...
assignment statements. (Stephan Boettcher)
2001-06-16 02:41:41 +00:00
steve
b3a5a0e5ab
Generate vvp code for GT and GE comparisons.
2001-06-15 04:14:18 +00:00
steve
5361efe8ed
Account for carry out on add devices.
2001-06-07 04:20:10 +00:00
steve
2f2657b765
support subtraction in tgt-vvp.
2001-06-07 03:09:37 +00:00
steve
f480943649
Support structural addition.
2001-06-07 02:12:43 +00:00
steve
e68ba4c73a
Attach noops to case labels.
2001-05-24 04:31:00 +00:00
steve
39ffe91230
Add behavioral modulus.
2001-05-24 04:20:10 +00:00
steve
660fd7c1d4
Update the mingw build to not require cygwin files.
2001-05-22 02:14:47 +00:00
steve
77d63aba74
make distclean target.
2001-05-20 17:13:27 +00:00
steve
de8c725890
Mingw32 support (Venkat Iyer)
2001-05-20 15:09:39 +00:00
steve
8669b372e0
Implement reduction nor.
2001-05-20 01:18:38 +00:00
steve
bdcb813727
Initial support for system functions.
2001-05-20 01:02:55 +00:00
steve
0872ad34cf
Behavioral ternary operators for vvp.
2001-05-17 04:37:02 +00:00
steve
bc6dfeb4a9
Skip the , in module lists.
2001-05-14 00:55:31 +00:00
steve
4d8954be4c
Fixup the resolver syntax.
2001-05-12 16:34:47 +00:00
steve
1d0a9871c2
Generate resolvers for multiple drivers.
2001-05-12 03:31:01 +00:00
steve
44a182d92c
VVP support for memories in expressions,
...
including general support for thread bit
vectors as system task parameters.
(Stephan Boettcher)
2001-05-10 00:26:53 +00:00
steve
914ad85e63
Add ivl and vvp.tgt support for memories in
...
expressions and l-values. (Stephan Boettcher)
2001-05-08 23:59:33 +00:00
steve
213cb1b08a
Behavioral code to read memories. (Stephan Boettcher)
2001-05-06 17:54:33 +00:00
steve
558fea33fb
Generate code that causes the value of a net to be passed
...
passed through all nets of a nexus.
2001-05-06 00:01:02 +00:00
steve
d45c7c58df
Generate code for the fully general event or.
2001-05-03 04:55:46 +00:00
steve
b5e0f46229
Generate null statements for conditional labels.
2001-05-03 04:55:28 +00:00
steve
0f9eb13245
Remove the init parameter of functors, and instead use
...
the special C<?> symbols to initialize inputs. This is
clearer and more regular.
2001-05-02 04:05:16 +00:00
steve
06437b7fba
Support behavioral subtraction.
2001-05-02 01:57:25 +00:00
steve
3e3757bde7
Comparisons cant leave their results in the opcode
...
result area or their values will be clobbered by other
parts of a complex expression.
2001-05-01 02:07:34 +00:00
steve
972e9c866b
OR is %or. Get this right.
2001-04-30 05:11:18 +00:00
steve
3f952a2fd2
detect multiple drivers on nexa.
2001-04-30 00:00:27 +00:00
steve
2a44cf70b1
Add bufif and pull devices.
2001-04-29 23:16:31 +00:00
steve
31291f5d8a
Evalulate logical or (||)
2001-04-29 20:47:39 +00:00
steve
861ed55879
Support marking vvp interpreter (Stephan Boettcher)
2001-04-28 20:06:07 +00:00
steve
73c4893ef7
Implement simple MUXZ for ?: operators.
2001-04-26 05:12:02 +00:00
steve
46e868d313
Fix generation of udp/comb definitions.
2001-04-24 02:59:52 +00:00
steve
8dfa322b8b
Support for UDP devices in VVP (Stephen Boettcher)
2001-04-24 02:23:58 +00:00
steve
57b0d9691e
Right shift by constant.
2001-04-21 03:26:23 +00:00
steve
7c6f496765
Add NAND and XNOR functors.
2001-04-21 02:04:01 +00:00
steve
67e72ce77e
Left shift by a constant amount.
2001-04-21 01:49:17 +00:00
steve
c97692d715
Generate code for disable.
2001-04-21 00:55:46 +00:00
steve
39bcdfb7b4
Use the new %fork syntax.
2001-04-18 05:12:03 +00:00
steve
41ce198a1f
add XOR support.
2001-04-15 16:37:48 +00:00
steve
05e30ed43b
Add support for behavioral xnor.
2001-04-15 04:07:56 +00:00
steve
70aeb980d8
vvp support for <= with internal delay.
2001-04-15 02:58:11 +00:00
steve
8205d0fcc9
Use event/or for wide anyedge statements.
2001-04-14 05:11:49 +00:00
steve
0550287658
Generate vvp code for functions with ports.
2001-04-06 02:28:02 +00:00
steve
82947a9343
Generate vvp code for the repeat statement.
2001-04-05 03:20:57 +00:00
steve
b7fb806611
Generate signed .net and .var statements.
2001-04-05 01:38:24 +00:00
steve
898639d7bf
Get signed compares working correctly in vvp.
2001-04-05 01:12:27 +00:00
steve
0653f859bc
Support forever loops in the tgt-vvp target.
2001-04-04 04:50:35 +00:00
steve
1b2a6f8bed
Fix broken look scanning down bits of number.
2001-04-04 04:28:41 +00:00
steve
c6cf665c4a
emit vpi parameters values as vectors.
2001-04-04 04:14:09 +00:00
steve
19c84ff9a2
Support non-blocking assignments.
2001-04-03 04:50:37 +00:00
steve
3ffb3c7011
thread bit allocation leak in assign.
2001-04-02 04:09:20 +00:00