Por que criamos chinelos?


19

Estou tentando entender chinelos e trincos. Estou lendo o livro Digital Logic de Morris Mano. Uma coisa que não consigo entender é por que relógio chinelos?

Entendo por que precisamos de travas "ativadas" ou fechadas. Mas qual é a utilidade do relógio? Eu não sou capaz de entender isso. Por que não podemos simplesmente ativar os flip-flops necessários e fornecer a eles? À medida que mudamos a entrada, a saída muda. Por que precisamos alterar a saída com o aumento ou diminuição do limite do relógio (no caso de flip-flop acionado pelo limite)?

Qualquer ajuda sobre isso é apreciada.

Respostas:


18

Uma razão pela qual cronometram flip-flops para que não haja caos quando as saídas dos flip-flops são alimentadas por algumas funções lógicas e voltadas para suas próprias entradas.

Se a saída de um flip-flop é usada para calcular sua entrada, cabe a nós ter um comportamento ordenado: impedir que o estado do flip-flop mude até que a saída (e, portanto, a entrada) seja estável.

Esse relógio permite construir computadores, que são máquinas de estado: eles têm um estado atual e calculam seu próximo estado com base no estado atual e em algumas entradas.

Por exemplo, suponha que desejamos construir uma máquina que "calcule" uma contagem incremental de 4 bits de 0000 a 1111 e, em seguida, envolva até 0000 e continue. Podemos fazer isso usando um registrador de 4 bits (que é um banco de quatro chinelos D). A saída do registro é realizada através de uma função lógica combinatória que adiciona 1 (um somador de quatro bits) para produzir o valor incrementado. Esse valor é simplesmente devolvido ao registrador. Agora, sempre que a borda do relógio chegar, o registro aceitará o novo valor que é um mais seu valor anterior. Temos um comportamento ordenado e previsível, que percorre os números binários sem nenhuma falha.

Os comportamentos de relógio também são úteis em outras situações. Às vezes, um circuito possui muitas entradas, que não se estabilizam ao mesmo tempo. Se a saída for produzida instantaneamente a partir das entradas, será caótica até que as entradas se estabilizem. Se não queremos que os outros circuitos que dependem da saída vejam o caos, fazemos o circuito cronometrar. Permitimos uma quantidade generosa de tempo para que as entradas assentem e, em seguida, indicamos ao circuito para aceitar os valores.

O relógio também é inerentemente parte da semântica de alguns tipos de chinelos. O flip-flop AD não pode ser definido sem uma entrada de relógio. Sem uma entrada de relógio, ele ignorará sua entrada D (inútil!) Ou simplesmente copiará a entrada o tempo todo (não um flip-flop!) Um flip-flop RS não tem um relógio, mas usa duas entradas controlar o estado que permite que as entradas sejam "auto-temporizadas": isto é, as entradas e os gatilhos para a mudança de estado. Todos os chinelos precisam de alguma combinação de entradas que programa seu estado, e alguma combinação de entradas permite que eles mantenham seu estado. Se todas as combinações de entradas acionam a programação ou se todas as combinações de entradas são ignoradas (o estado é mantido), isso não é útil. Agora, o que é um relógio? Um relógio é especial, entrada dedicada que distingue se as outras entradas são ignoradas ou se programam o dispositivo. É útil tê-lo como uma entrada separada, em vez de ser codificado entre várias entradas.


Faz sentido quando você explica a necessidade de relógio para contador ou máquina de estado. Se não houver relógio, o contador continuará alterando seu valor (e redefinido) e iniciado infinitamente? e o mesmo com a máquina de estado. (Pelo que li no wiki, os contadores são apenas um tipo de máquina de estado, pois os estados estão sendo alterados). Mas mesmo com registros também usamos clock, nesse caso, por que? Eu também quero saber se existem chinelos (podem ser) usados ​​em qualquer aplicativo sem um relógio?
avi

Agora, chegando ao ponto de estabilidade, se as saídas continuarem mudando, outros dispositivos que precisam de flip-flops não poderão recebê-la corretamente e pode haver um comportamento errático. Então, esse é um problema de estabilidade? Agora estou tentando entender o conceito de estabilidade. Especialmente esses dois parágrafos que você explicou: "para impedir que o estado do flip-flop mude até que a saída (e, portanto, a entrada) seja estável". "Às vezes um circuito tem muitas entradas, que não estabilizar ao mesmo tempo"
avi

7

Um flip-flop de borda ascendente pode ser visto como duas travas consecutivas, uma das quais é ativada logo após o sinal do relógio ficar baixo e permanecer ativada até ficar alta; o segundo é ativado logo após o relógio ficar alto e permanece ativado até ficar baixo. Ter um breve momento durante o qual nenhum flip-flop está ativado significa que a saída de um flip-flop pode ser retornada com segurança à sua entrada via lógica combinatória. Uma alteração na saída em um ciclo do relógio pode fazer com que a entrada seja alterada, mas essa alteração na entrada não terá efeito até o próximo ciclo do relógio.

Historicamente, costumava ser bastante comum os dispositivos digitais usarem o que foi chamado de "relógio de duas fases", que tinha dois fios de relógio altos para intervalos sem sobreposição durante cada ciclo. Todas as travas são divididas em dois grupos, com um relógio controlando o primeiro grupo de travas e o outro relógio controlando o segundo; na maioria dos casos, as saídas de cada grupo são usadas apenas para calcular as entradas do outro. Cada ciclo do relógio consiste em um ou mais pulsos no primeiro relógio, pelo menos um dos quais deve atender às especificações de comprimento mínimo e um ou mais pulsos no segundo (mesmo requisito). Uma vantagem desse projeto é que ele pode ser muito tolerante à inclinação do relógio, desde que o tempo morto entre as fases do relógio exceda a quantidade de inclinação do relógio.

Uma abordagem mais "moderna" é fazer com que cada elemento de trava (registro) receba um único fio de relógio e gere essencialmente seus próprios relógios internos não sobrepostos. Isso requer que a inclinação máxima do relógio não exceda o tempo mínimo de propagação entre os registros, mas as ferramentas modernas permitem controlar a inclinação do relógio com mais precisão do que era possível nas décadas passadas. Além disso, em muitos casos, o relógio monofásico simplifica os projetos, eliminando a necessidade de particionar a lógica em dois grupos.


2

Todos sabemos que os circuitos digitais reais conterão MUITOS portões. Um sinal pode ter que seguir vários caminhos para chegar ao último portão que fornece a saída. Um sinal leva algum tempo para "propagar" nos diferentes caminhos que atingem o último portão. O tempo necessário para propagar não é o mesmo em caminhos diferentes. Isso leva ao que chamamos de falhas. As falhas ocorrem porque alguns caminhos são mais curtos que outros e quando um sinal atinge o último portão mais cedo, seguindo o caminho mais curto, o afeta imediatamente antes que outros sinais no caminho mais longo atinjam o portão. A saída em que isso resulta momentaneamente está errada e pode se tornar perigosa em um circuito digital, levando à propagação de erros.

Agora chego ao porque precisamos de um relógio. Um relógio essencialmente "sincroniza" o circuito com um único sinal externo. Pense nisso como uma batida que o circuito está sintonizado para gostar de música. As coisas acontecem em sintonia com este relógio, nenhum relógio = circuito está desativado. Ao usar o relógio, garantimos que as diferentes partes do circuito funcionem em harmonia ao mesmo tempo . Desta forma, o comportamento do circuito é mais previsível. Também é menos afetado por mudanças no atraso de propagação pela temperatura e variação de fabricação. Isso cobre o relógio.

Flip-flops são elementos do circuito digital que realizam uma ação (alterando sua saída em resposta a uma entrada na porta de entrada) quando ocorre um "CLOCK EDGE". O limite do relógio é quando o sinal do relógio passa de 0 a 1 ou de 1 a 0. Basta desenhar uma onda de relógio e você saberá o que quero dizer. Há outro grupo de elementos chamado trincos, a saída dos trincos muda para refletir a entrada quando um determinado sinal de controle está em um NÍVEL lógico específico e não espera por nenhuma aresta, esse sinal de controle é chamado ENABLE in trincos. As travas podem funcionar quando a ativação é 1 e altera sua saída ou quando a ativação é 0. Depende do tipo de trava. Em contraste, os flips flops fazem algo apenasquando eles são alimentados por um relógio EDGE. Observe esta diferença entre travas e flip-flops e lembre-se de que as travas são conectadas para criar um flip-flop, de modo que a ativação apenas faça com que o flip-flop faça alguma coisa quando ocorrer uma borda do relógio. Nesse caso, nomeamos o sinal Enable para Clock, e também faz mais sentido. O relógio para os seres humanos passa carrapato, o flip-flop faz algo apenas nos carrapatos e NADA entre os carrapatos.

Se ainda não estiver claro, você se beneficiará assistindo à palestra nptelhrd no youtube do Instituto Indiano de Tecnologia em Circuitos Digitais.


