Jump to content

    

andrew_b

Свой
  • Content Count

    2107
  • Joined

  • Last visited

Community Reputation

0 Обычный

About andrew_b

  • Rank
    Гуру

Информация

  • Город
    Воронеж

Recent Profile Visitors

7255 profile views
  1. Тут нет никакой структуры. sdc — это tcl-скрипт. И исполняется он последовательно сверху вниз.
  2. Ну посмейтесь над обычной опечаткой, если больше не над чем. Да и клавиатурка старенькая, иногда не срабатывает. Это значит, что её нужно втыкать везде, где надо и где не надо? А кто это у нас тут строки считает? Неряшливый код означает неряшливость в мыслях. Разумеется, капитан Очевидность. Я где-то утверждал обратное? Я не телепат, чтобы знать, что там в коде, которого я не видел. Прошу извинить меня за этот маленький недостаток.
  3. Когда встречаю такое use ieee.std_logic_unsigned.all; use ieee.numeric_std.all; возникают очень сильные сомния в квалификации автора. Ну и без utils_pak этот код бесполезен.
  4. Кто-нибудь пробовал?

    Да уж… Делать по две ошибки в слове сейчас модно.
  5. @Alex_Golubev, добрый совет: не надо постить текстовые сообщения скриншотами. Текст на то то текст, чтобы его передавать текстом, а не картинками.
  6. И вы за десять лет ниасилили прямое инстанцирование компонентов и функции семейства reduce? И потому рассказываете сказки про
  7. Вивадо это какая-то куча овнища. Что там сделали с работой я ядрами, это "уму нерастяжимо". Всё кэшировано-перекэшировано десять раз. Вносишь изменения в код, а эта сволочь их не видит и использует какой-то кэш. Убивать хочется ещё больше. Ну и был к меня неописуемый случай, когда неправильно синтезировался банальный счётчик. Я никогда раньше с таким не встречался. Долго искал, почему у меня фильтр неправильно работал. А оказалось, что неправильно переписывался один счётчик в другой. Я офигел. А когда навесил на счётчик атрибут dont_touch, всё стало как надо. Мапинг .* — это вообще диверсия. Лазишь по проекту, ищешь какой-то сигнал. И видишь, что, например, порт в модуле есть, но не используется. И начинаешь думать, то ли действительно не используется, то ли заходит куда-то в другой модуль через .*. Читаемость кода влетела до небес. Не, ребята из авторского коллектива СистемВерилога определённо курят что-то тяжёлое.
  8. Как мне не игнорировать предупреждения, которые порождает код криворуких индусов в IP-ядрах? Прямое. Незадекларированные сигналы, соединение шин разных разрядностей в VHDL в принципе невозможны. Это будет ошибкой. Вы точно знаете, что означает слово "графомания"? И еще я вам по секрету скажу. Если использовать не куцый редактор из среды, а нормальный, который умеет шаблоны, то объём стука по клавиатуре сокращается в разы.
  9. Ну да, когда вы соединяете шины разной разрядности и в ответ получаете только варнинг, а потом начинаете выяснять, а чо оно не работатет, это не провокация, нет. Или забываете продекларировать сигнал, а в ответ тоже варнинг, это просто замечательно. Я сейчас имею дело с проектом, написанном на этом вашем СистемВерилоге. Его писал не я. В проекте используется хренова туча IP-ядер, написананных на том же прекрасном (Систем)Верилоге. И когда синтезатор выдаёт несколько сотен варнингов, среди которых и несовпадение разрядностей, и забытые сигналы, хочется убивать. Потому что язык, допускающий такое, не корявым назвать нельзя.
  10. Корявый с рождения Verilog не подходит для начинающих. Verilog провоцирует на написание такого говнокода, который на VHDL в принципе невозможен. Это сказки. Бегинендить доставляет неимоверно, да.
  11. Картинки для тех, кто читать не умеет.
  12. Может, и можно, не пробовал. А про беззнаковые знаю точно. В дереве CSA нет переносов. Точнее, есть, но только в одном последнем сумматоре. Целые тут ни при чём. Пакет numeric_std поддерживает суммирование векторов с любой разрядностью.
  13. Если это беззнаковые числа, то можно использовать carry save adder.
  14. Да ладно. always @(posedge clk) if (reset) a <= 1'b0; else a <= b;