Over the past several years, digital system design has become dominant in the field of VLSI design for relatively high performance and cost-effective VLSI circuits. The revolutionary nature of these developments is understood by the rapid growth in implementation of systems on a single chip (SoCs). Instead of fabricating discrete components industries are preferring production of SoCs.
Many online tutorials or books are available on VLSI design. Readers can avail those tutorials along with this tutorial. The objective of this tutorial is to provide knowledge on designing of digital systems rather than focusing on coding techniques for VLSI design. The objective is to exploit the art of designing an optimized system.
Different platforms, used to implement a system on chip are;
Application-Specific Integrated Circuit (ASIC) – ASIC is an integrated circuit (IC) customized for a particular use, rather than intended for general-purpose use.
Application-Specific Instruction set Processor (ASIP) – ASIP is a component used in the system-on-a-chip design. The instruction set of an ASIP is tailored to benefit a specific application. This specialization of the core provides a tradeoff between the flexibility of a general purpose CPU and the performance of an ASIC.
Field Gate Programmable Array (FPGA) – FPGAs generally contains an array of computational units, memories, and their interconnections. All are programmable in the field by the user.
Coarse-Grained Reconfigurable Array (CGRA) – CGRAs consist of an array of a large number of function units (FUs) interconnected by a mesh style network. The functional units process byte-wide or multiple byte-wide data.
Structured ASIC – It allows application builders to customize the resources before fabrication. It offers performance close to that of ASIC
Digital System Processors (DSPs) – The organization and instruction set for those devices are optimized for specific signal processing applications
In this tutorial, we will focus on designing digital systems on a reconfigurable platform like FPGAs. Details about the basic theory regarding FPGA and the design flow will be discussed in later posts.
In this tutorial, concepts of system design will be discussed from very basic gate level to design optimizations techniques. Some example projects will be given for case study. It will be assumed that the reader has basic knowledge of digital electronics. Proper references will be given to theoretical concepts of critical logic blocks.
Click here to download the file.