¿Por qué usar un módulo personalizado en lugar de un divisor de reloj?

1

Fondo
He creado un módulo VHDL que genera continuamente un patrón ancho de un bit de "1010101010 ..." siempre que su habilitación de entrada de bits sea alta, como parte de una asignación de clase. En la descripción de la asignación, la justificación para crear este módulo es que se usan en muchos dispositivos, y un ejemplo es el preámbulo de Ethernet I1, que consta de ocho octetos de repetición de "10101010".

Aquí está el resultado de mi simulación:

Lapregunta
Entiendolautilidaddelpreámbuloparasincronizarpaquetes,perotengolaimpresióndeladescripcióndemiinstructordequelosdiseñadoresdehardwareescribiránmóduloscomoesteparagenerarestepatrónsinreferirmeaélcomoun"divisor de reloj", a pesar de que esencialmente es uno. ¿Por qué no llamarlo simplemente un divisor de reloj en lugar de un "preamble_generator" u otros nombres similares?

    
pregunta skrrgwasme

2 respuestas

4

Se trata del contexto de la aplicación más grande. "Separador de reloj" me implica que la salida también se usará como un reloj, o tal vez como una señal de habilitación de reloj. "Generador de preámbulos" implica que la salida se usará como datos. Este es un ejemplo bastante trivial, pero en proyectos más complejos, los nombres significativos pueden hacer mucho para que un diseño sea comprensible para otra persona.

    
respondido por el Dave Tweed
2

Me gustaría señalar que un divisor de reloj implicaría múltiples dominios de reloj, algo que quizás no quiera hacer en el diseño de alta velocidad. En el diseño de alta velocidad, la lógica cambia de estado en el borde de un reloj. Agregar lo que se puede ver como otro reloj puede dificultar el enrutamiento y el rendimiento.

El generador de preámbulos es más una descripción precisa de la lógica

    
respondido por el johnnymopo

Lea otras preguntas en las etiquetas