ycliper

Популярное

Музыка Кино и Анимация Автомобили Животные Спорт Путешествия Игры Юмор

Интересные видео

2025 Сериалы Трейлеры Новости Как сделать Видеоуроки Diy своими руками

Топ запросов

смотреть а4 schoolboy runaway турецкий сериал смотреть мультфильмы эдисон
Скачать

Introduction to FPGA Part 8 - Memory and Block RAM | Digi-Key Electronics

Автор: DigiKey

Загружено: 2021-12-27

Просмотров: 36202

Описание: A field-programmable gate array (FPGA) is an integrated circuit (IC) that lets you implement custom digital circuits. You can use an FPGA to create optimized digital logic for things like digital signal processing (DSP), machine learning, and cryptocurrency mining. Because of the FPGA’s flexibility, you can often implement entire processors using its digital logic. You can find FPGAs in consumer electronics, satellites, and in servers used to perform specialized calculations.

In this series, we will see how an FPGA works and demonstrate how to create custom digital logic using the Verilog hardware description language (HDL).

Previously, we demonstrated how to create a Verilog testbench and simulate a design using Icarus Verilog (   • Introduction to FPGA Part 7 - Verilog Test...  ). In this episode, we look at using block RAM to store data.

The solution to the challenge at the end of the episode can be found here: https://www.digikey.com/en/maker/proj...

All code examples and solutions for this series can be found here: https://github.com/ShawnHymel/introdu...

Often you will need to store data in your digital design. This could be samples from a sensor, instructions for a CPU, or output from complex mathematical calculations. One obvious place to store data is in the D flip-flops in the logic cells. However, as each flip-flop can store only 1 bit, you would quickly waste most of your cells trying to store more than a few bytes.
One solution is to store data in the look-up tables (LUTs). This is known as “distributed RAM.” If you don’t need to store much data, your synthesis tool might allocate LUTs as distributed RAM. However, if you need to store more than a few bytes, you might be better off using block RAM.

A block RAM is a contiguous piece of memory that exists alongside the reprogrammable fabric. In most cases, block RAM is reconfigurable to a number of widths and depths. We can use system functions (denoted with a ‘$’) to allocate block RAM, but these commands are often unique to a particular synthesis tool.

Instead, we will write pure Verilog code that describes the behavior of the RAM. The synthesis tool will infer that we want to use block RAM and allocate it for us.

Additionally, we can write a text file with initial RAM values if we wish to have the synthesis tool load those values into RAM during the FPGA configuration process.

Your challenge is to create a simple 2-bit sequencer that records and plays up to 8 steps. You should use two buttons to enter a pattern and another button to record that pattern to memory. Meanwhile, the FPGA should be looping through the memory elements (e.g. 8 memory elements) and displaying the stored patterns on 2 of the LEDs.

Product Links:
https://www.digikey.com/en/products/d...

Related Videos:
   • Видео  
   • Видео  
   • Видео  

Related Project Links:
https://www.digikey.com/en/maker/proj...

Related Articles:
https://www.digikey.com/en/pdf/r/rene...
https://www.digikey.com/en/videos/d/d...

Learn more:
Maker.io - https://www.digikey.com/en/maker
Digi-Key’s Blog – TheCircuit https://www.digikey.com/en/blog
Connect with Digi-Key on Facebook   / digikey.electronics  
And follow us on Twitter   / digikey  

Не удается загрузить Youtube-плеер. Проверьте блокировку Youtube в вашей сети.
Повторяем попытку...
Introduction to FPGA Part 8 - Memory and Block RAM | Digi-Key Electronics

Поделиться в:

Доступные форматы для скачивания:

Скачать видео

  • Информация по загрузке:

Скачать аудио

Похожие видео

Introduction to FPGA Part 9 - Phase-Locked Loop (PLL) and Glitches | Digi-Key Electronics

Introduction to FPGA Part 9 - Phase-Locked Loop (PLL) and Glitches | Digi-Key Electronics

FPGA Design | Beyond dev boards: your own custom PCB

FPGA Design | Beyond dev boards: your own custom PCB

What is a Block RAM in an FPGA?

What is a Block RAM in an FPGA?

Get Started With FPGAs and Verilog in 13 Minutes!

Get Started With FPGAs and Verilog in 13 Minutes!

Introduction to FPGA Part 10 - Metastability and Clock Domain Crossing | Digi-Key Electronics

Introduction to FPGA Part 10 - Metastability and Clock Domain Crossing | Digi-Key Electronics

Introduction to FPGA

Introduction to FPGA

Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

Introduction to FPGA Part 1 - What is an FPGA? | Digi-Key Electronics

Лучший способ начать изучать Verilog

Лучший способ начать изучать Verilog

Объяснение выводов ПЛИС!

Объяснение выводов ПЛИС!

Introduction to FPGA Part 11 - RISC-V Softcore Processor | Digi-Key Electronics

Introduction to FPGA Part 11 - RISC-V Softcore Processor | Digi-Key Electronics

Introduction to FPGA Part 12 - RISC-V Custom Peripheral | Digi-Key Electronics

Introduction to FPGA Part 12 - RISC-V Custom Peripheral | Digi-Key Electronics

Block RAM vs Distributed RAM in FPGA | Which One Should You Use?

Block RAM vs Distributed RAM in FPGA | Which One Should You Use?

FPGA and DSP ep. 1:Efficient parallel FIR filter implementation on FPGA

FPGA and DSP ep. 1:Efficient parallel FIR filter implementation on FPGA

How does Computer Memory Work? 💻🛠

How does Computer Memory Work? 💻🛠

FPGA Projects

FPGA Projects

Обработка изображений на Zynq (ПЛИС): Часть 1. Введение

Обработка изображений на Zynq (ПЛИС): Часть 1. Введение

The History of the FPGA: The Ultimate Flex

The History of the FPGA: The Ultimate Flex

Introduction to FPGA Part 7 - Verilog Testbenches and Simulation | Digi-Key Electronics

Introduction to FPGA Part 7 - Verilog Testbenches and Simulation | Digi-Key Electronics

Как работают компьютеры? Центральный процессор, ПЗУ, ОЗУ, адресная шина, шина данных, шина управл...

Как работают компьютеры? Центральный процессор, ПЗУ, ОЗУ, адресная шина, шина данных, шина управл...

Что такое ПЛИС? Введение для начинающих

Что такое ПЛИС? Введение для начинающих

© 2025 ycliper. Все права защищены.



  • Контакты
  • О нас
  • Политика конфиденциальности



Контакты для правообладателей: [email protected]