que yo sepa, registre (por ejemplo, reg reg1) y registre el archivo (por ejemplo, reg [3: 0] reg2)
se puede usar en el bloque siempre, ya sea secuencial (es decir, siempre @ (campo de posición)) o combinacional (es decir, siempre @ *).
Sin embargo, solo cuando se usan en bloque secuencial siempre, los Flip-flops se deducen.
Creo que es porque los archivos de registro y registro en bloque combinado siempre se asignan continuamente, por lo que la memoria puede no ser necesaria.
Sin embargo, no sé por qué Verilog permite el uso de registros y archivos de registro dentro del bloque always @ *, que es un circuito combinado.
¿Se debe a que se habilite la descripción del nivel de RT como, por ejemplo, declaración de caso, declaración de caso, etc. en lógica combinacional?
El nombre 'reg' me confunde porque su nombre implica el almacenamiento (FF), pero actúa como un cable dentro del bloque always @ *.
Parece que el 'reg' funciona como se espera como un almacenamiento solo dentro del bloque siempre secuencial.
A pesar de que asignar palabra clave permite asignar un valor a una variable de cable, ¿Hay alguna otra razón por la que Verilog permita que los archivos de registro y registro se usen dentro del bloque always @ * como cable?
Para mí, un registro y un archivo de registro solo se declaran como un tipo de registro en el bloque de combinación combinada que se utilizará en LHS de asignación, pero actúa como una variable de tipo de cable.
Aprecio cualquier ayuda.