Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ПЛИС / FPGA Sixth Flash / Флеш-память

.pdf
Скачиваний:
66
Добавлен:
18.02.2017
Размер:
340.49 Кб
Скачать

Лабораторная работа №4

Разработка конечного автомата для обмена информацией с внешней

flash-памятью

Цель работы: Разработать Verilog-описание и промоделировать работу конечного автомата для обмена информацией с внешней flash-памятью с по-

следующей проверкой работы на учебном стенде.

Продолжительность работы: 4 часа.

Оборудование, приборы, инструментарий: Учебный стенд AlteraStarterKitDE 2.

Теоретическая часть.

Относительно новый вид полупроводниковой памяти - это флэш-память

(название flash можно перевести как «вспышка молнии», что подчеркивает относительно высокую скорость перепрограммирования). Впервые анонсиро-

ванная в середине 80-х годов, флэш-память во многом похожа на EEPROM (электрически стираемая программируемая постоянная память), но использует особую технологию построения запоминающих элементов. Во флэш-памяти стирание информации производится электрическими сигналами, но не побай-

тово, а по блокам или полностью. Здесь следует отметить, что существуют микросхемы флэш-памяти с разбивкой на очень мелкие блоки (страницы) и

автоматическим постраничным стиранием.Микросхемы флэш-памяти выпус-

каются в вариантах с последовательным и параллельным доступом.

Принцип работы полупроводниковой технологии flash-памяти основан на изменении и регистрации электрического заряда в изолированной области

(кармане) полупроводниковой структуры.

Изменение заряда («запись» и «стирание») производится приложением между затвором и истоком большого потенциала, чтобы напряженность элек-

1

трического поля в тонком диэлектрике между каналом транзистора и карма-

ном оказалась достаточна для возникновения туннельного эффекта. Для уси-

ления эффекта туннелирования электронов в карман при записи применяется небольшое ускорение электронов путем пропускания тока через канал полево-

го транзистора.

По организации массива запоминающих элементов различают микросхе-

мы типа:

BulkErase(тотальная очистка) – стирание допустимо только для все-

го массива запоминающих элементов;

BootLock– массив разделен на несколько блоков разного размера,

содержимое которых может очищаться независимо. У одного из блоков есть аппаратные средства для защиты от стирания;

FlashFile– массив разделен на несколько равноправных блоков оди-

накового размера, содержимое которых может стираться независи-

мо.

Полностью содержимое флэш-памяти может быть очищено за одну или несколько секунд. Программирование (запись) байта занимает время порядка

10 мкс, а время доступа при чтении составляет 35-200 нс.

Описание работы чипа flash-памяти.

Flash-память имеет несколько инвертированных входов, среди которых:

разрешение на запись (WE), разрешение на выход (OE), разрешающий сигнал

(CE), сброс (RESET), одна входная шина адреса и одна двунаправленная шина

данных (рис. 1).

 

inout

[7:0] FL_DQ;

// FLASH 8-битная шина данных

output

[21:0]FL_ADDR;

// FLASH 22-битная адресная шина

output

FL_WE_N;

// FLASH Разрешение на запись

output

FL_RST_N;

// FLASH Сброс

2

output

FL_OE_N;

// FLASH Разрешение на выход

output

FL_CE_N;

// FLASH Разрешающий сигнал

Сигнал BYTE# является средством управления сигналов DQ15 – DQ0 вво-

да/вывода данных, конфигурируя устройство использовать слова (word) или байты (byte). Если сигнал BYTE# установлен в логической 1, то устройство сконфигурировано для слов (word), DQ15–DQ0 являются активными и управ-

ляются CE# и OE#.

 

FLASH_A16

1

 

FLASH_A15

2

 

FLASH_A14

3

 

FLASH_A13

4

 

FLASH_A12

5

 

FLASH_A11

6

 

FLASH_A10

7

 

FLASH_A9

8

 

FLASH_A20

9

 

FLASH_A21

10

FLASH_WE

11

FLASH_RESET

12

 

 

13

 

 

14

 

FLASH_A19

15

 

16

 

FLASH_A18

17

 

FLASH_A8

18

 

FLASH_A7

19

 

FLASH_A6

20

 

FLASH_A5

21

 

FLASH_A4

22

 

FLASH_A3

23

 

FLASH_A2

24

 

 

 

A15

 

A16

A14

 

BYTE

A13

 

GND

A12

 

DQ15/A-1

A11

 

DQ7

A10

 

DQ14

A9

 

DQ6

A8

 

DQ13

A19

 

DQ5

A20

 

DQ12

WE

 

DQ4

RST

 

VCC

NC

S29AL032D70TFI04

DQ11

NC

 

 

DQ3

RY/BY

 

DQ10

A18

 

DQ2

A17

 

DQ9

A7

 

DQ1

A6

 

DQ8

A5

 

DQ0

A4

 

 

 

 

 

 

OE

A3

 

GND

A2

 

 

CE

 

A1

 

 

A0

48

FLASH_A17

 

 

47

 

GND

 

46

 

 

FLASH_A0

GND

 

45

 

 

 

44

FLASH_D7

 

 

43

 

 

 

42

FLASH_D6

 

 

41

 

 

 

40

FLASH_D5

 

 

39

 

 

 

38

FLASH_D4

 

 

37

F_VCC33

 

 

36

FLASH_D3

 

 

35

 

 

34

FLASH_D2

 

 

33

 

 

32

FLASH_D1

 

 

31

 

 

30

FLASH_D0

 

 

29

 

 

28

FLASH_OE

 

 

27

 

GND

F_VCC33

26

FLASH_CE

 

25

FLASH_A1

 

 

FLASH_D[0..8]

FLASH_A[0..21]

FLASH_CE

FLASH_OE

Рис.1. Схематический вид flash-памяти

Если сигнал BYTE# установлен в логическом 0, то устройство сконфигу-

рировано для работы с байтами (byte), а шиной ввода/вывода данных является

DQ0–DQ7 и управляется CE# и OE#. Шина DQ8–DQ14 переводится в третье состояние «z», а сигнал DQ15 используется в качестве входа для LSB (A-1),

как функция адреса.

3

В данной лабораторной работе сигнал BYTE всегда установлен в логиче-

ский ноль.

Ниже, на рисунке 2, приведена структурная схема работы flash-памяти.

Как видно из рисунка, для организации работы необходимо разработать некий конечный автомат, который в соответствии с таблицей 1 подавал на входы оп-

ределенную последовательность команд для получения соответствующего ре-

зультата.

RY/BY#

RESET#

Контроль WE# состояний

BYTE#

Регистр

команд

CE#

OE#

VСС Детектор

A0-A20

DQ0 – DQ15 (A-1)

Переключатель

секторов

Буфер вхоГенератор напря- да\выхода жения стирания

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PGM генератор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Логический

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Регистр

 

 

 

напряжения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

блок разреше-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

 

 

 

 

 

 

 

 

 

 

 

 

 

ния работы чипа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

адреса

 

 

 

Y-

 

 

 

Y-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Декодер

 

 

 

Селекция

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Таймер

 

 

 

 

 

 

 

Регистр

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X-

 

 

 

Матрица

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Декодер

 

 

 

ячеек

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2. Структурная схема flash-памяти

Например, для чтения из памяти необходимо подать на вход шины адреса необходимый адрес ячейки памяти, из которой будет происходить чтение, то-

гда на шине DQ[7:0] появятся интересующие нас данные.

4

Запись в память происходит немного сложнее. Для этого нужно последо-

вательно подать на шину данных и шину адреса четыре команды в соответст-

вии с таблицей 1 и тогда на последней, четвертой, итерации будет произведе-

на запись данных по указанному адресу.

Ниже, на рисунках 3 и 4, приведены примеры временных диаграмм для организации чтения и записи в память.

Адрес

 

 

Стабильный адрес

CE#

OE#

WE#

Выходы данные

RESET#

Рис.3. Временная диаграмма чтения из flash-памяти

Порядоккоманд программы (последние 2цикла)

Чтение данных остатусе

(последние 2цикла)

 

 

 

Адрес

555h

PA

PA

PA

CE#

 

 

 

 

OE#

 

 

 

 

WE#

 

 

 

 

Выходы

A0h

PD

Status

DOUT

Рис.4. Временная диаграмма записи во flash-память

5

 

 

Циклы

 

 

 

 

Циклы шины

 

 

 

 

 

 

 

 

Addr

Data

Addr

Data

Addr

Data

Addr

Data

Addr

Data

Addr

Data

1Таблица

 

Команда

 

Первый

Второй

Третий

Четвертый

Пятый

Шестой

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

Чтение

1

RA

RD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сброс (reset)

1

XXX

F0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ID Производителя

4

AAA

AA

555

55

AAA

90

X00

01

 

 

 

 

 

 

ID Устройства

4

AAA

AA

555

55

AAA

90

X02

F9

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

6

CFI Запрос

1

AAA

98

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Программировать

4

AAA

AA

555

55

AAA

A0

PA

PD

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разблокировать обход

3

AAA

AA

555

55

AAA

20

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разблокировать обход

2

XXX

A0

PA

PD

 

 

 

 

 

 

 

 

 

 

программы

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Разблокировать обход

2

XXX

90

XXX

00

 

 

 

 

 

 

 

 

 

 

сброса

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Полное стирание

6

AAA

AA

555

55

AAA

80

AAA

AA

555

55

AAA

10

 

 

чипа

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Стереть сектор

6

AAA

AA

555

55

AAA

80

AAA

AA

555

55

SA

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прекратить стирание

1

XXX

B0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Продолжить стирание

1

XXX

30

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

X – не важно;

RA – адрес для чтения из памяти;

RD – данные прочитанные из адреса RA после операции чтения;

PA – адрес по которому будет происходить запись в память. Адрес запо-

минается на спаде #WE или пульсе CE#, какой бы ни происходил первым; PD – данные для записи по адресу PA.Данные записываются по переднему фронту WE# или пульсе CE#, какой бы ни происходилпервым;

SA – адрес сектора для стирания. Биты адреса A[19:12] являются уникаль-

ными адресами секторов.

Методика выполнения

Предлагается реализовать автомат следующим образом: описать два мо-

дуля, один из которых отвечает за работу с памятью, а второй выполняет функции, описанные в индивидуальном задании. Первый модуль представля-

ет собой конечный автомат, у которого входами являются адрес, данные и ис-

полнительные сигналы на чтение, запись, стирание и т.д. Среди выходных сигналов модуля должен обязательно присутствовать сигнал статуса выпол-

нения операции, который будет сообщать, в каком режиме на данный момент находится устройство: операция выполняется, операция выполнена или ошиб-

ка выполнения операции. Внутри модуля реализован автомат, который в зави-

симости от входных сигналов будет формировать последовательность им-

пульсов для чипа flash-памяти необходимую для выполнения той или иной операции. Оформить данный модуль предлагается так же, как и в предыдущей лабораторной работе – последовательно переключать состояния устройства с помощью конструкции caseи счетчика состояний.

Второй модуль так же представляет собой конечный автомат, который взаимодействует с первым модулем и модулем организующим работу прото-

7

кола PS/2. В данном случае предлагается подойти к решению задачи творче-

ски, т.е. на ваше усмотрение.

Ниже, на рисунке 5, приведена структурная схема взаимодействия моду-

лей данной лабораторной работы, а на рисунке 6 результаты моделирования блока формирования импульсов для работы с flash-памятью.

Внешние уст-

 

Управляющий

 

PS/2

ройства

 

автомат

 

 

 

 

 

 

 

 

 

Модуль

Flash-память

работы с Flash

Рис. 5.Структурная схема взаимодействия модулей для работы с flashпамятью.

Индивидуальное задание

В качестве индивидуального задания для четных вариантов предлагается написать Verilog-описание автомата, который производил бы запись во flash-

память по следующему алгоритму: вы нажимаете комбинацию клавиш из предыдущей лабораторной работы, далее вводите адрес с помощью клавиату-

ры, после чего, по нажатию клавиши Space, вводятся данные (нажимается клавиша). Затем, по нажатию клавиши Enter, данные записываются по задан-

ному адресу.

Для нечетных вариантов должны быть реализованы операции получения

ID чипа, его записи по заданному адресу, чтению из памяти, а так жеполное стирания памяти. Комбинации клавиш выбираются на ваше усмотрение.

8

Рис.6.Результаты моделирования работы

Требование к отчету

В качестве отчета о выполнении лабораторной работы вы должны пред-

ставить проект в Quartus, содержащий схемы, Verilog-описания, тестовые воз-

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

боту на учебном стенде.

Контрольные вопросы

1.Объясните особенности программирования flash-памяти.

2.Каким способом можно увеличить адресное пространство flash-памяти описанной в данной лабораторной работе?

9

3.В чем разница между flash-памятью и другими типами энергонезави-

симой полупроводниковой памяти?

4.Какие команды задействуют наибольшее количество циклов шины flash-памяти и почему?

Задание длясамостоятельной работы

Необходимо самостоятельно ознакомиться с материалами лабораторной работы, списком рекомендуемой литературы и, в особенности, с технической документацией на микросхему S29AL032D70TFI04 используемую в данной лабораторной работе. Изучить основные моменты программирования flash-

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

Самостоятельно ознакомьтесь с параметрами flash-памяти, которые не были освещены в данной лабораторной работе.

Список рекомендуемой литературы

1.Курс лекций по дисциплине «Электротехника, электроника и схемо-

техника. Программируемыелогическиеинтегральныесхемы»

2.Техническая документация на чип Spansion S29AL032D70TFI04

3.Б. Я. Цилькер, С. А. Орлов. Организация ЭВМ и систем. М. –Питер, 2004. Глава 5. Многократно программируемые ПЗУ.Стр. 227 – 229.

4.А. В. Кузьмин. Flash-память и другие современные носители информа-

ции. М. – Горячая линия – Телеком, 2005. Глава 1, 2. Стр. 6 – 59.

10

Соседние файлы в папке FPGA Sixth Flash