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

да этот ответ сразу и дали, это же очевидная тема священной войны, в которой всегда побеждает дружба%)...

 

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


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

Во тема до чего дошла... Началась со стандартного Verilog vs VHDL, закончилась откровенным пиаром какого-то телевизионного стандарта :) :)

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


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

А первого мамонта убили каменным топором....

А при чем здесь мамонт? Мы что историю обсуждаем?

Извиняюсь за оффтоп:

Пошли както мужики мамонта убивать. У всех были каменные топоры из белого камня и с древком из красного дерева, а у одного - из черного камня и осиновым древком. Всю дорогу мужики позорили того, что с черным топором, мол сейчас уже никто с такими не охотится... "А по мне так без разницы" пытался отговариваться несчастный охотник.

...Никто не вернулся из охоты. Раздавили мамонты к чертям всех охотников.

Мораль: Не умеешь охотиться - раздавят тебя мамонты. А умеешь - вернешься с добычей. С любым топором.

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


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

Это плюсы для программирования (на ADA), когда программа, если что, по assertion слетит, если ей такое данное скормят, что оно вызовет переполнение... А в синтезе то что толку от этого контроля, ну подам я на вход кривое данное, если ширина шины позволяет, и молча все равно получу на выходе кривое.
Естественно, контроль дипазона работает только на этапе поведенческой симуляции, где и позволяет иногда отловить тупые ошибки.

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


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

Сам я знаю с 10 языков программирования.

Бесик, паскаль, дельфи, ассемблер x86, php, Си, MySql,Си++,C#, матлаб.

 

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

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

 

На самом деле я уже прочитал про основы обоих языков.

VHDL - простой язык его описание гораздо меньше чем у Verilog HDL. В 1.5-2 раза.

 

Описывать интерфейсы детально это не трудно. А даже полезно для последующего поддержания проекта или когда над ним работает несколько человек.

 

Но VHDL мне показался через чур абстрактным и далёким от аппаратуры. В Verilog с этим проще в нем как раз используются термины из аппаратного лексикона - провода, регистры, процессы, порты.

Более того как тут уже заметили в VHDL больше не синтезируемых конструкций.

 

Да и синтаксис не сильно располагает к краткости и лаконичности описания. Но на самом деле это больше зависит от таланта программиста. А как писать правильно есть куча советов и рекомендаций.

 

 

 

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


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

А значит нужно будет учить оба языка.

Если не трудно, доложите через какое-то время, на чем остановили свой выбор. Впрочем, я ответ уже знаю. :08:

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


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

Мне нравится верилог прежде всего за то, что там есть такие близкие к аппаратуре штуковины, как reg и wire.

wire - это, как я понял, комбинаторный близкий к аппаратуре провод или близкая к аппаратуре защелка. а reg - это тоже такое что-то близкое к аппаратуре, что может выполнять функции и близкого к аппаратуре провода, и близкой к аппаратуре защелки, но иногда и близкого к аппаратуре триггера в зависимости от того, где и насколько близко к аппаратуре он появляется. Мощнешая близкая к аппаратуре вещь!! Ведь транслятору не понятно из контекста, и нужно намекнуть, какую конструкцию инженер хочет реализовать. А дальше уж транслятор сам. Помолясь. Это говорит о великолепной продуманности языка и разнообразных возможностях для инженера и совместной слаженной работе с транслятором. Жалко, что разработчки стандарта не предусмотрели возможность триггера для wire.

 

Еще отличная вещь - невозможность использовать тип real в промежуточных вычислениях синтезируемых конструкций. Разработчику предлагается изучить другие хорошие языки программирования, чтобы генерировать на них параметры для своих блоков ЦОС. Разработчики стандарта (а это требование стандарта, насколько я помню) как бы ненавязчиво заставляют инженера расширять свою эрудицию, не стоять на месте. Знание 10 языков программирования в довесок к верилогу как раз самое то. Не пропадут. И всякие смешные ребята, делающие, например, трансляторы из питона в верилог тоже как бы при деле.

 

Препроцессор.. вообще отличная и прогрессивная штука. В современных языках программирования от нее отказываются почему-то, разрешая константные выражения в конструкциях языка на этапе компиляции, и наивно полагая, что это позволит избежать ошибок. Кстати, генерировать сообщение об ошибке средствами имеющегося препроцессора нельзя. Равно как и средствами синтезатора при проверке параметров.

 

