wss60 0 25 мая, 2016 Опубликовано 25 мая, 2016 · Жалоба Здравствуйте! Не могу разобраться, почему два практически одинаковых блока работают не синхронно относительно общего сигнала (y_counter). Почему то сигнал LCD_DATA “съезжает” на пол такта относительно сигнала y_t. main.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
masics 0 26 мая, 2016 Опубликовано 26 мая, 2016 · Жалоба Попробуйте использовать "<=" вместо "=". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demon3200 0 26 мая, 2016 Опубликовано 26 мая, 2016 · Жалоба Почему то сигнал LCD_DATA “съезжает” на пол такта относительно сигнала y_t. При моделировании в Quartus вроде как учитываются задержки сигналов. Так что Вы видите вполне нормальную картинку. Попробуйте смоделировать через ModelSim, на уровне RTL. Там все изменения будут происходить только по фронтам тактовых сигналов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wss60 0 26 мая, 2016 Опубликовано 26 мая, 2016 · Жалоба В общем как всегда проблема из-за клока: я пытался уменьшить скорость счета счетчика в два раза, и из-за этого все работало не правильно. Мне нужно, что бы счетчик считал медленнее тактового сигнала в два раза, но как правильно реализовать, пока не разобрался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
bogaev_roman 0 26 мая, 2016 Опубликовано 26 мая, 2016 · Жалоба Мне нужно, что бы счетчик считал медленнее тактового сигнала в два раза, но как правильно реализовать, пока не разобрался. Сформировать сигнал чип енайбл и работать по нему, на верилоге в Вашем случае так: reg ce; always @(posedge clk or posedge rst) if (rst) ce<=0; else ce<=~ce; reg [9:0] cnt; always @(posedge clk or posedge rst) if (rst) cnt<=0; else if (ce) cnt<=cnt+1; else; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
demon3200 0 26 мая, 2016 Опубликовано 26 мая, 2016 (изменено) · Жалоба В качестве cnt_enable также можно использовать самый младший разряд счетчика, т.к. он инвертируется каждый такт. И Ваш счетчик будет считать через раз. В смысле, другого счетчика, не того же самого. Ну, я думаю, смысл Вы поняли. Изменено 26 мая, 2016 пользователем dima32rus Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
wss60 0 26 мая, 2016 Опубликовано 26 мая, 2016 · Жалоба Переписал всё заново, теперь работает как надо. Спасибо всем за помощь! main.v Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться