Покращення FPGA-компонентів критичних систем на основі природної версійної надмірності
Main Article Content
Анотація
Статтю присвячено проблемі вдосконалення FPGA-компонентів, що розробляються для систем критичного застосування. FPGA-компоненти поліпшуються в контролепридатності їх схем і достовірності обчислюваних на них результатів для підтримки відмовостійких рішень, які є базовими в забезпеченні функціональної безпеки критичних систем. Відмовостійкі рішення потребують захисту від джерел кратних відмов, до яких відносяться приховані несправності. Вони можуть накопичуватися в значній кількості на протязі тривалого нормального режиму і порушувати функціональність відмовостійких схем з початком найбільш відповідального аварійного режиму. Захист від прихованих несправностей забезпечується контролепридатністю схем, яка націлена на прояв несправностей і тому повинна підтримуватися в комплексі з достовірністю результатів, беручи до уваги зниження достовірності при прояві несправностей. Завдання підвищення контролепридатності FPGA-компонента в нормальному режимі і достовірності результатів, що обчислюються в аварійному режимі, вирішується шляхом використання природної версійної надмірності, властивої LUT-орієнтованій архітектурі. Ця надмірність проявляється в існуванні множини версій програмного коду, що зберігають функціональність FPGA-компонента при одній і тій же його апаратної реалізації. Контролепридатність FPGA-компонента і достовірність обчислюваних результатів розглядаються з урахуванням характерних несправностей LUT-орієнтованої архітектури. Ці несправності досліджені з позиції несуперечності їх прояву і маскування відповідно в нормальному і аварійному режимі на версіях програмного коду. Несправності ототожнюються зі спотворенням бітів в пам'яті LUT вузлів. Біти, що спостерігаються тільки в аварійному режимі, є потенційно небезпечними, оскільки можуть приховувати несправності в нормальному режимі. Переміщення потенційно небезпечних бітів на контролепридатні позиції, які спостерігаються в нормальному режимі, виконується шляхом вибору відповідних версій програмного коду і організації роботи FPGA-компонента на декількох версіях. Експерименти, що проведені з FPGA-компонентом на прикладі матричного помножувача двійкових кодів, показали ефективність використання природної версійнної надмірності LUT-орієнтованої архітектури для вирішення проблеми прихованих несправностей.