Добро пожаловать, Гость
Логин: Пароль: Запомнить меня
  • Страница:
  • 1

ТЕМА: mips32r1 для плат Марсоход2 и Марсоход3

mips32r1 для плат Марсоход2 и Марсоход3 8 года 10 мес. назад #4848

  • frantony
  • frantony аватар Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
  • Сообщений: 36
  • Спасибо получено: 6
Предлагаю вашему вниманию демонстрационный проект SoC
для плат Марсоход2 и Марсоход3 на базе микропроцессорного
ядра mips32r1 (см. opencores.org/project,mips32r1 ).

Стандартной шиной для сборки SoC из IP-блоков opencores.org
является шина Wishbone, однако упомянутое ядро mips32r1
не поддерживает эту шину. Поддержка этой шины была добавлена
за счёт присоединения внешних "переходников", что вводит
дополнительную задержку.

К доработанному таким образом ядру mips32r1 через сгененированный
коммутатор Wishbone подключены два IP-блока с opencores:
блок ПЗУ на 1 КБ с программой nmon и блок UART.



Конфигурационный файл для генератора коммутаторов Wishbone,
сам генератор и все его библиотечные модули прилагаются.

Тактовая частота процессорного ядра и шины Wishbone для этого
проекта --- 10 МГц. Значения Fmax и показатели использования
ресурсов ПЛИС приведены ниже.

После старта процессора начинается исполнение nmon.
nmon производит инициализацию UART на скорость 9600,
выводит справку по командам и ждёт команд от пользователя.

Так как SoC содержит слишком мало аппаратуры, то в текущем
состоянии кроме запуска nmon демонстрационный проект
ничего пока делать не может.

Дальнейшее совершенствование проекта вижу в добавлении
контроллера SDRAM и контроллера SPI для подключения внешней
периферии, избавлении от переходников для Wishbone.

Репозиторий с проектом:

github.com/open-design/mips32r1_soc_nano

Сгенерированные проекты для Quartus --- в ветке marsohod_generated_files ( github.com/open-design/mips32r1_soc_nano...ohod_generated_files ).

Прямые ссылки на готовые файлы с битовыми потоками:

github.com/open-design/mips32r1_soc_nano...-q13.1-marsohod2.sof
github.com/open-design/mips32r1_soc_nano...-q13.1-marsohod2.svf
github.com/open-design/mips32r1_soc_nano...-q15.0-marsohod3.sof
github.com/open-design/mips32r1_soc_nano...-q15.0-marsohod3.svf

Для подключения к UART используются пины CN2. Вот схема подключения:
           CN2

     1 --  O o  -- 2
           o X
           o o
           o o
           o o  -- 10 (IO[5])  fpga --> host
           o o  -- 12 (IO[7])  fpga <-- host
    13 --  o o  -- 14 (GND)


Вот фрагменты логов Quartus'а:
marsohod2

+---------------------------------------------------------------------------------+
; Flow Summary                                                                    ;
+------------------------------------+--------------------------------------------+
; Quartus II 64-Bit Version          ; 13.1.4 Build 182 03/12/2014 SJ Web Edition ;
; Family                             ; Cyclone III                                ;
; Device                             ; EP3C10E144C8                               ;
; Total logic elements               ; 8,964 / 10,320 ( 87 % )                    ;
;     Total combinational functions  ; 8,027 / 10,320 ( 78 % )                    ;
;     Dedicated logic registers      ; 2,464 / 10,320 ( 24 % )                    ;
; Total registers                    ; 2464                                       ;
+------------------------------------+--------------------------------------------+

+---------------------------------------------------------------------------------+
; Slow 1200mV 85C Model Fmax Summary                                              ;
+------------+-----------------+--------------------------------------------------+
; Fmax       ; Restricted Fmax ; Clock Name                                       ;
+------------+-----------------+--------------------------------------------------+
; 25.45 MHz  ; 25.45 MHz       ; pll|altpll_component|auto_generated|pll1|clk[0]  ;
+------------+-----------------+--------------------------------------------------+


marsohod3

+---------------------------------------------------------------------------------+
; Flow Summary                                                                    ;
+------------------------------------+--------------------------------------------+
; Quartus II 64-Bit Version          ; 15.0.2 Build 153 07/15/2015 SJ Web Edition ;
; Family                             ; MAX 10                                     ;
; Device                             ; 10M50SAE144C8GES                           ;
; Total logic elements               ; 8,404 / 49,760 ( 17 % )                    ;
;     Total combinational functions  ; 8,037 / 49,760 ( 16 % )                    ;
;     Dedicated logic registers      ; 2,464 / 49,760 ( 5 % )                     ;
; Total registers                    ; 2464                                       ;
; Total memory bits                  ; 256 / 1,677,312 ( < 1 % )                  ;
; Embedded Multiplier 9-bit elements ; 16 / 288 ( 6 % )                           ;
+------------------------------------+--------------------------------------------+

+---------------------------------------------------------------------------------+
; Slow 1200mV 85C Model Fmax Summary                                              ;
+-----------+-----------------+---------------------------------------------------+
; Fmax      ; Restricted Fmax ; Clock Name                                        ;
+-----------+-----------------+---------------------------------------------------+
; 29.45 MHz ; 29.45 MHz       ; pll|altpll_component|auto_generated|pll1|clk[0]   ;
+-----------+-----------------+---------------------------------------------------+
Вложения:

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Последнее редактирование: от frantony. Причина: добавлена схема
  • Страница:
  • 1
Время создания страницы: 0.137 секунд
Работает на Kunena форум