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

 
 
> Глючит ПЛИС
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
Ответов (1 - 6)
Victor®
сообщение Nov 26 2012, 21:30
Сообщение #2


Lazy
******

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



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

В какую сторону думать? Может ли нехватка тока вызывать подобные глюки? Или так может проявиться брак микросхемы? Или может просто стоит пересобрать исходники в новый проект?


"код" покажите - как Вы счетчик делаете


--------------------
"Everything should be made as simple as possible, but not simpler." - Albert Einstein
Go to the top of the page
 
+Quote Post
Jack_of_Shadows
сообщение Nov 26 2012, 22:15
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 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
Сообщение #4


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
Jack_of_Shadows
сообщение Nov 26 2012, 22:37
Сообщение #5


Участник
*

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



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

не, расскоментировал один когда копировал, в ином случае он бы все равно ошибку выдал

Сообщение отредактировал Jack_of_Shadows - Nov 26 2012, 22:37
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Nov 27 2012, 05:14
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 972
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Времянки, небось.
Go to the top of the page
 
+Quote Post
Jack_of_Shadows
сообщение Nov 27 2012, 18:45
Сообщение #7


Участник
*

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



вообщем похоже зря беспокоил, на глючной плате просто USB дескрипторы были плохо настроены, хост мне тока мало давал. Первый раз просто столкнулся с таким странным поведением, вот и растерялся
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 21st July 2025 - 12:36
Рейтинг@Mail.ru


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