Computer Laboratory

ECAD and Architecture Practical Classes

Synthesis

You should now be able to compile the project and upload it to the tPad as follows:

Compilation

Select Processing | Start Compilation to compile the project (alternatively, press Ctrl + L). If asked to save toplevel.sv before continuing, click Yes. During compilation, there will almost certainly be warnings appearing at the bottom of the screen. You should always read these through carefully since they can sometimes help you find bugs in your project much faster than waiting for them to manifest. However, due to the unfortunate design of the tools, most of the warnings will be of no consequence and can be safely ignored.

Timing Analysis

A hardware clock is a signal (square wave) generated by an analogue oscillator. The synthesis tools can infer which wires in your design, such as CLOCK_50, will carry a clock signal based on their usage in the HDL code. Each combinational path between two registers has a maximum update latency; for each clock wire, the longest combinational path between the registers it controls dictates the maximum frequency of the oscillator that may be used to drive it.

Select the Compilation Report tab and expand TimeQuest Timing Analyzer. Expand the first two models and check the Fmax Summary; frequencies above 50MHz indicate it is safe to use the 50MHz oscillator on the board, as defined in the pin assignments you imported. Each model accounts for different latencies due to temperature (0C/85C) and manufacturing (Slow/Fast) variations.

Timing analysis is improved using a Synopsys Design Constraints file to describe the oscillator(s) driving the wires used as clocks in your design. This allows the synthesis tools to generate an error if the oscillator frequency exceeds the corresponding Fmax.

Programming

Next, ensure your tPad is connected to the power supply and turn it on. Ensure SW19 (to the left of the row of switches) is set to RUN. This prevents accidental programming of the flash chip (a separate process to what follows).

Using the USB socket labelled BLASTER, connect the board to the computer.

Select Tools | Programmer, and at the top make sure USB-Blaster ... appears next to Hardware Setup.... If not, click on Hardware Setup..., double click USB-Blaster ... in the list box and then click Close.

In the list box, you should see the File toplevel.sof. This is the file that you are going to upload to the FPGA. If it is not there, click Add File... and select it from the dialogue box that opens. Click Start to program the board. After a few seconds you should see the LEDs on the board flashing.

Previous  |  Contents  |  Next