Floating gate (плавающий затвор) programming technology

Используется технология EPROM-памяти со стиранием УФ-излучением и электрически стираемая EEPROM-память.

Программируемый переключатель, изображенный на рисунке 52.3, представляет собой транзистор, который может быть переведен в постоянно «выключенное» состояние. Данное состояние может быть достигнуто путем подачи высокого напряжения на gate 1 и сток транзистора. В этом случае возникнет заряд на gate 2 (плавающий затвор), который увеличит пороговое напряжение транзистора и транзистор закроется. Убрать этот заряд можно с помощью облучения плавающего затвора ультрафиолетовым излучением. Это приведет к уменьшению порогового напряжения на транзисторе и, как следствие, его нормальному функционированию.

Вместо того чтобы использовать EPROM транзистор напрямую в качестве программируемого переключателя, незапрограммированный транзистор используется для того чтобы заземлить ‘bit line’, в то время как ‘word line’ находится под напряжением. В то время как этот подход используется для создания соединения между ‘word’ и ‘bit’ линиями, его также можно применять в качестве проводной AND-логики.

EEPROM подход очень похож на EPROM за исключением того, что ликвидация заряда на плавающем затворе может быть выполнения электрическим путем без использования УФ-излучения. Это упрощает процесс пере программирования. Недостаток заключается в том, что EEPROM-ячейка в два раза больше EPROM ячейки.

Преимущества:

a) Как и в случае SRAM, данный подход отличается перепрогаммируемостью. Однако для его реализации не требуется дополнительная энергонезависимая память для программирования устройства при включении.

Недостатки:

a) Усложнение процесса обработки по сравнению с обычными CMOS-транзисторами.

b) Высокое сопротивление EPROM-транзистора в открытом состоянии.

c) Высокое энергопотребление.

Configurable Logic Blocks (CLB)

Логические блоки FPGA сильно отличаются в размерах и реализации. Двухтранзисторная логика, которая используется в FPGA от Crosspoint, может быть использована только как инвертер, однако она обладает очень маленьким размером, в то время как look-up table (LUT) логика, применяемая в FPGA от Xilinx, может реализовывать логическую функцию с пятью входами, но обладает значительно большим размером.

В данном случае хотелось бы рассмотреть именно логические элементы от Xilinx (по крайней мере с ними была найдена аналогия того материала, который рассказывался на лекции).

Каждый CLB блок разделен на две части, которые называются slice (SLICEM – реализация памяти, SLICEL – реализация логики). В свою очередь, каждый slice состоит из двух блоков (названия связаны с их координатным расположением в пределах slice). В каждом из них имеются линии ускоренного переноса. Каждый из них подключен к SB-блоками, к каналам прямых соединений с соседними CLB-блоками. SLICE представляет собой базовый конфигурационный узел. SLICEM может сконфигурирован для реализации функций сдвигового регистра (поэтому у него присутствуют дополнительные соединительные линии SHIFTIN/SHIFTOUT).

Каждый из slice состоит из

1) Look-up tables (LUT), которые реализуют входы таблиц истинности логических функций. Некоторые FPGA могут использовать LUTs для реализации небольших RAM.

2) Carry and Control logic.

a) Реализует быстрые арифметические операции (adders/substractors).

b) Могут быть также сконфигурированы для реализации дополнительных операций (Built-in-Self Test iterative-OR chain)

3) Элементы памяти (Memory elements)

a) Конфигурируемые Flip Flops (триггер)/Latches (Programmable clock edges, set/reset, and clock enable).

b) Эти элементы памяти зачастую могут быть реализованы как сдвиговые регистры.

Основой логического блока Xilinx является SRAM, функционирующий как LUT. Таблица истинности для K-входной логической функции хранится в RAM. Адресные линии SRAM работают как входы, а выход SRAM представляет собой выход логической функции.

1) Обычный LUT mode осуществляет операции чтения.

2) Адресные декодеры с установленным WE флагом генерируют тактовые импульсы защелкам (latches) для осуществления операций записи.

3) Небольшие RAMs могут быть использованы для получения RAMs большего размера.

Преимуществом LUTs является их высокая функциональность – K-входной LUT может реализовывать любую K-входную функцию, и таких функций существует . Недостатком является то, что они становятся неприемлемо большими, если число входов больше чем 5, т.к. количество ячеек памяти, необходимых для LUT - . Хотя число функций, которые могут быть реализованы с помощью LUT, очень быстро растет, эти дополнительные функции нечасто используются в проектируемой логике и их сложно использовать в средствах синтезирования логики. Поэтому большие LUT используются нечасто.

В общем, LUT может выполнять следующие функции:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: