Партнерка на США и Канаду по недвижимости, выплаты в крипто
- 30% recurring commission
- Выплаты в USDT
- Вывод каждую неделю
- Комиссия до 5 лет за каждого referral
МИНИСТЕРСТВО ОБЩЕГО И ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ РОСИЙСКОЙ ФЕДЕРАЦИИ
НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ
ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФАКУЛЬТЕТ АВТОМАТИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ

Расчетно-графическая работа
По дисциплине «Схемотехника»
«Синтез модуля памяти»
Факультет: АВТ Преподаватель:
Группа: АМ – 215
Студент:
Новосибирск, 2004 г.
Содержание
Техническое задание. 3
1. Выбор типономиналов микросхем памяти. 3
2. Определение количества микросхем памяти. 3
3. Организация накопителя. 3
4. Выбор элементов обвязки. 8
5. Расчет емкостных нагрузок на внешние шины.. 8
6. Выбор типономиналов схем согласования. 9
7. Расчет основных параметров модуля и построение временных диаграмм.. 10
8. Выводы.. 14
Техническое задание
Спроектировать модуль статической оперативной память (SRAM) информационной емкостью 256 KB, разрядностью слова 32 бит, временем цикла не более 100 нс и контролем паритета. Разрядность шины адреса – 32. Выходной электрический интерфейс TTL-формата.
1. Выбор типономиналов микросхем памяти
Основным критерием выбора микросхем памяти является их соответствие информационной организации и времени цикла (время доступа МС памяти должно быть меньше максимального времени цикла – 100 нс). Выбор осложнился необходимостью организовать контроль паритета, что накладывает дополнительное условие на построение модуля – хранение паритетных битов. Первый путь выполнения этого условия – выбор МС памяти с разрядностью слова, 8) бит и организация дополнительного накопителя для хранения паритетных битов. Это сопряжено с необходимостью поиска дополнительных МС памяти, к которым будут предъявляться довольно жесткие требования. Этот вариант был отброшен. Второй путь – выбор МС памяти с разрядностью слова, 9) бит. Поиск был достаточно затруднительным, и была выбрана МС CY7C188-35 , имеющая информационную организацию 32Kx9. Время цикла МС CY7C188-35 – 35 нс. Остальные параметры приведены в приложении 1.
2. Определение количества микросхем памяти
Количество микросхем, необходимое для организации одной физической страницы (информационная организация страницы – 32Kx36):
Qбис1 = nмод / nбис = 36 / 9 = 4, где nмод – разрядность модуля памяти
nбис – разрядность МС памяти
Количество микросхем, необходимое для организации модуля памяти:
Qбис2 = Qбис1* Nмод / Nбис = 4* 64 / 32 = 8, где Nмод – количество адресов модуля памяти
Nбис – количество адресов МС памяти
3. Организация накопителя
Накопитель состоит из восьми МС CY7C188-15, которые образуют две физические страницы – по четыре МС в каждой. Микросхема памяти CY7C188-XX имеет четыре управляющих входа - #CE1, CE2, #OE, #WE (см. приложение 1). При выборе МС для работы на #CE1 подается низкий уровень сигнала, на CE2 – высокий. Далее на CE2 всегда подается сигнал высокого уровня, управление выбором кристалла осуществляется входом #CE1. Сигналы управления МС памяти подаются с блока управления памятью (БУП). Для контроля паритета создан специальный блок – блок контроля паритета (БКК).
Функциональная схема накопителя с обвязкой, назначение которой ниже постепенно объясняется, представлена на рисунке 1.

