Comprendre «Verilog default: '1»

Sep 09 2020

J'ai quelques questions sur ce que fait ce code et comment il fonctionne:

x <= '{default:'1} ;
  1. À quoi sert le mot-clé "par défaut"?
  2. Quel est le but de l'apostrophe intérieure entre guillemets simples avant le 1 dans ce cas?
  3. À quoi sert l'apostrophe entre guillemets simples avant le {dans ce cas?

Réponses

3 dave_59 Sep 09 2020 at 22:02

Le guillemet simple intérieur avant le 1 est un remplissage littéral numérique. Le '0, '1, 'z, et 'xlittéraux sera étendu pour remplir la largeur de tout contexte , ils sont utilisés dans.

Le guillemet simple extérieur avant le {signifie qu'il s'agit d'un modèle d'affectation à un tableau ou une structure. Les modèles d'affectation nécessitent une valeur pour chaque élément du tableau ou de la structure, qui peut être triée par position ou mise en correspondance par nom / index. Lorsqu'il est mis en correspondance par nom / index, le default:sert de correspondance à tout élément non spécifié.

Tout cela est expliqué dans la section 10.9 Modèles d'attribution dans le système IEEE 1800-2017 SystemVerilog LRM

schnedan Sep 09 2020 at 21:44

Pour autant que je sache:

  • son SystemVerilog
  • '{} définit une structure (sans nom)
  • par défaut: '1, comme la largeur par défaut est 32 bits, est 32x' 1 'comme constante

(si ce n'est pas correct, veuillez me corriger)