14 research outputs found
Automata - a theory dedicated towards formal circuit synthesis
This is a technical report about a theory named Automata. Automata is an
arithmetic for synchronous circuits. It provides means for representing
and transforming circuit descriptions at the RT level and gate level in a
mathemtical manner. Automata has been implemented in the HOL theorem
proving environment. Preproven theorems are designed for performing
standard synthesis steps such as state encoding, retiming and state
minimization in a mathematical manner via logical derivation
Modelling Statecharts and Activitycharts as Signal equations
International audienceThe languages for modeling reactive systems are of different styles, like the imperative, state-based ones and the declarative, data-flow ones. They are adapted to different application domains. This paper, through the example of the languages Statecharts and Signal, shows a way to give a model of an imperative specification (Statecharts) in a declarative, equational one (Signal). This model constitutes a formal model of the Statemate semantics of Statecharts, upon which formal analysis techniques can be applied. Being a transformation from an imperative to a declarative structure, it involves the definition of generic models for the explicit management of state (in the case of control as well as of data). In order to obtain a structural construction of the model, a hierarchical and modular organization is proposed, including proper management and propagation of control along the hierarchy. The results presented here cover the essential features of Statecharts as well as of another language of Statemate: Activitycharts. As a translation, it makes multiformalism specification possible, and provides support for the integrated operation of the languages. The motivation lies also in the perspective of gaining access to the various formal analysis and implementation tools of the synchronous technology, using the DC exchange format, as in the Sacres programming environment
Compilation de systèmes temps réel
I introduce and advocate for the concept of Real-Time Systems Compilation. By analogy with classical compilation, real-time systems compilation consists in the fully automatic construction of running, correct-by-construction implementations from functional and non-functional specifications of embedded control systems. Like in a classical compiler, the whole process must be fast (thus enabling a trial-and-error design style) and produce reasonably efficient code. This requires the use of fast heuristics, and the use of fine-grain platform and application models. Unlike a classical compiler, a real-time systems compiler must take into account non-functional properties of a system and ensure the respect of non-functional requirements (in addition to functional correctness). I also present Lopht, a real-time systems compiler for statically-scheduled real-time systems we built by combining techniques and concepts from real-time scheduling, compilation, and synchronous languages
Synchronous programming with events and relations: the SIGNAL language and its semantics
AbstractIn this paper, systems which interact permanently with their environment are considered. Such systems are encountered, for instance, in real-time control or signal processing systems, C3-systems, man-machine interfaces, to mention just a few. The design and implementation of such systems require a concurrent programming language which can be used to verify and synthesize the synchronization mechanisms, and to perform transformations of the concurrent source code to match a particular target architecture. Synchronous languages are convenient tools for such a purpose: they rely on the assumption that: (1) internal actions of synchronous systems are instantaneous, and (2) communication with the environment is performed via instantaneous flashes involving some external stimuli. In this paper, we present a synchronous programming language: SIGNAL. A SIGNAL program specifies dynamical relations between (internal and external) signal flows. The SIGNAL compiler checks deadlock and determinism of the program, and produces an intermediate level code equivalent to a nested family of concurrent automata. The compilation algorithm is supported by: (1) a behavioural semantics of SIGNAL programs in terms of conditional rewriting rules, (2) the coding of this semantics into the skew product of a dynamical system over the field of integers modulo 3 and directed graphs, (3) an algebraic algorithm to transform the above coding into an equivalent executable one, which provides by the way an execution semantics of the language. We briefly discuss the implementation aspects, and explain the capabilities and limitations of the current version of the SIGNAL compiler
Synchronous Digital Circuits as Functional Programs
Functional programming techniques have been used to describe synchronous digital circuits since the early 1980s and have proven successful at describing certain types of designs. Here we survey the systems and formal underpinnings that constitute this tradition. We situate these techniques with respect to other formal methods for hardware design and discuss the work yet to be done
Методи і засоби проєктування спеціалізованих конвеєрних обчислювачів на базі ПЛІС для обробки сигналів
Дисертація на здобуття наукового ступеня доктора філософії за спеціальністю 123 — Комп’ютерна інженерія. — Національний технічний університет України «Київський політехнічний інститут імені Ігоря Сікорського», Київ, 2023.
Тема дисертації пов’язана з автоматизацією проєктування обчислювальних засобів на базі інтегральних схем надвисокої інтеграції (НВІС) та програмовних логічних інтегральних схем. В даний час складність проєктів обчислювальних систем для НВІС та програмовних логічних інтегральних схем досягла десятків мільйонів вентилів. Причому досі вирішальну роль грає технологія, яка основана на описі проєктів на рівні регістрових передач, продуктивність якої є обмеженою. Розвивається галузь високорівневого синтезу, який ґрунтується на трансляції опису алгоритму в опис на рівні регістрових передач і на порядок прискорює проєктування. Але в наявних засобах такого синтезу необхідно вручну задавати паралелізм алгоритму та особливості відображення в опис обчислювальної системи на рівні регістрових передач, яка часто одержує надмірні апаратні витрати чи продуктивність, що не відповідає заданій.
Невідповідність ефективності наявних засобів високорівневого синтезу складності та продуктивності обчислювальних систем, що проєктуються, представляє актуальну технічну проблему. Обчислювальні системи для цифрової обробки сигналів є такими системами, які вимагають для своєї реалізації проєктування НВІС та програмовних логічних інтегральних схем найбільшої складності і для них ця проблема стає актуальнішою.
Об’єктом дослідження є процес розроблення високопродуктивних паралельних обчислювальних засобів. Предметом дослідження є методи та засоби проєктування спеціалізованих обчислювальних систем конвеєрного типу для цифрової обробки сигналів на базі програмовних логічних інтегральних схем (ПЛІС).
Метою дисертації є підвищення ефективності проєктування конвеєрних обчислювальних систем на основі програмовних логічних інтегральних схем на базі запропонованого методу проєктування спеціалізованих конвеєрних структур на основі генетичного програмування, який дає змогу прискорити проєктування конвеєрних обчислювальних систем і підвищити відношення продуктивність — апаратні витрати завдяки формалізації проєктування і новим алгоритмам пошуку апаратних рішень із мінімізованими апаратними витратами при заданому періоді обчислень.
Для досягнення мети в дисертації виконуються завдання: проаналізувати алгоритми і пристрої цифрової обробки сигналів і сформулювати вимоги до елементної бази й засобів проєктування обчислювальних систем для цифрової обробки сигналів, проаналізувати алгоритмічні моделі та мови опису алгоритмів цифрової обробки сигналів, методи і засоби їхнього відображення в паралельні обчислювальні системи, вибрати найбільш придатні модель та метод відображення, теоретично обґрунтувати та розробити новий метод відображення алгоритму цифрової обробки сигналів у апаратні засоби, які конфігуруються в програмовну логічну інтегральну схему, на основі запропонованого методу розробити засоби автоматизації відображення алгоритмів цифрової обробки сигналів в обчислювальні системи на основі програмовних логічних інтегральних схем, перевірити ефективність розробленого методу під час проєктування низки спеціалізованих обчислювальних систем для вирішення завдань цифрової обробки сигналів.
Під час аналізу алгоритмічних моделей вибрана модель просторового графа синхронних потоків даних (ГСПД) та його відображення у структуру обчислювальної системи і розклад виконання алгоритму як найбільш придатні модель та метод відображення. Просторовий граф синхронних потоків даних представляє собою граф, операторні вершини якого розміщується у просторі з координатами місця, такту виконання і типу оператора таким чином, щоби шуканий розклад виконання алгоритму був коректним. Відображення просторового графа синхронних потоків даних є афінним відображенням у підпростір структур обчислювальних систем та підпростір розкладів.
Наукова новизна роботи. Вперше запропоновано метод проєктування спеціалізованих конвеєрних структур на основі генетичного програмування, який відрізняється тим, що алгоритм цифрової обробки сигналів, який відображається в структуру, задається просторовим ГСПД, задача мінімізації апаратних витрат вирішується із заданими часовими обмеженнями за допомогою еволюційного підходу, який ґрунтується на поданні хромосоми як закодованого ГСПД та відповідних функціях її зміни, а також двохетапному алгоритмі оптимізації. Запропонований метод дає змогу формалізовано вирішувати задачу синтезу обчислювальних систем для цифрової обробки сигналів і завдяки регулюванню ступеня розпаралелювання алгоритму та мінімізації апаратних витрат одержані структури мають високе співвідношення продуктивність — вартість.
Вперше запропоновано спосіб проєктування рекурсивних фільтрів на ПЛІС, який відрізняється тим, що завдяки застосуванню методу відображення просторового ГСПД, використання схем без блоків множення, а також пошуку коефіцієнтів фільтра методом модельованого відпалювання та застосування мови VHDL (VHSICVHSIC (vveryery highhigh speedspeed integratedintegrated circuitscircuits) hhardwareardware ddescriptionescription llanguageanguage), забезпечується одержання фільтрів з мінімізованими апаратними витратами та високою тактовою частотою.
Практична цінність результатів дисертаційної роботи полягає в тому, що використання нового методу проєктування обчислювальних систем забезпечує зниження трудомісткості і скорочення термінів одержання множини альтернативних оптимізованих структурних рішень, мінімізація використання обчислювальних ресурсів, зокрема пам’яті обчислювальних систем, розроблення високоефективних конвеєрних обчислювальних систем обробки сигналів із мінімізованими апаратними витратами за заданих пропускної спроможності й порядку подання даних у вхідному та вихідному потоках даних.
Розроблено програмний застосунок SDFCAD (synchronoussynchronous datadata flowflow computercomputer-aidedaided designdesign), у якому впроваджений запропонований метод. Цей застосунок дає змогу проєктувальнику описувати за допомогою графа синхронних потоків даних алгоритм цифрової обробки сигналів, моделювати алгоритм з різними степенями паралелізму, забезпечує автоматизований синтез обчислювальної системи із заданими властивостями, яка придатна для подальшої компіляції та конфігурування в програмовну логічну інтегральну схему довільної серії, а також впровадження в замовлену НВІС.
Розроблені з використанням нового методу проєкти обчислювальних систем, такі як процесор дискретного косинусного перетворення, процесор для швидкого перетворення Фур’є, рекурсивні фільтри, модулі обчислення синусоїдальних функцій у програмовних логічних інтегральних схемах, є налаштовуваними обчислювальними модулями, які описані на VHDL, мають високе відношення продуктивність — апаратні витрати та можуть бути впроваджені в нових розробках із мінімальними додатковими часовими і фінансовими витратами. Запропонований спосіб проєктування рекурсивних цифрових фільтрів впроваджено у вебзастосунку, який може бути вільно використаний у практиці проєктування пристроїв цифрової обробки сигналів.
Результати роботи впроваджені у двох НДР, що проводяться в Національному технічному університеті України «Київський політехнічний інститут імені Ігоря Сікорського» на кафедрі обчислювальної техніки, які присвячені проєктуванню високопродуктивних апаратних і програмних засобів.
Матеріали дисертації є корисними для викладачів і спеціалістів у галузях проєктування апаратних засобів обчислювальної техніки, систем телекомунікацій, зв’язку, вимірювання, радіолокації, штучного інтелекту, засобів мікроелектроніки
Modelos, métodos e ferramentas para implementação de unidades de controlo virtuais
Mestrado em Engenharia Electrónica e TelecomunicaçõesAs unidades de controlo são um dos tipos de circuitos digitais mais
importantes, estando presentes numa grande diversidade de aplicações,
desde simples controladores de semáforos até sistemas complexos de
processamento de dados. A sua função é estabelecer a sequência de
operações realizadas pelo sistema a que pertencem. Dependendo da
aplicação, podem ser utilizadas isoladamente ou em conjunto com
outros componentes, tais como unidades de execução, sensores e
actuadores. Como um caso particular de circuitos sequenciais, são
normalmente descritas por modelos orientados ao estado, dos quais a
máquina de estados finitos é o exemplo mais conhecido. No entanto,
com a crescente complexidade dos sistemas e consequentemente das
suas unidades de controlo, este modelo deixou de ser adequado para
realizar a sua especificação, uma vez que não suporta a descrição
explícita de hierarquia e concorrência. Nesta dissertação são abordados
alguns dos modelos e linguagens mais apropriadas para este fim, em
particular a máquina de estados finitos hierárquica e/ou paralela, os
esquemas de grafos hierárquicos e/ou paralelos e os Statecharts. O
aparecimento na última década de dispositivos lógicos de elevada
capacidade e programáveis pelo utilizador foi responsável por
importantes alterações no projecto de sistemas digitais, principalmente
ao nível do tempo, custo e flexibilidade de projecto. Além disso, os
dispositivos programáveis dinamicamente, deram origem a uma nova
classe de circuitos: os sistemas reconfiguráveis. Estes podem ser usados
para construir sistemas computacionais modificáveis, pelo que
permitem combinar as vantagens de uma solução programável com o
elevado desempenho de uma implementação em hardware. Os sistemas
reconfiguráveis podem também ser utilizados em aplicações onde a
quantidade de recursos de hardware necessários para uma
implementação integral seja elevada e onde nem todos os sub-sistemas
sejam necessários em simultâneo, sendo portanto possível e até
desejável uma implementação parcial em conjunto com a sua
reconfiguração dinâmica. Neste caso, devido à analogia com os sistemas
de memória virtual, os sistemas reconfiguráveis são também designados
por sistemas de hardware virtual e os respectivos circuitos de controlo
por unidades de controlo virtuais. Como as unidades de controlo são
específicas de cada projecto e normalmente bastante irregulares,
torna-se necessário o estabelecimento de algumas restrições de forma a
simplificar o seu projecto e reconfiguração. Nesta dissertação é
proposta uma arquitectura de unidades de controlo virtuais baseada
numa estrutura predefinida, parametrizável e optimizada para o
dispositivo de implementação utilizado, a FPGA XC6200 da Xilinx.
Esta arquitectura em conjunto com os modelos e os dispositivos
lógicos programáveis utilizados permite construir unidades de controlo
complexas, flexíveis, extensíveis e reutilizáveis. O processo de síntese de
unidades de controlo é também abordado, com uma atenção especial
para as técnicas mais apropriadas para as FPGAs. Finalmente, para
suportar a reconfiguração dinâmica dos circuitos desenvolvidos, foi
construída uma biblioteca de classes em C++ e um controlador (device
driver) para a placa de desenvolvimento utilizada neste trabalho.Control units are one of the most important types of digital circuits.
They are used in a great variety of applications, from simple traffic light
controllers to complex data processing systems. Their function is to
establish the sequence of operations accomplished by the system they
belong to. Depending on the application, they can be used separately or
together with other components, such as execution units, sensors or
actuators. Because control units are a particular kind of sequential
circuits, they are usually described by state-oriented models, the finite
state machine being the best known example. However, with the
increasing complexity of the systems and consequently of its control
units, this model is becoming less adapted to perform its specification,
because it does not support the explicit description of hierarchy and
concurrency. This dissertation presents some of the models and
languages better suited to this purpose, in particular the hierarchical
and/or parallel finite state machine, the hierarchical and/or parallel
graph schemes and the Statecharts formalisms.
The appearance in the last decade of high capacity user programmable
logic devices was responsible for important modifications in the way
digital systems are designed, mainly in terms of time, cost and design
flexibility. Besides, the availability of dynamically reconfigurable devices
made possible the emergence of a new class of circuits: the
reconfigurable systems. They can be used to build modifiable
computational systems combining the advantages of a programmable
solution with the high performance of a hardware implementation. The
reconfigurable systems can also be used in applications where the
amount of required hardware resources for an integral implementation
is too high or at least bigger than desirable and where all the subsystems
are not necessary simultaneously, making possible a partial
implementation in conjunction with its dynamic reconfiguration. Due
to the analogy with virtual memory systems, these systems can also be
called virtual hardware systems and their respective control circuits
virtual control units. Because the control units are specific for each
project and usually very irregular, it is necessary to impose some
constraints in order to simplify their design and reconfiguration. In this
dissertation an architecture for virtual control units based on a
predefined, parameterizable and optimized template for a particular
target device, the FPGA XC6200 from Xilinx, is proposed. However,
the main ideas of this architecture can also be easily applied to other
FPGA families. The use of this architecture together with the
hierarchical and/or parallel models and the dynamically reconfigurable
logic devices allows building complex, flexible, extensible and reusable
control units. This contributes to a decrease in development time and
permits system updates after the completion of the design and
manufacturing cycles. The control unit synthesis process is also
presented with special emphasis on the techniques better suited to
FPGA implementation. Finally, to support the dynamic reconfiguration
of the developed circuits, a C++ class library and a device driver for the
development system used in this work were built
Elastic Esterel
The aim of this master's thesis is to elasticize Esterel.
Esterel is an imperative hardware description language (HDL) used to
describe reactive systems, and oriented to specify control systems. It
belongs to the family of synchronous languages, and it allows to describe
causality, concurrency and interruptions.
Elastic circuits preserve a protocol that makes it possible for the circuit
to be latency-insensitive. Besides, elastic circuits are easy to implement
and can be synthesized automatically.
The goal of the thesis is to provide an automatic synthesis method of
elastic circuits from Esterel specifications. At the semantic level, it is
proven that the generated elastic circuits are functionally equivalent to
the conventional circuits generated using Esterel V7 compiler
Parameterized Modeling and Scheduling of Dataflow Graphs
There is no abstract available.
(Also cross-referenced as UMIACS-TR-99-73