Команда
Контакти
Про нас

    Головна сторінка


Автоматизація проектування цифрових НВІС на базі матриць Вайнбергера і транзисторних матриць





Скачати 21.36 Kb.
Дата конвертації 12.01.2018
Розмір 21.36 Kb.
Тип реферат

МАТРИЧНІ МІКРОПРОЦЕСОРИ

Матричні мікропроцесори можна розглянути з двох сторін: на рівні транзисторних матриць і матриць процесорів.

Використання матриць при проектуванні процесорів може бути двостороннім: матриці транзисторів для проектування мікропроцесорів і матриці мікропроцесорів для проектуванні процесорних систем.

Використання матриць при побудові процесорних систем не обмежується з'єднанням процесорів за конвеєрним принципом. Подібну архітектуру можна використовувати також і при проектуванні ІС з використанням транзисторних матриць, виконаних по МОП-технології. Розглянемо обидва варіанти застосування матриць.

транзисторних матриц

Скорочення термінів проектування мікропроцесорів і підвищення надійності проектів вимагають застосування відповідних систем автоматизації проектування. Одним з найбільш перспективних напрямків в даний час вважається підхід до наскрізний автоматизації проектування, званої кремнієвої компіляцією, що дозволяє вихідне завдання на проектування - функціональне опис, представлене на мові високого рівня, перетворити на топологічні креслення. Кремнієві компілятори використовують в якості базових регулярні матричні структури, добре пристосовані до технології НВІС. Великого поширення набули програмовані логічні матриці (ПЛМ) і їх різні модифікації. Вони орієнтовані на матричну реалізацію дворівневих (І, АБО) логічних структур, а також для оптимізації їх параметрів (площі, швидкодії) відомі різні методи. Реалізація багаторівневих логічних структур НВІС часто спирається на матричну топологію: в цьому випадку компілятори генерують топологію по її матричному опису.

транзисторні матриці

Особливим стилем реалізації топології в замовних КМОП НВІС є транзисторні матриці. У лейаута (англ. Layout - детальне геометричне опис всіх прошарків кристала) транзисторних матриць все p-транзистори розташовуються у верхній половині матриці, а всі n-транзистори - у нижній. Транзисторні матриці мають регулярну структуру, яку складають взаимопересекающиеся стовпчики і рядки. У шпальтах матриці рівномірно розташовані смуги полікремнію, що утворюють взаємопов'язані затвори транзисторів. В інших полюсах транзистори з'єднуються один з одним сегментами металевих ліній, які розміщуються в рядках матриці. Іноді, для того щоб з'єднати стік і джерело транзисторів, що в різних рядках, вводять короткі вертикальні дифузійні зв'язку. Надалі ТМ буде представлятися абстрактним лейаута.

Абстрактний лейаута - схематичний малюнок майбутнього кристала, де прямокутники позначають транзистори, вертикальні лінії - полікремнієві стовпці, горизонтальні - лінії металу, штрихові - дифузійні зв'язку, точки - місця контактів, стрілки - місця підключення транзисторів до ліній Gnd і Vdd. При переході до пошаровим топології стрілки повинні бути замінені смужками в дифузійному шарі, за яким здійснюються з'єднання між рядками ТМ.

На рис. 1.а представлена ​​транзисторная схема, а на рис. 1.б - транзисторна матриця, реалізує цю схему.

Символічне уявлення топології транзисторних матриць.

Однією із завершальних стадій отримання топології транзисторних матриць є перехід від символічного лейаута до топологическому опису схеми на рівні шарів. Символічні лейаута конструюються шляхом розміщення Літери не решітці, яка служить для створення топології заданої схеми. Кожен символ представляє геометрію, яка може включати будь-яке число масочний рівнів. Схемотехніка транзисторних матриць дозволяє використовувати невелику кількість різних символів, необхідних для опису лейаута:

N - n-канальний транзистор;

P - p-канальний транзистор;

+ - надпересеченіе - метал над дифузією; метал над полікремнію; пересічні вертикальний і горизонтальний метали;

- контакт (до поликремнию або дифузії);

! - p-дифузія;

- n-дифузія, або полікремній;

: - метал у вертикальному напрямку;

- метал в горизонтальному напрямку.

Кожен символ транзистора відповідає транзистору мінімального розміру. Однак ширина каналу може збільшуватися багаторазовим повторенням символу. Тільки один символ «+» потрібно для того, щоб позначити перетин всіх трьох рівнів взаємозв'язків: а саме, метал над дифузією, метал над полікремнію і перетинається вертикальний і горизонтальний метали. Символ контакту « »Використовується для того, щоб визначити контакт металу до поликремнию або дифузії. символ « »Використовується для уявлення або полікремнієвих, або n-дифузійних провідників. Символ для дифузії p-типу «!» Потрібно відмінності її від дифузії n-типу, яка може існувати в тому ж стовпці. Символи для металу «:» або «-» позначають вертикальні або горизонтальні лінії металу відповідно. На рис. 1.в. дано символьне уявлення лейаута транзисторної матриці, а на рис. 1.г. - заключний лейаута.

Якщо логічна схема побудована на базі елементів, для яких немає транзисторних описів в бібліотеках, то виникає складна задача отримання необхідних уявлень схеми, особливо, коли є додаткові вимоги до параметрів - площі, швидкодії і т.д. Завдання переходу від логічного опису комбінаційної логіки в одному базисі до опису в іншому базисі нині вирішується за кількома напрямками.

1. Глобальна оптимізація. Спочатку здійснюється перехід до системи діз'юнктівних нормальних форм (ДНФ), яка зазвичай мінімізується, а потім представляється у вигляді багаторівневої логічної мережі, реалізованої необхідному базисі. Основна оптимізація ведеться при побудові багаторівневої мережі - зазвичай мережу базисі І, АБО, НЕ, а основним критерієм складності є критерій числа літералів (букв) у символічному (алгебраїчному) поданні бульових функцій. Методи оптимізації спираються або на функціональну декомпозицію, або на факторизацию (пошук загальних подвираженій) в алгебраїчних дужкових уявленнях функцій, реалізованих схемою. Заключний етап - реалізацію в необхідному базисі прийнято називати технологічним відображенням. Саме на цьому етапі можна оцінити максимальну затримку схеми - затримку вздовж критичного шляху. Передбачається, що у вузлах схеми встановлені базисні елементи.

2. Локальна оптимізація. Заміна одних базисних логічних операторів іншими здійснюється шляхом аналізу локальної області схеми. Пошук фрагментів і правила їх заміни іншими може здійснюватися за допомогою експертної системи. Так, наприклад, влаштована система LSS.

Детально огляд багатьох методів оптимізації багаторівневих логічних схем приведено в [0].

МАТРИЧНІ ПРОЦЕСОРИ

Матричні процесори найкращим чином орієнтовані на реалізацію алгоритмів обробки упорядкованих (мають регулярну структуру) масивів вхідних даних. Вони з'явилися в середині 70-х років у вигляді пристроїв з фіксованою програмою, які могли бути підключені до універсальних ЕОМ; але до теперішнього часу в їх програмування досягнутий високий ступінь гнучкості. Найчастіше матричні процесори використовуються в якості допоміжних процесорів, підключених до головної універсальної ЕОМ. У більшості матричних процесорів здійснюється обробка 32-х розрядних чисел з плаваючою комою зі швидкістю від 5000000 до 50000000 флопс. Як правило вони забезпечені швидкодіючими портами даних, що дає можливість для безпосереднього введення даних без втручання головного процесора. Діапазон варіантів побудови матричних процесорів лежить від одноплатних блоків, які вставляються в існуючі ЕОМ, до пристроїв, конструктивно оформлених у кількох стійкий, які по суті є конвеєрні суперЕОМ.

Типовими видами застосування матричних процесорів є обробка сейсмічної і акустичної інформації, розпізнавання мови; для цих видів обробки характерні такі операції, як швидке перетворення Фур'є, цифрова фільтрація і дії над матрицями. Для побудови щодо невеликих більш економічних у роботі матричних процесорів використовуються розрядно-модульні секції АЛУ в поєднанні з векторним процесором, заснованому на основі біполярного НВІС-процесора з плаваючою комою.

Ймовірно, в майбутньому матричні процесори викличуть матриці процесорів, службовці для збільшення продуктивності процесорів понад меж, встановлених шинної архітектурою.

Для реалізації обробки сигналів матриці МКМД можуть бути організовані у вигляді систолических або хвильових матриць.

