Jump to content

    

Nieve

Участник
  • Content Count

    38
  • Joined

  • Last visited

Community Reputation

0 Обычный

About Nieve

  • Rank
    Участник

Старые поля

  • Vkontakte
    Array

Контакты

  • Сайт
    Array
  • ICQ
    Array

Информация

  • Город
    Array

Recent Profile Visitors

463 profile views
  1. Если я правильно понял, вам не нужно реализовывать весь интерфейс, достаточно только механизм управления управляющих кодов. Ставите настройку "autostart" (ожидание получения NULL кодов), после получения первого отправляете несколько NULL в ответ, а далее от 1 до 7 FCT символов для установки соединения. После этого обмениваетесь NULL кодами для поддержки соединения. Установите приоритет при отправки управляющих кодов и дело в шляпе.
  2. Изначально "fsm" в каком состоянии? Теоретически на симуляторе все триггера автомата могут быть в "0", а в ПЛИС в "1" и наоборот.
  3. Здравствуйте! Вопрос следующий: создаю .do файл в САПРе, где прописываю сигналы, которые необходимо добавить на waveform, например: wave -noreg /testbench/main/clk wave -noreg/testbench/main/rst И так далее. Потом, на открывшейся waveform, руками могу изменить цвет нужного мне сигнала. Внимание вопрос: можно ли установить цвет нужного сигнала в .do файле?
  4. Не понятен такой момент: вы получили байт по UART, зачем его переделывать на VHDL? Вы получили число, в симуляторе смотрите значение в хексе или десятке, суть задачи не ясна.
  5. ST_END_ZONE: state_zone <= ST_END_ZONE; Вы не выходите из третьего состояния.
  6. Синтезните свой проект в ISE / Vivado и САПР сам покажет кол-во используемых элементов.
  7. "частоты приблизительно равны, но асинхронны" - это уже накладывает ограничения по применению, это неправильно. FIFO должна корректно работать при абсолютно разных частотах. Зачем вообще понадобились "error" регистры? Ваша задача не в том чтобы ошибку найти, а в том, чтобы корректно записывать данные в буффер. Из любопытства: что будет если например сработал этот регистр? Смотрю с телефона, поэтому код не удобно читать.
  8. Если вы тактируете одну PLL от другой, то напрямую так делать нельзя. Либо используйте одну PLL и от нее пускайте разные клоки, либо выводите выход одной PLL наружу и заводите его на вход во вторую, обозначив его как входной тактовый сигнал.
  9. Попробуйте вывести все возможные флаги FIFO и ищите закономерномести при неправильном считывании. Все таки альторовские IP верифицированные, поэтому вряд ли глючит именно сам блок, скорее всего некая обвязка.
  10. Нет, не так. Если у Вас в схеме есть триггеры, в таком случае тактовый сигнал нужно подавать обязательно.
  11. Нет. Вы будете работать с его инстансом. Например у вас в схеме есть два порта UART, описанные одним Verilog файлом. Обращаясь к первому порту, Вы будете вызывать его например так: uart uart_inst_1 (...); Ко вторумо так: uart uart_inst_2(...); Тоесть два разных порта UART, но чтобы не добавлять в проект 2 одинаковых UART модуля используют инстансы. С FIFO все тоже самое.
  12. С пина на пин можно обойтись без тактирования. Через assign присвоить значение выходной ножки входной. P.S Если Вы в начале пути по освоению ПЛИС и Verilog, идите по простейшему пути, отложите пока двунаправленные порты.
  13. Подключайте в двух разных вызываемых модулях разные инстансы FIFO и проблем не будет. У Вас FIFO модуль создается один раз в проекте, дальше Вы работаете с его инстансами.
  14. Вопрос так и был сформулирован: надо все или только стробы? Я так понимаю что как синхронизировать ТС уже знает, если нет, то ваша ссылка будет ему очень полезна.
  15. Сигнал, сформированный по "clk_1", должен быть синхронизорован по "clk_2".