Introduction 3
multiplication.) Note from Table 1 that FPGAs can have the equivalent of millions of
gates and tens of thousands of flip-flops.
Table 1 Comparing Xilinx CPLDs and FPGAs
Xilinx Part No. of Gates No. of I/Os No. of CLBs No. of Flip-flops Block RAM (bits)
CPLDs
9500 family 800 – 6,400 34 – 192 36 - 288
FPGAs
Spartan 5,000 – 40,000 77 – 224 100 – 784 360 – 2,016
Spartan II 15,000 – 200,000 86 – 284 96 – 1,176 642 – 5,556 16,384 – 57,344
Spartan IIE 23,000 – 600,000 182 – 514 384 – 3,456 2,082 – 15,366 32,768 – 294,912
Spartan 3 50,000 – 5,000,000 124 – 784 192 – 8,320 2,280 – 71,264 73,728 – 1,916,928
Spartan-3E 100,000 – 1,600,000 108 – 376 240 – 3,688 1,920 – 29,505 73,728 – 663,552
Virtex 57,906 – 1,124,022 180 – 512 384 – 6,144 2,076 – 26,112 32,768 – 131,072
Virtex E 71,693 – 4,074,387 176 – 804 384 – 16,224 1,888 – 66,504 65,536 – 851,968
Virtex-II 40,960 – 8,388,608 88 – 1,108 64 – 11,648 1,040 – 99,832 73,728 – 3,096,576
Modern Design of Digital Systems
The traditional way of designing digital circuits is to draw logic diagrams
containing SSI gates and MSI logic functions. However, by the late 1980s and early
1990s such a process was becoming problematic. How can you draw schematic diagrams
containing hundreds of thousands or millions of gates? As programmable logic devices
replaced TTL chips in new designs a new approach to digital design became necessary.
Computer-aided tools are essential to designing digital circuits today. What has become
clear over the last decade is that today’s digital engineer designs digital systems by
writing software! This is a major paradigm shift from the traditional method of designing
digital systems. Many of the traditional design methods that were important when using
TTL chips are less important when designing for programmable logic devices.
Today digital designers use hardware description languages (HDLs) to design
digital systems. The most widely used HDLs are VHDL and Verilog. Both of these
hardware description languages allow the user to design digital systems by writing a
program that describes the behavior of the digital circuit. The program can then be used
to both simulate the operation of the circuit and synthesize an actual implementation of
the circuit in a CPLD, an FPGA, or an application specific integrated circuit (ASIC).
Another recent trend is to design digital circuits using block diagrams or graphic
symbols that represent higher-level design constructs. These block diagrams can then be
compiled to produce Verilog or VHDL code. We will illustrate this method in this book.
We will use Active-HDL from Aldec for designing our digital circuits. This
integrated tool allows you to enter your design using either a block diagram editor (BDE)
or by writing Verilog or VHDL code using the hardware description editor (HDE). Once
your hardware has been described you can use the functional simulator to produce
waveforms that will verify your design. This hardware description can then be
synthesized to logic equations and implemented or mapped to the FPGA architecture.