Систолическая матриця складається з окремих процесорних вузлів, кожен з яких з'єднаний з сусідніми у вигляді упорядкованим грати. Велика частина процесорних елементів має однаковими наборами базових операцій, і завдання обробки сигналу розподіляється в матричному процесорі по конвеєрному принципу. Процесори працюють синхронно, використовуючи загальний ставить генератор тактових сигналів, що надходить на всі елементи.

У хвильової матриці відбувається розподіл функцій між процесорними елементами, як і систолической матриці, але в даному випадку не має місця загальна синхронізація від задає генератора. Управління кожним процесором організується локально відповідно до надходженням необхідних вхідних даних від відповідних сусідніх процесорів. Результуючий вектор обробна хвиля поширюється по матриці в міру того, як обробляються вхідні дані, і потім результати цієї обробки передаються іншим процесорам в матриці.

АВТОМАТИЗАЦІЯ ПРОЕКТУВАННЯ ЦИФРОВИХ НВІС НА БАЗІ матриць Вайнбергер І ТРАНЗИСТОРНИХ матриць

Вступ. Все більшу частку в загальному обсязі ІС складають замовні цифрові ІС, виконані в основному, по МОП-технології. Скорочення термінів проектування і підвищення надійності проектів вимагають застосування відповідних систем автоматичного проектування. Одним з найбільш перспективних напрямків в даний час вважається підхід до наскрізний автоматизації проектування, званої кремнієвої компіляцією, що дозволяє вихідне завдання на проектування - функціональне опис, представлене на мові програмування високого рівня, перетворити на топологічні креслення. Кремнієві компілятори використовують в якості базових регулярні матричні структури, добре пристосовані до технології СБІС.Большое поширення набули програмовані логічні матриці (ПЛМ) і їх різні модифікації. Вони орієнтовані на матричну реалізацію дворівневих (І, АБО) логічних структур, а також для оптимізації їх параметрів (площі, швидкодії) відомі різні методи.

Заключний етап - реалізацію в необхідному базисі прийнято називати технологічним відображенням. Саме на цьому етапі можна оцінити максимальну затримку схеми - затримку вздовж критичного шляху. Передбачається, що у вузлах схеми встановлені базисні елементи.

2.Локальна оптимізація. Заміна одних базисних логічних операторів іншими здійснюється шляхом аналізу локальної області схеми. Пошук фрагментів і правила їх заміни іншими може здійснюватися за допомогою експериментальної системи. Так, наприклад, влаштована система LSS.

Оптимізація МВ на логічному рівні представляє простішу задачу. На цьому етапі зазвичай мінімізіруетсячісло операторів f = k1 V ... V kl - по суті число стовпців МВ. Мінімізація числа рядків відбувається на етапі топологічного проектування.

Детально огляд багатьох методів оптимізації багаторівневих логічних схем приведено в [4]. Укладаючи цей розділ, можна сказати, що актуальною проблемою є проблема розробки методів оптимізації багаторівневих структур з урахуванням наступної базової топологічної реалізації. Проблема ускладнюється тим, що потрібно виробити ще відповідні критерії оптимізації. Якщо для ПЛМ критерій мінімальності числа термів адекватний складності наступної топологічної реалізації, то для МВ і, особливо для ТМ, типовою дилемою при мінімізації площі є наступна - провести додаткову зв'язок, або встановити додатковий елемент. Може виявитися так, що сильна зв'язність схеми може бути неприйнятною через великих витрат площі кристала під з'єднання елементів.

Висновок. В огляді представлені основні підходи до проектування структур замовних цифрових НВІС на базі основних моделей матриць Вайнбергера і транзисторних матриць.

Модифікація основної моделі МВ, коли знімаються вимоги підключення кожного шпальти до лінії «землі»; реалізація кожної змінної тільки в одній стоці матриці; неможливості дублювання ліній «землі» і навантаження; призводить до нових формальним постановок задач оптимізації параметрів МВ, хоча і для основної моделі не всі проблеми вирішені - відкрита, наприклад, проблема синтезу МВ із заданою швидкодією.

Таким чином, найважливішими проблемами, які розв'язуються в даний час для МВ і ТМ, є проблеми розробки формальних методів синтезу, які дозволяли б гнучко оптимізувати такі характеристики, як площа, швидкодія, габарити, електричні параметри схем. Дані проблеми в даний час є актуальними не тільки для МВ і ТМ - подібні проблеми знаходяться в центрі уваги розробників САПР замовних цифрових НВІС і стосовно до інших базових структур.

