Download the highlighted sections of this book:
(New chapters are released as they become available.)
There are numerous requests on Internet newgroups that go something like this:
"I am new to using programmable logic like FPGAs and CPLDs. How do I start? Is there a tutorial and some cheap/free tools I can use to learn more?"
Xilinx has a student edition of their Foundation 2.Ii software so anyone can get a low-cost set of tools for designing with programmable logic. This book was written to give you a gentle introduction to using the Foundation 2.1I software. This book tries to show you quickly how to use Foundation 2.1I to do the following:
How to start a project and target it at a particular type of FPGA or CPLD.
How to describe a logic circuit using VHDL, schematics, or both.
How to simulate your circuit to test its functions.
How to synthesize a netlist from your circuit.
How to fit the netlist into an FPGA or CPLD.
How to check the device utilization and timing.
How to generate a bitstream for configuring the FPGA or CPLD.
How to download the bitstream into the device.
Various combinatorial and sequential logic design examples will be used to illustrate the design flow. Along the way you will see how to use many of the tools bundled into XILINX Foundation 2.1i. There will not be a great deal of explanation on the theory of operation of the example circuits or the internal circuitry of the programmable logic device, but appropriate references to the texts and application notes on these subjects will be provided. In short, this is just a tutorial to get you started using the XILINX Foundation tools. After you go through this book you can move on to more advanced topics. The basic concepts introduced in each chapter are shown below:
Pragmatic Logic Design
With XILINX Foundation 2.1i
Table of Contents
|1. A VHDL-Based Design|
Chapter 1 introduces the Foundation 2.1I software. In this chapter, you will use Foundation to describe a combinational circuit with VHDL, synthesize it, simulate it, and then compile a configuration bitstream that you can download and test with an evaluation board.
|2. A Schematic-Based Design|
Chapter 2 shows you how to design and implement a counter circuit using the schematic editor included in the Foundation software. The use of FPGA Editor and ChipViewer to look at the mapping of the counter circuit to an FPGA and CPLD is also demonstrated.
|3. Hierarchical and Mixed-Mode Designs|
Chapter 3 discusses how to do hierarchical and mixed-mode designs that include both schematics and VHDL.
|4. State Machine Design|
Chapter 4 shows you how to design state machines using VHDL or the state machine editor included in the Foundation software.
|5. Using RAM|
Chapter 7 illustrates how to use the internal RAMs in a XILINX FPGA and how to interface an FPGA or CPLD to an external RAM chip.
All the project files for each design example are provided on the CDROM. You should be able to re-create each design just from following the text, but you can use the project files in case you have problems or are in a hurry. Of equal importance, these working examples serve as a starting point for your own designs and explorations.
After you complete this book will you be an expert in using programmable logic and the Foundation 2.1I tools? The answer is a definite NO. This text is just a starting point. After you complete this text you will be able to:
Understand the basic structure of the XILINX XC9500 CPLDs and XC4000 FPGAs and be able to further your understanding by reading their respective datasheets.
Understand the basic functions of the Foundation 2.1I software tools.
Use Foundation to create, synthesize, simulate, and compile logic circuits for CPLDs and FPGAs.
Analyze the performance of your circuit with respect to a given XILINX CPLD or FPGA.
Download and test your circuit on an FPGA or CPLD evaluation board.