steve
65e9b6be12
Rework of internals to carry vectors through nexus instead
...
of single bits. Make the ivl, tgt-vvp and vvp initial changes
down this path.
2004-12-11 02:31:25 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
94647be1f0
Some commentary on ivl_logic_pin.
2004-09-25 01:58:12 +00:00
steve
e56b77a43f
Add support for wait on list of named events.
2003-12-03 02:46:23 +00:00
steve
bc0ead2842
Spelling fixes in comments.
2003-11-08 20:06:21 +00:00
steve
64d795c53a
Preserve variable ranges all the way to the vpi.
2003-08-22 23:14:26 +00:00
steve
e561819179
Add synthesis support for synchronous reset.
2003-08-15 02:23:52 +00:00
steve
d653a7e88d
Add support for triand and trior.
2003-07-30 01:13:28 +00:00
steve
bad861dba3
Module attributes make it al the way to ivl_target.
2003-06-23 01:25:44 +00:00
steve
2a29c4fd62
Support real expressions in case statements.
2003-05-14 05:26:41 +00:00
steve
f1cc9d865b
Support event names as expressions elements.
2003-04-22 04:48:29 +00:00
steve
5d1d99a89f
Handle signed magnitude compare all the
...
way through to the vvp code generator.
2003-04-11 05:18:08 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +00:00
steve
22d392a75c
Obsolete the ivl_event_name function.
2003-03-06 01:24:37 +00:00
steve
badad63ab4
All NetObj objects have lex_string base names.
2003-03-06 00:28:41 +00:00
steve
a275133ff9
LPM objects store only their base names.
2003-02-26 01:29:24 +00:00
steve
e941e7e805
Spelling fixes.
2003-01-30 16:23:07 +00:00
steve
46253ed873
Rework expression parsing and elaboration to
...
accommodate real/realtime values and expressions.
2003-01-26 21:15:58 +00:00
steve
c2070777b2
The $time system task returns the integer time
...
scaled to the local units. Change the internal
implementation of vpiSystemTime the $time functions
to properly account for this. Also add $simtime
to get the simulation time.
2002-12-21 00:55:57 +00:00
steve
9ce2806710
Fix synth2 handling of aset/aclr signals where
...
flip-flops are split by begin-end blocks.
2002-10-23 01:45:24 +00:00
steve
166621bcb3
Generate vvp code for asynch set/reset of NetFF.
2002-09-26 03:18:04 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
bd9e66d333
Missing declaration of ivl_memory_scope.
2002-08-24 05:03:40 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
693e9e5ad0
Store only the base name of memories.
2002-08-05 04:18:45 +00:00
steve
89314d4772
Do not use hierarchical names of memories to
...
generate vvp labels. -tdll target does not
used hierarchical name string to look up the
memory objects in the design.
2002-08-04 18:28:14 +00:00
steve
301040a67a
Avoid emitting to vvp local net symbols.
2002-07-05 21:26:17 +00:00
steve
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +00:00
steve
d6c946f390
Spelling patch (Larry Doolittle)
2002-06-11 03:34:33 +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
bfad382fd1
Carry Verilog 2001 attributes with processes,
...
all the way through to the ivl_target API.
Divide signal reference counts between rval
and lval references.
2002-05-26 01:39:02 +00:00
steve
700887d657
Verilog 2001 attriubtes on nets/wires.
2002-05-24 04:36:23 +00:00
steve
e6c0629626
Add language support for Verilog-2001 attribute
...
syntax. Hook this support into existing $attribute
handling, and add number and void value types.
Add to the ivl_target API new functions for access
of complex attributes attached to gates.
2002-05-23 03:08:50 +00:00
steve
828ca0ef9d
Add API to support user defined function.
2002-03-17 19:30:20 +00:00
steve
b7c2bd4f72
Add the NetUserFunc netlist node.
2002-03-09 02:10:22 +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
dd79885f6d
Add structural modulus support down to vvp.
2002-01-03 04:19:01 +00:00
steve
da09d4c6e6
The IVL_SIT_WIRE type does not exist, it is a
...
synonym for IVL_SIT_TRI.
2001-12-15 02:13:17 +00:00
steve
c8319bcc02
Add ivl_logic_delay function to ivl_target.
2001-12-06 03:11:00 +00:00
steve
08f0f5a1f7
DLL target support for force and release.
2001-11-14 03:28:49 +00:00
steve
ab9a853d52
ivl_target support for cassign.
2001-11-01 04:25:31 +00:00
steve
75e78e86d3
ivl_target support for assign/deassign.
2001-10-31 05:24:52 +00:00
steve
d350620315
Support multiple root modules (Philip Blundell)
2001-10-19 21:53:24 +00:00
steve
177fa4062b
Support IVL_LPM_DIVIDE for structural divide.
2001-10-16 02:19:26 +00:00
steve
cbd501b865
Fix some Cygwin DLL handling. (Venkat Iyer)
2001-09-30 16:45:10 +00:00
steve
e99059e001
Support attributes to logic gates.
2001-09-16 22:19:42 +00:00
steve
0253f92e7e
pin down some enumerated constants.
2001-09-09 22:21:57 +00:00
steve
d762a320dc
Make constants available through the design root
2001-09-01 01:57:31 +00:00
steve
e79a371f76
Support DFF CE inputs.
2001-08-31 22:58:39 +00:00
steve
2002c03cef
Add some ivl_target convenience functions.
2001-08-28 04:07:17 +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
2802601c44
tgt-vvp generates code that skips nets as inputs.
2001-08-10 00:40:45 +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
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
bcaa122fb9
handle left shifter in dll output.
2001-07-04 22:59:25 +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
81536481cc
Add structural EEQ gates (Stephan Boettcher)
2001-06-19 03:01:10 +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
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
61991e6367
stub ivl_expr_parms for sfunctions.
2001-05-20 01:06:16 +00:00
steve
0872ad34cf
Behavioral ternary operators for vvp.
2001-05-17 04:37:02 +00:00
steve
2292751fc3
Make sure LPM devices have drives on outputs.
2001-05-12 03:18:44 +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
4e3c702cc7
sort enumeration values.
2001-05-08 04:13:12 +00:00
steve
b7569f4d70
Support memory objects. (Stephan Boettcher)
2001-05-06 17:48:20 +00:00
steve
eb71c70c99
Carry drive strengths in the ivl_nexus_ptr_t, and
...
handle constant devices in targets.'
2001-04-29 23:17:38 +00:00
steve
a52b34cb64
Add pullup and pulldown devices.
2001-04-29 20:19:10 +00:00
steve
73c4893ef7
Implement simple MUXZ for ?: operators.
2001-04-26 05:12:02 +00:00
steve
66cf3ec8fa
More UDP consolidation from Stephan Boettcher.
2001-04-22 23:09:45 +00:00
steve
c97692d715
Generate code for disable.
2001-04-21 00:55:46 +00:00
steve
70aeb980d8
vvp support for <= with internal delay.
2001-04-15 02:58:11 +00:00
steve
d39190243b
Add the disable statemnent.
2001-04-07 19:24:36 +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
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
19c84ff9a2
Support non-blocking assignments.
2001-04-03 04:50:37 +00:00
steve
f40d006c26
Generate code for task calls.
2001-04-02 02:28:12 +00:00
steve
e6c36597eb
Support the scope expression node.
2001-04-02 00:28:35 +00:00
steve
a2da2d59df
support the NetWhile statement.
2001-04-01 06:52:27 +00:00
steve
6dbf7333c8
dead cruft.
2001-04-01 04:38:17 +00:00
steve
d25690cc8e
Redesign event information to support arbitrary edge combining.
2001-04-01 01:48:21 +00:00
steve
b3a3b888d8
Generate vvp code for case statements.
2001-03-31 17:36:38 +00:00
steve
b36b6d0ca0
Generate code for fork/join statements.
2001-03-30 05:49:52 +00:00
steve
522d0ec864
Add unary ~ operator to tgt-vvp.
2001-03-29 02:52:39 +00:00
steve
a4e528f0c3
Add the ivl_event_t to ivl_target, and use that to generate
...
.event statements in vvp way ahead of the thread that uses it.
2001-03-28 06:07:39 +00:00
steve
61e3eed49c
Generate code for simple @ statements.
2001-03-27 06:27:40 +00:00
steve
e8518c5056
Put processes in the proper scope.
2001-03-20 01:44:13 +00:00
steve
1ea417dc30
Declare ivl_scope_type functions.
2001-01-15 22:05:14 +00:00
steve
a00924089d
Pass scope type information to the target module.
2001-01-15 00:47:01 +00:00
steve
66716f5101
Add client data pointer for scope and process scanners.
2001-01-15 00:05:39 +00:00
steve
cc18d065aa
declaration initialization for time variables.
2001-01-06 06:31:58 +00:00
steve
3b9a60414e
Make signal attributes available to ivl_target API.
2000-12-05 06:29:33 +00:00
steve
0ca9b2736b
flip-flop pins for ivl_target API.
2000-11-12 17:47:29 +00:00
steve
28bc621f11
change set for support of nmos, pmos, rnmos, rpmos, notif0, and notif1
...
change set to correct behavior of bufif0 and bufif1
(Tim Leight)
Also includes fix for PR#27
2000-11-11 01:52:09 +00:00
steve
a8da692540
Add support for the t-dll backend grabing flip-flops.
2000-11-11 00:03:36 +00:00
steve
3591e06c4e
Support time variables.
2000-10-31 17:49:02 +00:00
steve
d6efae4bdd
API for concatenation expressions.
2000-10-28 22:32:34 +00:00
steve
5b65f15df4
stub for the concat operator.
2000-10-28 17:55:03 +00:00
steve
b8fe10d27d
Get target signal from nexus_ptr.
2000-10-25 05:41:24 +00:00
steve
add2ae16fa
Reduce the target entry points to the target_design.
2000-10-21 16:49:45 +00:00
steve
e10679633d
Add ivl_lval_t and support for assignment l-values.
2000-10-18 20:04:39 +00:00
steve
2dedd6c067
Scopes and processes are accessible randomly from
...
the design, and signals and logic are accessible
from scopes. Remove the target calls that are no
longer needed.
Add the ivl_nexus_ptr_t and the means to get at
them from nexus objects.
Give names to methods that manipulate the ivl_design_t
type more consistent names.
2000-10-15 04:46:23 +00:00
steve
52b649cd5e
Include constants in nexus targets.
2000-10-13 03:39:27 +00:00
steve
8fe887ffe1
Back pointers in the nexus objects into the devices
...
that point to it.
Collect threads into a list in the design.
2000-10-08 04:01:54 +00:00
steve
76e2c509d7
Put logic devices into scopes.
2000-10-07 19:45:42 +00:00
steve
6f69773c57
ivl_target updates, including more complete
...
handling of ivl_nexus_t objects. Much reduced
dependencies on pointers to netlist objects.
2000-10-06 23:46:50 +00:00
steve
41f3ba65a1
xor and constant devices.
2000-10-05 05:03:01 +00:00
steve
c12e0f5416
ivl_expr_t support for binary operators,
...
Create a proper ivl_scope_t object.
2000-09-30 02:18:15 +00:00
steve
d6b43519a8
Add EX_NUMBER and ST_TRIGGER to dll-api.
2000-09-26 00:30:07 +00:00
steve
e8bb53e2ea
API access to signal type and port type.
2000-09-24 15:46:00 +00:00
steve
36cc374ec9
Add support for signal expressions.
2000-09-24 02:21:53 +00:00
steve
80c69d565b
Add enough tgt-verilog code to support hello world.
2000-09-23 05:15:07 +00:00
steve
48ff3590bc
Access to the name of a system task call.
2000-09-22 03:58:30 +00:00
steve
39cf6bd164
Introduce the means to get statement types.
2000-09-19 04:15:27 +00:00
steve
effc84c46d
Get the structure for ivl_statement_t worked out.
2000-09-18 01:24:32 +00:00
steve
ff32325d07
t-dll iterates signals, and passes them to the
...
target module.
Some of NetObj should return char*, not string.
2000-08-27 15:51:50 +00:00
steve
8876cda37f
Get at gate information for ivl_target interface.
2000-08-26 00:54:03 +00:00
steve
d0fc6d515d
Add ivl_target support for logic gates, and
...
make the interface more accessible.
2000-08-20 04:13:56 +00:00
steve
3cb666dd2f
Add target calls for scope, events and logic.
2000-08-19 18:12:42 +00:00
steve
9abd84952b
add th t-dll functions for net_const, net_bufz and processes.
2000-08-14 04:39:56 +00:00
steve
566aad9e15
Start stub for loadable targets.
2000-08-12 16:34:37 +00:00