Abstract
There are many factors that influence the coding style used for any particular design. Some of these might be:
-
Ease-of-development: Given a particular algorithm described in “c” or a pseudo-language, how quickly can it be translated into VHDL? Some programming constructs, such as pointers, don’t readily translate into hardware and are not synthesizable. For these constructs, the designer must develop an alternate representation. Other constructs may be more easily translated. For example, a “struct” in “c” is easily represented as a RECORD in VHDL. Translating portions of an abstract description into VHDL may simplify the development of the behavioral description.
-
Understandability: It is often possible to represent complex data manipulations in a small amount of code. But less code is not always better. What appears obvious to one person may perplex someone else. There is often a trade-off between compactness and understandability.
-
Flexibility through synthesis: In general, a more abstract description will allow a behavioral synthesis tool greater freedom to explore the design space. If a behavioral description is written with a particular hardware implementation in mind, that may largely determine the resultant architecture. Of course, this might not be a bad thing.
-
Predictability through synthesis: This is the corollary to flexibility. If a particular hardware implementation is desired, it may be best to code in a manner that restricts the design space that can be explored.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Rights and permissions
Copyright information
© 1999 Springer Science+Business Media New York
About this chapter
Cite this chapter
Elliott, J.P. (1999). Coding For Behavioral Synthesis. In: Understanding Behavioral Synthesis. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-5059-4_13
Download citation
DOI: https://doi.org/10.1007/978-1-4615-5059-4_13
Publisher Name: Springer, Boston, MA
Print ISBN: 978-1-4613-7300-1
Online ISBN: 978-1-4615-5059-4
eBook Packages: Springer Book Archive