Первый старт Nios Altera на Verilog
Софт микропроцессор Nios от Altera хорошо известен в среде плисоводов. Но чтобы приступить к его использованию в каком-либо проекте новичку, необходимо уяснить несколько довольно муторных моментов. В данном посте первая часть - создание микропроцессора и его небольшой обвъязки в среде Quartus 9 и SOPS Buider.
Для тех кто привык иметь дело с обычными микроконтроллерами, например AVR или даже ARM, Nios на первый взгляд довольно непривычная штука. В основном эта непривычность определяется средствами сборки микропроцессора, а вернее средствами его программирования и отладки.
Итак начнем. Все опереации будем описывать базируясь на отладочном модуле DE0 Board ссылка на который имеется в посте Uart VHDL, хотя при наличии его отсутствия вполне можно все операции повторить и на любой другой отладочной плате с ПЛИС от Altera позволяющей установку на ней системы Nios. Для начала нужно запустить Quartus (будем работать в Quartus 9.0), в последующих версиях все будет работать не хуже, создать пустой проект, например NiosPio (будем тестировать работу PIO контроллера NIOS на светодиодах) и затем запустить SopsBuilder, Главное меню/Tools/SOPS Builder и дать название будущей системы с определением языка описания системы. В нашем случае систему соберем на Verilog, как показано на картинке и дадим ей название NiosPioSops. Кстати, в процессе, не помешает посетить раздел учебников Verilog VHDL.
В SOPS Builder необходимо просто создать конфигурацию нашей микропроцессорной системы. Это делается двойным кликом по нужному компоненту библиотеки представленной в левом верхнем окне SOPS Builder. Процессор для начала вполне подойдет не навороченный, например такой.
Не помешает в этом процессе букварик типа SOPS Builder Handbook. Пока, чтобы не усложнять процесс, все выполним на базе внутренней памяти ПЛИС. В дальнейшем, для развитых пректов, внутренней памяти ПЛИС конечно же будет не достаточно и нужно будет подключать к проекту внешнюю SDRAM. В результате манипуляций мышкой и клавиатурой получится система представленная на картинке ниже.
Нужно обратить внимание на то, что после создания системы в процессоре (cpu_0) пока не установлены Reset Vector: Memory: и Exception Vector: Memory. Их нужно установить перейдя в редактирование процессора как показано на рисунке.
Теперь можно нажать на кнопку Generate, начнется процесс генерирования микропроцессорной системы на Verilog с записью сгенерированных файлов в папку проекта. В частности для нашей системы самый главный файл будет назван NiosPioSops_inst.v. Далее нужно перейти в ID Quatus и создать верхнеуровневый Verilog файл, например NiosPioTop.v, в котором дать названия и выполнить необходимые присвоения внешним сигналам. Все показано ниже.
// --------------------------------------------------------------------
module NiosPioTop
(
// Входной клок
CLOCK_50, // 50 MHz
// Выходы GPIO //
GPIO_0
);
// Входной клок
input CLOCK_50; // 50 MHz
// Выходы GPIO
output [7:0] GPIO_0; //
//=======================================================
// Structural coding
//=======================================================
// Системный сброс
wire system_reset_n;
assign system_reset_n = 1'b1;
// Внешние соединение системы
NiosPioSops NiosPioSops_inst
(
// глобальные сигналы:
.clk_0 (CLOCK_50),
.reset_n (system_reset_n),
// GPIO_0
.out_port_from_the_pio_0 (GPIO_0)
);
endmodule
В данном соединении не используется только сигнал system_reset_n В дальнейших проектах его можно будет использовать для сброса любых других присоединенных модулей системы. Теперь можно файл NiosPioTop.v назначить верхнеуровневым и запустить компиляцию проекта. После успешной компиляции необходимо в Pin Planer присвоить сигналам нужные ноги. Чтобы не морочиться, назначения для DE0 Board на картинке ниже.
Далее запускаем IDE Nios нажав на кнопку 'Nios || IDE' в SOPS Builder которая находится на вкладке System Generation. Пришло время реально помигать светодиодами. Продолжение в следующем посте Altera Nios GPIO контроллер.
Электроника :
- Техника электроника (11)
- Полезная электроника (4)
- Электроника для всех (5)
- Техника для дома (6)
- Cхемотехника ПЛИС (11)
- Пректирование PCAD (4)
Программирование :
- Микроконтроллеры (9)
- ПЛИС VHDL Verilog (29)
- C++ Builder (7)
- Visual Studio C++ C# (7)
- Java programming (7)
- Matlab programming (4)
Сайтостроение :
- Сайтостроение HTML (5)
- Сайтостроение PHP (8)
- PHP CMS на файлах (3)
- Web инструменты (9)
- Полезное вебмастеру (11)
- SEO раскрутка сайта (4)
- PHP скрипты (3)
Реклама :
Книги и учебники :
- Шаблоны сайтов (6)
- Книги и учебники (2)
Компьютер и интернет :
Поиск по сайту :
Реклама :
Облако меток :
Бесплатная подписка :
Статистика :
- Популярность (3)
- Посещаемость (3)
- Поисковые запросы (3)