Functional verification is a major challenge of the hardware design development and verification cycle. Several approaches have been developed lately in order to tackle this challenge, including coverage based verification. Within the context of coverage based verification, many metrics have been proposed to capture and verify the design functionality. Some of the used metrics are code coverage, FSM coverage, and functional coverage point that capture design specifications and functionalities. Defining the appropriate functional coverage points (monitors) is a quite tricky and non-trivial problem. However, the real bottleneck concerns generating suitable test patterns that can adequately activate those coverage points and achieve high coverage rate. In this thesis, we propose an approach to automatically generate proper directives for random test generators in order to activate multiple functional coverage points and to enhance the overall coverage rate. In contrast to classical blind random simulation, we define an enhanced genetic algorithm procedure performing the optimization of coverage directed test generation (CDG) over domains of the system inputs. The proposed algorithm, which we call Cell-based Genetic Algorithm (CGA), incorporates unique representation and genetic operators especially designed for CDG problems. Rather than considering the input domain as a single unit, we split it into a sequence of cells (subsets of the whole input's domain) which provide rich and flexible representations of the random generator's directives. The algorithm automatically optimizes the widths, heights and distribution of these cells over the whole inputs domains with the aim of enhancing the effectiveness of using test generation. We illustrate the efficiency of our approach on a set of designs modeled in SystemC