¿Por qué las chanclas generalmente se activan en el borde ascendente del reloj?

14

Por lo general, en el diseño digital, tratamos con flip-flops que se activan en una transición de señal de reloj 0 a 1 (activada por flanco positivo) en lugar de en una transición de 1 a 0 (activada por flanco negativo). Conozco esta convención desde mis primeros estudios sobre circuitos secuenciales, pero no la he cuestionado hasta ahora.

¿Es arbitraria la elección entre activada por borde positivo y activada por borde negativo? ¿O hay una razón práctica por la cual las chanclas activadas por borde positivo se han vuelto dominantes?

Travisbartley
fuente
2
La forma en que sucede la mayoría de este tipo de cosas es que alguien lo hace de una manera, otra persona necesita hacer que el hardware sea compatible, y hace lo mismo, y unos años más tarde tiene un estándar accidental.
Connor Wolf
1
Trabajo con chanclas que en su mayoría están activadas por Falling Edge. ¡Tenía exactamente la pregunta opuesta!
Swanand

Respuestas:

10

La mejor suposición: la tendencia de borde positivo es un subproducto de los diseños que intentan usar una pequeña área / partes como sea posible antes de la década de 1970 . Una medida de ahorro de costos para la producción al aumentar el número de chips por oblea. Los DFF modernos pos / neg-edge a menudo tienen un área total igual, por lo tanto, la tendencia de borde positivo es ahora una práctica heredada.

El ahorro de área vino de los diseños "clásicos" D-flip-flop. Los componentes modernos maestro / esclavo de un D-flip-flop pueden usar dos pestillos de 5 transistores; Patentes WO1984003806 A1 y US4484087 A ambas presentadas el 23 de marzo de 1984. Se presentó una patente de 8 transistores D-latch el 6 de febrero de 1970; Un US3641511 . En aras de la simplicidad, los diseños basados ​​en los pestillos SR / SnRn se denominarán "Clásicos" y "Modernos" para los diseños que utilizan las patentes D-latch / S-cell mencionadas.

En un diseño IC, una puerta NAND usa menos área que la puerta NOR debido a las propiedades características de un NMOS y PMOS. Formulario allí, el área de ahorro de tamaño en cascada. Los pestillos D forman los pestillos SnRn son más pequeños que los pestillos SR. Los diseños clásicos de D-flip-flop se basan en estas puertas lógicas. Después de buscar varios diseños, los diseños clásicos de borde positivo son siempre más pequeños que los diseños clásicos de borde negativo. La migración a la Modernidad se produjo a medida que el costo de las fichas se volvió favorable: ahorro de área versus tarifa de regalías.


Excavando un poco más para demostrar las diferencias de área:

Flip-flop clásico de borde positivo: descripción y diagrama de flip-flop D clásico de disparo positivo de Wikipedia basado en esquemas usando cinco NAND2 y un NAND3. Esto utiliza un total de trece NMOS y trece PMOS.

esquemático

simular este circuito : esquema creado con CircuitLab

El mejor D-flip-flop clásico de borde negativo que pude encontrar es usar dos D-Latches y dos inversores. Formulario de referencia esquemática http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Esto utiliza un total de dieciocho NMOS y dieciocho PMOS. Colocar un inversor en la posedge clásica anterior reducirá el recuento de transistores de este diseño. En cualquier caso, el clásico borde negativo es más grande que el diseño de borde positivo.

esquemático

simular este circuito

Un diseño moderno de flip-flop D puede tener el siguiente aspecto según las patentes WO1984003806 A1 y US4484087 Una descripción de cinco transistores D-latch. Esto utiliza un total de cinco NMOS y cinco PMOS; Grandes ahorros de área en comparación con los clásicos. Invertir el orden maestro / esclavo crearía un flip-flop de borde negativo de igual tamaño.

esquemático

simular este circuito

Solo estoy demostrando los diseños más pequeños posibles. Los diseños pueden basarse en los requisitos de diseño, en las bibliotecas de celdas estándar permitidas, en las funciones de reinicio / preajuste u otras razones.

