цифровая электроника
вычислительная техника
встраиваемые системы

 

VexRiscv: модульная реализация RISC-V для FPGA

Автор: Mike(admin) от 9-08-2017, 18:25

Поскольку ПЛИС FPGA – это всего лишь сочетание компонентов цифровой логики на кристалле, для разработчиков не является редкостью создавать процессор, используя хотя бы часть схемы FPGA.


VexRiscv: модульная реализация RISC-V для FPGA

С появлением новых типов ядер появляются и новые их реализации для программируемых логических схем. VexRiscv – это реализация архитектуры процессора RISC-V с использованием языка SpinalHDL.

SystemVerilog Editor – бесплатный функциональный редактор для программ на языке Verilog

Автор: Mike(admin) от 27-07-2015, 06:19

Работа с программируемыми логическими интегральными схемами (ПЛИС) с программной точки зрения не проще, а зачастую сложнее программирования микроконтроллеров или обычных персональных компьютеров. Но не все редакторы языков Verilog или VHDL имеют такое же удобство пользования, как у редакторов для программирования более классических вычислительных машин. Поэтому для тех, кто разрабатывает программы для ПЛИС в частности на языке Verilog, был бы полезен простой и удобный инструмент наподобие редактора NotePad++. Редактор SystemVerilog Editor благодаря своей функциональности может стать таковым.


SystemVerilog Editor – бесплатный функциональный редактор для программ на языке Verilog

Недорогая Arduino-совместимая плата с ПЛИС FPGA

Автор: Mike(admin) от 18-06-2015, 15:35

Если вы прожженный ардуинщик, но все же интересуетесь разработками с использованием плат на основе программируемых логических интегральных (ПЛИС) схем типа FPGA, то вас может заинтересовать недавнее появление отладочной платы DE0 Nano SoC Development Kit тайваньской компании Terasic.


Недорогая Arduino-совместимая плата с ПЛИС FPGA

В основе платы лежит микросхема Cyclone V с 40000 логических элементов и с интегрированным двухъядерным процессором ARM Cortex A9. Полезная особенность этой платы заключается в том, что благодаря расположению разъемов она совместима с шилдами Arduino.

Список недорогих отладочных плат с ПЛИС FPGA

Автор: Mike(admin) от 7-09-2014, 16:46

Сегодня представлено большое количество отладочных и оценочных плат с программируемым логическими интегральными схемами. Они различаются своими возможностями, размерами и ценой. Перед разработчиком зачастую встает вопрос, какую плату использовать для своего проекта. Чтобы ответить на этот вопрос, нужна информация о представленных на мировом рынке платах с ПЛИС.


ПЛИС

Представленный список недорогих (до $300) отладочных плат с их розничными ценами и возможностями отнюдь не исчерпывающий, но позволяет сориентировать разработчика в его непростом выборе.

Код процессора Parallax Propeller 1 выложен в открытый доступ

Автор: Mike(admin) от 10-08-2014, 05:38

Компания Parallax опубликовала исходный код своего популярного 32-разрядного 8-ядерного микроконтроллера Propeller 1 (P8X32A). Этот контроллер был выпущен в 2006 году и завоевал большую популярность среди радиолюбителей и энтузиастов.


Parallax Propeller 1

Код процессора доступен на языке описания аппаратуры Verilog под лицензией GNU General Public License v3.0. Но в Parallax решили выложить не только файлы восьмилетней давности, но и все конфигурационные файлы, необходимые для реализации процессора на ПЛИС Altera Cyclone IV. Причем конфигурации ориентированы на две отладочные платы: дешевую DE0-Nano и более дорогую, но в то же время более функциональную Altera DE2-115, на которой можно будет в последствии реализовать процессор Propeller 2.

Verilog. Базовый курс. Часть VI

Автор: Mike(admin) от 11-02-2014, 13:21

Структура If/Else


Последний основной момент Verilog, который мы разберем в рамках данного базового курса, это структура If/Else. При корректном использовании она представляет собой крайне полезный инструмент.


