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

Timmy

Участник
  • Постов

    852
  • Зарегистрирован

  • Посещение

Репутация

1 Обычный

Информация о Timmy

  • Звание
    Знающий
    Знающий
  • День рождения 01.02.1971

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Посетители профиля

8 617 просмотров профиля
  1. Насколько я вижу, победить ISE не так уж сложно, это удобнее, чем потом всё время возиться с виртуалкой, основные заморочки были с Синплифаем.
  2. В Spartan6 LUT6 имеет дополнительный вывод с младшей половинки(LUT5), за счёт чего один лут может хранить ROM таблицу 2 разряда по 32 бита, а слайс соответственно 8x32.
  3. Насколько я помню, эта кора в принципе не поддерживает денормализованные числа(у которых в поле порядка стоит 0), поэтому все они считаются равными нулю, это экономит ресурсы и повышает быстродействие. Так что не глюк, а фича:). Кстати, вы забыли, что числа с минимальным порядком денормализованы, и к ним старшая единица не добавляется, поэтому неправильно переводите в десятичную экспоненциальную форму.
  4. High-Voltage activation UPDI

    https://microchipdeveloper.com/mplabx:avr-updi-info - то есть PICkit 4 и Power Debugger. Можно и самостоятельно сколхозить схемку для разлочки, там не сложно.
  5. Оператор {*}, позволяющий непосредственно разворачивать список в несколько параметров, появился относительно недавно.
  6. Тогда непонятно, как кавычки могли повлиять. Ещё хочу заметить, чтобы в vlog можно было передать несколько ключей, заданных в Keys списком, как независимые параметры, а не одной строкой, нужно написать в compilation.tcl eval vlog +acc $Keys [list $CurrDirectoryPath/*.$Extension2Compile] list нужен, чтобы eval не разобрал путь с маской на несколько параметров, если в пути вдруг будут пробелы. Или в современном варианте vlog +acc {*}$Keys $CurrDirectoryPath/*.$Extension2Compile
  7. Это выглядит потрясающе. Для стандартного TCL парсера не должно быть никакой разницы. Я специально проверил в tclsh: set a "+define+TEST_NUMBER=3" set b +define+TEST_NUMBER=3 put [expr {$a==$b}] 1 Неужели у Квесты парсер какой-то не стандартный?
  8. Можно попробовать написать аналог $clog2, через define с операторами ?: внутри, возможно, прокатит за простую арифметику.
  9. Это нормально, на высоких частотах магнитное поле частично экранируется вихревыми токами и не проникает на всю глубину сердечника, в результате эффективное сечение уменьшается, пластинчатая структура от этого не спасает.
  10. Я уже поднимал однажды этот вопрос, и привёл вариант решения, к сожалению не самый удобный - создавать локальную копию проблемной глобальной переменной, и в конце блока переносить её в глобальную переменную.
  11. Насчёт всегда не могу гарантировать, а на stm32 успешно пользуюсь этим приёмом при оцифровке сигналов с высоким импедансом. К сожалению, там нет внутренней коммутации на землю, которую лучше всего использовать в качестве источника постоянного напряжения, обычно приходится одну внешнюю ногу для этого выделять.
  12. Вот ещё простой пример с арифметикой, где VHDL удобнее: надо умножить две переменных произвольной разрядности, записав результат в другую переменную произвольной разрядности, с выравниванием по старшим битам, при необходимости обрезав лишние младшие биты, либо дополнив недостающие младшие биты нулями. Для этой достаточно типичной операции я написал универсальную функцию align_left, которую можно вызвать: c := align_left(a * b, c'length); А вот с Верилогом, кажется, придётся мудрить.
  13. На примере задачи из топика: function bitsum(v:unsigned; l:natural) return unsigned is variable s:unsigned(l-1 downto 0); begin s := to_unsigned(0, l); for i in v'range loop s := s + resize(v(i downto i), l); end loop; return s; end function; И попробуйте сделать такую же удобную в использовании функцию общего вида на Верилоге.
  14. Я в VHDL использовал integer только для индексов, а собственно арифметику только на numeric_std.signed/unsigned, так что никаких проблем с длиной и 31-м битом не было. Правда, пришлось сделать свою библиотеку для удобных преобразований векторов и ещё всякой всячины. При этом арифметика на VHDL внезапно получается проще и надёжнее, чем на Верилог, но вот про чистую логику этого сказать нельзя.
  15. Если скорость позволяет, можно использовать трансляторы уровней с двойным питанием и "ручной" установкой направления, например SN74LVC8T245 и SN74LVC1T45.
×
×
  • Создать...