Greg
fuente
Ese es un buen punto. Me estaba acercando al problema desde la distribución del reloj, pero puedo ver cómo la arquitectura DFF podría ser diferente. Sin embargo, creo que los flops activados por bordes negativos también pueden tener una arquitectura basada en NAND. ¿Puedes agregar un esquema de la (s) arquitectura (s) de la que estás hablando?
travisbartley
1
@ trav1s, actualicé mi respuesta con ejemplos y algunas investigaciones de patentes.
Greg
Me pregunto en qué medida los chips utilizan otras técnicas para los pestillos que deben funcionar en función de los bordes de un reloj aplicado externamente. Por ejemplo, el uso de un reloj de dos fases y una lógica semidinámica podría reducir el número requerido de transistores por flop a siete [un enfoque totalmente dinámico sería seis, pero agregar un séptimo transistor le permite a uno agregar un estado de "retención" completamente estático. ]
supercat
@ Greg, buen trabajo. Tu hallazgo es justo lo que esperaba. Ese transistor 10T al final es algo hermoso.
travisbartley
Respuesta interesante y muy perspicaz. Está diciendo que la tendencia a la posedge se produjo antes de los años 70, pero esto no es consistente con mis hallazgos (vea mi respuesta). ¿Qué te hizo pensar en esta cita? Solo una suposición, ¿o tienes alguna información adicional? Si es lo último, estaré encantado de obtener una referencia (para mejorar mi propia respuesta :))
Vasiliy
3

Hay algunas suposiciones básicas aquí que se cubrieron en otra publicación (que no puedo encontrar ahora).

Si cuenta el número total de elementos lógicos colocados y la lógica cronometrada (número total de FF enviados), probablemente estarán en procesadores y microprocesadores, Intel, DEC, etc. La manifestación de esto es que termina con un pequeño grupo de personas / equipos que son responsables de diseños que cubren muchas décadas, sin muchos detalles del funcionamiento interno.

Por el contrario, tiene muchos equipos diferentes que trabajan en flujos ASIC, con muchos más proyectos pero que corresponden a menos volumen.

La mayoría de los diseños de procesadores en realidad no tienen un reloj de borde positivo o negativo, sino que están diseñados utilizando un esquema de reloj complementario de doble enganche, NOC (reloj no superpuesto).

Entonces terminas con entradas -> (nube lógica) -> bloqueo del reloj -> nube lógica -> bloqueo del esquema de reloj. Cuál es la forma canónica de un maestro esclavo FF con lógica dentro.

Este tipo de metodología de diseño tiene varias ventajas, pero también tiene una complejidad adicional.

Otra cosa desafortunada es que esta metodología de diseño no se enseña en la mayoría de las universidades. Todos los diseños de Intel x86 son de este tipo (no se debe confundir el funcionamiento externo de las interfaces con el funcionamiento interno) con los notables núcleos SOC sintetizables que se han diseñado para dispositivos móviles.

Se puede encontrar un excelente discurso sobre esto en "Dally, William J. y John W. Poulton". Ingeniería de Sistemas Digitales. Cambridge University Press, 1998. la sección 9.5 discute "sincronización síncrona de bucle abierto" <título del capítulo. Sin embargo, para citar "Sin embargo, el tiempo activado por el borde, rara vez se usa en microprocesadores de alta gama y diseños de sistemas, en gran medida porque da como resultado un tiempo de ciclo mínimo que depende del sesgo del reloj".

Sí, una respuesta totalmente pedante. pero una metodología importante que es poco conocida, considerando cuántos transistores totales hay en estos diseños (lotes y lotes).

