Перейти к содержанию
    

Alex_P

Свой
  • Постов

    45
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Alex_P

  • Звание
    Участник
    Участник

Посетители профиля

673 просмотра профиля
  1. Требуется выделять некоторые компоненты отдельным цветом, есть ли такая возможность в PCAD? Можно создать слой и раскрасить его своими цветами, но как перенести компонент на этот слой?
  2. Работает если написать так: Uint8 VideoMode = 0; asm("STR: .sym _VideoMode,_VideoMode, 12, 2, 8");
  3. Попробовал, не помогает. Адрес в памяти можно посмотреть и без volatile. Оптимизация не влияет, но на всякий случай ставлю Opt Level = None. А вот при Debug info=Full Debug получаем ассемблерный код (VideoMode – глобальная переменная): .sect ".text" .global _VideoMode _VideoMode: .usect ".bss:c",1,1 .sym _VideoMode,_VideoMode, 12, 2, 8 При Debug info=No Debug получаем: .sect ".text" .global _VideoMode _VideoMode: .usect ".bss:c",1,1 Т.е. нужно, чтобы для указанной переменной в ассемблерный код добавилась строчка .sym _VideoMode,_VideoMode, 12, 2, 8. Не понял как вставить Include Debug Info, если можно поподробнее.
  4. Есть программа, в которой некоторые переменные отвечают за выбор режима. Т.к. кроме JTAG никакой связи с процессором нет, значение переменных меняется с помощью GEL. Но после того как в настройках компилятора ставлю No Debug, изменить переменную с помощью GEL не получается. Как указать компилятору, чтобы он оставил переменную в памяти?
  5. Есть система, на входе которой два видеосигнала (в формате PAL) и один видеовыход. Входное видео поступает на декодер, на выходе которого формируется изображение (BT656). Данные с декодера считывает FPGA и передает на DSP (C6414) с помощью FIFO по одной строке (720 байт). Таким образом, в FPGA есть два видеопотока 720х288х50Гц, которые необходимо передать в DSP, а также один выходной видеопоток (такой же) для передачи из DSP в FPGA. Сейчас передача данных от FPGA к DSP реализована следующим образом: FPGA выставляет прерывание когда ей необходимо передать строку изображения. По этому событию процессор копирует строку во внутреннюю память (iSRAM) по каналу EDMA. По окончанию этого копирования срабатывает прерывание процессора и в обработчике настраивается другой канал EDMA на копирование из iSRAM в буфер внешней памяти (SDRAM). Причем адрес DST определяется исходя из текущего номера строки, а также текущего буфера. Т.к. видеопотоки асинхронны для каждого входного изображения есть три переключающихся буфера. Для видеовыхода по прерыванию от FPGA обработчик настраивает EDMA канал на копирование из SDRAM в FIFO. В данном случае используется два переключающихся буфера, т.к. обработка в DSP засинхронизирована от выходного видеопотока, т.е. из одного читает данные FPGA, а в другой пишет DSP. (Также нужно различать четные и нечетные полукадры, чтобы не перепутать и не подать на выход вместо четного нечетный и наоборот.) Так вот вопрос: можно ли полностью избавиться от прерываний процессора и настроить EDMA на автоматическое копирование всех видеопотоков? Может кто-нибудь делал что-то подобное?
  6. Для EDK сервисов паков никаких не ставил. Да и на xilinx.com в Download Center вроде только второй есть. В xilinx support не писал уже больше полгода, но раньше после создания WebCase первый ответ приходил минимум дней через пять, приблизительно такого содержания: “Hello Alexander, My name is Angela Roe from Xilinx Technical Support. I am contacting you in relation to the case you opened regarding the problems you are seeing with the memory usage in your custom peripheral. Apologies for the delay in contacting you about this. We have been very busy here in the office. Can you send me the ISE project which contains your peripheral? I will then be able to look into this further for you. Regards, Angela” Потом ждешь еще несколько дней, после чего они задают еще какой-нибудь вопрос, например, “А не читали ли вы xappXXX.pdf?”. Ответ: “Читал, но что-то не нашел там решения данной проблемы”, далее все затягивается… Хотя были случаи с быстрым решением проблемы, но в основном у меня уходило на один WebCase 2-4 недели.
  7. Из личного опыта общение с xilinx support быстрее не получается, ответ на вопрос ждешь 2-4 недели. Я думал кто-нибудь уже столкнулся с этой проблемой и решил ее.
  8. В EDK 9.1 создаю проект с помощью Base System Builder wizard для Virtex 4 ML403 Evalution Platform. Generate Netlist проходит нормально, но после команды Update Bitstream возникает ошибка: FATAL_ERROR:TimingAnalyzer:Portability/export/Port_Main.h:127:1.22 - This application has discovered an exceptional condition from which it cannot recover. Process will terminate. For more information on this error, please consult the Answers Database or open a WebCase with this project attached at http://www.xilinx.com/support. ERROR:Xflow - Program post_par_trce returned error code 1. Aborting flow execution... Причем если использовать Microblaze вместо PowerPC, то ошибок не возникает.
  9. Как-то делал чтение из файла построчно с помощью функции textscan и запись с помощью fprintf. Есть еще fscanf, fread, fwrite.
  10. Пока нашлось только одно решение: вывести наружу тактовый сигнал и завести обратно. Неужели нет нормального решения? Поставим вопрос по-другому: есть один тактовый сигнал, как его использовать для нескольких PLL (не выводя наружу)?
  11. Кристалл Cyclone 3. Так что External PLL для LVDS-receiver в режиме “PLL in LVDS mode” сделать не получается, т.к. это работает только для PLL type = Fast PLL. Как же от одного LVDS получить приемник и частоты? Помогите, плиз.
  12. Мне необходимо сделать LVDS-receiver (вход 400 МГц, на выходе 8 бит данных и 50 МГц clock) и получить частоты 75 и 50 МГц. Итак, есть два входа LVDS_D и LVDS_CLK и два выхода clk50 и clk75 (ну и LVDS_DOUT[7:0]). Делаю двумя способами: 1. С LVDS выхода rx_outclock снимаю частоту clk50 и завожу на PLL, который вырабатывает частоту clk75. Quartus выдает ошибку: Error: Can't place fast PLL "MyPLL:inst85|altpll:altpll_component|pll" in PLL location PLL_1 because location does not accept a non-I/O input clock "LVDS_receive_1:inst1|altlvds_rx:altlvds_rx_component|lvds_rx_bmc1:auto_gene rated|lvds_rx_pll" 2. Беру входную частоту LVDS_CLK, завожу на PLL и получаю clk50 и clk75. Quartus выдает ошибку: Error: Input pin "LVDS_CLK" feeds inclk ports of PLL "MyPLL:inst85|altpll:altpll_component|pll" and other PLLs -- the input pin cannot feed inclk ports of more than 1 PLL Как же получить два клока?
×
×
  • Создать...