mr.Koddy 0 27 ноября, 2004 Опубликовано 27 ноября, 2004 · Жалоба Подскажите пожалуйста, кто знает. Надо мне описать схему на VHDL. Имеется 3 САПРа: max+plus 2, Orcad 9.2, MultiSIM 2001. На первом у меня компилятор ругается.(я это VHDL-описание дал челу, он на другом компиляторе все скомпилил.Как называется не понмю.) В оркаде и MultiSIM нет возможности создавать VHDL-проекты(где выбор проекта, на VHDL-пункте серое). Как быть? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 28 ноября, 2004 Опубликовано 28 ноября, 2004 · Жалоба Все зависит от того, что хочешь получить на выходе. Если тебе необходимо просто скомпилировать .vhdl (= проверка на правильность кода) и, возможно, прогнать тестовое воздействие, testbench (= проверка на функционирование схемы), то для этого лучше всего подходят такие среды как ActiveHDL и ModelSim. Для синтеза схемы в ПЛИС не обойтись без пакетов MAX Plus, Quartus, ISE и т.д., но они, насколько видно из твоего сообщения, в данном случае не нужны. P.S. В принципе MAX Plus позволит тебе нормально откомпилировать проект при условии, что ты не используешь неподдерживаемых пакетом конструкций языка (например, переменных физического типа time) - это справедливо и для остальных сред-синтезаторов. Список поддерживаемых конструкций можешь найти в справке программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 29 ноября, 2004 Опубликовано 29 ноября, 2004 · Жалоба Да, я просмто хочу промоделировать vhdl. Неподдерживаемые конструкции я вроде не использую.В нескольких форумах(адреса не помню) видел мессаги о том, что МАХ Plus с VHDL не сильно дружит.Если мерить чему о котором я упомянул выше, то МАХ+ глючит действительно.Хотелось бы для достоверности момоделировать на другом САПРе, но видимо не судьба Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 30 ноября, 2004 Опубликовано 30 ноября, 2004 · Жалоба У вас проект из одного или нескольких вайлов? Если файлов несколько ,то их необходимо скомпилировать вручную с соблюдением иерархии. Попробуйте с помощью препроцессора сpp, собрать все файлы в один. Посмотрите на что он ругается, иногда одно и то же можно описать по разному. Если ничего не помогает, используйте synplicity Synplify, для flex10k и круче, более эффективно Amplify. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Slavik 0 30 ноября, 2004 Опубликовано 30 ноября, 2004 · Жалоба Господа, человеку наверное надо лабу сделать, а вы его грузите. Во-первых проверь, что у тебя нормальная лицензия на макс (с потдержкой VHDL). Во-вторых сделай весь проект в одном файле. В третьих в максе c vhdl должно быть все в порядке. Посмотри хелп, примеры, и сделай аккуратненько. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 30 ноября, 2004 Опубликовано 30 ноября, 2004 · Жалоба Господа, человеку наверное надо лабу сделать, а вы его грузите. Во-первых проверь, что у тебя нормальная лицензия на макс (с потдержкой VHDL). Во-вторых сделай весь проект в одном файле. В третьих в максе c vhdl должно быть все в порядке. Посмотри хелп, примеры, и сделай аккуратненько. <{POST_SNAPBACK}> Не лабу, а контрольную.Хотя это не важно. :) А как праверить что она нормальная? Пару простениких схемок на нем сдела- все работает. Хелп там ужасный.Примеры мне особо не помогут. Кстати, а где в сети можно набрать vhdl-файлов с различными девайсами? мож там и мое будет. :rolleyes: Собственно у меня МАХ+ странное выдает при компиляции.Щас дословно не првиеду, но смыслс варнингов такой, что входы и выходы(те что в vhdl-файле) никуда не подключены.Я его прям так и компилирую, предварительно обозвав его проектом.Ошибок не пишет.Ну и не моделируется - пишет теже варнинги. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 1 декабря, 2004 Опубликовано 1 декабря, 2004 · Жалоба Если просят надо подключить, или устранить. pin_name<=default_value;--(out1<='0'); www.vhdl.org/fmf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 1 декабря, 2004 Опубликовано 1 декабря, 2004 · Жалоба Если просят надо подключить, или устранить. pin_name<=default_value;--(out1<='0'); www.vhdl.org/fmf <{POST_SNAPBACK}> Лицензия у меня поддерживает сделующее: VHDL output VHDL entry ну много чего еще.Неподдерживаемого(в правом столбце нету ничего. Вот дословно варнинги, которые мишет МАХ+ Primitive 'y3' is stuck at VCC Primitive 'y2' is stuck at GND и т.д. Ignored unnecessary INPUT pin ss1 Ignored unnecessary INPUT pin ss0 Эти входы и выходы обозначены так: entity dc_1 is port( ss: in integer range 3 downto 0; y: out bit_vector(3 downto 0) ); гм....я ж говорю, хелп там некудушный :( А я думал, что входам и выводам присвается уровень 1 или 0, пока я его не задал сам как-то автоматически(т.к. я я пока программировать ПЛИС не планирую, то можно было бы ограничиться этим в режиме моделирования).Но все равно попробую.Хотя даже чисто физически, на входы все равно что-то подается, если конечно нет физического отключения.Ну а выходы почти так же, за тем исключением, что там либо 0,1 и 3-е состояние(не путать с 'неопределено значение'). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 2 декабря, 2004 Опубликовано 2 декабря, 2004 · Жалоба Как советовал vetal я попробовал сделать.Тогда вообще куча всяких малоинформативных сообщиенй об ошибках.В одном из них говориться, что на входы падавать значения нельзя(смысл примерно такой). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vetal 0 2 декабря, 2004 Опубликовано 2 декабря, 2004 · Жалоба Это не ошибки, а предупреждения. в простейшем случае соедините выход со входом, и они пропадут. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 2 декабря, 2004 Опубликовано 2 декабря, 2004 · Жалоба Это не ошибки, а предупреждения. в простейшем случае соедините выход со входом, и они пропадут. <{POST_SNAPBACK}> Да, но из-за этих предупреждений не идет иногда моделирование. Вот такую простую штуку мне надо сдалть: PACKAGE hex_pkg IS TYPE HEX_TYPE IS ('9','A', 'B', 'C', 'D', 'E', 'F'); END hex_pkg; use work.hex_pkg.all; entity dc_1 is port( ss: in HEX_TYPE; y: out bit_vector(3 downto 0) ); end dc_1; architecture functional of dc_1 is signal a: bit_vector(3 downto 0); begin p0:process(ss) begin CASE ss IS WHEN '9' => a<="1001"; WHEN 'A' => a<="1010"; WHEn 'B' => a<="1011"; WHEn 'C' => a<="1100"; WHEn 'D' => a<="1101"; WHEn 'E' => a<="1110"; WHEn 'F' => a<="1111"; end case; end process; y<=a; end functional; Эти предупреждения все равно есть на y3 и ss3. Но вот низадача, это описание компилиться, а вот моделируется криво т.е. на y всегда что-то есть и если я на ss подю несколько чисел, то на y появляется одна и та же комбинация пока я на ss подаю что-то.Т.е как я думаю, в y просто переписываетс значение какое-то мусорное (Х) значение a, а условие не выполняется. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Esquire 0 2 декабря, 2004 Опубликовано 2 декабря, 2004 · Жалоба а вот моделируется криво Ага, и синтезируется точно также. Дело в том, что цифровая электроника оперирует с реальными двоичными значениями/числами, а у тебя указан перечисляемый тип с элементами character. Поэтому или приведи данные к двоичному типу (например, через константы) или перебирайся на пакет моделирования, не привязанный жестко к синтезу схем на ПЛИС (цитирую сам себя B) ): для этого лучше всего подходят такие среды как ActiveHDL и ModelSim Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mr.Koddy 0 2 декабря, 2004 Опубликовано 2 декабря, 2004 · Жалоба Поэтому или приведи данные к двоичному типу (например, через константы) или перебирайся на пакет моделирования, не привязанный жестко к синтезу схем на ПЛИС (цитирую сам себя B) ): для этого лучше всего подходят такие среды как ActiveHDL и ModelSim Мне надо это сделать обязательно в МАХ+.Это контрольная, и кроме моделирования мне ниче больше не надо. А как их перевести? На входе(в эмуляции) у меня полюбому будут двоиные числа.А их надо представить что типа это 16-тиричные.Вообще-то физически таких чисел нету, вот и хотел сделать это типа символьных переменных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться