Preferencje help
Widoczny [Schowaj] Abstrakt
Liczba wyników

Znaleziono wyników: 8

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

help Ogranicz wyniki do:
first rewind previous Strona / 1 next fast forward last
PL
W niniejszym artykule przedstawiono koncepcję implementacji w strukturze programowalnej FPGA procesora z dynamicznie kształtowaną listą rozkazów. Układy programowalne FPGA swoją konfigurację mają zapisywaną w trakcie programowania w wewnętrznej pamięci statycznej RAM i dlatego można wielokrotnie zmieniać tę konfigurację. Pozwala to na dynamiczne kształtowanie konfiguracji tego układu. W szczególności możemy w takim układzie zaimplementować procesor ogólnego przeznaczenia, przy czym lista rozkazów takiego procesora może być każdorazowo kształtowana przez użytkownika. Opracowano środowisko do automatycznego projektowania takich procesorów z wykorzystaniem języka opisu sprzętu VHDL. W artykule podano także przykładową implementację wybranej listy rozkazów.
EN
Paper presents processor with dynamic reconfigurable instructions list implemented in programmable structure FPGA. FPGA chips configurations remember in the internal static RAM and therefore these configurations we can change much time. This propriety permits dynamic reconfiguration these chips. In particular in FPGA chips we can implemented general-purpose processor and instructions list in every time maybe configure for user or by user. Author's group made automated tools for design these processors used hardware design language VHDL. Paper presents example of processors with implementation selected instructions list.
2
Content available remote Implementacja operacji konwolucji o stałych współczynnikach w układach FPGA
PL
W artykule omówiono różne architektury układu konwolwera zoptymalizowane pod kątem implementacji w układach programowalnych FPGA. Współczynniki konwolucji są stałe, jednakże układ FPGA może być szybko przeprogramowany co pozwala na zmianę tych współczynników. Mnożenie jest najbardziej skomplikowaną operacją wykonywaną podczas obliczania operacji konwolucji, dlatego w pierszej części artykułu zostaną omówione układy mnożące. Niemniej rozbicie operacji mnożenia wewnątrz układu konwolwera pozwala na lepszą optymalizację operacji konwolucji, dlatego w artykule porównano dwie architektury: układ konwolwera zbudowany przy użyciu pamięci LUT (ang. Look-Up Table) i nazywany LC (ang. LUT-based Convolver) oraz układ konwolwera zbudowany jako suma mnożeń wykonywanych przy użyciu układów mnożących opartych o pamięć LUT i nazywanych LM (ang. LUT based Multiplier). Ponadto omówiona alternatywną technikę: konwolwer oparty na (równoległej) arytmetyce rozproszonej (ang. Parallel) i nazywaną DAC (ang. Distributed Arithmetic Convolver). Głównym celem tego artykułu jest przedstawienie nowej architektury układu konwolwera wykorzystującego nieregularną arytmetykę rozproszoną IDAC (ang. Irregular Distributed Arithetic Convolver), która to w porównaniu z architekturą DAC jest nieregularna, a przez to pozwala na lepszą optymalizację układu konwolwera. Wszystkie architektury konwelwera omówione w tym artykule mogą być automatycznie generowane przez autorskie narzędzie AuToCon.
EN
This paper reviews different architectural solutions for calculating constant coefficient convolution operation in FPGAs. At first, different architectures of multipliers are approached. Disregarding the multiplier entity allows for further circuit optimisations, therefore Look-Up-Table (LUT) based Convolver (LC) versus the sum of the LUT-based Multipliers (LM) is described. Further, an alternative technique - (Parallel) Distributed Arithmetic Convolver (DAC) is approached. The key issue of this paper is, however, a novel architectural solution: Irregular Distributed Arithmetic Convolver (IDAC) which, in comparison to the DAC, has an irregular form, and therefore allows for better circuit optimisation. All architectural solutions described hereby can be automatically generated by the Automated Tool for generation Convolvers in FPGAAs (AuToCon).
PL
Operacja dodawania jest podstawową operacją w realizacji wielu algorytmów przetwarzania danych (np. podczas obliczania operacji konwolucji - filtracji typu FIR o stałych współczynnikach). W układach FPGA (ang. Field Programmable Gate Arrays) operacja dodawania powinna być implementowana z wykorzystaniem układu dodającego z przeniesieniem skrośnym RCA (ang. Ripple Carry Adder), w porównaniu z układami ASIC, dla których optymalną architekturą jest układ dodający z przechowaniem przeniesienia CSA (ang. Carry Save Adder). W konsekwencji dla układów FPGA powinno się użyć innych metod optymalizacji drzewa dodającego niż dla układów ASIC. W artykule tym zostały przedstawione dwa takie algorytmy: programowanie genetyczne GP (ang. Genetic Programming) i Simulated Annealing SA (symulowane wyżarzanie). Algorytmy te zostały porównane z uprzednio użytymi metodami przeszukiwania wyczerpującego ES (ang. Exhaustive Search) oraz algorytmu zachłannego GrA (ang. Greedy Algorithm). W rezultacie wyniki otrzymane przez SA są lepsze niż dla GP oraz SA daje około 10÷20% oszczędności w porównaniu z GrA. Dlatego optymalnym rozwiązaniem jest użycie algorytmu ES dla liczby wejść do bloku dodającego N<8 oraz SA dla N>8. W przypadku gdy decydującym czynnikiem jest czas znalezienia optymalnego drzewa zalecany jest algorytm GrA.
EN
Addition is a very basic operation employed in numerous processes, e.g. constant coefficient FIR filters. In Field Programmable Gate Arrays (FPGAs), an addition should be carried out in the standard way employing ripple-carry adders, rather than carry-save adders as it is usually the case for ASICs. Consequently different adders optimisation techniques should be used in order to reduce area occupied by the adder tree. In this paper implementation of two different optimisation techniques: Genetic Programming (GP) and Simulated Annealing SA) are described. The implementation results of these techniques are compared to the previously published results for the Exhaustive Search (ES) and Greedy Algorithm (GrA). As a result, the SA usually outperforms the GP, and the SA gives about 10÷20% area reduction in comparison to the GrA. In conclusion, for the number of inputs to an adder tree N<8, the ES is the recommended algorithm as the number of possible combinations is usually acceptable, otherwise the SA should be employed. In the case when the time of finding the optimal adder tree is a critical factor, the GrA is recommended.
PL
Operacja dodawania jest podstawową operacją wykonywaną podczas obliczania operacji konwolucji (filtracji typu FIR) o stałych współczynnikach. W układach FPGA operacja dodawania powinna być implementowana z wykorzystaniem układu dodającego z przeniesieniem skrośnym RCA (ang. Ripple Carrry Adder), w porównaniu z układami ASIC, dla których optymalną architekturą jest układ dodający z przechowaniem przeniesienia CSA (ang. Carry Save Adder). W konsekwencji w niniejszym opracowaniu zostały przedstawione różne algorytmy znajdujące optymalną sieć połączeń w bloku dodającym: przeszukiwania wyczerpującego ES (ang. Exhaustive Search), algorytmu zachłannego GrA (ang. Greedy Algorithm). Ponadto zostały przedstawione różne architektury układu konwolwera w układach FPGA oraz ich wpływ na parametry wejściowe układu dodającego, w szczególności zakresu danych wejściowych (wartość minimalna i maksymalna) oraz korelacji pomiędzy wejściami.
EN
Addition is a fundamental operation for the constant coefficient convolutions (FIR filters). In FPGAs, addition should be carried out employing ripple-carry adders rather than carry-save adders as it is the case for ASIC designs. Therefore different adder optimisation techniques are required as a result Exhaustive Search and Greedy Algorithm have been implemented. Different convolver architectures and consequently different input parameters, e.g. input width, correlation between different inputs, are described.
PL
Poniższy artykuł przedstawia różne architektury równoległe układów mnożących o stałym współczynniku mnożenia, implementowanych w układach programowalnych FPGA. W pierszej części artykułu zostały opisane układy mnożące bezmnożne MM (ang. Multiplierlees Multiplication). Uklady MM wykorzystują reprezentacje kanoniczną cyfry ze znakiem CSD (ang. Canonic Sign Digit) lub / i dzielnie wspólnej podstruktury SS (ang. Sub-structure Sharing). Opisany został również nowy, zoptymalizowany pod kątem generowanego układu MM algorytm konwersji z kodu uzupełnień do dwóch do reprezentacji CSD. Druga część artykułu została poświęcona układom mnożącym wykorzystującym pamięć typu LUT (ang. Look-Up Table) i nazywanym w skrócie LM (ang. LUT based Multiplication). W konsekwencji opisano wykorzystywanie różnych modułów pamięci oraz znajdowanie optymalnej kombinacji pamięć - układ dodający. Dla układów mnożących LM rozważona została równiez redukcja szerokości magistrali adresowej dla każdej komórki pamięci jak również możliwość dzielenia wspólnej pamięci dla komórek pamięci o tej samej zawartości. W ostatniej części artykułu podano wyniki implementacji dla układów firmy Xilinx serii XC4000 oraz Virtex.
EN
This paper investigates different architectures implementing bit-parallel constant coefficient multiplication in FPGA structures. At first the multiplierless multiplication (MM) architectures employing Canonic Sign Digit (CSD) and sub-structure sharing methods are addressed, and a novel algorithm for the conversion from two's complement to CSD is presented. In the second part of this paper the Look up table based Multiplication (LM) is investigated. Correspondingly, the usage of different memory modules and finding the optimal combination of the memory and adders are considered. The LM architecture consideres also reduction of the address width for each memory cell and the possibility of memory sub-structure sharing (the search for the same memory cells is implemented). Finally the implementation results for Xilinx XC4000 and Virtex families are presented. As a result, the MM generally suprasses the LM architecture, however the actual choice between these two architectures is coefficient and input parameters dependent.
6
Content available remote Implementacja szybkich układów mnożących w strukturach FPGA
PL
Artykuł ten prezentuje różne rozwiązania szybkiego układu mnożącego implementowanego w układach reprogramowalnych FPGA. Przedstawione rozwiązania to: pełno-funkcjonalny układ mnożący o zmiennym współczynniku mnożenia VCM (ang. Variable Coefficient Multiplier), układ mnożący przez stały współczynnik KCM (ang. Constant Coefficient Multiplier) oraz rozwiązanie pośrednie - układ mnożący przez stały współczynnik z możliwością dynamicznej rekonfiguracji DKCM (ang. Dynamic Constant Coefficient Multiplier). Dla ukladów FPGA, które mogą być szybko przeprogramowane, wybór pomiędzy VCM i KCM jest trudnym zagadnieniem, któremu ten artykuł poświęca dużo uwagi. Co więcej istnieje rozwiązanie pośrednie - układ DKCM, który może być szybciej przeprogramowany niż KCM, ale zajmuje więcej zasobów układu FPGA. W układach FPGA wybór architektury układu mnożącego jest uzależniony od trzech czynników: zajmowanych zasobów, czasu propagacji oraz czasu przeprogramowania. W celu zwiększenia szybkości projektowania układu mnożącego zostało opracowane narzędzie do automatycznej generacji optymalnej architektury układu mnożącego w postaci kodu języka VHDL, na podstawie parametrów wejściowych.
EN
This paper studies different solutions for carrying out multiplication: a fully functional multiplier denoted as Variable Coefficient Multiplier (VCM), Constant Coefficient Multiplier (KCM) and self-configurable multiplier denoted as Dynamic Constant Coefficient Multiplier (DKCM). For FPGAs which can be easily reconfigured, the choice between the VCM and KCM cannot be easily defined. Furthermore, the DKCM is an additional, middle-way between the KCM and VCM solution, as it offers shorter reprogramming time but occupies more area in comparison with the KCM. ln FPGAs, the choice of the optimum multiplier involves three factors: area, propagation and reconfiguration time, which have been thoroughly studied and respective implementation results given. Furthermore, to speed-up implementation of multipliers a design-automated tool has been developed, which generates optimum (for given input parameters), VHDL description of multipliers.
PL
W opracowaniu przedstawiono specjalizowane układy VLSI do realizacji obliczeń konwolucji 2D na przykładzie układów firm: Harris, Plessey i InMos. Stosowanie tych układów zapewnia wysokie parametry czasowe realizowanych obliczeń ale wymaga stosowania dedykowanego otoczenia sprzętowego, związanego z dostarczaniem odpowiednio zorganizowanych danych wejściowych i odebraniem przetworzonych danych. Alternatywą dla tych układów jest realizacja algorytmu konwolucji 2D w procesach ogólnego przeznaczenia i w procesach sygnałowych. Dynamiczny rozwój tych procesorów w ostatnim okresie oferuje nowe możliwości w zakresie osiągania wysokich parametrów czasowych związanych z implementacją algorytmu dwuwymiarowej konwolucji na przykładzie obrazu wizyjnego. W szczególności omówiono architekturę superskalarną procesora Pentium z uwzględnieniem różnych jego wersji (P75, P166, P300, MMX) oraz procesory sygnałowe z rodziny DSP56000 firmy Motorola i TMS320C80 firmy Texas Instruments. Przedstawiono zagadnienia wpływu poszczególnych elementów architektury tych procesorów na realizację zadań obliczeniowych jakie występują w trakcie wykonywania programu realizującego algorytm konwolucji. Omówiono także wpływ metod konstruowania algorytmu i sposobu jego realizacji przez program użytkowy (na poziomie kodu maszynowego) na czas realizacji obliczeń. Poszczególne mplementacje omówiono ze szczególnym uwzględnieniem tych aspektów, które wpływają na czas realizacji operacji konwolucji na danych obrazowych i innych podobnie zorganizowanych. Ważnym elementem przedstawionego opracowania są załączone wyniki prac eksperymentalnych.
EN
This paper discusses usage of different architectures and algorithms for a 2D convolution. At first dedicated VLSI devices are presented, giving the example of Harris, Plessey and InMos chips. Employing these devices results in the low-time calculation, however requires dedicated hardware and appropriate input / output data interface. An alternative solution is the use of general-purpose processors or Digital Signal Processors (DSP). In the recent years, a rapid development of these processors is observed and consequently these processors are often capable (fast enough) of carrying out 2D convolution, e.g. 2D real-time image convolution. In particular, defferent models of superscalar Pentium architectures (486, P75, P166, P300, MMX) have been discussed. Further, DSPs: Motorola DSP56000 and Texas Instruments TMS320C80 have been approached. The influence of the processor architectures on the 2D convolution calculation process has been extensively investigated. Furthermore, methods of constructing 2D convolution ( in particular image convolution) algorithms to reduce calculation time have been investigated and as the result, examples of programs (C and assembler language level) and corresponding calculation times have been given.
PL
W pracy przedstawiono przegląd publikacji dotyczących specjalizowanych procesorów i architektur, przeznaczonych do realizacji operacji przetwarzania obrazów. Podstawowym aspektem rozważań jest czas przetwarzania danych wizyjnych i z tego punktu widzenia na szczególne wyróżnienie zasługuje nie stosowana wcześniej architektura MISD (ang. Multiple Instruction - stream Single Data - stream). W przeglądzie uwzględniono szereg aspektów stosowania procesorów specjalizowanych, od specjalnego konstruowania algorytmow, przeznaczonych do implementacji w strukturach sprzętowych, aż po omówienie współczesnych nurtów konstruowania układów programowalnych FPGA, będących płaszczyzną technologiczną implementacji procesorów specjalizowanych.
EN
This paper presents new searching works for real - time visions systems. In particular the paper show many publications connected with CCD chips and video signal standards, analog image to digital signal convert, real-time visions systems, algorithms for image computation (to implementation in the VLSI and FPGA chips), parallel and multiprocessors vision systems architecture, dedicated pipelined architecture of specialised hardware processors, and implementation specialised processors in the FPGA chips. On this background author presents results of his searching works. These searching works consisted in striving after parallel arrangement of image preprocessing computations, by selection of such computational elements (processors) and such a transmission between them (architecture), that the total computation time was the least possible. Structures of specialised hardware processors have been worked out, whose internal diagram univocally defines the type of only one image pre-processing operation (realised in hardware) and allows for considerable shortening of the time of the operation. To verify the concept the following procesors have been worked out: look - up - table, median filter, convolver, logic processor, and morphological processor. The implementation of these processors in programmable FPGA structures allows for dynamic change of image processsing functions in the course of normal operation of the system. As a results of the work described, a concept of universal reconfigurable processor has been developed, in which one can implement any desired operation of image pre-processing from the system bus level). The concepts presented have been verified by experiments, using processors implemented in FPGA structures. The work presented is a contribution to world wide intense research on developing user dedicated "Custom Computing Machines" and "Reconfigurable Computers".
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ć.