Cary R
34661e9af5
V0.8: Rework the NetLatch and back end code.
...
This patch reworks the NetLatch class to better match the NetFF class
(e.g. it adds a place for the async controls and value, adds a dump
routine, etc.) and moves it into the normal netlist.{h,cc} files. It
removes the unused Aload and Sload routines, etc. from the NetFF class.
It switches the latch to use the existing ff object to pass information
to the target and uses the existing FF routines as applicable.
ivl_lpm_async_clr()
ivl_lpm_async_set()
ivl_lpm_aset_value()
ivl_lpm_clk() for the gate
ivl_lpm_data()
ivl_lpm_q()
It adds support for generating a latch UDP just like is done for the
D flip-flop in the tgt-vvp code generator and fixes a bug in the
generation of the clear signal when both the Aclr and Aset signals
clear the register.
2011-01-12 16:19:32 -08:00
Cary R
ae14a58bff
V0.8: Remove deprecated #ident and fix some other compile warnings
...
This patch removes #ident since it is deprecated in recent gcc
versions. It also removes all the CVS comments and fixes a few
other compilation warnings. There are still a few compilation
warnings, but this takes care of most of them. Fixing the rest
will require a bit more thought.
2011-01-12 15:49:03 -08:00
Alan M. Feldstein
5cae6b64af
Fixed dangling latch gate inputs.
...
With -tfnf, observed
(latch 43020 1 43022 43021)
in the output file. That 3rd number is the ID of the gate nexus. However, it was only found as
(dangle 43022)
The purpose of this patch is to fix that in the common code.
2007-10-24 16:16:23 -07:00
steve
f02b2c9d7a
Fix handling of exploded memories with partial or missing resets.
2006-04-16 19:26:37 +00:00
steve
312d09dc1d
Handle asynchronous demux/bit replacements.
2006-03-26 23:09:21 +00:00
steve
b8bc531f05
Fix the memsynth1 case.
2006-03-12 07:34:16 +00:00
steve
79cb8c883a
Add support for negedge FFs by using attributes.
2006-02-25 05:03:28 +00:00
steve
7527c466ed
Handle synthesis of FF vectors with l-value decoder.
2006-02-19 00:11:31 +00:00
steve
e4ae832153
Clean up spurious trailing white space.
2004-10-04 01:10:51 +00:00
steve
3dbc07f34d
Implement signed divide and signed right shift in nets.
2004-06-30 02:16:26 +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
e56b77a43f
Add support for wait on list of named events.
2003-12-03 02:46:23 +00:00
steve
43f28b53a3
Design::get_flag returns const char* instead of string.
2003-11-10 20:59:03 +00:00
steve
7521aa83f8
Pass FF synchronous set values to code generator.
2003-09-03 23:33:29 +00:00
steve
e561819179
Add synthesis support for synchronous reset.
2003-08-15 02:23:52 +00:00
steve
bad861dba3
Module attributes make it al the way to ivl_target.
2003-06-23 01:25:44 +00:00
steve
2321df4bfc
Remove short int restrictions from vvp opcodes. (part 2)
2003-06-17 21:28:59 +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
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
2637566fe9
Satisfy declaration requirements of some picky compilers.
2003-02-06 16:43:20 +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
52bf4e613f
conditional ident string using autoconfig.
2002-08-12 01:34:58 +00:00
steve
6ace9659e0
Get local StringHeap.h
2002-08-07 02:36:10 +00:00
steve
cc74d2a6b0
Add force to nets.
2002-08-07 00:54:39 +00:00
steve
693e9e5ad0
Store only the base name of memories.
2002-08-05 04:18:45 +00:00
steve
4e753a2c15
dll uses StringHeap for named items.
2002-08-04 19:13:16 +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
b4b5ac9944
Normalize run-time index expressions for bit selects
2002-06-16 20:39:12 +00:00
steve
df0b81d94d
Generate runtime code to normalize indices.
2002-06-16 19:19:16 +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
19d817503d
Offset lvalue index expressions.
2002-05-29 22:05:54 +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
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
608555ce7e
Pass back target errors processing conditionals.
2002-01-19 19:02:08 +00:00