Larry Doolittle
752cf21790
Warnings and spelling fixes.
...
Correct a variety of spelling errors, and eliminate
a variety of compile time warnings.
2007-12-17 17:42:09 -08:00
Stephen Williams
0d9ed65e8c
Give delay paths scope.
...
Delay paths need a scope. This helps the code generators bind the
modpaths to the correct scope. This patch doesn't actually make use
of the information, it just makes it available to code generators.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-10-31 21:39:29 -07:00
Stephen Williams
d587499276
test_width method for functions in expressions
...
In expressions, user defined functions have a clearly defined
width and the test_width expression needs to express that. Note
that the $signed/$unsigned functions are special and magical.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-10-01 20:38:20 -07:00
Stephen Williams
bbf3116945
Merge branch 'master' of steve-icarus@icarus.com:git/verilog
2007-09-28 18:22:44 -07:00
Stephen Williams
5bb936a226
Fix addressing of variable words.
...
Variable word addresses are not to be adjusted by the bit select
of the vector direction. That is a holdover from when arrays were
stored as bit vectors.
Signed-off-by: Stephen Williams <steve@icarus.com>
2007-09-28 18:22:17 -07:00
Cary R
3258b7726b
Pass local scope precision from compiler to vvp/etc.
...
This patch adds ivl_scope_time_precision() to the compiler which can
be used to extract the local scope precision. tgt-stub and tgt-vvp
have been modified to use this new function and output a value that
is appropriate. The vvp runtime has been altered to use this new
data which is accessed with the vpip_time_precision_from_handle()
function. vpiTimePrecision uses this function to return the correct
precision.
2007-09-28 15:08:02 -07:00
Cary R
8fe3cc5318
Add missing primitives and fix time units error in tgt-stub.
...
Add code to handle all the primitives currently defined and
fixed a power of ten error in the time units display (it is
either 10^{units} or 1e{units}, but not 10e{units}).
2007-09-06 18:53:05 -07:00
steve
16ec4cb685
displan pmos gates.
2007-06-12 02:23:40 +00:00
steve
890f592eec
Fix detect of signal that is an array.
2007-04-21 03:20:47 +00:00
steve
d883979fd8
Seperate arrayness from word count
2007-04-02 01:12:34 +00:00
steve
760f2182ba
Support signed function return values.
2007-03-06 05:22:49 +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
1f54f128c1
Handle unary minus of real valued expressions.
2007-02-20 05:58:36 +00:00
steve
0137832003
Include types for ternary and string in dump.
2007-02-14 05:57:51 +00:00
steve
3fd80b09f0
Administrative/Makefile fixes, mostly for windows. (Cary R.)
2007-02-06 05:07:31 +00:00
steve
d175eb17f1
Clarify the use of ivl_scope_def for not-functions.
2007-01-29 01:52:51 +00:00
steve
6f3ddce7c4
Dead code for memories in scopes.
2007-01-17 05:00:12 +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
a3da90aa4a
Dump nand logic.
2006-11-28 05:56:41 +00:00
steve
841378426f
Updates for Cygwin portability (pr1585922)
2006-10-30 22:45:36 +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
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
a19efe181b
Install stub target.
2006-05-01 18:48:24 +00:00
steve
10f8c66f4a
Dump *all* the reduction operator gates.
2006-04-30 05:16:53 +00:00
steve
a702f99c04
Dump function type as string.
2006-04-27 04:26:38 +00:00
steve
6a74a090f0
Configure for stub.
2006-04-10 03:07:07 +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
c071cc1bbe
More detailed check of binary expressions.
2005-12-22 15:38:33 +00:00
steve
3f108f08ed
Dump IVL_ST_DELAYX statements.
2005-11-20 15:58:53 +00:00
steve
bf8b085159
Clean up compiler warnings.
2005-09-20 18:34:01 +00:00
steve
9fd16575d9
Support bool expressions and compares handle them optimally.
2005-09-14 02:53:13 +00:00
steve
4a8be3db9c
Implement bi-directional part selects.
2005-08-06 17:58:16 +00:00
steve
9cae53988a
Dump function call expression node.
2005-07-14 16:15:13 +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
6bf7556d65
Check width of part select based on direction.
2005-06-26 18:09:24 +00:00
steve
af5f713c0f
Dump delays for logic devices.
2005-06-13 22:20:38 +00:00
steve
739a1839ed
Do sign extension of structuran nets.
2005-05-24 01:44:27 +00:00
steve
28168e0f57
Fixup structural GT comparators.
2005-05-18 03:46:01 +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
6244dc1194
Make logic aware of strength.
2005-04-13 06:35:11 +00:00
steve
65c7ec00e7
Rework NetRamDq and IVL_LPM_RAM nodes.
2005-04-06 05:29:08 +00:00
steve
236ff2b278
Clean up handle of UDPs.
2005-04-01 06:04:30 +00:00
steve
8184dfaed8
Handle wide operands to logical AND.
2005-03-19 06:59: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
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
53af2949b4
Generate code for new form of memory ports.
2005-03-09 04:53:40 +00:00
steve
0fb1fd36ee
Handle memory words in l-value concatenations.
2005-03-05 05:47:42 +00:00
steve
85286cc086
Rearrange how memories are supported as vvp_vector4 arrays.
2005-03-03 04:33:10 +00:00
steve
257e1f9516
Support shifts and divide.
2005-02-19 02:43:38 +00:00
steve
aaf35ab1a9
Handle bit selects in l-values to assignments.
2005-02-14 01:51:39 +00:00
steve
1d7235b4f1
Replace supply nets with wires connected to pullup/down supply devices.
2005-02-13 01:15:07 +00:00
steve
d00e3fc9a9
Check IVL_LPM_MUX configuration.
2005-02-12 22:53:41 +00:00
steve
6b7b82758a
Check nexus widths of IVL_LO_ nodes.
2005-02-12 06:17:43 +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
68a788221e
Support LPM_SUB
2005-01-30 05:09:04 +00:00
steve
609b6a7baa
Netlist boolean expressions generate gate vectors.
2005-01-29 18:46:18 +00:00
steve
7625a6c3e7
Check width of constant attached to nexus.
2005-01-29 16:47:52 +00:00
steve
a5b431ad20
Show the lpm_mult device.
2005-01-28 05:36:18 +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
14f557e6f4
Check widths of ternary expressions.
2005-01-24 05:05:25 +00:00
steve
cb4e0d4724
stub dump signed flags of magnitude compare.
2005-01-22 17:36:59 +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
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
59566158c4
Better detail on event trigger and wait statements.
2004-12-18 18:55:08 +00:00
steve
0193daa436
Display the release statement details.
2004-12-15 17:11:13 +00:00
steve
7973dad9f5
Arrange statement dumping in new source files.
2004-12-12 18:15:06 +00:00
steve
527ddea811
Add stub conf files to cvs.
2004-12-11 04:22:35 +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
e45230061e
Dump tri0 and tri1 nets.
2004-09-25 01:57:33 +00:00
steve
fca2e64808
Dump variable type of system function.
2004-06-30 03:05:04 +00:00
steve
3dbc07f34d
Implement signed divide and signed right shift in nets.
2004-06-30 02:16:26 +00:00
steve
b3529d8593
Help system function signedness survive elaboration.
2004-06-17 16:06:18 +00:00
steve
bdc6cb8723
Dump NE LPM device.
2004-06-16 16:22:04 +00:00
steve
8188c4c690
Makefile cleanup.
2004-02-10 19:25:00 +00:00
steve
973b4d9bcb
Pre-gcc3 compile error.
2003-12-03 04:27:10 +00:00
steve
e56b77a43f
Add support for wait on list of named events.
2003-12-03 02:46:23 +00:00
steve
9967bfcbfd
Handle erroneous event lists.
2003-12-03 01:54:07 +00:00
steve
ec07674d40
Fix Makefiles to support read-only source directory.
2003-08-22 04:27:10 +00:00
steve
bfe31e22bf
Start handling pad of expressions in code generators.
2003-07-26 03:34:42 +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
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
d18934d444
Sign extend NetMult inputs if result is signed.
2003-03-29 05:51:25 +00:00
steve
1222153cdf
Keep parameter constants for the ivl_target API.
2003-03-10 23:40:53 +00:00
steve
258013f99f
Raw dump of double values for testing purposes.
2003-03-07 06:04:58 +00:00