Offering a modern, updated approach to digital design, this much-needed book reviews basic design fundamentals before diving into specific details of design optimization. You begin with an examination of the low-levels of design, noting a clear distinction between design and gate-level minimization. The author then progresses to the key uses of digital design today, and how it is used to build high-performance alternatives to software.
Explains how you can write Verilog to describe chip designs at the Register-Transfer Level (RTL) in a manner that cooperates with verification processes, based on the reality that comes from actual large-scale product design process and tool experience.
Integrates the use of the industry-standard hardware description language VHDL into the digital design process. Rather than simply teach VHDL as a programming language, this book emphasizes the practical use of VHDL in the digital design process.
Circuit Design = Science + Art! This book starts with best-practise manual methods and links them tightly to up-to-date automation algorithms. It provides many tractable examples and explain key techniques you have to know.
This book concentrates on the use of a microcontroller as the Embedded System's processor and how to use it in many embedded system applications. It covers both the hardware and software aspects needed to design using microcontrollers.
This complete reference progresses logically from the most fundamental Verilog concepts to today's most advanced digital design techniques. It offers broad coverage of Verilog HDL from a practical design perspective.
Comprehensive and self contained, these tutorials cover the design of a plethora of combinational and sequential logic circuits using conventional logic design and Verilog HDL. Number systems and number representations are presented.
This beginners Verilog tutorial attempts to fill some of the missing pieces in other tutorials. The goal is to take a beginner from knowing C and a little C++, all the way to a serial port example using both receiver, transmitter and FIFO.
This book will briefly describe FPGAs and then show you how to apply them to your problems using a low-cost board and some free software. It discusses how to use the Xilinx ISE WebPACK software to build FPGA designs for the XuLA FPGA board.
The purpose of this book is to provide students and young engineers with a guide to help them develop the skills necessary to be able to use VHDL for introductory and intermediate level digital design.
This book presents an integrated approach to digital design principles, processes, and implementations to help the reader design much more complex systems within a shorter design cycle. This is accomplished by introducing digital design concepts, VHDL coding, VHDL simulation, synthesis commands, and strategies together.
Packed with practical advice distilled from years of experience teaching VHDL courses, this book is designed for the experienced design engineer, offers answers to the questions most often asked during practical application, in a convenient reference format.
This book has become a standard reference in the industry for learning the features of VHDL and using it to verify hardware designs, with many complete examples used to illustrate the features of the VHDL language.
The book begins with the basics of VHDL, which, like any software language, has keywords, operators, flow control statements, and programming conventions, then moves on to more complicated models, such as a design for a complete CPU.
These tutorials give a brief overview of the VHDL language and is mainly intended as a companion for the Digital Design Laboratory. This writing aims to give the reader a quick introduction to VHDL and to give a complete or in-depth discussion of VHDL.
This book is an essential guide for people working in computer hardware design and synthesis, combines a comprehensive reference of the VHDL syntax with tutorial and workshop materials that guide to the principles of digital hardware design.
Digital Design   By Frank Vahid, John Wiley and Sons publishers, 2nd ed, 2011. Emphasizes RTL design, optimization/tradeoffs at multiple levels of abstraction, and practical applications; includes extensive examples and explains concepts intuitively and constructively for students. Used in dozens of universities including Univ of Michigan, Texas A&M, Notre Dame, Princeton, UC Irvine, Univ of Arizona, and more. Additional books, which may accompany Digital Design or be used standalone, are "VHDL for Digital Design" and "Verilog for Digital Design". See for info on all three books, sample slides, online tools, etc.
Programming Embedded Systems: An Introduction to Time-Oriented Programming   By Frank Vahid and Tony Givargis, published by UniWorld Publishing, (c) 2011. Teaches disciplined embedded programming involving behavior capture using a synchronous state machine computation model to appropriately deal with time-ordered and time-interval behavior common in embedded applications, and structured implementation of the model in C code on a microcontroller. Includes creating a task scheduler for multiple tasks, as well as bit-level manipulation, introduction to control systems and signal processing, and targeting FPGAs via an HDL.
Embedded System Design -- A Unified Hardware/Software Introduction   By Frank Vahid and Tony Givargis, published by J. Wiley and Sons, (c) 2002. Emphasizes top-down design involving tradeoffs between programmable processor and custom digital processors. Describes various memory technologies and approaches to interfacing. Includes a digital camera design example.
N. Alzahrani, F. Vahid, A. Edgcomb, R. Lysecky, S. Lysecky. An Analysis of Common Errors Leading to Excessive Student Struggle on Homework Problems in an Introductory Programming Course ASEE Annual Conference, 2018. paper(pdf)
F. Vahid and A. Edgcomb. New College-Level Interactive STEM Learning Material: Findings and Directions, AAAS NSF Symposium on EnFUSE (Envisioning the Future of Undergraduate STEM Education: Research and Practice), 2016.
B. Miller, F. Vahid, T. Givargis, P. Brisk. Graph-Based Approaches to Placement of Processing Element Networks on FPGAs for Physical Model Simulation. ACM Transactions on Reconfigurable Technology and Systems. 2014, Issue 10. paper
A. Edgcomb, F. Vahid. Accurate and Efficient Algorithms that Adapt to Privacy-Enhanced Video for Improved Assistive Monitoring ACM Transactions on Management Information Systems (TMIS): Special Issue on Informatics for Smart Health and Wellbeing, 2013. pdf
A. Edgcomb, F. Vahid. Privacy Perception and Fall Detection Accuracy for In- Home Video Assistive Monitoring with Privacy Enhancements. ACM SIGHIT (Special Interest Group on Health Informatics) Record, 2012. pdf
C. Huang, B. Miller, F. Vahid, T. Givargis. Synthesis of Custom Networks of Heterogeneous Processing Elements forComplex Physical System Emulation. IEEE/ACM Conference on Hardware/Software Codesign and System Synthesis (CODES/ISSS, part of ESWEEK), Finland, Oct 2012. paper
B. Miller, F. Vahid, T. Givargis. MEDS: Mockup Electronic Data Sheets for Automated Testing of Cyber-Physical Systems Using Digital Mockups. Design Automation and Test in Europe, March 2012.
EECS 31/CSE 31/ICS 151 is the introductory course in digital design. First, students learn basic concepts of computer science and computer engineering such as binary number representation and arithmetic, Boolean algebra, finite-state-machine and instruction-set processors. They also learn basic logic and register-transfer components for design such as gates, flip flops, adders, multipliers, registers, memories and processors. Secondly, students learn the basics of design science. That is, how to convert design specifications into working implementations. They learn how to construct register-transfer components and how to optimize them for performance and cost. Furthermore, they learn how to design basic system components such as simple processors and custom hardware blocks. The course stresses the principles of design science and gives in each lecture clear and simple procedures on how to arrive at the best design from the given specification.
This is a laboratory course in which students learn the design process of modeling, simulation and synthesis of simple digital designs. Students in this class learn how to model designs on different levels of abstraction using C and VHDL languages. The course consists of four labs. In the first lab students are given a simple combinatorial design and then are required to generate VHDL structural and behavioral models and simulate using ModelSim. In the second assignment students define a simple structural FSM model in VHDL language and learn how to generate it from behavioral model. In the third lab they optimize the model hardware implementation of a 8-bit adder/subtractor. In the last lab the students generate datapath and control units that execute the given algorithm and model it by a clock-cycle accurate structural model. In this class students are given the opportunity to be creative and to produce the best possible design for the given constraints.
ICS 152 is the basic course in computer architecture. First, students learn basic concepts of computers and systems design such as instruction sets, instruction execution cycles, pipelining, multithreading, and multiprocessing. Second, the students learn basic components of computer systems such as processor organization, memory architecture, connection networks and I/O implementation. Thirdly, they learn different architectural styles such as CISC and RISC processors, superscalar and VLIW processors, multiprocessors and distributed computers. Students also learn how to specify a computer system; how to build it from the specification and how to design its software and hardware components.
64591212e2