1 2 1 3 1 2 3 × FACTA UNIVERSITATIS Series: Electronics and Energetics Vol. 32, No 4, December 2019, pp. 479 - 501 https://doi.org/10.2298/FUEE1904479D Rafal Długosz, Katarzyna Kubiak, Tomasz Talaśka, Inga Zbierska-Piątek Received July 1, 2019 Corresponding author: Rafal Długosz UTP University of Science and Technology, Faculty of Telecommunication, Computer Science and Electrical Engineering, Bydgoszcz, Poland (E-mail: rafal.dlugosz@gmail.com) FACTA UNIVERSITATIS Series: Electronics and Energetics Vol. 28, No 4, December 2015, pp. 507 - 525 DOI: 10.2298/FUEE1504507S HORIZONTAL CURRENT BIPOLAR TRANSISTOR (HCBT) – A LOW-COST, HIGH-PERFORMANCE FLEXIBLE BICMOS TECHNOLOGY FOR RF COMMUNICATION APPLICATIONS Tomislav Suligoj1, Marko Koričić1, Josip Žilak1, Hidenori Mochizuki2, So-ichi Morita2, Katsumi Shinomura2, Hisaya Imai2 1University of Zagreb, Faculty of Electrical Engineering and Computing, Department of Electronics, Micro- and Nano-electronics Laboratory, Croatia 2Asahi Kasei Microdevices Co. 5-4960, Nobeoka, Miyazaki, 882-0031, Japan Abstract. In an overview of Horizontal Current Bipolar Transistor (HCBT) technology, the state-of-the-art integrated silicon bipolar transistors are described which exhibit fT and fmax of 51 GHz and 61 GHz and fTBVCEO product of 173 GHzV that are among the highest-performance implanted-base, silicon bipolar transistors. HBCT is integrated with CMOS in a considerably lower-cost fabrication sequence as compared to standard vertical-current bipolar transistors with only 2 or 3 additional masks and fewer process steps. Due to its specific structure, the charge sharing effect can be employed to increase BVCEO without sacrificing fT and fmax. Moreover, the electric field can be engineered just by manipulating the lithography masks achieving the high-voltage HCBTs with breakdowns up to 36 V integrated in the same process flow with high-speed devices, i.e. at zero additional costs. Double-balanced active mixer circuit is designed and fabricated in HCBT technology. The maximum IIP3 of 17.7 dBm at mixer current of 9.2 mA and conversion gain of -5 dB are achieved. Key words: BiCMOS technology, Bipolar transistors, Horizontal Current Bipolar Transistor, Radio frequency integrated circuits, Mixer, High-voltage bipolar transistors. 1. INTRODUCTION In the highly competitive wireless communication markets, the RF circuits and systems are fabricated in the technologies that are very cost-sensitive. In order to minimize the fabrication costs, the sub-10 GHz applications can be processed by using the high-volume silicon technologies. It has been identified that the optimum solution might Received March 9, 2015 Corresponding author: Tomislav Suligoj University of Zagreb, Faculty of Electrical Engineering and Computing, Department of Electronics, Micro- and Nano-electronics Laboratory, Croatia (e-mail: tom@zemris.fer.hr) PARALLEL MATRIX MULTIPLICATION CIRCUITS FOR USE IN KALMAN FILTERING 1UTP University of Science and Technology Faculty of Telecommunication, Computer Science and Electrical Engineering 2Adam Mickiewicz University Faculty of Mathematics and Computer Science 3Aptiv Services Poland Abstract. In this work we propose several ways of the CMOS implementation of a circuit for the multiplication of matrices. We mainly focus on parallel and asynchronous solutions, however serial and mixed approaches are also discussed for the comparison. Practical applications are the motivation behind our investigations. They include fast Kalman filtering commonly used in automotive active safety functions, for example. In such filters, numerous time-consuming operations on matrices are performed. An additional problem is the growing amount of data to be processed. It results from the growing number of sensors in the vehicle as fully autonomous driving is developed. Software solutions may prove themselves to be insuffucient in the nearest future. That is why hardware coprocessors are in the area of our interests as they could take over some of the most time-consuming operations. The paper presents possible solutions, tailored to specific problems (sizes of multiplied matrices, number of bits in signals, etc.). The estimates of the performance made on the basis of selected simulation and measurement results show that multiplication of 3×3 matrices with data rate of 20 100 MSps is achievable in the CMOS 130 nm technology. Key words: Matrix multiplication, Parallel circuits, asynchronous solutions, Kalman filter, automotive applications, CMOS. © 2019 by University of Niš, Serbia | Creative Commons License: CC BY-NC-ND 480 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 481 480 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 481 482 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 483 × × 482 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 483 µ × × µ × ·109 ∗ µ × 2 × 1012 > x(n + 1) = Ax(n) + Bu(n) + v(n), y(n + 1) = Cx(n) + w(n), n A x(n) B C v w y 484 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 485 µ × × µ × ·109 ∗ µ × 2 × 1012 > x(n + 1) = Ax(n) + Bu(n) + v(n), y(n + 1) = Cx(n) + w(n), n A x(n) B C v w y 484 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 485 ANA,MA BNB,MB CNC,MC NA MA NB MB NC MC N M MA NB K NC NA MC MB C cnm K A B C cnm K K = MA = NB A3,4 B4,2 → C3,2   a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34   ×   b11 b12 b21 b22 b31 b32 b41 b42   =   c11 c12 c21 c22 c31 c32   C cnm n m C C MA NB ≥ 1 486 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 487 ANA,MA BNB,MB CNC,MC NA MA NB MB NC MC N M MA NB K NC NA MC MB C cnm K A B C cnm K K = MA = NB A3,4 B4,2 → C3,2   a11 a12 a13 a14 a21 a22 a23 a24 a31 a32 a33 a34   ×   b11 b12 b21 b22 b31 b32 b41 b42   =   c11 c12 c21 c22 c31 c32   C cnm n m C C MA NB ≥ 1 C3,2   a11 a12 a13 . . . a1MA a21 a22 a23 . . . a2MA a31 a32 a33 . . . a3MA   ×   b11 b12 b21 b22 . . . . . . bNB1 bNB2   =   c11 c12 c21 c22 c31 c32   MA NB K NBA = NBM + log2 K + d, d K ∈ 2· a b 486 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 487 CGS CGS 488 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 489 CGS CGS NBTL ∈ NBTL NBTL = log2 NBI. NSclk = NBI · k. A B 488 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 489 k C A B N = M [ c ] = [ a1 a2 a3 . . . aM ] × [ b1 b2 b3 . . . bN ]T . cnm = K∑ k=1 akm · bnk. A B bn B bn = 2 0 · bn,1 + 21 · bn,2 + 22 · bn,3 + · · · + 2L−1 · bn,L, bn,l bn,1 bn,L [c] = 20 · a1 · b1,1 + 21 · a1 · b1,2 + · · · + 2L−1 · a1 · b1,L 20 · a2 · b2,1 + 21 · a2 · b2,2 + · · · + 2L−1 · a2 · b2,L . . . 20 · aM · bN,1 + 21 · aM · bN,2 + · · · + 2L−1 · aM · bN,L [c] = 20 · (a1 · b1,1 + a2 · b2,1 + · · · + aM · bN,1)+ 21 · (a1 · b1,2 + a2 · b2,2 + · · · + aM · bN,2)+ 22 · (a1 · b1,3 + a2 · b2,3 + · · · + aM · bN,3)+ · · · + 2L−1 · (a1 · b1,L + a2 · b2,L + · · · + aM · bN,L) 490 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 491 k C A B N = M [ c ] = [ a1 a2 a3 . . . aM ] × [ b1 b2 b3 . . . bN ]T . cnm = K∑ k=1 akm · bnk. A B bn B bn = 2 0 · bn,1 + 21 · bn,2 + 22 · bn,3 + · · · + 2L−1 · bn,L, bn,l bn,1 bn,L [c] = 20 · a1 · b1,1 + 21 · a1 · b1,2 + · · · + 2L−1 · a1 · b1,L 20 · a2 · b2,1 + 21 · a2 · b2,2 + · · · + 2L−1 · a2 · b2,L . . . 20 · aM · bN,1 + 21 · aM · bN,2 + · · · + 2L−1 · aM · bN,L [c] = 20 · (a1 · b1,1 + a2 · b2,1 + · · · + aM · bN,1)+ 21 · (a1 · b1,2 + a2 · b2,2 + · · · + aM · bN,2)+ 22 · (a1 · b1,3 + a2 · b2,3 + · · · + aM · bN,3)+ · · · + 2L−1 · (a1 · b1,L + a2 · b2,L + · · · + aM · bN,L) 2l [c] = (a1 · b1,1 + a2 · b2,1 + · · · + aM · bN,1) 0+ (a1 · b1,2 + a2 · b2,2 + · · · + aM · bN,2) 1+ (a1 · b1,3 + a2 · b2,3 + · · · + aM · bN,3) 2+ · · · + (a1 · b1,L + a2 · b2,L + · · · + aM · bN,L) L K C C 490 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 491 a1m bn1 492 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 493 a1m bn1 a1m bn1 A3,4 B4,2 C3,2 c11 C 492 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 493 a1m bn1 c11 a11 b11 a12 b21 a13 b31 a14 b41 c11 IDD a1m bn1 IDD C IDD 494 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 495 a1m bn1 c11 a11 b11 a12 b21 a13 b31 a14 b41 c11 IDD a1m bn1 IDD C IDD CGS K = 16 494 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 495 A B A B fP = 1 K · (5 + 20) fS = 1 K · 16 · 20 K = 16 fP = 2.5 fS = 0.195 × × 496 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 497 A B A B fP = 1 K · (5 + 20) fS = 1 K · 16 · 20 K = 16 fP = 2.5 fS = 0.195 × × · × · · · ≈ K = 10 C NC · MC A B v w × 496 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 497 2 498 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 499 2 498 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 499 500 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 501 500 R. DłUgosz, K KUBiAK, T. TAlAŚkA, I. ZbIERSkA-PIĄTEk Parallel Matrix Multiplication Circuits for Use in kalman Filtering 501