Comprendre «Verilog default: '1»
J'ai quelques questions sur ce que fait ce code et comment il fonctionne:
x <= '{default:'1} ;
- À quoi sert le mot-clé "par défaut"?
- Quel est le but de l'apostrophe intérieure entre guillemets simples avant le 1 dans ce cas?
- À quoi sert l'apostrophe entre guillemets simples avant le {dans ce cas?
Réponses
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
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)