Structuring your FPGA design
process for success
In his class, Weyand " a principal systems engineer at Embedded Systems
Design, Inc. - describes how to use a well-defined and documented
VHDL-based FPGA design process that brakes up hardware development
process into seven phases - requirements definition, preliminary
design, detailed design, module level VHDL coding/simulation, top level
VHDL coding/simulation, synthesis, and implementation.
"In many hardware design organizations, the process for VHDL-based
FPGA design is poorly defined and often undocumented," he said.
"Individual designers tend to design FPGAs using their own methods that
are often inconsistent with those methods used by other designers
within the same organization. "
More often than not, FPGA designs are produced without the reviews
necessary to ensure critical risks are mitigated and without the
necessary documentation needed for integration and test. Managers and
technical leads, he said, also suffer because they have little
visibility into design progress and are unable to apply design
resources efficiently.
"The negative effects of a poorly defined and undocumented
VHDL-based FPGA design process are significant," said Weyand. "At the
start of an FPGA design project, the design process cannot be
efficiently tailored to eliminate unnecessary steps and emphasize
others. This often results in time wasted on unnecessary steps and
increased risk because more important steps aren't given enough
attention. "
After the FPGA design effort starts, serious design issues are often
discovered late in the design cycle when design changes have a
substantial cost and schedule impact. FPGA designs may not fit in the
targeted package, not meet the required timing, or consume too much
power.
The resolution of these issues, said Weyand, usually requires the
repetition of FPGA design process steps and sometimes even
modifications to board designs or system requirements. "When the FPGA
design is completed, the resulting documentation available for
integration and test is often limited and inconsistent," he said. "In
many cases the only useful FPGA documentation is comments provided
within the VHDL code. Other designers using the design are often forced
to 'reverse-engineer' the FPGA functionality from the VHDL code."
In addition to negative impacts to the current FPGA design, Wyand
said the lack of a structured design prevents the efficient reuse of
common VHDL modules by other FPGA designers. Common, reusable modules
are not identified and documented properly and so cannot be ported to
other designs. Also, the lack of well-defined process phases leaves
engineers and managers with no useful basis of estimation for future
FPGA design efforts.
He said there are several benefits of the well-defined and
documented VHDL-based FPGA design process desribed in his class.
"First, the process may be tailored to emphasize some phases and
deemphasize others resulting in increased efficiency and reduced risk,"
he said. "Second, it is well structured and includes design reviews
that force FPGA design issues to be discovered and addressed early in
the design cycle when the impact of design changes is minimized. Third,
it provides complete, accurate design documentation for FPGA
integration and test."
This VHDL-based FPGA design process also benefits future FPGA design
efforts within an organization. "Common, reusable VHDL modules are
identified and documented so they may be easily ported to other FPGA
designs," said Weyand. "Also, the well-defined and clearly delineated
process phases allow current design efforts to provide a useful basis
of estimation for future FPGA design efforts. Finally, less experienced
FPGA designers are given a proven and well-documented roadmap to
follow."
To sign up to attend the Embedded Systems Conference in Boston, go
to the ESC Registration Page.