матричні процесори

Матричні процесори найкращим чином орієнтовані на реалізацію алгоритмів обробки упорядкованих (мають регулярну структуру) масивів вхідних даних. Вони з'явилися в середині 70-их років у вигляді пристроїв з фіксованою програмою, які могли бути підключені до універсальних ЕОМ; але до теперішнього часу в їх програмуванні досягнутий високий ступінь гнучкості. Найчастіше матричні процесори використовуються в якості допоміжних процесорів, що підключаються до головної універсальної ЕОМ. У більшості матричних процесорів здійснюється обробка 32 розрядних циклів з плаваючою комою зі швидкістю від 5000000 до 50000000 флопс. Як правило, вони забезпечені швидкодіючими портами даних, що дає можливість для безпосереднього введення даних без втручання головного процесора. Діапазон варіантів побудови матричних процесорів лежить від одноплатних блоків, які вставляються в існуючі ЕОМ до пристроїв, конструктивно оформлених у кількох стійкий, які по суті є конвеєрні суперЕОМ.

Типовими видами застосування матричних процесорів є обробка сейсмічної і акустичної інформації, розпізнавання мови; для цих видів обробки характерні такі операції, як швидке перетворення Фур'є, цифрова фільтрація і дії над матрицями. Для побудови щодо невеликих більш економічних у роботі матричних процесорів використовуються розрядно-модульні секції АПУ в поєднанні з векторним процесором, реалізованим на основі біполярного НВІС-процесора з плаваючою комою.

Ймовірно, в майбутньому матричні процесори викличуть матриці процесорів, службовці для збільшення продуктивності процесорів понад меж, встановлених шинної архітектурою.

Головним архітектурним відмінностями між традиційними ЕОМ, призначеними для обробки наукової і комерційної інформації, є те, що останні (міні-, суперміні-, універсальні і мега-універсальні ЕОМ) мають головним чином скалярну архітектуру, а машини для наукових розрахунків (супер-, мінісупер -ЕВМ і матричні процесори) - векторну. Скалярная ЕОМ (рис. 1.) має традиційну фон-неймановскую, тобто SISD-організацію, для якої характерна наявність однієї шини даних, і послідовне виконання обробки одиночних елементів даних. Векторна машина (рис. 2.) має у своєму складі роздільні векторні процесори чи конвеєри, і жодна команда виконується в ній над кількома елементами даних (векторами)

Векторні архітектури - це в основному архітектури типу SISD, але деякі з них можуть ставитися до класу MIMD. Векторна обробка збільшує продуктивність процесорних елементів, але не вимагає наявності повного паралелізму під час обробки завдання.

Для реалізації обробки сигналів матриці МЛМД можуть бути реалізовані у вигляді систолических або хвильових матриць.

Систолическая матриця складається з окремих процесорних вузлів, кожен з яких з'єднаний із сусіднім у вигляді упорядкованим грати. Велика частина процесорних елементів має однаковими наборами базових операцій, і завдання обробки сигналу розподіляється в матричному процесорі по конвеєрному принципу. Процесори працюють синхронно, використовуючи загальний ставить генератор тактових сигналів, що надходить на всі елементи.

У хвильової матриці відбувається розподіл функцій між процесорними елементами, як і систолической матриці, але в даному випадку не має місця загальна синхронізація від задає генератора. Управління кожним процесором організується локально відповідно до надходженням необхідних вхідних даних від відповідних сусідніх процесорів. Результуючий вектор обробна хвиля поширюється по матриці в міру того, як обробляються вхідні дані, і потім результати цієї обробки передаються іншим процесорам в матриці.

МКМД (множинний потік команд, множинний потік даних.) Множинний потік команд припускає наявність декількох процесорних вузлів і, отже, кількох потоків даних. Прикладами такої архітектури є мультипроцесорні матриці.

Транспьютер Inmos Т414 призначений для побудови МКМД структур; для обміну інформацією з сусідніми процесорами в ньому передбачені чотири швидкодіючі послідовних каналу зв'язку. Є вбудована пам'ять великої ємності, яка може бути підключена до інтерфейсу шини пам'яті. Розрядність місцевої пам'яті кожного транспьютера нарощує розрядність пам'яті системи; таким чином, повна розрядність пам'яті пропорційна кількості транспьютеров в системі. Сумарна продуктивність також зростає прямо пропорційно числу що входять в систему транспьютеров.

