Pull to refresh
22
0
Шауэрман Александр @Shamrel

Разнорабочий

Send message
Спасибо за coding-style. А на какой-либо площадке предполагается обсуждение и вопросы? Может статью на Хабр заделаете?
Мне кое-что не ясно, есть спорные моменты. Например, чем не угодил вам TAB? Много где встречаю, что вместо него пробелами ровняют, но почему? Переносимость между редакторами?
При всем уважении, почему в комбинационном только блокирующие?
В моей практике часто бывает, когда комбинационную схему приходится делать регистровой, например, если по времянке не проходит, то добавляю еще одно звено конвейера. В этом случае просто редактируется список чувствительности always, но если там везде блокирующие присваивания, то придется менять и их. А потом удалось оптимизировать где-то еще, и захотелось вернуться к комбинационной схеме… Вероятность допустить ошибку повышается.
Лично я стараюсь использую везде неблокирующие присваивания, и только там, где это действительно нужно использую блокирующие, причем это бывает и в синхронных схемах. Другим так делать не рекомендую, потому как не уверен в своей правоте.
Даже если поставить <= синтезатор будет использовать LUT, если список чувствительности включает все сигналы, например так: always @*. Если вы собираетесь делать именно комбинационное устройство, то все входные сигналы должны быть в списке чувствительности, а все мультиплексоры (операторы if, case, ?:) должны иметь явную ветвь default.
Если сигнал в списке чувствительности указан явно и не используется в качестве информационного в потоке, то он будет воспринят как clk или асинхронный сброс/установка. В этом случаи будет использован триггер.
Когда пишешь код для синтеза нужно знать не только особенность стандарта Verilog, но и архитектуру аппаратной платформы, как минимум, устройство логического элемента — что допустимо для Стратикса, пойдет на Циклоне со скрипом.
А вас не удивляет, что в комбинационной логике присвоение происходит переменной, объявленной как регистр?
Компилятор не по этим признакам определит что ему использовать: триггер или LUT. Для него важнее список чувствительности always.
За тематику плюсую. Но к оформлению проекта и кода есть много вопросов. Какая религия не позволила сделать проект полностью на HDL, зачем Top Level в Schematic? Зачем в тексте кода так много Magic number? Но не оставляет ощущение, что вы до сих пор пишете на Си: много begin-end, сложные логические конструкции. Множество приоритетных мультиплексоров на if с неявными else. Вам компилятор про Latch предупреждение не выдавал?

P.S.: Недостаток запятых в тексте делает чтение не комфортным.
Да, на сайте мы размещаем только ту продукцию, поставки которой осуществляет ЭФО. Мы не претендуем на покрытие всех существующих на рынке микроконтроллерных решений, зато готовы оказать любую техническую поддержку по тем направлениям, которыми занимаемся.

А зря. Тогда ресурс бы рискнул стать народным. На мой взгляд, следует просто выделить позиции, доступные в ЭФО, а поиск сделать по всем.
Не понятно, почему минусуют годный пост. Это объективный мир, без всяких теорий заговора. Я не поддерживаю некоторые тактические шаги правительства в этом направлении (мне неясно зачем внедрять какой-то МойОфис, когда можно разработать механизм подтверждения безопасности для opensourse проектов, например того же Libre), но стратегические цели верны. Coriander правильно описал ситуацию.
10 лет гарантии

Стандарт по отрасли на SLC. Было бы интересно посмотреть на MLC с таким сроком хранения. Особенно в виде промышленного eMMC.
Количество циклов перезаписи? Гарантированное время хранения? Промышленное применение?

У NAND гарантированное время хранения информации порядка 10 лет. Через 20 лет у бортового компьютера русификатор слетел ...
Тема интересная. Спасибо. Но вот только я думал, что космонавтика перебралась на geektimes.
Я с вами согласен, максимальное отклонение останется таким же. Тогда мне непонятно практическое применение максимального отклонения.
Предлагаю упростить рассуждение, так сказать, перейти на уровень пальцев.
Допустим, мне нужно получить сопротивление 25 Ом. Я беру 4 резистора по 100 Ом, соединяю параллельно. Действительно, если точность резистора 1%, и эта точность соответствует максимальному отклонению (хотя это не так, и в метрологии всегда используют погрешность для доверительного интервала, которая вычисляется используя закон распределения и СКО), мы получим отклонение в 1 Ом. В худшем случае, когда все резисторы дадут отклонение в одну сторону и строго на 1 Ом, при параллельном соединение итоговое значение составит 25,25 Ом, что соответствует 1%. Это так. Но вероятность этого события (все резисторы дали одинаковый разброс) ниже, чем вероятность, того что один резистор имеет отклонение в 1 Ом. Такими образом, при параллельном соединении удается получить выигрыш в точности. Особенно это актуально при серийном производстве. На мой взгляд, используя вероятности на основе СКО имеет гораздо большую практическую ценность.

P.S.: хотя резисторы не совсем удачный пример, так как там из-за сортировки по точности (хотя не уверен, что до сих пор так происходит) распределение вероятности имеет не нормальное и не равномерное распределение.
Из полученных результатов следует интересный вывод — относительная точность эквивалентного сопротивления любой резисторной схемы равна относительной точности входящих в нее компонентов и не зависит от номиналов и схемы соединения.

Расскажите это ребятам из Analog Devices. Схема, где для повышения точности измерительного шунта используется параллельное соединение нескольких резисторов, используется довольно таки часто. Кстати, и в школе, курсе так на третьем, изучали, что для повышения точности измерения в N раз, нужно увеличить количество измерений (с последующим усреднением) в N в квадрате раз. На этом принципе основано действие сигма-дельта АЦП.
Кстати, с компаниями, звучит лучше.
Виноват. Не разобрался. Глупые вопросы задаю. Спасибо, что карму понизили.
Справедливо урезонили дерзость зарвавшегося юнца. (с)
О чем статья? Мне интересно программирование, особенно микроконтроллеров. До ката не понятно, чего и на чем, и под какую ОС писать будем. Ок. Перехожу на статью. И опять изложение какого-то материала по теме абстрактного программирования. Вижу ссылку на предыдущую статью, теперь-то уж наверняка станет понятно что и для чего! Перехожу… опять кирпич. Тут уж читать текст непонятной направленности у меня терпения не хватило.
Уважаемы Дмитрий, вы чего пишете-то? Судя по тексту вы хороша разбираетесь в теме, но вот в какой теме?
На мой консервативный взгляд, в любой статье должно быть введение, где кратко выполняется постановка задачи. По традиции Хабра это введение размещается до ката. Прочитал его и становится ясно, стоит ли читать дальше.
Тем не менее, это модули, на которые смотрела не одна сотня глаз. Если речь идет о "начинающем" разработчике, то сомневаюсь, что потребность есть в "индустриальном качестве". К тому же, учиться лучше на чужих ошибках.
Господа, товарищи, ребята! Если цель статьи потренировать свои навыки в проектировании на плис, то вопросов нет. +1. Но если вы делаете реальный проект, то зачем изобретать велосипед? Есть замечательный ресурс opencores.org/, там есть испытанные проверенные реализации от самых простых, до навороченных. Мне же импонирует (вставляю в свои проекты) реализация от
www.fpga4fun.com
Тогда получается, существует момент времени и пространства (H и E равны нулю), когда энергии просто нет, она ушла в никуда, а в следующее мгновение, она берется из неоткуда? Наблюдаем рождение вселенной?
Эм. И в итоге, рисунок, который теребил мне душу с далекого первого курса, верный?
А пока, уважаемый автор, вы мне напомнили моего преподавателя физики (вполне достойный человек). Хочется на конкретный вопрос получить конкретный ответ. Так сказать, для пролетария.

Information

Rating
Does not participate
Date of birth
Registered
Activity