|
|
|
|
|
PCI Diagnostica Frequently Asked Questions and Answers
Q. The name of the tool is Diagnostica, is it a general purpose diagnostic software for PCI cards. Can I use this software to fix the problem I have on my PC with this new PCI card I bought? A. No, this is not a diagnostic software for general personal computer users. It is a test and verification tool for hardware design engineers to help debug their PCI design. Q. Do you have versions of this software that run on NT or Linux operating system? My PCI card is targeted for NT or Linux platform, how does this tool help me since it runs on a Windows 95, 98 or ME system? A. Current release only supports Windows 95, 98 and ME. However this tool still helps you even if your card is targeted for other operating systems. Hardware verification and tests are done on an isolated system to test the correctness of the functionality of the PCI device under test, which is really operating system independent. Once the functional correctness is verified, the integration and device driver authoring for other operating systems goes with further ease. Q. I can read and write to the PCI registers by writing C code directly. Why do I need Diagnostica? A. Actually direct read and writing could be done only to I/O ports. The memory mapped registers are assigned physical address, whereas the memory address you see in a C code is the virtual address. They are not the same if you are running under some high level operating systems. High level operating systems further prohibit access to I/O ports. With Diagnostica, your are able to access both I/O port mapped and memory mapped registers directly. Q. I can use DOS to access the hardware registers without high level operating system. Why would I use Diagnostica? A. Diagnostica runs under Windows and presents a very intuitive point and click user interface which increases your productivity. Many users who had used DOS to debug their designs before have experienced their test time reduced by half by using Diagnostica. Diagnostica will benefit you with increased productivity. Q. I am trying to test DMA operation. When I allocate a buffer, all I get is logical address in a C code I wrote. But my hardware registers need physical address of the buffer. How do I do it? A. Diagnostica makes it all easy. The physical address of any buffers that is allocated via Diagnostica is directly visible to you. You can write that address to any register on your PCI device without wasting time to figure out the physical address yourself. Q. I can write my test code in device driver with C to test my hardware, Why do I need Diagnostica? A. Testing hardware function requires change of algorithm or code logic frequently. The device drivers written that way to test needs you to compile your code every time you make a change. Furthermore you need to reboot the system to load the updated device driver. Diagnostica uses Tcl to design your test algorithm and code logic. As a result it allows you to change test algorithm or code logic on the fly. No more lost time in compiling, no more lost time in rebooting the system. Which results in tremendous time savings and increased productivity. Q. How do I test the hardware upon receipt of an interrupt? A. Diagnostica will invoke a Tcl code of your choice upon receipt of an interrupt from your PCI device. In this code you can do all the necessary things that you might need to do to the hardware registers to handle the interrupt. You do not need to compile any code and do not need to reboot system to install the interrupt handler. You can modify content of the interrupt handler written in Tcl on the fly and change the interrupt handler assignment on the fly. Q. Can I take the codes I wrote in Tcl and turn them into device driver software? A. No, Diagnostica do not support this capability at this time. However, it is fairly easy to convert Tcl code to equivalent C code manually, since both are high level language with similar constructs. Q. What is Tcl? How long does it take for me to learn Tcl? A. Tcl is an acronym for Tool Command Language. It is an interpretive language and very widely used in EDA tools. This language is very powerful and allows you to incorporate complex tests very easily. Learning and mastering Tcl is fairly simple since Tcl uses a very limited number of constructs and syntactic rules. There are many books that are available in the market on Tcl and tons of free web resources on Tcl are available on the Internet. Additionally, the users manual distributed with Diagnostica includes a fair amount of details on Tcl. Q. Why do I have to use Tcl? Doesn't C, C++ that I am used to, give me same capabilities? A. Yes, they do give same capabilities but, Tcl will provide you with much higher productivity and allows you to provide changes quickly. Tcl syntax is similar to C or C++. Read what the author of the Tcl language is saying about this in a paper published in IEEE Computer magazine by clicking here, http://home.pacbell.net/ouster/scripting.html. |
|
Send mail to webmaster@iss-us.com with questions or comments about
this web site. |
|