kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 (изменено) · Жалоба Здравствуйте, форумчане! Вынужденно обращаюсь, так как уже не знаю в каком направлении думать. Задание: последовательно подключить делитель и счетчик. Сделал: делитель, счетчик, подключил их к проекту верхнего уровня. Требуется, чтобы сигнал с выхода делителя поступал на вход счетчика, и вот тут загвоздка. Аналогичная прога работает, а моя нет. Вот текст: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity Dev_Count is port ( clkDevDC: in std_logic; --clkCntDC: in std_logic; dvdrDC: out std_logic; rstDC: in std_logic; setDC: in std_logic; outcountDC: out natural ); end Dev_Count; architecture Behavior of Dev_Count is component Devider is port ( clk: in std_logic; dvdr: out std_logic ); end component; component Counter is port ( clk2: in std_logic; rst: in std_logic; set: in std_logic; outcount: out natural ); end component; signal Out_Devider: std_logic; begin Component_Devider: Devider port map(clk => clkDevDC, dvdr => Out_Devider); Component_Counter: Counter port map(clk2 => Out_Devider, outcount => outcountDC, rst => rstDC, set => setDC ); end Behavior; Проблемное место: clk2 => Out_Devider. Если вместо Out_Devider ставить clkDevDC, то нормально. Но меня это не устраивает, тама нужно чтобы "поделенный" сигнал с делителя, входил в счетчик. Среда Квартус. Заранее спасибо. Изменено 8 мая, 2015 пользователем des00 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба а что значит не работает? дает варнинг , не сентизиться или работает не так? вообще с клоками аккуратно надо, иногда надо явно написать что вы хотите именно это Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 (изменено) · Жалоба Когда Component_Counter: Counter port map(clk2 => clkDevDC, все нормально, а когда Component_Counter: Counter port map(clk2 => Out_Devider, говорит Error: Can't pack LABs Error: Can't place node "dvdrDC" of type max_io Error: Can't place node "devider:Component_Devider|cnt[0]" of type max_mcell Error: Can't place node "devider:Component_Devider|cnt[1]" of type max_mcell и т.д., всего 161 еррор. Вот в том то и дело, что клоки. Девайдер должен подлеить частоту, и эта поделенная частота должна быть входной для счетчика. Out_Devider и есть та самая поделенная частота, она из девайдера как сигнал должна входить в счетчик. Если как в первой строке, счетчик работает как положено, даже резет и сет работает. Но, повторюсь, именно проблема с этим сигналом Out_Devider. Изменено 8 мая, 2015 пользователем kir_vik Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба На всякий случай прикрепляю проект. ________________.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба На всякий случай прикрепляю проект. Назначил CPLD большего объема(max7256) - компиляция прошла на ура. Видимо на может уместить в 128 макроячейках всю трассировку. Архив прикладываю Dev_Count.zip PS старайтесь не назначать пути русскими буквами Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Архив прикладываю Dev_Count.zip PS старайтесь не назначать пути русскими буквами Проблема с архивом. Там всего один файл Dev_Count.qar, Квартус предлагает восстановить, но не получается. Вы видимо не все в архив кинули. Про пути понял. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба gar- архив квартуса, позволяет хорошо сэкономить в объеме. Перекомпилил в веб эдишн 9.0 - может поможет (раньше был 9.1 полным квартусом) Dev.zip Dev_Count_1.zip PS. Попробовал скачал свой архив (постом ранее), открыл в вебэдишн 9.0 - компилируется. Что у Вас не получилось не знаю Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Второй вариант сработал, который Dev.zip. Спасибо, Александр. Как разберусь, напишу. Поставил Стратикс2. Компиляция прошла без проблем. Симуляция тоже без проблем, но там какая-то фигня, надо разбираться. Еще Вы подкорректировали программку, вникну. Но там кириллица не отображается, если можно в тхт скиньте, есле что-то важное в коментах. В общем завтра. Еще раз спасибо! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topor_topor 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Проблемное место: clk2 => Out_Devider. Если вместо Out_Devider ставить clkDevDC, то нормально. Но меня это не устраивает, тама нужно чтобы "поделенный" сигнал с делителя, входил в счетчик. Среда Квартус. Заранее спасибо. В детали кода не вникал, но не вижу проблем подключить выход делителя (выход триггера FF1.Q) на вход счётчика (вход FF2.С). При этом правда возникают нюансы которые надо объяснить тулзе (я не вижу что как-то описан generated clock)... и не факт что конкретная серия ПЛИС так сможет... Вопрос тут только в одном - зачем это лепить, а не воспользоваться входом FF2.СE? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Александр77 1 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Еще Вы подкорректировали программку, вникну. Но там кириллица не отображается, если можно в тхт скиньте, есле что-то важное в коментах. В общем завтра. Еще раз спасибо! Коментарии только ваши. Из добавленного - у вас в devider'е есть generic, а в головном проекте не был прописан generic map. Его и добавил. Для работы хватило и max7256 вместо max7128. Пожалуйста. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Вопрос тут только в одном - зачем это лепить, а не воспользоваться входом FF2.СE? На самом деле это контрольная работа. Первая прога на vhdl. Поэтому делаю ее в рамках лекционного и лабораторного материала. В целом на форум обращаюсь в крайнем случае, когда ну никак. Так что не ругайтесь.)) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topor_topor 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба На самом деле это контрольная работа. Первая прога на vhdl. Поэтому делаю ее в рамках лекционного и лабораторного материала. В целом на форум обращаюсь в крайнем случае, когда ну никак. Так что не ругайтесь.)) не посмотрел что сообщений только 6... ...правильнее завести выход делителя на СE счётчика, а СК входы делителя и счётчика соединить вместе... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Golikov 0 8 мая, 2015 Опубликовано 8 мая, 2015 · Жалоба Так се сигнал надо в этом случае делать однотактовым, иначе за пол периода он насчитает... А главное что если описать что счетчик меняеться по деленному сигналу, то во всяком случае ксалинкс так и разводит не на клок, а на се Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
kir_vik 0 13 мая, 2015 Опубликовано 13 мая, 2015 · Жалоба В общем проблема разрешилась. Дело в том, что Квартус по умолчанию ставил самый простой вариант камня семейства 7000АЕ. Таким образом не хватало ячеек (элементов). После установки наиболее продвинутой версии семейства 7000 все откомпилировалось. А в конечном итоге и все заработало как положено. Всем большое спасибо за помощь! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться