Commit graph

125 commits

Author SHA1 Message Date
dmcmahill
56ca143250 -update to Dinotrace 9.0k
Changes since 9.0g are (from the NEWS file):

  Changes in Dinotrace 9.0k  7/17/2000

        Fixed bug with $comment after $enddefinitions. [Harunobu Miyashita]

        Fixed Tempest reading signals over 128 bits. [Ta-Chung Chang]
        This bug was introduced in 9.0i.

        Fixed portability bug with Value Examine showing 0s. [Ta-Chung Chang]

        Fixed Verilog reading with large time intervals. [Matthias Wenzel]
  Changes in Dinotrace 9.0i  5/1/2000

        Major speed improvement in reading Tempest traces.
        All trace formats now have less processing when building busses from
        individual bits. [Steve Hoover]

        ASCII traces assume extra time so last line is not lost.
        ASCII traces which had timestamps would not show the last state of the
        bus, as Dinotrace did not guess at how long that last state was valid for.
        Now, it looks at the smallest time step in the trace, and uses that
        as a guess at the timescale. [Pani Kodandapani]
2000-07-26 20:58:34 +00:00
tron
ebcef6eadf Depend on version 4.0 or newer of the "readline" package. 2000-07-20 15:40:58 +00:00
agc
78748d628a Instead of the clunky SHOW_PKG_PREFIX, introduce an EVAL_PREFIX definition,
which takes entries of the format <make-definition-name>=<pkgname>. This
has not been added to MAKEFLAGS because (a) premature optimisation is the
root of all evil, and (b) because the .for loop used to implement this
shows the wrong results when multiple prefices are evaluated.

Modify all the package Makefiles to use EVAL_PREFIX, thereby simplifying
them considerably.

ALso simplify the logic to calculate the prefix as well.
2000-07-15 20:39:13 +00:00
agc
69cbb39071 The previous method of using a make target for finding a prerequisite
package's prefix would not work as part of the environment specification
via MAKE_ENV (as it would not be executed in the correct directory).

Fix this by invoking pkg_info(1) directly, not via an intermediate make(1)
step - this is not as clean, but more effective (i.e. it works).
2000-07-14 16:04:19 +00:00
agc
4aeac45f89 Make the determination of the pre-req package's installed directory be
a bit more user-friendly.

Introduce a show-{gtk+,imlib,kdebase,qt1,qt2,xpm}-prefix target in
bsd.pkg.mk, and use "${MAKE} show-*-prefix" in package Makefiles.
2000-07-11 14:53:35 +00:00
dmcmahill
2892ff05e1 make iverilog give proper return codes. 2000-07-11 14:35:58 +00:00
agc
5ee37a44d2 Use X11PREFIX in preference to X11BASE, so that this package cooperates
with xpkgwedge.
2000-07-11 09:19:14 +00:00
agc
f1bc5a3e73 Find qt2 prefix via pkg_info(1), rather than hardcoding it as ${X11BASE}.
Pointed out by Dave Sainty <dave@dtsp.co.nz>, munged slightly by me.
2000-07-10 16:03:47 +00:00
hubertf
0b6268e643 Fix typo in Makefile - patch mailed back to the pkg's Author 2000-07-06 12:24:30 +00:00
dmcmahill
f5b7f311d1 make the default timescale in the output VCD files be 1ns for compatibility
with viewers such as Dinotrace.
2000-06-30 19:55:04 +00:00
dmcmahill
89c6f16070 update to verilog-0.3
Changes, from the authors release statement, are:

This release is a significant improvement over previous releases of
Icarus Verilog, including better language coverage, improved
synthesis, and increased performance.

This release adds to the 0.2 release support for Verilog-2000 style
parameters and parameter overrides, defparam, and localparam,
including proper handling of scoping rules. Also, strength modeling is
added, with support for strengths attached to gates and continuous
assignments.

Combinational user defined primitives have been added to complement
synchronous primitives that were already supported. Support for
primitives should now be fairly complete.

Force/release/assign/deassign syntax now works properly, allowing for
more sophisticated test bench design and debugging.

Bug fixes have been numerous and varied. This release of Icarus
Verilog is considerably more robust then previous versions, thanks to
diligent testing and bug reporting by users all over the world.
2000-06-22 03:15:31 +00:00
dmcmahill
6af29613f4 fix the patch so it works.... 2000-06-12 20:30:41 +00:00
dmcmahill
da153cfaec fix the .info file so that
install-info --delete %D/info/dinotrace.info %D/info/dir
actually work.
2000-06-12 20:10:57 +00:00
dmcmahill
4e5c943259 compile with -fPIC instead of -fpic. Makes things work right on sparc. 2000-06-12 00:41:09 +00:00
rh
74add3b300 s/USE_LIBTOOL/USE_PKGLIBTOOL/
Add a new USE_LIBTOOL definition that uses the libtool package instead of
pkglibtool which is now considered outdated.
USE_PKGLIBTOOL is available for backwards compatibility with old packages
but is deprecated for new packages.
2000-06-01 11:23:11 +00:00
dmcmahill
f403b95eb9 update to verilog-current-20000527
changes since last packaged snapshot are (from the authors announcements):

Icarus Verilog 20000527 Snapshot
----------------------------------

It's snapshot time!

    <ftp://icarus.com/pub/eda/verilog/snapshots/verilog-20000527.tar.gz>

This snapshot doesn't add any new features, but fixes a few bugs. I've
taken care of a bunch of bug reports with an eye towards getting this
polished up for a 0.3 stable release.

I fixed some problems with elaborating the condition expression of a
ternary operator. This was a long-standing bug that only happened in
structural (i.e. continuous assignment) situations.

I've also done some merging of event expressions. The netlist format makes
NetEvProbe and NetEvent objects for event expressions, and it was making
more then were needed. I've done some merging, though I have some more
things I can do on this front. I'll be working on it for the next snapshot.

I found a whole bunch of bugs with parsing expression lists, for example
module port expressions. The result is actually a smaller parser:-) So
module port expressions should be parsed and elaborated correctly, now.

In the vvm code generator, I've found some room to optimize the generated
code. I detect duplicate initialization of a nexus, and prevent the
excess code being generating. In one slightly degenerate example sent to
me, this change reduced the generated C++ by more then 6 times. I was
pretty amazed.

I've also slightly optimized the special case of behavioral assignments
from simple signal expressions. This removed a few lines of generated
code per assignment. This sort of thing helps compile time performance.


Icarus Verilog 20000512 Snapshot
----------------------------------
This is mostly a bug fix snapshot. No new features here, but I'm starting
to buff it up shiny for an upcoming 0.3 release. It looks like I'll be
starting to do release candidates soon, so test this snapshot hard, folks!

    <ftp://icarus.com/pub/eda/verilog/snapshots/verilog-20000519.tar.gz>

I re-implemented flip-flop and RAM synthesis, the new technique should
allow me to make much more complete synthesis. It's still not the nifty
full-scale synthesis I hope to do some day, but it should catch some of
the bigger synthesis problems.

I've also added to XNF synthesis the ability to detect start-up initial
values for flip-flip devices. This causes it to generate INIT= properties
for the devices as appropriate.

I've improved the VVM code generated by the t-vvm code generator. I've
managed to reduce the size of the code generated for some larger models
by 30%, and I should have improved run-time performance in the process.
This should help.

I've also found (thanks to bug reports) and fixed some module port issues.
I bet you can't dream up legal port binding that Icarus Verilog can't
handle:-) This issue should be taken care of.

VPI now includes the ability to set registers. I needed this to implement
a PNG image I/O module. I'm still working on that, I'll distribute it
separately when it is in better shape.

Various other bug fixes in iverilog and elsewhere. Several bug fixes
in the VVM runtime, including some support for the % operator.

I've done some updates to documentation to reflect some of the changes
since 0.2, so you can take a look at that too.
2000-05-30 23:43:43 +00:00
dmcmahill
fd3cc12a2d make all pkgs for which I'm the maintainer point to my netbsd email. 2000-05-12 16:07:33 +00:00
dmcmahill
df73e5f2de update to 20000506 snapshot.
changes from the last packaged snapshot (from the authors announcement):

---------------Icarus Verilog 20000506 Snapshot------------------
A lot of internal reworking has been done on this, so there might be
problems with things like symbol binding. But I think this is much better
then the last snapshot. I am once again starting to think about a
stable release. I'll shoot for the end of May, so if there is anything
you want to see in that release, start pestering me.

The big job has been a rewrite of the symbol table that holds signals.
The previous elaboration and lookup code for signals/memories did not
work properly when hierarchical names were used in the context of tasks
and functions. Also, the old table kept all the signals is a single
lookup table that failed to take advantage of knowledge of the current
scope.

All that is changed. signals are now elaborated after parameters and
before processes, so all hierarchical accesses should work properly now,
no matter how contorted. I've also fixed some bugs with function/task
parameter passing.

I've also added some infrastructure for supporting system functions, and
I've added an implementation of the $random system function. This currently
uses the native random(3) C library function, but once I get access to the
standardized algorithm, I'll implement that.

There are also a few fixes to elaboration of ternary operators. They were
a bit touchy about result bit widths.

A few preprocessor bugs have been fixed, especially related to the
`ifdef/`endif tokens. People are all the sudden starting to use the
Icarus Verilog preprocessor, so some long-standing bugs have been caught.

The iverilog command had a few path problems fixed, and the remaining
necessary switches have been added. I really encourage people to start
using iverilog in place of verilog. The test suite now uses iverilog to
run the compiler, so should you. There is a man page.
2000-05-11 01:33:49 +00:00
dmcmahill
9f9f676ac4 distinguish these 2 packages as "development snapshot" and "released" so
its more obvious of the difference.
2000-05-10 23:19:00 +00:00
dmcmahill
0bf61c411c Update to verilog-current to the 20000428 snapshot.
The many bug fixes and changes since the last packaged snapshot
are (from the authors announcements):

Icarus Verilog 20000428 Snapshot
--------------------------------
This one clears up some pretty nasty and subtle bugs. If you've been
sending me bug reports, you're probably turning blue holding your breath
in anticipation of this snapshot. Breath in, Breath out.

Hooray, both force and release work properly. I'm happy about that,
release worked out a bit easier then I expected. These should be useful
to test bench designers.

The big news this past week, however, has been bug fixes. Lots of bug
fixes. I got lots of bug reports and I killed pretty nearly all of
them. There were lots of nasty icky problems with passing parameters
to/from tasks, especially when memory words were involved. I fixed up
a whole bunch of these, and now parameter passing should work pretty
will, modulus the few remaining bugs I'm not seeing yet.

The iverilog command is in better shape now, and I encourage people
to use it in place of the older "verilog" driver script. There is a
man page for iverilog, and it supports all the switches needed to do
simulation and synthesis. I would like people to start getting this
driver well tested and the bugs worked out, because it is going to be
the main driver come the next stable release.

Some neat new XNF features are happening. I synthesize identity compare
in XNF, and a few other missing operators. But the really neato part is
that I've taught Icarus Verilog to generate PIN records for module
ports, so that you can make XNF macros out of Verilog source. If you
elaborate a module that has ports, the XNF code generator will automatically
generate the necessary symbols so that external XNF tools can link the
generated output into larger designs. I've compared the XNF files from
Icarus Verilog with those generated by Abel, and they appear the same
to my eyes.

Icarus Verilog 20000421 Snapshot
--------------------------------
Bunches of bug fixes, and a few new features come with this snapshot.
This snapshot makes headway in both simulation and synthesis. I'm
also starting to make a big dent in my todo list for the 0.3 release.

The bunches of little bug fixes in this snapshot are a direct result of
bunches of bug reports this past week that I was able to deal with. If
you've been reporting bugs, this may contain your fix.

I redesigned the process implementation in the vvm backend, so the generated
code is a bit cleaner, and threads are lighter weight. And while I was at
it, fork/join now should work properly. I know there were a bunch of you
out there asking for this, so here it is.

I've incorporated into this release improved runtime support for integer
multiplication, it should now work now matter how incredibly enormous
you make the operands. Thanks to Chris Lattner for contributing the generic
multiply.

I've improved synthesis somewhat, there were some expressions in some
contexts that were not getting synthesized by the -Fsynth functor. This
is fixed, and I'm also starting to add some XNF specific optimizations
into the -Fxnfio functor. I do sensible things with identity compare,
for example.