Рис 1. Функциональная схема накопителя
Обозначения (рис. 2):
AB – 32-разрядная системная шина адреса
DB – 32-разрядная двунаправленная системная шина данных
CB – 2-разрядная системная шина управления
A – 15-разрядная внутренняя шина адреса
DQ – 32-разрядная двунаправленная внутренняя шина данных
DPC – 4-разрядная двунаправленная шина паритетных битов
Примечание: соответствие обозначений элементов на рисунках и их типономиналов указано в приложении 5.
Устройства DD1 – DD8 – микросхемы памяти. DD1 – DD4 образуют первую физическую страницу, DD5 – DD8 – вторую. DD9 - буфер, DD10 и DD11 – трансиверы (причины их выбора и типономиналы см. в пп. 5-6). DD12 – блок управления памятью.
На входы адреса A всех МС памяти подается один и тот же адрес с шины A – A0..14. На входы данных I/O0..7 соответствующих МС памяти каждой страницы подаются одни и те же данные: на DD1 и DD5 – младший байт младшего полуслова (DQ0..7), на DD2 и DD6 – старший байт младшего полуслова (DQ8..15), на DD3 и DD7 – младший байт старшего полуслова (DQ16..23), на DD4 и DD8 – старший байт старшего полуслова (DQ24..31).
Функциональная схема БУП представлена на рисунке 2.

Рис 2. Функциональная схема БУП
Блок управления памятью отвечает за активизацию МС памяти, подачу на них сигналов #OE и #WE, а также за подачу сигналов управления на некоторые другие элементы. Для этого он обрабатывает входные сигналы управления - #MEMR (вход 18 БУП) и W/#R (вход 19 БУП), 17 старших битов с внешней шины адреса (входы 1-17 БУП).
К внешним шинам могут быть подключены различные устройства (ОЗУ, ПЗУ, устройства ввода-вывода и т. д.) При обращении к какому-либо из них процессор формирует управляющие сигналы, которые могут быть одинаковыми для различных устройств. Поэтому существует необходимость разделения адресного пространства. В данной работе использован наиболее простой способ решения этой проблемы. Все пространство адресов разделяется на две части – адреса – 0000FFFF и - FFFFFFFF. Для SRAM отводится младшая часть. Значит, при обращении к данной памяти 16 старших битов адреса должны быть равны нулю. На входы элементов типа NOR DD14 – DD17 поступает 16 старших битов с внешней шины адреса. Сигналы с выходов этих элементов подаются на входы элемента DD18 – NAND. Низкий уровень сигнала на выходе этого элемента свидетельствует о том, что обращение по адресу идет именно к данному модулю памяти. Карта памяти представлена на рисунке 3.

Рис. 3. Карта памяти.
Один из сигналов управления, формируемых процессором – сигнал обращения к памяти #MEMR (активный низкий уровень). Элемент DD19 типа OR получает на свои входы сигнал с элемента DD18 и сигнал #MEMR. Низкий уровень на выходе этого элемента свидетельствует об обращении к данному модулю памяти. Сигнал с выхода этого элемента подается на вход разрешения работы дешифратора DD22 #G, на вход A (младший разряд) подается 16й бит с системной шины адреса, который отвечает за активизацию одной из физических страниц памяти. Выходы дешифратора поданы на входы #CS МС памяти. Выход Y0 (вывод 3 БУП) – на входы #CS МС первой страницы (DD1 – DD4), выход Y1 (вывод 4 БУП) – на входы МС второй страницы (DD5 – DD8).
Формируемый процессором сигнал W/#R говорит о типе выполняемой операции – запись или чтение. Пройдя инвертор DD20, он поступает на входы #WE МС памяти (вывод 1 БУП), а после прохождения инвертора DD21 – на входы #OE (вывод 2 БУП). Причины двойного инвертирования сигнала указаны в п. 5. Проверка выбора именно данного модуля памяти не производится, т. к. независимо от поданных сигналов на входы #OE и #WE при подаче сигнала высокого уровня на вход #CE1 МС памяти все выходы I/O переходят в состояние высокого импеданса.
Устройство DD13 – блок контроля паритета.
Функциональная схема БКК представлена на рис 4.

