Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx
Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx
Design Challenges: Avoiding the Pitfalls, winning the game - Xilinx
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
The second idea is to have <strong>the</strong> hardware<br />
team document <strong>the</strong>ir design early and<br />
often. As <strong>the</strong> software team cannot truly<br />
test until <strong>the</strong>y have target hardware, <strong>the</strong>y<br />
must rely heavily on <strong>the</strong> documentation<br />
supplied by <strong>the</strong> hardware team. It is critical<br />
that <strong>the</strong> software team receives complete<br />
documentation – and that <strong>the</strong> documentation<br />
is kept up to date. The hardware team<br />
must also consult with <strong>the</strong> software team<br />
before making design changes. Although a<br />
change may seem trivial from a hardware<br />
perspective, it could result in an extensive<br />
software change, particularly in <strong>the</strong> latter<br />
stages of <strong>the</strong> project.<br />
Finally, <strong>the</strong> software team must have a<br />
stable target platform. This does not mean a<br />
perfect, bug-free platform but ra<strong>the</strong>r a consistent,<br />
known platform. It is important that<br />
<strong>the</strong> hardware team relay any and all known<br />
board/logic issues to <strong>the</strong> software team. This<br />
will prevent <strong>the</strong> software team from wasting<br />
time chasing down a known problem.<br />
Happily Ever After ...<br />
Specifications may fluctuate. Timelines<br />
may change. Management may have<br />
pointy hair. Many technical and operational<br />
challenges exist in every project, but<br />
nothing jeopardizes a project or brings<br />
more stress to a design engineer than when<br />
hardware and software are integrated. The<br />
challenge is to plan and design for that<br />
event from <strong>the</strong> beginning.<br />
There is no magic formula for a smooth<br />
hardware/software integration plan.<br />
However, <strong>the</strong>re should be a plan and an<br />
understanding of what <strong>the</strong> o<strong>the</strong>r guy is<br />
doing – or is going to do. Having this<br />
understanding and actually talking with<br />
your hardware or software counterpart will<br />
make integration a lot less painful. A few<br />
sacrifices now will be rewarded in <strong>the</strong> end.<br />
Although <strong>the</strong> software team may not<br />
have planned on writing test code for <strong>the</strong><br />
hardware team, burning a few extra cycles<br />
to write it will allow both teams to detect<br />
and correct problems early. This – combined<br />
with a good integration/test plan,<br />
well-documented hardware (including<br />
unintended design features), and a stable<br />
hardware platform – will go a long way in<br />
making integration easier.<br />
V I E W P O I N T<br />
Third Quarter 2005 Xcell Journal 9