Abstract
Evolvable hardware allows the generation of circuits that are adapted to specific problems by using an evolutionary algorithm (EA). Dynamic partial reconfiguration of FPGA LUTs allows making the processing elements (PEs) of these circuits small and compact, thus allowing large scale circuits to be implemented in a small FPGA area. This facilitates the use of these techniques in embedded systems with limited resources. The improvement on resource-efficient implementation techniques has allowed increasing the size of processing architectures from a few PEs to several hundreds. However, these large sizes pose new challenges for the EA and the architecture, which may not be able to take full advantage of the computing capabilities of its PEs. In this article, two different topologies—systolic array (SA) and Cartesian genetic programming (CGP)—are scaled from small to large sizes and analyzed, comparing their behavior and efficiency at different sizes. Additionally, improvements on SA connectivity are studied. Experimental results show that, in general, SA is considerably more resource-efficient than CGP, needing up to 60% fewer FPGA resources (LUTs) for a solution with similar performance, since the LUT usage per PE is 5 times smaller. Specifically, 10 \(\times\) 10 SA has better performance than 5 \(\times\) 10 CGP, but uses 50% fewer resources.
Similar content being viewed by others
Notes
PEs might be defined, for instance, at logic gate level (and, or, xor, etc.) to evolve combinational circuits or at the function level (adders, subtracters, shifters, etc.) for other applications such as image/signal processing.
These two terms are the main branches in which EHW can be classified. Evolutionary hardware design is considered as yet another design methodology, based on EAs, that automatically provides a circuit description fulfilling the required specifications; the final solution, usually the fittest circuit, is kept and used to configure/build the final system. By the contrary, adaptive hardware enables the possibility of hardware self-adaptation in reconfigurable systems. Since the EA has to be embedded in the final system and, along with certain self/environment-awareness, autonomous adaptation capabilities (to the inputs, the environment, the specifications and in the presence of faults) are provided so self-adaptive hardware can emerge as long as no human intervention is needed during the adaptation process.
A serious drawback of this reconfiguration strategy is the decreasing number of LUTs with this operating mode: 100% in Virtex-II Pro and around 25% in Virtex-5.
This is scalability from an architectural point of view, which considers both the maximum size of the evolvable processing structures (CGP, SA, etc.) and the maximum number of PEs, for a given set of FPGA resources. Not to be confused with scalability of representation (related to the size of circuits that can be evolved in a reasonable time considering the chromosome representation) and scalability of evaluation (related to how to reduce evaluation time).
Since Virtex-5 devices feature around 60% smaller reconfiguration frames (which is the minimum reconfigurable unit) compared to Zynq-7000, an implementation in this platform would probably increase the reconfiguration time of the SA. This means the 19,000 evaluations reported [26] would be fewer in a Zynq device, but in any case probably well over the 8700 figure.
Smaller implementations of up to 16 \(\times\) 16 PEs have been proven to reach 500 MHz without showing timing errors.
This number of evaluations (\(2^{18}\)) was chosen experimentally as a good tradeoff between filter quality and evolution time, with significantly better results than \(2^{17}\), whereas \(2^{19}\) was only marginally better [25]. Powers of 2 were used because they were more practical for parallelizing and partitioning the EA.
Salt and pepper noise consists in replacing randomly selected pixels (in this case, 20% of them) with black or white pixels.
This behavior is close to the one originally proposed for SA in [19], where a PE could either repeat its input or act in a cascaded manner. Nevertheless, its application to a DPR-based EHW system is novel.
Alternatively, CGP may increase the number of columns to the left a certain PE can access, but this would further increase the multiplexer size and design complexity.
Further experiments have shown that larger arrays eventually outperform small ones with long enough evolution times, which suggests that the culprit for this effect is the excessively large search space for the current EA. Future work may focus on improving this EA in order to achieve better results in a shorter time.
References
D.B. Bartolini, M. Carminati, F. Cancare, M.D. Santambrogio, D. Sciuto, HERA project’s holistic evolutionary framework. In IEEE 27th International Parallel and Distributed Processing Symposium Workshops (IPDPSW), pp. 231–238. IEEE (2013). https://doi.org/10.1109/IPDPSW.2013.110
B. Blodget, P. James-Roxby, E. Keller, S. McMillan, P. Sundararajan, A self-reconfiguring Platform. In Field Programmable Logic and Application, Lecture Notes in Computer Science, vol. 2778, pp. 565–574. Springer Berlin, (2003). https://doi.org/10.1007/978-3-540-45234-8_55
F. Cancare, D.B. Bartolini, M. Carminati, D. Sciuto, M.D. Santambrogio, On the evolution of hardware circuits via reconfigurable architectures. ACM Trans. Reconfig. Technol. Syst. 5(4), 22:1–22:22 (2012). https://doi.org/10.1145/2392616.2392620
F. Cancare, M.D. Santambrogio, D. Sciuto, A direct bitstream manipulation approach for virtex4-based evolvable systems. In Proceedings of IEEE International Symposium on Circuits and Systems (ISCAS), pp. 853–856. IEEE (2010). https://doi.org/10.1109/ISCAS.2010.5537429
R. Dobai, K. Glette, J. Torresen, L. Sekanina, Evolutionary digital circuit design with fast candidate solution establishment in field programmable gate arrays. In 2014 IEEE International Conference on Evolvable Systems (ICES), pp. 85–92 (2014). https://doi.org/10.1109/ICES.2014.7008726
R. Dobai, L. Sekanina, Image filter evolution on the Xilinx Zynq platform. In Proceedings of NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 164–171. IEEE (2013). https://doi.org/10.1109/AHS.2013.6604241
R. Dobai, L. Sekanina, Low-level flexible architecture with hybrid reconfiguration for evolvable hardware. ACM Trans. Reconfig. Technol. Syst. 8(3), 20:1–20:24 (2015)
A.E. Eiben, J.E. Smith, Introduction to Evolutionary Computing. Natural Computing Series (Springer, Berlin, 2003). https://doi.org/10.1007/978-3-662-05094-1
Á. Gallego, J. Mora, A. Otero, E. de la Torre, T. Riesgo, A scalable evolvable hardware processing array. In International Conference on Reconfigurable Computing and FPGAs (ReConFig), pp. 1–7. IEEE (2013). https://doi.org/10.1109/ReConFig.2013.6732266
K. Glette, Design and implementation of scalable online evolvable hardware pattern recognition systems. Ph.D. thesis (2008). http://urn.nb.no/URN:NBN:no-20883
K. Glette, P. Kaufmann, Lookup table partial reconfiguration for an evolvable hardware classifier system. In IEEE Congress on Evolutionary Computation (CEC), pp. 1706–1713. IEEE (2014). https://doi.org/10.1109/CEC.2014.6900503
K. Glette, J. Torresen, M. Hovin, Intermediate level FPGA reconfiguration for an online EHW pattern recognition system. In Proceedings of NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 19–26. IEEE (2009). https://doi.org/10.1109/AHS.2009.46
K. Glette, J. Torresen, M. Yasunaga, An online EHW Pattern recognition system applied to sonar spectrum classification. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 4684, pp. 1–12. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-74626-3_1
T.G.W. Gordon, Exploiting development to enhance the scalability of hardware evolution. Ph.D. thesis (2005). https://www.bcs.org/upload/pdf/tgordon.pdf
G.W. Greenwood, A.M. Tyrrell, Introduction to Evolvable Hardware. IEEE Press Series Computational Intelligence. Wiley-IEEE Press (2006).https://doi.org/10.1002/0470049715
T. Higuchi, Y. Liu, X. Yao, (eds.) Evolvable Hardware. Genetics And Evolution Computer Series. Springer (2006). https://doi.org/10.1007/0-387-31238-2
J.R. Koza, F.H. Bennett III, D. Andre, M.A. Keane, Genetic Programming III (Morgan Kaufmann Publishers Inc., San Francisco, 1999)
J.R. Koza, M.A. Keane, M.J. Streeter, W. Mydlowec, J.Y. Guido, Genetic Programming IV, Genetics Programming Series, vol. 5. Springer (2005). https://doi.org/10.1007/b137549
H.T. Kung, C.E. Leiserson, Systolic Arrays for (VLSI) (CMU-CS. Carnegie-Mellon University, Department of Computer Science, 1978)
S.Y. Kung, On supercomputing with systolic/wavefront array processors. Proc. IEEE 72(7), 867–884 (1984). https://doi.org/10.1109/PROC.1984.12944
T. Martinek, L. Sekanina, An evolvable image filter: experimental evaluation of a complete hardware implementation in FPGA. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 3637, pp. 76–85. Springer, Berlin (2005). https://doi.org/10.1007/11549703_8
J.F. Miller (ed.), Cartesian Genetic Programming. Natural Computing Series (Springer, Berlin 2011). https://doi.org/10.1007/978-3-642-17310-3
J.F. Miller, P. Thomson, Cartesian genetic programming. In Genetic Programming, Lecturer Notes In Computer Science, vol. 1802, pp. 121–132. Springer, Berlin (2000). https://doi.org/10.1007/978-3-540-46239-2_9
J. Mora, Á. Gallego, A. Otero, E. de la Torre, T. Riesgo, Noise-agnostic adaptive image filtering without training references on an evolvable hardware platform. In 2013 Conference on Design and Architectures for Signal and Image Processing (DASIP), pp. 182–189 (2013). http://ieeexplore.ieee.org/document/6661538/
J. Mora, A. Otero, E. de la Torre, T. Riesgo, Fast and compact evolvable systolic arrays on dynamically reconfigurable FPGAs. In 10th International Symposium on Reconfigurable and Communication-Centric Systems-on-Chip (ReCoSoC), pp. 1–7. IEEE (2015). https://doi.org/10.1109/ReCoSoC.2015.7238087
J. Mora, E. de la Torre, Accelerating the evolution of a systolic array-based evolvable hardware system. Microprocess. Microsyst. 56, 144–156 (2018). https://doi.org/10.1016/j.micpro.2017.12.001
A. Otero, Á. Morales-Cas, J. Portilla, E. de la Torre, T. Riesgo, A modular peripheral to support self-reconfiguration in SoCs. In 2010 13th Euromicro Conference on Digital System Design: Architectures, Methods and Tools (DSD), pp. 88–95. IEEE (2010). https://doi.org/10.1109/DSD.2010.100
R. Salomon, H. Widiger, A. Tockhorn, Rapid evolution of time-efficient packet classifiers. In Proceedings of IEEE Congress Evolutionary Computation (CEC), pp. 2793–2799. IEEE (2006). https://doi.org/10.1109/CEC.2006.1688659
R. Salvador, Parametric and structural self-adaptation of embedded systems using evolvable hardware. Ph.D. thesis (2015). http://oa.upm.es/39354/
R. Salvador, A. Otero, J. Mora, E. de la Torre, T. Riesgo, L. Sekanina, Evolvable 2D computing matrix model for intrinsic evolution in commercial FPGAs with native reconfiguration support. In 2011 NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 184–191 (2011). https://doi.org/10.1109/AHS.2011.5963934
R. Salvador, A. Otero, J. Mora, E. de la Torre, T. Riesgo, L. Sekanina, Self-reconfigurable evolvable hardware system for adaptive image processing. IEEE Trans. Comput. 62(8), 1481–1493 (2013). https://doi.org/10.1109/TC.2013.78
R. Salvador, A. Otero, J. Mora, E. de la Torre, L. Sekanina, T. Riesgo, Fault tolerance analysis and self-healing strategy of autonomous, evolvable hardware systems. In 2011 International Conference on Reconfigurable Computing and FPGAs, pp. 164–169 (2011). https://doi.org/10.1109/ReConFig.2011.37
L. Sekanina, Virtual reconfigurable circuits for real-world applications of evolvable hardware. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 2606, pp. 186–197. Springer, Berlin (2003). https://doi.org/10.1007/3-540-36553-2_17
L. Sekanina, Handbook Of Natural Computing, Chap. Evolvable Hardware, pp. 1657–1705 (Springer, Berlin, 2012). https://doi.org/10.1007/978-3-540-92910-9_50
A. Thompson, Silicon evolution. In Proceedings of the 1st annual conference on Genetic Programming, pp. 444–452. MIT Press (1996)
J. Torresen, G.A. Senland, K. Glette, Partial reconfiguration applied in an on-line evolvable pattern recognition system. In NORCHIP, pp. 61–64. IEEE (2008). https://doi.org/10.1109/NORCHP.2008.4738283
G. Tufte, P.C. Haddow, Evolving an adaptive digital filter. In Proceedings of 2nd NASA/DoD Workshop on Evolvable Hardware, pp. 143–150. IEEE (2000). https://doi.org/10.1109/EH.2000.869352
A. Upegui, E. Sánchez, Evolving hardware with self-reconfigurable connectivity in Xilinx FPGAs. In Proceedings of 1st NASA/ESA Conference on Adaptive Hardware and Systems (AHS), pp. 153–162. IEEE (2006). https://doi.org/10.1109/AHS.2006.38
Z. Vasicek, L. Sekanina, An evolvable hardware system in Xilinx Virtex II Pro FPGA. IJICA 1(1), 63–73 (2007). https://doi.org/10.1504/IJICA.2007.013402
Z. Vasicek, L. Sekanina, Hardware accelerators for cartesian genetic programming. In Genetic Programming, Lecture Notes in Computer Science, vol. 4971, pp. 230–241. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-78671-9_20
Z. Vasicek, L. Sekanina, Hardware accelerator of cartesian genetic programming with multiple fitness units. Comput. Inf. 29(6), 1359–1371 (2010). http://www.cai.sk/ojs/index.php/cai/article/view/149/126
Z. Vasicek, M. Zadnik, L. Sekanina, J. Tobola, On evolutionary synthesis of linear transforms in FPGA. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 5216, pp. 141–152. Springer, Berlin (2008). https://doi.org/10.1007/978-3-540-85857-7_13
J. Wang, Q.S. Chen, C.H. Lee, Design and implementation of a virtual reconfigurable architecture for different applications of intrinsic evolvable hardware. IET Comput. Digit. Tech. 2(5), 386–400 (2008). https://doi.org/10.1049/iet-cdt:20070124
J. Wang, C.H. Piao, C.H. Lee, Implementing multi-VRC cores to evolve combinational logic circuits in parallel. In Evolvable Systems: From Biology to Hardware, Lecture Notes in Computer Science, vol. 4684, pp. 23–34. Springer, Berlin (2007). https://doi.org/10.1007/978-3-540-74626-3_3
Xilinx Inc., Virtex-5 FPGA User Guide (UG190) (2012)
Xilinx Inc., 7 Series FPGAs Configurable Logic Block (UG474) (2014)
R.S. Zebulum, M.A.C. Pacheco, M.M.B.R. Vellasco, Evolutionary Electronics: Automatic Design of Electronic Circuits and Systems by Genetic Algorithms, 1 edn. no. 22 in International Series In Computer Intelligence (CRC Press Inc., 2001)
Acknowledgements
This work was partially supported by the Spanish Ministry of Economy and Competitiveness under the project REBECCA (Reference TEC2014-58036-C4-2-R), and the FPI grant program of said Ministry (Grant No. BES-2012-060459). The LUT-based PEs were originally developed in collaboration with Ing. Roland Dobai, Ph.D., from Brno University of Technology.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher’s Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations
Rights and permissions
About this article
Cite this article
Mora, J., Salvador, R. & de la Torre, E. On the scalability of evolvable hardware architectures: comparison of systolic array and Cartesian genetic programming. Genet Program Evolvable Mach 20, 155–186 (2019). https://doi.org/10.1007/s10710-018-9340-5
Received:
Revised:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10710-018-9340-5