PVSim is a Verilog Simulator for Mac OS X that uses AlphaX editor's Verilog mode and features a fast compile-simulate-display cycle.
Be the first to post a text review of PVSim Verilog Simulator. Rate and review a project by clicking thumbs up or thumbs down in the right column.
Version 5.6.0 -- Improvements since 5.5.0: Language ======== r1655 Added auto-generation of "module_instance" module names in leu of full parameter support. Improved $readmemmif() to handle hex addresses and 32-bit data. r2214 Ignored width on decimal constants (was broken). r2339 Now handles unconnected ports and ignores unconnected missing ports (to simplify some sim models). r2348 Added $stop(n). Fixed module port input from constant vectors. Partial fix for allowing vector subranges in module output ports: now allows mixed assigns + module reg outs for a vector, but not just multiple module reg outs. r2360 Added $display(net, fmt...) form of $annotate and $flagError for compatibility. r2409 Added vector pullup/down. r2411 Added $timeformat() and cleaned up time handling. Interface ========= r2152 Adjusted timing window bottom position to clear the dock. r2154 Enlarged log window. r2392 Created pvsimu command-line target for use by tests. Added switch arguments to main(): -q quiet and -d3 debug logging. Cleaned up debug output. Reliability =========== r2392 Created pvsim_test.tcl expect script. Added regression tests, replacing most old tests. Removed PPC target and renamed _pcode target to main one. Finished entering PCode-- passes regression tests. Performance =========== r1670 Added "Prebuilt binary" instructions to INSTALL. Removed Verilog_2001.pdf. r1674 Updated for XCode 2.0, gcc 4.0: removed Set.h include. used std:set_new_handler; fixed TokCode range. r1741 Updated XCode project to 2.1. r2151 Added "shell" project command for auto-making, etc. r2156 Added test12_mvec: module vector passing. r2349 Added test13 and test14: additional vector-related tests. r2392 Cleaned up some 'volatile' statements slowing down code. r2403 Changed Tick type from DLong to long for a 10% speedup. r2403 Removed floating point and unused debug code from addEvent for 10% speedup. r2407 Sped up large simulations by almost 3x by not posting redundant next-tick events. Bug Fixes ========= r1650 Fixed all strncpy() calls to zero last character for overflow case. Added Info_pcode.plist. r1661 Now gracefully catches errors thrown in doWindowEvent(). r1662 Now catches and reports "missing args to flagError()". r1668 Updated copyright dates to include 2005. Changed version from 1.40b1 to 5.5.0, since last public release was 5.4.0b1. r1879 Fixed reporting of error position in source file. Fixed failure of vector ports for more than one instance. Removed 'static' from routines to work around gdb breakpoint bug. Increased gMaxStringSpace (should rework this). r2153 Disabled "bad source token" checking: exceeding virtual mem range. r2339 Gives error message on instance local space overflow. Fixed trigger gathering for embedded expressions in module instances. Increased gMaxStringSpace. Fixed type-select bug in generating postIndVector. r2348 Fixed module port input from constant vectors. r2350 Added Version.cc and a build phase to compile it on every build. r2392 Added printfEvt() to clean up event file and added console event printing.
Version 5.6.0 -- Improvements since 5.5.0: Language ======== r1655 Added auto-generation of "module_instance" module names in leu of full parameter support. Improved $readmemmif() to handle hex addresses and 32-bit data. r2214 Ignored width on decimal constants (was broken). r2339 Now handles unconnected ports and ignores unconnected missing ports (to simplify some sim models). r2348 Added $stop(n). Fixed module port input from constant vectors. Partial fix for allowing vector subranges in module output ports: now allows mixed assigns + module reg outs for a vector, but not just multiple module reg outs. r2360 Added $display(net, fmt...) form of $annotate and $flagError for compatibility. r2409 Added vector pullup/down. r2411 Added $timeformat() and cleaned up time handling. Interface ========= r2152 Adjusted timing window bottom position to clear the dock. r2154 Enlarged log window. r2392 Created pvsimu command-line target for use by tests. Added switch arguments to main(): -q quiet and -d3 debug logging. Cleaned up debug output. Reliability =========== r2392 Created pvsim_test.tcl expect script. Added regression tests, replacing most old tests. Removed PPC target and renamed _pcode target to main one. Finished entering PCode-- passes regression tests. Performance =========== r1670 Added "Prebuilt binary" instructions to INSTALL. Removed Verilog_2001.pdf. r1674 Updated for XCode 2.0, gcc 4.0: removed Set.h include. used std:set_new_handler; fixed TokCode range. r1741 Updated XCode project to 2.1. r2151 Added "shell" project command for auto-making, etc. r2156 Added test12_mvec: module vector passing. r2349 Added test13 and test14: additional vector-related tests. r2392 Cleaned up some 'volatile' statements slowing down code. r2403 Changed Tick type from DLong to long for a 10% speedup. r2403 Removed floating point and unused debug code from addEvent for 10% speedup. r2407 Sped up large simulations by almost 3x by not posting redundant next-tick events. Bug Fixes ========= r1650 Fixed all strncpy() calls to zero last character for overflow case. Added Info_pcode.plist. r1661 Now gracefully catches errors thrown in doWindowEvent(). r1662 Now catches and reports "missing args to flagError()". r1668 Updated copyright dates to include 2005. Changed version from 1.40b1 to 5.5.0, since last public release was 5.4.0b1. r1879 Fixed reporting of error position in source file. Fixed failure of vector ports for more than one instance. Removed 'static' from routines to work around gdb breakpoint bug. Increased gMaxStringSpace (should rework this). r2153 Disabled "bad source token" checking: exceeding virtual mem range. r2339 Gives error message on instance local space overflow. Fixed trigger gathering for embedded expressions in module instances. Increased gMaxStringSpace. Fixed type-select bug in generating postIndVector. r2348 Fixed module port input from constant vectors. r2350 Added Version.cc and a build phase to compile it on every build. r2392 Added printfEvt() to clean up event file and added console event printing.
Version 5.5.0 -- Improvements since 5.4.0b1: Language ======== Standardized $display() statements. Added $fopen() and $fdisplay() system functions. Fixed $display(), $fdisplay(): now auto-newline, convert args to integers, accept %t and %h formats; Added $write(), $fwrite() for non-auto-newline versions; Added $readmemmif() to initialize memory from a file. Added $dist_uniform() for compatability (doesn't do seed though). Added begin-end block name saving, but 'disable' command still disabled. Fixed defparams: now required before instance, now operate on parameter instance value; disabled parameter unbinding. Added auto-declare for Scalars. Added warning for non-tri signals, but this should be replaced by "auto-tri" conversion since Verilog doesn't differentiate (!) Added dummy generate & genvar statements. Now allows unconnected output ports. Added undefined variable check. GUI === Improved timing window zoom: events too narrow to display now solid grey. Improved display of unzoomed busses. Improved name-string length calculation. Added Command-"." for stopping sim. Made log window be Verilog mode. Performance =========== Made signal's Event list doubly-linked to speed up removeEvent(), by far the slowest routine. Replaced threads with setjmp-based version for 5x simulation speed. Bug Fixes ========= r1532Changed 'initial' completion from zeroing threadID to hanging due to dangling pointers. r1579Fixed vector size check in codeIntExpr(). Fixed (?) parameter EvHand type. r1590Added fdisplay test. r1591Fixed named event assignment tagging. r1592Fixed skipSection(): was missing prev line if it was a token and comment. r1599Fixed parameter binding so that parms based on overridden parms get evaluated properly. r1607Fixed debugLevel(3) display of source: was displaying an extra line every token; Improved Model tracing in debugLevel(3). r1617Merge from branches/tmp-threads: Replaced threads with setjmp-based version for 5x simulation speed; Switched to Carbon/Carbon.h so we don't include path to FlatCarbon; Fixed source line display for embedded '%' in source; Consolidated and updated flagError() to take printf-like args. r1618Fixed AlphaX error and signal location display: Added 'refresh' to display selected word properly; Now brings the new file window to the front; Added '// ***' prefix for VLog mode highlighting; Cleaned some header includes. r1619Improved drawBus() a bit: factored out visRgn. Needs more though. r1620Fixed Event::removeFromSignal() and added non-free Event checks; Cleaned out some deadwood in TimingWinOSX.cc; Fixed zoom-in: made xpos, etc. 32-bit; Improved drawBus(), but not perfect. r1621Added TimeWin::tick2x(). r1622Improving zoom-out display. r1623Fixed zoom-out drawing. Still very slow drawing at end of long event list. Needs a signal->firstScrollEvt? r1624Cleaned up TimeWin global name space. r1625Added TimeWin::adjustScrollEvt() and fixed zoomed signal display. r1628Updated pvsim project to new style. Now allows src disassembly. r1629Removed unused source detected by simian. r1632Fixed opening of source files in subdirectories on error. r1633Added TODO again and updated it; Fixed icon file in Info.plist. r1634Changed executable name from 'pvsim' to 'PVSim'. r1635Fixed logical-not and bit-compliment coding; Fixed assign of Vector subranges (added modelVec); Added test11_expr. r1636Fixed expression-too-complex for Expr-pool case. r1638Fixed nested conditional expressions. r1641Fixed global-reset bug for case of one submodule; Fixed memory data type bug; Added instantiation messages. r1643Started PCode version of back-end coder as an experiment. r1644Improved runtime error messages and thread debugging; Includes some improvements for multiple coders. r1646Changed most remaining reportErr() calls to VLError throws; Simplified verr_* enums; Moved VLError routines to Utils.cc; Moved actual display time to compileAndSimulate() main loop catch; Fixed wire-assign global-resets bug in VLModule::VLModule(); Fixed no-source-window message log display case in pvsimedit.tcl.
Version 5.5.0 -- Improvements since 5.4.0b1: Language ======== Standardized $display() statements. Added $fopen() and $fdisplay() system functions. Fixed $display(), $fdisplay(): now auto-newline, convert args to integers, accept %t and %h formats; Added $write(), $fwrite() for non-auto-newline versions; Added $readmemmif() to initialize memory from a file. Added $dist_uniform() for compatability (doesn't do seed though). Added begin-end block name saving, but 'disable' command still disabled. Fixed defparams: now required before instance, now operate on parameter instance value; disabled parameter unbinding. Added auto-declare for Scalars. Added warning for non-tri signals, but this should be replaced by "auto-tri" conversion since Verilog doesn't differentiate (!) Added dummy generate & genvar statements. Now allows unconnected output ports. Added undefined variable check. GUI === Improved timing window zoom: events too narrow to display now solid grey. Improved display of unzoomed busses. Improved name-string length calculation. Added Command-"." for stopping sim. Made log window be Verilog mode. Performance =========== Made signal's Event list doubly-linked to speed up removeEvent(), by far the slowest routine. Replaced threads with setjmp-based version for 5x simulation speed. Bug Fixes ========= r1532Changed 'initial' completion from zeroing threadID to hanging due to dangling pointers. r1579Fixed vector size check in codeIntExpr(). Fixed (?) parameter EvHand type. r1590Added fdisplay test. r1591Fixed named event assignment tagging. r1592Fixed skipSection(): was missing prev line if it was a token and comment. r1599Fixed parameter binding so that parms based on overridden parms get evaluated properly. r1607Fixed debugLevel(3) display of source: was displaying an extra line every token; Improved Model tracing in debugLevel(3). r1617Merge from branches/tmp-threads: Replaced threads with setjmp-based version for 5x simulation speed; Switched to Carbon/Carbon.h so we don't include path to FlatCarbon; Fixed source line display for embedded '%' in source; Consolidated and updated flagError() to take printf-like args. r1618Fixed AlphaX error and signal location display: Added 'refresh' to display selected word properly; Now brings the new file window to the front; Added '// ***' prefix for VLog mode highlighting; Cleaned some header includes. r1619Improved drawBus() a bit: factored out visRgn. Needs more though. r1620Fixed Event::removeFromSignal() and added non-free Event checks; Cleaned out some deadwood in TimingWinOSX.cc; Fixed zoom-in: made xpos, etc. 32-bit; Improved drawBus(), but not perfect. r1621Added TimeWin::tick2x(). r1622Improving zoom-out display. r1623Fixed zoom-out drawing. Still very slow drawing at end of long event list. Needs a signal->firstScrollEvt? r1624Cleaned up TimeWin global name space. r1625Added TimeWin::adjustScrollEvt() and fixed zoomed signal display. r1628Updated pvsim project to new style. Now allows src disassembly. r1629Removed unused source detected by simian. r1632Fixed opening of source files in subdirectories on error. r1633Added TODO again and updated it; Fixed icon file in Info.plist. r1634Changed executable name from 'pvsim' to 'PVSim'. r1635Fixed logical-not and bit-compliment coding; Fixed assign of Vector subranges (added modelVec); Added test11_expr. r1636Fixed expression-too-complex for Expr-pool case. r1638Fixed nested conditional expressions. r1641Fixed global-reset bug for case of one submodule; Fixed memory data type bug; Added instantiation messages. r1643Started PCode version of back-end coder as an experiment. r1644Improved runtime error messages and thread debugging; Includes some improvements for multiple coders. r1646Changed most remaining reportErr() calls to VLError throws; Simplified verr_* enums; Moved VLError routines to Utils.cc; Moved actual display time to compileAndSimulate() main loop catch; Fixed wire-assign global-resets bug in VLModule::VLModule(); Fixed no-source-window message log display case in pvsimedit.tcl.
Be the first person to add a text review.
Copyright © 2009 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?