FPGA VHDL coding QSPI nor flash memory from zero to hero

FPGA VHDL coding QSPI nor flash memory from zero to hero

FPGA VHDL coding QSPI nor flash memory from zero to hero

Learn how to Read/Write and work with QSPI Flash Memory with FPGA using VHDL code & Simulate with Modelsim from scratch!

Language: english

Note: 4.5/5 (34 notes) 11,016 students

Instructor(s): Ofer Keren

Last update: 2021-08-30

What you’ll learn

  • Nor Flash Memory fundamentals
  • Designing a VHDL project from scratch! after this course you will be able to design by yourself any project
  • Writing VHDL code for working with the Nor Flash Memory
  • How to Read/Write micron Nor Flash Memory
  • How to Setup new flash memory, Setup its Inner Registers
  • How to write a simulation for Micron Nor Flash Memory Verilog part and simulate it
  • Everything you need to know about Micron Nor Flash Memory
  • How to approach to any Flash Memory of any type and product in the market
  • How to work with the Nor Flash Memory at different modes: SPI, Dual SPI, Quad SPI



  • VHDL Knowledge
  • PC with internet connection
  • Modelsim simulation tool – (not a must for learning… 🙂



Do you want to learn how to write a VHDL code for communicating with Flash memory with a Quad SPI protocol?

Also I will teach you about the Flash memory Storage, As an electronic engineer specialized with FPGAs I will go with you step by step from the design of the code to the memory to a real working code that really runs, we will use a special component from Micron site that demonstrate a real flash memory and we will connect it to the code to check it under simulations!

Join my VHDL course to start learning!

Students saying:

  • Hassan Rabbani: Good Course. Highly recommended

  • Aleksander Bosko: I have knowledge in VHDL, I think that you need some knowledge as the instructor wrote. This is a Very good course for learning how to use Flash memory. I tried to find this for long time, thanks for making the impossible possible!!!

Today, every FPGA needs to load from Flash memory. the Flash load the FPGA in every reset of the board/development board.

The other uses of flash memories is of course to storage your data, this will happen from the FPGA itself by writing a code that controls the flash memory or a CPU that can communicate the flash memory.

Every company that hire FPGAs engineer will be more than happy to have this knowledge of using Flash memories.

In this course, Which is actually the only course/Video or article that explains how to use the Flash memory from zero within the hole internet(and you can check this…), I will teach you everything you need to know in order to work with the Flash memory. After this course you will become a master for Flash memory.

Because of the complex of the using of flash memory and the SPI protocol with quad data, there is no even one source you will find- search google and see by yourself.

The VHDL course is long so I will cover all of the issues and timing problems within this course.

We will write the full VHDL code to work with the flash memory we will also edit and improve the code in the simulation. On the end of this VHDL course you will have a full working code(which you can download or write through the lectures with me and compare to my code).

Here is a list of just a brief overview of what you will learn:

  • Nor flash vs Nand flash – why do we need nor flash for fpga load?(why not nand flash?)

  • Timing issues of the Flash memories and how to handle them within the code(explained with the PDF datasheet)

  • How to configure the flash memory inner registers

  • How to write data to the flash memory in single mode

  • How to write data to the flash memory in quad mode

  • How to read data from the flash memory

  • How to erase the flash memory

  • Flash memory frequencies explanation

  • Flash memory – memory table and memory partitions is explained

  • How to connect Micron Memory Flash Verilog module to our VHDL code

  • Simulate in Modelsim the Micron flash memory – This flash memory module represent a real module with the real timing issues, voltages and all of its configurations including resetting and everything…

  • The flash memory works with SPI protocol so the VHDL code covers that too

  • etc…..

This VHDL Course was made for all levels by a professional electronic and computer engineer. with a huge experience with FPGAs of all of the companies in the market and Board designing. Working with many different Flash Memories.

  • After finishing this VHDL course I can guarantee you will be able to take any other Flash Memory(Nand,Nor etc..) of any manufacturer and understand it and even write down your VHDL code for it.

  • This VHDL course comes with a 30 day money back guarantee! If you are not satisfied in any way, you’ll get your money back.

    So what are you waiting for? Learn FPGA Development in a way that will advance your career and increase your knowledge, all in a fun and practical way!


Who this course is for

  • Anyone who wants to know how to use FLASH Memory from Scratch
  • Anyone who wish to become a better VHDL developer


Course content

  • Introduction
    • Introduction
    • Nor flash memory Vs Nand flash memory
    • SPI Protocol and our Flash
    • Download the QSPI component Verilog model
    • Our QSPI Nor flash memory PDF datasheet explained
    • QSPI nor flash communication timing
  • VHDL coding
    • VHDL Code Plan – Must watch to understand the rest!
    • Writing the top entity and the Testbench Part1
    • Write the Registers File Component
    • Writing the controller for the QSPI PART1
    • Write the Read Data Process
    • Writing the Write enable to the global clock
    • Write the Send Quad command Process
    • Write the Send Quad Address Process
    • Write the Send Quad Data Process
    • Write the Send NonVolatile Data Process
    • Write the Main State Machine
    • Write the Initialization State Machine
    • Write the Read status register state machine
    • Write the Fast Read state machine
    • Write the Data to the QSPI state machine
    • Write 16 bits command state machine
    • Write 8 bits command state machine
    • Write the Sector Erase state machine
    • Connecting the QSPI controller and the register file to the top entity
  • Simulating the full project
    • Adding the QSPI flash memory Verilog component to the test bench
    • Open the project files in Modelsim and fixing syntax errors
    • Simulate the project and fix the clocks and initialization
    • Writing the Testbench and test the Read status register
    • Writing the Testbench and test the Write data to the QSPI
    • Writing the Testbench and test the Fast read
    • Writing the Testbench and test the Write 16 bits
    • Writing the Testbench and test the Write 8 bits
    • Writing the Testbench and test the Sector erase
    • Final files for this Course and Conclusions!
  • Extra
    • Bonus lecture


FPGA VHDL coding QSPI nor flash memory from zero to heroFPGA VHDL coding QSPI nor flash memory from zero to hero

Time remaining or 839 enrolls left


Don’t miss any coupons by joining our Telegram group 

Udemy Coupon Code 100% off | Udemy Free Course | Udemy offer | Course with certificate