Nick_K 0 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 2 hours ago, des00 said: Много в BD делается быстрее и проще чем кодом, особенно если собирать систему из готовых компонентов. Наполовину соглашусь. Наполовину, потому что есть метод намного быстрее и "для Гита полезнее" да и редактирование потом проще, чем скроллинг по схеме. Можно после создания BD руками, скопировать весь вывод из консоли Тикля в отдельный файл и... правильно, сделать файл генерации BD из скрипта. Плюсы очевидны - значительно меньше места + ведение ревизий, редактирование при определённой сноровке тоже в разы быстрее и прощею И самое главное - меньше проблем с обновлением IP, достаточно обновить библиотеки в проекте и перегенерить подключение/размещение. Да на выходе будет не такая красивая схема, как поправленная руками, за то на 100% правильная и понятная из кода. А при скиле можно и с нуля руками писать схемы) Так что не совсем схемный подход, но значительно оправданней. 2 hours ago, andrew_b said: С этим я согласен. Если рисование BD тоже называть схемным вводом, то тоже согласен. Но всё-таки IP и примитивы несколько разные сущности. Я по схемным вводом подразумевал именно "рисование" проекта из примитивов. Тут можно вставить НО - для начинающих в целях "разобраться" почем что и как, тогда можно потыкать палкой и в схематик, не более. Потом необходимость скорости и понимание дизайнинга само выведет разработчика в блокнот и понесётся Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 3 часа назад, andrew_b сказал: Писал не раз и ещё раз повторю: изучение языка состоит из двух частей: 1) изучение самого языка, его синтаксиса и семантики и 2) изучение стандартных библиотек (если они есть). В VHDL такие библиотеки есть, и они много чего позволяют делать. Не надо изобретать велосипеды, да ещё с некруглыми колёсами. Про схематик забудьте сразу. Только язык. Схемный ввод умер. Так под тем, чтобы разобраться со всеми типами и подтипами языка VHDL - я и имел виду разобраться со стандартными библиотеками... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 4 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 2 часа назад, Nick_K сказал: Плюсы очевидны - значительно меньше места + ведение ревизий, редактирование при определённой сноровке тоже в разы быстрее и прощею И самое главное - меньше проблем с обновлением IP, достаточно обновить библиотеки в проекте и перегенерить подключение/размещение. С обновлением ядер при хранении бд в скрипте тсл как раз проблемы - вы не сможете восстановить бд из скрипта при смене версии хотя бы одного ядра - получите ошибку. Можно конечно поправить скрипт, но при смене набора параметров или пинов в новой версии ядра то же будут ошибки. Так что удовольствие сомнительное. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 8 minutes ago, fguy said: но при смене набора параметров или пинов в новой версии ядра то же будут ошибки Про это я согласен. Мой посыл скорее был к обновлению User IP, когда интерфейсная часть остаётся такой же. Да и впринципе если интерфейс Xilinx'овских IP не менялся, проблем сильных не должно бить. Перегенерить только IP и в бой) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fguy 4 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 13 минут назад, Nick_K сказал: Про это я согласен. Мой посыл скорее был к обновлению User IP, когда интерфейсная часть остаётся такой же. Да и впринципе если интерфейс Xilinx'овских IP не менялся, проблем сильных не должно бить. Перегенерить только IP и в бой) В своих ядрах интерфейс тоже легко меняется - я ядра пишу на хлс-е, дык там даже при смене версии вивады можно огрести небольшое переименование портов со всеми вытекающими - после обновления таких ядер от портов все связи пропадают. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksey_Serov 0 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, а там с самого начала начинают приводить примеры где прописаны временные задержки, я чувствую что-то не то. Как и зачем мне в проекте на ПЛИС их прописывать. В ПЛИС таймер что ли как в МК? Ну как, так? Может это для симуляции надо? Если да, то как и где симуляцию открыть? У меня ISE Webpack 12.1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Strob 0 9 декабря, 2020 Опубликовано 9 декабря, 2020 (изменено) · Жалоба 17 minutes ago, Aleksey_Serov said: Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, Какой-то сборник вредных советов, как по мне... Задержки используются в симуляции. В ISE ищите в верхнем левом углу. Там где иерархия проекта. Одна из вкладок - симуляция. Точнее уже и не вспомню. Изменено 9 декабря, 2020 пользователем Strob Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 6 hours ago, Nick_K said: Можно после создания BD руками, скопировать весь вывод из консоли Тикля в отдельный файл Вот когда вы систему с нуля соберете полностью в тикле, ни разу не воспользовавшись BD, тогда и имеет смысл обсуждать устарел схемный ввод или нет. Все остальное просто способ хранения исходников. 1 hour ago, Aleksey_Serov said: Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, а там с самого начала начинают приводить примеры где прописаны временные задержки, я чувствую что-то не то. Как и зачем мне в проекте на ПЛИС их прописывать. В ПЛИС таймер что ли как в МК? Ну как, так? Может это для симуляции надо? Если да, то как и где симуляцию открыть? У меня ISE Webpack 12.1 вам лучше создать отдельную, собственную тему по VHDL. Это все же форум, а не чат. Модератор. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 36 минут назад, des00 сказал: Вот когда вы систему с нуля соберете полностью в тикле, ни разу не воспользовавшись BD Нивапрос. https://github.com/analogdevicesinc/hdl Только make и tcl. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 9 декабря, 2020 Опубликовано 9 декабря, 2020 · Жалоба 2 hours ago, andrew_b said: Нивапрос. https://github.com/analogdevicesinc/hdl Только make и tcl. ну и вы туда же. Речь не про хранение результата, речь про процесс разработки. Выложить как результат своего труда вы можете все что угодно, но сам результат я сомневаюсь что создается текстово. Что в тикле описывается вся система, все соединения, карта адресов и т.д. без использования графического представления. А вот набросать BD(пусть даже командами tcl), все соединить на автомате и вручную, верифицировать, отладить и только потом сохранить результат в виде готового скрипта сборки системы, почему бы и нет. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 9 часов назад, des00 сказал: ну и вы туда же Я вас не понимаю. По ссылке делается именно 9 часов назад, des00 сказал: в тикле описывается вся система, все соединения, карта адресов и т.д. без использования графического представления Это именно процесс разработки. Я делал проект на базе AD-го для Цинка, встраивал туда свои IP-ядра, написанные в этой же методологии. AD-шники написали массу тиклевых функций, которые сильно облегчают жизнь. В результате создаётся Вивадовский проект, который можно открыть и всё в нём рассмотреть. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 2 hours ago, andrew_b said: В результате создаётся Вивадовский проект, который можно открыть и всё в нём рассмотреть. ну в итоге после вот этого, https://github.com/analogdevicesinc/hdl/blob/master/projects/ad9656_fmc/common/ad9656_fmc_bd.tcl вы открываете проект и рассматриваете его. Те. вы не исключаете схемотехнический способ предоставления информации для разработки, напомню ведь речь идет именно об этом. "гуй маз дай, все делаем кодом, не работаем с визуализацией". пишем, читаем логи, отлаживаем. On 12/9/2020 at 2:15 PM, andrew_b said: С этим я согласен. Если рисование BD тоже называть схемным вводом, то тоже согласен. Но всё-таки IP и примитивы несколько разные сущности. Я по схемным вводом подразумевал именно "рисование" проекта из примитивов. вы сами писали об этом. по сути это схемный ввод, а не кодирование. пусть и средствами тикла Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба 19 hours ago, Aleksey_Serov said: Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, а там с самого начала начинают приводить примеры где прописаны временные задержки Это какие-то устаревшие практики. Сейчас есть для таких целей бэк-аннотейтед симуляция в ходе которой для нетлиста "скармливаются" ещё и реальные задержки компонентов. Полезно для тайминг анализа (как альтернатива STA). А то что они там описывают ещё очень похоже на библиотеки. Когда для ASIC'ов характеризируют разные элементы, тогда для конкретного корнера могут представлять в Верилог/VHDL исходниках ещё и временные задержки. Хотя это никто уже не пользует и берут данные из других бибдлиотек. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksey_Serov 0 10 декабря, 2020 Опубликовано 10 декабря, 2020 (изменено) · Жалоба А как быть с делением? для X и Y надо деление на 2, 4 и т.д. по идее нужен арифметический сдвиг, который сохраняет знак, но с unsigned и std_logic_vector выдается ошибка, я вообще где-то прочитал что они изначально глючные, там целая история как комиссия IEEE их приняла или оставила чтобы старый код не переписывать везде, нигде примеров sla не нашел как назло (может и правда с ними что-то не то), я сделал просто - конкатенацией, например a(32)&a(32)..и так 12 раз....&a(32 downto 20), что-то мне подсказывает что это тоже не очень "стиль" Колонку Z я модернизировал - сумматор с арифметическими операциями и с unsigned, знак нужного слагаемого определяет вычитание делать или сложение, сигналы - массивы векторов, по сравнению ст тем что было просто красота. Вобщем код теперь не на 1000 строк а менее 100, но вот уперся в деление X и Y Изменено 10 декабря, 2020 пользователем Aleksey_Serov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
petrov 6 10 декабря, 2020 Опубликовано 10 декабря, 2020 · Жалоба Aleksey_Serov я сделал просто - конкатенацией, например a(32)&a(32)..и так 12 раз....&a(32 downto 20), что-то мне подсказывает что это тоже не очень "стиль" Это нормальный стиль, описана правильная схема - это главное, а не красота описания. Если хотите компактнее описывать, автоматизировать генерацию, пишете свою универсальную функцию размножения сигнала в своём PACKAGE, подключаете, как вы numeric_std подключаете, тогда вам будет достаточно одного оператора "&" для приклеивания вектора с размноженным битом. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться