| EDA: Protocol Analyzers |
|
|
|
| Written by Varun Aggarwal |
| Tuesday, 27 October 2009 18:38 |
|
BACKGROUND INFORMATION In today’s heavily Electronic world EDA(Electronic Design Automation) finds huge applications where every company is trying to automate its electronics design processes. In fact there many billion dollar companies like Cadence etc. which specialize in EDA tools. Implementing EDA is nothing but attempt to automate manual work with the help of softwares. Hence EDA tools are softwares just like Notepad and Paint but focusing some other specialized tasks. PROJECT IDEA Testing is a big challenge for all electronic companies today since it consumes too much time and because of inaccuracy of manual testing. Although we have lot of waveform viewers which provide run time values of various signals still this concept can be extended to graphical analysis of data. Protocol analyzer is one such solution which is still not explored to its full potential. So anyone interested in coding can take up this project which has huge market value and future prospects. PREREQUISITES AND EXPECTATIONS Graphical Protocol Analyzer will require sufficient knowledge of one programming language, say 'C/C++' but currently most EDA companies are operating with scripting languages like Perl or TCL/TK which are very easy to learn if you have basics of 'C'. We'll require graphical interface so it’s important to have language like JAVA or TK (with TCL) in your armory and then you can integrate the modules written for both parts. Since its a 'Electronic' industry project so some domain knowledge will be required. But computer/IT engineers need not study anything extra, just the curriculum concepts shall be sufficient. HOW TO START You can start with an easy protocol like I2C or I2S (Google these for technical details). Understand how these operate on input data (Test cases) and what it generates as output (usually *.VCD or *.CSV files). All these operations are done using hardware bearing the logics of protocol. (Don’t worry you'll able to find input files and expected output files from Google). Your job will be to write software to produce same output using protocol's logic for same input data. And to represent that output on graphical interface instead of dumping it in file.
|