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
Jacek Hanke 12/5/2012 2:18:52 AM User Rank Blogger
Re: 3rd Party IPs
Oh yes, you're wright. You can always ask other engineers about their opinion, check previous customers, projects and so on, but still evaluation seems the best way to make verything work fast and effective.
"Of course there are still some more options how you can check the company"
What are the other options, in certain cases we cannot say goodbye like that because of various deadlines and lack of alternatives. In such situation, the best way is start the evaluation and procuring process well in advance.
Jacek Hanke 11/27/2012 7:17:59 AM User Rank Blogger
Re: 3rd Party IPs
I cannot imagine that trusted 3rd party IP Core vendor can deny to let sb to evaluate IP Core before buying. Of course there are still some more options how you can check the company. But in my opinion, if vendor doesn't allow to evaluate IP Core, just say "good buy" and go to another one to check if his IP Core is tailored to your needs. Come on, every IP Core is different, every case is different, so if somebody contact me and ask about IP Core, I ask his requirements and then I'm ready to prepare an offer and of course evaluation files.
Jacek, we used to raise the request, but most of the time it may get denied. In such cases we used to collect user cases, references and experience through the IP provider. In certain cases its more enough to address our concerns.
Jacek Hanke 11/23/2012 2:40:02 AM User Rank Blogger
Re: 3rd Party IPs
Thanks for it. I thought this should be a standard procesure to evaluate/test before buying, but reality shows that sometimes even that can be a problem. That's why better be aware of the vendors who limit you the possibility of evaluation.
"As I mentioned trusted 3rd party IP Core provider should let you evaluate the IP Core before buying."
Jacek, agrees with you. The customer rights have to be protected and they have the right to test/verify it before going for an outright purchase. Because of this we may not be able to go further with it.
Jacek Hanke 11/16/2012 7:29:40 AM User Rank Blogger
Re: Sometimes it is handy to run your code in an instruction set simulator
Of course. Let me answer by referring to my latest blog. You can always use DoCD (DCD's on Chip Debugger). Here's an example for 8051 IP Cores http://www.dcd.pl/page/154/docd/ but you can use DoCD also for 80390, pic, 6811... You don't need to tie up with any modelsim license and you can run the code in the DoCD simulator and check all the details. It's totally free for evaluation, you just need to download it from our website.
Sometimes it is handy to run your code in an instruction set simulator
Sometimes it is handy to run your code in an instruction set simulator -- Do any of these support the DCD core timings (so one does not have to tie up a modelsim liscense to check SW)
Jacek Hanke 11/16/2012 2:40:34 AM User Rank Blogger
Re: 3rd Party IPs
That's why I wanted to start this small series about IP Cores. As I mentioned trusted 3rd party IP Core provider should let you evaluate the IP Core before buying. I wrote these words basing on my company's, Digital Core Design, experience. So every customer who comes to our office and says that he'll need an IP Core, can get evaluation package. As a standard we offer two kinds of it:
1. simulation model - which are the simulation tests prepared for eg ModelSim
2. hardware model - which is the netlist prepared for desired FPGA
As I said, these are the basic options, cause every time we discuss with friends what kind of IP Core they need, we're designing all in accordance to their needs.
The same story with hardware debugging - but it's the topic for other conversation :-)
"In my previous column, we discussed whether or not it was possible to evaluate an IP core before purchasing a license to use it."
Jack, in my experience none of the vendors will allow to evaluate the IP core before purchasing. We are using some of Soft core IPs from third party vendors and we requested for an evaluation. They didn't allow for that, instead they had provided all the supporting documents. But I know that for Hard Core IPs they normally allow for an evaluation under the strict vigilance in their own environments.
In order to implement the components of a new chip design, any IP core should be delivered with everything needed to design, test, and validate that core in the target product.
To save this item to your list of favorite All Programmable Planet content so you can find it later in your Profile page, click the "Save It" button next to the item.
If you found this interesting or useful, please use the links to the services below to share it with other readers. You will need a free account with each service to share an item via that service.