marcador de posición
fuente
Leí esto tres veces, pero todavía no puedo ver cómo se relaciona esto con la pregunta de OP ...
Vasiliy
1
Además, decir que las CPU están construidas solo con pestillos es un poco exagerado (tal vez incluso no sea un "poco"). Los cierres se utilizan en lógica crítica de alto rendimiento (principalmente rutas de datos), pero todavía hay muchos flip-flops presentes. La principal desventaja de los pestillos es la dificultad de análisis de temporización: debido a la capacidad de "préstamo de tiempo" del diseño basado en pestillos (la misma capacidad que hace que este diseño sea "más rápido"), es muy difícil probar el diseño basado en pestillos para el cierre de temporización. En las partes no críticas de las CPU se utilizan principalmente FF.
Vasiliy
La palabra clave en el título es "generalmente" - 1) en el número total de diferentes tipos de chips diseñados - entonces el flujo ASIC y el disparador de borde serán habituales. 2) si el número total de transistores / elementos lógicos enviados, los diseños de CPU ganan y luego el doble reloj basado en el enganche gana y la declaración no es válida.
marcador de posición el
1
No puede mirar la interfaz de estos chips para determinar cuál es la operación interna. Como dije, un Flip Flop maestro esclavo es solo una versión simplificada de un diseño basado en un pestillo de nube lógica doble de reloj de dos fases. El análisis de tiempos no es difícil, de hecho, está simplificado. Es mejor que esté seguro de sus dominios de reloj.
marcador de posición el
1
No, las palabras clave son "flip-flop" y "edge of the clock". Los pestillos son dispositivos sensibles al nivel, no sensibles al borde. Hombre de las manzanas y las naranjas: si quiero saber por qué las naranjas son de color naranja, el hecho de que haya muchas personas que prefieren las manzanas es completamente irrelevante.
Vasiliy
2

El rendimiento actual de la tecnología CMOS (en términos de potencia / área / velocidad / costo) parece ser insensible al esquema de activación utilizado.

No puedo probar rigurosamente la declaración anterior porque requiere mucho conocimiento preliminar e investigación, e incluso el resumen de la prueba probablemente sea demasiado largo para una respuesta. Que yo sepa, no hay diferencias, por lo tanto, permítanme asumir que este es el caso.

Tampoco sé si su afirmación sobre que los flip-flops se activan generalmente en el borde positivo del reloj es correcta (creo que lo es). Permítanme suponer que esto también es correcto para el propósito de la siguiente discusión.

Bajo todos los supuestos anteriores, veo solo dos posibilidades:

  • El disparo de borde positivo se convirtió en un estándar porque tenía algunas ventajas claras en algún momento en el pasado. Después de que la tecnología que explotó esta ventaja se volvió obsoleta, la activación positiva de los bordes seguía siendo el estándar de facto.
  • El disparo de borde positivo se convirtió en un estándar sin ninguna legitimidad de ingeniería, es decir, no proporcionó ninguna ventaja en ninguna familia lógica y ningún nodo tecnológico en el pasado.

Para ver cuándo el disparo de borde positivo se convirtió en un estándar, decidí seguir la evolución de los esquemas de sincronización de CPU de Intel :

  1. ϕ2
  2. 8086 : el bloqueo de la salida de datos se realizó en el borde negativo de CLK.
  3. 80386 : Positivo usado Borde de CLK2.
  4. 80486 : Usado positivo Borde de CLK.
  5. Pentium : borde positivo usado de CLK ...

Parece que Intel comenzó con la activación de flanco negativo (si este término se puede aplicar a las primeras CPU), pero cambió a la activación de flanco positivo a partir de 386.

El 8086 utilizó la tecnología HMOS (algún tipo de lógica NMOS de carga de agotamiento ) mientras que el 80386 era CHMOS (es un tipo de CMOS). Parece que la adopción del disparo de borde positivo ocurrió en paralelo con la adopción de la tecnología CMOS. Asumimos que CMOS no proporciona ninguna ventaja al disparo de borde positivo, por lo tanto, parece que esta convención es arbitraria.

Sin embargo, debemos tener en cuenta tres puntos:

  • Asumimos que las tecnologías CMOS actuales no ofrecen ninguna ventaja.
  • El supuesto anterior no fue probado ni debatido de ninguna forma.
  • De las hojas de datos, está claro en qué borde Data Out está bloqueado, sin embargo, esto puede no representar la implementación interna.

Claramente, hay espacio para investigaciones adicionales. Continuará...

Vasiliy
fuente