EDA Tutorial:Synthesis and Emulation on FPGA
Synthesis and Emulation on FPGA
The limitations of verification by functional digital simulation are quite obvious if the sound generation is involved. One cannot deduce from the traces 1), what a melody tone ‘sounds’ like if the tone’s pitch is comfortable and the sound’s duration long enough. Also the ergonomics of button operation, the time constants used, and the run off times may be badly evaluated from traces on a screen. From this it is very important to synthesize this circuit on FPGA and emulate it there. As a prototype, all functions may be operated in real time several times and the reactions may be observed in many repetitions, something which is impossible in digital simulation because of the long run times.
For educational purposes FPGA emulations have high value, because each student is able to verify his own design by reprogramming the FPGA. The result is easy to inspect for the instructor. In the practice of the courses we have the experience that even if all designs passes digital simulation, every second design shows up errors or specification deviations in the FPGA emulation. Everybody may deduce his own consequences from this experience for the verification performance of larger, more complex designs.
Synthesis was carried out with LEONARDO (Men- tor Graphics); fig. 26.9 shows a screen display of the compile window.
Synthesis generates the netlists (EDIF) for the tar- get technology, which may be re-transformed to schematics. Figure 26.10 shows a section with the dice counter FSM, and how it is generated by synthesis of the VHDL code. There are again three flip flops used, but with more complex post decoding. This may result from a certain code for the counter having been pre-defined (binary, gray code, etc.) during the set up of the synthesis.
Some sections from the netlist generated by the synthesis program are shown in list 26.4.
The netlist contains several calls of a LUT function 1) which reflects the internal structure of the ALTERA FLEX 10K FPGA architecture used. The schematics are not directly readable in this form. The re-transformed schematics is again generated from these LUT functions. To allow a comparison it is mapped onto generic gates as AND, OR and EXOR cells as well as D flip flops. Table 26.2 shows design statistics for the target technology ALTERA FLEX 10K.
It is interesting that the design now needs only 158 elements, 45 of which are d flip flops. The number does not tell us very much, of more interest is the statement that 117 logic cells, which are the primary resources of the FPGA, are used. The smallest FPGA from the FLEX 10K series, the 10K10 with 576 logic elements 1), will be sufficient for this design. A synthesis on other FPGA families (as there are MAX 7000 or even the older version MAX 5000) may also be successful.
After synthesis a timing analysis is reported, see list 26.5, showing a ‘critical path’ of 80 nsec. The dice may be clocked at up to 10 MHz, so 32 kHz will work without any problem.
Synthesis and consequent emulation of the design on FPGA improves the trust in the design and is inevitable for circuits with ergonomic interfaces and long timing chains. Misinterpretation of specification and inconsistencies may be detected and eliminated early, the validated VHDL code may then be taken as a ‘golden code’ for different target technologies, which now have to be checked only for timing behaviour.
Comments
Post a Comment