Builder
-
Постов
518 -
Зарегистрирован
-
Посещение
Сообщения, опубликованные Builder
-
-
А я кажется в каком-то видео слышал про этот глюк и говорили как избавится, если верно запомнил - нужно отключить модууль переключения клока. Попробую поискать видео, а вообще, это не автор делал доклад?
UP: нашел:
-
8 hours ago, quest said:
Вот эта фича - правильная? FEATURE ACTIVEHDL_SVA_SUPPORT?
Поройтесь в местных закромах - по-моему в названии архива должно быть чо-то типа "2050" - нужно в тексте поискать фичу которая вам нужна...
Спасибо, помогло, добавил фичу в старый файл лицензии. Причем файлов два, у которых в названии "2050" и я их уже смотрел, но не всё учел. Если кто ещё столкнется с таким: файл нужен тот, у которого у этой фичи SIGN2 не нулевой и в "HOSTID=ANY_ID" хост вставить свой, только после этого заработало.
-
1 hour ago, Zversky said:
Спрашивать, где вы взяли ключ к ActiveHDL, наверное, смысла особого не имеет?
В местных закромах, 15-я. Но если посмотреть файл лицензии, то он совпадает с тем, что лежит с версией 13, которая везде по интернету находится.
Полагаю, что в файле не хватает имени лицензии, грубым поиском не удалось найти её имя.
-
А кто-то использует SystemVerilog assertion на ActiveHDL?
Решил я на старости лет изучить эту возможность SystemVerilog (в частности, начал с assert property), но столкнулся с тем, что в лицензиях, что везде лежат, нет поддержки этой фичи. При попытки симуляции, выдает "Error: You do not have a valid license to simulate SystemVerilog assertion".
Не хочется на ModelSim переползать, у ActiveHDL интерфейс дружелюбнее - всё из одной коробки, и текстовый редактор и проект и симулятор.
-
On 5/19/2023 at 6:16 PM, makc said:
Нет, отпала необходимость. Теперь снова продают Артиксы и ещё Pango Micro Logos2 подвезли.
Не, мне что-то не хочется возится с ними, для мелкой поделки возни много, да и драйвера у wch-ic "из коробки", не нужно со своими возится, попробую, закажу макетку поиграться.
-
On 10/18/2022 at 7:31 AM, makc said:
Например, использовать Gowin + http://www.wch-ic.com/products/CH367.html или http://www.wch-ic.com/products/CH368.html
А вы их пробовали? Присматриваюсь к ним, но смущает что мало информации по ним, стабильно ли работают. Думаю вот заказать отладочную плату, поиграться.
-
Так вот и я о том-же, не корректно считаю плата сделана, нет тут честных 5В поддержки, как пишут. Видимо расчёт на то, что 5В плату в наше время уже не найти, а древние уже давно выброшены на свалку.(5-3.3-0.7)/22 = 45 мАне слишком ли много тока для ноги Lattice?
-
Насчёт - не интересовались несогласен, помню как в конце 90-х все носились с этим PCI, даже в MAX-сы не сильно крупные от альтеры запихивали, потом на 66 МГц переходили.Возможно, выходной ток слабоват у латтиса, вот и ставят резисторы поменьше. Там ведь на хосте пулл-апы должны быть где то, в пятивольтовой ревизии.А вообще, конечно, опоздали Вы с вопросом лет на 15-20. Кому сейчас нужна плата под параллельный PCI? Персоналок таких почти не осталось, в РФ этой шиной не интересовались особо, тем более - в классическом исполнении с ножевым разъемом. Архаика. Вы еще бы плату с ISA нашли :biggrin:
Насчёт того что не ставят - да, много не ставят, но проблем с мамками где есть PCI нет, а в промышленных компах и ISA до сих пор есть. Потрясу производителя, спросил через дилера, молчат, ещё раз спрошу.
Смотрите фото, там чётко видно, что сигналы PCI.Может "3.3 V/5 V " относились к дискретным входам/выходам, а не PCI интерфейсу? -
Я может бы с этим согласился, если бы в описании этой платы не было "3.3 V/5 V Universal PCI, 32-bit, 33 MHz".Не помню с какой ревизии, но PCI вроде как уже давно перевели на 3,3В и проблемы с пяти вольтовой толерантностью могут случиться только на каких то очень древних материнках.И я вижу, что другой производитель до сих пор ставит "честные" буфера.
Я задал вопрос поддержке, пока молчат.
Для меня это выглядит как не корректная информация, написали 3.3 V/5 V Universal PCI, а по факту это не так.
Да как-то не получается ограничения по напряжению с 5В на 3.3В на 22Ом, только диоды могут не выдержать, я уже не помню подробности, но в рекомендациях по сопряжению 5В и 3.3В эти способом выходят заметно более высокие сопротивления, поставив которые потеряешь скорость.Никто не ответил, но я предположу, всё что "электрически прекрасно" - не безобразно. Если это дает правильные уровни, нужную крутизну и тому подобное - почему бы и нет? Мне так кажется. -
Попалась на глаза PCI тайваньская плата дискретных портов ввода/вывода.
PCI сделан на Lattice 3.3V MachXO. Она 3.3V. В принципе там описывается, что можно активируя диод и ставя резистор обеспечить подключение 5В сигналов.
Но дело в том, что на плате резисторы стоят гораздо более низких номиналов, чем это прописано в мануале на MachXO, специально нашел где это описывают.
И это понятно, если поставить высокоомные резисторы, скорость потеряется на RC цепочке, что получиться, если бахнуть туда пару К ом.
Кто-то ещё видел, что такую наглость практикуют? А то какое-то радиолюбительство получается в коммерческом продукте.
up. Прикрепил фото, микросхема там LCMXO1200C, резисторы 22R
В общем или я что-то не понимаю, или это жуткая халтура.
-
Попробовал. Переустановил, не удаляя не нужные мне семейства. Всё запустилось. Видимо есть некая зависимость, которая критична, а они её не отслеживают.Lattice говорит, что что данное сообщение возникает, если установка Diamond осуществлялась не по умолчанию, а по выбору - поддержку каких именно семейств устанавливать.Для решения проблемы рекомендуется осуществить установку даймонда по умолчанию (что-то типа Typical).
Спасибо за совет!
-
Ответил.Ответил в личку. -
Переставлял винду. Поставил Diamond 3.10 64-bit for Windows, ничего не поменялось - эксепшин при старте. SP ставил - не помогло.Вот мне совершенно не нравится идея держать рядом несколько версий одного пакета под виндами (под линуксом - другое дело!).Тут, конечно, от самого пакета зависит, но, к примеру, что будет, если виндовские переменные среды указывают на одну версию, а запускается другая?
Я последовательно обновлял версии даймонда (сносил старую и инсталлировал новую), никогда проблем не было. Сейчас v3.10 sp1 - полет нормальный.
И в качестве оффтопа - у меня iCEcube2 v2017-08 не желает инсталлироваться под CentOS'ом 6.9 - ругается на отсутствие библиотеки, которая в системе имеется.
Лицензия - с сайта FREE. Ставлось всё по умолчанию - на C диск.
Есть тут представители, что могут дать совет, что делать? Что-то в моей системе не нравится.
Система - как и было Win10 X64
-
Исправляюсь:Давайте подробности:- под какой осью (Win/Lin)?
- до какой версии обновлялись?
- как именно обновлялись (из-под даймонда или сносом старой версии и установкой новой)?
- Win10 x64
- старую (3.7) не трогал, доставлял в отдельные каталоги версии 3.9 и 3.10.
Старая (3.7) продолжает работать. Сервиспаки для новых тоже ставил - не помогает.
-
Может кто знает, что за фигня. Использовал версию 3.7 free.
Решил обновиться, при запуске выскакивает окошко: Catch unknown exception. После нажатия ОК программа закрывается. Что на 3.9, что на 3.10.
Непонятно что не нравится, может кто сталкивался?
Поиск по инету ничего не дал.
-
Понятно, как-то повлияет, но для количественной оценки нужно знать константы микросхемы и задержки, из которых по формулам, аналогичным app Altera, что прикрепил, оценивать как влияет. Причем это влияние сильно не линейно, в app показано, что доли наны очень сильно влияют на время сбоя, на несколько порядков.В целом второй триггер продолжает выполнять свою функцию. Он защелкивает состояние первого, интерпретируя его в случае метастабильности.Второй триггер остается единственным потребителем сигнала первого(пусть и измененного), это его основная функция, так что схема вполне корректна. Я поставил бы 3 триггера в этой ситуации, просто чтобы вопросов небыло%).
Добавление логики не всегда ухудшает ситуацию, надо понимать что проблемы не в задержках, а в попадении на определенный момент. В случае если первый триггер все же схватит кривое состояние, то дальше вопрос выйдет он на устойчивое положение до следующего клока, когда сигнал с него потребит второй триггер. Логика может сработать как "усилитель" которая задавит кривой сигнал в какое-то устойчивое положение.
Но вопрос - стоит ли так делать в общем случае, остался открыт.
Не в проекте лишний триггер и так погоды не делают - оставил два на входе.
-
Так, ушли в сторону, обсуждать стандартные рекомендации, там и так всё понятно. Для новичком прикрепляю то, что уже было ранее на форуме.
Вопрос был не в том, нужно ли 2, нужно, во всех рекомендациях так указывается, и объясняется почему, в этом случае вероятность ошибка крайне мала, в отличии от случая, когда один стоит. Иногда и 3 могут рекомендоваться, но тут нужно технологию чипа знать, что бы посчитать вероятность, оправдано ли 3. Причем во всех рекомендациях указано, что два регистра ставятся без логики между ними, тоже в принципе понятно - меньше вносим новых задержек, меньше вероятность повлиять на второй триггер, в худшую сторону.
Вопрос был в том - насколько корректен код SM и почему, когда у него перед вторым триггером стоит простая логика. Я понимаю, что вроде как логику маппер скорее всего поставит от триггера родную - та что перед триггером, т.е. вероятность ухудшить ситуацию небольшая. Но это не гарантируется, и нужно ещё разобраться, насколько это ухудшает ситуацию.
Не правильнее ли ставить два триггера и уже со второго что-то считать, как сделано в сообщении #13 (я у себя примерно так-же делаю).
Да, так лишний может быть так (в среднем пол такта), но зато голова не болит, всё ли правильно работает.
Или я что-то не понимаю...
-
Вы не знаете, будут они рядом стоящие, или не рядом. Только если обконстренить, что хлопотно очень. Если встречали в рекомендации по метастабильности такой вариант - покажите где.Почему? Предположу что один 2И особой роли не сыграет. В принципе так и есть: не знаю как у Xilinx, а у Altera два рядом стоящих триггера трассируются через локальные ресурсы и LUT. А луту все равно какую функцию выполнять - буфер или 2И. -
вот кстати мой вариант для передачи стробов меж доменами. Данные - просто подрегистрить на задержку строба, если это надо. Выход 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;" где первые два триггера просто пропускают сигнал и только перед третьим ставим логику.
Разве так можно, с одним чистым триггером? Считаем что простейшая логика с сигналом от своего триггера работает так-же как и чистый триггер?
-
развожу плату PCI на FPGA, 32 бита, 33 МГц, мастер/слейв.
Сопряжение с 5В делаю на idt3861, как рекомендуют. Они 10 битные.
Как на зло - сигналов получается 51, ставить корпус ради одного сигнала как-то не хочется.
Вижу два варианта:
1) SERR - открытый коллектор, выход, есть мысль его пустить через резистор на шину PCI, не забыв в FPGA включить защитные диоды.
Исходя из описания, учитывая что там открытый коллектор, вроде ничего плохого не будет. ТО, что будут затяжки - предусмотрено в спецификации, п. 3.7.4.2.
2) вообще не разводить SERR.
Пока склоняюсь к варианту 1, т.к. вариант 2 получается не запаиванием резистора.
Кто на опыте, что скажете - вариант 1 годится?
-
Под рукой нету, но точно помню что всё это написано в стандарте - поднимите pdf и посмотрите, там всё четко расписано.
-
Могу подарить родной латтисовский программатор, в состоянии "муха не сидела" :)
Есть возможность передать в Минск.
Спасибо, получил.
Если кому в Минске надо - могу одолжать на время, пишите.
-
Покупал на али такой
Прошивка точно работает, и плитчатый брильянт его опознает как родной. Тестировал на MachXO2.
Отладка - не знаю, отлаживались на evalboard через их встроенный.
Что внутри хз, расковырять не удалось без потери внешнего вида. Но судя по всему FT2232H.
Спасибо, с этой ценой я поиском не находил. Визуально такой-же в других местах продают дороже. Если утвердят Lattice - для программирования самое то.
-
Спасибо, не видел. Но если честно, если нет под рукой FT2232H Board, то затраты не менее чем заказать на ebay: купить, собрать, запустить.
Пока самым оптимальным вариантом вижу что-то типа:
http://www.ebay.com/itm/USB-ISP-Download-C...3UAAOSwp5JWYunl
http://www.ebay.com/itm/USB-ISP-Download-C...lUAAOSwv0tVEuMx
На ali дороже.
Но не вижу отзывов явных. Только если косвенно - рейтинг продавцы высокий, значит вероятность что всё работает высокая.
Лицензия SystemVerilog assertion для ActiveHDL да и вообще Aldec из закромов
в Среды разработки - обсуждаем САПРы
Опубликовано · Пожаловаться
Так оно там всё лежит, а объединять - надо смотреть, что-бы не было повторов, есть ли смысл?
Но ок, на выходных попробую объеденить без повторов и забросить с коментарием, откуда оно взялось. Отпишу, как сделаю.