Отсутствие типизации - огромный плюс при работе в коллективе. Все при деле, никто никого не отвлекает, и все строго следуют naming conventions. Ведь это надежнейший способ избежать ошибки. Да и зачем нагружать компьютер такой ерундой. Когда появляется потребность пробросить сигнал из недр иерархии наружу, все по цепочке так смешно оживляются.

 

Ну и почти самое главное Verilog - это Cadence. А где Cadence, там обязательно все на своих местах, все правильно и почти никогда сильно не тошнит.

 

Мое любимое - это встроенные функции, имя которых начинается с $. Мне ведь просто необходимо знать, когда я вызываю функцию, встроена эта функция или нет.

 

У верилога есть и другие неоспоримые преимущества:

1. Низкий порог вхождения. Для освоения базового уровня языка и изготовления учебной мигалки средствами верилога достаточно 1 вечера. Но и выше этого порога там почти ничего нет.

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

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


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

А почему много несинтезируемых конструкций - это плохо? Они же не зря придуманы. Ну то есть не чтобы студентов мучить, а для описания полезных вещей.

Другое дело, что во многих руководствах по VHDL синтезируемое и несинтезируемое свалено в кучу, и поначалу трудно во всём этом разобраться. Мне понравилась книга Уэйкерли "Проектирование цифровых устройств", там начинается именно с синтезируемого. Я по ней и начал работать.

Просто любопытно было, как решаете проблему 32 бит, а так арифметика в целых имеет свои плюсы, например, контроль диапазона значений.

Кстати, идея писать собственные функции в подобных случаях принадлежит не мне, а самому Уэйкерли.

Сам я знаю с 10 языков программирования.

Как он нас изящно умыл :)

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


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

рекомендую, особенно для начинающих

 

Оцените сложность в создании тестбенча для оценки функционального покрытия проекта на VHDL и SV... И все станет ясно!

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


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

Оцените сложность в создании тестбенча для оценки функционального покрытия проекта на VHDL и SV... И все станет ясно!

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

 

PS Я прекрасно знаю, что SV позволяет создавать тесты более качественее и с меньшими трудозатратами по сравнению VHDL и Verilog. Спорить в этом вопросе даже не собираюсь.

Но вопрос как часто нужны при разработке на ПЛИС тесты с 90% - 99% покрытием и автоматической проверкой работоспособности, например для проектов на стратикс4 практически максимальной логической емкости и занятыми ресурсами более 70% и как долго они будут моделироваться на рабочих ПК (не серверы)... Иногда проще тестировать "в железе". Конечно без SV не обойтись в разработке ИМС (моделирование насколько мне известно идет несколько часов). Чаще для проектов на ПЛИС тест пишется для проверки работоспособности - нет ли переполнения, правильность соединения блоков, далее тестирование в аппаратуре. Чтобы создать хороший тест с 90% - 99% покрытием и автоматической проверкой работоспособности, наверно нужно потратить время столько же как и на разработку "железа", если не больше. В некоторых компаниях это делают другие люди - пишут такого рода тесты и проводят тестирование... Опять это сугобо мое мнение и спорить я не буду...

Вы всегда пишите тесты с 90% - 99% покрытием и автоматической проверкой работоспособности?

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


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

Но вопрос как часто нужны при разработке на ПЛИС тесты с 90% - 99% покрытием

В идеале, тесты нужны всякий раз, когда случилось чудо и ТЗ содержит достаточно подробное описание функционала, требующего тестирования. А иначе как работу сдавать?

 

Чтобы создать хороший тест с 90% - 99% покрытием и автоматической проверкой работоспособности, наверно нужно потратить время столько же как и на разработку "железа", если не больше.

Конечно!

Хорошо, если соблюдаются временнЫе соотношения: проектирование / кодирование / тестирование - 40% / 10% / 50% или даже 30% / 5% / 65% .

 

В некоторых компаниях это делают другие люди - пишут такого рода тесты и проводят тестирование...

Очень правильный подход.

 

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


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

...Вы всегда пишите тесты с 90% - 99% покрытием и автоматической проверкой работоспособности?

 

Когда над одним проектом работает больше двух человек и несколько лет,- вопрос риторический....

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


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

Сам я знаю с 10 языков программирования.

Бесик, паскаль, дельфи, ассемблер x86, php, Си, MySql,Си++,C#, матлаб.

Тоже стою перед выбором. Поскольку логика языка описания аппаратуры, существенно отличается от вышеперечисленных языков, её сначала нужно где то прочувствовать. Литературы и примеров на VHDL намного больше, тогда как на Verilog их практически нет.

 

P.S. а вообще ребята, надо английский учить

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

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


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

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

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

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

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

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

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

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

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

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