vhdl '92: the new features of the vhdl hardware description language: jean-michel bergé, alain...

2
Book reviews ter science and engineering graduates. At a more specific level the insis- tence on the details of the m4 macro- processor overloads the text, somewhat shifting the emphasis away from the concepts that are being explained to the tool itself. The text also makes apparent the difficulties of trying to base an introductory course on an architecture with quite a number of non-standard features such as is the case with SPARC. Such a choice makes it difficult to convey general principles, as I believe is desirable. An example of the kind of difficulties that arise is the early intro- duction of pipelining in Chapter 2 of the book, when the basics of proces- sor organization are just being intro- duced. The text is relatively free from errors, although the style could be improved in places. On balance I would hesitate to recommend the book as the basic textbook for a course on computer architecture or organization. It can, however, be a useful reference for someone inter- ested in learning about SPARC, or as a source of information for an instructor referring to SPARC in his/her course. Ant6nio de Brito Ferrari Professor of Computer Engineering Universidade de A veiro, Portugal VHDL "92: The New Features of the VHDL Hardware Description Language Jean-Michel Berge, Alain Fonkoua, Serge Maginot and Jacques Rouillard Kluwer Academic Publishers, Dortrecht, The Netherlands (1993) ISBN 0 7923 9356 2, Dfl 180.00, £65.50, pp214 Actually, strictly speaking, it is VHDL '93, not VHDL '92. To explain further, it's probably a good idea to go into some background. The VHSIC (Very High Speed Inte- grated Circuit) Hardware Description Language (VHDL) was first approved as the IEEE1076 standard in 1987 (hence VHDL '87). Since then it has achieved widespread acceptance as a tool for digital circuit design. IEEE by- laws dictate that IEEE standards should be reballoted every five years, provid- ing an opportunity to clarify and improve the original standard. Hence a new standard, incorporating user requested changes and new features, was produced for 1992. Although this new standard was somewhat contro- versial in places, it duly passed the necessary IEEE balloting process in 1992. However, IEEE regulations also oblige the designers of a standard to respond to every negative vote in a ballot. In the process of answering negative votes, further modifications were made to the language. These changes then required a further approval vote which was successfully completed in 1993, hence the stan- dard is officially IEEE 1076-1993 (VHDL '93). This book aims to describe and explain the changes made to VHDL '87, to produce the new VHDL '93 standard. The book does appear to be up to date with the VHDL '93 Language Reference Manual (LRM), so it is a bit of a mystery why it insists on referring throughout to VHDL '92. The book consists of an introduction to the standardization process followed by a description of the language changes, grouped under six main chapter headings. The introduction describes in some detail the aims and motivations of the restandardization process. It explains the concerns of designers who have worked with VHDL '87 and the appli- cation domains where improvement was deemed necessary. It carefully explains why certain domains, e.g. simulatio~ efficiency, were addressed and others, e.g. back-annotation, were not. Each of the domains listed contains pointers to the relevant language changes described in the rest of the book. So if you have a particular interest in, for example, VHDL synth- esis, there are pointers to the chapters on new predefined attributes and operators, changes to the annotation of code and the generalization of labels. This feature makes it easier to navigate around the book and assess the implications of the various language modifications. The introduc- tion also explains the formal process of restandardization and the guide- lines which were established in order to maintain consistency with VHDL '87. The rest of the book describes changes to the language under the general headings of new structuring mechanisms; new interfacing mechanisms; new predefined opera- tors, functions and attributes; slight enhancements; language simplifica- tions and clarifications. Each language change or new language feature is dealt with in a methodical way. The relevant VHDL '93 LRM reference is given, followed by some background describing the original VHDL '87 problem. The change or feature is then described in full, including any impli- cations, e.g. effects on determinism. Examples of using the feature or change are then given. These exam- ples usually consist of VHDL '93 code giving a practical demonstration of how to use the feature. Performance implications, potential traps and useful language tricks are also considered for some examples. The coverage of the language changes is not comprehen- sive, but the changes of most rele- vance to both hardware and tool designers do seem to be included. This is a book for the hardware designer who is comfortable with VHDL '87 and who wants to investi- gate the possibilities of VHDL '93 and the rationale behind the changes and 106 Microprocessors and Microsystems Volume 19 Number 2 March 1995

