Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 4

Liczba wyników na stronie
first rewind previous Strona / 1 next fast forward last
Wyniki wyszukiwania
Wyszukiwano:
w słowach kluczowych:  synteza wysokiego poziomu
help Sortuj według:

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
PL
Układy FPGA mogą osiągnąć znacznie większą wydajność obliczeniową niż rozwiązanie programowe, wykorzystując większy poziom równoległości, w szczególności dla algorytmów drobnoziarnistych (fine grain). Osiągane jest to przez rekonfigurowalną wewnętrzną sieć połączeń układu FPGA oraz dużą liczbę specjalizowanych bloków sprzętowych. Tworzenie równoległych programów realizowanych w FPGA wprost w języku HDL jest trudne i czasochłonne. Rozwój technologii FPGA w ostatnich dziesięcioleciach i obserwowany stały wzrost wymagań dla ich zastosowań stały się przyczynkiem do rozwoju narzędzi opisu funkcjonalnego z wykorzystaniem wyższych poziomów abstrakcji. Korzystanie z wyższego poziomu abstrakcji opisu oraz kompilatora wysokiego poziomu mogą ten czas znacznie zmniejszyć. Typowe kompilatory tego rodzaju interpretują algorytmiczny opis funkcjonalny w języku wysokiego poziomu (HLL) i tłumaczą go na język opisu sprzętu (HDL). W artykule przedstawiono alternatywne, autorskie rozwiązanie kompilatora syntezy wysokiego poziomu (HLS) zrealizowane w języku Python. Kompilator, na podstawie funkcjonalnego opisu wysokiego poziomu w języku Pyton, generuje konfigurację, umożliwiającą utworzenie w trakcie procesu syntezy zadanej struktury w układzie FPGA. W artykule opisano metody projektowania, narzędzia oraz implementację opracowanego kompilatora Python-VHDL wraz z przykładami jego użycia.
EN
FPGAs can achieve significantly greater computational efficiency than a software solution using a higher level of parallelism, especially for fine grain algorithms. This is achieved through a reconfigurable internal network of FPGA connections and a large number of specialized hardware blocks. The creation process of parallel programs implemented in FPGA in pure HDL language is difficult and time-consuming. The development of FPGA technology in recent decades and the observed constant increase in requirements for their applications have become a contribution to the development of functional description tools using higher levels of abstraction. Using a higher level of description abstraction and high level compiler this time can be significantly reduced. Typical compilers of this kind interpret the algorithmic functional description in a high-level language (HLL) and translate it into the language of hardware description (HDL). The article presents an alternative, proprietary solution of a high-level synthesis compiler (HLS) implemented in Python. The compiler, based on Python's high-level functional description, generates a configuration that allows the creation of a given structure in the FPGA system during the synthesis process. The article describes the design methods, tools and implementation of the developed Python-VHDL compiler with examples of its use.
PL
W artykule omówiono autorski kompilator syntezy wysokiego poziomu. Rozwój technologii FPGA i rosnąca złożoność zastosowań w ostatnich dziesięcioleciach zmusiły twórców kompilatorów do przejścia na wyższy poziom abstrakcji. Kompilatory interpretują algorytmiczny opis żądanego zachowania zapisanego w języku wysokiego poziomu (HLL) i tłumaczą go na język opisu sprzętu (HDL). W artykule przedstawiono kompilator syntezy wysokiego poziomu (HLS) oparty na języku Python. Kompilator pobiera parametry konfiguracji i mapuje program Python do kodu VHDL umożliwiającego konfigurację układu FPGA po procesie syntezy. Układy FPGA mogą osiągnąć znacznie większą wydajność niż rozwiązanie programowe wykorzystując większy poziom równoległości, w szczególności dla algorytmów drobnoziarnistych (ang. fine grain). Osiągane jest to poprzez rekonfigurowalną wewnętrzną sieć połączeń FPGA oraz dostępne bloki sprzętowe. Tworzenie równoległych programów realizowanych w FPGA wprost w języku HDL jest trudne i czasochłonne. Korzystanie z wyższego poziomu abstrakcji opisu oraz kompilatora wysokiego poziomu mogą czas ten znacząco zmniejszyć. W artykule opisano metody projektowania, narzędzia oraz implementację opracowanego kompilatora Python-VHDL .
EN
This paper presents High-Level Synthesis compiler. The development of FPGA technology and the increasing complexity of applications in recent decades have forced compilers to move to higher abstraction levels. Compilers interprets an algorithmic description of a desired behavior written in High-Level Languages (HLLs) and translate it to Hardware Description Languages (HDLs). This paper presents a Python based High-Level synthesis (HLS) compiler. The compiler get the configuration parameters and map RPython program to VHDL code. Then, VHDL code can be used to program FPGA chips. FPGAs have the potential to achieve far greater performance than software exploiting a greater level of parallelism especially for fine grain algorithms. This can be achieved by reconfigurable internal FPGA connections and hardware primitives. Creating parallel programs implemented in FPGAs in pure HDL is difficult and time consuming. Using higher level of abstraction and High-Level Synthesis compiler implementation time can be reduced. This article describes design methodologies and tools, implementation of created VHDL backend for Python compiler.
EN
Field-programmable gate arrays (FPGA) technology can offer significantly higher performance at much lower power consumption than is available from single and multicore CPUs and GPUs (graphics processing unit) in many computational problems. Unfortunately, the pure programming for FPGA using hardware description languages (HDL), like VHDL or Verilog, is a difficult and not-trivial task and is not intuitive for C/C++/Java programmers. To bring the gap between programming effectiveness and difficulty, the high level synthesis (HLS) approach is promoted by main FPGA vendors. Nowadays, time-intensive calculations are mainly performed on GPU/CPU architectures, but can also be successfully performed using HLS approach. In the paper we implement a bandwidth selection algorithm for kernel density estimation (KDE) using HLS and show techniques which were used to optimize the final FPGA implementation. We are also going to show that FPGA speedups, comparing to highly optimized CPU and GPU implementations, are quite substantial. Moreover, power consumption for FPGA devices is usually much less than typical power consumption of the present CPUs and GPUs.
PL
Artykuł przedstawia opracowany całościowy proces syntezy wielokontekstrowego sprzętowego układu sterowania implementowanego w strukturach FPGA. Dedykowana struktura sprzętowa pozwala na zdecydowane zredukowanie czasu przetwarzania w porównaniu z rozwiązaniami programowymi. Program podlegający syntezie jest opisany językiem SFC zgodnie z normą IEC61131-3. W procesie syntezy wykorzystano oryginalną grafową metodę reprezentacji postaci pośredniej programu sterowania. Metoda konstruowania postaci pośredniej zachowuje własności przetwarzania, ujawniając zadania równoległe. Opracowano również metodę odwzorowania technologicznego dla tablicowych układów FPGA. W celu porównania przedstawiono rezultaty implementacji opracowanej metody oraz bezpośredniego odwzorowania postaci grafowej.
EN
The paper presents the synthesis and implementation algorithms of multiple context logic controller implemented in a FPGA. A massively parallel hardware execution of control algorithms is utilized that significantly reduces the throughput time. The input program is written in the SFC according to the IEC61131-3 standard. An originally developed intermediate representation based on data flow graph has been used for processing. The graph building algorithm maintains sequential dependencies and reveals parallel tasks in program. Developed method of scheduling and mapping is dedicated for LUT based FPGA devices. The paper is concluded with exemplary implementation comparison of greedy direct mapping and developed FPGA architecture optimized method.
first rewind previous Strona / 1 next fast forward last
JavaScript jest wyłączony w Twojej przeglądarce internetowej. Włącz go, a następnie odśwież stronę, aby móc w pełni z niej korzystać.