воскресенье, 19 июля 2015 г.

Проектирование на ПЛИС

Прочитал такую вот книгу, посвящённую в первую очередь описанной теме, но затрагивающую массу смежных тем:


В книге популярным языком рассказывается об истории появления ПЛИС, о том как они устроены, как программируются, какие программные средства используются для проектирования логических схем, какие правила нужно соблюдать, чтобы полученная схема была работоспособной. Рассказывается и о сложностях, связанных с физическими процессами, происходящими внутри микросхем.

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

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

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

Что касается ПЛИС, то в них, к счастью, большинство подобных вещей учтены. Остаётся только проектировать логическую схему таким образом, чтобы асинхронность разных фрагментов схемы не приводила к одновременному использованию готовых и ещё не готовых, не прошедших через длинную логическую цепочку, данных. Для этого вводятся промежуточные регистры, данные в которые должны попадать только тогда, когда сигнал успеет пройти через самую длинную логическую цепочку. Эти регистры должны по синхросигналу считывать значения на своих входах, запомнить их и выставить на выходах для дальнейшей обработки. При этом, чтобы разные части схемы не простаивали, пока данные обрабатываются очередным блоком между регистрами, инженеры стараются использовать принцип конвейерной обработки, когда на разных этапах конвейера очередная порция данных проходит определённый этап обработки, так что одновременно на конвейере находится несколько порций данных на разных этапах обработки.

Конечно, этой книжки совершенно недостаточно для того, чтобы приступить к практике, но этого достаточно для того, чтобы составить общее представление о процессе проектирования интегральных схем и о собственно проектировании на ПЛИС.

Комментариев нет:

Отправить комментарий