verilog

Сначала рассмотрим несколько правил, которые нужно соблюдать в отношении структуры If/Else в Verilog:



Verilog. Базовый курс. Часть V

Автор: Mike(admin) от 9-02-2014, 08:47

Поведенческое описание схем на Verilog


До сих пор мы рассматривали только структурную логику на Verilog, когда поведение схемы определяется только один раз, и эта схема не изменяется в зависимости от входных состояний (меняется только выходное значение в соответствии со спроектированной цепью). Поведенческая логика позволяет вам изменить поведение схемы на основе информации о сигналах на входах. Идея этого подхода напоминает циклы с условиями и конструкции типа if/else/case в C/C++.


Always-блоки


Сочетание слов «Verilog» и «поведенческий» у знающих людей вызывает ассоциацию с always-блоками. Always-блок представляет собой кодовую структуру, которая переопределяется всякий раз, когда изменяется состояние триггера. Что это значит? Рассмотрим простой always-блок с двумя входами sw0 и sw1.



Verilog. Базовый курс. Часть IV

Автор: Mike(admin) от 5-02-2014, 09:15

Циклы в Verilog


В предыдущей части мы на простом примере познакомились с принципом модульной конструкции в Verilog и создали RS-триггеры с помощью концепции модуля-экземпляра.


Но что нам делать, если потребуется создать много (например, 50) D-триггеров, которые должны быть соединены между собой в соответствии со схемой делителя частоты? Мы уже знаем, как сделать общий модуль для D-триггера, поэтому нужно сделать 50 экземпляров этого модуля и соединить входы тактового сигнала каждого модуля с выходом предыдущего, также подвести сигнал Сброс (Reset) ко всем модулям и вывод D через инверсию соединить с выходом Q. В общем, нужно сделать всё то, что показано на рисунке:


verilog

Вручную писать столько экземпляров (50 штук по 6 строк в каждом – 300 строк!) – не практично. Поэтому в Verilog для генерации большого числа одинаковых модулей мы можем воспользоваться циклом контроллера счетчика, который является чем-то вроде цикла for. Но, чтобы этот цикл работал правильно, мы должны тщательно продумать структуру делителя частоты.

Verilog. Базовый курс. Часть III

Автор: Mike(admin) от 3-02-2014, 08:30

Модульная конструкция


Модульная конструкция проекта – это, пожалуй, базовый принцип построения схем на ПЛИС, поэтому этой теме стоит уделить пристальное внимание.


verilog

Ранее мы уже касались термина «модуль», но теперь мы уточним некоторые важные нюансы. Каждый исходный файл Verilog содержит один и только один раздел определения модуля. Тогда как мы можем создавать сложные проекты, которые включают в себя множество мелких модулей? Давайте в качестве примера возьмем создание цепи управления светодиодом с использованием таймера. Что нужно для нашей схемы, чтобы светодиод мигал каждую секунду при нажатии, например, какой-нибудь кнопки, которая подавала бы на вход лог. «1»? Также на входе у нас есть таймер 50 МГц.

Verilog. Базовый курс. Часть II

Автор: Mike(admin) от 31-01-2014, 18:16

В первой части мы создали простой проект на Verilog типа «Hello World» и рассмотрели некоторые базовые моменты. В этой части мы углубимся в дело изучения этого языка и в сам процесс проектирования на ПЛИС.


Подготовка к программированию платы


В данном случае воспользуемся платой Digilent Basys 2 с ПЛИС Xilinx Spartan 3-E FPGA.


Digilent Basys 2

Итак, о чем же нам нужно в первую очередь позаботиться? Правильно, о UCF-файле. Следует помнить, что в зависимости от модели платы выводы могут иметь различное функциональное значение, то есть могут быть «привязаны» к светодиодам, кнопкам и т.п. Перед использованием платы стоит внимательно изучить схему.


Для данной платы назначение вывода будет следующим:


Назад Вперед
Наверх