Od 2001 roku narzędzie było rozwijane głównie przez Wilsona Snydera w ramach otwartoźródłowego projektu Veripool. Dodano możliwość generacji SystemC, a narzędzie przepisano od podstaw w C++, co doprowadziło do wzrostu jego wydajności. W 2009 roku Verilator zaczął częściowo wspierać SystemVerilog. W 2018 roku dodano możliwość generacji modeli działających współbieżnie. Od 2022 roku, Verilator w wersji 5 wykorzystuje algorytm planisty zgodny ze standardem IEEE oraz wsparcie dla modelowania opóźnień, co usuwa wcześniejsze ograniczenia, przez które wszystkie opóźnienia były ignorowane.

Działanie Verilator wspiera większość funkcjonalności języka Verilog oraz SystemVerilog. Podejście stosowane w Verilatorze jest bliższe syntezie układu niż jego symulacji.

Podczas konwersji, zawartości modułów są osadzane w miejscach ich użycia, aby utworzyć jeden moduł. Wykonywana jest też analiza statyczna projektu w celu eliminacji nadmiarowych przewodów i odgórnego zaplanowania kolejności wykonywania opisanych w nim procesów. Ostatecznie tworzona jest klasa w języku C++ zawierająca pola, którym można przypisywać wartości dla portów wejściowych modelowanego układu, a także metody wykonujące pojedynczy krok symulacji.