Stap 5: Een verhaal van twee talen
Sommige programmeurs verilog zou kunnen krijgen met deze stap en zeggen "Ok, het testen wat is leuk en beitel ziet er mooi, maar ik kan nog steeds doen in verilog. Waarom moet ik veranderen? ". Het ding dat ik net als de meeste over beitel is hoe gemakkelijk het is om te schrijven van de stuff thats geparametriseerd. Om te begrijpen hoe krachtig dit is u moeten zich realiseren dat u eigenlijk in twee talen gelijktijdig programmeert, Scala en beitel. De scala wordt uitgevoerd de aansluitingen voor de beitel eerst te maken. Beitel gebruikt vervolgens dit ontwerp scala gegenereerd.
Kijkend naar het voorbeeld, bitWidth en useReg zijn variabelen in scala. Wanneer scala wordt uitgevoerd, worden deze variabelen waarden toegewezen door modules hoger. U kunt deze module eens verklaren en het overal gebruiken wanneer u een pijpleiding stadium of niet nodig en voor variabele breedte wordt toegevoegd. In dit voorbeeld is triviaal maar beschouwen de uitbreiding ervan tot een boom van de adder van willekeurige grootte met verschillende configuraties van pipelining om ten volle waarderen wat het kan doen.