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
Hi all,I am curious to inquiry, when will IUS59 be released? And how about its SystemVerilog improvement?Best regards,Davy
The next release will be IUS602 (IUS59 was skipped). IUS602 is scheduled for release in April. To go along with this thread, mailboxes will be supported as well as many other language constructs and further extensions of existing constructs. There will also be some class debugging features.Tim
Minor correction -- the next release, which is scheduled for April, will be IUS61 not IUS602 as I mistakingly stated.Tim
Hi tpylant,Will IUS 6.1 be released on time (April)? Because I have encounter some Verilog/SystemVerilog co-simulation internal error, I want to try the brand new one.Any information will be appreciated!Best regards,Davy
It just went into beta so it looks like it is on schedule for April release. A recent hotfix for IUS583 was also recently release that you might want to try as well. Tim
Me again:Thank you very much for the code examples, I'm trying to understand this code at the moment. You've helped me a lot.Best wishesSebastian