W artykule przedstawiono rezultaty syntezy sześciu struktur układów mikroprogramowanych (CMCU), które wykorzystują koncepcję podziału zbioru łańcuchów operacyjnych na klasy łańcuchów pseudorównoważnych (POLC). Przedstawione w pracy struktury układów mikroprogramowanych są przeznaczone przede wszystkim do zastosowania w układach FPGA. Część kombinacyjna układu mikroprogramowanego jest realizowana z użyciem tablic LUT, natomiast pamięć sterująca jest implementowana z użyciem osadzonych bloków pamięci. Badania przeprowadzono dla czterech popularnych kodowań stanów: kodowania binarnego, kodowania one-hot, kodowania Gray'a oraz kodowania Johnson'a.
EN
The paper presents new synthesis results of six structures of a compositional microprogram control unit (CMCU) targeted mainly at FGPAs. The structure of CMCU consist of two main parts: a control memory and an addressing circuit. The control memory stores microinstructions which are sent to the data path. The addressing circuit is responsible for selecting a microinstruction from the control memory. The addressing part of the CMCU is implemented using LUT tables, while the control memory is implemented using embedded memory blocks (EMB). Partitioning the set of operational linear chains (OLC) into pseudoeqivalent classes of chains (POLC) is used in all structures to reduce the size of the CMCU addressing part. The codes of POLCs are stored in the control memory by extending the microinstruction format or by inserting additional control microinstructions (Figs. 2, 3 and 4). The CMCU structures were tested using linear graph-schemes of the algorithm (see Tab. 1). The synthesis was made in Xilinx ISE and Altera Quartus for FPGA and CPLD devices. The synthesis results (Figs. 5 and 6) show that the size of the combinational part for the tested CMCU structures can be reduced by 20% to 50% depending on the CMCU structure (when compared to the base structure - average results). The results also show that the natural binary encoding and Gray's encoding are best for POLC classes. Both encodings give the smallest size of the addressing part and require less control memory space.
W artykule przedstawiona została koncepcja implementacji sprzętowej algorytmu MD5 z wykorzystaniem mikroprogramowanego układu sterującego. Cechą charakterystyczną rozwiązania jest wykorzystanie osadzonych bloków pamięci do realizacji układu sterującego. Przedstawione rozwiązanie jest przeznaczone przede wszystkim do realizacji w układach FPGA. W artykule przedstawione zostały wyniki syntezy kilku wybranych struktur układów mikroprogramowanych. Otrzymane wyniki zostały porównane do typowej realizacji w postaci automatu Moore'a.
EN
The paper presents an example of application of Compositional Microprogram Control Unit (CMCU) to hardware implementation of MD5 algorithm. The MD5 algorithm is a widely used hash function with a 128-bit hash value. MD5 is used in many security applications, for example to hash passwords in FreeBSD operating system [14]. MD5 is also commonly used to check the integrity of files. MD5 was designed by Ron Rivest in 1991 [10]. Other similar algorithms are SHA [7] and RIPEMD [6]. The hardware implementation of MD5 in FPGAs is usually based on embedded memory blocks (EMB) because the algorithm uses a lot of constants during calculations [8]. In the paper the authors present an alternative solution in which constants are generated by CMCU (Fig. 3) circuit. The CMCU is also based on EMB. It can generate constants for MD5 and also signals for other tasks. The research results show that CMCU requires less hardware amount when compared to traditional Moore FSM (Tab. 1). The results were obtained using Xilinx ISE 12.1 and Xilinx Spartan-3 (xc3s50-5pq208) [13]. The models of control units were generated by the authors' software.
W artykule przedstawiona została metoda syntezy umożliwiająca zmniejszenie liczby tablic LUT potrzebnych do realizacji układu mikroprogramowanego z współdzieleniem kodów. Metoda jest przeznaczona dla układów FPGA z osadzonymi blokami pamięci. Część kombinacyjna układu mikroprogramowanego jest realizowana z użyciem tablic LUT, natomiast pamięć sterująca z użyciem osadzonych bloków pamięci. Redukcję liczby tablic LUT osiągnięto dzięki wykorzystaniu klas łańcuchów pseudorównoważnych. W artykule przedstawiono przykład zastosowania proponowanej metody oraz rezultaty eksperymentów.
EN
The paper presents new research results of synthesis of Composi-tional Microprogram Control Unit (CMCU) with Codes Sharing. The method allows reduction of look-up table elements in the combina-tional part of the control unit. The method assumes application of field-programmable gate arrays for implementation of the combinational part, whereas embedded-memory blocks are used for implementation of its control memory. Programmable logic devices are nowadays widely used for implementation of Control Units (CU) [16, 18]. The problem of the CU optimisation is still actual in computer science and it solution permits to decrease the cost of the system [17]. The proposed method is oriented on reduction of hardware amount of CMCU addressing circuit by placing codes of classes of pseudoequivalent states in the control memory. These classes are formed by division of the set of Operational Linear Chains (OLC) into partitions which correspond to pseudoequivalent states of Moore FSM [4]. The research results show that application of the method to tested control algorithms gives on average 50% decrease in hardware amount when compared to CMCU based structure (Tab. 2). The results were obtained using Xilinx ISE. The models of control units were generated by the authors' software using the control algorithms from [15].
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ć.