Xilinx UG129 Answering Machine User Manual


 
PicoBlaze 8-bit Embedded Microcontroller www.xilinx.com 85
UG129 (v1.1.2) June 24, 2008
Turbocharging Simulation using FPGAs!
R
Turbocharging Simulation using FPGAs!
Hardware simulators track results with picosecond or nanosecond resolution. In contrast,
the PicoBlaze microcontroller is often employed in applications that are less time critical or
deliberately slow. For example, a real-time clock is impractical to simulate using a
hardware or software simulator. Even UART-based communication is desperately slow
relative to a 50 MHz system clock. Likewise, VHDL and Verilog simulation requires
accurate stimulus to drive the application.
In test cases, the solution is to simply use the FPGA hardware directly as the testing and
debugging medium. While in-system “simulation” is not a replacement for worst-case
timing analysis or code-coverage testing, it is possible to recompile a small design in less
than a minute and make iterative changes to code and hardware. Usign the download
interface described in “Standard Configuration with UART or JTAG Programming
Interface” in Chapter 7, rapid code changes can be quickly downloaded into the FPGA
without recompiling the FPGA hardware design. Likewise, testing happens in the actual
environment, along with the other support circuitry, which reduces the burden to create
detailed and accurate stimulus models. For example, UART interaction can be tested using
the HyperTerminal program on the PC, not just simulated using a VHDL model.
Furthermore, the PicoBlaze microcontroller itself is ideal for an internal test pattern
generator, either to test another PicoBlaze core or to test integrated FPGA logic. The
PicoBlaze microcontroller can output a test vector, calculate the result expected back from
the FPGA, read the actual value from the FPGA, and verify that the actual and expected
values match.