En Verilog, qué técnicas se pueden usar para asignar un bus de direcciones a diferentes módulos de memoria. Caso típico: un núcleo de microprocesador cuyo espacio de direcciones se asigna a varios módulos de memoria: RAM, ROM, RAM de video, etc ...
He visto dos enfoques para esto:
- asignando el bus de datos de acuerdo con el rango de direcciones seleccionado.
- utilizando una selección de chip en los módulos de memoria de destino y habilitando el apropiado según la dirección.
¿Hay otras técnicas?
Entiendo que para el enfoque de selección de chip, los módulos de memoria deben poner sus direcciones y puertos de datos en un estado de alta impedancia para desconectarse efectivamente del bus. ¿Es correcto y es posible sintetizar esto?