I just started to experiment with ncsim 5.7 +systemverilog and I'm very disappointed with the current support.. I tried running AVM examples and was not able to execute even the simple ones with ncsim.. I'm really curious to know if the next release will be supporting parametrized mailboxes and queues supporting complex data types..Also how does URM compare to AVM or VMM ?
Well to be fair to Cadence, 5.7 is an ancient version. Try at least something like 5.81...
IUS57 does have a good amount of SV support. However, CHM is correct that IUS583 is the release you really want. Unfortunately, there have been a couple of problems in getting the release out and has been delayed. It will hopefully be released and available for download on Friday but may get slipped into next week. I'll post here again when I hear that it's available.The good news is that there is a lot of new SV support, especially in the implementation of some advanced class and dynamic array capabilities. You will definitely want to get this release as soon as it's available.Although mailboxes won't be supported directly in IUS583, I have attached a mailbox class library. Including this with your compilation will provide the same functionality you will get when the command is natively supported.As I said, IUS583 will have a ton of SV support but IEEE1800 is a huge language and everything won't be there immediately. If you find something that is not supported, post a comment to this forum and someone will probably have an alternate way to accomplish the same thing.
BTW, if you are looking at using SystemVerilog and AVM, then you should really take a look at the Incisive Plan to Closure Methodology which is a lot more extensive than AVM, including the testbench methodology component known as URM (Universal Reuse Methodology). All Cadence customers have access to the complete methodology which includes documentation, examples, and libraries. You can download the latest release from http://downloads.cadence.com (make sure to read the README_install.txt file - you will need a license to install it which your local AE can help you with). You can read a technical overview of Plan to Closure at this site (check out the link to the E-Book): http://www.verificationinsider.eetimes.com/?cid=bcpageMike
IUS583 is now available for download from http://downloads.cadence.com.Tim
The mailbox_tb.v file in your attachment did not compile, complaining about the type being passed in for the 'ref mb_item' argument to the get call for the mailbox. I fixed it with the following changes (supplied as a patch:
===================================================================--- mailbox.orig/mailbox_tb.v 2007-01-30 15:55:03.016816041 -0600+++ mailbox/mailbox_tb.v 2007-01-30 15:59:46.213602366 -0600@@ -61,8 +61,10 @@ initial begin+ mb_item base_pkt; for (int i = 0; i<7;i++) begin- mb1.get(get_pkt);+ mb1.get(base_pkt);+ $cast(get_pkt, base_pkt); $display("GET mb_item %0d: \n pkt: %0d", get_pkt, get_pkt.pkt); $display("GET: current mailbox item: head-> %0d, trail-> %0d", get_pkt.pkt.head, get_pkt.pkt.trail); end