SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Нужно подключать разные модули по команде из мк думал сделать в case что то не соображу как сделать? case command_in_from_mc is when "0000001" => DD3: entity work.adc(adc_conv)port map( data1,data2); when "0000011" => DD3: entity work.dac(dac_conv)port map( data1,data2); ..... when others => data1 <= null; data2<= null; end case; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Нужно подключать разные модули по команде из мк думал сделать в case что то не соображу как сделать? Для того что бы определиться как делать, нужно ответить на вопрос : "что такое инстанс модуля?". Как только на него ответите, сразу поймете как делать %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Как правильно это сделать? (ключевое слово дайте) :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Как правильно это сделать? (ключевое слово дайте) :) Еще раз. Что такое инстанс модуля? Что именно вы делаете когда его описываете? Тут даже не надо стандартны на HDL знать, это же логика здравого смысла. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Что такое инстанс модуля Не знаю, мало красивых слов знаю :) Думаю описание его интерфейса ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Думаю описание его интерфейса ? в таком случае что же такое port map ? вот вам подсказка. IEEE Standard VHDL Language Reference Manual -> IEEE Std 1076, 2000 Edition -> 9.6 Component instantiation statements 9.6 Component instantiation statements A component instantiation statement defines a subcomponent of the design entity in which it appears, associates signals or values with the ports of that subcomponent, and associates values with generics of that subcomponent. This subcomponent is one instance of a class of components defined by a corresponding component declaration, design entity, or configuration declaration. теперь вам более понятно что вы делаете, когда вставляете инстанс объекта (entity)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба теперь вам более понятно что вы делаете, когда вставляете инстанс объекта (entity)? Да немного, создаю экземпляр компонента :) ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Да немного, создаю экземпляр компонента :) ? Можете расшифровать более подробно, своими словами, что вы понимаете под этим %) И сразу следующий вопрос. Исходя из выяснения вопроса о том, что такое инстанс модуля и обращаясь к вашему первоначальному код, вы можете объяснить абсурдность того, что вы, в этом коде, делаете? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба И сразу следующий вопрос. Исходя из выяснения вопроса о том, что такое инстанс модуля и обращаясь к вашему первоначальному код, вы можете объяснить абсурдность того, что вы, в этом коде, делаете? Абсурдный код написал чтобы выразить понятнее что мне нужно . Наверно если словами своими, то если представить схему то на схеме добавляется модуль dd3 с всеми входами и выходами назначенными в entity port. Сейчас сделал так with command_in_from_mc select x <= data1 when "00",data2 when "01",(others => ‘X’) when others; Так правильно или как то по другому лучше сделать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Наверно если словами своими, то если представить схему то на схеме добавляется модуль dd3 с всеми входами и выходами назначенными в entity port. бинго!!! оказалось совсем не сложно. значит всё переходит от вопроса как динамически подставлять в компонент другую архитектуру, к вопросу, как с разных модулей мультипликсировать данные %) Судя по тому что вы сделали, этим вопросом вы хорошо владете и делаете все правильно %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба бинго!!! оказалось совсем не сложно. значит всё переходит от вопроса как динамически подставлять в компонент другую архитектуру, к вопросу, как с разных модулей мультипликсировать данные %) Судя по тому что вы сделали, этим вопросом вы хорошо владете и делаете все правильно %) Не пока не чего не понимаю, весь перепутался в сигналах :) Подскажите по синтаксису, как сделать что бы цепь присваивалась при разных командах case command_in_from_mc is when "0000001" "0000010" => x<=a; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Подскажите по синтаксису, как сделать что бы цепь присваивалась при разных командах вы же правильно пишете, откуда такая неуверенность ? 8. Sequential statements -> 8.8 Case statement case_statement ::= [ case_label : ] case expression is case_statement_alternative { case_statement_alternative } end case [ case_label ] ; case_statement_alternative ::= when choices => sequence_of_statements ЗЫ. рекомендую поставить альдек и пошариться у него в VHDL Templates. там много интересного для тех кто начинает рыть HDL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Если одна команда when "0000001" => x<=a; то все нормально. Если две константы( Команды ) when "0000001" "0000010" => x<=a; то ошибка. Error (10482): VHDL error at proba.vhd(118): object ""0000010"" is used but not declared Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Если одна команда when "0000001" => x<=a; то все нормально. Если две константы( Команды ) when "0000001" "0000010" => x<=a; то ошибка. Error (10482): VHDL error at proba.vhd(118): object ""0000010"" is used but not declared а квалификаторы чисел кто будет ставить ? это что, binary, oct, dec, hex, string ? хотя бы минимальное введение в язык прочитайте %) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SergeyVas 0 12 февраля, 2012 Опубликовано 12 февраля, 2012 · Жалоба Не хочется перечислять все подряд when "0000001"=> x<=a; when "0000010"=> x<=a; .... Тоже ошибка пробовал Error (10500): VHDL syntax error at proba.vhd(118) near text "B"0000010""; expecting "!", or "=>" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться