Golikov 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба да этот ответ сразу и дали, это же очевидная тема священной войны, в которой всегда побеждает дружба%)... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Во тема до чего дошла... Началась со стандартного Verilog vs VHDL, закончилась откровенным пиаром какого-то телевизионного стандарта :) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
olegras 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба А первого мамонта убили каменным топором.... А при чем здесь мамонт? Мы что историю обсуждаем? Извиняюсь за оффтоп: Пошли както мужики мамонта убивать. У всех были каменные топоры из белого камня и с древком из красного дерева, а у одного - из черного камня и осиновым древком. Всю дорогу мужики позорили того, что с черным топором, мол сейчас уже никто с такими не охотится... "А по мне так без разницы" пытался отговариваться несчастный охотник. ...Никто не вернулся из охоты. Раздавили мамонты к чертям всех охотников. Мораль: Не умеешь охотиться - раздавят тебя мамонты. А умеешь - вернешься с добычей. С любым топором. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Timmy 1 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Это плюсы для программирования (на ADA), когда программа, если что, по assertion слетит, если ей такое данное скормят, что оно вызовет переполнение... А в синтезе то что толку от этого контроля, ну подам я на вход кривое данное, если ширина шины позволяет, и молча все равно получу на выходе кривое. Естественно, контроль дипазона работает только на этапе поведенческой симуляции, где и позволяет иногда отловить тупые ошибки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Pavia 0 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Сам я знаю с 10 языков программирования. Бесик, паскаль, дельфи, ассемблер x86, php, Си, MySql,Си++,C#, матлаб. Отлично умею создавать программы на любом из этих языков. Так как каждому было уделено много времени. В данной теме честно не услышал ни одного осмысленного, конструктивного довода подкреплённого хоть какими-то аргументами. А значит нужно будет учить оба языка. На самом деле я уже прочитал про основы обоих языков. VHDL - простой язык его описание гораздо меньше чем у Verilog HDL. В 1.5-2 раза. Описывать интерфейсы детально это не трудно. А даже полезно для последующего поддержания проекта или когда над ним работает несколько человек. Но VHDL мне показался через чур абстрактным и далёким от аппаратуры. В Verilog с этим проще в нем как раз используются термины из аппаратного лексикона - провода, регистры, процессы, порты. Более того как тут уже заметили в VHDL больше не синтезируемых конструкций. Да и синтаксис не сильно располагает к краткости и лаконичности описания. Но на самом деле это больше зависит от таланта программиста. А как писать правильно есть куча советов и рекомендаций. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба А значит нужно будет учить оба языка. Если не трудно, доложите через какое-то время, на чем остановили свой выбор. Впрочем, я ответ уже знаю. :08: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
FatRobot 3 13 февраля, 2014 Опубликовано 13 февраля, 2014 · Жалоба Мне нравится верилог прежде всего за то, что там есть такие близкие к аппаратуре штуковины, как reg и wire. wire - это, как я понял, комбинаторный близкий к аппаратуре провод или близкая к аппаратуре защелка. а reg - это тоже такое что-то близкое к аппаратуре, что может выполнять функции и близкого к аппаратуре провода, и близкой к аппаратуре защелки, но иногда и близкого к аппаратуре триггера в зависимости от того, где и насколько близко к аппаратуре он появляется. Мощнешая близкая к аппаратуре вещь!! Ведь транслятору не понятно из контекста, и нужно намекнуть, какую конструкцию инженер хочет реализовать. А дальше уж транслятор сам. Помолясь. Это говорит о великолепной продуманности языка и разнообразных возможностях для инженера и совместной слаженной работе с транслятором. Жалко, что разработчки стандарта не предусмотрели возможность триггера для wire. Еще отличная вещь - невозможность использовать тип real в промежуточных вычислениях синтезируемых конструкций. Разработчику предлагается изучить другие хорошие языки программирования, чтобы генерировать на них параметры для своих блоков ЦОС. Разработчики стандарта (а это требование стандарта, насколько я помню) как бы ненавязчиво заставляют инженера расширять свою эрудицию, не стоять на месте. Знание 10 языков программирования в довесок к верилогу как раз самое то. Не пропадут. И всякие смешные ребята, делающие, например, трансляторы из питона в верилог тоже как бы при деле. Препроцессор.. вообще отличная и прогрессивная штука. В современных языках программирования от нее отказываются почему-то, разрешая константные выражения в конструкциях языка на этапе компиляции, и наивно полагая, что это позволит избежать ошибок. Кстати, генерировать сообщение об ошибке средствами имеющегося препроцессора нельзя. Равно как и средствами синтезатора при проверке параметров. Отсутствие типизации - огромный плюс при работе в коллективе. Все при деле, никто никого не отвлекает, и все строго следуют naming conventions. Ведь это надежнейший способ избежать ошибки. Да и зачем нагружать компьютер такой ерундой. Когда появляется потребность пробросить сигнал из недр иерархии наружу, все по цепочке так смешно оживляются. Ну и почти самое главное Verilog - это Cadence. А где Cadence, там обязательно все на своих местах, все правильно и почти никогда сильно не тошнит. Мое любимое - это встроенные функции, имя которых начинается с $. Мне ведь просто необходимо знать, когда я вызываю функцию, встроена эта функция или нет. У верилога есть и другие неоспоримые преимущества: 1. Низкий порог вхождения. Для освоения базового уровня языка и изготовления учебной мигалки средствами верилога достаточно 1 вечера. Но и выше этого порога там почти ничего нет. 2. Как многие заметили: мало писать - пальцы не устают, и можно вечерами подрабатывать лабухом в кабаке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба ...Так толсто, что даже тонко. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DSIoffe 5 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба А почему много несинтезируемых конструкций - это плохо? Они же не зря придуманы. Ну то есть не чтобы студентов мучить, а для описания полезных вещей. Другое дело, что во многих руководствах по VHDL синтезируемое и несинтезируемое свалено в кучу, и поначалу трудно во всём этом разобраться. Мне понравилась книга Уэйкерли "Проектирование цифровых устройств", там начинается именно с синтезируемого. Я по ней и начал работать. Просто любопытно было, как решаете проблему 32 бит, а так арифметика в целых имеет свои плюсы, например, контроль диапазона значений. Кстати, идея писать собственные функции в подобных случаях принадлежит не мне, а самому Уэйкерли. Сам я знаю с 10 языков программирования. Как он нас изящно умыл :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба Уэйкерли. рекомендую, особенно для начинающих Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба рекомендую, особенно для начинающих Оцените сложность в создании тестбенча для оценки функционального покрытия проекта на VHDL и SV... И все станет ясно! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 14 февраля, 2014 Опубликовано 14 февраля, 2014 · Жалоба Оцените сложность в создании тестбенча для оценки функционального покрытия проекта на VHDL и SV... И все станет ясно! я про автора книги и про саму книгу, которая читателю дает представление, что такое язык описания аппаратуры. PS Я прекрасно знаю, что SV позволяет создавать тесты более качественее и с меньшими трудозатратами по сравнению VHDL и Verilog. Спорить в этом вопросе даже не собираюсь. Но вопрос как часто нужны при разработке на ПЛИС тесты с 90% - 99% покрытием и автоматической проверкой работоспособности, например для проектов на стратикс4 практически максимальной логической емкости и занятыми ресурсами более 70% и как долго они будут моделироваться на рабочих ПК (не серверы)... Иногда проще тестировать "в железе". Конечно без SV не обойтись в разработке ИМС (моделирование насколько мне известно идет несколько часов). Чаще для проектов на ПЛИС тест пишется для проверки работоспособности - нет ли переполнения, правильность соединения блоков, далее тестирование в аппаратуре. Чтобы создать хороший тест с 90% - 99% покрытием и автоматической проверкой работоспособности, наверно нужно потратить время столько же как и на разработку "железа", если не больше. В некоторых компаниях это делают другие люди - пишут такого рода тесты и проводят тестирование... Опять это сугобо мое мнение и спорить я не буду... Вы всегда пишите тесты с 90% - 99% покрытием и автоматической проверкой работоспособности? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
fpgaz 0 15 февраля, 2014 Опубликовано 15 февраля, 2014 · Жалоба Но вопрос как часто нужны при разработке на ПЛИС тесты с 90% - 99% покрытием В идеале, тесты нужны всякий раз, когда случилось чудо и ТЗ содержит достаточно подробное описание функционала, требующего тестирования. А иначе как работу сдавать? Чтобы создать хороший тест с 90% - 99% покрытием и автоматической проверкой работоспособности, наверно нужно потратить время столько же как и на разработку "железа", если не больше. Конечно! Хорошо, если соблюдаются временнЫе соотношения: проектирование / кодирование / тестирование - 40% / 10% / 50% или даже 30% / 5% / 65% . В некоторых компаниях это делают другие люди - пишут такого рода тесты и проводят тестирование... Очень правильный подход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Мур 1 15 февраля, 2014 Опубликовано 15 февраля, 2014 · Жалоба ...Вы всегда пишите тесты с 90% - 99% покрытием и автоматической проверкой работоспособности? Когда над одним проектом работает больше двух человек и несколько лет,- вопрос риторический.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
exiro 0 5 марта, 2014 Опубликовано 5 марта, 2014 (изменено) · Жалоба Сам я знаю с 10 языков программирования. Бесик, паскаль, дельфи, ассемблер x86, php, Си, MySql,Си++,C#, матлаб. Тоже стою перед выбором. Поскольку логика языка описания аппаратуры, существенно отличается от вышеперечисленных языков, её сначала нужно где то прочувствовать. Литературы и примеров на VHDL намного больше, тогда как на Verilog их практически нет. P.S. а вообще ребята, надо английский учить Изменено 5 марта, 2014 пользователем exiro Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться