
Explore the analysis and synthesis of digital systems with VHDL, including dataflow and behavioral descriptions, VHDL syntax and semantics, and practical design techniques for logic synthesis.
Explore VHDL design modeling of digital systems by learning how a design file contains design units, and how library and context clauses govern library units, packages, and use statements.
Learn how comments in VHDL design improve readability by documenting code with dash dash lines and inline notes, and how file headers capture author, revision, and history.
Explore how to name VHDL objects using identifiers, including basic and extended forms, rules for letters, underscores, and case sensitivity, plus naming conventions and reserved words.
Explore VHDL literals, including decimal and real literals, integers, exponent parts, and base literals with binary, octal, and hexadecimal indicators, plus character, string, and bit-string literals.
Install Xilinx software tools to support VHDL design on the Zynq-7000 ARM FPGA SoC, enabling setup and configuration for development.
Explore the four data object classes in VHDL—constants, variables, signals, and files—and see how constants fix values, variables change in processes, and signals store history for architecture interactions.
Learn scalar data types in Vhdl design, including discrete and numeric subtypes like integers, natural, positive, enumeration, boolean, bit, character, and physical types. Understand defaults, time types, and casting.
Explore VHDL operators, including unary and binary forms, numerical, logical, relational, shift, and concatenation operators. Understand type rules, operand compatibility, and left-to-right evaluation with operator precedence.
Explore composite data types in VHDL, focusing on arrays (constrained and unconstrained) and records, with indexing, slicing, aggregates, relational and equality operators, concatenation, and multi-dimensional examples.
Demonstrates a vhdl xor demo on the Zybo Z7 board, driving four switches, four pushbuttons, and tri-color leds with a clocked counter and modulator, including synthesis and bitstream generation.
Explore VHDL design units, entities, architectures, and libraries, including context, use clauses, and component instantiation, to model digital systems from port definitions to behavior.
Explore concurrent statements in VHDL architectures, including conditional signal assignments, with select and when-else, and briefly examine processes for timing and delay modeling.
Explore a VHDL design demo on the Xilinx Zynq-7000 ARM/FPGA SoC, building a top VHDL file, adding constraints, generating a bitstream, and programming the device to control a push button.
Master sequential statements in VHDL design, including if-then-else, case, conditional variable assignments, loops, and assert and report statements within processes and subprograms where order matters.
Explore the VHDL weight statement, suspending and resuming a process via options like wait forever, wait on master clock, wait until a condition, and wait for a time duration.
Learn VHDL conditional statements, including if-then-else and case constructs with labels, explore state machines, and use with select and when else variable assignments and no operation (NAF).
Explore VHDL loop statements, including while loops, for loops over discrete ranges, and infinite loops, with exit and next termination controls and practical examples.
Explore how the VHDL assert and report statements provide feedback during simulation when conditions fail, using optional labels, string expressions, and severity levels like note, warning, error, or failure.
Explore VHDL test benches for simulating digital models, including component instantiation, positional and named port mapping, stimuli generation, waveform verification, and class-based automatic checks of values and timing.
Master VHDL design using concurrent and sequential processes, sensitivity lists, and clocked logic, covering combinational paths, latches, asynchronous vs synchronous resets, and the two-process RTL methodology for Xilinx Zynq-7000 SoC.
Learn VHDL design of state machines, including Mealy and Moore outputs, using a two-process method with combinational next-state logic and clocked state updates.
Design and simulate a basic VHDL finite state machine; couple combinational and sequential processes, implement next-state and Mealy/Moore outputs, and verify with a test bench and clocked simulation.
Explore VHDL design with functions, including pure and impure forms, parameter interfaces, return values, and overloading. Learn resolution of driver signals using standard logic types and the underlying Tripoli library.
Explains the syntax and use of VHDL procedures, including the parameter interfaces, local declaratives, and begin blocks, and compares procedures with functions, emphasizing multiple inputs and outputs.
Explore VHDL packages, including the DSB package and standard packages, components, and configurations, with package declarations and bodies, unsigned word types, for loops, and overflow handling.
Explore a color-based mealy finite state machine in VHDL, using the color package and a resolution function to map color inputs to color outputs across clocked states and test vectors.
Demonstrates how to build and synthesize a small VHDL design, generate a bitstream, and program a Zibo board, then inspect post-synthesis reports and run a behavioral simulation.
Explore VHDL design and modelling of digital systems through Conway's life game, including a two-dimensional cell matrix, neighbor rules, a glider, oscillators, and a one-bit state machine.
Learn VHDL aliases to simplify references, improve clarity, and boost portability in digital design, using bit-vector and type aliases, extended syntax, and reverse-direction vectors.
Explore VHDL generics by declaring an entity with a generic list and row and column sizes. Map them with generic map and use defaults, such as 32, in VHDL 2008.
Explore VHDL generate statements to conditionally or iteratively create logic blocks in digital system design, and learn the four generate statement syntax with label and discrete range, including if generate.
Explore VHDL design and modeling of digital systems through the NewLife demonstration of Conway's Game of Life, including state machines, neighbor counting, matrix updates, and test bench simulation.
Learn how VHDL libraries evolved from standard logic to numeric_std and numeric_bit, solving portability and signed-unsigned issues, with VHDL 2008 fixed and floating point types and Battal timing packages.
Teach yourself the analysis and synthesis of digital systems using VHDL to design and simulate FPGA, ASIC, and VLSI digital systems. Participants learn the fundamental concepts of VHDL and practical design techniques using a Xilinx FPGA Development Board and simulation software for hands-on experience. The VHDL methodology and design flow for logic synthesis addresses design issues related to component modeling, data flow description in VHDL and behavioral description of hardware. An emphasis is placed on understanding the hardware description language, VHDL design techniques for logic synthesis, design criteria, and VHDL applications.
At the end of this course, participants will be able to accomplish the following:
Describe and explain VHDL syntax and semantics
Create synthesizable designs using VHDL
Use Digilent Zybo Z7: Zynq-7000 ARM/FPGA SoC Development Board for hand-on experience
Use the Xilinx Vivado toolset
Design simple and practical test-benches in VHDL
Design and develop VHDL models
Prerequisites:
Familiarity with digital logic design, electrical engineering, or equivalent experience.
Even if you're now already familiar with VHDL but you've:
Never used an attribute other than ‘event?
Never used variables?
Always used a process where a single concurrent statement would have sufficed?
Never used assert or report statements except (maybe) in a test-bench?
Never used an unconstrained vector or array?
Never used a passive process inside of an entity?
Never used a real or the math_real library package in synthesizable code?
Always used a single process per signal assignment?
then this course will definitely have something for you as well. You will learn finite state machine design, the two-process design methodology, test-bench design, combinatorial and sequential logic, and extensible synthesizable designs that are reusable.