Module 1

VLSI and Embedded System

VLSI Design:


This course is intended to impart in-depth knowledge about analog and digital CMOS circuits.The focus is on CMOS technology. Issues to be covered include deep submicron design, clocking, power dissipation, CAD tools and algorithms, simulation, verification, testing, and design methodology.

Course Outcome:

Upon successful completion of this course, students should be able to:

  • Analyze the operation of CMOS inverter
  • Understand the design rules and layout diagram
  • Analyze the physical design process of VLSI design flow
  • Understand the design of CMOS Memories
  • Design and analyze VLSI chips using CMOS technology
  • Understand design issues at the layout, transistor, logic, and register transfer levels
Topics Covered
  • Theory
    • Introduction to VLSI design
    • Introduction to VLSI Technology
    • Analysis of CMOS logic Circuits
    • Advanced Techniques in CMOS logic circuit
    • Memories: Static RAM; SRAM arrays; Dynamic RAMs; ROM arrays; Logic arrays
    • Timing issues in VLSI system design CMOS Testing.
    • Verilog Hardware Description language: Overview of digital design with Verilog HDL; Hierarchical modeling concepts; Modules and port definitions; Gate level modeling; Data flow modeling; Behavioral modeling; Task & functions; Test benche
  • Labaratory
    • Simulation of MOS Inverter with different loads using PSPICE software.
    • Simulation of CMOS Inverter for different parameters Kn, Kp as a design variablein PSPICE software.
    • Study of the switching characteristics of CMOS Inverter and find out noise margins.
    • Simulate CMOS amplifier using PSPICE software.
    • Layout design of a CMOS Inverter using any layout design tool.
    • Simulate 1-bit full adder following behavioral and structural modeling using VHDL\Verilog.
    • Design of a decade counter using VHDL\Verilog.
    • Design of a 3-input NAND gate and its simulation using Modelsim.
    • Implementation of I-bit full adder and decade counter using FPGA kit.

Embedded System:


This course concerns with Embedded systems basic knowledge: embedded architectures: Architectures and programming of microcontrollers: embedded system applications..

Course Outcome:

Upon successful completion of this course, students should be able to understand the following:

  • Introduction to Microcontroller Organization and Architecture (ARM.8051)
  • Data Representation and Memory Usage
  • Problem Solving and Algorithm Development
  • Assembling/Compiling and Execution
  • Assembly and C Programming
  • Analysis of timing and memory requirements.
  • Embedded system applications
Topics Covered
  • Theory
    • Introduction to Embedded Systems
    • Typical Embedded System: Core of the Embedded System: General Purpose and Domain Specific Processors, ASICs, PLDs
    • Commercial Off-The-Shelf Components (COTS); Programming Embedded Systems in C
    • Embedded Firmware: Reset Circuit. Brown-out Protection Circuit. Oscillator Unit. Real lime Clock. Watchdog Timer
    • Embedded firmware Design Approaches and Development Languages. RTOS Based Embedded System Design: Operating System Basics
    • Types of Operating Systems
    • Tasks. Process and Threads. Multiprocessing and Multitasking
    • Task Scheduling
    • Task Communication: Shared Memory. Message Passing. Remote Procedure Call and Sockets.Task Synchronization: Task Communication/Synchronization Issues. Task SynchronizationTechniques
    • Device Drivers
    • How to Choose an RTOS. ARM Architecture: ARM Design Philosophy, Registers, Program Status Register. Instruction Pipeline Interrupts and Vector Table. Architecture Revision, ARM Processor Families. ARM Programming Model – I: Instruction Set: Data Processing Instructions. Addressing Modes. Branch. Load. Store Instructions, PSR Instructions. Conditional Instructions.ARM Programming Model - II: Thumb Instruction Set: Register Usage
    • Other Branch Instructions. Data Processing Instructions.Single-Register and Multi Register Load-Store Instructions. Stack. Software Interrupt Instructions ARM Programming: Simple C Programs using Function Calls, Pointers, Structures
    • Integer and Floating Point Arithmetic
    • Assembly Code using Instruction Scheduling
    • Register Allocation. Conditional Execution and Loops
  • Laboratory

    The following programs have to be tested on 89C51 Development board/equivalent using Embedded C Language on KEIL IDE or Equivalent.

    • Program to toggle all the bits of Port P1 continuously with 250 ms delay
    • Program to toggle only the bit P1.5 continuously with some delay. Use Timer 0, mode 1 to create delay
    • Program to interface a switch and a buzzer to two different pins of a Port such that the buzzer should sound as long as the switch is pressed.
    • Program to interface LCD data pins to port P1 and display a message on it.
    • Program to interface keypad. Whenever a key is pressed, it should be displayed on LCD.
    • Program to interface seven segment display unit. Signal
    • Program to transmit a message from Microcontroller to PC serially using RS232.
    • Program to get analog input from Temperature sensor and display the temperature value on LCD .
    • Program to interface Stepper Motor to rotate the motor in clockwise and anticlockwise directions
    • Program to receive a message from PC serially using RS232.

Approximate Total Cost: Rs. 20 lakhs