На додаток до паралельної обробці, реалізованої транспьютерами, передбачені спеціальні команди для поділу процесорного часу між одночасними процесорами та обміну інформацією між процесорами. Хоча програмування транспьютеров може виконуватися на звичайних мовах високого рівня, для підвищення ефективності паралельної обробки була розроблена спеціальна мова Okkam.

Транзисторні матриці (ТМ) є однією з популярних структур для проектування топології макроелементів замовлених цифрових НВІС, виконуваних по КМОП-технології, ТМ мають регулярну матричну топологію, отримання якої може бути автоматизовано, що привертає до них розробників кремнієвих компіляторів. Відомі методи проектування ТМ орієнтовані на мінімізацію площі кристала, займану інформаційними транзисторами, і залишає осторонь питання про мінімізацію площі, необхідної для розведення шин «землі» (Gnd) і «харчування» (Vdd). У даній статті пропонується метод мінімізації числа шин Gnd і Vdd в ТМ, після того, як її площа була мінімізована за допомогою методів [4,5].

1. Структура ТМ.

У лейаута (англ. Layout - детальне геометричне опис всіх прошарків кристала) транзисторних матриць все p-транзистори розташовуються у верхній половині матриці, а всі n-транзистори - у нижній. Транзисторні матриці мають регулярну структуру, яку складають взаимопересекающиеся стовпчики і рядки. У шпальтах матриці рівномірно розташовані смуги полікремнію, що утворюють взаємопов'язані затвори транзисторів. В інших полюсах транзистори з'єднуються один з одним сегментами металевих ліній, які розміщуються в рядках матриці. Іноді, для того щоб з'єднати стік і джерело транзисторів, що в різних рядках, вводять короткі вертикальні дифузійні зв'язку. Надалі ТМ буде представлятися абстрактним лейаута.

Абстрактний лейаута - схематичний малюнок майбутнього кристала, де прямокутники позначають транзистори, вертикальні лінії - полікремнієві стовпці, горизонтальні - лінії металу, штрихові - дифузійні зв'язку, точки - місця контактів, стрілки - місця підключення транзисторів до ліній Gnd і Vdd. При переході до пошаровим топології стрілки повинні бути замінені смужками в дифузійному шарі, за яким здійснюються з'єднання між рядками ТМ. Очевидно, що підведенню вертикальних зв'язків до ліній Gnd, Vdd можуть препятствоватьтранзістори, розташовані в інших рядках транзисторної матриці, або розташовані в тих же шпальтах дифузійні зв'язку між рядками (горизонтальні лінії металу не є перешкодою). В наслідок цього доводиться розміщувати кілька ліній Gnd в n-частини ТМ і кілька ліній Vdd в p-частини ТМ. Виникає запитання мінімізації числа цих ліній. Будемо розглядати її тільки для n-частини ТМ, завдання мінімізації числа ліній Vdd для p-частини ТМ вирішується аналогічним чином.

Приклад абстрактного лейаута для КМОП-схеми (рис. 1.а.) показаний на рис. 1.б.

2. Формалізація завдання.

Нехай транзисторная матриця розміром n на m задана абстрактним лейаута. Уявімо останній трійчастий матрицею S розміром n на 2m, поставимо її рядки у відповідність рядках ТМ, а пари сусідніх шпальт - столбцам ТМ. Таким чином, кожен елемент матриці S представляє деяку позицію лейаута і отримує значення 1, якщо там стоїть стрілка, значення 0 - якщо там не показаний ні транзистор, ні дифузійна зв'язок, і значення * - в інших випадках. Легко бачити, що значення * свідчить про неможливість проведення через дану точку дифузійної зв'язку від стоку деякого транзистора до лінії Gnd.

Наприклад, для абстрактного лейаута ТМ (рис. 1.б.) матриця S має вигляд:

1 2 3 4 5 6 7 8 9 10 11 12 13 14

S1 * 1 0 0 * * * * 0 0 0 0 * *

S2 1 * 1 * * * 0 0 1 * 0 0 0 *

S = S3 1 * * 1 0 0 0 0 0 0 0 0 * 1

S4 0 0 0 0 1 * 0 0 0 0 0 0 * *

S5 1 * * * 0 0 * 1 0 0 0 0 0 *