Professional Documents
Culture Documents
Unit 3 and 4
Unit 3 and 4
BY
Prof. K. R. Saraf
Qn. Compare the architectures and capabilities of ASIC, PDSP, GPP,
FPGA, and memory.
Programmable Array Logic
• One of the first successful families of PLDs was programmable array
logic (PAL) components
• These components were an evolution of earlier PLDs, but were
simpler to use in many applications.
• A simple representative component in the family is the PAL16L8,
whose circuit is shown in Figure below.
• The component has 10 pins that are inputs, 8 pins that are outputs,
and 6 pins that are both inputs and outputs. This gives a total of 16
inputs and 8 outputs (hence the name “16L8”)
• The symbol at each input in Figure represents a gate that is a
combination of a buffer and an inverter.
Programmable Array Logic
• Thus, the vertical signals carry all of the input signals and their
negations.
• The area in the dashed box is the programmable AND array of the
PAL.
• Separate pins are provided on the chip for writing to the flash RAM,
even while the chip is connected in the final system.
• The specific organization, as well as the names used for the blocks,
varies between manufacturers and FPGA families.
Figure 1: - The internal organization of an FPGA consisting of logic blocks
(LB), input/out-put blocks (IO), embedded RAM blocks (RAM) and
programmable interconnections (shown in gray).
Field-Programmable Gate Arrays (FPGAs)
• In many FPGA components, the basic elements within logic blocks
are small 1-bit-wide asynchronous RAMs called lookup tables
(LUTs).
• The LUT address inputs are connected to the inputs of the logic
block.
• This may make the place and route software’s task more difficult.
Figure 2: -
The circuit of
a slice of a
Xilinx
Spartan-II
FPGA logic
block
Multi-context FPGA
• Dynamically-programmable gate arrays (DPGAs) provide more cost-
effective implementations than conventional FPGAs where
hardware resources are dedicated to a single context.
• The switch has multiple memory bits for multi-contexts and its
contexts are selected from the memory bits according to a context
ID.
Multi-context FPGA
• In the conventional approach, each switch requires n bits to store n
contexts.
• Most previous works for DPGAs reduce the over-head using device-
level solutions.
• That is, compact memory devices such as DRAM and FeRAM were
used to store configuration data
Programmable digital signal processors (PDSPs)
• Programmable digital signal processors (PDSPs) are general-purpose
microprocessors designed specifically for digital signal processing
(DSP) applications.
• 4 Data Parallelism
• All functional units share the use of a common large register file.
• VLIW Compiler
• VLIW Instruction
• Matrix architecture
1) 256x8 memory = function as a Single 256 byte ,dual ported and 128
X 8 bit In register file mode the memory supports two reads and one
write operation on each cycle.
Matrix – Basic Function Unit
2) 8-bit ALU=set of arithmaticand logic functions
3) Control logic=Composed of
• MATRIX operation
I. Memory read
BFU role
-I store
-Data memory
-ALU function
Matrix network
• Collection of a 8 bit busses
• Switches and wires are forced to sit idle holding values for much longer
than the time.
• These input registers allow us to store values which need to traverse LUT
evaluation levels in memories rather than having them consume active
resources during the period of time which they are being retimed
Input Registers
• Having four flip-flops on the input of each 4-LUT rather than one
flip-flop on the output.
• Conceptually, the key idea here is that signal transport and retiming
are two different functions:
• ARRAY ELEMENTS
• CROSSBAR
• SWITCHING ELEMENTS.
• Array Element
Composition
TSFPGA Array Composition
• The TSFPGA array element is made up of a number of LUTs which
share the same crossbar outputs and input.
• The inputs to the array element are run to all LUT input registers.
When the current time step matches the programmed load time, the
input register is enabled to load the value on the array-element
input.
Crossbar
• Each crossbar input is selected from a collection of sub array
network inputs and sub array LUT outputs via by a pre-crossbar
multiplexor.
• Once a LUT has all of its inputs loaded, the LUT output can be
selected as an input to the crossbar, and the LUT's consumers within
the sub array may be selected as crossbar outputs.