AnatolySh 0 26 марта, 2022 Опубликовано 26 марта, 2022 · Жалоба Всем добра, а я продолжаю исследовать далёкое прошлое. Стоит задача (и я, знаю, что не у меня одного) "причесать" старые проекты, написанные в графике, хотя бы к уровню Verilog начала века. Так, берём вот такой простейший модуль И пытаемся его переписать в виде И то и то в MaxPlusII 10.0 Оно, вроде бы, очевидно, что эквивалентно, но хочется неопровержимых доказательств, самым очевидным из которых является совпадение прошивок (RBF для FPGA серии, например, FLEX). Компилируем то и то - ан нет: прошивки не совпадают. Где тут собака порылась? Оба проекта с исходниками и скомпилированными файлами в скрепке. dec12.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба Не сможете Вы причесать проект, созданный в графическом редакторе разработчиками прошлого века. Для этого надо мыслить категориями 133 серии. Более того, даже если перенести графику с мах+ на какой нибудь квартус, работать этот проект полно функционально скорее всего не будет. Потому что эти разработки в большинстве своем не соответствуют "золотым" правилам работы с проектами плис, а соответствуют "золотым" правилам работы на "рассыпухе", проверенные на морозе и тепле. Поэтому и хранят раритетные проекты совместно с пакетом, в котором они разрабатывались. И корректируются, если надо, в этой среде проектирования. Перевести в лоб графику на язык описания аппаратуры - пустая затея. Надо все переписывать, не глядя в графику, только опираясь на ТЗ. А совпадение проверить просто. Моделированием в мах+ и моделированием в моделсиме. Времянки (функционально) совпадут. Единственная проблема при переходе на язык описания аппаратуры, которая может возникнуть, которую Вы не видите, это если контрольная сумма *.pof файла старого проекта прописана где нибудь в КД. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 1 hour ago, sazh said: разработчиками прошлого века. Да я сам - такой же разработчик и с этого начинал. Не с 133 серии, но рассыпуху в руках держал. 1 hour ago, sazh said: Потому что эти разработки в большинстве своем не соответствуют "золотым" правилам работы с проектами плис, а соответствуют "золотым" правилам работы на "рассыпухе", проверенные на морозе и тепле. Про золотые правила ПЛИС читал, а, вот, первые где-то описаны? Но, даже если и так, то непонятен переход от золотых правил на рассыпухе на золотые правила (Вы имеет в виду DesignDoctor или что-то иное?) в МаксПлюсе? 1 hour ago, sazh said: Поэтому и хранят раритетные проекты совместно с пакетом, в котором они разрабатывались. Вот именно как раз не мой скучай. Я тщетно ищу везде именно ту версию, в которой компилировался проект 1 hour ago, sazh said: Перевести в лоб графику на язык описания аппаратуры - пустая затея. Ну почему же? Вот модуль выше - что тут сложного? Уверен, что и остальное также. Это даже не перевод с языка графики на язык HDL: это тупо копирование. Осталось убедиться, что оно выполнено правильно. Нужен независимый эксперт. 1 hour ago, sazh said: опираясь на ТЗ. ТЗ, как чаще всего бывает, пишет сам разработчик на своё изделие. Увы, это тоже не тот случай. 1 hour ago, sazh said: А совпадение проверить просто. Моделированием в мах+ и моделированием в моделсиме. Времянки (функционально) совпадут. Просьба поподробнее про совпадение времянок: что, с чём и как Вы предлагаете сравнивать? 1 hour ago, sazh said: Единственная проблема при переходе на язык описания аппаратуры, которая может возникнуть, которую Вы не видите, это если контрольная сумма *.pof файла старого проекта прописана где нибудь в КД. Вы уже перешагиваете этапы - до того, как я приду к заключению, мне надо разобраться с промежуточными. Контрольная сумма, шапка и битстрим не есть основное. Основное - убедиться, что я всё делаю правильно и, желательно, не включая аппаратуру. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
nice_vladi 2 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 27 minutes ago, AnatolySh said: Вы уже перешагиваете этапы - до того, как я приду к заключению, мне надо разобраться с промежуточными. Контрольная сумма, шапка и битстрим не есть основное. Основное - убедиться, что я всё делаю правильно и, желательно, не включая аппаратуру. Кстати, quartus должен уметь конвертировать схемы в verilog/vhdl. Во всяком случае, современные умеют, не ручаюсь за старые. File->Create/Update->Create HDL design from current file... Не пробовали? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 1 hour ago, nice_vladi said: Кстати, quartus должен уметь конвертировать схемы в verilog/vhdl. Даже maxplus умеет конвертить графику в ahdl, но получается такая неприглядная картина, что я уж ручками. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 16 минут назад, AnatolySh сказал: Даже maxplus умеет конвертить графику в ahdl, но получается такая неприглядная картина, что я уж ручками. Не надо ничего конвертировать. Если мах+ поддерживает верилог 1999, он должен сгенерировать нетлист для функционального моделирования и дать возможность создать файл временной диаграммы. Дальше моделируете. Я так и не понял, есть ли у Вас проект в графическом редакторе, для которого Вы ищите почему то мах+ именно 9ой версии. Если графический проект есть, то можно забыть о мах+. Последний квартус, который поддерживает семейство флекс 10К - это 9.0 sp2. Можно перетащить в него графический проект и точно также моделировать проекты, независимо от того как они описаны. у него есть встроенное моделирование. Но если переходить на язык описание аппаратуры, желательно пользоваться сторонними пакетами для моделирования. Совместно с квартусом идет пакет Альтера моделсим. Написав тестбенч, можно упаковать его в квартусе в проект и запустить из квартуса моделирование в моделсиме и посмотреть результат. Но переходя на полное текстовое описание как проекта так и описание для него входных возмущений, Вы становитесь независимы от среды проектирования. `timescale 1 ns / 1 ps module dec12_tb; reg S = 1'b1; reg X = 1'b1; wire A0; wire A1; initial begin #10 {S, X} = {1'b0, 1'b1}; #50 #5 $display ("End"); $stop; end dec12 dec12_inst ( .S (S), .X (X), .A0 (A0), .A1 (A1) ); endmodule Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 1 hour ago, sazh said: Но переходя на полное текстовое описание как проекта так и описание для него входных возмущений, Вы становитесь независимы от среды проектирования. Спасибо, конечно, но .. я просто оставлю здесь это ... в скрепке Шарапов А.А. Автоматизация функционального моделирования.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sazh 8 27 марта, 2022 Опубликовано 27 марта, 2022 · Жалоба 23 минуты назад, AnatolySh сказал: Спасибо, конечно, но .. я просто оставлю здесь это ... в скрепке Шарапов А.А. Автоматизация функционального моделирования.pdf 6 MB · 2 скачивания Так вроде бы в стандарте 2005 уже давно есть встроенная $clog2. Что касается QREG = DATA, тоже не есть хорошо. Что касается проекта uart, то вряд ли кто сделает изящнее, чем это исполнено в ДВК-2. Мне просто стало интересно. зачем Вам мах плюс и графический редактор? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 28 марта, 2022 Опубликовано 28 марта, 2022 · Жалоба 14 hours ago, sazh said: Так вроде бы в стандарте 2005 уже давно есть встроенная $clog2. Что касается QREG = DATA, тоже не есть хорошо. Что касается проекта uart, то вряд ли кто сделает изящнее, чем это исполнено в ДВК-2. Что касается всего этого, то Вы, как и та фирма, для которой эта статья была написана, сути не уловила. И Вы и они путаете цель и средства или, другими словами, за деревьями не видите леса. 14 hours ago, sazh said: Мне просто стало интересно. зачем Вам мах плюс и графический редактор? Наверное, плохо пояснил. Есть проект в графике. Хочу перевести в текст, убедившись, что с водой не выплеснул и ребёнка. И та и та аналогии понятны? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 28 марта, 2022 Опубликовано 28 марта, 2022 · Жалоба 1 hour ago, AnatolySh said: Наверное, плохо пояснил. Есть проект в графике. Хочу перевести в текст, убедившись, что с водой не выплеснул и ребёнка. И та и та аналогии понятны? конвертните его в верилог встроенными средствами. Потом напишите тестбенч с хорошим покрытием, ставите рядом копию, где начинаете причесывать сконвертированное и автоматически сравниваете результаты. Либо, что-то типа формалити чека натравливать на базу и ваш код, добиваясь логической эквивалентности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AnatolySh 0 28 марта, 2022 Опубликовано 28 марта, 2022 · Жалоба 11 hours ago, des00 said: конвертните его в верилог встроенными средствами. Ну, в принципе, я от этого и плясал: А formality check кто умеет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться