steve
fbc731d19e
Allow nexus aliases to array words.
2007-04-10 03:40:04 +00:00
steve
5047a3add3
variable arrays generated without writing a record for each word.
2007-04-10 01:26:15 +00:00
steve
d883979fd8
Seperate arrayness from word count
2007-04-02 01:12:34 +00:00
steve
611d2c81b3
Spelling fixes from Larry
2007-03-22 16:08:14 +00:00
steve
fc9a90c9e0
Add support for edge sensitive spec paths.
2007-03-02 06:13:22 +00:00
steve
243cf94165
Add support for conditional specify delay paths.
2007-03-01 06:19:38 +00:00
steve
6804732b9e
Spelling fixes (larry doolittle)
2007-02-26 19:49:48 +00:00
steve
f5a7ee0736
Remove dead code related to memories.
2007-01-17 04:39:18 +00:00
steve
91d84e7dc7
Major rework of array handling. Memories are replaced with the
...
more general concept of arrays. The NetMemory and NetEMemory
classes are removed from the ivl core program, and the IVL_LPM_RAM
lpm type is removed from the ivl_target API.
2007-01-16 05:44:14 +00:00
steve
d6f98599f8
Do not intertangle modpaths due to references to input nets.
2006-11-23 22:42:48 +00:00
steve
64b4e2fa01
Get the .event input from the signal instead of the signal input.
2006-11-22 06:09:08 +00:00
steve
549f226c6e
Modpath is input to net, draw .modpath to account.
2006-10-01 23:51:15 +00:00
steve
0edb5a7547
Basic support for specify timing.
2006-09-23 04:57:19 +00:00
steve
06d6ac4b33
Fix/implement signed right shift.
2006-07-30 02:51:35 +00:00
steve
80f30be9d0
Add support for system functions in continuous assignments.
2006-06-18 04:15:50 +00:00
steve
46d86ad276
Get tail counts right in nested concatenations.
2006-04-22 04:27:36 +00:00
steve
f001d0001a
Add support for generate loops w/ wires and gates.
2006-04-10 00:37:42 +00:00
steve
f4a44df2cc
Support more parameter syntax.
2006-03-18 22:53:38 +00:00
steve
8ff70410ab
Handle multiple part/bi devices connected together.
2006-03-15 05:52:20 +00:00
steve
6f46d12e07
Add support for logic parameters.
2006-03-08 05:29:42 +00:00
steve
58f182a159
Node delays can be more general expressions in structural contexts.
2006-01-02 05:33:19 +00:00
steve
35951510c5
Put vec8 and vec4 nets into seperate net classes.
2005-11-25 17:55:26 +00:00
steve
9c8c541f5d
MUX nodes get inputs from nets, not from net inputs,
...
Detect and draw alias nodes to reduce net size and
handle force confusion.
2005-10-12 17:26:17 +00:00
steve
c75f0a930e
Remove the $ from signal labels. They do not help.
2005-10-11 18:54:10 +00:00
steve
bb3f3c1f46
Remove obsolete vvp_memory_label function.
2005-10-11 18:30:50 +00:00
steve
fb22bcc96b
Remove dead dram_input_from_net and lpm_inputs_a_b
2005-10-10 04:16:13 +00:00
steve
bf8b085159
Clean up compiler warnings.
2005-09-20 18:34:01 +00:00
steve
4a8be3db9c
Implement bi-directional part selects.
2005-08-06 17:58:16 +00:00
steve
b9799cf6ec
Remove NetVariable and ivl_variable_t structures.
2005-07-11 16:56:50 +00:00
steve
75ad90534b
Generalize signals to carry types.
2005-07-07 16:22:49 +00:00
steve
4cc421b3b7
Make functors know their own width.
2005-06-17 03:46:52 +00:00
steve
739a1839ed
Do sign extension of structuran nets.
2005-05-24 01:44:27 +00:00
steve
7dd0d255a6
Add support for variable part select.
2005-05-08 23:40:14 +00:00
steve
365cfedd55
Update DFF support to new data flow.
2005-04-24 23:44:01 +00:00
steve
65c7ec00e7
Rework NetRamDq and IVL_LPM_RAM nodes.
2005-04-06 05:29:08 +00:00
steve
d62661257a
Generate the right coes for unconnected UDP port.
2005-04-04 05:29:53 +00:00
steve
ca488dff4e
Handle LPM shifts.
2005-03-19 06:23:49 +00:00
steve
53da6e9a33
Add support for LPM_UFUNC user defined functions.
2005-03-18 02:56:03 +00:00
steve
1c5b4881d7
Handle case inequality in netlists.
2005-03-09 05:52:03 +00:00
steve
53af2949b4
Generate code for new form of memory ports.
2005-03-09 04:53:40 +00:00
steve
1d7235b4f1
Replace supply nets with wires connected to pullup/down supply devices.
2005-02-13 01:15:07 +00:00
steve
d4eb4d38bc
Implement a-b muxes as vector devices
2005-02-12 22:54:29 +00:00
steve
eca4f4fa97
Draw C4 and C8 constants to account for strength.
2005-02-12 06:25:15 +00:00
steve
1979fca239
Get the C4 width right for undriven nexa.
2005-02-10 04:55:45 +00:00
steve
ee5bb5fcaf
Add the NetRepeat node, and code generator support.
2005-02-08 00:12:36 +00:00
steve
e74127e1fc
Support .concat with arbitrary input counts.
2005-02-04 05:13:57 +00:00
steve
97f83ffbe3
laborate reduction gates into LPM_RED_ nodes.
2005-02-03 04:56:20 +00:00
steve
a4710f375e
LPM_CMP_NE/EQ are vectored devices.
2005-01-22 16:22:13 +00:00
steve
e28636776a
Change case compare from logic to an LPM node.
2005-01-22 01:06:55 +00:00
steve
bf6a5d0f50
Implement LPM_COMPARE nodes as two-input vector functors.
2005-01-16 04:20:32 +00:00
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