Важная информация

User Tag List

Страница 8 из 236 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя
Показано с 71 по 80 из 2351

Тема: ZXKit1 - плата VGA & PAL

  1. #71
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Где посмотреть, каких сигналов много?
    Каких сигналов?

  2. #72
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    Каких сигналов?
    Нужно скомпилировать такой код:

    Код:
    --------------------------------------------------------------------------------
    --                       ПЕРЕДАЧА ДАННЫХ ЧЕРЕЗ ОЗУ                    090726  --
    --------------------------------------------------------------------------------
    -- управление выводом на шину данных (запись произойдет по фронту WE) 
    D(7 downto 0) <= WR_REG when VIDEO_H(0) = '1' else (others => 'Z');
    
    process (F14, VIDEO_H)                   
    begin
      if (rising_edge(F14) and VIDEO_H(0) = '0') then -- по фронту OE
    --------------------------------------------------------------------------------
          -- запись кода двух точек VIDEO в регистр для записи в ОЗУ
          if VIDEO_H(1) = '0' then  
    --          WR_REG(3) <= R2; -- запись точки в младший полубайт регистра
    --          WR_REG(2) <= G2;
    --          WR_REG(1) <= B2;
    --          WR_REG(0) <= I2;
          else
    --          WR_REG(7) <= R2; -- запись точки в старший полубайт регистра
    --          WR_REG(6) <= G2;
    --          WR_REG(5) <= B2;
    --          WR_REG(4) <= I2;
          end if;
    --------------------------------------------------------------------------------
          -- чтение кода двух точек из ОЗУ в регистр для вывода на VGA
          RD_REG <= D(7 downto 0);
    --------------------------------------------------------------------------------
      end if;
    end process;
    Сначала точки записываются в разное время в регистр, затем выдаются из регистра
    на шину данных ОЗУ для записи.

    Если убрать комментарий в одной из восьми строк, где записываются данные в регистр,
    возникает ошибка:

    Error: Design requires 7 output enable signals, but the device can contain only 6 output enable signals
    Error: Can't find fit
    Error: Quartus II Fitter was unsuccessful. 2 errors, 9 warnings
    Error: Quartus II Full Compilation was unsuccessful. 4 errors, 23 warnings
    Не понятно, каких сигналов много. Может код можно переделать.
    "L-256"

  3. #73
    ZEK
    Гость

    По умолчанию

    По этому куску кода и сообщениям ничего сказать нельзя. Единственно что ясно так это ресурсов не хватает, почти на 100% трасировочного ресурса. Победить только переиначивая код и внимательно смотря в RTL, и вообще сделать загруженную на 100% CPLD/FPGA может оказаться нереально.

    Короче без проекта - гадание.

    Во вложении видно что у на IO блок может идти с трасировочной сетки только 6 сигналов, а в твоем случае на какие то ноги синтезатор насинтезировал что получается 7 сигналов. Надо избавиться, например не if юзать на каждом углу а какие нить логические условия что бы сигнал не в мультиплексоре io блока собирался а в LUT
    Последний раз редактировалось ZEK; 22.02.2014 в 20:03.

  4. #74
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ПРОЕКТ НА ТЕКУЩИЙ МОМЕНТ

    Цитата Сообщение от heroy Посмотреть сообщение
    По этому куску кода и сообщениям ничего сказать нельзя. Единственно что ясно так это ресурсов не хватает, почти на 100% трасировочного ресурса. Победить только переиначивая код и внимательно смотря в RTL, и вообще сделать загруженную на 100% CPLD/FPGA может оказаться нереально.

    Короче без проекта - гадание.
    В проекте строки с ошибкой закомментированы.

    На EPM3512 ошибки нет, так как у нее 10 выходов. Откуда картинка? В Advisor столько настроек и при разных, наверно, получаются разные схемы. По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.
    Вложения Вложения
    Последний раз редактировалось zx-kit; 28.07.2009 в 07:52.
    "L-256"

  5. #75
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Откуда картинка?
    Из datasheet по max3000

    Цитата Сообщение от zst Посмотреть сообщение
    По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.
    Ну LUT как бы выгодней, чем мультиплексоры. Так что если необходимо уменьшить занимаемые ресурсы то смотреть что бы лезло куда надо, + юзать атрибуты синтезатора, которые оформляются в виде комментариев.

    ---------- Post added at 07:27 ---------- Previous post was at 07:27 ----------

    Цитата Сообщение от zst Посмотреть сообщение
    Откуда картинка?
    Из datasheet по max3000

    Цитата Сообщение от zst Посмотреть сообщение
    По какому принципу происходит преобразование, а то я могу напридумывать таких конструкций, что и DE1 не хватит.
    Ну LUT как бы выгодней, чем мультиплексоры. Так что если необходимо уменьшить занимаемые ресурсы то смотреть что бы лезло куда надо, + юзать атрибуты синтезатора, которые оформляются в виде комментариев.

    Короче дофига сигналов которые переводят выходы в Z-Состояние
    надо переиграть логику

    К примеру
    IR_VGA <= 'Z'; -- резисторы отключены
    IG_VGA <= 'Z';
    IB_VGA <= 'Z';
    поменять на
    IR_VGA <= '1';
    IG_VGA <= '1';
    IB_VGA <= '1';
    И сделать чуть по другому аналоговую часть

    ---------- Post added at 09:05 ---------- Previous post was at 08:40 ----------

    И еще неужели VHDL настолько уродский что надо сочинять вот такое?
    VGA_SSI <= '0' when VGA_H < 53 else '1';
    Последний раз редактировалось ZEK; 28.07.2009 в 11:04.

  6. #76
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от heroy Посмотреть сообщение
    Из datasheet по max3000
    К примеру ...
    поменять на ...
    И сделать чуть по другому аналоговую часть...
    Не нашел, как сделать open-drain... Тут лучше не менять.

    Может ошибка как-то связана с обменом с ОЗУ. Вот его бы переделать.
    [/COLOR]И еще неужели VHDL настолько уродский что надо сочинять вот такое?
    VGA_SSI <= '0' when VGA_H < 53 else '1';
    Я думал, что это самый простой способ записи. Тем более, что if then без process не компилируется.
    Если есть более красивое решение, c удовольствием так сделаю.
    Пробовал инверсию входных сигналов переделать из if then в xor - размер прошивки не изменился...
    "L-256"

  7. #76
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  8. #77
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Может ошибка как-то связана с обменом с ОЗУ
    Да нет ошибки просто у тебя рулится яркостные R,G,B для VGA и VIDEO (6 каналов OE), фик его знает чего синтезатор решил что кадому необходим отдельный сигнал OE, и один на перевод в Z данные для памяти.

    Попробуй ввести сигнал который расчитывается когда нада VIDEO и VGA переводить в Z, и сделай по единому сигналу что бы срабатывало и мож имеет смысл за пределами процесса.

    Цитата Сообщение от zst Посмотреть сообщение
    Я думал, что это самый простой способ записи.
    Безруля, я VHDL не знаю. На Verilog можно просто
    VGA_SSI = !VGA_H< 53;

  9. #78
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    с закомментированными строками было 112 ячеек
    заменил Z на 1 на 6 выходах RGB стало 106 и компилируется без ошибок
    если заменить Z только на одном выходе - станет 114 и компилируется без ошибок

    Выводы:
    1. Каждый сигнал или шина с z состоянием занимает примерно на одну ячейку больше
    2. Таких сигналов или шин может быть не более 6.

    Может RGB выходы в две шины объединить по три сигнала...

    Может переделать на VERILOG...

    Для RGB надо выход с открытым коллектором. Не знаю как сделать...

    Для шины данных на ОЗУ тоже не нужно z состояние - достаточно in и out. Не знаю как сделать...

    Будет ли работать если использовать тактовые импульсы 14 МГц не глобальный CLK, как сейчас временно сделано, а после инвертора использовать в процессах?
    "L-256"

  10. #79
    ZEK
    Гость

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Для шины данных на ОЗУ тоже не нужно z состояние - достаточно in и out. Не знаю как сделать...
    А никак ты не сделаешь inout это in+out(c Z состоянием)

    Цитата Сообщение от zst Посмотреть сообщение
    Будет ли работать если использовать тактовые импульсы 14 МГц не глобальный CLK, как сейчас временно сделано, а после инвертора использовать в процессах?
    Будет, это важно для высокочастотных схем где клок обязательно надо пускать под спец-трассам

    Цитата Сообщение от zst Посмотреть сообщение
    Для RGB надо выход с открытым коллектором. Не знаю как сделать...
    http://www.altera.com/support/kdb/so...s=open%20drain

  11. #80
    Guru Аватар для zx-kit
    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    65
    Поблагодарили
    51 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию ОШИБКА 7 OUTPUT УСТРАНЕНА

    Заменил шесть отдельных выходов яркости:
    Код:
    ...
    IR_VGA        : out std_logic := '1'; -- цифровой BRIGHT для RED  (состояние 0/Z)
    IG_VGA        : out std_logic := '1'; -- цифровой BRIGHT для GREEN(состояние 0/Z)
    IB_VGA        : out std_logic := '1'; -- цифровой BRIGHT для BLUE (состояние 0/Z)
    ...
    IR_VIDEO      : out std_logic := '1'; -- цифровой BRIGHT для RED  (состояние 0/Z)
    IG_VIDEO      : out std_logic := '1'; -- цифровой BRIGHT для GREEN(состояние 0/Z)
    IB_VIDEO      : out std_logic := '1'; -- цифровой BRIGHT для BLUE (состояние 0/Z)
    ...
    
         if I2 = '0'  then         -- если яркость пониженная:
              IR_VGA <= '0';       -- уменьшаем сигнал подключением резисторов к 0
              IG_VGA <= '0';
              IB_VGA <= '0';
          else
              IR_VGA <= 'Z';       -- резисторы отключены
              IG_VGA <= 'Z';
              IB_VGA <= 'Z';
          end if;
    ...
    На два вектора по 3 сигнала:
    Код:
    ...
    I_VGA      : out std_logic_vector (2 downto 0) := "000"; -- выходы яркости VGA
    ...
    I_VIDEO    : out std_logic_vector (2 downto 0) := "000"; -- выходы яркости VIDEO
    ...
    
          if I2 = '0'  then          -- если яркость пониженная:
              I_VGA <= "000";        -- уменьшаем сигнал подключением резисторов к 0
          else
              I_VGA <= "ZZZ";        -- резисторы отключены
          end if;
    ...
    Ошибка пропала, 106 ячеек...

    Но, если в описании выходов проинициализировать их как "111" ошибка появляется опять. Но нам как раз надо "000".

    В старом тексте с отдельными выходами заменил инициализацию всех выходов цвета и яркости на '0' - ошибка пропала, 108 ячеек вместо 112.

    Вывод: если не писать на выход единицу, то выход работает как с открытым коллектором...

    Вариант с векторами яркости короче...

    Спасибо за помощь.
    "L-256"

Страница 8 из 236 ПерваяПервая ... 456789101112 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. ZXKit1 - конструктор для ZX-творчества
    от zx-kit в разделе ZX Концепции
    Ответов: 449
    Последнее: 07.01.2020, 15:42
  2. Что это за плата?
    от Sergei Frolov в разделе Несортированное железо
    Ответов: 3
    Последнее: 05.07.2009, 16:49
  3. От чего эта плата?
    от Nikita в разделе Несортированное железо
    Ответов: 8
    Последнее: 26.12.2008, 23:49
  4. Подскажите что за плата это ?
    от Mad Killer/PG в разделе Несортированное железо
    Ответов: 2
    Последнее: 18.12.2008, 00:50
  5. Что это за плата кто знает ?
    от sinchuk в разделе Несортированное железо
    Ответов: 14
    Последнее: 30.11.2008, 17:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •