Перейти к содержанию

    

Builder

Свой
  • Публикаций

    519
  • Зарегистрирован

  • Посещение

Репутация

0 Обычный

Информация о Builder

  • Звание
    iBuilder©

Контакты

  • Сайт
    http://
  • ICQ
    0

Информация

  • Город
    Минск
  1. Так вот и я о том-же, не корректно считаю плата сделана, нет тут честных 5В поддержки, как пишут. Видимо расчёт на то, что 5В плату в наше время уже не найти, а древние уже давно выброшены на свалку.
  2. Насчёт - не интересовались несогласен, помню как в конце 90-х все носились с этим PCI, даже в MAX-сы не сильно крупные от альтеры запихивали, потом на 66 МГц переходили. Насчёт того что не ставят - да, много не ставят, но проблем с мамками где есть PCI нет, а в промышленных компах и ISA до сих пор есть. Потрясу производителя, спросил через дилера, молчат, ещё раз спрошу. Смотрите фото, там чётко видно, что сигналы PCI.
  3. Я может бы с этим согласился, если бы в описании этой платы не было "3.3 V/5 V Universal PCI, 32-bit, 33 MHz". И я вижу, что другой производитель до сих пор ставит "честные" буфера. Я задал вопрос поддержке, пока молчат. Для меня это выглядит как не корректная информация, написали 3.3 V/5 V Universal PCI, а по факту это не так. Да как-то не получается ограничения по напряжению с 5В на 3.3В на 22Ом, только диоды могут не выдержать, я уже не помню подробности, но в рекомендациях по сопряжению 5В и 3.3В эти способом выходят заметно более высокие сопротивления, поставив которые потеряешь скорость.
  4. Попалась на глаза PCI тайваньская плата дискретных портов ввода/вывода. PCI сделан на Lattice 3.3V MachXO. Она 3.3V. В принципе там описывается, что можно активируя диод и ставя резистор обеспечить подключение 5В сигналов. Но дело в том, что на плате резисторы стоят гораздо более низких номиналов, чем это прописано в мануале на MachXO, специально нашел где это описывают. И это понятно, если поставить высокоомные резисторы, скорость потеряется на RC цепочке, что получиться, если бахнуть туда пару К ом. Кто-то ещё видел, что такую наглость практикуют? А то какое-то радиолюбительство получается в коммерческом продукте. up. Прикрепил фото, микросхема там LCMXO1200C, резисторы 22R В общем или я что-то не понимаю, или это жуткая халтура.
  5. Цитата(Stewart Little @ Feb 19 2018, 15:04) Lattice говорит, что что данное сообщение возникает, если установка Diamond осуществлялась не по умолчанию, а по выбору - поддержку каких именно семейств устанавливать. Для решения проблемы рекомендуется осуществить установку даймонда по умолчанию (что-то типа Typical).Попробовал. Переустановил, не удаляя не нужные мне семейства. Всё запустилось. Видимо есть некая зависимость, которая критична, а они её не отслеживают. Спасибо за совет!
  6. Цитата(Stewart Little @ Feb 15 2018, 23:26) Ответил в личку.Ответил.
  7. Цитата(Stewart Little @ Dec 24 2017, 15:43) Вот мне совершенно не нравится идея держать рядом несколько версий одного пакета под виндами (под линуксом - другое дело!). Тут, конечно, от самого пакета зависит, но, к примеру, что будет, если виндовские переменные среды указывают на одну версию, а запускается другая? Я последовательно обновлял версии даймонда (сносил старую и инсталлировал новую), никогда проблем не было. Сейчас v3.10 sp1 - полет нормальный. И в качестве оффтопа - у меня iCEcube2 v2017-08 не желает инсталлироваться под CentOS'ом 6.9 - ругается на отсутствие библиотеки, которая в системе имеется.Переставлял винду. Поставил Diamond 3.10 64-bit for Windows, ничего не поменялось - эксепшин при старте. SP ставил - не помогло. Лицензия - с сайта FREE. Ставлось всё по умолчанию - на C диск. Есть тут представители, что могут дать совет, что делать? Что-то в моей системе не нравится. Система - как и было Win10 X64
  8. Цитата(Stewart Little @ Dec 24 2017, 01:19) Давайте подробности: - под какой осью (Win/Lin)? - до какой версии обновлялись? - как именно обновлялись (из-под даймонда или сносом старой версии и установкой новой)?Исправляюсь: - Win10 x64 - старую (3.7) не трогал, доставлял в отдельные каталоги версии 3.9 и 3.10. Старая (3.7) продолжает работать. Сервиспаки для новых тоже ставил - не помогает.
  9. Может кто знает, что за фигня. Использовал версию 3.7 free. Решил обновиться, при запуске выскакивает окошко: Catch unknown exception. После нажатия ОК программа закрывается. Что на 3.9, что на 3.10. Непонятно что не нравится, может кто сталкивался? Поиск по инету ничего не дал.
  10. Цитата(Golikov A. @ Feb 17 2017, 01:58) В целом второй триггер продолжает выполнять свою функцию. Он защелкивает состояние первого, интерпретируя его в случае метастабильности. Второй триггер остается единственным потребителем сигнала первого(пусть и измененного), это его основная функция, так что схема вполне корректна. Я поставил бы 3 триггера в этой ситуации, просто чтобы вопросов небыло%). Добавление логики не всегда ухудшает ситуацию, надо понимать что проблемы не в задержках, а в попадении на определенный момент. В случае если первый триггер все же схватит кривое состояние, то дальше вопрос выйдет он на устойчивое положение до следующего клока, когда сигнал с него потребит второй триггер. Логика может сработать как "усилитель" которая задавит кривой сигнал в какое-то устойчивое положение. Понятно, как-то повлияет, но для количественной оценки нужно знать константы микросхемы и задержки, из которых по формулам, аналогичным app Altera, что прикрепил, оценивать как влияет. Причем это влияние сильно не линейно, в app показано, что доли наны очень сильно влияют на время сбоя, на несколько порядков. Но вопрос - стоит ли так делать в общем случае, остался открыт. Не в проекте лишний триггер и так погоды не делают - оставил два на входе.
  11. Так, ушли в сторону, обсуждать стандартные рекомендации, там и так всё понятно. Для новичком прикрепляю то, что уже было ранее на форуме. Вопрос был не в том, нужно ли 2, нужно, во всех рекомендациях так указывается, и объясняется почему, в этом случае вероятность ошибка крайне мала, в отличии от случая, когда один стоит. Иногда и 3 могут рекомендоваться, но тут нужно технологию чипа знать, что бы посчитать вероятность, оправдано ли 3. Причем во всех рекомендациях указано, что два регистра ставятся без логики между ними, тоже в принципе понятно - меньше вносим новых задержек, меньше вероятность повлиять на второй триггер, в худшую сторону. Вопрос был в том - насколько корректен код SM и почему, когда у него перед вторым триггером стоит простая логика. Я понимаю, что вроде как логику маппер скорее всего поставит от триггера родную - та что перед триггером, т.е. вероятность ухудшить ситуацию небольшая. Но это не гарантируется, и нужно ещё разобраться, насколько это ухудшает ситуацию. Не правильнее ли ставить два триггера и уже со второго что-то считать, как сделано в сообщении #13 (я у себя примерно так-же делаю). Да, так лишний может быть так (в среднем пол такта), но зато голова не болит, всё ли правильно работает. Или я что-то не понимаю...
  12. Цитата(dvladim @ Feb 15 2017, 22:30) Почему? Предположу что один 2И особой роли не сыграет. В принципе так и есть: не знаю как у Xilinx, а у Altera два рядом стоящих триггера трассируются через локальные ресурсы и LUT. А луту все равно какую функцию выполнять - буфер или 2И. Вы не знаете, будут они рядом стоящие, или не рядом. Только если обконстренить, что хлопотно очень. Если встречали в рекомендации по метастабильности такой вариант - покажите где.
  13. Цитата(SM @ Jan 23 2009, 17:40) вот кстати мой вариант для передачи стробов меж доменами. Данные - просто подрегистрить на задержку строба, если это надо. Выход completed - так, на всякий случай. Стробы обязаны быть на входе длиной в один период клока. На выходах тоже будут в один период. Какой клок быстрее - пофигу. Опробован уже и в асиках-кремнии, и на ФПГА, работает надежно. Что касается констрейнов - в разные клокогруппы их, в асинхронные, клоки эти, и забыть и забить. Если уж очень хочется обконстрейнить - то можно через set_max_delay внаглую от регистра-выхода одного клокодомена до входа другого. ЗЫ разные асинхронные клокогруппы и false_path это синонимы. Первое автоматически объявляет междоменные цепи false_path-ами, так что ваши варианты 0 и 1 это синонимы. Кодmodule interck2 ( in, out, clka, clkb, reset, completed); input in, clka,clkb,reset; output out, completed; reg in_at_clka; reg [1:0] out_at_clkb; wire clra = reset | out_at_clkb[1]; always @(posedge clka or posedge clra)   if (clra) in_at_clka <= 1'b0;   else if (in) in_at_clka <= 1'b1; always @(posedge clkb or posedge reset)   if (reset) out_at_clkb <= 2'b00;   else out_at_clkb <= {out_at_clkb[0] & !out_at_clkb[1], in_at_clka}; assign out = out_at_clkb[1]; reg [1:0] cmpl_at_clka; reg cmpl_at_clkb; wire clrb = reset | cmpl_at_clka[1]; always @(posedge clkb or posedge clrb)   if (clrb) cmpl_at_clkb <= 1'b0;   else if (out_at_clkb[1]) cmpl_at_clkb <= 1'b1; always @(posedge clka or posedge reset)   if (reset) cmpl_at_clka <= 2'h0; else   cmpl_at_clka <= {cmpl_at_clka[0] & !cmpl_at_clka[1], cmpl_at_clkb}; assign completed = cmpl_at_clka[1]; endmodule Тема старая, так получилось, случайно нарвался, копаясь в архивах по теме. Не совсем понял, по модулю SM: почему при пере-синхронизации в новый домен сигнал до анализа пропускается только один триггер, а не как обычно по классике в перессинхронизаторах - через два, и сделано в модуле из сообщения #15 ? По идее строка "reg [1:0] out_at_clkb;", должны быть "reg [2:0] out_at_clkb;" где первые два триггера просто пропускают сигнал и только перед третьим ставим логику. Разве так можно, с одним чистым триггером? Считаем что простейшая логика с сигналом от своего триггера работает так-же как и чистый триггер?
  14. развожу плату PCI на FPGA, 32 бита, 33 МГц, мастер/слейв. Сопряжение с 5В делаю на idt3861, как рекомендуют. Они 10 битные. Как на зло - сигналов получается 51, ставить корпус ради одного сигнала как-то не хочется. Вижу два варианта: 1) SERR - открытый коллектор, выход, есть мысль его пустить через резистор на шину PCI, не забыв в FPGA включить защитные диоды. Исходя из описания, учитывая что там открытый коллектор, вроде ничего плохого не будет. ТО, что будут затяжки - предусмотрено в спецификации, п. 3.7.4.2. 2) вообще не разводить SERR. Пока склоняюсь к варианту 1, т.к. вариант 2 получается не запаиванием резистора. Кто на опыте, что скажете - вариант 1 годится?
  15. Под рукой нету, но точно помню что всё это написано в стандарте - поднимите pdf и посмотрите, там всё четко расписано.