IP-контроллеры SRAM от GSI Technology
Реализация высокоскоростного интерфейса всегда считалась трудной задачей, поскольку на высоких частотах окно захвата сигналов данных и адреса сильно ограничено. Ситуация усложняется неодинаковой длиной сигнальных линий, индукционной и емкостной наводкой и волновым сопротивлением. Важно максимально эффективно использовать ширину окна, работая с высокоскоростными семействами SigmaQuad-II+, SigmaDDR-II+ или старше. Хорошо отлаженный IP-контроллер помогает оптимально применять имеющееся окно всех сигналов и компенсировать ошибки в трассировке.
Возможности IP-контроллеров GSI Technology
Работа IP-контроллера начинается с определения ширины окна захвата данных для каждого сигнала. Для этого используется пошаговая задержка в сигнале. Во время калибровки компенсируется фазовый сдвиг и другие факторы, приводящие к смещению сигнала прежде, чем он достигнет регистра приемного устройства (рис. 1). Затем необходимое значение задержки конфигурируется для каждого сигнала так, что середина окна выравнивается с соответствующими сигналами тактирования и управления. Таким образом, производительность с точки зрения частоты тактирования считается максимальной.
Каждый блок «Задержка I/O» состоит из двух субблоков для входных и выходных сигналов соответственно. Задержка каждого из субблоков может выставляться независимо.
Некоторые I/O‑сигналы микросхем SRAM изменяют свое состояние дважды за один цикл тактирования (DDR), другие — только один раз (SDR). DDR I/O‑сигналы считаются высокоскоростными и калибруются IP-контроллером. SDR I/O‑сигналы считаются медленными, и их калибровка не производится. Таким образом, сигналы данных выхода Q и входа D калибруются во всех IP-контроллерах. Сигналы адреса SA являются DDR только для Quad B2 и калибруются лишь в этих микросхемах. Сигналы QVLD не используются вовсе, так как определение задержки сигналов Q представляет собой часть общего процесса автоматической калибровки.
Калибровка во всех микросхемах начинается с сигналов Q, затем калибруются сигналы SA (только для Quad B2), и сигналы D завершают процесс во всех микросхемах.
Интерфейс пользователя
IP-контроллеры GSI сконфигурированы для максимального упрощения работы с ними. Интерфейс пользователя состоит из набора регистров для всех входов и выходов SRAM. Количество регистров, необходимое для каждого сигнала, зависит от соотношения частоты тактирования ПЛИС к частоте тактирования SRAM (2:1 MUX или 4:1 MUX) и типа сигналов (DDR или SDR). Например, для DDR-сигнала 4:1 MUX необходимо восемь регистров.
На рис. 2 показан пример блок-диаграммы между интерфейсом пользователя и портом памяти ПЛИС.
Каталог IP-контроллеров GSI Technology
В настоящее время компания GSI Tech-nology разработала большое количество IP-контроллеров для ПЛИС производства Xilinx и всего несколько для Intel (Altera).
IP-контроллеры для Intel
GSI Technology предоставляет IP-контроллер SigmaQuad-III и SigmaDDR-III для Intel Stratix-V. IP поддерживает обе архитектуры SRAM — ×18 и х36, а также две вариации Burst of 2 и Burst of 4. Максимальная производительность для Stratix V и SigmaRAM-III представлена в таблице 1.
|
Clock, |
Скорость |
Полоса |
SigmaQuad-III Burst of 2 |
|||
×36 |
700 |
1,4 BT/s* |
100 |
×18 |
700 |
1,4 BT/s |
50 |
SigmaQuad-III Burst of 4 |
|||
×36 |
700 |
700 MT/s** |
100 |
×18 |
700 |
700 MT/s |
50 |
SigmaDDR-III Burst of 2 |
|||
×36 |
700 |
700 MT/s |
50 |
×18 |
700 |
700 MT/s |
25 |
Примечание. *BT/s — млрд транзакций в с.
**MT/s — млн транзакций в с.
Задержка чтения Read Latency для Stratix-V составляет 11–12 тактов ПЛИС при соотношении частот 2:1 MUX.
IP-контроллеры для Xilinx
GSI Technology разрабатывает IP-контрол-леры для различной градации максимальной частоты SRAM, что увеличивает эффективность использования ПЛИС с выбранной микросхемой SRAM-памяти. В таблице 2 показана максимальная частота SRAM в зависимости от семейства ПЛИС Xilinx. Все значения получены практическим путем на оценочных платах GSI в лабораторных условиях и актуальны на момент публикации статьи.
Партномер SRAM |
ПЛИС, МГц |
||||
7-я серия |
7-я серия |
UltraScale |
UltraScale+ |
||
144M SQ4e RL = 6 |
GS81314LQ18/36 |
Не выпускается |
Не выпускается |
1000 |
В разработке |
GS81314LD18/36 |
Не выпускается |
Не выпускается |
1200 |
В разработке |
|
GS81314LT18/36 |
Не выпускается |
Не выпускается |
В разработке |
В разработке |
|
144M SQ4e RL = 5 |
GS81314LQ19/37 |
Не выпускается |
Не выпускается |
933 |
В разработке |
GS81314LD19/37 |
Не выпускается |
Не выпускается |
933 |
В разработке |
|
GS81314LT19/37 |
Не выпускается |
Не выпускается |
933 |
В разработке |
|
288M SQ3e RL = 3 |
GS82583EQ18/36 |
400 |
500 |
500 |
500 |
GS82583ED18/36 |
400 |
675 |
675 |
675 |
|
GS82583ET18/36 |
400 |
675 |
675 |
В разработке |
|
144M SQ3e RL = 3 |
GS81313LQ18/36 |
400 |
700 |
800 |
В разработке |
GS81313LD18/36 |
400 |
700 |
833 |
В разработке |
|
GS81313LT18/36 |
400 |
700 |
833 |
В разработке |
|
72M SQ3e RL = 3 |
GS8673EQ18/36-xxxS |
400 |
700 |
725 |
725 |
GS8673ED18/36-xxxS |
400 |
700 |
725 |
725 |
|
GS8673ET18/36-xxxS |
400 |
700 |
725 |
В разработке |
|
288M SQ2+ RL = 2,5 |
GS82582Q(T)20/38 |
400 |
500 |
500 |
500 |
GS82582D(T)20/38 |
400 |
550 |
550 |
550 |
|
GS82582T(T)20/38 |
400 |
550 |
550 |
В разработке |
|
144M SQ2+ RL = 2,5 |
GS81302Q(T)20/38A |
400 |
500 |
500 |
500 |
GS81302D(T)20/38A |
400 |
633 |
633 |
633 |
|
GS81302T(T)20/38A |
400 |
633 |
633 |
В разработке |
|
72M SQ2+ RL = 2,5 |
GS8662D(T)20/38B |
400 |
550 |
550 |
550 |
GS8662T(T)20/38B |
400 |
550 |
550 |
В разработке |
|
36M SQ2+ RL = 2,5 |
GS8342D(T)20/38B |
400 |
550 |
550 |
550 |
GS8342T(T)20/38B |
400 |
550 |
550 |
В разработке |
|
288M SQ2+ RL = 2 |
GS82582Q(T)19/37 |
400 |
400 |
400 |
400 |
GS82582D(T)19/37 |
400 |
450 |
450 |
450 |
|
GS82582T(T)19/37 |
400 |
450 |
450 |
В разработке |
|
144M SQ2+ RL =2 |
GS81302Q(T)19/37A |
400 |
450 |
450 |
450 |
GS81302D(T)19/37A |
400 |
450 |
450 |
450 |
|
GS81302T(T)19/37A |
400 |
450 |
450 |
В разработке |
|
72M SQ2+ RL = 2 |
GS8662Q(T)19/37B |
357 |
357 |
357 |
357 |
GS8662D(T)19/37B |
400 |
450 |
450 |
450 |
|
GS8662T(T)19/37B |
400 |
450 |
450 |
В разработке |
|
36M SQ2+ RL = 2 |
GS8342Q(T)19/37B |
357 |
357 |
357 |
357 |
GS8342D(T)19/37B |
400 |
450 |
450 |
450 |
|
GS8342T(T)19/37B |
400 |
450 |
450 |
В разработке |
|
18M SQ2+ RL = 2 |
GS8182D19/37B |
400 |
435 |
435 |
435 |
GS8182T19/37B |
400 |
435 |
435 |
В разработке |
Примечания. *A7 = Artix‑7, Z7A = Zynq 7000 с ядром Artix.
**K7 = Kintex‑7, V7 = Virtex‑7, Z7K = Zynq 7000 с ядром Kintex.
***KU = Kintex UltraScale, VU = Virtex UltraScale.
****KUP = Kintex UltraScale+, VUP = Virtex UltraScale+, ZUP = Zynq UltraScale+.
В настоящее время GSI Technology создала IP-контроллеры для ПЛИС Xilinx 7‑й серии, UltraScale и семейств SRAM-памяти SigmaQuad-II+, SigmaQuad-III и SigmaQuad-IV всех вариаций Quad-B2, Quad-B4 и DDR-B2. Разработка IP-контроллеров SigmaQuad-IV для 7‑й серии нецелесообразна. IP-контроллеры для UltraScale+ все еще находятся в разработке, также планируется поддержка Zynq UltraScale+.
Максимально достижимая производительность SRAM для различных семейств ПЛИС Xilinx отображена в таблице 3.
|
Скорость |
MUX |
SRAM-поколение |
||||||||||
SRAM типа II+ |
SRAM типа III |
SRAM типа IV |
|||||||||||
SRAM — функциональные вариации |
Quad-B2 |
Quad-B4 |
DDR-B2 |
Quad-B2 |
Quad-B4 |
DDR-B2 |
Quad-B2 |
Quad-B4 |
DDR-B2 |
Quad-B2 |
Quad-B4 |
||
SRAM — шина данных |
×18/×36 |
×18/×36 |
×18/×36 |
×18/×36 |
|||||||||
SRAM — задержка чтения (Read Latency) |
2 или 2,5 SRAM Clocks |
3 SRAM Clocks |
5 SRAM Clocks |
6 SRAM Clocks |
|||||||||
SRAM-архитектура |
Один банк, |
Один банк, |
Один банк, |
Много банков, |
|||||||||
Kintex/Virtex 7 |
|||||||||||||
SRAM-частота (макс.), МГц |
Любая |
4:1 |
500 |
633 |
633 |
700 |
700 |
700 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,63 |
0,63 |
1,4 |
0,7 |
0,7 |
|||||||
Полоса пропускания (×36), Гбит/с |
72 |
91 |
46 |
101 |
101 |
50 |
|||||||
Задержка чтения контроллера |
11~12 FPGA Clocks |
11~12 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–3 |
2:1 |
500 |
600 |
600 |
600 |
600 |
600 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,6 |
0,6 |
1,2 |
0,6 |
0,6 |
|||||||
Полоса пропускания (×36), Гбит/с |
72 |
86 |
43 |
86 |
86 |
43 |
|||||||
Задержка чтения контроллера |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–2 |
2:1 |
500 |
525 |
525 |
525 |
525 |
525 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,53 |
0,53 |
1,05 |
0,53 |
0,53 |
|||||||
Полоса пропускания (×36), Гбит/с |
72 |
76 |
38 |
76 |
76 |
38 |
|||||||
Задержка чтения контроллера |
13~14 FPGA Clocks |
1314 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–1 |
2:1 |
450 |
450 |
450 |
450 |
450 |
450 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
0,9 |
0,45 |
0,45 |
0,9 |
0,45 |
0,45 |
|||||||
Полоса пропускания (×36), Гбит/с |
65 |
65 |
32 |
65 |
65 |
32 |
|||||||
Задержка чтения контроллера |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
|||||||||||
Kintex/Virtex UltraScale |
|||||||||||||
SRAM-частота (макс.), МГц |
Любая |
4:1 |
500 |
633 |
633 |
800 |
833 |
833 |
933 |
933 |
933 |
1000 |
1200 |
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,63 |
0,63 |
1,6 |
0,83 |
0,83 |
1,87 |
0,93 |
0,93 |
2 |
1,2 |
||
Полоса пропускания (×36), Гбит/с |
72 |
91 |
46 |
115 |
120 |
60 |
134 |
134 |
67 |
144 |
173 |
||
Задержка чтения контроллера |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
|||||||||
SRAM-частота (макс.), МГц |
–3 |
2:1 |
500 |
633 |
633 |
675 |
675 |
675 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,63 |
0,63 |
1,35 |
0,68 |
0,68 |
|||||||
Полоса пропускания (×36), Гбит/с |
72 |
91 |
46 |
97 |
97 |
49 |
|||||||
Задержка чтения контроллера |
14~15 FPGA Clocks |
14~15 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–2 |
2:1 |
500 |
600 |
600 |
600 |
600 |
600 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,6 |
0,6 |
1,2 |
0,6 |
0,6 |
|||||||
Полоса пропускания (×36), Гбит/с |
72 |
86 |
43 |
86 |
86 |
43 |
|||||||
Задержка чтения контроллера |
14 ~ 15 FPGA Clocks |
14 ~ 15 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–1 |
2:1 |
450 |
525 |
525 |
450 |
525 |
525 |
Не выпускаются |
Не выпускаются |
|||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
0,9 |
0,53 |
0,53 |
0,90 |
0,53 |
0,53 |
|||||||
Полоса пропускания (×36), Гбит/с |
65 |
76 |
38 |
65 |
76 |
38 |
|||||||
Задержка чтения контроллера |
14~15 FPGA Clocks |
14~15 FPGA Clocks |
|||||||||||
Kintex/Virtex UltraScale+ |
|||||||||||||
SRAM-частота (макс.), МГц |
Любая |
4:1 |
500 |
633 |
633 |
В разработке |
В разработке |
В разработке |
|||||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
1 |
0,63 |
0,63 |
||||||||||
Полоса пропускания (×36), Гбит/с |
72 |
91 |
46 |
||||||||||
Задержка чтения контроллера |
13~14 FPGA Clocks |
13~14 FPGA Clocks |
13~15 FPGA Clocks |
13~15 FPGA Clocks |
|||||||||
SRAM-частота (макс.), МГц |
–3 |
2:1 |
В разработке |
В разработке |
Не выпускаются |
Не выпускаются |
|||||||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
|||||||||||||
Полоса пропускания (×36), Гбит/с |
|||||||||||||
Задержка чтения контроллера |
14~15 FPGA Clocks |
14~15 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–2 |
2:1 |
В разработке |
В разработке |
Не выпускаются |
Не выпускаются |
|||||||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
|||||||||||||
Полоса пропускания (×36), Гбит/с |
|||||||||||||
Задержка чтения контроллера |
14~15 FPGA Clocks |
14~15 FPGA Clocks |
|||||||||||
SRAM-частота (макс.), МГц |
–1 |
2:1 |
В разработке |
В разработке |
Не выпускаются |
Не выпускаются |
|||||||
Скорость доступа к рандомной ячейке памяти (RTR), BT/s* |
|||||||||||||
Полоса пропускания (×36), Гбит/с |
|||||||||||||
Задержка чтения контроллера |
14~15 FPGA Clocks |
14~15 FPGA Clocks |
Примечание. *BT/s — млрд транзакций в с.
Значение в колонке MUX показывает соотношение частоты тактирования ПЛИС к частоте IP-контроллера. Например, 4:1 означает, что при частоте тактирования SRAM 800 МГц частота ПЛИС составит 200 МГц. GSI разрабатывает IP двух соотношений скорости:
- 4:1 MUX — максимальная производительность, длиннее задержка Read Latency, более сложный интерфейс;
- 2:1 MUX — ниже производительность, короче задержка Read Latency, проще интерфейс.
Преимущества IP-контроллеров GSI Technology
- Задержка чтения (Read Latency) IP-контроллеров GSI Technology значительно меньше, чем у IP, разработанных производителями ПЛИС.
- GSI Technology предоставляет IP-контроллеры для каждого семейства SigmaDDR (общие I/O) и SigmaQuad (раздельные I/O), в то время как производители ПЛИС предлагают IP только для SigmaQuad.
- GSI Technology разрабатывает несколько вариантов IP для одной микросхемы в зависимости от частоты тактирования, в то время как производители ПЛИС делают IP только для одной частоты, и не всегда самой высокой.
- IP-контроллеры GSI Technology можно гибко настроить под индивидуальные задачи пользователей. IP-контроллеры производителей ПЛИС сильно ограничены в кастомизации.
Оценочные платы
Все IP-контроллеры GSI Technology прошли проверку на оценочных платах собственного производства. Вместе с IP-контроллерами пользователю предоставляется руководство по его настройке. Также по отдельному запросу клиент GSI может бесплатно получить оценочную плату, на которой разрабатывался IP-контроллер. В комплекте с платой передается руководство пользователя, схема электрическая, гербер-файлы и перечень элементов для возможности изготовления собственной платы. Пример платы изображен на рис. 3.
IP-контроллеры передаются в исходном коде VHDL или Verilog без шифрования. Инженеры GSI могут помочь в составлении pin-out IP-контроллера. Дополнительно клиентам GSI могут быть предоставлены поведенческая модель SRAM, ModelSim, Test Bench, IBIS, отчеты о надежности микросхем (FIT или MTTF), бесплатные образцы и другие необходимые документы для успешного завершения НИОКР.
- Павлюкович Е. Микросхемы высокопроизводительной памяти от GSI Technology // Компоненты и технологии. 2017. № 9.
- Павлюкович Е. Микросхемы SRAM No Bus Turnaround от GSI Technology // Компоненты и технологии. 2018. № 2.
- Павлюкович Е. Микросхемы SigmaQuad-II/II+ и SigmaDDR-II/II+ от GSI Technology // Компоненты и технологии. 2018. № 3.
- Павлюкович Е. Обзор SRAM SigmaQuad-III/IV и SigmaDDR-III/IV от GSI Technology // Компоненты и технологии. 2018. № 3.