steve
fcaaec0464
More robust input code generation for LPM_ADD.
2005-01-12 05:31:50 +00:00
steve
8c18c9152d
More complete drawing of concat inputs.
2005-01-12 03:16:35 +00:00
steve
399dfe5c44
Handle concatenations with up to 16 inputs.
2005-01-10 01:42:59 +00:00
steve
9e94afe399
Use PartSelect/PV and VP to handle part selects through ports.
2005-01-09 20:16:00 +00:00
steve
83423c978b
Generate code for the .concat functors, from NetConcat objects.
...
Generate C<> constants of correct widths for functor arguments.
2004-12-29 23:52:09 +00:00
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
965d928430
More carefull about eliding bufzs that carry strength.
2004-09-25 21:04:25 +00:00
steve
5e627c9adc
Compile cleanup of C code.
2004-09-10 23:13:05 +00:00
steve
3dbc07f34d
Implement signed divide and signed right shift in nets.
2004-06-30 02:16:26 +00:00
steve
b043445c80
Generate .cmp/eq nodes instead of sea of gates.
2004-06-16 23:33:42 +00:00
steve
59ac435c71
Fix various unsigned compare warnings.
2003-12-19 01:27:10 +00:00
steve
a461a76bd5
Emit .event inputs before the .event statement.
2003-10-09 23:45:03 +00:00
steve
64d795c53a
Preserve variable ranges all the way to the vpi.
2003-08-22 23:14:26 +00:00
steve
d653a7e88d
Add support for triand and trior.
2003-07-30 01:13:28 +00:00
steve
8cfef65bd8
Implement acc_fetch_defname and its infrastructure in vvp.
2003-05-29 02:21:45 +00:00
steve
3bd08e6212
Allow primitives to hvae unconnected input ports.
2003-05-13 01:56:15 +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
f354c43941
Use hash code for scope labels.
2003-03-25 02:15:48 +00:00
steve
8188e8f3bf
Use %p name for all LPM functors.
2003-03-13 06:07:11 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +00:00
steve
0bf901e9bb
Use number for event labels.
2003-03-06 01:17:46 +00:00
steve
17ec5d7891
Use numbers for functor labels.
2003-03-06 00:27:09 +00:00
steve
76a77fdd36
Printed nexus names need not use ivl_nexus_name.
2003-03-03 23:05:49 +00:00
steve
679c9c5bfe
Only give scope basename to .scope directives.
2003-03-03 01:48:41 +00:00
steve
e6eded243e
Eliminate use of ivl_lpm_name function.
2003-02-25 03:40:45 +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
2fafe6866f
Better handling of select width of shifters.
2002-11-21 18:08:09 +00:00
steve
32f1ca6f8b
draw lpm ff with aset_expr taken into account.
2002-10-23 04:39:35 +00:00
steve
166621bcb3
Generate vvp code for asynch set/reset of NetFF.
2002-09-26 03:18:04 +00:00
steve
5d6567cb02
Generate vvp code for structural flip-flops.
2002-09-17 05:37:45 +00:00
steve
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +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
41f7ecacfc
Eliminate use of ivl_signal_name for signal labels.
2002-08-03 22:30:48 +00:00
steve
15becdaee4
Need driver for sure in assign feedback and other cases.
2002-07-18 02:06:37 +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
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +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
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
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
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
5d20dd63ec
Generate code for deassign and cassign.
2001-11-01 04:26:57 +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
73283768a5
Support rnpmos devices. (Philip Blundell)
2001-10-18 17:30:25 +00:00
steve
177fa4062b
Support IVL_LPM_DIVIDE for structural divide.
2001-10-16 02:19:26 +00:00
steve
42dab181cd
Carry the type of the scope (Stephan Boettcher)
2001-10-15 02:58:27 +00:00
steve
5071ce8575
handle nmos and pmos devices.
2001-10-09 02:28:44 +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
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
00cacae2a3
Generate constant symbols for supply nets.
2001-07-28 03:18:50 +00:00
steve
bc284ee6d8
supply signals give input values.
2001-07-22 21:31:14 +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
c7b36322f6
Properly step through wide inputs. (Stephan Boettcher)
2001-07-09 15:38:35 +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
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
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
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
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
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
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
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
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
7c6f496765
Add NAND and XNOR functors.
2001-04-21 02:04:01 +00:00
steve
41ce198a1f
add XOR support.
2001-04-15 16:37:48 +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
b7fb806611
Generate signed .net and .var statements.
2001-04-05 01:38:24 +00:00
steve
f40d006c26
Generate code for task calls.
2001-04-02 02:28:12 +00:00
steve
7a8135c703
Recognize the BUF device.
2001-04-01 21:34:48 +00:00
steve
d25690cc8e
Redesign event information to support arbitrary edge combining.
2001-04-01 01:48:21 +00:00
steve
e29ecdc234
Fix compilation warnings.
2001-03-31 19:29:23 +00:00
steve
2cb76cabef
events can take up to 4 inputs.
2001-03-29 03:47:13 +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
a71dbd3987
Draw AND NOR and NOT gates.
2001-03-25 19:36:12 +00:00
steve
ac91dc38b8
Recursive make check target.
2001-03-25 05:59:46 +00:00
steve
5134636932
Include signal bit index in functor input.
2001-03-25 03:53:40 +00:00
steve
97985bba64
Generate .net statements, and nexus inputs.
2001-03-25 03:25:43 +00:00
steve
27e717839a
Scan the scopes of a design, and draw behavioral
...
blocking assignments of constants to vectors.
2001-03-21 01:49:43 +00:00