Diseño de triplicador de frecuencia digital

¿Cómo puedo implementar un circuito digital usando puertas lógicas booleanas? ingrese la descripción de la imagen aquí
Como puede ver, en cada flanco ascendente, ocurre una oscilación y la señal regresa al nivel lógico ALTO después de la oscilación. Esto también es lo mismo para el borde descendente.

¿Tienes una señal de reloj en tu diseño? ¿Cuál es la frecuencia del reloj en comparación con la entrada?
No, no tengo señal de reloj. La señal de entrada de este circuito es la salida de un circuito lógico combinacional puro. Las transiciones ocurren debido al cambio en las entradas del circuito fuente combinacional.
¿Está permitido usar componentes reactivos o todo debe ser totalmente digital?
Creo que esto está relacionado con su otra pregunta, electronics.stackexchange.com/questions/150209/… , ¿tal vez otro problema para el mismo curso? Si es para un curso?
@pkp Quiero usar el resultado de cada pregunta en la misma tarea, sin embargo, son preguntas diferentes con detalles diferentes.
VSB, Ok, entonces, ¿puede decir si puede usar componentes discretos como resistencias y capacitores o necesita hacerlo todo en silicio?

Respuestas (3)

Intente crear dos nuevas señales con un circuito RC de retardo y un disparador schmitt: -

ingrese la descripción de la imagen aquí

Luego use puertas OR exclusivas en las tres señales para crear la señal de salida deseada.

Hmm ... No creo que esté respondiendo exactamente a su pregunta ... preguntó cómo hacer esto con (¿solo?) puertas lógicas y su otra pregunta ( electronics.stackexchange.com/questions/150209/… ) me lleva creer que está tomando algún tipo de curso de elementos de circuitos microelectrónicos digitales. Sin embargo, una buena respuesta para una pregunta genérica y, bueno, en realidad, hasta cierto punto, los retrasos en la propagación de los circuitos microelectrónicos podrían verse como retrasos RC.
Publiqué la respuesta deseada.
@PkP: es difícil esto porque la palabra "solo" podría tomarse para excluir las fuentes de alimentación y los condensadores de desacoplamiento. OK, estoy insistiendo un poco en eso aquí, pero también señalaría que el retraso de un elemento lógico se debe principalmente a la carga de condensadores a través de dispositivos de corriente limitada y esto es muy similar a los elementos de resistencia-condensador. Ajá, veo que dijiste esto arriba.

Si se trata de un diseño puramente asincrónico como usted dice, entonces necesita generar sus propias señales de tiempo. Si esta es una pregunta de estudios universitarios, entonces la respuesta esperada es probablemente usar los retrasos de propagación de las puertas independientes para subir y bajar las señales; conecte varias puertas (como inversores) una tras otra para generar señales con diferentes retrasos de propagación. Luego use puertas lógicas independientes para combinar las señales retrasadas en la forma de onda de salida que necesita. Esta técnica es posible con un diseño de IC totalmente personalizado o mediante el uso de puertas lógicas separadas (como los IC lógicos de la serie 74HCxxx). Pero esta metodología de diseño no es posible con FPGA porque los FPGA no tienen puertas separadas. (A menos que coloque y enrute el FPGA a mano utilizando puertas de macroceldas seleccionadas a mano cuyas propiedades conoce).

Otros métodos de diseño requieren hacer una señal de reloj, usando algún tipo de oscilador. Luego, puede usar esa señal de reloj para hacer un diseño síncrono que puede implementarse mediante cualquier metodología de diseño de su elección, como FPGA. (Hablo de FPGA porque hablas de ellos en otra pregunta tuya).

Implementé el circuito sktechd en el siguiente esquema:

esquemático

simular este circuito : esquema creado con CircuitLab

Implementarlo en Verilog y simularlo en Xilinx ISE considerando los retrasos en la puerta conduce al siguiente resultado:ingrese la descripción de la imagen aquí

Gracias por la aclaración. Entonces, ¿básicamente hiciste lo que sugerí?
Sí, sin embargo, supongo que el resultado práctico en CAMPO será mucho mejor, ya que creo que el retraso de las cajas de interruptores y los cables no se controlan por completo en la simulación.
Bueno, gracias. Solo recuerde que si implementa esto en FPGA, puede o no funcionar así, dependiendo de cómo se mapeen las puertas. Normalmente, el optimizador lógico elimina esos inversores (puertos "NO") y terminará con "a xor a xor a", que es a , por lo que el XOR también se optimizará y la salida se conectará directamente a la entrada (no lógica producida).
Agregué (* KEEP = "TRUE" *)a las puertas INV para evitar que se eliminen durante la síntesis.