Tracking Hardware Evolution

Jose Augusto Nacif1,  Thiago Sousa Silva2,  Luiz Filipe Vieira2,  Alex Borges3,  Claudionor Jose Coelho Jr.2,  Antonio Otavio Fernandes2
1Universidade Federal de Vi├žosa, 2Universidade Federal de Minas Gerais, 3Universidade Federal de Juiz de Fora


Software evolution is the term used to describe the process of developing and updating software systems. Software repositories such as versioning systems, and bug tracking systems are used to manage the evolution of software projects. The mining of this information is used to support predictions and improve design and reuse. Integrated circuit development can also benefit from these techniques. Nowadays, both software and hardware development use repositories and bug tracking systems. There are many hardware open source projects such as SUN's OpenSparc and designs at We propose a methodology to track specific HDL metrics in order to improve design quality. Our results present a case study that correlates HDL metrics to bug proneness of Verilog HDL modules. We also present EyesOn, an open source framework designed to automate historical and complexity metrics tracking of HDL projects.