semester ii - uvpce.ac.in. tech.ec (vlsi & es...tools used during laboratory works: verilog,...
TRANSCRIPT
SEMESTER II
3EC211 COMPUTER ARCHITECTURE [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of course, students will be able to:
Describe the structure and functioning of a digital computer, including its overall system
architecture, operating system, and digital components.
Understand the generic principles that underlie the building of a digital computer,
including data representation, digital logic and processor programming.
Apply some fundamental coding schemes.
Present and discuss simple examples of assembly language appropriate for an introductory
course.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Introduction Basic concepts of computer organization, Stored program model, Classes of
computer architecture, Processor v/s System architecture, Elements of computer
systems, processors, memories, I/Os, disks, buses etc
3
2. Performance measurement in computer architecture
Goals of computer architecture: performance, throughput, latency, power,
cost. Processor, performance v/s system performance, Comparison of
various platforms in terms of performance and efficiency
6
3. Processor Architectures
Internal elements and architecture of processors, Instruction execution,
Instruction set architectures, CISC v/s RISC architectures, Bus architecture,
Multi-Processor architecture, Memories and Caches, Cache coherency,
Pipelining and data path elements
18
4. System and System on Chip architecture
System architecture elements, H/W component selection and datasheet
analysis, Bill of Materials, IP selection and System on Chip integration,
Standard interfaces and I/Os, Analog and Mixed signal element integration.
Reset and clocking elements, Multi-processor system
9
5. Special processor/system architectures
Application specific processors, Packet processing, Microcontrollers,
Network controllers, DSP and Multimedia processors
3
6. Current Architectural survey
An overview of the latest Intel, ARM, TI, SPARC and Power PC
architectures as modern SOC architectural elements
3
LABORATORY WORK (35 Hours):
Tools used during laboratory works: Verilog, Xilinx ISE, DC, Waveform viewer
1. Study and implementation of processor performance using opencores.
2. Study and implementation of performance of open SPARC and ARM / ARC processors
3. Study and implementation of SOC architectures
4. Design of entire one Processor using the tools as Mini Project.
REFERENCE BOOKS:
1. Computer Architecture, A Quantitative approach by D.Patterson and J. Hennessy.
2. Computer Organization by D. Patterson and J.Hennessy.
3. Embedded Core Design with FPGAs, Zainalabedin Navabi.
3EC212 DATA INTERFACES & PROTOCOLS [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of course, students will be able to:
Understand the working principles behind key network technologies, such as circuit/packet
switching, reliable data transfer, flow/congestion control, routing, multiple access, etc.,
and key protocols used in modern computer networks, such as 802.11 WiFi, Ethernet,
ARP, IP, TCP, etc.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Introduction
OSI Revision IP, TCP, UDP, PDP, x. 25.
8
2. Wireless Protocols
High Frequency, short distance: Bluetooth, ZigBee; High frequency,
medium distance: Wife; High frequency, long distance: GSM, 2G,3G,4G,
Wi-MAX, LTE and other proprietary.
10
3. Physical Layer, Data link layer and Transport Layer for all the
protocols
Signal Analysis, Transmission Media: Coaxial Cable, Fiber Optics,
Wireless Transmission, PSTN, Modulation Techniques, Error detection
and correction: Parity, LRC, CRC and Hamming code, Link Layer Control:
Multiple access links, Multiple Access Protocols, ARP, LAN, Ethernet
IEEE 802.3, IEEE 802.4, IEEE 802.5, IEEE 802.11, PPP, HDLC. Duties of
transport layer: Reliable Data Transfer protocols, Multiplexing, De-
multiplexing, Sockets, User Datagram Protocol (UDP), Transmission
Control Protocol (TCP), and Congestion Control: Quality of services
(QOS), Integrated Services.
10
4. Serial and Parallel Interface
Basics of interface, ISA, EISA, VESA and other PC bus, RS-232, RS-449,
DB-9,DB-15, DB-25, JTAG, SPI, I2C, CAN, UART, GPIO, JTAG, SATA,
AMBA Buses (APB, AHB, AXI & ASB), USB, PCIe, Memory Interfaces
(DDR, NAND flash etc.).
15
LABORATORY WORK:
Tools used during laboratory works: Verilog, DC, Waveform viewer
1. Study of Protocols and their implementation in Matlab
2. Understanding of OSI and TCP/IP working using Wireshark or Network Simulator.
REFERENCE BOOKS:
1. Behrouz A. Forouzan, “Data communication and Networking”, Tata McGraw-Hill, 2004.
2. James F. Kurose and Keith W. Ross, “Computer Networking: A Top-Down Approach
Featuring the Internet”, Pearson Education, 2003.
3. Larry L.Peterson and Peter S. Davie, “Computer Networks”, Harcourt Asia Pvt. Ltd.,
Second Edition.
4. Andrew S. Tanenbaum, “Computer Networks”, PHI, Fourth Edition, 2003.
5. William Stallings, “Data and Computer Communication”, Sixth Edition, Pearson
Education, 2000.
Elective-I & II
3EC215 RTOS, KERNELS AND DEVICE DRIVERS [3 1 2 4 1]
LEARNING OUTCOMES:
On successful completion of this course, student will be able to:
Understand advanced concepts in theory of computer science.
Understand advanced concepts in applications of computer science.
Apply knowledge of advanced computer science to formulate the analyze problems in
computing and solve them.
Learn emerging concepts in theory and applications of computer science.
Design and conduct experiments as well as to analyze and interpret data.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Introduction
Embedded System Architecture fundamentals, Hardware and Software
abstraction models, Operating Systems fundamentals, Real time OS
overview.
3
2. OS internals and Kernels
Internal components of Operating systems, Study compare and contrast of
various OS platforms, Unix/Linux kernel fundamentals, I/O devices, file
systems and peripheral devices.
9
3. RTOS and Linux Kernels
Study of Real time OS principles and requirements, Application specific
requirements, Throughput and latency requirements, Schedulers, tasks and
processes, Memory management, Code and footprint optimization, Study of
current and emerging RTOS, Real Time linux-Measuring real-time
behavior, The characteristics of a realtimetask , Different ways of
instrumenting code, Features in the Linux kernel for measuring delays and
variability: What happens in overload conditions (when the schedule cannot
be met) Scheduling, processes and threads, Review the difference between
process and threads in Linux.Scheduling policies and priorities for Real
time and Non-Real time tasks: Periodic tasks, Assigning priorities using rate
monotonic analysis
Synchronization between threads: Description of the various mutex types
Linux has to offer and when to use each one, the problem of priority
inversion and priority, Inheritance mutexes, Timers and periodic tasks, a
look at the accuracy of timers, Configuring high resolution timers, Using
POSIX timers: Creating reliable periodic tasks ,Interrupts and kernel,
Preemption, Description of the interrupt model and factors that cause
interrupt jiffer: How kernel pre-emption helps, The problem with kernel
spinlocks, PREEMPT_RT: The Real Time Linux Kernel, Analysis of non-
preemptive sections in Linux (“atomic contexts”), Description of
PREEMTP_RT“real time” Linux patch and how it resolves the problem
15
4. Device drivers
Fundamentals of device drivers, device enumeration and configuration,
Data transfer and management mechanisms, Wired and wireless
connectivity of devices, Power Management and its impact on device
management, Compliance to protocols, Kernel Modules, Character Drivers:
Introduction to Kernel modules and kernel sources, Architecture of device
driver, Anatomy of character device driver, Linux Concepts Using GPIO
Drivers, Linux SPI Driver, Linux I2C Driver, Race conditions and
synchronization methods, Sleeping and wait queues, Interrupt handling,
Deferred functions (softirq, tasklet, workqueue), sysfs, procfs, Device tree
15
LABORATORY WORK (15 hours):
Tools used during laboratory works: Pandaboard, Beagleboard XM, Beagleboard Black :
1. Practical for linux kernel understanding.
2. Practical related to RTOS and Operating Systems.
3. Porting of OS on Texas Instrument boards, debugging of drivers of different boards
4. Architecture and circuit designing of the interfacing board.
5. Study and implementation of kernel modifications.
6. Device driver writing finally for the same.
REFERENCE BOOKS:
1. Cracking the code Programming for embedded systems by Dreamtech Software Team.
2. Embedded Linux®: Hardware, Software, and Interfacing by Craig Hollabaugh.
3. Embedded Linux system design and development by P.Raghavan, Amol Lad, Sriram
Neelakandan.
4. Embedded Linux by John Lombardo.
5. Linux Device Drivers, 3rd Edition by Greg Kroah-Hartman.
6. Understanding the Linux Kernel, Third Edition by Daniel P. Bovet.
7. Linux for Embedded and Real-time Applications, Third Edition (Embedded Technology) by
Doug Abbott.
8. ARM System Developer's Guide: Designing and Optimizing System Software Design) by
Andrew Sloss.
3EC216 VERIFICATION TECHNIQUES [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to:
Understand the need of testing also able to identify the different characteristics of
verification, validation, testing and diagnosis in context of VLSI
Effectively use the different verification types like formal verification, functional
verification
Effectively use various verification tools like simulator, emulator, hardware modeler,
hardware verification language etc.
Choose the effective abstraction level of testing for given application
Analyze the various fault at structural/functional level and models like stuck-at, transistor-
short/open, delay, IDDQ
Effectively use the automatic test equipment and automatic test pattern generator
Add DFT and BIST techniques in given design
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Advanced Verification using Verilog
Overview of Verilog, Verilog for Verification, Tasks and function, Delay,
race condition, File
I/O operation, TB Construct, Sample self-checking TB
2
2. Way of Functional Verification(HDL and HVL)
Use and importance of OOP concepts, OOP Basics, Classes, objects-
handles, Polymorphism,
Inheritance, examples
3
3. Introduction to System Verilog
New data types, Tasks and functions, interface, Clocking blocks, Threads
and virtual interfaces: fork_join_xxx, event control, mailbox, semaphore,
virtual interface, transactors Callbacks: Class, building reusable
transactors, inserting callbacks, registering callbacks DPI, Functional
Coverage: Coverage model, cover-points, cross coverage, regression
testing.
5
4. Advance Verification
Environment configuration, Reference model, predictor logic, scenario
generation, test cases: random, directed and corner cases, Verification
Methodology: Define methodology, benefits, reusability, Overview of
OVM, VMM, UVM, Introduction to VMM: VMM layered architecture,
messages, utilities, VMM env, Atomic and scenario generators, VMM
Channel, Callbacks, test cases, VMM tutorial, Introduction to UVM: UVM
architecture, report utilities, OVM transaction, sequences, configuration
8
5. Verification Planning and Management
Verification plan, Test bench architecture, Coverage model, tracking
simulation process, Building regression suite, test suite optimization,
Verification IP, Components of BFM and its architecture, Coding style of
VIP, Modelling and example view
8
6. Types of Verification
Formal Verification: introduction to formal verification, degrees of
abstraction, formal activity (equivalence check, static property, semi-
formal), Formal verification technologies (Binary decision, symbolic model
etc.), Advantage and limitation of Formal verification, bugs v/s correctness
8
7. Pilot Project: Theory
Overview of DUT/Block/SoC, Project specification analysis(Reading
specs), defining verification plan, Creating test bench architecture,
Implementing transactors, generators, driver, receiver, scoreboard,
Implementing coverage model ,Building top level environment ,Defining
directed, random, weighted random test cases, Building regression suite,
generating functional coverage and code coverage reports.
8
LABORATORY WORK (35 Hours) :
1. Working on various exercise for System Verilog and UVM
2. Designing a project using entire VIP creation.
REFERENCE BOOKS:
1. J. Bergeron, E. Cerny, A. Hunter and A. Nightingale, VerificationMethodology Manual
for SystemVerilog, Springer, 2005.
2. J. Bergeron, Writing Testbenches using SystemVerilog, Springer, 2006.
3. H.D. Foster, A.C. Krolnik and D.J. Lacey, Assertion-Based Design, Springer, 2004.
4. J.M. Lee, Verilog® Quickstart - A Practical Guide to Simulation and Synthesis in Verilog,
Springer, 2005.
5. C. Spear, SystemVerilog for Verification- A Guide to Learning the Testbench Language
Features, Springer, 2006.
6. S. Sutherland, S. Davidmann and P. Flake, SystemVerilog for Design - A Guide to Using
SystemVerilog for Hardware Design and Modeling, Springer, 2006.
7. S. Sutherland and D. Mills, Verilog and SystemVerilog Gotchas - 101 Common Coding
Errors and How to Avoid Them, Springer, 2007.
8. S. Vijayaraghavan and M. Ramanathan, A Practical Guide for System Verilog Assertions,
Springer, 2005.
3EC217 NETWORK PROGRAMMING [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to apply knowledge of
different protocol in the field of networking.
SYLLABUS
CH. NO. CONTENTS HOURS
1. Socket Programming, Working on Client Server Model, Basic
Understanding of Networks, Practical working for TCP/IP ,Practical
working for DHCP , Details of Routing protocols in control plane , Details
of Routing protocols in data plane , Working for IGP, RIP protocol,
Working for OSPF protocol for 2 and 3 version , Working of Telnet ,
Working of FTP , Working of SNMP , Learning for EGP and BGP
protocols , Basic working on IPSec, Learning for AAA - Radius and
Diameter , Working on Firewalls
42
LABORATORY WORK (35 Hours):
Study and Implementation on various exercises for above modules on Linux.
REFERENCE BOOKS:
1. Unix Network Programming: The Sockets Networking Api - Volume 1; Stevens W.
Richard, Fenner Bill, Rudoff M. Andrew.
2. Unix Network Programming: Interprocess Communications (Volume - 2) 2nd Edition;
Stevens W. Richard.
3EC218 EMBEDDED SYSTEM DESIGN & ARCHITECTURE [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to study standard and
emerging development kit platforms for application development. A project of reasonable
complexity must be completed on an embedded system platform. The focus of the course
is not on lecture, but a study of a real system and application development using its
resources.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Introduction
Embedded System Architecture fundamentals, Hardware and Software
abstraction models, Types of embedded systems
3
2. Embedded System platforms and components
Use of development boards, Use of compilers, debuggers, tracers and
prototype mechanisms. Prototyping using Cypress PSOC kits, Application
development components sensors, control and status components, data
acquisition methods and components. Data formats raw, processed and
encrypted.
21
3. Architectural constraints and optimization
Use of minimal resources, Throughput, latency, energy and memory
optimization
6
4. Application classes and segments
Industrial, Automotive, mobile, set top box, appliances and weapon
systems.
10
LABORATORY WORK (35 hours) :
Tools used during laboratory works: Keil, Cypress PSoC, Actel, Altera, Xilinx boards
1. Study and implementation of compilers and debuggers
2. Study and implementation of applications on various platforms
REFERENCE BOOKS
1. Product documentation from ARM (KEIL), Cypress, Altera, Actel.
2. Bus Specifications – PCI, PCIe, SCSI, IDE, USB, 802.11x, SATA.
3. Standards specifications – JPEG, MPEG etc. as required by project.
4. Instructors may recommend additional textbooks or reference material – the subject
CONTENTS is rapidly changing and an up to date text book at the time of the class may
be recommended.
3EC219 HARDWARE BOARD DESIGNING WITH PCB DESIGNING
[3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to design and develop the
different types of digital and analog circuit in PCB design tools.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Fundamentals of electronics with importance Properties and types
of Resistors, Capacitors, Inductors and crystals, Properties and types
of active components, Linear Circuits, Digital Circuits,
Understanding behavior of real components.
2
2. Introduction of Hardware design and Embedded Product
Process, Flow of designing a product, Steps, Responsibilities,
Outcomes
2
3. Product Architecture & Specifications. Major Component
selection
Product Definition to Schematic Design Process.
3
4. Board Designing Overview and Basics
Process Flow,Steps,Tools used,Fundamental Requirements
2
5. Interpreting Datasheets and How to select components in Board
Design flow from B.O.M perspective
Understanding the online Support for selecting components, Discrete
component datasheets,Specifications,Interpretation and related
examples.
2
6. Basic Information on different protocols.(UART,Ethernet,USB,
HDMI,LCD,I2C,SPI, SATA)
Background, Architecture, Mechanical and Electrical Characteristics
of all mentioned topics.
3
7. LT Spice Tool-Simulation of the circuit
Features,Circuit Design and Parameters, and related examples.
3
8. Fabrication Facts DFM,DFT
Terms and Definitions,DFM + DFT,Files and checklist,Relative
Package and Files.
3
9. Power supply design and Do's / Don'ts with practical approach
Types of Power supply & its importance,Importance of each
components,Example and Design own power supply.
3
10. High Speed Design Basic
High-speed design fundamentals,Mutual inductance and mutual
capacitance,High speed properties of logic gates,Measurement
3
techniques of high speed signals using Oscilloscope,Cross talk in
measurement of high speed signals.
11. Basic Board Bring up and Testing overview with soldering
fundamentals
Including Practical overview with HW if possible.
3
12. Basics of Transmission line
Fundamentals,Parameters,Types of terminators,Series and Parallel
Termination,Terminator resistor selection and cross-talk,Features of
Digital Oscilloscope.
3
13. Emulation
Significance of Emulation,Different approaches to
Emulation,Difference between Prototyping and Emulation,Emulation
methodology – Planning, Execution, Debugging.
3
14. Electro Static Discharge – Basics
Problem, Prevention and Control,EMI,EMC
7
Prepare a project related to HW design (3 hours):
REFERENCE BOOK:
1. Complete PCB Design Using OrCad Capture and Layout by Kraig Mitzner Publisher Newnes .
3EC220 ADVANCED VLSI DESIGN [3 1 2 4 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to develop basic IC
development steps, their net list to GDSII flow using SYNOPSYS tools.
SYLLABUS:
CH. NO. CONTENTS HOURS
1. Introduction
Concept of IC, IC structure, components, applications, History and
evolution of the IC industry.Moore’s Law.Performance (speed, power,
function, flexibility), Die size (cost of die), Design time (cost of engineering
and schedule), Testability and ease of testing (cost of engineering and
schedule), Trade-off among the design parameters, The design trends and
perspectives of IC manufacturing (complexity, transistor count, die size,
frequency, power dissipation, power density), Technology scaling.
3
2. Levels of IC design
System level Design. Top down design.Bottom up design. Back end design.
Design abstraction levels. Behavior Level.Register-Transfer Level
(RTL).Logic Level.Circuit Level.Component level.Examples of Domains
and its Abstraction Levels.
3
3. Design Flow
Problem specification.Architecture definition. Simulate and compare-
modify architecture definition. Logic design. Simulate and compare-modify
logic design. Circuit Design. Simulate and compare-modify circuit design.
Layout design. Extract simulate and compare-modify layout design.
Fabrication.Ideal design flow: problem specification, compiling for
behavioral description, behavioral description, compiling for structural
description, structural description, compiling for physical description,
physical description, fabrication. Need for testing, manufacturing tests,
design for test, chip-level test, system-level test. More advanced design
flow. IP based design. Hardware components.IP cores. IP cores types.
Reusability.Providers of IP cores.IP market. Platform based design. System
on chip(SOC). Generic Soc model. SOC platforms. Platform architecture.
Platform based SoC design.
4
4. Net list to GDSII flow
Complete tapeout flow starting with functionally verified RTL. Synthesis
and optimization.Behavioral synthesis. Scan insertion and stitch. Placement,
Routing, Clock tree synthesis. Post route optimization. RC extraction and
timing analysis. Design rule checks and LVS. Signoff process.
20
5. Testability and Design for Test
Define design for testability, challenges of DFT, Testability
requirement, types of faults, fault models, methods, test pattern
6
generation (TPG), Types of TPG, Scan, Boundary test, ATE and
coverage.
6. Post Tapeout flow
Mask generation, OPC and fabrication process.
6
LABORATORY WORK (35 Hours) :
Tools used during laboratory works: DC Expert, DC Ultra, DFT Compiler, Physical
Compiler/ICC, Power Compiler, Star-RCXT, Hercules, PrimeTime.
1. Study and implementation of DC Expert tool .
2. Study and implementation of DC Ultra tool .
3. Study and implementation of Physical Compiler (or ICC) tool .
4. Study and implementation of Power Compiler and DFT compiler tool .
5. Study and implementation of Star-RCXT and Hercules tools .
6. Study and implementation of PrimeTime tool .
COURSE PROJECT:
A project of suitable complexity, comprising of complete netlist to GDSII flow must be
completed in approximately 25 hours.
REFERENCE BOOKS:
1. J.P. Uyenmura. Introduction to VLSI Circuits and Systems, J.Wiley& Sons, 2002.
2. J.M. Rabaey, A. Chandrakasan, B. Nikolic. Digital Integrated Circuits - A Design Perspective,
Prentice Hall, 2003.
3. J.P. Uyenmura. Modern VLSI Design – System-on-Chip Design, Prentice-Hall, 2002.
4. D.A. Pucknell and K. Eshraghian. Basic VLSI Design, Systems and Circuits, Prentice-Hall,
1994.
5. W. Wayne. Modern VLSI Design: A Systems Approach, Prentice-Hall, 1994.
6. K. Martin. Digital Integrated Circuit Design, Oxford University Press, 2000.
7. J.F. Wakerly. Digital Design - Principles & Practices, Prentice Hall, 2001.
3EC213 SYSTEM LEVEL DESIGN LAB [0 0 2 0 1]
LEARNING OUTCOMES:
After successful completion of the course, students will be able to design and develop the
different types of digital and analog circuit module in PCB design tool.
COURSE PROJECT:
Students to create a system level design using any of the tools, languages and technology
available in the lab.
REFERENCE BOOK:
1. Uwe Meyer-Baese, “Digital Signal Processingwith Field ProgrammableGate Arrays”,
3rd Edition.
3EC214 MINI PROJECT- II [0 0 4 0 2]
NOTE:
Students have to carry out the project under the guidance of faculty member using the knowledge
of subjects that he/she has learned in semester. Students have to submit project report withcode at
the end of the semester.