Cary R
9aa80965bd
V0.8: Remove more space issues.
2011-03-08 19:13:14 -08:00
Larry Doolittle
ec0c4343e8
Drop trailing spaces
...
There weren't that many
2011-03-04 17:47:59 -08:00
Larry Doolittle
76103f2167
Spelling fixes
...
Mostly comments, but a few format strings
2011-03-04 17:46:57 -08:00
Cary R
11fa67ebbe
V0.8: rework latch synthesis and warn that async. set/clear are missing.
...
This patch reworks the latch synthesis that Alan submitted to be
more in line with the rest of the code and simplified it in a
few places. It also adds a warning that we do not currently
support synthesizing asynchronous set/clear signals for a latch.
2011-01-12 16:26:39 -08:00
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
Stephen Williams
d49e44594b
Fix reported build errors with gcc 4.3
...
Add missing includes to cstring et al.
2008-01-21 18:04:30 -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
d16dd26660
Support Latch synthesis (Alan Feldstein)
2007-05-30 17:48:53 +00:00
steve
04ef0b7d80
Fix async blocks to take accumulated input.
2006-11-11 23:10:20 +00:00
steve
aa3cbbdf99
Error message for condit expression not synthesized.
2006-11-02 02:13:15 +00:00
steve
0a9b6f34ae
Detect and synthesize enables using condit false.
2006-10-30 02:03:30 +00:00
steve
9f3f9154eb
Fix missing sig on certain mux outputs.
...
Ignore condit statements (for synthesis) with no outputs.
2006-08-23 04:08:19 +00:00
steve
498fd06412
Add synthesis for casez statements.
2006-08-22 04:22:45 +00:00
steve
6d3b780791
Improve performance of unlink of heavily connected nexa.
2006-08-15 03:41:24 +00:00
steve
a0ec981c50
Improved nexus management performance.
2006-08-08 02:17:48 +00:00
steve
0e3768f829
Handle statement output override better in blocks.
2006-07-23 19:42:33 +00:00
steve
22884f2e64
Add support for full_case attribute.
2006-07-10 00:21:49 +00:00
steve
525ebddb0c
Properly synthesize casex statements.
2006-07-02 00:50:15 +00:00
steve
c32de1dba0
Handle case where case output appears to be internal.
2006-06-26 00:05:46 +00:00
steve
08dbe801c1
synthesis of NetCondit handles partial resets.
2006-06-23 03:49:46 +00:00
steve
ec510071f1
Fix partial use of NetMux in sync condit statements.
2006-06-07 03:17:39 +00:00
steve
7413c533f6
Compilation warnings.
2006-06-02 23:42:48 +00:00
steve
dde69cebb6
Handle condit clauses with unassigned outputs.
2006-06-01 03:01:48 +00:00
steve
fad1620828
Replace assertions with error messages.
2006-05-20 16:06:48 +00:00
steve
a9931e7a58
Fix synthesis of l-value bit select in block.
2006-05-18 01:47:12 +00:00
steve
452eaeaea8
Handle memory assignments out of range during synthesis
2006-05-05 01:56:36 +00:00
steve
f02b2c9d7a
Fix handling of exploded memories with partial or missing resets.
2006-04-16 19:26:37 +00:00
steve
058dac4290
Exploded memories accessed by constant indices.
2006-04-10 03:43:39 +00:00
steve
ce4e21a962
Punt on set/reset if some sources are unconnected.
2006-04-01 01:37:58 +00:00
steve
312d09dc1d
Handle asynchronous demux/bit replacements.
2006-03-26 23:09:21 +00:00
steve
5e8330a4ff
Better error messages when synthesis fails.
2006-03-18 18:43:21 +00:00
steve
aa42ec381c
Fix a spelling error in an error message.
2006-03-16 05:39:43 +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
c4b34e8720
Document how the default statement handling works.
2006-01-27 01:58:53 +00:00
steve
e494be7cbf
Fix pin_Sel overrun.
2006-01-22 00:13:59 +00:00
steve
eb0a78e9ce
When mux has wide select but sparse choices, use 1hot translation.
2006-01-21 21:42:31 +00:00
steve
e80138ec8c
Restrict DFF to only one of Sset and Sclr.
2006-01-18 06:16:11 +00:00
steve
52b8ed9077
Rework l-value handling to allow for more l-value type flexibility.
2006-01-18 01:23:23 +00:00
steve
c5063f5d2f
Case statement handles partial outputs.
2006-01-01 02:25:07 +00:00
steve
f28aa11936
Allow for implicit case default in synchronous processes.
2006-01-01 01:30:39 +00:00
steve
3131fa68b7
Fix crashes caused bu synthesis of sqrt32.v.
2005-12-31 04:28:14 +00:00
steve
def3809b3f
Handle DFF definitions spread out within a block.
2005-12-19 01:13:47 +00:00
steve
f47627d752
Fix missing outputs from synchronous conditionals to get out from in.
2005-12-15 02:38:51 +00:00
steve
9468f3d06f
Handle both asynchronous set and reset.
2005-12-14 01:53:39 +00:00
steve
b997de63a5
Account for sync vs async muxes.
2005-12-14 00:54:29 +00:00
steve
f50f06ab4e
Handle concatenations in l-values.
2005-12-10 04:26:32 +00:00
steve
d5d03812cd
Fix crash on block with assignments that assign lval to self.
2005-12-10 03:30:50 +00:00