In my previous column, we discussed whether or not it was possible to evaluate an IP core before purchasing a license to use it. An interesting discussion ensued, and this provided a good opportunity to share our experiences. Now, let's proceed with our "10 Commandments" and move on to consider Question #3 as follows:
No. 3: Can I get access to a hardware-assisted debugger?
Do you remember the discussion from a few weeks ago when we talked about modern System-on-Chip (SoC) devices and other solutions? As has often been said, the more complex the solution being designed, the more complications and questions that arise. The same story is true of IP cores...
Based on our previous discussions, we've made three initial steps in the area of IP selection from a third-party. By this point, our hypothetical (yet surprisingly good looking) customer that we are calling "Mr. Max" knows the deliverables and documentation he'll get for his project; he's run his evaluation, and he's decided to go for the IP core for his project.
Do you remember the television quiz show Who Wants To Be A Millionaire? Well, Mr. Max has now started to implement his IP blocks and... whoops... he needs to "phone a friend!" The problem is that today's SoC designs are facing the problem of inaccessibility with regard to important control and bus signals. This is because these signals often lay behind the physical pins of the device, thereby making traditional measurement instrumentation useless.
The best way to get around these limitations is to use on-chip debug tools for the verification and software debugging tasks. The other advantage of an on-chip debugger is its improved design productivity when provided as part of an integrated environment with a modern GUI (graphical user interface). Key elements that help to improve the design process and increase productivity are the ability to display/modify memory contents and processor/peripheral register windows, along with information tracing and the ability to "cross-probe" to see the related C/ASM source code.
This is why, if the well-dressed Mr Max is interested in licensing a third-party IP core, it's a good idea to ensure that the vendor can also supply him with the debugger. The ideal situation is to obtain the debugger together with the IP core -- all from one vendor.
The things to look for in a debugger are features like real-time and non-intrusive debug capability, thereby enabling both pre-silicon validation and post-silicon, on-chip software debugging -- all in one place. Moreover, modern debug software can work as a hardware debugger as well as a software simulator; some tasks can be validated at the software simulation level and -- following this step -- you can continue real-time debugging by uploading your code into the silicon. Furthermore, designers appreciate freedom of choice to choose their favorite C compilers or assemblers. Consider the following High Level Object files produced by C/ASM compiler tools like based on DCD's 8051 cores, for example:
- Extended OMF-51 produced by the Keil compiler
- OMF-51 produced by the Tasking compiler
- OMF-51 produced by the Franklin compiler
- Standard OMF-51 produced by some 8051 compilers
- Extended OMF-251 produced by the Keil compiler
- NOI format file produced by the SDCC-51 compiler
- Intel HEX-51 format produced by every 8051 compiler
- Intel HEX-386 format produced by every 80390 & 80251 compiler
- BIN format produced by every 8051 & 80390 & 80251 compiler
Next page >