steve
33e5f22cf1
Handle evaluate of addition of real valued constants.
2007-04-07 04:46:18 +00:00
steve
d883979fd8
Seperate arrayness from word count
2007-04-02 01:12:34 +00:00
steve
fe8da0bf14
Remove pretense of general use for t_cookie.
2007-03-26 18:17:50 +00:00
steve
611d2c81b3
Spelling fixes from Larry
2007-03-22 16:08:14 +00:00
steve
d9efe3312e
Limit the calculated widths of constants.
2007-03-08 05:30:02 +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
1f54f128c1
Handle unary minus of real valued expressions.
2007-02-20 05:58:36 +00:00
steve
45307f6144
Handle type of ternary expressions properly.
2007-02-14 05:59:46 +00:00
steve
6d91be5b19
Use inttypes.h instead of stdint.h for portability.
2007-02-02 04:33:00 +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
c339dc4bbc
Remove last bits of relax_width methods, and use test_width
...
to calculate the width of an r-value expression that may
contain unsized numbers.
2006-11-04 06:19:24 +00:00
steve
2302693201
Expression widths with unsized literals are pseudo-infinite width.
2006-10-30 05:44:49 +00:00
steve
69cd007a71
Support real valued specify delays, properly scaled.
2006-10-03 05:06:00 +00:00
steve
b658a3b41f
Missing PSpec.cc file.
2006-09-26 19:48:40 +00:00
steve
0edb5a7547
Basic support for specify timing.
2006-09-23 04:57:19 +00:00
steve
fc0695beb6
Handle 64bit delay constants.
2006-08-08 05:11:37 +00:00
steve
49b65e86fe
Add support for power in constant expressions.
2006-07-31 03:50:17 +00:00
steve
80f30be9d0
Add support for system functions in continuous assignments.
2006-06-18 04:15:50 +00:00
steve
f001d0001a
Add support for generate loops w/ wires and gates.
2006-04-10 00:37:42 +00:00
steve
5b3ba8c306
Properly handle signedness in compare.
2006-03-18 22:52:27 +00:00
steve
d434dd7296
Allow part selects of memory words in l-values.
2006-02-02 02:43:57 +00:00
steve
58f182a159
Node delays can be more general expressions in structural contexts.
2006-01-02 05:33:19 +00:00
steve
908955c72c
Handle bit select of parameter with ranges.
2005-11-27 05:56:20 +00:00
steve
0e044d6684
More precise about r-value width of constants.
2005-11-26 00:35:42 +00:00
steve
be73be8c98
Spelling patches from Larry.
2005-09-19 21:45:35 +00:00
steve
9fd16575d9
Support bool expressions and compares handle them optimally.
2005-09-14 02:53:13 +00:00
steve
c39976fbf1
Generate code to handle real valued muxes.
2005-09-01 04:11:37 +00:00
steve
b69f59f2ec
Handle memory references is continuous assignments.
2005-08-31 05:07:31 +00:00
steve
a8d49921ee
gcc4 compile errors.
2005-07-14 23:34:18 +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
739a1839ed
Do sign extension of structuran nets.
2005-05-24 01:44:27 +00:00
steve
7796c8bcfb
Parameters cannot have their width changed.
2005-05-17 20:56:55 +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
800e2c6a17
All memory addresses are signed.
2005-04-08 04:51:16 +00:00
steve
65c7ec00e7
Rework NetRamDq and IVL_LPM_RAM nodes.
2005-04-06 05:29:08 +00:00
steve
53da6e9a33
Add support for LPM_UFUNC user defined functions.
2005-03-18 02:56:03 +00:00
steve
ab1ca54df2
Update support for LPM_MOD.
2005-03-12 06:43:35 +00:00
steve
1c5b4881d7
Handle case inequality in netlists.
2005-03-09 05:52:03 +00:00
steve
257e1f9516
Support shifts and divide.
2005-02-19 02:43:38 +00:00
steve
d74177634c
Restructure NetMux devices to pass vectors.
...
Generate NetMux devices from ternary expressions,
Reduce NetMux devices to bufif when appropriate.
2005-02-12 06:25:40 +00:00
steve
ee5bb5fcaf
Add the NetRepeat node, and code generator support.
2005-02-08 00:12:36 +00:00
steve
97f83ffbe3
laborate reduction gates into LPM_RED_ nodes.
2005-02-03 04:56:20 +00:00
steve
e6cdd32c19
Clarify width argument to NetNet constructor.
2005-01-30 01:43:48 +00:00
steve
99ace10774
Simplified NetMult and IVL_LPM_MULT.
2005-01-28 05:39:33 +00:00
steve
dfb7c7ba6f
Remove the NetEBitSel and combine all bit/part select
...
behavior into the NetESelect node and IVL_EX_SELECT
ivl_target expression type.
2005-01-24 05:28:30 +00:00
steve
25de448d34
Remove obsolete NetSubnet class.
2005-01-22 18:16:00 +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
4d139b58aa
Properly pad vector widths in pgassign.
2005-01-12 03:17:36 +00:00
steve
9e94afe399
Use PartSelect/PV and VP to handle part selects through ports.
2005-01-09 20:16:00 +00:00
steve
8f2d679c8a
Unify elaboration of l-values for all proceedural assignments,
...
including assing, cassign and force.
Generate NetConcat devices for gate outputs that feed into a
vector results. Use this to hande gate arrays. Also let gate
arrays handle vectors of gates when the outputs allow for it.
2004-12-29 23:55:43 +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
526b87cae3
Remove inaccurate comment.
2004-10-04 00:25:18 +00:00
steve
9de786fc44
Add support for module instance arrays.
2004-09-05 17:44:41 +00:00
steve
62cffe16f4
PR1026: assignment statements can have sensitivities in the l-values.
2004-09-04 04:24:15 +00:00
steve
f02f5be3cc
Fix use of system tasks in AT_STAR statements.
2004-08-28 16:23:05 +00:00
steve
d76ad25778
Do not change reg to wire in NetAssign_ unless synthesizing.
2004-08-28 15:08:31 +00:00
steve
efe05a77cb
nex_output for NetPDelay statements.
2004-06-30 15:32:18 +00:00
steve
3dbc07f34d
Implement signed divide and signed right shift in nets.
2004-06-30 02:16:26 +00:00
steve
9949040285
Add support for the default_nettype directive.
2004-06-13 04:56:53 +00:00
steve
5472b27e1f
Rewire/generalize parsing an elaboration of
...
function return values to allow for better
speed and more type support.
2004-05-31 23:34:36 +00:00
steve
1295058e5d
parameter keys are per_strings.
2004-02-20 06:22:56 +00:00
steve
89acc41437
LPM, logic and Variables have perm_string names.
2004-02-19 07:06:57 +00:00
steve
536068bdfb
Memory and Event names use perm_string.
2004-02-19 06:57:10 +00:00
steve
27af95d402
Use perm_strings for named langiage items.
2004-02-18 17:11:54 +00:00
steve
57c3e86084
Debug dumps for synth2.
2003-12-17 16:52:39 +00:00
steve
43f28b53a3
Design::get_flag returns const char* instead of string.
2003-11-10 20:59:03 +00:00
steve
bc0ead2842
Spelling fixes in comments.
2003-11-08 20:06:21 +00:00
steve
7fd669fcc0
NetEUReduce has its own dup_expr method.
2003-10-31 02:47:11 +00:00
steve
edaa7df6d2
Output of While is output of while substatement.
2003-10-26 04:51:38 +00:00
steve
1f0c274e82
Obsolete find_symbol and find_event from the Design class.
2003-09-20 01:05:35 +00:00
steve
693794552c
Remove find_memory method from Design class.
2003-09-19 03:50:12 +00:00
steve
da7956a797
Fix name search in elab_lval.
2003-09-19 03:30:04 +00:00
steve
178847fc53
Spelling fixes.
2003-09-13 01:01:51 +00:00
steve
7c1401a2ba
Spelling patch.
2003-08-28 04:11:17 +00:00
steve
e561819179
Add synthesis support for synchronous reset.
2003-08-15 02:23:52 +00:00
steve
a95463ff81
Add support for IVL_LPM_MULT device.
2003-08-09 03:23:03 +00:00
steve
bfe31e22bf
Start handling pad of expressions in code generators.
2003-07-26 03:34:42 +00:00
steve
cadf4cfdef
Spelling fixes.
2003-07-15 03:49:22 +00:00
steve
004ecd08dd
Elide empty begin-end in conditionals.
2003-07-02 04:19:16 +00:00
steve
61195c5daa
Harmless fixup of warnings.
2003-06-21 01:21:42 +00:00
steve
ccf4d4d7da
Module attributes from the parser
...
through to elaborated form.
2003-06-20 00:53:19 +00:00
steve
71a404a546
Add arithmetic shift operators.
2003-06-18 03:55:18 +00:00
steve
8352c91b0a
Evaluate <= with real operands.
2003-06-05 04:28:24 +00:00
steve
5903f0744c
Support parameters in real expressions and
...
as real expressions, and fix multiply and
divide with real results.
2003-05-30 02:55:32 +00:00
steve
76295ac873
More complete bit range internal error message,
...
Better test of part select ranges on non-zero
signal ranges.
2003-05-01 01:13:57 +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
2c129dfbfa
Synthesize shift expressions.
2003-04-08 04:33:55 +00:00
steve
d18934d444
Sign extend NetMult inputs if result is signed.
2003-03-29 05:51:25 +00:00
steve
c602d94cef
Comparison operators do have defined width.
2003-03-15 18:08:43 +00:00
steve
6d94f2ea55
Better organize the NetESFunc return type guesses.
2003-03-15 04:46:28 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +00:00
steve
badad63ab4
All NetObj objects have lex_string base names.
2003-03-06 00:28:41 +00:00
steve
486274cfa1
Scope names stored only as basename.
2003-03-03 02:22:41 +00:00
steve
4c67de5ca7
Add the lex_strings string handler, and put
...
scope names and system task/function names
into this table. Also, permallocate event
names from the beginning.
2003-03-01 06:25:30 +00:00
steve
f8d1e15a27
NetEBDiv handles real value constant expressions.
2003-02-07 02:47:57 +00:00
steve
589422b505
Real constants have no defined vector width
2003-02-06 17:50:23 +00:00
steve
e941e7e805
Spelling fixes.
2003-01-30 16:23:07 +00:00
steve
04ada23119
Support in various contexts the $realtime
...
system task.
2003-01-27 00:14:37 +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
e62e1d89b6
Named event triggers can take hierarchical names.
2002-12-07 02:49:24 +00:00
steve
9f80ed32b6
Support bit select in constant expressions.
2002-12-05 02:14:33 +00:00
steve
aa8869a3c7
Postpone parameter width check to evaluation.
2002-11-09 01:40:19 +00:00
steve
86032c0aa5
Allow named events to be referenced by
...
hierarchical names.
2002-11-02 03:27:51 +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
3d4593d4d5
Synthesizer support for synchronous begin-end blocks.
2002-10-21 01:42:08 +00:00
steve
43501809b1
Redo the parameter vector support to allow
...
parameter names in range expressions.
2002-10-19 22:59:49 +00:00
steve
166621bcb3
Generate vvp code for asynch set/reset of NetFF.
2002-09-26 03:18:04 +00:00
steve
879a5a4cbe
Synthesize async set/reset is certain cases.
2002-09-26 01:13:14 +00:00
steve
eb81062d85
Add to synth2 support for synthesis of
...
synchronous logic. This includes DFF enables
modeled by if/then/else.
2002-09-16 00:30:33 +00:00
steve
dac99b9374
Add support for binary nand operator.
2002-09-12 15:49:43 +00:00
steve
8ab2ec6f86
Allow release to handle removal of target net.
2002-08-19 00:06:11 +00:00
steve
2fad8d4cff
Detect temporaries in sequential block synthesis.
2002-08-18 22:07:16 +00:00
steve
c794aa02b8
Fix intermix of node functors and node delete.
2002-08-16 05:18:27 +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
bb87c368b8
Asynchronous synthesis of sequential blocks.
2002-07-29 00:00:28 +00:00
steve
58ec62c895
Rewrite find_similar_event to support doing
...
all event matching and replacement in one
shot, saving time in the scans.
2002-07-24 16:24:45 +00:00
steve
8114523be2
Asynchronous synthesis of case statements.
2002-07-07 22:32:15 +00:00
steve
3f1cd14f6c
Fix scope search for events.
2002-07-03 05:34:59 +00:00
steve
93bb4283b8
Change the signal to a net when assignments go away.
2002-07-02 03:02:57 +00:00
steve
d5e9e13555
synth_asych of if/else requires redirecting the target
...
if sub-statements. Use NetNet objects to manage the
situation.
2002-07-01 00:54:21 +00:00
steve
9b6b081e38
Add structure for asynchronous logic synthesis.
2002-06-30 02:21:31 +00:00
steve
9fc4e1eddd
Cache calculated driven value.
2002-06-25 01:33:22 +00:00
steve
58c2e12507
Make link_drive_constant cache its results in
...
the Nexus, to improve cprop performance.
2002-06-24 01:49:38 +00:00
steve
f9768cd579
spelling error.
2002-06-23 18:22:43 +00:00
steve
5eca5d9948
Carry integerness throughout the compilation.
2002-06-21 04:59:35 +00:00
steve
cd94019733
Remove NetTmp and add NetSubnet class.
2002-06-19 04:20:03 +00:00
steve
9cef973d9b
Add NetRamDq synthsesis from memory l-values.
2002-06-08 23:42:46 +00:00
steve
53d8cdd9f8
Add support for memory words in l-value of
...
non-blocking assignments, and remove the special
NetAssignMem_ and NetAssignMemNB classes.
2002-06-05 03:44:25 +00:00
steve
91a755d0e8
Add support for memory words in l-value of
...
blocking assignments, and remove the special
NetAssignMem class.
2002-06-04 05:38:43 +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
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
8667b9a35d
Put off evaluation of concatenation repeat expresions
...
until after parameters are defined. This allows parms
to be used in repeat expresions.
Add the builtin $signed system function.
2002-05-05 21:11:49 +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
9dda15a186
implement nex_input for behavioral statements.
2002-04-21 17:43:12 +00:00
steve
b094bbdcf4
Add support for conbinational events by finding
...
the inputs to expressions and some statements.
Get case and assignment statements working.
2002-04-21 04:59:07 +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
349be0f169
Precalculate constant results of memory index expressions.
2002-01-22 01:40:04 +00:00
steve
608555ce7e
Pass back target errors processing conditionals.
2002-01-19 19:02:08 +00:00
steve
51db00fb44
Support $signed cast of expressions.
2001-12-31 00:08:14 +00:00
steve
ab6c8cb4b8
Parser and pform use hierarchical names as hname_t
...
objects instead of encoded strings.
2001-12-03 04:47:14 +00:00