|
cyphunk
Programmable Logic: What’s it to Ya? This document gives a basic overview of common programmable logic hardware: FPGA’s, CPLD’s and PLD. (Hold the mouse over links and acronyms to see their full definition or click to follow to their wikipedia entries). PLD CPLD FPGA VHDL or Verilog are used to describe a highlevel architecture for use in an FPGA. These languages are general enough however to be applied to CPLD’s. They are used in general ASIC design as well. Typically one then uses simulation tools (such as those provided by Cadence) to simulate the high level logic. After simulation one would move to compilation. Synthesis, the next step, is the process of taking a high level design and producing a Netlist. The netlist is still device independent. It is stored in a format called EDIF. Place & Route, the step after producing a netlist, involves “mapping the logical structures described in the netlist onto actual macrocells, interconnections and input and output pins.” The result is a bitstream downloaded to the actual device. The bitstream format is device dependent. Download to the device of the bitstream format is a process which depends on the features of the device. For FPGA’s that use EPROM to store their definitions one might either need to place the FPGA in a programmer or use JTAG, if the FPGA has separate logic defined for supporting this onboard. For FPGA’s that use RAM instead of ROM they must support some dynamic programming. An advantage of RAM based FPGA’s is that definitions can be changed on the fly (swap out DES logic for AES as you please). However they do consume more power and the original definition/bitstream must be reloaded on every power refresh.
Comments
| ||||||