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

 
 
> глюк в автомате
_Anatoliy
сообщение May 5 2016, 14:33
Сообщение #1


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Прямо первый раз у меня такое...
Код
    
    case state is
                 .........    
                 when 3 =>
            if (iData = x"ff") then
                cmp_adr2 <= cmp_adr2+1;
            else
                cmp_adr2 <= cmp_adr2+16;
            end if;
            state <= state+1;
        when 4 =>
            if (iData = x"ff") then
                cmp_adr2 <= cmp_adr2+1;
            else
                cmp_adr2 <= cmp_adr2+16;
            end if;
            state <= state+1;
        when 5 =>
                ...........


Есть компаратор MAC-адреса протокола ARP, ведёт себя неадекватно(см.картинку).Счётчик должен увеличивать значение на единичку,но почему-то первый раз прибавляется 16. Естественно есть констрейны, слэк сетапа +1,2нс, слэк холда +0,8нс... Есть ли какие мысли,коллеги?
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Inanity
сообщение May 5 2016, 17:23
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 221
Регистрация: 6-07-12
Пользователь №: 72 653



Здравствуйте.

Не знаю систему в целом, буду исходить из того, что вижу. Если iData - внешняя шина, т.е. заходит в ПЛИС по какому-то синхронному интерфейсу и обрабатывается вашим автоматом по тому же тактовому сигналу, то в этому случае возможно не все биты iData успевают дойти до компаратора. По сути нарушается OFFSET IN. Необходимо дополнительно защёлкивать шину iData, прежде, чем отправлять на компаратор. Желательно защёлки запаковать в IOB (буферы вход\выход), чтобы не заботиться об OFFSET IN/OUT.

Есть ещё вариант, что iData приходит из другого домена. В этом случае синхронизацию нужно делать тоже очень аккуратно, поскольку простой синхронизатор из триггеров опять не может гарантировать, что все биты шины защёлкнутся одновременно. Нужен некий строб разрешения, валидности.

Сообщение отредактировал Inanity - May 5 2016, 17:30
Go to the top of the page
 
+Quote Post
des00
сообщение May 5 2016, 17:35
Сообщение #3


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

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



Цитата(Inanity @ May 6 2016, 00:23) *
Если iData - внешняя шина, т.е. заходит в ПЛИС по какому-то синхронному интерфейсу и обрабатывается вашим автоматом по тому же тактовому сигналу, то в этому случае возможно не все биты iData успевают дойти до компаратора.

ИМХО регистры ТС перетактировал. воробей стрелянный sm.gif

Цитата(_Anatoliy @ May 5 2016, 23:34) *
Спасибо,завтра гляну. Хотя что бы он там не нагенерировал, STA обязан был отследить все пакости. Если STA не верить то как жить?

Не факт что STA тут причем. Мне порой квартус проекты разваливает, причем совершенно не объяснимым образом (удаляются задержки, регистры скачут по слоям логики, хотя ретайминг запрещен и т.д.) . Лечиться удалением increment_db/db и пересборкой. Правда это занимает до пары часов sad.gif


--------------------
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение May 6 2016, 08:18
Сообщение #4


Утомлённый солнцем
******

Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832



Цитата(des00 @ May 5 2016, 20:35) *
ИМХО регистры ТС перетактировал. воробей стрелянный sm.gif

Это таки да. Свой первый триггер я собирал на тиратронах - транзисторов ещё не было. И тем не менее это не помешало мне оказаться в лыжах на асфальте. Угадал Inanity, я ему отвечал из дома по памяти. Вывод : больше двух проектов одновременно в моей старой голове уже не помещается laughing.gif

Цитата(FakeDevice @ May 5 2016, 19:14) *
а целиком весь процесс можете показать?

Отправил в личку. Поддерживаются ARP,ICMP,UDP протоколы.
Go to the top of the page
 
+Quote Post



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

 


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


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