paradox-17 0 10 мая, 2007 Опубликовано 10 мая, 2007 · Жалоба Привет всем. Плисами занимаюсь недавно, verilog почти не знаю (vhdl более-менее). Встала острая необходимость завести uart. Взял наиболее приглянувшуюся по функциональности корку с opencores.org: uart 16550, которая на верилоге. Отсимулировал в ModelSim - работает. Был очень рад. Потом синтезировал в quartus - и облом. Результат синтеза не фурычит. В чем может быть проблема? Квартус неадекватно воспринял описание? Или я чего-то не догоняю? Конечно, я понимаю, что по уму надо изучить verilog, покопаться хорошенько в коде, изучить все warning'и. Так и сделаю, но сейчас время поджимает. Может кто-нибудь работал с этим ядром и знает в чем проблема? (или есть другой путевый uart в открытом виде - если дадите ссылку или подбросите исходники - буду благодарен). Заранее спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CodeWarrior1241 0 10 мая, 2007 Опубликовано 10 мая, 2007 · Жалоба Предлагаю Вам небольшой UART который удачно имплементировался у меня в Spartan3. В Altera тоже должен работать. miniuart.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paradox-17 0 11 мая, 2007 Опубликовано 11 мая, 2007 · Жалоба to CodeWarrior1241 Большое спасибо. Miniuart я тоже скачивал с opencores. Попробую для начала завести его, но с той коркой разбираться мне все-таки придется, т.к. uart нужен не совсем простецкий, а с неплохим функционалом. Неужели никто в альтере его не реализовывал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
lehho 0 11 мая, 2007 Опубликовано 11 мая, 2007 · Жалоба А в Active-HDL IP-core не смотрели? Правда там 16450, но если Вам FIFO необязательно, то можете попробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
CodeWarrior1241 0 11 мая, 2007 Опубликовано 11 мая, 2007 · Жалоба Чуть пожже сегодня могу пропробовать 16550 core от opencores. Я пользуюсь Xilinx, но мне кажется что это не должно иметь значения. Если тут будет работать без изменений - значит Вы должны свой flow исправить. Если будут ошибки/предупреждения, значит ядро плохо зделано... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
paradox-17 0 11 мая, 2007 Опубликовано 11 мая, 2007 (изменено) · Жалоба Ура! Косяк обнаружен. Моя ошибка заключалась в том, что я начинал цикл записи на следующий такт после появления ack_o (подтверждение). Нужно было лишь подождать дополнительный такт, и все работает. Интересно, это недочет разработчиков, или wishbone-рекомендация допускает это (я-то думал, что появился ack - и смело пиши/читай, ан нет, нужно такт подождать)? Изменено 11 мая, 2007 пользователем paradox-17 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться