МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ВТ

Расчётно-графическая работа

по дисциплине «Схемотехника»

«Разработка памяти»

Факультет: АВТ

Группа: АМ-309

Студент:

Преподаватель:

НОВОСИБИРСК 2005

Оглавление.

Введение. 3

1. Техническое задание. 4

2. Выбор элементной базы. 4

3. Разработка структурной схемы. 4

4. Разработка адресного селектора. 6

5. Выбор интерфейсных элементов. 7

6. Разработка функциональной схемы. 9

7. Расчёт временных параметров. 12

Выводы. 16

Заключение. 17

Список литературы. 18

Приложение. 19


Введение.

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

НЕ нашли? Не то? Что вы ищете?

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

Цель работы: разработать память, удовлетворяющую требованиям технического задания. Наиболее важным является обеспечение времени доступа к памяти в пределах заданной нормы. Нежелательно также, чтобы фактическое время доступа было намного меньше указанного в техническом задании.

1. Техническое задание.

Разработать память, состоящую из статической оперативной памяти (SRAM) и флэш-памяти с файловой организацией (Flash File). Информационная ёмкость для памяти SRAM – 8МБ, для Flash-памяти – 8МБ. Разрядность слова для обоих типов памяти – 32 бит. Время цикла – не более 150 нс. Системная магистраль для взаимодействия с памятью – с трёхшинной структурой (шина адреса, шина данных, шина управления). Электрический интерфейс – ТТЛ.

2. Выбор элементной базы.

При заданных информационной ёмкости и разрядности (8МБ, 32бит) получаем информационную организацию для каждого типа памяти – (2Мх32)бит. Выбираемые микросхемы памяти должны максимально подходить по информационной организации, а также отвечать другим требованиям технического задания. Кроме того, микросхемы Flash-памяти и памяти SRAM должны иметь одинаковое напряжение питания (чтобы использовать один источник). С учётом этих требований были выбраны следующие типономиналы микросхем:

Для памяти типа SRAM – CY7C1071AV33-12 [1]. Её характеристики:

·  Информационная организация – (2Мх16)бит.

·  Максимальное время доступа – 12 нс.

·  Напряжение питания – 3.3±0.3В.

·  ТТЛ-совместимые входы и выходы.

Для памяти типа Flash – S29GL032M [2]. Её характеристики:

·  Информационная организация – (2Мх16)бит.

·  Максимальное время доступа – 90 нс.

·  Напряжение питания – 3.3±0.3В.

Техническая документация и описание выбранных микросхем приведены в приложении.

3. Разработка структурной схемы.

Согласно техническому заданию, оба типа памяти (SRAM и Flash) должны иметь одинаковую информационную организацию (2Мх32). По входам адреса, входам/выходам данных и входу WE# они соединяются параллельно. Сигналы с шины адреса, как и сигнал WE#, необходимо буферизировать. Поэтому эти сигналы поступают на микросхемы памяти через буфер. Связь с шиной данных осуществляется посредством трансивера. Сигналы CE (для SRAM) и CE# (для Flash) формирует адресный селектор, который анализирует сигнал MEMR (обращение к памяти), поступающий с шины управления и некоторые биты шины адреса (для правильного обращения к нужному типу памяти). Чтобы знать, какие именно биты нужно проанализировать в адресном селекторе, необходимо разработать карту памяти.

Карта памяти.

Разрядность шины адреса в нашем случае равна 32. Ёмкость микросхем памяти обоих типов составляет 2М слов. 2Мбит=221бит. Следовательно, для адресации обоих типов памяти требуется 21 бит адреса (А20…А0). Кроме того, каждому типу памяти должно быть выделено своё адресное пространство. Для этого назначим 22-й бит (А21) для выбора памяти SRAM, 23-й бит (А22) для выбора памяти Flash. Остальное адресное пространство будем считать резервным, т. е. оно может быть использовано для адресации других внешних по отношению к нашей памяти устройств (например, другой памяти). С учётом сказанного нарисуем карту памяти (рис.1).

Рис.1. Карта памяти.

С учётом вышесказанного, а также построенной карты памяти, строим структурную схему памяти (рис.2).

AB – системная шина адреса;

DB – системная шина данных;

CB – системная шина управления;

BF – буфер;

TR – трансивер;

ADDRSEL – адресный селектор;

MEMR – сигнал обращения (запроса) к памяти;

A – входы адреса микросхем памяти;

CE, CE# - входы выбора кристалла разных уровней активности;

WE# - сигнал разрешения записи;

DQ – двунаправленные входы/выходы данных.

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

Определяем число микросхем памяти каждого типа в накопителе.

Общая формула для подсчёта необходимого количества микросхем:

.

Количество необходимых физических страниц рассчитывается по формуле:

.

Здесь Nслов_блока – количество слов, хранимых блоком;

Nслов_ИМС - количество слов выбранной ИМС памяти;

mразр_блока – разрядность разрабатываемого блока;

mразр_ИМС – разрядность выбранной ИМС памяти.

Для памяти SRAM:

.

.

Это означает, что потребуется 2 ИМС памяти SRAM, при этом количество физических страниц будет равно 1.

Для памяти Flash:

.

.

Это означает, что потребуется 2 ИМС памяти Flash, при этом количество физических страниц будет равно 1.

Т. к. для обоих типов памяти количество физических страниц равно 1, то дешифратор не требуется.

4. Разработка адресного селектора.

Основная функция адресного селектора заключается в выявлении факта обращения процессора (анализ сигнала MEMR) к памяти и определении области (SRAM или Flash), в которую направлено это обращение (анализ некоторых битов шины адреса). Дополнительной функцией адресного селектора является формирование флага «обращение по недействительному адресу». Этот флаг формируется адресным селектором в случае попадания физического адреса в пока не занятую область адресного пространства. Адресный селектор должен формировать сигналы выбора кристалла для обоих типов памяти. Кроме того, адресный селектор должен формировать сигнал OE#, разрешающий работу трансивера. Трансивер должен быть активным в том случае, когда выбрана для работы SRAM или Flash-память. С учётом составленной выше карты памяти, получаем формулы для формирования сигналов CE (для SRAM) и CE# (для Flash) и сигнала «обращение по недействительному адресу» (обозначим его Fl):

.

Следует отметить, что сигнал «обращение по недействительному адресу» имеет смысл лишь в том случае, если в рассматриваемой гипотетической системе нет какой-либо другой памяти, под которую выделено адресное пространство из областей «запаса» (рис.2). Этот сигнал отправляется процессору через системную шину управления.

5. Выбор интерфейсных элементов.

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

Выбранные микросхемы памяти выполнены по схемотехнологии КМОП. Токовая нагрузка, создаваемая этими микросхемами, мала (единицы микроампер) (в том числе малы токи утечки буферов, находящихся в z-состоянии) и ей можно пренебречь. Поэтому сразу переходим к расчёту ёмкостной нагрузки.

Для расчёта ёмкостной нагрузки нам потребуются справочные нормы ёмкостных параметров микросхем памяти, взятые из технической документации. Ниже, в таблицах 1 и 2 приведены эти значения для памяти SRAM и Flash соответственно.

Таблица 1. Ёмкостные параметры памяти SRAM.

Параметр

Условия тестирования

Максимальное значение

Единица измерения

CIN

TA=25oC, f=1 МГц, VCC=3.3В

12

пФ

COUT

15

пФ

Таблица 2. Ёмкостные параметры памяти Flash.

Параметр

Название

Условия тестирования

Типовое значение

Максимальное значение

Единицы измерения

CIN

Входная ёмкость

TA=25oC, f=1 МГц, VIN=0В

8

10

пФ

COUT

Выходная ёмкость

TA=25oC, f=1 МГц, VOUT=0В

8.5

12

пФ

CIN2

Ёмкость по управляющим входам

TA=25oC, f=1 МГц, VIN=0В

8

10

пФ

CIN3

Ёмкость по входам RESET# и WP#/ACC

TA=25oC, f=1 МГц, VIN=0В

20

25

пФ

Определим нагрузку, создаваемую микросхемами памяти на линию адреса.

Общая формула для расчёта ёмкостной нагрузки, создаваемой микросхемами накопителей на линию адреса:

,

где – коэффициент объединения;

Nслов_блока – количество слов, хранимых блоком;

Nслов_ИМС - количество слов выбранной ИМС памяти;

mразр_блока – разрядность разрабатываемого блока;

mразр_ИМС – разрядность выбранной ИМС памяти;

Смонт - паразитная монтажная ёмкость;

СIN ИМС – входная ёмкость ИМС (параметр из таблиц 1 и 2).

Для расчётов примем значение паразитной ёмкости Смонт=20пФ.

Для памяти SRAM:

пФ

Для памяти Flash:

пФ

Нагрузка на линию адреса, создаваемая микросхемами памяти, превышает допустимое значение (5-7пФ), поэтому необходимо использовать буфер.

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

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

,

где – коэффициент объединения;

Nслов_блока – количество слов, хранимых блоком;

Nслов_ИМС - количество слов выбранной ИМС памяти;

Смонт - паразитная монтажная ёмкость;

СOUT ИМС – выходная ёмкость ИМС (параметр из таблиц 1 и 2).

Для расчётов примем значение паразитной ёмкости Смонт=20пФ.

Для памяти SRAM:

пФ

Для памяти Flash:

пФ

Нагрузка на линию данных, создаваемая микросхемами памяти, превышает допустимое значение (5-7пФ), поэтому необходимо использовать трансивер.

Определим нагрузку, создаваемую микросхемами памяти на линию управления.

Общая формула для расчёта ёмкостной нагрузки, создаваемой микросхемами накопителей на линию управления:

где – коэффициент объединения;

Nслов_блока – количество слов, хранимых блоком;

Nслов_ИМС - количество слов выбранной ИМС памяти;

mразр_блока – разрядность разрабатываемого блока;

mразр_ИМС – разрядность выбранной ИМС памяти;

Смонт - паразитная монтажная ёмкость;

СIN ИМС – входная ёмкость ИМС по входам управления (параметр из таблиц 1 и 2).

Для расчётов примем значение паразитной ёмкости Смонт=20пФ.

Для памяти SRAM:

пФ

Для памяти Flash:

пФ

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

Учитывая проделанные выше расчёты, выбираем типономиналы интерфейсных элементов.

Выбираемые нами интерфейсные элементы должны иметь напряжение питания, совпадающее с напряжением питания микросхем памяти - 3.3±0.3В, либо допускающие такое его значение. Они должны обеспечивать необходимую токовую нагрузку на системную магистраль. Кроме того, буфер и трансивер должны иметь разрядность, соответствующую разрядности шин адреса и данных (32 бит). В качестве адресного селектора будем использовать программируемую логику. Т. к. адресный селектор для формирования сигналов CE, CE# и Fl должен анализировать 12 бит (11 бит адреса и сигнал MEMR), то в выбираемой микросхеме программируемой логики число входов должно быть не меньше 12, но превышение этого числа также нежелательно. Число макроячеек также не должно быть слишком большим, т. к. невелико число выполняемых булевских функций. Учтя выше сказанное, выбираем типономиналы интерфейсных элементов.

Буфер – SN74ALVTH32244 [3] фирмы Texas Instruments. Он состоит из восьми четырёхразрядных буферов, каждый из которых имеет свой вход OE#. Допустимое напряжение питание буфера лежит в пределах 3.3±0.3В. Имеет ТТЛ-совместимые входы и выходы. Функционирование буфера описывается таблицей 3 (см. ниже).

Таблица 3. Функционирование буфера.

Входы

Выходы

OE#

A

Y

L

H

H

L

L

L

H

X

Z

Трансивер – SN74ALVCH32245 [3] фирмы Texas Instruments. Он состоит из четырёх восьмиразрядных секций, каждый из которых имеет вход OE# и вход DIR (управление направлением передачи данных). Допустимое напряжение питания лежит в пределах от 1.65В до 3.6В. Имеет ТТЛ-совместимые входы и выходы. Функционирование трансивера описывается таблицей 4 (см. ниже).

Таблица 4. Функционирование трансивера.

Входы

Операция

OE#

DIR

L

L

Передача данных с шины B в шину A

L

H

Передача данных с шины A в шину B

H

X

Отключение

Адресный селектор – ATF22LV10C [4] фирмы Atmel. Данная микросхема является программируемым логическим устройством (PLD) на базе памяти с электрическим стиранием. Имеет 12 входов и 10 макроячеек. Допустимое напряжение питания лежит в пределах от 3.0В до 5.5В.

6. Разработка функциональной схемы.

После выбора типономиналов интерфейсных элементов, можно переходить к изображению функциональной схемы. Для изображения функциональной схемы необходимо учесть конкретные особенности выбранных типономиналов микросхем. В микросхеме Flash-памяти сигнал на вход RESET# (сброс содержимого Flash-памяти) должен подаваться с блока синхронизации при включении питания. Снятие защиты от записи во Flash-памяти происходит путём подачи на вход WP#/ACC напряжения 12.5В. Защита от записи включена, если на этот вход подаётся потенциал земли. Управление уровнем напряжения осуществляется при помощи ключевого элемента, который подаёт на вход WP#/ACC потенциал земли или 12.5В в зависимости от сигнала на линии управления. Этот сигнал на лини управления формируется процессором. В нашем случае не требуется вывод слова по байтам, поэтому входы BHE# и BLE# памяти SRAM нужно заземлить, а на вход BYTE Flash-памяти подать логическую единицу. Вход OE# микросхемы памяти SRAM можно также заземлить, т. к. выходные буферы переводятся в z-состояние и по CE=1. Вход OE# буфера также заземляем, разрешив буферу всегда работать. Разрешать работу трансиверу можно лишь в том случае, если выбрана одна из памятей нашего блока (SRAM или Flash) (на вход OE# трансивера подаётся сигнал с адресного селектора).

Управление направлением передачи данных трансивером можно осуществлять буферизированным сигналом WE#, т. к. при WE#=0 (запись) трансивер должен передавать данные с шины данных в память (DIR=0), а при WE#=1 (чтение) – из памяти на шину данных (DIR=1). Сигнал RY/BY#, формируемый микросхемой Flash-памяти, должен анализироваться процессором, поэтому он (сигнал) должен быть отправлен на шину управления.

С учётом сказанного нарисуем функциональную схему памяти (рис.3).

7. Расчёт временных параметров.

Рассчитаем временные параметры для каждого типа памяти – tзаписи, tчтения с учётом справочных норм.

Чтение для памяти SRAM.

Для расчёта tчтения изобразим на временных диаграммах (рис.4) два смежных цикла операции чтения. Временные параметры цикла чтения памяти SRAM приведены в таблице5.

Таблица 5. Временные параметры цикла чтения SRAM.

Параметр

Пояснения

tHZCE= 6нс

Задержка с момента СЕ=0 до

появления на выходе высокого импеданса

tRC=12нс

Время цикла чтения

tACE=12нс

Задержка с момента установления СЕ=1 до появления на выходе действительных данных

tADRSEL=10нс

Задержка адресного селектора

tTR=3нс

Задержка между входами и выходами данных трансивера

tTREN=4.4нс

Задержка трансивера при включении

tTRDIS=4.1нс

Задержка трансивера при выключении

tBUF=2.5нс

Задержка буфера

tчтения= tBUF+ tADRSEL+ tACE+ tADRSEL+ tTREN+ tHZCE=2.5+10+12+10+4.4+6=44.9(нс)

Запись для памяти SRAM.

Для расчёта tзаписи изобразим на временных диаграммах (рис.5) два смежных цикла операции записи. Временные параметры цикла записи памяти SRAM приведены в таблице6.

Таблица 6. Временные параметры цикла записи SRAM.

Параметр

Пояснения

tSCE= 8нс

Время предустановки CE до окончания записи

tWC=12нс

Время цикла записи

tAW=12нс

Время предустановки адреса до окончания записи

tPWE=8нс

Длительность сигнала WE#

tADRSEL=10нс

Задержка адресного селектора

tTR=3нс

Задержка между входами и выходами данных трансивера

tTREN=4.4нс

Задержка трансивера при включении

tTRDIS=4.1нс

Задержка трансивера при выключении

tBUF=2.5нс

Задержка буфера

tзаписи= tBUF+ tADRSEL+ tSCE=2.5+10+8=20.5(нс)

Чтение для памяти Flash.

Для расчёта tчтения изобразим на временных диаграммах (рис.6) два смежных цикла операции чтения. Временные параметры цикла чтения памяти Flash приведены в таблице 7.

Таблица 7. Временные параметры цикла чтения Flash.

Параметр

Пояснения

tCE= 90нс

Задержка с момента СЕ=0 до

появления на выходе действительных данных

tRC=90 нс

Время цикла чтения

tACC=90нс

Задержка с момента установления адреса до появления на выходе действительных данных

tDF=16нс

Задержка с момента СЕ=1 до высокого импеданса на выходе

tADRSEL=10нс

Задержка адресного селектора

tTR=3нс

Задержка между входами и выходами данных трансивера

tTREN=4.4нс

Задержка трансивера при включении

tTRDIS=4.1нс

Задержка трансивера при выключении

tчтения= tBUF+ tADRSEL+ tCE+ tTREN+ tDF=2.5+10+90+4.4+16=122.9(нс)

Запись для памяти Flash.

Длительность записи и стирания для Flash-памяти не укладывается во время доступа, определённое в техническом задании. Для этих операций мы должны обеспечить ввод командной последовательности, определённой изготовителем микросхемы памяти. После этого начинается непосредственно операция записи или стирания. На выходе RY/BY# - низкий уровень сигнала (память занята). Процессор может узнавать о состоянии процесса записи или стирания также по некоторым битам шины данных.

Биты мерцания – DQ6 и DQ2. Если DQ6 принимает значение то 0 то 1, то процедура записи не завершена. DQ2 мерцает, если процессор обращается по чтению к сектору, который стирается. Бит DQ5 установлен в 1, если превышено время записи или стирания.

На рис.7 изображён первый цикл ввода командной последовательности для операции записи.

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


Выводы.

В результате работы нами была разработана функциональная схема памяти. Рассчитано время циклов записи и чтения для обоих типов памяти. Для памяти SRAM получили tчтения=44.9нс (вклад элементов обвязки – 26.9нс), tзаписи=20.5нс (вклад элементов обвязки – 12.5нс). Это говорит о том, что после выполнения операции записи или чтения, память будет длительное время простаивать. Кроме того, большой вклад во время цикла вносят элементы обвязки (задержки больше, чем задержки самой памяти). Для памяти Flash получили tчтения=122.9нс (вклад элементов обвязки – 16.9нс). Это говорит о том, что в данном случае время простоя памяти будет небольшим. Вклад во время цикла задержек элементов обвязки незначителен по сравнению с задержками самой памяти.

Заключение.

Разработанная память по основным требованиям удовлетворяет требованиям технического задания. Выполнены требования по ёмкости памяти, разрядности, времени цикла для операций записи и чтения для памяти SRAM и операции чтения для Flash-памяти. Для реализации операции записи во Flash-память должны соблюдаться дополнительные условия. Запись и чтение для памяти SRAM по времени цикла намного меньше заданного времени цикла в техническом задании. Это значит, что во время выполнения этих операций будут значительные простои памяти.

Список литературы.

1.  www.

2.  www.

3.  www.

4.  www.

Приложение.