Professional Documents
Culture Documents
Chapter 1
Chapter 1
CHAPTER-1
INTRODUCTION
VLSI stands for "Very Large Scale Integration". This is the field which involves
packing more and more logic devices into smaller and smaller areas. Thanks to VLSI,
circuits that would have taken board full of space can now be put into a small space few
millimeters across. This has opened up a big opportunity to do things that were not
possible before.
Verilog is a great low level language. Structural models are easy to design and
behavioral RTL code is pretty good. The syntax is regular and easy to remember. It is the
fastest HDL language to learn and use. However Verilog lacks user defined data types
and lacks the interface-object separation of the VHDL's entity-architecture model.
The use of Field Programmable Gate Arrays (FPGAs) to implement digital circuits
has been growing in recent years. In addition to their reconfiguration capabilities,
modern FPGAs allow high parallel computing. FPGAs achieve speedups of two orders
of magnitude over a general-purpose processor for arithmetic intensive algorithms.
Thus, these kinds of devices are increasingly selected as the target technology for
many applications, especially in digital signal processing hardware accelerators
cryptography and much more. Therefore, the efficient implementation of generalized
operators on FPGAs is of great relevance.
One of these resources is the carry-chain system, which is used to improve the
implementation of carry propagate adders (CPAs). It mainly consists of additional
specialized logic to deal with the carry signals, and specific fast routing lines between
consecutive LEs, as shown in Fig. 1.
This resource is presented in most current FPGA devices from low-cost ones to
high-end families, and it accelerates the carry propagation by more than one order of
magnitude compared to its implementation using general resources. Apart from the CPA
implementation, many studies have demonstrated the importance of using this resource
to achieve designs with better performance and/or less area requirements, and even for
implementing non arithmetic circuits.
The most usual representations are carry-save (CS) and signed-digit (SD). A CS
adder (CSA) adds three numbers using an array of Full-Adders (FAs), but without
propagating the carries. In this case, the FA is usually known as a 3:2 counter. The result
is a CS number, which is composed of a sum-word and a carry-word. Therefore, the CS
result is obtained without any carry propagation in the time taken by only one FA.
The addition of two CS numbers requires an array of 4:2 compressors, which can
be implemented by two 3:2 counters. The conversion to non redundant representation is
achieved by adding the sum and carry word in a conventional CPA.
As a consequence, they are compatible with any FPGA family or brand, and any
improvement in the CPA system of future FPGA families would also benefit from them.
Furthermore, due to its simple structure, it is easy to design a parametric HDL core,
which allows synthesizing a compressor tree for any number of operands of any bit
width. Compared to previous approaches, our design presents better performance, is
easier to implement, and offers direct portability.
Adders:
B. Cope, P. Cheung, W. Luk, and L. Howe’s (2010) [1]: The systematic approach to
the comparison of the graphics processor (GPU) and reconfigurable logic is defined in
terms of three throughput drivers. The approach is applied to five case study algorithms,
characterized by their arithmetic complexity, memory access requirements, and data
dependence, and two target devices: the nVidia GeForce 7900 GTX GPU and a Xilinx
Virtex-4 field programmable gate array (FPGA).
S. Roy and P. Banerjee (2005)[3] : The most practical FPGA designs of digital
signal processing (DSP) applications are limited to fixed-point arithmetic owing to the
cost and complexity of floating-point hardware. While mapping DSP applications onto
FPGAs, a DSP algorithm designer must determine the dynamic range and desired
precision of input, intermediate, and output signals in a design implementation.
The first step in a MATLAB-based hardware design flow is the conversion of the
floating-point MATLAB code into a fixed-point version using "quantizes" from the filter
design and analysis (FDA) toolbox for MATLAB. This paper describes an approach to
automate the conversion of floating-point MATLAB programs into fixed-point
MATLAB programs, for mapping to FPGAs by profiling the expected inputs to estimate
errors. Our algorithm attempts to minimize the hardware resources while constraining
the quantization error within a specified limit. Experimental results on five MATLAB
benchmarks are reported for Xilinx Vertex II FPGAs.
F. Schneider, A. Agarwal, Y.M. Yoo, T. Fukuoka, and Y. Kim (2010) [4]: The
Application-specific ICs have been traditionally used to support the high computational
and data rate requirements in medical ultrasound systems, particularly in receive beam
forming.
It was found that 97.3% and 51.8% of the FPGA and DSP resources are,
respectively, needed to support all the front-end and back-end processing for B-mode
imaging with 64 channels and 120 scan lines per frame at 30 frames/s. These results
indicate that this programmable architecture can meet the requirements of low- and
medium-level ultrasound machines while providing a flexible platform for supporting the
development and deployment of new algorithms and emerging clinical applications.