Upload: brian-dickinson

Post on 21-Jun-2016

213 views

Category:

Documents


1 download

TRANSCRIPT

Book reviews

ter science and engineering graduates. At a more specific level the insis-

tence on the details of the m4 macro- processor overloads the text, somewhat shifting the emphasis away from the concepts that are being explained to the tool itself. The text also makes apparent the difficulties of trying to base an introductory course on an architecture with quite a number of non-standard features such as is the case with SPARC. Such a

choice makes it difficult to convey general principles, as I believe is desirable. An example of the kind of difficulties that arise is the early intro- duction of pipelining in Chapter 2 of the book, when the basics of proces- sor organization are just being intro- duced.

The text is relatively free from errors, although the style could be improved in places. On balance I would hesitate to recommend the

book as the basic textbook for a course on computer architecture or organization. It can, however, be a useful reference for someone inter- ested in learning about SPARC, or as a source of information for an instructor referring to SPARC in his/her course.

Ant6nio de Brito Ferrari Professor of Computer Engineering

Universidade de A veiro, Portugal

VHDL "92: The New Features of the VHDL Hardware Description Language

Jean-Michel Berge, Alain Fonkoua, Serge Maginot and Jacques Rouillard Kluwer Academic Publishers, Dortrecht, The Netherlands (1993) ISBN 0 7923 9356 2, Dfl 180.00, £65.50, pp214

Actually, strictly speaking, it is VHDL '93, not VHDL '92. To explain further, it's probably a good idea to go into some background.

The VHSIC (Very High Speed Inte- grated Circuit) Hardware Description Language (VHDL) was first approved as the IEEE1076 standard in 1987 (hence VHDL '87). Since then it has achieved widespread acceptance as a tool for digital circuit design. IEEE by- laws dictate that IEEE standards should be reballoted every five years, provid- ing an opportunity to clarify and improve the original standard. Hence a new standard, incorporating user requested changes and new features, was produced for 1992. Although this new standard was somewhat contro- versial in places, it duly passed the necessary IEEE balloting process in 1992. However, IEEE regulations also oblige the designers of a standard to respond to every negative vote in a ballot. In the process of answering negative votes, further modifications were made to the language. These changes then required a further approval vote which was successfully completed in 1993, hence the stan- dard is officially IEEE 1076-1993 (VHDL '93).

This book aims to describe and explain the changes made to VHDL '87, to produce the new VHDL '93 standard. The book does appear to be up to date with the VHDL '93 Language Reference Manual (LRM), so it is a bit of a mystery why it insists on referring throughout to VHDL '92.

The book consists of an introduction to the standardization process followed by a description of the language changes, grouped under six main chapter headings.

The introduction describes in some detail the aims and motivations of the restandardization process. It explains the concerns of designers who have worked with VHDL '87 and the appli- cation domains where improvement was deemed necessary. It carefully explains why certain domains, e.g. simulatio~ efficiency, were addressed and others, e.g. back-annotation, were not. Each of the domains listed contains pointers to the relevant language changes described in the rest of the book. So if you have a particular interest in, for example, VHDL synth- esis, there are pointers to the chapters on new predefined attributes and operators, changes to the annotation of code and the generalization of labels. This feature makes it easier to navigate around the book and assess the implications of the various language modifications. The introduc- tion also explains the formal process

of restandardization and the guide- lines which were established in order to maintain consistency with VHDL '87.

The rest of the book describes changes to the language under the general headings of new structuring mechanisms; new interfacing mechanisms; new predefined opera- tors, functions and attributes; slight enhancements; language simplifica- tions and clarifications. Each language change or new language feature is dealt with in a methodical way. The relevant VHDL '93 LRM reference is given, followed by some background describing the original VHDL '87 problem. The change or feature is then described in full, including any impli- cations, e.g. effects on determinism. Examples of using the feature or change are then given. These exam- ples usually consist of VHDL '93 code giving a practical demonstration of how to use the feature. Performance implications, potential traps and useful language tricks are also considered for some examples. The coverage of the language changes is not comprehen- sive, but the changes of most rele- vance to both hardware and tool designers do seem to be included.

