Category: дизайн

Category was added automatically. Read all entries about "дизайн".

Верхний пост

Так как в последнее время у этого журнала появилось достаточно много взаимных френдов, я решил написать этот пост, чтобы немного рассказать о себе.

Collapse )
Collapse )
Правила блога:
1. Без политики.
2. В этом блоге общаются вежливо и без фамильярности.
3. Троллей баню сразу.
4. Часть постов представляет собой краткие описания разных технических проектов и их частей. Подробные описания будут видны только френдам. К сожалению, в наше время иначе нельзя, вежливых и вообще разумных людей остаётся всё меньше и меньше.

Всегда рад новым френдам и комментариям от старых!

Очередного дизайна пост

Продолжаем любоваться самыми изысканными образцами аудиотехники. На этот раз Manley Variable Mu и то, что рандомно попалось при поиске в картинках.

Местами напоминает винтажные лабораторные приборы, местами кабину боинга, местами - изделия ВПК, бессмысленные и беспощадные.

Если бы я угорал по аудио, я бы забабахал нечто подобное.

1.


Collapse )

Руководство "PCB Design for Manufacture"

Прочитал руководство "PCB Design for Manufacture", 43 стр., англ. язык.



Руководство от Seeed Studio по проектированию печатных плат с учётом требований производства. Приведённые рекомендации по проектированию ПП являются очень простыми, однако их соблюдение очень важно. Особенно интересно будет почитать это руководство тем, кто только начинает разрабатывать ПП.

Руководство "7 Series FPGAs PCB Design Guide" от Xilinx

Прочитал руководство "7 Series FPGAs PCB Design Guide" от Xilinx, по разработке печатных плат для FPGA, 76 стр., англ. язык.



Рассмотрено проектирование системы питания FPGA, приведены таблицы с номиналами и количеством блокировочных конденсаторов по питанию, приведены рекомендации по трассировке одиночных линий и дифференциальных пар, а также по согласованию импедансов.

Рекомендуется также использовать для контроля шумов по питанию осциллограф с полосой частот 3 ГГц и скоростью оцифровки 20 Gsps, а также системы 3D-моделирования электромагнитных полей для расчёта импедансов. Ни того, ни другого у меня нет, увы...

Руководство "DDR2/DDR3 Low-Cost PCB Design Guidelines for Artix-7 and Spartan-7 FPGAs"

Прочитал руководство "DDR2/DDR3 Low-Cost PCB Design Guidelines for Artix-7 and Spartan-7 FPGAs" от Xilinx, 12 стр., англ. язык.



В руководстве описаны те вещи, на которые нужно обращать внимание при разводке плат с DDR3.

Collapse )

Руководство "Layout Design Guide"

Прочитал руководство "Layout Design Guide", 41 стр., англ. язык.



Руководство по разводке печатных плат. Простые советы, вроде бы очевидные, но если кто-то не знал, то будет полезно прочесть.

Ещё есть интересный канал на Youtube по проектированию печатных плат: Robert Feranec. К сожалению, совсем нет времени это смотреть. Ютуб для тех, кто читать не умеет.

Таблица умножения

Ни один проект на Verilog не может быть использован и запущен в железе до тех пор, пока он не пройдёт полную верификацию с 100% тестовым покрытем.

Для верификации используется множество методов и инструментов, однако для своих простых проектов я использую простые тестбенчи на обычном же Verilog (даже не на System, хотя следовало бы).

Обычно нужно проверить все "corner cases", т.е. разные максимальные и минимальные значения переменных, а затем проверить по возможности большое количество случайных комбинаций сигналов и команд, подаваемых на тестируемый модуль. По-научному это называется CRT, Constrained Random Testing, то есть тестирование случайными сигналами, на которые наложены некоторые ограничения.

Хороший тест бывает очень непросто придумать. Главное при верификации цифрового дизайна, чтобы в тестируемой схеме (DUT, device under test) при прохождении теста было проверено срабатывание каждой цепи хотя бы один раз. Тогда такой тест будет иметь покрытие 100%, чего и нужно добиваться. Не зря в серьёзных местах разработкой тестов занимаются специально обученные люди, инженеры по верификации.



Вот, например, кусок из тестового файла, который тестирует модуль умножения:

Collapse )

Это, как можно заметить, и есть corner cases, пограничные случаи, использующие значения +-inf, +-0, и nan. А дальше идут рандомные пары чисел, десятки тысяч. Тестировать такой модуль на ста тестах, или даже на тысяче тестах нельзя, слишком много нюансов, которые проявляются только в одном случае из тысяч. Ошибка может появиться, например, на 5000-м тесте, и она произойдёт из-за такой комбинации чисел, что её трудно как-то заранее предугадать.

Статья "How to Add an RTOS to Your Zynq SoC Design"

Прочитал статью Adam Taylor "How to Add an RTOS to Your Zynq SoC Design", 6 стр., англ. язык. Статья опубликована в XCell Journal, issue 86 (2014/1), 6 стр., англ. язык.



В статье идёт речь про RTOS uC/OS-III.

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