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

 
 
 
Reply to this topicStart new topic
> Altera (Cyclone II) signal integrity как то удивительно, подключил signal tap асинхронным клоком
yes
сообщение Oct 20 2010, 11:23
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



и вижу, кучи "битых" отсчетов

то есть в основном тактовом домене, который занимает 90% чипа (самый старший циклон 2) сигнал заведомо константа, например resetn (1)
при оцифровки этого сигнала асинхронным signaltap-ом вижу достаточно много отсчетов в 0 (ну то есть иголки)

это как понимать?

раньше до такого извращения не додумывался, а сейчас захотел померить задержки внешних сигналов - и побочный результат меня удивил

плата фирменная альтеровская, предполагаю, что питание там правильное,
может это все таки сигналтап глючит?
все-таки я могу тот же сброс сделать асинхронным, тогда иголки будут оказывать влияние на функциональность


Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 20 2010, 11:29
Сообщение #2


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Можно посмотреть например, как формируется resetn. Можно перевести reset на асинхронный и посмотреть, влияет ли это. Можно наконец перевести SignalTap на синхронный клок.
Go to the top of the page
 
+Quote Post
yes
сообщение Oct 20 2010, 15:12
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



вообще-то меня не интересует как починить, так как синхронная часть дизайна замечательно работает

просто мне интересно - наблюдаю ли я какой-то глюк сигналтапа (причину такого глюка придумать не могу)

или же действительно внутри плисины на "проводах" творится черт знает что в неважные моменты времени, скорее всего непосредственно после такта и успокаивается [задолго] перед следующим

тогда квартус такой умный (upd: может квартус не умный, а железно в ПЛИСине такие цепи безглючны, но они где-то же подключаются к интерконнекту) и допускает такое для синхронных сигналов, а асинхронные разводит более тщательно - бывают асинхронные блоки, но они же работают

???

-----------------

в даном случае reset выход комбинаторной схемы - выход триггера, выход lock pll и т.п. по AND
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 20 2010, 20:16
Сообщение #4


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(yes @ Oct 20 2010, 18:12) *
выход lock pll и т.п. по AND

так, может, в lock pll и дело?
Go to the top of the page
 
+Quote Post
des00
сообщение Oct 21 2010, 02:50
Сообщение #5


Вечный ламер
******

Группа: Модераторы
Сообщений: 7 248
Регистрация: 18-03-05
Из: Томск
Пользователь №: 3 453



Цитата(yes @ Oct 20 2010, 09:12) *
или же действительно внутри плисины на "проводах" творится черт знает что в неважные моменты времени, скорее всего непосредственно после такта и успокаивается [задолго] перед следующим

судя по тому, как я с бубном танцевал с сыклонами 3, там может быть всё что угодно %(


--------------------
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 21 2010, 14:28
Сообщение #6


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(yes @ Oct 20 2010, 19:12) *
в даном случае reset выход комбинаторной схемы - выход триггера, выход lock pll и т.п. по AND

Начнем с того, что такой ресет нельзя делать синхронным: у вас пропадет частота, но упавший lock не сбросит схему, потому что пропала частота, а сброс синхронный. То есть, reset надо делать асинхронным. А тут уже вам придется разобраться, почему он гуляет.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Oct 25 2010, 08:57
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Хотелось бы докопаться до истины в данном вопросе.
Можно было бы поотключать поочереди сигналы, объединяемые по AND и посмотреть на результирующий сигнал сброса.
Go to the top of the page
 
+Quote Post
yes
сообщение Oct 25 2010, 10:26
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 198
Регистрация: 23-12-04
Пользователь №: 1 640



да не гуляет _синхронный_ сброс - все в нем хорошо, то есть микропроцессор от этого сброса не сбрасывается, а продолжает работать
экспериментировать дальше пока времени нет,
вот описание сброса (типа по Гейслеру), то есть для системы используется rstout (выход триггера)
Код
async : if syncrst = 0 generate
    reg1 : process (clk, arst) begin
      if rising_edge(clk) then
        r <= r(3 downto 0) & clklock;
        rstoutl <= r(4) and r(3) and r(2);
      end if;
      if (arst = '0') then r <= "00000"; rstoutl <= '0'; end if;
    end process;
    rstout <= (rstoutl and rst) when scanen = 1 else rstoutl;
  end generate;


наблюдал rstout, при этом не только он но и другие сигналы имеют "иголки" - просто объяснить, что это не так мне было бы сложнее чем сброс, поэтому в качестве примера я привел сброс

--------------------------

кстати не вижу никакой проблемы использовать LOCK для синхр. сброса - в любом случае тактовый сигнал появляется до того как поднимется LOCK, поэтому если сброс не заведен на управление PLL, то
Код
sync : if syncrst = 1 generate
    reg1 : process (clk) begin
      if rising_edge(clk) then
        r <= (r(3 downto 0) & clklock) and (rst & rst & rst & rst & rst);
        rstoutl <= r(4) and r(3) and r(2);
      end if;
    end process;
    rstout <= rstoutl and rst;
  end generate;

такая конструкция не имеет проблем (разве что до появления сброса схема находится в неопределенном состоянии - но так как внутри ПЛИСины трехстабильных шин и конфликта драйверов нет, то если немножко до появления клока постоит враскоряку то ничего страшного)
Go to the top of the page
 
+Quote Post
DmitryR
сообщение Oct 27 2010, 10:27
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 535
Регистрация: 20-02-05
Из: Siegen
Пользователь №: 2 770



Цитата(yes @ Oct 25 2010, 14:26) *
кстати не вижу никакой проблемы использовать LOCK для синхр. сброса
Вы может и не видите, зато видит Xilinx. Попробуйте в Coregen при конфигурировании PLL например не вывести LOCK - он вам сразу скажет, что это опасно, так как пока PLL не установила режим - все тактируемые ей триггеры должны быть сброшены.
Go to the top of the page
 
+Quote Post

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

 


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


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