Módulos genéricos de Verilog del sistema y puertos no utilizados

4

He escrito un FIFO parametrizado para su reutilización. Como quiero usar el FIFO en varios lugares, agregué varias señales de salida para el estado de relleno, como full , empty , almostFull y almostEmpty .

Sin embargo, a veces no se utilizan todas las señales de salida, lo que genera advertencias sobre las señales no utilizadas y que se eliminará la lógica asociada. Estas advertencias abarrotan el panel de mensajes.

Pregunta

¿Cuál es la forma correcta de diseñar un módulo genérico como un FIFO, y evitar ¿Advertencias sobre puertos no utilizados (al usar interfaces para la conexión)?

Preguntas relacionadas:

No creo que enlace sea el camino a seguir, ya que estoy feliz de que la herramienta de síntesis lo extraiga , Simplemente no quiero una advertencia para eliminación de código muerto .

Aunque ¿Cómo eliminar esta advertencia en Verilog? parece estar relacionado, no ayuda, ya que puedo ' Simplemente elimine la lógica / cables ofensivos, ya que pueden ser utilizados por otras instancias del código.

    
pregunta ted

2 respuestas

3

No hay nada en el lenguaje SystemVerilog que le permita especificar las salidas que se pueden dejar desconectadas. Y no desea desactivar globalmente las advertencias de eliminación de código muerto porque eso podría ocultar problemas mucho más grandes. Veo tres opciones posibles:

  1. Escriba un script que filtre sus mensajes para eliminar las advertencias de la lógica muerta que está bien eliminar.
  2. Cree versiones separadas de su FIFO con diferentes conjuntos de salidas y cree una instancia de la versión correcta según la versión que se necesite. Me doy cuenta de que esto va en contra de la solución genérica que está buscando, pero el uso de macros o submódulos podría hacerlo un poco más reutilizable.
  3. Vive con él tal como son los mensajes ahora.
respondido por el dave_59
0

Lo que desea puede lograrse mediante el uso de interfaces y modports SystemVerilog. Puede crear una interfaz que tenga todas las señales relacionadas con FIFO. Luego, define los modos de transporte para diferentes usos donde cada puerto de puerto expone solo un subconjunto de las señales de su interfaz.

De esta manera, solo se puede mantener un archivo de descripción FIFO, que también puede incluir la interfaz y su descripción de puerto.

Consulte el Capítulo 25.5 de SystemVerilog LRM IEEE Std 1800-2012 .

    
respondido por el Ari

Lea otras preguntas en las etiquetas