Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
Discover New Applications For Low-Cost Solutions Discover ... - Xilinx
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4. Support for <strong>Xilinx</strong><br />
V2PDK Software<br />
and Examples<br />
As a result, it is easily possible to simultaneously<br />
observe and modify the internal<br />
values of the CPU registers, as well as those<br />
of the hardware device registers with which<br />
the processor is communicating. This ability<br />
to freeze and synchronize the hardware<br />
and software domains offers the ultimate in<br />
control and observability – and it is invaluable<br />
in efficiently helping debug complex<br />
and intricate transactions.<br />
Virtex-II Pro Enhancements<br />
In supporting <strong>Xilinx</strong> Virtex-II Pro FPGAs,<br />
the Seamless tool is able to largely leverage<br />
off its existing support for the IBM<br />
PowerPC 405 core. However, subtle differences<br />
in Virtex-II Pro devices have required<br />
customized enhancements to the IBM 405<br />
Processor Support Package (PSP) and the<br />
Seamless CVE product to provide you with<br />
an efficient and easy out-of-the-box experience,<br />
as shown in Figure 4.<br />
First, the PowerPC 405 ISS model from<br />
Mentor Graphics had to be matched with<br />
the <strong>Xilinx</strong> version of the PowerPC 405 core,<br />
which resolved some of the pin differences.<br />
Additionally, Virtex-II Pro devices have<br />
dedicated on-chip memory (OCM) controller<br />
circuitry that, in the actual silicon, is<br />
tied to the OCM port of the PowerPC 405<br />
core. The same connection had to be<br />
stitched in the Seamless environment to<br />
the PowerPC 405 ISS.<br />
<strong>Xilinx</strong> embedded memory blocks (block<br />
RAMs) also had to be specially coded to be<br />
BRAM BRAM<br />
OCM<br />
Control<br />
405<br />
Core<br />
Test<br />
OCM<br />
BRAM BRAM<br />
3. Seamless-Ready<br />
Block RAM Memories<br />
Figure 4 – Customized Seamless enhancements to support Virtex-II Pro devices<br />
1. Cycle-Accurate<br />
PPC405 ISS +<br />
Bus Model<br />
2. OCM Controller<br />
Support<br />
compatible with the Seamless coherent<br />
memory server. This was accomplished by<br />
inserting special hooks into the HDL<br />
memory models for the block RAMs.<br />
Finally, a conscious attempt was made to<br />
ease the learning curve for engineers already<br />
familiar with Virtex-II Pro Development<br />
Kit (V2PDK) flows. Three of the reference<br />
designs included in V2PDK were ported to<br />
the Seamless environment. This allows you<br />
to not only get a jump-start in understanding<br />
co-verification flows, but also the ability<br />
to compare and contrast co-verification<br />
with pure logic simulation.<br />
All these enhancements are rolled into a<br />
customized PSP that represents the final<br />
integrated module, which can be used with<br />
the standard Seamless kernel.<br />
In addition, a special <strong>Xilinx</strong>-only version<br />
of the Seamless CVE product has been introduced.<br />
This bundle includes the Seamless<br />
kernel and the PSP, and it is designed specifically<br />
for the Virtex-II Pro environment.<br />
To prepare a design to run in the<br />
Seamless co-verification environment, the<br />
following steps must be taken:<br />
1. Instantiate the Seamless PowerPC<br />
bus interface models into your<br />
Verilog/VHDL design (replacing<br />
the PPC Swift model).<br />
2. Provide the Seamless tool with access<br />
to the “Seamless-ready” block RAM<br />
memory models. These models mirror<br />
the HDL models but are enhanced<br />
with API hooks, which allows them<br />
to communicate with the coherent<br />
memory server.<br />
3. Input the systems memory map into<br />
the Seamless graphical user interface<br />
and define startup options for the<br />
hardware simulator.<br />
4. Load the compiled software executable<br />
(.elf with -gdwarf) into the software<br />
debugger and start the session.<br />
Programmable Logic<br />
Complements Co-Verification<br />
The chances for first-time success with<br />
your design are greatly increased by early<br />
integration and testing in the virtual prototype<br />
domain.<br />
However, there are classes of problems<br />
involving behavior that can only be captured<br />
when the processor runs at full speed.<br />
In this regard, platform FPGAs serve as a<br />
perfect complement to virtual platform<br />
debug techniques. Designs can be downloaded<br />
into FPGA silicon for validation at<br />
full system speeds.<br />
If problems escaped earlier attention,<br />
you can debug in-system with the <strong>Xilinx</strong><br />
ChipScope Pro interactive logic analyzer,<br />
or you can go back to the co-verification<br />
environment for a more controlled analysis.<br />
Design errors can be fixed and reimplemented<br />
in silicon without incurring<br />
the huge delays and costly mask re-spins<br />
common with ASIC design flows.<br />
Conclusion<br />
The current generation of <strong>Xilinx</strong> Platform<br />
FPGAs with powerful RISC processors<br />
and multimillion-gate capacities requires<br />
powerful and matching co-verification<br />
methodologies. With the availability of<br />
Mentor Graphics’ Seamless CVE, you now<br />
have access to an ASIC-strength, best-inclass<br />
debug solution.<br />
Seamless CVE provides an efficient and<br />
easy-to-use methodology that can integrate,<br />
verify, and debug hardware and software<br />
interactions very early in the design cycle –<br />
thus preserving and enhancing the critical<br />
time-to-market advantage of FPGAs. To<br />
learn more about Seamless co-verification,<br />
go to www.mentor.com/seamless/fpga/.<br />
Fall 2003 Xcell Journal 17