Étape 5: Un conte de deux langues
Certains programmeurs verilog pourraient arriver à cette étape et dire "Ok, la chose essai est sympa et ciseau ressemble assez mais je peux encore le faire en verilog. Pourquoi devrais-je changer? ". La chose que j’aime plus le ciseau est combien il est facile d’écrire des choses qui sont paramétré. Pour comprendre comment cela est puissant vous doivent se rendre compte que vous réellement programmez dans deux langues simultanément, Scala et un burin. La scala est dirigé tout d’abord créer les connexions pour ciseau. Burin puis utilise cette conception scala générée.
En regardant l’exemple, les bitWidth et les useReg est des variables en scala. Lorsque scala s’exécute, ces variables sont affectés de valeurs par des modules plus haut. Cela vous permet de déclarer ce module une fois et l’utiliser partout quand vous avez besoin d’un stade de pipeline ou non et pour largeur variable ajoute. Cet exemple est trivial, mais envisager son extension à une arborescence de l’additionneur de taille arbitraire avec différentes configurations du pipelining pour apprécier pleinement ce qu’il peut faire.