I've added the program ``iverilog'' to be a new driver program written
in C instead of as a shell script. This driver supports the -tnull,
-txnf and -tvvm targets, as well as the -E flag that causes only the
preprocessor to be run. This should be interesting to those of you who
are looking for a working preprocessor. I'm still working on the -D and
the -I flags, but I expect this program to replace the verilog.sh script
before the 0.3 release.

Icarus Verilog 20000414 Snapshot
--------------------------------
All event handling is now complete. Yet another subject is behind me, and
on I go. By complete, I mean that named events, edge triggers, wait, and
lists of events all work. This took a little longer then I expected, so
some of the other things I wanted to work on had to wait.

As a side effect of event and thread scheduling work, I changed the way
that threads are generated in vvm. The result is that threads should be
a little faster at run time, and a lot faster at compile time. A *LOT*
faster at compile time. (Apparently, Verilog XL is still considerably
faster, but hey, I'm working on it.)
2000-04-30 18:15:17 +00:00
drochner
fcf7b69e2c update for new qt2 layout 2000-04-28 10:11:02 +00:00
dmcmahill
4c7ec8f1ac sync with qt-2.0.2 location 2000-04-14 21:12:27 +00:00
dmcmahill
0f42490879 update to verilog-current-20000409.
changes since the last packaged snapshot include:


Icarus Verilog 20000326 Snapshot:
--------------------------------
The VVM backend rewrite continues. More templates are gone, and the
bit functions have been pretty much rewritten. The vvm library now handles
bit values with strengths, and most of the devices to the right things
with those strengths.

The most obvious implication of this is that you can write multiple
drivers to a net and expect the values to be properly resolved, and in
particular the HiZ value works as it should. So I am well on the way to
completing strength modeling support.

What is still missing is support for strength specifications in the
Verilog source. Although the parser supports the strength related keywords,
they are not passed on to elaboration, or used to generate drivers with
the proper strengths. So that's in the works.

While doing all this VVM rewrite, I've made the generated code considerably
smaller. And of course fewer templates are used. The upshot of this is that
compiles of larger designs should go a whole lot faster. This is important
because people are using Icarus Verilog for increasingly larger designs.
On some larger examples, I've achieved more then 3X compile time improvement.

Icarus Verilog 20000409 Snapshot:
--------------------------------
Named events now work!  Event object declarations and trigger statements
are fully supported, and blocking on a single event also works. I'm not
up to named events in event lists because I'm in the midst of redesigning
the way events on nets and regs are implemented. However, the common case
works fine, so there you are.

I've also added support for some more arithmetic operators. Division and
Modulus now work in many contexts, and are not far from working everywhere.
Also, comparison operators work in places they used to not.

There was a compile error in memory objects that managed to slip through
a couple snapshots, that I finally cured. The problem was pretty gross,
but somehow not quite tickled by my tests. Oh well.

I've integrated some VCD improvements from Anthony Bybell. Some of you
recognize the name as the author of GTKWave, so if he says VCD works like
so, then that's how VCD works:-) Anyhow, he fixed the VCD output to be
more portable, and also a bit smaller when vectors are involved. He also
fixed some bugs with multiple calls to $dumpvars.
2000-04-09 23:11:49 +00:00
dmcmahill
29a4955769 make qt-2.0.2 package conform to hier(7) and update pkgs which depend on
it accordingly.
2000-04-05 15:22:42 +00:00
dmcmahill
387739bb6e add 1 more missing lib 2000-04-02 04:38:56 +00:00
dmcmahill
30dc8181c9 remove -O2 when compiling "analyser.cpp" because it causes
the assembler on pmax (1.4.1) to never complete.
2000-04-01 19:35:11 +00:00
dmcmahill
7f947df158 various ELF fixes.
- Make sure -Rpath is done correctly
- Make sure qt libs are found
- Make sure -lz -lpng -lSM are included as libqt needs functions
  from these libraries.
2000-04-01 18:53:59 +00:00
dmcmahill
1d646b8454 add missing configure argument for Qt location. 2000-04-01 05:40:52 +00:00
dmcmahill
6c2510b272 update to vipec-2.0.1
the previous pkg was based on a development version of vipec.  This version
is considered a stable release.
2000-03-28 21:48:41 +00:00
dmcmahill
07c67df8fd make qt1 install in its own directory instead of renaming its installed
components.  This allows users of Qt to specify QTDIR=/path/to/qt instead
of having to patch all configure scripts and makefiles to look for alternate
names.  This is the recommended approach from Troll Tech (Qt authors).

update pkgs which use qt1 to reflect this.
2000-03-28 00:09:19 +00:00
tron
782b73a94b Adapt to new handling of "${CONFIGURE}". 2000-03-27 08:54:53 +00:00
dmcmahill
bcc1530ee8 Update to acs-0.26. Changes (from ${WRKSRC}/doc/relnotes-026) are:
New features:

1. BSIM1, BSIM2 models -- DC only.
2. New elements:
        trans-capacitor
        voltage controlled capacitor
        voltage controlled conductance
        voltage controlled resistor
3. Optional new syntax, with type first so component labels can start
with any letter, and the choice of components is no longer limited by
the 26 letters.  This was necessary for a clean syntax
for #2.
4. Some new parameters on existing devices, also a side
effect of the BSIM work.
5. The manual in HTML form.  The manual source is still in LaTeX,
which can be used to generate HTML, PDF, Postscript, or many other
formats.

Bug fixes:

1. An error causing truncation error to be underestimated has been fixed.

Other improvements:

1. MOSFET model evaluation is a little faster, due to use of one of
the new elements to replace several old ones.  I have seen 40%, but
20% is more likely.  The improvement is most evident on busy circuits,
where the ACS speed enhancements based on latency exploitation
contribute more overhead than their value, that is .. the type of
circuit that has run faster in Spice than ACS.

2. More documentation on internals.

Changes that I think are improvements, but some may disagree:

1. Truncation error based step control is disabled when Euler's method
is selected.  The justification for this is that the reason for
selecting Euler's method is to avoid the artifacts of high order
methods on "stiff" poles.  Without this change, a "stiff" pole would
cause an unreasonably small step size.  This did not appear to be much
of a problem in the old release because the use of an incorrect
formula for estimating truncation error.  A "stiff" pole is one that
has a response so fast it can be thought of as instantaneous.

2. The "help" command, with its 4 year old help file, has been
removed.  The concept is really obsolete.  With the HTML form of the
manual, a full online manual is a better replacement.
2000-03-26 15:50:21 +00:00
dmcmahill
eb6957f232 Update to verilog-current-20000318.
Notable changes since the last pkg are (from the snapshot announcement):

Parameters are complete.
What this means is that I finally got around to supporting defparam,
and while I was at it I rewrote the entire parameter handling and added
the parameter support included in 1364-2000.

I have rewritten major portions of the VVM backend. The vvm_nexus class
has been introduced to the fray, and all the device implementations in
the VVM library now use the nexus to drive and receive values. An advantage
of this scheme is that the t-vvm backend code (in ivl proper) is simpler,
and so is the generated C++ code.

I also removed most of the template classes. This proved to be a huge
compile-time benefit (though compiling twice as fast really only matters
for large programs) and it doesn't seem likely to hurt run-time performance.
A few remain, either because they seemed harmless (the N-wide logic gates)
or I couldn't yet figure out a good way to replace them (vvm_bitset_t).

A side benefit of this is that the vvm library may now be a modeling
library that ordinary humans can use to write their models in C++. This
may provide the unexpected benefit of heading me towards incremental
compilation of designs. So who was it who was beating me over the head
asking for that?-)

I also fixed a few minor problems with the preprocessor. Those of you
who reported problems with `includes and `defines should check this out.
2000-03-25 21:09:16 +00:00
dmcmahill
7d380b604d move dependency from qt-1.44 to qt1-1.44 2000-03-23 22:07:12 +00:00
dmcmahill
44ec0c3784 add and enable dinotrace 2000-03-14 19:54:01 +00:00
dmcmahill
c10b352984 Initial import of dinotrace-9.0g
Dinotrace is a tool designed to aid in viewing Verilog Value Change
Dump (.vcd), ASCII, Verilator, Tempest CCLI, COSMOS, Chango and Decsim
Binary simulation traces.  It is optimized for rapid design debugging using
X-Windows Mosaic.
2000-03-14 19:52:47 +00:00
wiz
74874e66d9 remove trailing `.' 2000-03-09 13:47:31 +00:00
dmcmahill
e5caff965d fix a patchfile bug which caused parse.cc to be compiled twice. 2000-03-07 20:36:51 +00:00
dmcmahill
5f329b228c fix a bug in one of the patches that caused parse.cc to be built twice. 2000-03-07 18:24:48 +00:00
dmcmahill
30e0937c76 add and enable verilog-current 2000-03-07 16:10:37 +00:00
dmcmahill
1a0394f519 Initial import of verilog-current. This pkg is for the development snapshots
of the cad/verilog package.  Development snapshots are created quite frequently
in between stable releases.
2000-03-07 16:09:15 +00:00
dmcmahill
e911e8c42d Update to the released version 0.2 of verilog. I will be creating a seperate
verilog-current pkg to track development snapshots.

This version has minor bug fixes over the previous snapshot package.  Notable
$display of a memory element now works correctly and a bug in $readmemb has
been fixed.
2000-03-07 16:05:13 +00:00
dmcmahill
a345f65b96 add and enable gwave 2000-03-01 18:34:13 +00:00
dmcmahill
fbbf2e7d88 Initial import of gwave-19990927.
Gwave is a viewer for spice-like simulator output and other analog data

Gwave can read several file formats.  It attempts to guess file formats
based on filename, and then tries all file formats until one succedes.
These file formats are known:

CAzM transient output (*.[BNW])
HSPICE binary and ascii formats (*.tr0, *.sw0, *.ac0)
Spice2 and Spice3 "raw" output  (*.raw)
An ascii format with whitespace-seperated columns and column headings,
such as that produced by ACS (Al's circuit simulator). (*.acs, *.asc, *.ascii)

The "Export Postscript" and "Export PNM" options on the main File menu
provide the rudiments of output for inclusion in other
documentation.  They and simply write out files called gwave_out.ps and
gwave_out.pnm into the current directory.  In the future, a dialog box
will allow configuring the print and export output.
2000-03-01 18:33:24 +00:00
wiz
f895e15bb9 remove commented out SUBDIR += lines for packages that never got
converted from FreeBSD, or have been disabled since. Sorted lines
alphabetically, added some missing directories.
2000-02-25 01:04:11 +00:00
rh
cf664af401 Update gEDA to 20000220.
Changes include:

 * New dialog boxes by Matt Ettus:
   - A much improved attribute edit dialog box
   - A multiple attribute edit dialog box

 * Improved Hierarchy Support:
   - Hierarchy/Down Schematic
   - Hierarchy/Down Symbol
   - Hierarchy/Up

 * Text alignment.

 * Attributes are now required to have no spaces besides
   the equals sign on each side.  This shouldn't cause
   any problems for anybody.

 * Bunch of updates to the various gnetlist backends
   (basically all submitted changes have been integrated).
   Integration of JM Routoure's PCB backend work (Thanks!).
   Bug fixes and improvements by Matt Ettus, Stefan
   Petersen and Bas Gieltjes.

 * Added a bunch of contributed symbols.  Thanks to
   all that have contributed!  There are now 566 symbols
   in the library.

 * Documentation.  There are the beginnings of docs now.
   Here's the current list:
         attributes.txt -- Master attribute list
         fileformats.html -- gEDA file formats
         gschem.txt -- The start of a serious user's
         guide keymapping.html -- Stefan's keymapping
         document netattrib.txt -- A HOWTO on the net=
         attribute symbols.html -- The ever useful symbol
         creation guide

 * Bug fixes and improvements to some of the utils.

 * Lots and lots of bug fixes (and bug introductions).
2000-02-22 08:38:51 +00:00
rh
7364c75e77 Add and enable oregano 2000-02-16 20:56:41 +00:00
rh
a47a88d8a2 Initial import of oregano-0.11, an application for schematic capture and
simulation of electrical circuits
2000-02-16 20:56:05 +00:00
dmcmahill
81c179bc22 update package to verilog-20000212. This release incorporates most of the
NetBSD pkgsrc patches to the previous release.  Thanks to Stephen Williams
(the author) for his willingness to accept patches!
2000-02-14 22:55:31 +00:00
wiz
3333ba9b64 remove unnecessary article 2000-02-05 18:18:35 +00:00