We can regret this transformation of the digital design process or we can welcome the change and seek to exploit it. So, what can we learn from computer science? The most significant change in computer science teaching in the last 20 years has been the evolution in computing languages. In 1980, computer science students would have been taught FORTRAN IV and possibly Lisp. Today students learn Java and C++. It is said that real programmers can write FORTRAN in any language! This is true, but good programmers can use the expressive power available in C++ to write shorter programs that achieve the same task. The key here is abstraction and management of complexity. It is relatively easy to map a FORTRAN program into assembler; it is almost impossible to do the same with a C++ program. It is not just the mainstream programming languages that have changed. Software management tools have made it easier for teams to develop programs even simple tools such as makefiles allow programming tasks to be shared. Version control systems (RCS, CVS) allow changes to be tracked. C++ has vast libraries of functions that can easily be used to build sophisticated applications. Scripting languages (e.g. Perl) allow systems to be built from small components. Perhaps the most significant advance has been in the development of formal methods such as
model checking. It is practically impossible to test for every combination of data;
formal methods can be used to validate a specification against a final implementation. By analogy, digital hardware design, in the form of RTL synthesis, is still in the FORTRAN era. Software engineers no longer care exactly which machine instructions are executed, but digital hardware designers are obsessed with knowing exactly what flip-flops are created. IP reuse is talked about but seldom done. Ironically, many engineers are forced to learn Perl in order to make the EDA tools work. And formal methods are not mentioned in polite company! This situation cannot continue. There is a design gap. A consumer integrated circuit might remain in production for a few weeks, but might have taken several hundred man years to design.
The current response of integrated circuit manufacturers is to export design to low
wage economies, such as India and China. Thus the cost is kept low by reducing the cost per engineer. An alternative model is to increase the productivity of each engineer. The lessons of computer science suggest a way to achieve that objective.
What are reference in Digital or books in digital design?
Reference Books for Digital System Design Advance Digital System Designing on FPGA (Field Programmable Gated Arrays) platforms are becoming critical part of business, these days. Most of the universities offered this course to their under-graduate students. Those who are doing this course or have plans to do in near future must refer to these books:
FundamenAdvance Digital Design with Verilog HDL - Michael D. Cilittetals of Digital
Logic with Verilog Verilog HDL - Samir Palintkar Design - Stephen Brown and Zvonko Vranesic
(Undergraduate Texts in Computer Science) David R. Brooks (Auth.) - Problem Solving With Fortran 90 - For Scientists and Engineers-Springer-Verlag New York (1997) PDF