Важная информация

User Tag List

Страница 41 из 48 ПерваяПервая ... 373839404142434445 ... ПоследняяПоследняя
Показано с 401 по 410 из 472

Тема: Потактовый клон i8080 на FPGA/CPLD

  1. #401
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    А кто-нибудь с Xilinx работал? Повозился я с ISE, давненько я так не страдал. Особенно доставляет инициализация памяти (та что ROM, с программой). Сначала попробовал core generator, он притащил в проект кучу вонючего хлама на много мегабайт, а всего-то надо сгенерировать блок 16К*8. Потом он никак не хотел жрать .coe файл (контент для инициализации). Там у него особо извращенческие требования, умирает сразу при любой непонятке. Потом начал падать мой любимый srec_cat (я им пытался .coe родить из хекса) - оказывается там с 2014 года ошибка в генерации .coe до сих пор неисправленная. Потом я попробовал пару разных конвертеров. Наконец, с десятой попытки генератор сожрал .coe, он его удовлетворил. Урюкам из х#йлинкса даже не приходит в голову что кто-то может генерить файлы не из их EDK - нет никаких утилит для генерации .coe файлов из стандартных. Запустился 580-ый процессор, но полезли проблемы. Начал корректировать тестовую программу, и выяснилось, что для подстановки нового контента снова надо генерить память генератором с самого начала. Долго и нудно, снова мудачизм полный...

    Посмотрел что народ делает. Оказывается можно память тупо задать массивом и инициализировать ее $readmemh(), который у х#йлинкса стал синтезируемым. Новости географические, блин. Перешел в состояние радостно-отстраненного удивления. Вышел из него. Очередная долгая и нудная возня с форматом файла для $readmemh(). О, да! Их считыватель не жрет .mem файлы по стандарту Верилога, только очень ограниченное подмножество. В софте 2014 года, Карл! Который продается по $4K. Посмотрел примеры, подобрал формат. Но не нашел утилиту которая его автоматически может генерировать из .bin/.hex. Приходится допатчивать руками после каждой компиляции. Может кто из опытных чего посоветует? Нужен быстрый маршрут обновления содержимого ROM в Спартане после перекомпиляции ассемблерных исходников тестового кода 580-го.

    Ну... В итоге все заработало на плате AX309 со Sparta6-SLX9-3, сравним с DE0 и Cyclone III:
    - частота проекта чуть более 100МГц у обоих, примерно одинакова
    - LUT 750 у Spartan и 948 у Cyclone
    - REG 451 (260 slices) у Spartan и 416 у Cyclone

  2. #402
    Guru Аватар для svofski
    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,116
    Спасибо Благодарностей отдано 
    793
    Спасибо Благодарностей получено 
    658
    Поблагодарили
    403 сообщений
    Mentioned
    22 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Vslav, сочувствую. Я только скачал ISE на днях, повозился пару часов с этим адом, меня тяжко стошнило и я стал Квартус еще больше ку.
    Больше игр нет

  3. #403
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Vslav, сочувствую
    Да ладно, это был любопытный опыт. Это как в "Голубую устрицу" забежал, осмотрелся и выскочил. Успел, без потерь
    Привыкнуть к ISE можно, но Квартус как-то побыстрее работает (ISE ну очень неспешно все делает), ошибок меньше, в ISE есть явные косяки, даже просто в текстовом редакторе. Симулятор не пробовал, там все равно есть интеграция с привычным Modelsim.

    Проверилась переносимость кода, вылезло что все константы надо задавать 64-битными, Q2 делитель правильно посчитал, а вот XST его обрезал, в итоге UART неверно битрейт генерировал. А так - все быстро завелось. Еще с блочной памятью разобрался, теперь ВМ1 понятно как портировать. Lattice еще попробовать, что ли... Есть на Али недорогие платы с MachXO3

    PS. Проект для Spartan-6 на плате AX309 опубликован.

  4. #404
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Кстати, портировал проект на DE2-115, там толстый Cyclone IV E EP4CE115. Так частота упала до 73МГц. Микросхема то большая, отлично, но - медленнее.

  5. #405
    Master
    Регистрация
    27.11.2013
    Адрес
    г. Санкт-Петербург
    Сообщений
    828
    Спасибо Благодарностей отдано 
    34
    Спасибо Благодарностей получено 
    128
    Поблагодарили
    108 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в ise есть planahead он более понятен чем исе. Смотрите видео и читайте документацию от xilinx. Докучи есть понятие вебпак - он бесплатный.
    пс: лично по мне xilinx более приятен и интуитивно понятен чем altera. У каждого есть свои "причуды и глюки".
    пс: просьба ко всем: не развивать тему кто лучше! Лично я "сижу" на вивадо - он тож есть бесплатный.

  6. #406
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от AlexG Посмотреть сообщение
    в ise есть planahead он более понятен чем исе
    Да, planahead хорошая штука, мне понравилась. Правда я редко и квартусовским аналогом Floorplan Editor пользуюсь.

    Цитата Сообщение от AlexG Посмотреть сообщение
    пс: лично по мне xilinx более приятен и интуитивно понятен чем altera. У каждого есть свои "причуды и глюки".
    пс: просьба ко всем: не развивать тему кто лучше! Лично я "сижу" на вивадо - он тож есть бесплатный.
    Это вопрос привычки. Увы, Вивадо не поддерживает Spartan6, приходится кушать исю, как она есть.
    Согласен, тему тут развивать не будем, не нужен нам холивар. Я посмотрел на Xilinx, представление получил, проверил портируемость кода и ОК.

  7. #406
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #407
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,563
    Спасибо Благодарностей отдано 
    1,224
    Спасибо Благодарностей получено 
    1,766
    Поблагодарили
    685 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Кстати, портировал проект на DE2-115
    Оффтоп: ВМ2 очень просит словами благодарных пользователей себя доделать)

  9. #408
    Guru Аватар для Vslav
    Регистрация
    31.03.2013
    Адрес
    г. Киев
    Сообщений
    2,413
    Спасибо Благодарностей отдано 
    132
    Спасибо Благодарностей получено 
    755
    Поблагодарили
    353 сообщений
    Mentioned
    86 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересная жизнь, однако. Сижу, убираю зависимость от F1. Все хорошо, процессор сохнет, уже ~600LUT и менее 200 триггеров. Выношу последние стробы из F1, и тут оно хлоп - перераспределяет регистры для этих стробов - и у снова 260 триггеров. Ну зато 100МГц, да. А я наивный чукотский юноша - хотел чтобы и быстро и компактно

    Цитата Сообщение от Titus Посмотреть сообщение
    Оффтоп: ВМ2 очень просит словами благодарных пользователей себя доделать)
    Та доделаем, 580-ый - это один из моих висячих хвостов, вот щаз его отрубим, всяко веселее будет.

    - - - Добавлено - - -

    Update: в-общем, все хорошо, флажок "Register Retiming" в Квартусе позволяет собрать ядро или быстро (100МГц, 300 регистров) или компактно (93МГц, менее 190 регистров). Только Квартус глючит, надо выйти и стереть промежуточную базу, иначе флажок не воздействует.

  10. #409
    Master Аватар для andreil
    Регистрация
    20.06.2005
    Адрес
    Светлогорск
    Сообщений
    885
    Спасибо Благодарностей отдано 
    9
    Спасибо Благодарностей получено 
    23
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну, тут уже те 7% разницы не так существенны, как экономия 110 регистров...
    "Байт-48"

  11. #410
    Guru
    Регистрация
    08.10.2005
    Адрес
    Москва
    Сообщений
    13,563
    Спасибо Благодарностей отдано 
    1,224
    Спасибо Благодарностей получено 
    1,766
    Поблагодарили
    685 сообщений
    Mentioned
    67 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Vslav Посмотреть сообщение
    Только Квартус глючит
    Квартус глючит, а Титус канючит)

Страница 41 из 48 ПерваяПервая ... 373839404142434445 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Комманды ассемблера/коды i8080/КР580ВМ80А
    от sergey2b в разделе Разное
    Ответов: 4
    Последнее: 29.11.2015, 14:01
  2. МикроСтеплер. Компилятор ЯП СТЕПЛЕР для i8080
    от Kakos_nonos в разделе Программирование
    Ответов: 8
    Последнее: 31.05.2013, 16:34
  3. Эмулятор i8080
    от Higgins в разделе Разное
    Ответов: 2
    Последнее: 20.05.2011, 11:43
  4. Использование FPGA и CPLD (ПЛИС и ПЛМ)
    от Mick в разделе Для начинающих
    Ответов: 69
    Последнее: 03.05.2006, 11:47

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •