Pull to refresh
9
0
Дмитрий @Dmitriy0111

FPGA — designer

Send message
Здравствуйте! Его можно и сейчас попробовать использовать для Xilinx, но у него нет axi интерфейса. Я бы посоветовал посмотреть в сторону другого riscv ядра Orca от VectorBlox (ибо сам пробовал с ним работать), достаточно интересное ядро, правда написано на vhdl.

Здравствуйте, а Вы тестировали то, что Вы написали? Хотелось бы увидеть общий код написанного Вами кэша помимо его отдельных частей, разбросанных по статье.

Остался самый нудный этап, хотя и полностью графический — назначить сигналам конкретные пины.

Данный этап можно также сделать в удобном для Вас текстовом редакторе, если правильно описать .qsf файл. Да и в целом можно вообще не запускать графическое представление Quartus. Например, как здесь github.com/Dmitriy0111/wrapper_for_8bitworkshop через makefile.
Здравствуйте! Пока ещё не успел сравнить с другими soft ядрами, но это в планах. Плюс надо проводить оптимизацию ядра.
Здравствуйте! Смотря что Вы хотите делать с ARM или RISC-V? Нельзя забывать о MIPS Open (https://www.mipsopen.com/), где есть много интересной информации, но соответственно по MIPS. Можете посмотреть в сторону SchoolMIPS (https://github.com/MIPSfpga/schoolMIPS) или других ядер (опять же смотря что Вам интересно).
Добавил в статью.
Спасибо за предложение. Добавил в статью.

Здравствуйте, да как раз задумывается JTAG отладчик, описание которого ведётся в соседнем репозитории: https://github.com/Dmitriy0111/JTAG_debug .

Здравствуйте, про Forth CPU что то слышал, но на практике не пробовал, поэтому сказать пока что ничего не смогу.

По поводу конвейера, не могу не прорекламировать проект под названием SchoolMIPS (https://github.com/MIPSfpga/schoolMIPS). Кроме конвейера там имеется сопроцессор и шина AHB-lite в топовой ветке. Плюс он реализован по цифровой схемотехнике от Харрис и Харрис. И собственно из него черпаю вдохновение для своего ядра, правда на основе risc-v. И ещё по поводу ресурсов, попробуйте синтезировать только ALU, ресурсов потребуется сразу же больше.

Здравствуйте, опередили однако) (сам недавно сел за описание небольшого ядра). Интересно сколько занимает Ваш проект на циклоне 4 или на любой другой ПЛИС, ибо увидел пару операций в АЛУ, которые "съедают" достаточно много ресурсов (/ и %)?

Добрый день, да я с вами полностью согласен, но дело в том, что эта статья писалась с целью того, как ненужно описывать аппаратуру и что необходимо следить за тем, что происходит в проекте (ошибки, предупреждения и много чего ещё). Кроме этого в статье не отражены результаты симуляции, которые стоит добавить впоследствии.
Изначально я описал аппаратуру согласно описанию test2, который успешно синтезировался и работал на SmartFusion2, однако при попытке перенести его на Cyclone IV возникли проблемы, которые я впоследствии понял. Модули test3 и test4 я проверил чисто из интереса, а именно как их вообще могут воспринять выбранные среды разработки.
И собственно этой статьей я хотел обратить внимание начинающих разработчиков FPGA на то, что необходимо придерживаться стандартов языков, а также понимать что такое FPGA и из чего она состоит. Через некоторое время я постараюсь переписать выводы статьи.
Добрый день.
По поводу:
Теперь по теме: поправьте меня если я ошибаюсь но мне кажется что результаты Quartus и Libero это и правда результат synthesis. Что же до Vivado то там уже мы видим более продвинутый этап.

Как в Quartus и Libero SoC так и в Vivado были взяты для рассмотрения одинаковые этапы синтеза, но видимо в Vivado изначально было принято так отображать синтезируемую схему (Если не так, то надеюсь меня поправят).
На счёт замечаний по поводу выводов статьи, они будут исправлены, возможно как и остальной текст. И да кроме знания синтаксиса языка также необходимо знать основы цифровой схемотехники, стандарт используемого языка, и много чего ещё. При переносе одного проекта от одной среды разработки к другой также может возникнуть ряд сложностей, например, среда Quartus не поддерживает тип real, хотя Libero SoC и Vivado, насколько я помню, правильно их интерпретируют. Помимо этого все среды разработки позволяют выбирать стандарты языка используемого для дизайна.
С VHDL к сожалению знаком слабо, только по одному курсу лабораторных работ, однако за то короткое время понял, что он является более строгим языком описания аппаратуры. Этой статьёй хотел обратить внимание новичков, которые только вступают на путь разработки на ПЛИС, на то, что необходимо анализировать ошибки и предупреждения возникающие при разработке. Это также связано с тем, что проведя курс лабораторных работ по описанию аппаратуры на языке Verilog понял, что не все студенты обращают внимание на ошибки и предупреждения, хотя в них обычно и написано, что конкретно не так в дизайне. И конечно согласен, что нет смысла анализировать все предупреждения досконально, но заострять внимание на определённых всё же стоит)

Information

Rating
Does not participate
Location
Новосибирск, Новосибирская обл., Россия
Date of birth
Registered
Activity