реклама на сайте
подробности

 
 
> Глючит ПЛИС
Jack_of_Shadows
сообщение Nov 26 2012, 20:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 29-10-10
Пользователь №: 60 513



Есть две теоретически одинаковые свои платы с xilinx xc3s100e. Использую одинаковую прошивку, размером меньше половины ПЛИС. На одной из плат вроде бы работает стабильно. На второй соответственно глючит.
Суть глюков:
Простые вещи, вроде вывести постоянно '1' на лапку, или транслировать тактовый сигнал наружу работают отлично. Чуть более сложные, например поделить тактовую частоту пополам и вывести наружу - то работают то нет (банально дергаю питанием, в контрольной точке сигнал иногда появляется, иногда нет). Все что еще сложнее, типа модуля chipscope или конечного автомата - не реагирует на внешние раздражители.
Прошивка из флешки в ПЛИС точно грузится нормально, как уже говорил тестовая единица на лапке появляется стабильно.
Все напряжения в норме, не просажены, подключены ко всем необходимым пинам.

В какую сторону думать? Может ли нехватка тока вызывать подобные глюки? Или так может проявиться брак микросхемы? Или может просто стоит пересобрать исходники в новый проект?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Jack_of_Shadows
сообщение Nov 26 2012, 22:15
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 46
Регистрация: 29-10-10
Пользователь №: 60 513



Код
process(sys_clk_c, sys_rst_c) begin
    if(sys_rst_c = '1') then
        temp         <= '0';
        temp_cnt     <= to_unsigned(0, 22);
    elsif rising_edge(sys_clk_c) then
        temp_cnt     <= temp_cnt + 1;
        if(temp_cnt = to_unsigned(0, 22)) then
            temp     <= '1';
        elsif(temp_cnt = to_unsigned(2097152, 22)) then
            temp     <= '0';
        end if;
    end if;
end process;

process(sys_clk_c) begin
    if rising_edge(sys_clk_c) then
        temp <= not temp;
    end if;
end process;


Первый процесс типа посложнее, не работает совсем (или может редко, я не заставал). Второй типа попроще, работает иногда. Да как бы дело и не в счётчике, он только для отладки добавлен, там параллельно и другие блоки есть, вроде принятия данных с FTDI микросхемы, и все работает на первой плате, и не работает на второй.
Кстати забыл сказать, питание платы от USB, поэтому нехватка тока когда проект разросся кажется более вероятным. Если так, прошу прощения что поспешил создавать тему. Смогу проверить это только завтра вечером.

Сообщение отредактировал Jack_of_Shadows - Nov 26 2012, 22:26
Go to the top of the page
 
+Quote Post
Victor®
сообщение Nov 26 2012, 22:30
Сообщение #3


Lazy
******

Группа: Свой
Сообщений: 2 070
Регистрация: 21-06-04
Из: Ukraine
Пользователь №: 76



Цитата(Jack_of_Shadows @ Nov 27 2012, 02:15) *
Код
process(sys_clk_c, sys_rst_c) begin
      if(sys_rst_c = '1') then
          temp         <= '0';
          temp_cnt     <= to_unsigned(0, 22);
      elsif rising_edge(sys_clk_c) then
          temp_cnt     <= temp_cnt + 1;
          if(temp_cnt = to_unsigned(0, 22)) then
              temp     <= '1';
          elsif(temp_cnt = to_unsigned(2097152, 22)) then
              temp     <= '0';
          end if;
      end if;
  end process;
  
  process(sys_clk_c) begin
      if rising_edge(sys_clk_c) then
          temp <= not temp;
      end if;
  end process;


Первый процесс типа посложнее, не работает совсем (или может редко, я не заставал). Второй типа попроще, работает иногда. Да как бы дело и не в счётчике, он только для отладки добавлен, там параллельно и другие блоки есть, вроде принятия данных с FTDI микросхемы, и все работает на первой плате, и не работает на второй.
Кстати забыл сказать, питание платы от USB, поэтому нехватка тока когда проект разросся кажется более вероятным. Если так, прошу прощения что поспешил создавать тему. Смогу проверить это только завтра вечером.


Подключите внешний источник.
Сравнивать 2 платы - покомпонентно.

+++
У Вас эти 2 процесса надеюсь не одновременно в описании?
Сигнал temp дублируется.


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 00:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01361 секунд с 7
ELECTRONIX ©2004-2016