pkgsrc/cad/verilog-current/DESCR

17 lines
964 B
Text
Raw Normal View History

Icarus Verilog is a Verilog simulation and synthesis tool. It operates as a
compiler, compiling source code writen in Verilog (IEEE-1364) into some target
format. For batch simulation, the compiler can generate C++ code that is
compiled and linked with a run time library (called "vvm") then executed as
a command to run the simulation. For synthesis, the compiler generates
netlists in the desired format.
2005-05-23 10:26:03 +02:00
The compiler proper is intended to parse and elaborate design descriptions
written to the IEEE standard IEEE Std 1364-1995. This is a fairly large and
complex standard, so it will take some time for it to get there, but that's
the goal. I'll be tracking the upcoming IEEE Std 1364-1999 revision as well,
and some -1999 features will creep in.
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 03:33:49 +02:00
Please note that this package is a development snapshot and while it contains
2004-02-01 00:35:24 +01:00
the latest and greatest features, it may be buggy as well. There is a separate
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 03:33:49 +02:00
verilog package which is made of the stable releases.