Имитационное моделирование аппаратных средств вычислительных систем Имитационное моделирование в исследовании

advertisement
Имитационное моделирование в исследовании
и разработке информационных систем
Лекция 8
Имитационное моделирование
аппаратных средств вычислительных
систем
Основные виды БИС
• Для заданной области применения (ASIC)
– Широкого применения (Application specific
standard products, ASSP) (микропроцессоры,
модули памяти, контроллеры интерфейсов,
видеодекодеры …)
• крупные производители, большие тиражи, для
широкого круга потребителей;
– Заказные (фильтры, коммутаторы …)
• меньшие тиражи, возможность изготовить «для
себя»
– На основе крупных стандартных блоков
(Standard Cell Based)
2
Подготовка производства БИС
(статья от января 2014 г., данные по фабрикам Южной Азии)
http://www.russianelectronics.ru/developer-r/review/2189/doc/40279
время изготовления партии около 8 недель
3
Основные виды БИС (2)
• Для различных областей применения
– Вентильные матрицы (полузаказные)
• часть слоёв металлизации делается по
заказу
– Программируемые логические матрицы
(FPGA)
• Набор базовых ячеек
• Переключатели связей между ячейками
• Загрузка конфигурации по специальному
интерфейсу
4
FPGA
5
Взято из: http://courses.cs.washington.edu/courses/cse567/98au/ppt/08afpgas/sld028.htm
6
Взято из http://courses.cs.washington.edu/courses/cse567/98au/ppt/08afpgas/sld029.htm
7
Взято из http://courses.cs.washington.edu/courses/cse567/98au/ppt/08afpgas/sld035.htm
8
Программируемые матрицы с
макроячейками (Complex Programming
Logic Device - CPLD)
9
CPLD CoolRunner II (Xilinx)
• N функц. блоков
• Коммут матрица (AIM)
• Блок:
– матрица 56
конъюнкций на 40
входов
– 16 макроячеек (логика
ИЛИ, регистр, выход)
10
Производители и крупные
пользователи ПЛИС
http://parallel.ru/fpga/vendors.html
Xilinx, Altera, Lattice Semiconductor, Actel,
Atmel, Nallatech, Mitrionics, Alpha Data,
QuickLogic, Achronix Semiconductor,
MathStar, Rapid Prototypes, National
Instruments, Sun Microsystems, SGI, Cray,
MNB Technologies, CPU Tech, Exegy,
Celoxica, XtremeData, Plurality.
НИИ МВС, ФГУП "НИИ КВАНТ", Инлайн Груп,
Эфо, ИТМиВТ, Высокотехнологичные
системы, НПП "Цифровые решения",
11
DeverSYS
ПЛИС фирмы XILINX
http://www.xilinx.com/products/silicon-devices/fpga.html
Spartan-6
Техпроцесс
Logic cells
RAM
DSP Slices
Transceivers
I/O Pins
Стоимость
(в составе
платы)
45 нм
Artix-7
Kintex-7
28 нм
28 нм
Virtex-7
Virtex
UltraScale
28 нм
16 нм
4,432,680
147,443
215,360
477, 760
1,954,560
4.8Mb
13Mb
34Mb
68Mb
132.9Mb
180
740
1,920
3,600
2,880
8
16
32
96
576
500
500
1,200
$349-$1995
$1295
120
1,456
$4995
Ячейка (logic cell) – около 15 вентилей ASIC
DSP slice – 18-бит умножитель+сумматор с накоплением
12
XILINX Virtex Connectivity Kit
13
Xilinx Silicon Stacked Interconnect (SSI)
Эволюция способов монтажа электронных схем
• Навесной монтаж
• Печатные платы
• Гибридные ИС, микросборки
• Твердотельные ИС
• Микросборки твердотельных ИС (SSI)
14
Система-на-кристалле (SoC, СнК)
• Системная (материнская) плата = СБИС
ЦП + Чипсет + разъёмы для памяти и плат
расширения
• Микроконтроллер = ЦП+чипсет на
одном кристалле
• СнК =
ЦП+чипсет+периферия+специальные
устройства на одном кристалле
• Сеть-на-кристалле
15
СнК XILINX Zynq 7000
16
СнК производства НТЦ Модуль
(www.module.ru)
• СБИС К1879ХБ1Я для декодирования
телевизионных сигналов
спутникового, наземного и
кабельного вещания, а также IPтелевидения и одноплатный
компьютер МВ 77.07 на её основе
• СБИС 1879ВЯ1Я для создания
унифицированной аппаратнопрограммной платформы цифровых
программных приемников
17
Модуль ТВ декодера
18
К1879ХБ1Я
• процессор ARM1176JZF-S, частота - 324 МГц
• ЦПС NeuroMatrix® NMC3, частота - 324 МГц
• мультистандартный декодер SD/HD видео
MPEG2-/H.264/VC-1
• дескремблирование по стандарту DVB-CSA
• 2D графический ускоритель
• видеоконтроллер с функцией наложения
полупрозрачных слоев и масштабированием
видео
19
МВ 77.07
20
СнК цифрового приёмника
•
•
•
•
Процессор ARM 1170 324 МГц
2 * NMC3
4 * АЦП 12 бит 80 Мгц
Блок предварительной обработки
сигналов (гетеродин, смеситель,
фильтры)
• Работа по кадрам (генератор
адресов, DMA)
• Переконфигурация перед началом
кадра
21
Evolution or Paradigm Shift?
Network
link
Network
router
Computing
module
Bus



Architectural paradigm shift
 Replace wire spaghetti by an intelligent network infrastructure
Design paradigm shift
 Busses and signals replaced by packets
Organizational paradigm shift
 Create a new discipline, a new infrastructure responsibility
Уровни моделирования аппаратных
средств
• Уровень электрических цепей
(transistors level)
• Уровень вентилей (gate level)
• Уровень регистровых передач
(register transfer level, RTL)
• Системный уровень (system level,
processor level)
23
Уровни проектирования (и
моделирования) аппаратных
средств
© P. Chu, RTL Hardware design
24
Уровень эл. цепей
• Специализированные средства
моделирования:
PSPICE (Personal Simulation Program
with Integrated Circuits Emphasis) от
Cadence Design Systems
• Универсальные системы
непрерывного моделирования: Matlab
Simulink (Mathworks Corp.)
25
PSPICE
• Задание схемы (текстовый язык или
графический редактор)
• Элементы схемы выбираются из
библиотеки
• Задаётся режим моделирования:
анализ переходных процессов, расчёт
установившегося режима, …
• Выполняется моделирование
26
Моделирование цифровых схем
• Уровень вентилей
– VHDL, Verilog
• Уровень регистровых передач
– VHDL, Verilog
• Уровень системы
– SystemC
27
Verilog
Два наиболее распространённых языка:
• Verilog;
– Разработан в 1984 г. фирмой Gateway Design
Automation
– Стандартизован IEEE (1364) в 1995 г.
• VHDL
– разработан в 1981 г. МО США
– Стандартизован IEEE (1076) в 1987
© [Verilog]
28
Учёт специфики предметной
области
• Описание структуры системы
– модули; входные и выходные порты;
соединения
• Описание поведения системы
– сигналы; время; события; операции;
параллелизм
29
Поведенческое описание
module example(input a, b, c,
output y);
assign y = ~a & ~b & ~c | a & ~b & ~c |
a & ~b & c;
endmodule
// по умолчанию a,b,c,y – 1 бит
30
Структурное описание
module and3(input a, b, c, output y);
assign y = a & b & c;
endmodule
module inv(input a, output y);
assign y = ~a;
endmodule
module nand3(input a, b, c, output y);
wire n1; // internal signal
and3 andgate(a, b, c, n1); // instance of
and3
inv inverter(n1, y); // instance of
inverter
31
initial и always
module NCO (FC, CO, C); // имя модуля и список портов
input FC, C; // входы
output CO; // выход
// описание используемых сигналов
wire [3:0] FC;
wire C;
reg [3:0] acc;
reg CO;
// описание поведения системы
initial
begin
acc=0;
CO=0;
end
always @(posedge C) // событие — фронт С
32
{CO,acc}={CO, acc}+FO; endmodule
Initial и always (2)
• В одном модуле блоков initial и
always может быть несколько
• Блоки initial исполняются
параллельно и однократно
• Блоки always исполняются
параллельно и всё время, пока идёт
моделирование
33
Задержки
• Значение одного такта и
разрешающая способность:
• timescale 1 ns/100 ps
• Выполнение с задержкой
initial begin #1 rst = 1; #1 rst = 0; end
always #10 clock=~clock
assign #1 {ab, bb, cb} = ~{a, b, c};
34
Список чувствительности
•
•
•
•
@( x )
@(posedge y or negedge x)
@(*)
Если не задан: предполагается
пустым
35
Условные операторы, циклы
if ( x == 1 ) y = i1; else y = i2;
while
for
repeat
forever
case
36
Служебные функции
• Ввод-вывод
• Остановка моделирования
• Си-интерфейс (CLI)
37
Описание на HDL: виды
использования
• Документация на схему
• Исходные данные для средства
трассировки соединений элементов
(Структурное описание в заданном
элементарном базисе);
• Моделирование работы схемы
• Синтез описания на уровне вентилей (При
определённых ограничениях на
подмножество языка);
• Логическая верификация (доказательство
соблюдения свойств)
38
Средства моделирования
• От производителей САПР;
• Свободно распространяемые:
– http://iverilog.icarus.com/
39
Ссылки
• http://www.russianelectronics.ru/develo
per-r/review/2189/doc/40279/
• [Verilog] David Money Harris and Sarah
L. Harris, Digital Design and Computer
Architecture.
40
Спасибо за внимание!
41
Download