Team Specman has been doing a great job supplying nifty tech tips and other useful information about using Specman. Recently, they sent us R&D types a request for new topics to cover. I quickly took them up on it and supplied a post about how to interactively debug when using the Specman Co-Verification Link. Joe asked if I would follow up to clarify the differences between CVL and ISX. These two things are slightly related, but there are many differences.
CVL provides a way to connect any C program to Specman using a network socket. Once the network connection is made, CVL provides the ability to call C functions from e and e methods from C. This makes CVL useful to establish connections to Specman in situations when the Specman C interface cannot be used. Examples include:
Incisive Software Extensions (ISX) has a small overlap with CVL. ISX contains a Specman adapter that connects e ports to a software program. For a review of ports go back to another post by Team Specman. Ports are the preferred method to connect a verification environment to the "thing to be verified". The beauty of Specman is the "thing to be verified" is cleanly separated from the verification environment using ports. The method port is one port type that provides the ability to call C functions from e and e methods from C in a similar way to CVL, but the overlap pretty much stops here. The ISX adapter provides much more than method and function calling and includes many more advantages (and I'm probably forgetting something):
Given all these advantages you might ask why I even mentioned the nifty tip related to CVL, good question. For some situations CVL is used as plumbing under ISX to provide memory access functionality between the verification environment and the target software program being verified. A simple case is a host-compiled program. Instead of using CVL directly, users can have all the features of ISX and the ISX plugin for ivb has an option to automatically generate code to use CVL as the underlying connection between e and C. The user doesn't even see this connection as they use ports directly to communicate with the C program, but when it comes time to debug they need some understanding of how Specman is connected to the C program and how to debug. This is where the tech tip becomes important. Of course, if you don't insert bugs like I do then you probably don't need to know as much about removing bugs..
Overall, ISX has greatly improved the original concept of CVL to make it more generic, more automated, and more powerful for any mixed hw/sw verification task. If you are using CVL it might be time to take a closer look at ISX.