Перейти к содержанию
    

Программирование ПЛИС для маленьких спутников

Скачал ModelSim. Написал на Верилоге простой проект "Исключающее-ИЛИ" с тремя входами. Попробовал симулировать работу элемента.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 5/6/2024 at 1:18 PM, quest said:

Если уровень плис подготовки ненулевой, способны в коде разбираться, то ищите LEON SPARC.

LEON с троированием и обнаружением/коррекцией ошибок в свободном доступе мне не попадался.

Да, в коде и доках есть какие-то огрызки или общие куски, типа, странного crt0 с tmr-щиной, но не думаю, что это поможет понять.

Для освоения "процессоростроения" LEON/NOEL слишком непросто написан, лучше брать какойнибудь простой RiscV, например открытое ядро от синтакора

И небольшой совет автору топика - обратите внимание на бесплатные средства проектирования icarus verilog, verilator - если (что может быть и маловероятно) понадобится статью буржуям написать или какое-то  сотрудничество, то они спросят, откуда моделсим взялся. Verilator вообще монструозная вещь, но чтоб заработал надо постараться

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, yes said:

И небольшой совет автору топика - обратите внимание на бесплатные средства проектирования icarus verilog, verilator - если (что может быть и маловероятно) понадобится статью буржуям написать или какое-то  сотрудничество, то они спросят, откуда моделсим взялся. Verilator вообще монструозная вещь, но чтоб заработал надо постараться

Хорошо, посмотрю что за проги и буду иметь ввиду.

 

Подскажите ещё по одному моменту. В Simulink собрал модель, которая просто инвертирует входной сигнал (элемент НЕ), конвертировал её в Verilog и файл тестбенча (с помощью HDL Coder). Загружаю в ModelSim оба файла, но ни один их них не эмулируется. Как я понял, тестбенч включает в себя всевозможные режимы логической схемы, и по идее, симулятор должен их сам переключать. Но ничего не происходит. То ли я неверно понимаю принцип работы тестбенча, то ли файлы составлены неверно...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 07.05.2024 в 15:18, Booleek789 сказал:

Скачал ModelSim. Написал на Верилоге простой проект "Исключающее-ИЛИ" с тремя входами. Попробовал симулировать работу элемента.

 

И как?

 

4 часа назад, Booleek789 сказал:

Как я понял, тестбенч включает в себя всевозможные режимы логической схемы, и по идее, симулятор должен их сам переключать.

Симулятор исполняет тестбенч, что в тестбенче написано так и будут переключатся сигналы входных воздействий. Сам симулятор ничего не переключает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 hour ago, Jackov said:

И как?

modelsim-xor.thumb.PNG.4cf7bd8f1336439f5e24a7a4a2433d76.PNG

 

1 hour ago, Jackov said:

Симулятор исполняет тестбенч, что в тестбенче написано так и будут переключатся сигналы входных воздействий. Сам симулятор ничего не переключает.

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

vlib work
vlog  symmetric_fir.v
vlog  symmetric_fir_tb.v

В классическом варианте эти файлы выполняются с помощью команды QuestaSim>do через рабочее окно Матлаба. Но похоже моя версия МодельСим не дружит с версией Матлаба R2024а, т.к. QuestaSim>do попросту не работает. Надежда есть на то, что получится проделать все инструкции вручную. Ведь если посмотреть на содержимое .do файлов, можно понять, что именно они делают. Так вот, коды Верилога в формате .v в МодельСим я загрузил и скомпилировал. Всё в порядке. Но как быть со вторым набором инструкций, которые как раз и назначают входам модели нужные сигналы? Выглядит этот файл так:
 

onbreak resume
onerror resume
vsim -voptargs=+acc work.symmetric_fir_tb

