Съдържание:
- Стъпка 1: Преглед на SPI
- Стъпка 2: Спецификации на дизайна
- Стъпка 3: Стартиране
- Стъпка 4: RTL изглед на SPI Master Core и симулационни форми на вълни
![Дизайн на SPI Master във VHDL: 6 стъпки Дизайн на SPI Master във VHDL: 6 стъпки](https://i.howwhatproduce.com/images/002/image-5866-8-j.webp)
Видео: Дизайн на SPI Master във VHDL: 6 стъпки
![Видео: Дизайн на SPI Master във VHDL: 6 стъпки Видео: Дизайн на SPI Master във VHDL: 6 стъпки](https://i.ytimg.com/vi/tudGATqpTCs/hqdefault.jpg)
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:52
![Дизайн на SPI Master във VHDL Дизайн на SPI Master във VHDL](https://i.howwhatproduce.com/images/002/image-5866-9-j.webp)
В тази инструкция ще проектираме SPI Bus Master от нулата във VHDL.
Стъпка 1: Преглед на SPI
- SPI е синхронна серийна шина
- Неговата популярност и простота го направиха фактически стандарт в серийната комуникация
- Пълнодуплексен автобус
- Прост протокол и сред най -бързата серийна шина
Стъпка 2: Спецификации на дизайна
Това са спецификациите на SPI Master, който ще проектираме:
- Поддържа и четирите режима на работа; динамично конфигуриране
- Управление на часовника за пестене на енергия
- Статично конфигурируема дължина и скорост на думата
- Единично прекъсване както за предаване, така и за приемане
Стъпка 3: Стартиране
На първо място, нашият IP трябва да има два интерфейса. Единият е сериен интерфейс, а другият е паралелен интерфейс. Серийният интерфейс се състои от фактическите стандартни сигнали на SPI: MOSI, MISO, SS, SCLK.
MOSI понякога се нарича SDO, а MISO понякога се нарича SDI.
Серийният интерфейс се използва за комуникация с външни периферни устройства, т.е. SPI подчинени устройства.
Паралелен интерфейс се използва за комуникация с нашия хост, т.е. т.е. всички шини за данни принадлежат към паралелен интерфейс.
Имаме глобален часовник, който управлява вътрешната SPI логика, както и SCLK, който генерираме вътрешно.
Имаме и някои управляващи сигнали като разрешаване на запис, разрешаване на часовник. И прекъсвания и други сигнали за състоянието.
Тъй като трябва да се справим със сложни условия за управление, е по -лесно да се проектират такива IP адреси за серийна комуникация като FSM. Ще проектираме и SPI master като FSM. FSM ще се задвижва от друг вътрешен часовник, който е два пъти SCLK. Този вътрешен часовник се генерира с помощта на синхронни броячи от глобалния часовник.
Всички контролни сигнали, които имат кръстосани домейни, имат синхронизатори, за да бъдат от по -безопасна страна.
Стъпка 4: RTL изглед на SPI Master Core и симулационни форми на вълни
![RTL Изглед на SPI Master Core и симулационни форми на вълни RTL Изглед на SPI Master Core и симулационни форми на вълни](https://i.howwhatproduce.com/images/002/image-5866-10-j.webp)
![RTL Изглед на SPI Master Core и симулационни форми на вълни RTL Изглед на SPI Master Core и симулационни форми на вълни](https://i.howwhatproduce.com/images/002/image-5866-11-j.webp)
Това е чист RTL дизайн без използвани специални FPGA IP. Следователно това е напълно преносим код към всяка FPGA.
Препоръчано:
Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: 4 стъпки
![Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: 4 стъпки Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: 4 стъпки](https://i.howwhatproduce.com/images/011/image-32050-j.webp)
Проектиране на прост четирипосочен контролер за асоцииран кеш във VHDL: В предишните ми инструкции видяхме как да проектираме прост директно картографиран кеш контролер. Този път вървим крачка напред. Ще проектираме прост четирипосочен контролер за асоциативен кеш. Предимство? По -малък процент пропуски, но с цената на перфо
Проектиране на програмируем контролер за прекъсвания във VHDL: 4 стъпки
![Проектиране на програмируем контролер за прекъсвания във VHDL: 4 стъпки Проектиране на програмируем контролер за прекъсвания във VHDL: 4 стъпки](https://i.howwhatproduce.com/images/012/image-33359-j.webp)
Проектиране на програмируем контролер за прекъсвания във VHDL: Уморен съм от вида на отговорите, които получавам в този блог. Благодаря ви момчета, че посетихте моя блог и ме мотивирахте да споделя знанията си с вас. Този път ще представя дизайна на друг интересен модул, който виждаме във всички SOC - Interrupt C
Проектиране на обикновен кеш контролер във VHDL: 4 стъпки
![Проектиране на обикновен кеш контролер във VHDL: 4 стъпки Проектиране на обикновен кеш контролер във VHDL: 4 стъпки](https://i.howwhatproduce.com/images/001/image-1021-59-j.webp)
Дизайн на прост кеш контролер във VHDL: Пиша тази инструкция, защото ми беше малко трудно да получа някакъв референтен VHDL код, за да науча и да започна да проектирам кеш контролер. Затова сам проектирах кеш контролер от нулата и го тествах успешно на FPGA. Имам п
Дизайн на I2C Master във VHDL: 5 стъпки
![Дизайн на I2C Master във VHDL: 5 стъпки Дизайн на I2C Master във VHDL: 5 стъпки](https://i.howwhatproduce.com/images/002/image-4092-42-j.webp)
Дизайн на I2C Master във VHDL: В тази инструкция се обсъжда проектирането на прост I2C master във VHDL. ЗАБЕЛЕЖКА: щракнете върху всяко изображение, за да видите пълното изображение
Проектиране на обикновен VGA контролер във VHDL и Verilog: 5 стъпки
![Проектиране на обикновен VGA контролер във VHDL и Verilog: 5 стъпки Проектиране на обикновен VGA контролер във VHDL и Verilog: 5 стъпки](https://i.howwhatproduce.com/images/002/image-4965-32-j.webp)
Дизайн на прост VGA контролер във VHDL и Verilog: В тази инструкция ще проектираме прост VGA контролер в RTL. VGA контролер е цифровата схема, предназначена за задвижване на VGA дисплеи. Той чете от Frame Buffer (VGA Memory), който представлява рамката за показване и генерира необходимо