Vlint Release Notes --------------------------- Release 3.3.Beta ---------------- Release 3.3.Beta under the Linux OS is a port of release 3.2x to Red Hat Linux Enterprise 3. As such it contains only minor bug-fixes and enhancements over releases 3.2d on RHL 7.3 and 3.2f under Windows. I) Enhancements --------------- Vlint 3.3.Beta contains the following enhancements that are not yet listed in the User Guide: 1. Verilog 2001 Generate Statements 2. Verilog 2001 Multidimensional Arrays 3. Verilog 2001 config block support 4. Verilog-2001 initial value specified in variable declarations 5. Verilog-2001 signed bit-strings support 6. Configuration file must now be specified with .cfg extension on command line 7. Combining the -net and -v command line options supported 8. New Interactive Tcl Commands Added 9. Global disable for embedded filter directives 10. Vlint Embedded filter directives 11. Traversing up one hierarchy level when viewing results 12. Changing the width of display of results 13. Initial blocks are now expanded 14. 'protected and `endprotected compiler directives support 15. Wires declared with constant driven values will be treated as constants 16. Procedural continuous assignments support 17. "Clear All" button added to "File->Design" (add design files) dialog 18. Multiple file selection from Verilog file list via "Add File" 19. Vlint now reports SystemVerilog constructs. 20. C-Style Comment PSL Assertions Support 21. Enhanced Case statement reports 22. Port Size Mismatch Report Changed 23. Support for excluding messages about specific files 24. Selecting start-up working directory 25. End-point filters 26. Browse information 27. Non-blocking assignments in combinational blocks 28. Report synchronous resets 29. Include `defined file Details of these enhancements are given below. 1. Verilog 2001 Generate Statements ------------------------------------ Verilog 2001 generate statements are now supported. 2. Verilog 2001 Multidimensional Arrays --------------------------------------- Verilog 2001 multidimensional arrays are now supported. 3. Verilog 2001 config block support ------------------------------------------ Vlint now ofers the following limited support for the Verilog 2001 config statement. The config statement can be used to define the top-level module name for a design, in a tool-independent manner, and an optional list of include library files search paths. Furthermore, users may specify configuration information for any module instances. The current implementation supports the following statements in a Verilog-2001 config block: a. design ';' Allows users to Specify the top-level module name for a design to be analyzed. Since a top-module name may be specified to vlint in several ways, if conflicting top-module names are found, vlint will determine the top module name to be used in the following way: 1. Use the name specified via the -topmodule command line as the top preference 2. Use the name specified via the TOPMODULE: record in vlint.atr file as the second preference 3. Use the name specified via the design statement in a config block as the third preference 4. Use the name derived from default search as the last resort b. default liblist Allows users to specify a list of library files search paths. This is similar function to the INCLUDE: record in vlint.atr file, except the "library names" specified in this statement are just aliases, the actual binding of a library alias to a library path name is via the library statement: library ';' The library statement is specified in a HDL source file outside the config block, and may be specified in one or more separate HDL source files from the one which contains config block. All library search paths specified via the "default liblist" statements are append to any include file search paths as specified via the INCLUDE: records in vlint.cfg file. c. An Instance statement in a config block allows users to specify how a module instance in a design could be configured. The instance statements are parsed by vlint, but its data are silently discarded for now. 4. Verilog-2001 initial value specified in variable declarations ---------------------------------------------------------------- Vlint now supports user specified initial values when reg, integer, real, and realtime variables are declared. Thus, the following syntax are now accepted in vlint: reg aVar = 1'b0; reg [15:0] bs = 16'habcd; integer limit = 65535; real refresh_interval = 12.5; realtime stop_clock = 355.6; According to Verilog-2001, an initial value specified in a reg/integer/real/realtime variable declaration does not create a continuous assignment (as in the case of wire declaration). Rather the initial values are assigned to the variables in the same manner as if they were specified in an initial block. Thus, the following code is functionally the same as the above example: reg aVar; reg [15:0] bs; integer limit; real refresh; realtime stop_clock; initial begin aVar = 1'b0; bs = 16'babcd; limit = 65535; refresh_interval = 12.5; stop_clock = 355.6; end 5. Verilog-2001 signed bit-strings support -------------------------------------------- Vlint now supports the use of signed bit-strings in HDL code. The followings are legal use of signed bit-strings wire signed [31:0] abus = 32'sh12345678; parameter signed DD = 1'sb1; if (hec != 32'sd598) .... 6. Configuration file must now be specified with .cfg extension on command line -------------------------------------------------------------------------------- The command line has changed such that is you specify -ch is treated as a design file rather than a configuration file unless it has the .cfg extension 7. Combining the -net and -v command line options supported ----------------------------------------------------------- Previously it was not possible to combine the -net and -v options. In release 3.2 you can now use both -net and -v on the command line. 8. New Interactive Tcl Commands Added -------------------------------------- The following interactive Tcl command have been added: set_attempts n Set number of search attempts to n set_analysis Set analysis method to sequential or reachability set_check_option