Jump to content

    

SII

Свой
  • Content Count

    619
  • Joined

  • Last visited

Community Reputation

0 Обычный

About SII

  • Rank
    Знающий
  • Birthday 12/22/1972

Контакты

  • Сайт
    http://
  • ICQ
    308303999

Информация

  • Город
    Солнечногорск-7

Старые поля

  • skype
    sii___

Recent Profile Visitors

4249 profile views
  1. А как она в плане описание СистемВерилога? А то я, например, бумажную книжку Педрони по VHDL использую именно как справочник по языку, если что-то подзабыл: описание стандарта менее удобно.
  2. Зато глюки эти известны, а сама ИЗЯ, как по мне, куда шустрей и приятней в работе. И, кстати, для синтеза вполне можно Precision какой использовать, а не XST.
  3. А какая проблема самостоятельно всё это дело освоить?..
  4. Вот что было написано про проблему: Как видите, исходные операнды -- UNSIGNED, результат -- INTEGER.
  5. 1. В моём примере складываются UNSIGNED'ы и приводятся к INTEGER'у. Какая ошибка у человека возникла, он не сообщил, так что я предположил, что дело было в несоответствии типов. 2. Есть сложение STD_LOGIC_VECTOR. 3. Даже если чего-то действительно нет, можно написать свой (пользовательский) оператор и потом им спокойно пользоваться.
  6. Подозреваю, что дело в приведении типов (VHDL имеет строгую типизацию), поскольку само сложение для UNSIGNED'ов возможно, если включён один из пакетов numeric_std или std_logic_arith. Можно попробовать что-то вроде: B <= INTEGER( A(7)+A(6)+A(5)+A(4)+A(3)+A(2)+A(1)+A(0) ); Т.е. указать явное приведение типа результата. Сам проверить прям сейчас не могу.
  7. А ещё любые программы очень часто пишут индусские быдлокодеры со всеми вытекающими. Я, например, натыкался на ситуацию, когда абсолютно верную конструкцию (на VHDL, но не суть) совершенно верно симулировал ModelSim (он вообще меня пока что не подводил ни разу) и совершенно верно синтезировал Xilinx'овый синтезатор для 6-го семейства, а вот Xilinx'овый же, но для 3-го, то ли синтезировал криво, то ли просто выдавал ошибку на пустом месте, уже не помню подробности.
  8. Я, конечно, не автор и сам так не пишу (не оставляю "простора для творчества" синтезатору на всякслучай), но, насколько помню, стандарт оговаривает, что если за один "проход" процесса некоему сигналу присваивается несколько значений, то в итоге будет присвоено последнее значение. Поэтому данный пример (сначала if Count_Enable...end if, а затем if Reset...end if) действительно будет работать правильно (Reset будет иметь приоритет). Но, как по мне, читаемость такой конструкции хуже, и лучше использовать if ... elsif... elsif... else, где неоднозначностей нет в принципе. По большому счёту, нет. Хотя для симуляции и собственно синтеза можно использовать сторонние средства. Я, например, использую QuestaSim и Precision (последний позволяет мне использовать VHDL-2008, а не -2002, коим ограничен ISE, да и Vivado вроде держит 2008 довольно плохо, но от неё я вообще стараюсь подальше держаться -- жуткий тормоз). Верилог ничем не поможет. Если нужно программировать, скажем, Spartan-3 -- то ISE, и точка. От языка это не зависит вообще никак.
  9. Подобным образом писать процессы нельзя, поскольку может игнорироваться сигнал сброса. Правильно примерно так: process (Clk) is begin if rising_edge(Clk) then if Reset = '1' then Counter <= 0; elsif Count_Enable = '1' then Counter <= Counter + 1; end if; end if; end process; Ошибка в том, что, если не делать else, будут проверяться все условия, и в итоге счётчик получит значение, определяемое последним истинным условием. Это обычная беда начинающих, а временами и не очень-то начинающих "железописателей". Как по мне, осваивать электронику надо всё ж с рассыпухи -- реальных логических элементов, триггеров и т.п., чтоб на практике понять, а как оно в действительности работает, и приучить себя мыслить соответствующим образом. Заодно будешь понимать, во что примерно код на VHDL или другим "железном" языке будет синтезироваться.
  10. Перевод кривой, причём не только в смысле собственно перевода, но и функционала. Например, при русском интерфейсе в Designer'е пропал пункт соединения с Library Cockpit, без чего, вообще говоря, работать с EDM нельзя. В общем, менеджеры -- зло (они ж решают, что с продуктом делать). ADD. Ни у кого такой проблемы нет? Пытаюсь посмотреть сообщения Packager'а в окне Output -- и не могу по той причине, что это окно самопроизвольно прокручивается в самый низ, к последним сообщениям.
  11. Ну дык что не надо (русский интерфейс -- для дебилов, шоль?), они сделали, а что реально бы нужно -- юникод во внутреннем представлении любой текстовоой информации -- нет.
  12. У меня одного вот такой вот глюк в значках? Стрелочка стала обозначать Place Mode, микросхема -- Route Mode, а дорожки -- Draw Mode. Пы.Сы. Это в редакторе посадочных мест, в режиме разводки пока не запускал. ADD. Выяснил причину. Она использовала раскладку значков от предыдущей версии, поскольку я каталог, естественно, не чистил. Сейчас удалил все файлы от предыдущей версии -- значки стали нормальными.
  13. Скорей всего, там при попытке использовать штатный new тянется изрядная часть библиотеки, а не только собственно управление памятью. Так что лучший вариант, как по мне -- написать своё.
  14. MG Expedition ликбез ...

    Удалить в ней файл "имя-библиотеки.sbx".
  15. Спасибо, попробую разобраться. Что касается написания кода, то я тоже в стороннем пишу (если Си++ -- то в Вижуал Студии; собственно, там для проверки и собирать можно, если подсунуть заглушки вместо платформенно-специфичных вещей), интересует именно что возможность более-менее нормальной отладки.