Étape 3: Connecter les Modules en ciseau
Le tutoriel de ciseau que vous avez téléchargé avant a des grands exemples de code avec les problèmes et solutions. Si vous préfère jouer avec des exemples et modifiez-les suivre la section remplissant les tutoriels dans le fichier README de la pension que vous avez téléchargé.
Les images ci-dessus montrent un des exemples dans le Repo Chisel. Un multiplexeur ou mux en abrégé sert à choisir entre deux entrées. La première image montre une implémentation d’un multiplexeur avec deux entrées, in0 et in1. Ils sont tous deux un peu en taille. Le sel peu puis choisit entre in0 et in1. Si sel = 0 puis out = in0, sinon si sel = 1 puis out = in1. Après avoir créé ce module nous pouvons l’utiliser dans un autre module de choisir entre 4 bits. Pour ce faire, nous devons maintenant deux bits de sélection pour choisir lequel des quatre entrées. En outre écrit in0, in1, in2 in3 est en désordre. Pour remédier à cela, nous utilisons une CVÉ Chisel pour dire que nous voulons 4 entrées. Cela s’apparente à un tableau ou de liste et nous pouvons accéder à quels bits que nous voulons. Maintenant, nous créons des trois modules de Mux2 et connectez-les à nos entrées et sorties. Ceci termine le mux 4 bits.
Opérateurs en ciseau
Quelque chose vous avez peut-être remarqué est le mélange de la "= « et »: =" dans les exemples. Ils signifient deux choses différentes. Le « = » est scala. Dans l’exemple ci-dessus les modules sont créés en tant qu’objets de la scala. Le ": =" est utilisé pour connecter des « fils ». Il s’agit de l’opérateur de ciseau, disant que la valeur de quelque chose doit être raccordée à la sortie de quelque chose d’autre. Il y a un peu plus par exemple dans le cas des déclarations où "==" est généralement utilisé pour comparer deux objets scala où en tant que "=== » est utilisé pour comparer les valeurs des deux"fils"en ciseau. Voir ciseau-tutorial.pdf pour plus de détails.