Diferença entre trava e flip-flop?

51

Qual é a diferença entre uma trava e um flip-flop?

O que estou pensando é que uma trava é equivalente a um flip-flop, pois é usada para armazenar bits e também é equivalente a um registro que também é usado para armazenar dados. Mas, depois de ler alguns artigos na internet, encontrei diferenças entre travas e flip-flops com base na funcionalidade acionada por borda e sensível ao nível?

O que isso significa? Um flip-flop é igual a uma trava ou não?

trapaank
fonte

Respostas:

23

A diferença básica é um mecanismo de bloqueio ou de clock. Por exemplo, vamos falar sobre trava SR e chinelos SR.

Uma trava SR será assim

Trava SR usando portões NAND

Neste circuito, quando você define S como ativo, a saída Q será alta e Q 'será baixa. Isso é independente de qualquer outra coisa. (Este é um circuito baixo ativo, então ativo aqui significa baixo, mas para um circuito alto ativo, significa alto)

Um flip-flop SR (também chamado de trava SR com clock ou cronometrado) se parece com isso.

insira a descrição da imagem aqui

Neste circuito, a saída é alterada (ou seja, os dados armazenados são alterados) somente quando você dá um sinal de relógio ativo. Caso contrário, mesmo se S ou R estiver ativo, os dados não serão alterados. Este mecanismo é usado para sincronizar circuitos e registros, para que os dados não sejam alterados desnecessariamente.

Rick_2047
fonte
então posso concluir que as travas são acionadas por nível e os chinelos são acionados por borda?
Trapaank 7/11
5
As travas não são acionadas. Assim que eu dou entrada, recebo a saída em travas. Os flip-flops são acionados, pois tenho que acionar o relógio para converter minha entrada em saída.
21711 Rick #2047
11
Isso não é um flip flop SR. Essa é uma trava SR fechada. Os tempos de configuração e espera deste circuito funcionarão como qualquer outra trava com um pino "ativar transparência". Um flip-flop é uma configuração mestre-escravo. Basta pensar em ir de ciclo a ciclo com essa trava. Você não pode. Você precisaria de duas travas com relógios fase oposta (daí um flip flop)
jbord39
19

Um flip-flop é construído a partir de duas travas traseiras com relógios de polaridade oposta, que formam uma topologia principal de escravo.

O tipo de trava é irrelevante (JK, SR, D, T) para essa restrição, mas é importante que a transparência seja controlada por algum pino (chame de clock ou enable ou o que você quiser).

As travas SR oferecem a todos um loop, porque o design mais básico é transparente o tempo todo. Assim, uma vez que a ativação do relógio é adicionada, as pessoas começam a chamá-lo de flip-flop. Bem, não é; é uma trava fechada. No entanto, você pode criar um flip-flop SR com duas travas SR fechadas:

chinelo verdadeiro SR

Ou duas travas JK:

true jk ff

Ou duas travas D: insira a descrição da imagem aqui

A adição de um alfinete de relógio a uma trava (SR ou JK) não a torna um flip flop - ela a trava com fechadura. Pulsar o relógio para uma trava fechada também não o torna um flip-flop; torna uma trava de pulso ( descrição da trava de pulso ).

Os chinelos são acionados pela borda e os tempos de configuração e espera são relativos a essa borda ativa. Um flip-flop tradicional não permitirá tempo para fazer empréstimos através das bordas do ciclo, pois a topologia mestre-escravo atua como um sistema de trava e barragem para criar uma vantagem no relógio ativo.

Travas, por outro lado, configure a transparência da trava e segure até que a trava feche. Eles também permitem empréstimos de tempo durante toda a fase de transparência. Isso significa que se um caminho de meio ciclo é lento e o outro caminho é rápido; com um design baseado em trava, o caminho lento pode emprestar tempo para o ciclo de caminhos rápidos.

Um truque de design muito comum quando você precisa espremer cada picossegundo de um caminho é separar o flip-flop (em duas travas separadas) e fazer a lógica entre eles.

Basicamente, os tempos de configuração e espera são completamente diferentes entre uma trava e um flip-flop; em termos de como os limites do ciclo são tratados. A distinção é importante se você fizer qualquer design baseado em trava. Muitas pessoas (mesmo neste site) irão misturar os dois. Mas quando você começa a criá-los, a diferença se torna clara.

Veja também:

bom texto descrevendo travas e chinelos

O que é um flip flop?

Editar:

Apenas mostrando um flip-flop D-flip baseado em t-gate (observe que ele é construído a partir de duas travas D baseadas em t-gate de trás para trás com relógios de fase opostos).

dff baseado em porta t

