Stap 3: Aansluiten van Modules in beitel
De beitel tutorial die u hebt gedownload voordat heeft sommige grote voorbeeldcode met problemen en oplossingen. Als u liever met voorbeelden spelen en volgen aanpassen de sectie van de voltooiing van de Tutorials in het Leesmij-bestand van de repo die u hebt gedownload.
De afbeeldingen hierboven tonen een van de voorbeelden in de beitel Repo. Een multiplexer of mux voor korte wordt gebruikt om te kiezen tussen twee ingangen. De eerste afbeelding toont een implementatie van een multiplexer met twee ingangen, in0 en in1. Ze zijn beide beet in grootte. De sel bit dan kiest tussen in0 en in1. Als sel = 0 vervolgens uit = in0, anders als sel = 1 vervolgens uit = in1. Na het maken van deze module kunnen we gebruiken in een andere module om te kiezen tussen 4 bits. Om dit te doen moeten we nu twee bits van de selectie om te kiezen welke van de vier ingangen. Daarnaast is schrijven in0 in1, in2, 3 rommelig. Dus in plaats daarvan gebruiken we een Chisel Vec om te zeggen dat we willen 4 ingangen. Dit is vergelijkbaar met een array of lijst en wij kunnen benaderen welke bits die we willen. Wij nu drie Mux2 modules te maken en hen verbinden met onze in- en uitgangen. Dit is de 4 bit mux voltooid.
Exploitanten in de beitel
Iets wat je hebt misschien gemerkt is het mengen van de "="en": =" in de voorbeelden. Ze betekenen twee verschillende dingen. De "=" scala is. In het voorbeeld hierboven de modules worden gemaakt als scala objecten. De ": =" wordt gebruikt om verbinding te maken met 'draden'. Dit is de operator van de beitel zeggen dat de waarde van iets moet worden aangesloten op de uitgang van iets anders. Er zijn een paar meer zoals als verklaringen waar "==" meestal gebruikt wordt om te vergelijken twee scala objecten waar als "===" wordt gebruikt voor het vergelijken van de waarden van twee 'draden' in beitel. Zie beitel-tutorial.pdf voor meer details.