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?
digital-logic
mosfet
signal
Travisbartley
fuente
fuente
Respuestas:
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.
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.
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.
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.
fuente
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).
fuente
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:
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 :
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:
Claramente, hay espacio para investigaciones adicionales. Continuará...
fuente