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

CORDIC и отрицательные числа, как правильно преобразовать

2 hours ago, des00 said:

Много в BD делается быстрее и проще чем кодом, особенно если собирать систему из готовых компонентов.

Наполовину соглашусь. Наполовину, потому что есть метод намного быстрее и "для Гита полезнее" да и редактирование потом проще, чем скроллинг по схеме.

Можно после создания BD руками, скопировать весь вывод из консоли Тикля в отдельный файл и... правильно, сделать файл генерации BD из скрипта. Плюсы очевидны - значительно меньше места + ведение ревизий, редактирование при определённой сноровке тоже в разы быстрее и прощею И самое главное - меньше проблем с обновлением IP, достаточно обновить библиотеки в проекте и перегенерить подключение/размещение. Да на выходе будет не такая красивая схема, как поправленная руками, за то на 100% правильная и понятная из кода. А при скиле можно и с нуля руками писать схемы)

Так что не совсем схемный подход, но значительно оправданней.

2 hours ago, andrew_b said:

С этим я согласен. Если рисование BD тоже называть схемным вводом, то тоже согласен. Но всё-таки IP и примитивы несколько разные сущности. Я по схемным вводом подразумевал именно "рисование" проекта из примитивов.

Тут можно вставить НО - для начинающих в целях "разобраться" почем что и как, тогда можно потыкать палкой и в схематик, не более. Потом необходимость скорости и понимание дизайнинга само выведет разработчика в блокнот и понесётся :smile:

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


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

3 часа назад, andrew_b сказал:

Писал не раз и ещё раз повторю: изучение языка состоит из двух частей: 1) изучение самого языка, его синтаксиса и семантики и 2) изучение стандартных библиотек (если они есть). В VHDL такие библиотеки есть, и они много чего позволяют делать. Не надо изобретать велосипеды, да ещё с некруглыми колёсами.

Про схематик забудьте сразу. Только язык. Схемный ввод умер.

Так под тем, чтобы разобраться со всеми типами и подтипами языка VHDL - я и имел виду разобраться со стандартными библиотеками...

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


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

2 часа назад, Nick_K сказал:

Плюсы очевидны - значительно меньше места + ведение ревизий, редактирование при определённой сноровке тоже в разы быстрее и прощею И самое главное - меньше проблем с обновлением IP, достаточно обновить библиотеки в проекте и перегенерить подключение/размещение.

С обновлением ядер при хранении бд в скрипте тсл как раз проблемы - вы не сможете восстановить бд из скрипта при смене версии хотя бы одного ядра - получите ошибку. Можно конечно поправить скрипт, но при смене набора параметров или пинов в новой версии ядра то же будут ошибки. Так что удовольствие сомнительное.

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


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

8 minutes ago, fguy said:

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

Про это я согласен. Мой посыл скорее был к обновлению User IP, когда интерфейсная часть остаётся такой же. Да и впринципе если интерфейс Xilinx'овских IP не менялся, проблем сильных не должно бить. Перегенерить только IP и в бой)

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


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

13 минут назад, Nick_K сказал:

Про это я согласен. Мой посыл скорее был к обновлению User IP, когда интерфейсная часть остаётся такой же. Да и впринципе если интерфейс Xilinx'овских IP не менялся, проблем сильных не должно бить. Перегенерить только IP и в бой)

В своих ядрах интерфейс тоже легко меняется - я ядра пишу на хлс-е, дык там даже при смене версии вивады можно огрести небольшое переименование портов со всеми вытекающими - после обновления таких ядер от портов все связи пропадают.

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


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

Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, а там с самого начала начинают приводить примеры где прописаны временные задержки, я чувствую что-то не то. Как и зачем мне в проекте на ПЛИС их прописывать. В ПЛИС таймер что ли как в МК? Ну как, так? Может это для симуляции надо? Если да, то как и где симуляцию открыть? У меня ISE Webpack 12.1

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


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

17 minutes ago, Aleksey_Serov said:

Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php,

Какой-то сборник вредных советов, как по мне...

 

Задержки используются в симуляции. В ISE ищите в верхнем левом углу. Там где иерархия проекта. Одна из вкладок - симуляция. Точнее уже и не вспомню.

 

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

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


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

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. Это все же форум, а не чат. Модератор.

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


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

36 минут назад, des00 сказал:

Вот когда вы систему с нуля соберете полностью в тикле, ни разу не воспользовавшись BD

Нивапрос.

https://github.com/analogdevicesinc/hdl

Только make и tcl.

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


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

2 hours ago, andrew_b said:

Нивапрос.

https://github.com/analogdevicesinc/hdl

Только make и tcl.

ну и вы туда же. Речь не про хранение результата, речь про процесс разработки. Выложить как результат своего труда вы можете все что угодно, но сам результат я сомневаюсь что создается текстово. Что в тикле описывается вся система, все соединения, карта адресов и т.д. без использования графического представления. А вот набросать BD(пусть даже командами tcl), все соединить  на автомате и вручную, верифицировать, отладить и только потом сохранить результат в виде готового скрипта сборки системы, почему бы и нет.

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


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

9 часов назад, des00 сказал:

ну и вы туда же

Я вас не понимаю. По ссылке делается именно

9 часов назад, des00 сказал:

в тикле описывается вся система, все соединения, карта адресов и т.д. без использования графического представления

Это именно процесс разработки. Я делал проект на базе AD-го для Цинка, встраивал туда свои IP-ядра, написанные в этой же методологии. AD-шники написали массу тиклевых функций, которые сильно облегчают жизнь.

В результате создаётся Вивадовский проект, который можно открыть и всё в нём рассмотреть.

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


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

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 и примитивы несколько разные сущности. Я по схемным вводом подразумевал именно "рисование" проекта из примитивов.

вы сами писали об этом. по сути это схемный ввод, а не кодирование. пусть и средствами тикла

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


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

19 hours ago, Aleksey_Serov said:

Начал читать учебник по VHDL https://pandia.ru/text/78/416/49421.php, а там с самого начала начинают приводить примеры где прописаны временные задержки

Это какие-то устаревшие практики. Сейчас есть для таких целей бэк-аннотейтед симуляция в ходе которой для нетлиста "скармливаются" ещё и реальные задержки компонентов. Полезно для тайминг анализа (как альтернатива STA).

А то что они там описывают ещё очень похоже на библиотеки. Когда для ASIC'ов характеризируют разные элементы, тогда для конкретного корнера могут представлять в Верилог/VHDL исходниках ещё и временные задержки. Хотя это никто уже не пользует и берут данные из других бибдлиотек.

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


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

А как быть с делением? для 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

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

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


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

Aleksey_Serov

я сделал просто - конкатенацией, например a(32)&a(32)..и так 12 раз....&a(32 downto 20), что-то мне подсказывает что это тоже не очень "стиль"

Это нормальный стиль, описана правильная схема - это главное, а не красота описания. Если хотите компактнее описывать, автоматизировать генерацию, пишете свою универсальную функцию размножения сигнала в своём PACKAGE, подключаете, как вы numeric_std подключаете, тогда вам будет достаточно одного оператора "&" для приклеивания вектора с размноженным битом.

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


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

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

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

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

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

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

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

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

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

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