This is a book for the hardware designer who is comfortable with VHDL '87 and who wants to investi- gate the possibilities of VHDL '93 and the rationale behind the changes and

106 Microprocessors and Microsystems Volume 19 Number 2 March 1995

_Book reviews

new features. This book is not an introduction to the language or its use. Discussion of some of the more complicated language changes assumes the reader has a fair degree of familiarity with VHDL. In fact, it is possible to learn almost as much about VHDL '87, its problems and discrepancies, as it is about VHDL '93 from this book.

The methodical treatment of the language changes and new features is excellent. The coding examples are solid and non-trivial and the book doesn't shy away from pointing out potential problems with the new language constructs.

A note of caution, however; the examples used to illustrate the new features do, unfortunately, contain some typos, one or two examples of bad coding practice and some outright

illegal code. It is always regrettable to see such errors in a textbook but at least in this case the target audience should be able to spot most of the problems.

My one complaint about the style of the book is that the illustrations are cramped and indistinct at times. The book appears to have been designed with a computer package, and the designer has succumbed to the temp- tation of using some 'clip-art' illustra- tion styles at times which are not very clear. Perhaps the designer should have stuck to plainer, simpler diagrams.

As for price, I personally think £65.50 is a bit steep for such a text- book, but a quick survey reveals that although the book is more expensive than the average general purpose VHDL hardback, it is comparable in

price to other specific interest VHDL books. In comparison, the full IEEE VHDL '93 Language Reference Manual (LRM) can be obtained for about £40, but then few people can learn VHDL from the LRM.

In summary, the beauty of this book is that it summarizes the major chan- ges to VHDL in one place, in relatively plain English with enough background material to be suitable as a designer's reference book. However, it is not a complete guide to all the language changes, assumes the reader is fairly familiar with VHDL '87 and is let down by minor errors in the examples and by poor quality illustrations.

Brian Dickinson VHDL UK

(the UK VHDL user group)

Multiprocessing: Trade-Offs in Computation and Communication

Kluwer Academic Publishers, Dordrecht, The Netherlands (1993) ISBN 0 7923 9370 8, Dfl 180.00, £65.50, pp 224

This book covers an increasingly important area: that of the exploitation of the growing number of systems which use the replication of many processors over high performance networks to increase systems perfor- mance. Whether these are super- computers or workstation clusters, that exploitation requires the careful balance between computation and communication in order to obtain scalable speedup. This balance is important to algorithm designers and, I would guess, that this is primarily where this book is aimed.

The computational complexity of an algorithm will in general be a function of the number of processors, with an upper bound on the number required giving a lower bound on the number of computational steps, for example

Vijay K Naik

N x N matrix multiplication can be achieved in O(1) multiplications and O(Iog N) additions on N ~ processors. The number of communication steps, however, is bounded by the char- acteristics of the network used to connect the processors, its topology, bandwidth and scalability properties.

This book presents an analysis of these trade-offs. This analysis is rather theoretical and in my opinion uses unrealistic models. It is based on the decomposition of data dependencies in an algorithm into directed acyclic graphs (dags) and the analysis of these. The four models are based on count- ing over these dags. These are proper- ties of abstract algorithms and not of the implementation of the algorithm on a particular model of a parallel machine, where communication has characteristics such as start up time and delivery time, and where the latter may very well depend on the locality of message traffic or matching of dag to network topology. The book analy-

ses various dag classes, such as diamond and rectangular dags and three and higher dimensional dags. These results are then used to analyse various algorithms for factorizing both dense and sparse matrices.

My comments on this book are that firstly the book has a limited market; this is partly because of the book's price, which at £65.50 cannot be considered a student text (this is 30p per page!) The book is also rather dated in its brief discussion of archi- tectural models. It also makes great play of the lack of prior work in this field, but fails to cite significant early works on this subject. In short, I find the book of limited interest, overpriced and somewhat naive in terms of the relevance of the work to practising algorithm designers for parallel and distributed computers, who can be the book's only target.

Chris Jesshope University of Surrey, UK

Microprocessors and Microsystems Volume 19 Number 2 March 1995 107