jbord39
fonte
Oi jb indo para o antigo crachá de avivamento? Nos meus livros, um "trinco" é um registro de memória assíncrona, enquanto um "flip-flop" é um registro de memória síncrona, alguns com recursos assíncronos chamados Set / Reset. De fato, todas as operações síncronas são sensíveis à borda.
Tony Stewart Sunnyskyguy EE75
@ TonyStewart.EEsince'75: Heh, alguém mais respondeu bem antes de mim. Sim, eu estou familiarizado com essa definição, mas é um pouco ondulada. Eu acho que é muito mais claro perceber que o flip-flop é construído a partir de duas travas com relógios de fase oposta. Isso fornece uma imagem muito precisa do que está acontecendo internamente e uma maior compreensão dos tempos de configuração e espera. É uma distinção importante ao caracterizar células padrão ou ao fazer qualquer design de caminho de dados personalizado. Também deixa espaço para ambiguidade: os chinelos de empréstimo de tempo, por exemplo, têm um caráter assíncrono em torno da borda ativa do clk.
precisa
Substituir flops por pares de travas que operam em diferentes fases do relógio introduz a possibilidade de incluir o tempo morto entre essas fases. Se alguns chips ativarem suas travas de front-end somente quando a entrada do relógio estiver abaixo de (1/3) do VDD, e os back-end travarem apenas quando a entrada do relógio estiver acima do (2/3) VDD, os chips que compartilham o mesmo relógio serão ser capaz de se comunicar de maneira confiável, mesmo que não veja o relógio mudar exatamente no mesmo momento, desde que todos os chips tenham visto o relógio subir acima de (1/3) do VDD antes que qualquer um o veja acima (2/3) do VDD. Um projeto desse tipo parece ser ... #
1133
... funcionalmente melhor do que um gatilho Schmidt em quase todos os aspectos; Eu me pergunto por que é mais comum os registradores usarem os gatilhos de Schmidt do que dividir o tempo de front-end e back-end?
Supercat
11
+1. Esta é a melhor resposta, IMO. Os outros, de uma maneira ou de outra, atrapalham a diferença entre o disparo de borda (FF) e o bloqueio (travas fechadas). Um pouco pesado no lado da implementação, especialmente para iniciantes. Um detalhe: você parece sugerir que a única técnica para implementar o disparo de borda é acoplar duas travas em uma configuração mestre-escravo. Não sou especialista, mas acho que (IIRC) existem outros truques para implementar o gatilho de borda.
Lorenzo Donati apoia Monica
6

Uma trava passa os dados de entrada diretamente no estado aberto e congela a saída no estado travado. A trava responde ao nível do sinal de controle.

Existem vários tipos de flip-flops, mas basicamente eles mudam de estado na borda do sinal de controle e, em alguns casos, na (s) entrada (ões) de dados. Um flip-flip D clássico é mais parecido com uma trava, exceto que apenas olha para a entrada em uma extremidade específica do relógio e congela a saída o tempo todo.

Olin Lathrop
fonte
então existe alguma diferença entre trava e flip flop ou não?
trapaank
@ ankur.trapasiya: Sim.
amigos estão dizendo
hmmm ... limpou um pouco .. !! o que eu entendi é que o flip flop precisa de um relógio e uma trava não precisa dele.
Trapaank 7/11
11
@ ankur.trapasiya: sim, as travas não têm uma entrada de relógio, mas têm uma entrada correspondente: na maioria das vezes chamada ENABLE. A entrada do relógio de um D-Flip-Flop é sensível à borda, a entrada de ativação de uma trava é sensível ao nível, ou seja, a saída muda quando a ativação está ativa e a entrada é alterada.
Coalhada
11
@ Jordan: Você está fazendo isso muito complicado. As travas são limitadas por nível e os flip-flops têm clock de borda. Isso é praticamente tudo o que existe.
amigos estão dizendo sobre
6

Uma trava é um exemplo de um multivibrador biestável, ou seja, um dispositivo com exatamente dois estados estáveis.
Esses estados são de alta e baixa produção.
Uma trava tem um caminho de feedback, para que as informações possam ser retidas pelo dispositivo.
Portanto, as travas podem ser dispositivos de memória e podem armazenar um bit de dados enquanto o dispositivo estiver ligado.
Como o nome sugere, trincos são usados ​​para "trancar" informações e manter no lugar.
As travas são muito semelhantes aos flip-flops, mas não são dispositivos síncronos e não operam nas bordas do relógio, como os flip-flops.

insira a descrição da imagem aqui

Um flip-flop é um dispositivo muito parecido com uma trava, pois é um mutivibrador biestável, com dois estados e um caminho de feedback que permite armazenar um pouco de informação.
A diferença entre uma trava e um flip-flop é que uma trava é assíncrona e as saídas podem mudar assim que as entradas mudam (ou pelo menos após um pequeno atraso de propagação).
Um flip-flop, por outro lado, é acionado pela borda e só muda de estado quando um sinal de controle passa de alto para baixo ou baixo para alto.
Essa distinção é relativamente recente e não é formal, com muitas autoridades ainda se referindo a chinelos como trincos e vice-versa, mas é uma distinção útil para garantir a clareza.

insira a descrição da imagem aqui

Gouse Shaik
fonte
Uma trava não é um multivibrador (biestável ou qualquer outro).
Coalhada
2

