|
|
|
Сгенерировать сигналы из signaltab |
|
|
|
Aug 10 2018, 07:03
|
Участник
Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843
|
Добрый день. Есть железка выдающая видео в параллельном интерфейсе и ещё несколько сигналов, но доступ к ней сильно ограничен как по времени так и удобству подключения. Необходимо сохранить с неё временные диаграммы выходных сигналов и сгенерировать такие же сигналы для спокойной отладки другого устройства. Первая мысль - визуализировать входные сигналы в signaltab на отладке, а потом ручками написать блок который будет генерировать на выход такие-же. Можно ли сделать это автоматически, или есть другой способ решить задачу проще?
|
|
|
|
|
Aug 10 2018, 07:26
|
Профессионал
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643
|
Приветствую! Цитата(maxis @ Aug 10 2018, 10:03) ... Первая мысль - визуализировать входные сигналы в signaltab на отладке, а потом ручками написать блок который будет генерировать на выход такие-же. Можно ли сделать это автоматически, или есть другой способ решить задачу проще? 1. Можно. 2.Конечно есть. Слишком туманны условия чтобы давать конкретный совет. Неплохо бы уточнить: на чем сделанна железка, какие интерфейсы есть, какой объем данных нужно захватыват, ... ? ... ? ... ? ... ? Удачи! Rob.
|
|
|
|
|
Aug 10 2018, 07:54
|
Участник
Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843
|
Цитата(RobFPGA @ Aug 10 2018, 10:26) Приветствую! 1. Можно. 2.Конечно есть. Слишком туманны условия чтобы давать конкретный совет. Неплохо бы уточнить: на чем сделанна железка, какие интерфейсы есть, какой объем данных нужно захватыват, ... ? ... ? ... ? ... ? Удачи! Rob. Сигналы 3.3В: Clk, HSync, EN, VSync, R[5:0], G[5:0], B[5:0], Pwm, Неизвестные[3:0]. Частота предположительно 8-11МГц, на месте буду мерить конкретную. Необходимо снять один полный кадр, предположительно 646*344 клоков, ~700Кб. Необходимо выдавать поток кадров непрерывно, если влезать не будет можно пожертвовать цветностью. В наличии отладка на EP4CE10F17C8N.
Сообщение отредактировал maxis - Aug 10 2018, 08:06
|
|
|
|
|
Aug 10 2018, 08:26
|
Местный
Группа: Участник
Сообщений: 256
Регистрация: 15-04-13
Из: Казахстан, г. Алматы
Пользователь №: 76 504
|
Цитата(maxis @ Aug 10 2018, 11:54) ...Необходимо снять один полный кадр, предположительно 646*344 клоков, ~700Кб. Необходимо выдавать поток кадров непрерывно, если влезать не будет можно пожертвовать цветностью. В наличии отладка на EP4CE10F17C8N. Что необходимо сделать с кадром? Поток кадров от какого источника? Есть ли выбор источника видеокадров? От цвета желательно сразу отказаться.
|
|
|
|
|
Aug 10 2018, 08:34
|
Профессионал
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643
|
Приветствую! Цитата(maxis @ Aug 10 2018, 10:54) Сигналы 3.3В: Clk, HSync, EN, VSync, R[5:0], G[5:0], B[5:0], Pwm, Неизвестные[3:0]. Частота предположительно 8-11МГц, на месте буду мерить конкретную. Необходимо снять один полный кадр, предположительно 646*344 клоков, ~700Кб. В наличии отладка на EP4CE10F17C8N. Если под отладкой Вы имеете ввиду голый EP4CE10 FPGA ALTERA Cyclone IV Evaluation Development Core Board то тогда захватывать получится только по частям (построчно или блоками строк) ну а выводить можно например через самописный UART чтобы с SignalTap не заморачиватся. Через него же и управлять (номера строк задавать). Будет Вам автоматизация на коленке. Цитата(maxis @ Aug 10 2018, 10:54) Необходимо выдавать поток кадров непрерывно, если влезать не будет можно пожертвовать цветностью. ??? Удачи! Rob.
|
|
|
|
|
Aug 10 2018, 09:14
|
Участник
Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843
|
Постараюсь более подробно описать задачу: Есть некое устройство с дисплеем, закрытый ящик, которое постоянно используется. Дисплей в устройстве предположительно LQ042T5DZ11. От дисплея хотят отказаться и загнать видеопоток в usb. Соответственно мне необходимо сделать конвертер видео параллельная шина - usb на Cypress FX2. Но так как устройство постоянно используется, отлаживать железо и софт с ним проблемно, поэтому задумал вместо дисплея на короткое время подключить отладку Core EP4CE10, в signaltab вывести сигналы которые идут на дисплей, сохранить их, вернуть дисплей на место. Если памяти отладки не хватит чтоб снять весь кадр в RGB, то снять только G компоненту. Потом на этой же отладке эмулировать/генерировать эти же сигналы для отладки разрабатываемого конвертера. Грубо говоря отладка должна притворится тем самым устройством.
Соответственно я представлял себе это так - по сохранённому сигналтабу ручками пишем модуль который на выходе генерирует точно такие же сигналы. Но долго и нудно. Может есть какие-либо скрипты которые генерируют из файла сигналтаба HDL модуль, на выходе которого получаем те-же сигналы что и в сохранённом сигналтаб?
Сообщение отредактировал maxis - Aug 10 2018, 09:19
|
|
|
|
|
Aug 10 2018, 09:38
|
Профессионал
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643
|
Приветствую! Цитата(maxis @ Aug 10 2018, 12:14) Постараюсь более подробно описать задачу: Есть некое устройство с дисплеем, закрытый ящик, которое постоянно используется. Дисплей в устройстве предположительно LQ042T5DZ11. От дисплея хотят отказаться и загнать видеопоток в usb. Соответственно мне необходимо сделать конвертер видео параллельная шина - usb на Cypress FX2. Для такой постановки задачи вообще нет смысла что-то капчить. Нужно просто знать параметры дисплея. Затем делаете (сначала BFM в симе) а потом модуль в железе который будет генерировать такую же развертку и получаете модель Вашего устройства. Цитата(maxis @ Aug 10 2018, 12:14) Соответственно я представлял себе это так - по сохранённому сигналтабу ручками пишем модуль который на выходе генерирует точно такие же сигналы. Но долго и нудно. Может есть какие-либо скрипты которые генерируют из файла сигналтаба HDL модуль, на выходе которого получаем те-же сигналы что и в сохранённом сигналтаб? Ууу... какой Вы ленивый - Развертка для LCD делается на блоке памяти и 2-3 счетчиках за пол дня. C возможностью менять параметры и обновлять картинку через тот же UART. Ну а если немного пошаманитть (простенькое ужатие картинки в буфере) то и полноцветная картинка влезет в Ваш кристалл. Удачи! Rob.
|
|
|
|
|
Aug 10 2018, 09:52
|
Участник
Группа: Участник
Сообщений: 67
Регистрация: 2-06-09
Пользователь №: 49 843
|
Цитата(RobFPGA @ Aug 10 2018, 12:38) Нужно просто знать параметры дисплея. К сожалению нет маркировки, могу только предполагать, поэтому и хочу снять диаграммы непосредственно с устройства. Цитата(RobFPGA @ Aug 10 2018, 12:38) Ууу... какой Вы ленивый - Развертка для LCD делается на блоке памяти и 2-3 счетчиках за пол дня. C возможностью менять параметры и обновлять картинку... Ленивый это да) Плис для меня хобби, поэтому что у профессионала пол дня - у меня несколько дней. В любом случае спасибо за помощь.
|
|
|
|
|
Aug 28 2018, 06:52
|
Местный
Группа: Участник
Сообщений: 239
Регистрация: 15-11-09
Из: Санкт-Петербург
Пользователь №: 53 639
|
Цитата(maxis @ Aug 10 2018, 10:03) Добрый день. Первая мысль - визуализировать входные сигналы в signaltab на отладке, а потом ручками написать блок который будет генерировать на выход такие-же. Можно ли сделать это автоматически, или есть другой способ решить задачу проще? Можно сделать почти автоматически: 1) вывести в СТП интересные вам сигналы и выгнать их в виде лога либо File/Export ..., либо правой клавишой по графике и "Create Signal Tap List File"; 2) в ручную, либо с помощью элементарного скрипта превращаете лог в .mif-файл. В проекте ставите ПЗУшку соотвествующего размера со счётчиком и - вуаля, получите ваш генератор. Можно также в .qsf-файле поиграться с tcl-командой export_data_log из stp-пакета. Stp-пакет, впринципе, бедноват, но можно автоматически по сборке запустить стп, передёрнуть сигналы, записать и закрыть. Т.е., полная автоматизация Наконец, если владете и часто используете Матлаб, можно прямо из Матлаба дёрнуть стп (команда alt_signaltap_run), получить внутрь интересующие вас сигналы, ну а сгенерить по ним .mif, используя матлабовский скрипт - 5 минут работы.
|
|
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|