Retroalimentación en circuitos digitales combinacionales

1

Se recomienda que no se use la retroalimentación en un circuito combinado y la razón es bastante clara porque el retraso de la salida que se alimenta a la entrada causa un mal funcionamiento.

Sin embargo, la celda ACT-1 de ACTEL (vea la Fig. 2 de hoja de datos ) es una celda básica compuesta por algunos multiplexores (que es combinacional) que es capaz de implementar incluso flip-flops. Vea este ejemplo que utiliza retroalimentación para implementar un latch RS. Entonces, la pregunta es, ¿deberíamos usar retroalimentación o no?

    
pregunta mahmood

3 respuestas

1

Como se mencionó, la lógica combinatoria con retroalimentación se usa para implementar flip flops y latches, por lo que no es intrínsecamente mala.

Sin embargo, hay algunos problemas específicos cuando lo usas, especialmente en un FPGA (donde presumiblemente eventualmente vas a conducir flip flips). El primer problema es que el tiempo de establecimiento de un circuito con retroalimentación no se puede determinar de forma estática. En ausencia de retroalimentación, la herramienta de síntesis puede simplemente sumar los retrasos de propagación de todas las puertas para determinar si las salidas se asentarán en el siguiente ciclo de reloj, y así determinar la frecuencia de operación máxima de un circuito. Si hay comentarios, eso no es posible.

Segundo, el tipo de retroalimentación que está describiendo normalmente genera pestillos, no flip-flops. Esto presenta algunos problemas. Un pestillo puede "ver" los estados temporales / intermedios y responder a ellos de una manera que usted no espera. Por ejemplo, si tiene un contador que recorre los estados 00 , 01 , 10 , 11 y desea que se active un pestillo cuando vea el estado 11 . Durante la transición entre 01 y 10 puede pasar por el estado 11 . Luego, si recompila los cambios de voltaje de suministro, o si cambia la temperatura del chip, el comportamiento puede cambiar, por lo que, en cambio, pasa a un estado intermedio. Esta instancia podría solucionarse mediante el uso de códigos grises, pero eso no siempre será posible.

    
respondido por el Evan
0

Cualquier flip-flop está construido alrededor de lógica combinacional con retroalimentación. Y nadie puede impedirle que cree un diseño completamente asíncrono (¡y funcional!).

Sin embargo, esos diseños son realmente complicados y ciertamente no son para principiantes. Para la mayoría de los diseños, se prefiere la lógica síncrona ya que muchas herramientas de diseño y depuración (como Static Timing Analysis) se pueden usar solo en el entorno de un diseño síncrono.

Entonces, la respuesta a su pregunta es (como ya se dijo en los mismos comentarios), a menos que sepa muy bien lo que está haciendo, no utilice los comentarios sobre la lógica combinatoria.

    
respondido por el Claudio Avi Chami
0

A juzgar por sus etiquetas, sugiere utilizar VHDL y un FPGA para diseñar elementos de memoria combinatoria. Sin embargo, aunque puede simplemente diseñar puertas y multiplexores en VHDL, su función lógica se implementará en las tablas de búsqueda (LUT) en el FPGA. El comportamiento del tiempo diferirá dependiendo de cómo se asignan las funciones a estas LUT: qué entradas se usan, cuántas entradas se usan, etc.

Además de esto, el tamaño de las LUT es limitado (generalmente a 4-6 entradas), por lo que para funciones más complejas es necesario conectar múltiples LUT. Las conexiones entre los LUT (elementos de enrutamiento) introducen otros elementos de tiempo que dependen mucho de la implementación final en el FPGA.

Puede configurar el tiempo de su diseño usando restricciones de diseño: esto le dice a la herramienta de síntesis, ubicación y enrutamiento qué tiempo desea lograr con sus señales. Se usa mucho en aplicaciones complejas de alto rendimiento. Sin embargo, requiere mucha mano de obra y es bastante difícil: la herramienta no le mostrará el panorama completo, por lo que debe saber qué está haciendo. También es probable que aumente el tiempo de ejecución de la síntesis, el lugar y el enrutamiento, ya que esta herramienta tendrá que esforzarse mucho para alcanzar sus objetivos.

    
respondido por el JHBonarius

Lea otras preguntas en las etiquetas