
Introduce the Mimas v2 board and the Spartan-6 FPGA, noting 32 usable PMOD IO pins and that the design is board-agnostic for driving an LCD display with VHDL.
Analyze the front and back images to identify the 16-pin lcd interface and its pins, then plan to fetch the 1602a rohs datasheet to confirm functions for FPGA driving.
Send commands to the LCD device via RS, RW, and DB to perform clear display, return home, and set entry mode and function in 4- or 8-bit mode.
Explore how the character generator ROM stores 5x8 or 5x11 patterns and uses an 8-bit address to fetch them, and how the function set configures the LCD during initialization.
Describe lcd initialization: start in 8-bit mode with a 15 ms delay and send function set thrice. Then switch to 4-bit mode and issue display off, clear, and entry mode.
Explore time characteristics for an lcd controller in fpga design, test delays, and voltage effects on signal settling, sharing tested values like 1 microsecond and 50 microseconds.
Demonstrates a VHDL LCD controller implementation driven by a state machine, performing LCD initialization with three function set commands and precise timing, then processing display commands with ready/valid handshakes.
Explain the lcd controller workflow from initialization to command processing, using valid and ready signals, register data with rs and lcde, delay pos duration, and apply long or short waits.
Display hello world on the first line starting at position 0 using 8-bit data mode to drive the LCD controller. Follow along with the next videos if you lack material.
Demonstrate a vhdl implementation that displays a custom smiley on an lcd by configuring cgram and ddram via a finite state machine, with lcd ready signaling and clocked control.
Demonstrate lab 2 with a simple display check, showing a smiley in the first position of the first lane; skip timer lab complexity and prepare for lab 3.
As part of the "FPGA Design Using VHDL" hands-on series, this module focuses on driving character LCD displays — a fundamental interface for embedded systems and user interaction.
In this course, you will:
Learn how to read and interpret an LCD datasheet
Understand the internal architecture of an LCD (DDRAM, CGRAM, CGROM, and instruction set)
Design and implement a fully functional LCD controller in VHDL
Learn how to connect and map LCD pins to your FPGA using proper I/O constraints
Apply theoretical knowledge through practical design labs
Practice Labs
Lab 1: Create a simple demo that displays "HELLO WORLD" using your VHDL LCD controller
Lab 2: Generate and display a custom character (like a smiley face) on the LCD
Lab 3: Design a configurable countdown timer displayed in real-time on the LCD, with user input through buttons and switches
By the end, you’ll have the skills to read and understand a technical datasheet and integrate LCD displays into real-world VHDL projects with structured, reusable, and synthesizable code.
Throughout the course, you'll also strengthen your understanding of Finite State Machines (FSMs) and learn to design multiple cooperating FSMs in a single FPGA system. You will practice interfacing, timing, and structuring logic for clarity and reliability — skills essential for professional digital design.
---
Limited-time discount for learners:
Use this instructor coupon to get the course at the lowest price: E4186793AA1E955C39C0