add wave sim:/symmetric_fir_tb/u_symmetric_fir/clk
add wave sim:/symmetric_fir_tb/u_symmetric_fir/reset
add wave sim:/symmetric_fir_tb/u_symmetric_fir/clk_enable
add wave sim:/symmetric_fir_tb/u_symmetric_fir/x_in
add wave sim:/symmetric_fir_tb/u_symmetric_fir/h_in1
add wave sim:/symmetric_fir_tb/u_symmetric_fir/h_in2
add wave sim:/symmetric_fir_tb/u_symmetric_fir/h_in3
add wave sim:/symmetric_fir_tb/u_symmetric_fir/h_in4
add wave sim:/symmetric_fir_tb/u_symmetric_fir/ce_out
add wave sim:/symmetric_fir_tb/u_symmetric_fir/y_out
add wave sim:/symmetric_fir_tb/y_out_ref
add wave sim:/symmetric_fir_tb/u_symmetric_fir/delayed_xout
add wave sim:/symmetric_fir_tb/delayed_xout_ref
run -all

Я брал за основу вот этот пример: Verify Generated Code Using HDL Test Bench from Configuration Parameters

Изменено пользователем Booleek789

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

6 часов назад, Booleek789 сказал:

В Simulink собрал модель, которая просто инвертирует входной сигнал (элемент НЕ), конвертировал её в Verilog и файл тестбенча (с помощью HDL Coder). Загружаю в ModelSim оба файла

Есть приличные книги:

1.Цифровая схемотехника и архитектура компьтера: RISC-V  Сара Л. Харрис, Девид Харрис
2. Цифровой синтез. Практический курс. А.Ю. Романова, Ю.В. Панчула
3.Логическое проектирование встраиваемых систем на FPGA   Валерий Соловьев.

Для практики Соловьев Вам в помощь. Прямо в моделсиме создавайте свои  проекты и моделируйте. 

Имеет смысл создавать свои проекты в ВИВАДО. Ибо китайские плис xilinx подобные. У Китая есть плис радиационно стойкие.

А вообще наверно полетят любые. Вот только неизвестно, сколько прослужат.

ct.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

7 часов назад, Booleek789 сказал:

Но как быть со вторым набором инструкций, которые как раз и назначают входам модели нужные сигналы? Выглядит этот файл так:

Это тоже скрипт МоделСима, назначает вывод нужных сигналов на временную диаграмму и указывает в каком виде они будут показаны.

Посмотрите серии 11 и 12 из этого плейлиста, поможет разобраться что есть что

https://www.youtube.com/playlist?list=PL4UMfOeGYsvblwrP3VYKHq11xgkxVqoUj

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, sazh said:

Есть приличные книги:

1.Цифровая схемотехника и архитектура компьтера: RISC-V  Сара Л. Харрис, Девид Харрис
2. Цифровой синтез. Практический курс. А.Ю. Романова, Ю.В. Панчула
3.Логическое проектирование встраиваемых систем на FPGA   Валерий Соловьев.

Для практики Соловьев Вам в помощь. Прямо в моделсиме создавайте свои  проекты и моделируйте. 

Имеет смысл создавать свои проекты в ВИВАДО. Ибо китайские плис xilinx подобные. У Китая есть плис радиационно стойкие.

А вообще наверно полетят любые. Вот только неизвестно, сколько прослужат.

ct.zip 829 B · 8 downloads

Большое спасибо за рекомендации. Начну с Соловьёва.

2 hours ago, Jackov said:

Это тоже скрипт МоделСима, назначает вывод нужных сигналов на временную диаграмму и указывает в каком виде они будут показаны.

Посмотрите серии 11 и 12 из этого плейлиста, поможет разобраться что есть что

https://www.youtube.com/playlist?list=PL4UMfOeGYsvblwrP3VYKHq11xgkxVqoUj

 

Спасибо! Вы правы. По сути это практически те же команды, которые прописываются в МодельСиме при ручном назначении входных сигналов.

Изменено пользователем Booleek789

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Получилось запустить макросы .do с помощью внутренних средств ModelSim (File->Load->Macro File...). Что-то автоматически смоделировалось, правда, в какой-то момент расчёты прекратились (ошибку пока не анализировал, поэтому не знаю, в чём дело).

 

res.PNG

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...