Рис 4. Блок контроля паритета
Цель контроля паритета – отслеживать единичные ошибки в тракте данных. При записи производится побайтная свертка данных и запись результата в девятый (паритетный) бит по тому же адресу, по которому был записан каждый байт. При чтении производится повторная побайтная свертка считанных данных и сравнение их со считанным паритетным битом. При их неравенстве модуль памяти сигнализирует об ошибке и генерируется прерывание работы процессора. Наиболее простой путь организации контроля паритета – установка перед каждой МС памяти схемы свертки по модулю 2, выход которой будет подан на I/08 – вход паритетного бита. При чтении использовалось бы та же схема свертки, и ее выход подавался бы на один из входов элемента типа 2-in EXOR, на второй вход которого подавался бы считанный паритетный бит. Выходы всех элементов типа EXOR, который сигнализировал бы об ошибке в случае различия входных сигналов. Затем выходы всех элементов типа EXOR подать на некоторый логический элемент, определенный уровень сигнала на единственном выходе которого свидетельствовал бы о наличии ошибки. Но в одном цикле активной может быть лишь одна физическая страница, поэтому может возникнуть проблема выбора элемента EXOR, сигнал с которого будет подаваться на выход, которая повлечет за собой необходимость мультиплексирования выходов элементов EXOR. А это дополнительные задержки распространения.
Существует возможность использования одной МС свертки для МС памяти из разных физических страниц, на которые подаются одноименные биты данных. Поиск МС свертки привел к МС, которая позволяет избежать использования элементов EXOR. Это МС 74ACT11286 (см. приложение 2) фирмы Texas Instruments (DD23-DD26 на рис. 4). На входы A..H этих МС подаются биты с двунаправленной шины данных DP (которая соединяется с шиной данных DQ), по одному байту на каждую МС. Если на #XMIT приходит сигнал низкого уровня (при записи), то двунаправленный вывод P I/O выдает результат свертки входных битов, которые по шине DPC поступают на входы паритетных битов МС памяти (I/O8). Выход #ERR будет давать сигнал высокого уровня. Если на #XMIT приходит сигнал высокого уровня (при чтении), то на входы P I/O поступают считанные с МС памяти паритетные биты, которые сравниваются с результатом свертки битов с входов A..H (на них подаются считанные с МС памяти данные). Если результат свертки не совпадает с паритетным битом, уровень на выходе #ERR становится низким. Выходы #ERR элементов DD23-DD26 подаются на элемент DD27 типа AND, низкий уровень сигнала на выходе которого свидетельствует о наличии ошибки (выход #ERROR БКК). Сигналы на входе #XMIT зависят от режима работы модуля памяти (чтение / запись) (выход 2 БУП).
Возможность использования одной схемы свертки для двух МС памяти объясняется еще тем, что активной может быть только одна физическая страница, на выводах I/O МС неактивной страницы будет состояние высокого импеданса.
4. Выбор элементов обвязки
Поиск логики и дешифратора производился в Internet. Все вентили взяты с web-сайта фирмы Texas Instruments [1]. Были выбраны следующие вентили:
2-in OR – SN74AHCT32 (DD19 на рис. 2) (см. приложение 2)
4-in NOR – CD74HC4002 (DD14..17 на рис. 2) (см. приложение 3)
4-in AND – CD74HC21 (DD27 на рис. 4) (см. приложение 3)
4-in NAND - CD74HC20 (DD18 на рис. 2) (см. приложение 3)
2 to 4 DC - SN74AHCT139 (DD22 на рис. 2) (см. приложение 2)
NOT - SN74AHCT04 (DD20..21 на рис. 2) (см. приложение 2)
Вентили подбирались с учетом необходимости обеспечения выходного электрического интерфейса формата TTL. Входы всех выбранных вентилей являются TTL-совместимыми. (это важно для тех элементов, которые напрямую взаимодействуют с внешними шинами).
5. Расчет емкостных нагрузок на внешние шины
Примечание. Далее все параметры берутся при температуре t° = 25°C
Коэффициент объединения по входам адресов:
Kоб. A = Nмод / Nбис * nмод / nбис = 64/32 * 32/8 = 8
Коэффициент объединения по входам данных:
Kоб. DQ = Nмод / Nбис = 64/32 = 2
Нагрузка, создаваемая функциональными входами накопителя на системную шину адреса:
Cнагр. ЛА = CIN БИС * Kоб. A + Cмонт
СIN БИС – емкостная нагрузка, создаваемая входами адреса МС памяти. СIN БИС = 6 пФ.
Cмонт – паразитная емкость межсоединений. В данной работе принято, что Cмонт = 10 пФ.
Cнагр. ЛА = 6*8 + 10 = 58 пФ.
Нагрузка, создаваемая функциональными входами накопителя и входами схемы свертки (т. к. данные подаются и на МС свертки – DD23 – DD26 на рис. 4) на системную шину данных:
Cнагр. DQ = COUT БИС * (Kоб. DQ-1) + CIN 2K + Cмонт
СOUT БИС – емкостная нагрузка, создаваемая входами данных МС памяти. COUT БИС = 8 пФ.
CIN 2K – емкостная нагрузка, создаваемая входами A..I схемы свертки. CIN 2K = 3.5 пФ.
Cнагр. DQ = 8 + 3.5 + 10 = 20.5 пФ.
Из данных расчетов можно сделать вывод о необходимости буферизации шин данных и адреса для снижения емкостной нагрузки на них.
На шину управления также оказывается нагрузка. Т. к. сигналы #OE и #WE для МС памяти поступают сразу с шины управления, без расчетов можно сделать вывод о необходимости буферизации шины управления. Для этого служат два инвертора – DD20 и DD21 на рис. 2 (инвертор DD20 также выполняет функцию преобразования сигнала W/#R в сигнал #WE для МС памяти). Для коррекции задержек распространения вентилей DD20, DD21 и DD19 необходимо расcчитать емкостную нагрузку, создаваемую на их выходах.
Cнагр. DD20 = CIN CON БИС * 8 + Cмонт
Cнагр. DD21 = CIN CON БИС * 8 + CIN 2K * 4 + CIN TR * 8 + СIN NOT + Cмонт
Cнагр. DD19 = CIN TR * 8 + CIN DC + Cмонт
CIN CON БИС - емкостная нагрузка, создаваемая входами управления МС памяти.
СIN CON БИС = 6 пФ
CIN TR - емкостная нагрузка, создаваемая управляющими входами трансивера.
CIN TR = 6 пФ (коэффициенты, стоящие перед CIN TR взяты из того соображения, что каждый выбранный трансивер фактически содержит в себе четыре трансивера – см. п. 6).
CIN DC – емкостная нагрузка, создаваемая управляющим входом дешифратора.
CIN DC = 10 пФ
СIN NOT - емкостная нагрузка, создаваемая входом инвертора. СIN NOT = 10 пФ
Cнагр. DD20 = 8*8 + 10 = 74 пФ
Cнагр. DD21 = 8*8 + 3.5*4 + 6*8 + 10 + 10 = 146 пФ
Cнагр. DD19 = 6 * 8 + 10 + 10 = 68 пФ
Расчеты производились только для тех вентилей, нагрузка на которые может превысить параметр, при котором гарантируются стандартные задержки распространения.
Максимальная емкостная нагрузка, которая может быть создана на выбранных вентилях, в документации к ним не приводится. В данной работе принято, что ее значение
CMAX = 300 пФ. Работа вентилей гарантируется, если нагрузка, создаваемая на их выходах, не превышает 2/3 CMAX. Вывод: вентили будут работать, но их задержки распространения необходимо скорректировать.
В документации к вентилям DD20, DD21 и DD19 (см. рис. 2) приведены задержки распространения, гарантированные при емкостной нагрузке 50 пФ. Можно рассчитать, на сколько увеличатся задержки распространения при вычисленных выше емкостных нагрузках, если учесть, что увеличение емкостной нагрузки на 1 пФ для МС типа КМОП приводит к увеличению задержек распространения на 0.035 нс.
tкор. DD20 = (74-50) * 0.035 = 0.84 нс
tкор. DD21 = (146-50) * 0.035 = 3.36 нс
tкор. DD19 = (68-50) * 0.035 = 0.63 нс
tкор. DDX – время, на которое увеличится задержка распространения элемента DDX (см. рис. 2).
6. Выбор типономиналов схем согласования
Расчеты в п. 5 показали необходимость буферизации шин адреса и данных. На шины адреса необходимо установить буферы, предельно допустимая нагрузка на которые больше нагрузки на шины адреса и данных (на шину данных устанавливается двунаправленный буфер – трансивер):
CНАГР. ДОПbuf > Cнагр. ЛА.
CНАГР. ДОПtr > Cнагр. DQ.
Выбранный буфер – CY74FCT16244AT (см. приложение 4) – DD9 на рис. 1. Выбранный трансивер - CY74FCT16245AT (см. приложение 4) – DD10..11 на рис. 1. Допустимая емкостная нагрузка, которая может быть создана на выбранных буфере и трансивере, в документации к ним не приводится. Но она определенно выше нагрузок, создаваемых на шины адреса и данных.
Каждое из этих устройств имеет 16 входов и 16 выходов. Для каждых четырех входов-выходов предусмотрены свои управляющие сигналы. Для коррекции задержек распространения буферов и трансиверов необходимо знать предельную емкостную нагрузку, при которой гарантируются приведенные в документации задержки распространения. В документации эта информация не приводится. В данной работе принято, что эта нагрузка равна 100 пФ. Значит, коррекции задержек распространения не требуется. Буфер будет всегда включен (на его вход #OE подается низкий сигнал), а трансиверы включаются, если обращение идет именно к этому модулю памяти.
7. Расчет основных параметров модуля и построение временных диаграмм
Примечание. Для всех элементов из документации берутся максимальные задержки распространения. Это не касается вентилей DD14..17, DD18 (рис. 2) и DD27 (рис. 4) из семейства HC (HIGH SPEED CMOS). Выход каждого из этих элементов соединен с одним входом. Учитывая паразитную емкость межсоединений, которая равна 10 пФ, можно сделать вывод, что нагрузка на эти элементы немного превышает значение 15 пФ. Примем, что она равна 15 пФ. В технической документации к ним (см. приложение 3) не указаны максимальные временные задержки для емкостной нагрузки 15 пФ и напряжения питания 5 В. Видимо, производители гарантируют некоторое значение задержек распространения для этих МС (столбец typ в документации). В дальнейшем они и будут использоваться.
Предполагается, что сигналы со всех внешних шин поступают на входы модуля одновременно.
Далее приводится расчет задержек распространения сигналов через обвязку до входов накопителя. tDDx – задержка распространения вентиля DDx (см. рис. 1, 2, 4).
Времена задержек, общие для циклов чтения и записи:
CB -> #WE: t1 = tDD20 + tкор. DD20 = 6.7 + 0.84 = 7.54 нс
CB -> #OE: t2 = tDD20 + tDD21 + tкор. DD20 + tкор. DD21 = 6.7 + 6.7 + 0.84 + 3.36= 17.6 нс
CB, AB -> #CE: t3 = tDD14 + tDD18 + tDD19 + tDD22 + tкор. DD19 = 8 + 8 + 6.9 + 7.2 + 0.63 = 30.73 нс
AB -> A: t4 = tDD9 = 6.2 нс
Времена задержек для цикла записи:
DB -> I/O0..7: t5 = tDD14 + tDD18 + tDD19 + tDD10 + tкор. DD19 = 8 + 8 + 6.9 + 6.2 + 0.63 = 29.73 нс
DB -> I/O8: t6 = tDD14 + tDD18 + tDD19 + tDD10 + tкор. DD19 + tDD23 = 8 + 8 + 6.9 + 6.2 + 0.63 + 10.8 = 40.53 нс
Времена задержек для цикла чтения:
I/0 -> DB: t7 = tDD10 = 6.2 нс
I/0 -> #ERROR: t8 = tDD23 + tDD27 = 10.8 + 8 = 18.8 нс
На рис. 5 и 6 представлены временные диаграммы циклов чтения и записи соответственно.
8. Выводы
В данной работе был создан модуль асинхронной статической оперативной памяти (Async SRAM). Требования технического задания были выполнены. Был сделан первый шаг в проектировании устройств. Одной из наиболее сложных проблем бал поиск технической документации. Ее правильное прочтение тоже оказалось достаточно затруднительным. Работа помогла разобраться в функционировании памяти, были закреплены знания, полученные в процессе изучения дисциплины.


