Vous pouvez utiliser l'instruction procédurale non bloquante chaque fois que vous souhaitez effectuer plusieurs affectations de registre dans le même pas de temps sans égard à l'ordre ou à la dépendance les uns des autres. Cela signifie que les instructions non bloquantes ressemblent davantage au matériel réel qu'aux affectations bloquantes.
Pourquoi utilisons-nous le non-blocage en bloc ?
Les affectations bloquantes (=) et non bloquantes (<=) sont fournies pour contrôler l'ordre d'exécution dans l'exécution d'une instruction always block. Les affectations non bloquantes ne bloquent littéralement pas l'exécution des instructions suivantes. Le côté droit de toutes les instructions est déterminé en premier, puis les côtés gauches sont assignés ensemble.
Quand utiliseriez-vous des affectations bloquantes ou non bloquantes lors du codage de la logique séquentielle ?
Conseil 1: Lorsque vous modélisez une logique séquentielle, utilisez des affectations non bloquantes Conseil 2: Lorsque vous modélisez des verrous, utilisez des affectations non bloquantes. Il existe de nombreuses façons de coder la logique combinatoire à l'aide de Verilog, mais lorsque la logique combinatoire est codée à l'aide d'un bloc toujours, les affectations de blocage doivent être utilisées.
Qu'est-ce que les affectations bloquantes et non bloquantes ?
blocks, avec des comportements subtilement différents. • Affectation bloquante: l'évaluation et l'affectation sont immédiates. • Affectation non bloquante: toutes les affectations différées jusqu'à tous . les côtés droits ont été évalués (fin de la simulation.
Où est utilisé Verilog bloquant et non bloquant ?
Voici une bonne règle empirique pour Verilog: dans Verilog, si vous voulez créer une logique séquentielle, utilisez un bloc toujours cadencé avec des affectations non bloquantes Si vous voulez créer une logique combinatoire, utilisez un bloc toujours avec des affectations de blocage. Essayez de ne pas mélanger les deux dans le même bloc toujours.