"Ao usar o relógio, garantimos que as diferentes partes do circuito funcionem em harmonia ao mesmo tempo." - como fazemos isso? Vou conferir os vídeos.
avi

Observe que os flip-flops são dispositivos que alteram sua saída para refletir a entrada na borda ascendente (ou na borda descendente se for um flip-flop com borda negativa) de um sinal de controle para um flip-flop com borda positiva. Esse sinal de controle é chamado de relógio devido à sua natureza periódica, mais parecido com o tiquetaque de nossos relógios de parede. Se o sinal do relógio estiver presente, o flip-flop fará algo; caso contrário, a entrada não fará nada acontecer com a saída. Por favor, saiba também a diferença e a semelhança entre trincos e chinelos desde o início, para não confundir.
precisa saber é o seguinte

1

Existem coisas como contadores assíncronos. Aqui está um: - insira a descrição da imagem aqui

Também é conhecido como contador de ondas, porque quando um pulso de entrada chega na entrada (alterando o estado do 1º flip-flop), essa mudança de estado leva um tempo finito para percorrer os flip-flops restantes. Durante esse período pequeno, mas finito, as saídas ABCD terão um valor transitório imprevisível até que o flip-flop final seja resolvido.

Se as saídas ABCD foram todas alimentadas por flip-flops do tipo D e cronometradas juntas, algum tempo após o período de acomodação, essa versão "melhor" do ABCD nunca "exibirá" esse comportamento transitório.

Para evitar isso, os engenheiros às vezes usam circuitos de relógio sincronizados. Desculpe, a entrada é da esquerda neste e Q0 a Q3 é mapeada para ABC e D no diagrama anterior: -

insira a descrição da imagem aqui

É um pouco mais complexo, mas é mais rápido e tem menos peças do que em comparação com um contador assíncrono com vários tipos de D nas saídas.


Bem, com contadores, faz sentido. Mas existe alguma aplicação em que chinelos são usados ​​sem relógios? ou chinelos nunca podem ser usados ​​sem relógios?
avi

@avi O primeiro exemplo (contador assíncrono) não precisa ser considerado como tendo sua entrada de um "relógio". Poderia ser pulsos provenientes de um sensor magnético, procurando ver a rapidez com que um eixo gira. Haveria um relógio "mestre" no sistema que "bloqueia" a contagem a cada segundo, mas o "sinal" entrando no balcão não é necessariamente um relógio. A saída de um comparador analógico pode "cronometrar" um "1" para a saída de um tipo D e a saída de outro comparador analógico pode redefinir o tipo D - isso pode ser usado para produzir um sinal derivado de uma forma de onda analógica - sem relógios como tal #
Andy aka

Eu consideraria o comportamento de um contador de ondulações como quantitativo e não qualitativamente diferente daquele do contador síncrono. As saídas de ambos os contadores se tornarão inválidas algum período de tempo após a chegada de um pulso de relógio e se tornarão válidas novamente algum período de tempo depois disso. O contador síncrono terá uma janela menor durante a qual suas saídas são inválidas, mas a janela será diferente de zero em qualquer caso. Também é importante notar que a velocidade máxima de contagem com o contador desenhado será limitada pelo comprimento do contador. Pode-se evitar essa limitação ... #
317

... fazendo com que a cadeia de transporte inicie, por exemplo, no quarto bit, gerando o "e" dos três primeiros bits e, em seguida, tendo cada bit apenas girado se a entrada da cadeia de transporte estiver alta, o bit 2 estiver alto, o bit 1 estava alto e o bit 0 estava alto. Mesmo que sete pulsos de contagem cheguem no tempo necessário para que um sinal se propague através da cadeia de transporte, isso não seria um problema, pois a cadeia de transporte começaria a propagar o transporte quando a contagem xxx111 ... 111000 fosse alcançada, mas sua saída não importaria até o pulso do relógio após xxx111 ... 111111 foi atingido.
supercat

Esses contadores de ondas são simples, mas detestados no mundo real dos circuitos digitais em que trabalho. É bom saber que eles existem, mas é altamente improvável que você possa usá-los em projetos reais. Ele sempre pode ser usado em exercícios triviais, onde sua natureza "assíncrona" não é um problema.
precisa saber é o seguinte

0

Como é mais fácil projetar sistemas síncronos (sistema síncrono significa qualquer coleção de lógica combinatória e flip-flops com clock) do que sistemas assíncronos, e sistemas síncronos são mais confiáveis. No entanto, o projeto de máquina de estado assíncrono é digno de estudo porque pode calcular uma saída muito mais rapidamente e com menor potência do que um sistema síncrono.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.