A diferença entre travas e flip-flops é que suas saídas são constantemente afetadas por suas entradas, desde que o sinal de habilitação esteja presente. Quando estão ativados, seu conteúdo muda imediatamente quando suas entradas são alteradas. Os flip-flops têm seu conteúdo alterado apenas na borda ascendente ou posterior do sinal de habilitação. Este sinal de habilitação controla o sinal do relógio. Após a borda ascendente ou posterior do relógio, o conteúdo do flip-flop permanece constante, mesmo que a entrada seja alterada.

Prasanth
fonte
2

A diferença está no uso pretendido, principalmente. Um flip-flop é uma idéia geral e tem variações - como é acionado, entradas JK ou D e tudo mais. Os flip podem ser usados ​​para contadores, registros de turnos e todos os outros usos encontrados em textos e artigos on-line sobre flip-flops.

Uma trava é um uso específico, em que um conjunto de chinelos (pode ser tão pequeno quanto um, suponho) recebe níveis booleanos, com clock e, posteriormente, mantém esses valores constantemente em suas saídas. Um instantâneo, por assim dizer, de um valor binário. Nenhuma alteração nos valores das saídas ocorre, exceto quando novas entradas são marcadas com clock ou a trava é limpa, o que significa definir todas as saídas para zero.

Chinelos do tipo D são a escolha óbvia, mas exatamente o que você usa ou como é acionado não é vital para a idéia do que é uma trava, mesmo que seja importante no circuito ou chip em particular que você está projetando ou usando.

DarenW
fonte
2

Uma trava transparente é um dispositivo com uma entrada de dados e uma entrada de controle. A entrada de controle possui dois estados que podem ser chamados de "faixa" e "espera". Alguns dispositivos consideram um "alto" na entrada de controle como "faixa" e uma entrada baixa como "em espera"; outros fazem o oposto. Sempre que a entrada de controle estiver no estado "track", o estado da saída tentará continuamente seguir o estado da entrada de dados (haverá um pequeno atraso entre o tempo em que a entrada de dados muda e a saída reflete a alteração). Se a entrada de controle passar do estado "track" para o estado "hold", desde que a última alteração na entrada de dados tenha tido a chance de alcançar a saída, a saída manterá seu valor até o momento em que a entrada de controle for concluída. de volta ao estado "faixa".

Embora trincos transparentes possam ser usados ​​de várias maneiras, é importante entender pelo menos dois cenários de uso. Em um cenário, a trava é usada para transformar um sinal que às vezes retém dados válidos e outras que retêm dados inválidos, em um sinal que sempre retém dados válidos. Isso é feito mantendo a trava no estado "em espera" a qualquer momento em que a entrada de dados possa não corresponder aos dados de saída desejados. Para alterar os dados travados, coloque-se os dados desejados na entrada e defina-os brevemente como "rastrear" e voltar ao estado "reter", tomando cuidado para que a entrada de dados não mude para um valor indesejado enquanto o " o sinal de espera "está ativo. Esse arranjo pode ser usado para, por exemplo, controlar 64 saídas usando oito sinais de controle e oito sinais de dados. Cada sinal de controle opera oito travas, um dos quais é conectado a cada um dos oito sinais de dados. Pode-se usar flip-flops acionados por arestas tão facilmente quanto trincos, mas o circuito de um trinco é um pouco mais simples. Observe que um flip-flop acionado por borda nesse cenário seria idealmente acionado na transição de "hold" para "track".

No segundo cenário de uso, a entrada pode não ser significativa no momento em que a trava muda para "transparente", mas se torna significativa antes da mudança da trava para "reter". Se os dispositivos que usam sua saída não se importarem com seu estado até algum tempo após a trava ter sido alterada para "espera", será o estado da entrada de dados naquele momento que será alimentado na saída. Pode-se usar um flip-flop acionado por borda nesse cenário, mas ele deve ser acionado na transição de "track" para "hold". Observe que se a entrada de dados na trava se tornar válida um tempo significativo antes da transição de "hold" para "track", a saída fará o mesmo. Por outro lado, a saída de um flip-flop só seria válida quando o relógio mudasse.

supercat
fonte
1

a principal diferença é que a trava é acionada em nível para o qual a condição de corrida em torno surge na trava JK e trava em T, onde não há condição de corrida em torno em JK-FF e T-FF .. e os chinelos são acionados por borda, portanto, nenhuma corrida em torno da condição em FF.

sudha
fonte
0

A principal diferença entre travas e flip-flops é que, para travas, suas saídas são constantemente afetadas por suas entradas, desde que o sinal de ativação seja afirmado. Em outras palavras, quando estão ativados, seu conteúdo muda imediatamente quando suas entradas são alteradas. Os flip-flops, por outro lado, têm seu conteúdo alterado apenas na borda ascendente ou descendente do sinal de habilitação. Esse sinal de ativação geralmente é o sinal do relógio de controle. Após a borda ascendente ou descendente do relógio, o conteúdo do flip-flop permanece constante, mesmo que a entrada mude

antonio
fonte
5
Isso não parece acrescentar nada ainda não coberto na resposta de Prasanth publicada há mais de dois anos.
precisa saber é o seguinte
@ PeterJ: Corrige a gramática (a resposta original tinha um antecedente não resolvido). No entanto, deveria ter sido uma edição da resposta anterior.
Ben Voigt