General Improvements To Classical Verilog
In addition to the new features above, SystemVerilog enhances the usability of Verilog's existing language features. The following are some of these enhancements:
- The procedural assignment operator(s) (<=, =) can now operate directly on arrays.
- Port (inout, input, output) definitions are now expanded to support a wider variety of datatypes: struct, enum, real, and multi-dimensional types are supported.
- The for-loop construct now allows automatic variable declaration inside the for statement. And loop-control is improved by the continue and break statements.
- SystemVerilog adds a do/while to the while construct.
- Constant variables, i.e. those designated as non-changing during runtime, can be designated by use of const.
- Variable initialization can now operate on arrays.
- The preprocessor has improved `define macro-substitution capabilities, specifically substitution within literal-strings (""), as well as concatenation of multiple macro-tokens into a single word.
- The fork/join construct has been expanded with join_none and join_any.
- Additions to the `timescale directive allow simulation timescale to be controlled more predictably in a large simulation environment, with each source-file using a local timescale.
- Task ports can now be declared ref. A reference gives the task body direct access to the source arguments. in the caller's scope. Since it is operating on the original variable itself, rather than a copy of the argument's value, the task/function can modify variables (but not nets) in the caller's scope in realtime. The inout/output port-declarations pass variables by value, and defer updating the caller-scope variable until the moment the task exits.
- Functions can now be declared void, which means it returns no value.
- Parameters can be declared any type, including user-defined typedefs.
Besides this, SystemVerilog allows convenient interface to foreign languages (like C/C++), by SystemVerilog DPI (Direct Programming Interface).
Read more about this topic: System Verilog
Famous quotes containing the words general, improvements and/or classical:
“We have grown literally afraid to be poor. We despise anyone who elects to be poor in order to simplify and save his inner life. If he does not join the general scramble and pant with the money-making street, we deem him spiritless and lacking in ambition.”
—William James (18421910)
“I was interested to see how a pioneer lived on this side of the country. His life is in some respects more adventurous than that of his brother in the West; for he contends with winter as well as the wilderness, and there is a greater interval of time at least between him and the army which is to follow. Here immigration is a tide which may ebb when it has swept away the pines; there it is not a tide, but an inundation, and roads and other improvements come steadily rushing after.”
—Henry David Thoreau (18171862)
“Et in Arcadia ego.
[I too am in Arcadia.]”
—Anonymous, Anonymous.
Tomb inscription, appearing in classical paintings by Guercino and Poussin, among others. The words probably mean that even the most ideal earthly lives are mortal. Arcadia, a mountainous region in the central Peloponnese, Greece, was the rustic abode of Pan, depicted in literature and art as a land of innocence and ease, and was the title of Sir Philip Sidneys pastoral romance (1590)