Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_Vnukov_POI / Lektsii_POI_2013.docx
Скачиваний:
131
Добавлен:
10.02.2015
Размер:
2.91 Mб
Скачать

Конфигурируемые Логические Блоки (клб)

Конфигурируемый логический блок содержит основные логические ресурсы, необходимые для реализации синхронных или комбинаторных функций. Каждый КЛБ состоит из 4-х секций (SLICE), как показано на рис. 3. Эти секции сгруппированы в пары (SLICEM и SLICEL), каждая пара имеет независимую цепь переноса.

Все четыре секции содержат:

  • два функциональных генератора;

  • два элемента памяти;

  • мультиплексоры, применяемые для создания функций 5-ти и более переменных;

  • логику ускоренного переноса;

  • логические вентили, предназначенные для реализации арифметических функций.

Все секции способны реализовать логическую или арифметическую функцию, а также ПЗУ. Кроме этого, секции SLICEM, расположенные на рис. 3слева, могут реализовать ОЗУ и 16-бит сдвиговые регистры.

Функциональные генераторы реализованы в виде 4-х входовых таблиц преобразования (Look-Up Table ≈ LUT). Кроме использования в качестве функциональных генераторов, каждый LUT-элемент, расположенный в секции SLICEM, может быть также использован как синхронное ОЗУ размерностью 16x1 бит. Более того, из двух LUT-элементов в рамках одной секции можно реализовать синхронное ОЗУ размерностью 16x2 или 32x1 бит, либо двухпортовое синхронное ОЗУ размерностью 16x1 бит.

Запоминающие элементы в КЛБ могут конфигурироваться в виде динамических триггеров D-типа, чувствительных к фронту сигнала или в виде триггеров-защелок, чувствительных к уровню сигнала.

Каждый КЛБ имеет внутренние быстродействующие линии связи и соединен с переключающей матрицей, осуществляющей доступ к глобальным трассировочным ресурсам.

Блочная память

Все микросхемы семейства Spartan-3, кроме XC3S50, содержат специальные программируемые блоки памяти. Каждый блок памяти представляет собой синхронное ОЗУ емкостью 18 Кбит. Блоки можно каскадировать и тем самым образовывать массивы памяти большей емкости. Блочное ОЗУ может применяться в проектах для хранения относительно большого количества данных с большей эффективностью, чем упомянутая выше распределенная память на базе LUT-элементов.

Блок памяти имеет двухпортовую структуру. Два равнозначных порта, условно обозначаемые как порт A и порт B, могут осуществлять независимый доступ к общему массиву памяти блока, емкостью 18432 или 16384 бит, если используется контроль четности. Существует 4 основных способа прохождения данных через блок ОЗУ (рис. 4):

  • запись и чтение через порт A;

  • запись и чтение через порт B;

  • передача данных с порта А на порт B;

  • передача данных с порта B на порт A.

Рисунок 4.

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

R = 14 √ [log(W√P)/log(2)],

где R - число разрядов шины адреса; W - общее число разрядов шины данных; P - число бит четности.

Количество адресуемых слов (N), или глубину памяти, можно вычислить по формуле N = 2R.

Произведение N и W дает общую логическую емкость блока ОЗУ. В табл. 4приведены допустимые соотношения упомянутых выше параметров блока ОЗУ.

Таблица 4.Допустимые соотношения упомянутых выше параметров блока ОЗУ

W √ P

P

W

R

N

Емкость блока ОЗУ, бит

1

0

1

14

16,384

16,384

2

0

2

13

8,192

16,384

4

0

4

12

4,096

16,384

8

1

9

11

2,048

18,432

16

2

18

10

1,024

18,432

32

4

36

9

512

18,432

Разрядность соответствующих шин порта A и порта Б может отличаться.