Flip-fl0p 4 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба Клок какой подаете ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 19 сентября, 2019 Опубликовано 19 сентября, 2019 (изменено) · Жалоба 50 Mhz требуется: 25.175 MHz 640x480 из кода: // mod-2 circuit to generate 25 MHz enable tick assign mod2_next = ~mod2_reg; assign pixel_tick = mod2_reg; Изменено 19 сентября, 2019 пользователем Alexey87 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба А сколько требуется по стандарту Vesa ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба 1 час назад, Alexey87 сказал: 50 Mhz Тогда логичнее было с самого начала работы выбрать режим 72 Гц, у которого точка 50 МГц. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 19 сентября, 2019 Опубликовано 19 сентября, 2019 (изменено) · Жалоба 3 hours ago, Plain said: Тогда логичнее было с самого начала работы выбрать режим 72 Гц, у которого точка 50 МГц. всё равно моргает, а на простом мониторе рисует... вот генератор из 8bitworkshop: Spoiler module hvsync_generator(clk, reset, hsync, vsync, display_on, hpos, vpos, r); input clk; input reset; output reg hsync, vsync; output display_on; output r; output reg [8:0] hpos; output reg [8:0] vpos; // declarations for TV-simulator sync parameters // horizontal constants parameter H_DISPLAY = 800; // horizontal display width parameter H_BACK = 64; // horizontal left border (back porch) parameter H_FRONT = 56; // horizontal right border (front porch) parameter H_SYNC = 120; // horizontal sync width // vertical constants parameter V_DISPLAY = 600; // vertical display height parameter V_TOP = 23; // vertical top border parameter V_BOTTOM = 37; // vertical bottom border parameter V_SYNC = 6; // vertical sync # lines // derived constants parameter H_SYNC_START = H_DISPLAY + H_FRONT; parameter H_SYNC_END = H_DISPLAY + H_FRONT + H_SYNC - 1; parameter H_MAX = H_DISPLAY + H_BACK + H_FRONT + H_SYNC - 1; parameter V_SYNC_START = V_DISPLAY + V_BOTTOM; parameter V_SYNC_END = V_DISPLAY + V_BOTTOM + V_SYNC - 1; parameter V_MAX = V_DISPLAY + V_TOP + V_BOTTOM + V_SYNC - 1; wire hmaxxed = (hpos == H_MAX) || reset; // set when hpos is maximum wire vmaxxed = (vpos == V_MAX) || reset; // set when vpos is maximum // horizontal position counter always @(posedge clk) begin hsync <= (hpos>=H_SYNC_START && hpos<=H_SYNC_END); if(hmaxxed) hpos <= 0; else hpos <= hpos + 1; end // vertical position counter always @(posedge clk) begin vsync <= (vpos>=V_SYNC_START && vpos<=V_SYNC_END); if(hmaxxed) if (vmaxxed) vpos <= 0; else vpos <= vpos + 1; end // display_on is set when beam is in "safe" visible frame assign display_on = (hpos<H_DISPLAY) && (vpos<V_DISPLAY); assign g = display_on && hpos > 0 && hpos < 799 && vpos > 0 && vpos < 599 ? 1'b1 : 1'b0; endmodule рисует со всеми генераторами фигуры нормально, но если нарисовать прямоугольник (размер разрешения), начинает моргать. Если у меня код неправильный это понятно, но примеры которые я привёл выше не могут быть ведь тоже неправильными... Не знаю где у меня конкретно ошибка, в формировании синхросигналов или с получением текущих координат x и y? Если смотреть анализатором, то значения почти такие же как и в стандарте vesa (отличаются сотыми) Изменено 19 сентября, 2019 пользователем Alexey87 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба Повторю, генератор у Вас негодный по причине в первую очередь создаваемых им неопределённых сигналов, но монитор ещё имеет право быть либо неисправным, либо сбоить под влиянием организационных проблем — плохое питание, плохая доставка до него информации, и т.д. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 19 сентября, 2019 Опубликовано 19 сентября, 2019 (изменено) · Жалоба 20 minutes ago, Plain said: генератор у Вас негодный а в примерах из книг? Есть ли 100% рабочий (на ваш взгляд) пример генератора (интересует статья в сети или выдержка из книги)? Изменено 19 сентября, 2019 пользователем Alexey87 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Plain 168 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба Вам уже несколько раз сказали — цифровой дисплей синхронное устройство, все его входы регистры, чтобы все принимаемые сигналы были однозначными, а значит и выходы их источника, создающие их, должны быть регистрами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба В 19.09.2019 в 16:42, Alexey87 сказал: а в примерах из книг? Есть ли 100% рабочий (на ваш взгляд) пример генератора (интересует статья в сети или выдержка из книги)? А Вам самостоятельно написать слабо ? Синхрогенератор - это 2 простейших цифровых автомата + 2 счетчика. Вот и весь синхрогенератор. Тем более у Вас есть даже готовый пример автомата, генерирующего H_sync. Вот Вам недостающий счетчик, для моделирования: P.S. Генерируйте клок 25.175 на PLL.... KAA_counter_sload.vhd P.S.S Ещё раз повторю. Пока Вы не получите положительный результат моделирования - никаких тестов в "железе". Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 19 сентября, 2019 Опубликовано 19 сентября, 2019 · Жалоба to Flip-fl0p Благодарю вас, буду разбираться... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Maverick_ 15 20 сентября, 2019 Опубликовано 20 сентября, 2019 · Жалоба Alexey87 посмотрите личку... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 29 февраля, 2020 Опубликовано 29 февраля, 2020 · Жалоба Здравствуйте прошу вашей помощи! Сейчас я записываю в video ram 1 байт, 1 символ, число от 0 - 9 и затем на монитор это отображается, а каким образом для отображения на мониторе "работать" с двузначными, трехзначными, четырёхзначными (записать 2х,3х,4х байтное число) и т.п. числами? Что по этому поводу почитать или посмотреть примеры? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
iosifk 3 29 февраля, 2020 Опубликовано 29 февраля, 2020 · Жалоба 8 минут назад, Alexey87 сказал: Сейчас я записываю в video ram 1 байт, 1 символ, число от 0 - 9 и затем на монитор это отображается, а каким образом для отображения на мониторе "работать" с двузначными, трехзначными, четырёхзначными (записать 2х,3х,4х байтное число) и т.п. числами? Так монитор не понимает "числа"... Он понимает только символы. Хотите изобразить символами "4х байтное число", ну так переведите это число в символьную строку. А дальше Вы уже умеете... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 29 февраля, 2020 Опубликовано 29 февраля, 2020 · Жалоба 24 минуты назад, Alexey87 сказал: Здравствуйте прошу вашей помощи! Сейчас я записываю в video ram 1 байт, 1 символ, число от 0 - 9 и затем на монитор это отображается, а каким образом для отображения на мониторе "работать" с двузначными, трехзначными, четырёхзначными (записать 2х,3х,4х байтное число) и т.п. числами? Что по этому поводу почитать или посмотреть примеры? Странный вопрос. Вы записали в память один символ и выводите его на экран. Двузначное число на экране - это два символа в Video_RAM. Значит надо в память записать 2 символа. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Alexey87 0 29 февраля, 2020 Опубликовано 29 февраля, 2020 · Жалоба Just now, Flip-fl0p said: Двузначное число на экране - это два символа в Video_RAM. Значит надо в память записать 2 символа. Именно, дело в том что изначально у меня (результат вычислений) например 123 - 01111011 в таблицу ascii передаётся - 7B и тогда на экране отрисует символ { .Мне необходимо как-то преобразовать в 3 цифры - 1,2,3.....BCD? 23 minutes ago, iosifk said: ну так переведите это число в символьную строку хорошо бы, но устройство у меня в память пишет по одному символу пока. вот 2020 вывод по одному символу: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться