Por que os chinelos geralmente são acionados na borda ascendente do relógio?


14

Geralmente em design digital, lidamos com flip-flops que são acionados em uma transição de sinal de relógio de 0 para 1 (borda positiva acionada) em oposição a uma transição de 1 para 0 (borda negativa acionada). Eu conheço essa convenção desde meus primeiros estudos sobre circuitos seqüenciais, mas não a questionei até agora.

A escolha entre o disparo da borda positiva e a borda negativa é arbitrária? Ou existe uma razão prática pela qual os chinelos com ponta positiva se tornaram dominantes?


2
A maneira como a maioria desses tipos de coisas acontece é que alguém faz isso de uma maneira, alguém precisa tornar o hardware compatível e faz o mesmo, e alguns anos depois você tem um padrão acidental.
Connor Lobo

1
Eu trabalho com flip-flops que são principalmente desencadeados pelo Falling Edge. Eu tinha uma pergunta exatamente oposta!
Swanand

Respostas:


10

Melhor palpite: a tendência de margem positiva é um subproduto de designs que tentam usar uma pequena área / peças possível antes dos anos 70 . Uma medida de economia de custo para produção, aumentando o número de chips por bolacha. Os DFFs modernos pos / neg-edge geralmente têm área total igual, portanto, a tendência do edge positivo é agora uma prática herdada.

A economia de área veio dos desenhos D-flip-flop "clássicos". Os modernos componentes mestre / escravo de um flip-flop D podem usar duas travas de 5 transistores; Patentes WO1984003806 A1 e US4484087 A ambas registradas em 23 de março de 1984. Uma trava D de 8 transitores foi registrada em 6 de fevereiro de 1970; US3641511 A . Por uma questão de simplicidade, os projetos baseados em travas SR / SnRn serão referenciados como "Clássico" e "Moderno" para os designs que usam as patentes mencionadas de trava D / célula S.

Em um design de IC, uma porta NAND usa menos área que a porta NOR devido às propriedades características de um NMOS e PMOS. Lá, a tendência de economia de tamanho da cascata. Travas D do trinco do SnRn são menores que as do SR. Os designs clássicos de flip-flop D são baseados nessas portas lógicas. Após pesquisar vários designs, os designs clássicos de bordas positivas são sempre menores que os designs clássicos de bordas negativas. A migração para o moderno aconteceu quando o custo dos chips se tornou favorável: economia de área versus taxa de royalties.


Indo um pouco mais fundo para demonstrar as diferenças de área:

D-flip-flop clássico de borda positiva: Descrição e diagrama do flip-flop D clássico de borda positiva acionada pela Wikipedia e diagrama usando cinco NAND2 e um NAND3. Isso usa um total de treze NMOS e treze PMOS.

esquemático

simular este circuito - esquemático criado usando o CircuitLab

O melhor D-flip-flop clássico de borda negativa que encontrei é o uso de duas travas D e dois inversores. Formulário referenciado esquemático http://students.cs.byu.edu/~cs124ta/labs/L02-FSM/HowToUseMasterSlave.html . Isso usa um total de dezoito NMOS e dezoito PMOS. A colocação de um inversor no posedge clássico acima reduzirá a contagem de transistores desse projeto. Em ambos os casos, a borda negativa clássica é maior que o design da borda positiva.

esquemático

simule este circuito

Um design moderno de flip-flop D pode parecer o seguinte com base nas patentes WO1984003806 A1 e US4484087 Uma descrição de trava D de cinco transistores. Isso usa um total de cinco NMOS e PMOS fice; grande economia de área em comparação com o clássico. Inverter a ordem mestre / escravo criaria um flip-flop de borda negativa de tamanho igual.

esquemático

simule este circuito

Estou apenas demonstrando os menores designs possíveis. Os projetos podem ser baseados em requisitos de design, bibliotecas de células padrão permitidas, recursos de redefinição / predefinição ou outros motivos.


Este é um bom ponto. Eu estava abordando o problema na distribuição de clock, mas posso ver como a arquitetura DFF poderia ser diferente. No entanto, acho que os flops com borda negativa também podem ter uma arquitetura baseada em NAND. Você pode adicionar um esquema das arquiteturas de que está falando?
Travisartley #

1
@ trav1s, atualizei minha resposta com exemplos e algumas pesquisas de patentes.
Greg

Gostaria de saber até que ponto os chips usam outras técnicas para travas que precisam operar com base nas bordas de um relógio aplicado externamente? Por exemplo, usando o clock bifásico e a lógica semi-dinâmica, pode-se reduzir o número necessário de transistores por flop para sete [uma abordagem totalmente dinâmica seria seis, mas adicionar um sétimo transistor permite adicionar um estado de "espera" totalmente estático ]
Supercat4

@ Greg, ótimo trabalho. Sua descoberta é exatamente o que eu esperava. Esse transistor de 10T no final é uma coisa bonita.
Travisartley # 5/13

Resposta interessante e muito perspicaz. Você está dizendo que a tendência do posedge veio antes dos anos 70, mas isso não é consistente com minhas descobertas (veja minha resposta). O que fez você chegar a essa data? Apenas um palpite, ou você tem alguma informação adicional? Se for o último, eu vou ser feliz para obter uma referência (no sentido de melhorar a minha própria resposta :))
Vasiliy

3

Existem algumas suposições básicas aqui que foram abordadas em outro post (que não consigo encontrar agora).

Se você contar o número total de elementos lógicos colocados e a lógica cronometrada (número total de FFs enviados), provavelmente eles estarão em processador e microprocessadores, Intel, DEC etc. A manifestação disso é que você acaba com pequenos grupos de pessoas / equipes responsáveis ​​por projetos que abrangem muitas décadas, sem muitos detalhes do funcionamento interno.

Por outro lado, você tem muitas equipes diferentes trabalhando nos fluxos ASIC, com muito mais projetos, mas correspondendo a menos volume.

Na maioria dos modelos de processadores, na verdade, não há clock de borda positivo ou negativo, mas são projetados usando um esquema de clock complementar de trava dupla, NOC (Non Overlapped Clock).

Então você acaba com um esquema de entradas -> (nuvem lógica) -> trava do relógio -> nuvem lógica -> trava do! Clock. Qual é a forma canônica de um mestre escravo FF com lógica dentro.

Esse tipo de metodologia de design tem várias vantagens, mas também possui complexidade adicional.

Outra coisa lamentável é que essa metodologia de design não é ensinada na maioria das universidades. Todos os projetos Intel x86 são desse tipo (não se deve confundir operação externa de interfaces com operação interna) com os notáveis ​​núcleos SOC sintetizáveis ​​que eles estão projetando para telefones móveis.

Um excelente discurso sobre isso pode ser encontrado em "Dally, William J. e John W. Poulton". Engenharia de Sistemas Digitais. Cambridge University Press, 1998. a seção 9.5 discute "tempo síncrono de loop aberto" <título do capítulo. Porém, para citar "O tempo acionado por borda, no entanto, raramente é usado em microprocessadores e projetos de sistemas de ponta, em grande parte porque resulta em um tempo de ciclo mínimo dependente da inclinação do relógio".

Sim, uma resposta totalmente pedante. mas uma metodologia importante que é pouco conhecida, considerando quantos transistores totais existem nesses projetos (lotes e lotes).


Eu li isso três vezes, mas eu ainda não consigo ver como é que esta relacionado com a pergunta de OP ...
Vasiliy

1
Além disso, dizer que as CPUs são construídas apenas a partir de travas é um pouco de exagero (talvez até nem um "pouco"). As travas são usadas na lógica crítica de alto desempenho (principalmente caminhos de dados), mas ainda existem muitos flip-flops presentes. A principal desvantagem dos trincos é a dificuldade da análise de tempo - devido à capacidade de "empréstimo de tempo" do design baseado em trava (a mesma capacidade que torna esse design "mais rápido"), é muito difícil testar o design baseado em trava para o fechamento do tempo. Em partes não críticas das CPUs, principalmente os FFs são usados.
Vasiliy

A palavra-chave no título é "geralmente" - 1) no número total de diferentes tipos de chips projetados - o fluxo ASIC e o gatilho de borda serão comuns. 2) se o número total de designs de CPU de elemento lógico / transistores enviados vencer e, em seguida, o clock duplo baseado em trava vencer, e a instrução será inválida.
placeholder

1
Você não pode olhar para a interface desses chips para determinar qual é a operação interna. Como afirmei, um Flip Flop escravo mestre é apenas uma versão simplificada de um projeto baseado em trava de nuvem de lógica dupla e relógio de duas fases. A análise de tempo não é difícil, na verdade é simplificada. É melhor você ter certeza de seus domínios de relógio.
placeholder

1
Não, as palavras-chave são "flip-flop" e "edge of the clock". As travas são dispositivos sensíveis ao nível, não sensíveis à borda. Homem de maçãs e laranjas - se eu quero saber por que as laranjas são alaranjadas, o fato de haver muitas pessoas que preferem maçãs é completamente irrelevante.
Vasiliy

2

O desempenho atual da tecnologia CMOS (em termos de potência / área / velocidade / custo) parece insensível ao esquema de acionamento usado.

Não posso provar rigorosamente a afirmação acima, pois exige muito conhecimento e pesquisa preliminares, e mesmo o resumo da prova provavelmente será muito longo para uma resposta. Que eu saiba, não há diferenças, portanto, deixe-me assumir que esse é o caso.

Ou eu não sei se a sua declaração sobre flip-flops sendo normalmente acionada no lado positivo do relógio está correta (acredito que esteja). Deixe-me supor que isso também esteja correto para os propósitos da discussão a seguir.

Sob todas as premissas acima, vejo apenas duas possibilidades:

  • O disparo positivo da borda se tornou um padrão, pois havia algumas vantagens claras em algum momento no passado. Depois que a tecnologia que explorou essa vantagem ficou desatualizada, o disparo positivo da borda ainda permaneceu o padrão de fato.
  • O disparo positivo de borda se tornou um padrão sem qualquer legitimidade de engenharia, ou seja, não ofereceu nenhuma vantagem em nenhuma família lógica nem em nenhum nó de tecnologia no passado.

Para ver quando o gatilho positivo de borda se tornou um padrão, decidi seguir a evolução dos esquemas de clock da CPU da Intel :

  1. ϕ2
  2. 8086 : O travamento da saída de dados foi realizado na borda negativa do CLK.
  3. 80386 : Borda positiva usada do CLK2.
  4. 80486 : Borda positiva usada do CLK.
  5. Pentium : Borda positiva usada do CLK ...

Parece que a Intel começou com o gatilho de borda negativo (se esse termo pode ser aplicado nas primeiras CPUs), mas mudou para o gatilho de borda positivo começando com 386.

O 8086 usava a tecnologia HMOS (algum tipo de lógica NMOS de carga de depleção ) enquanto o 80386 era o CHMOS (é um tipo de CMOS). Parece que a adoção do gatilho positivo de borda aconteceu em paralelo com a adoção da tecnologia CMOS. Assumimos que o CMOS não oferece nenhuma vantagem ao acionamento positivo da borda, portanto, parece que essa convenção é arbitrária.

No entanto, devemos ter em mente três pontos:

  • Assumimos que as atuais tecnologias CMOS não oferecem nenhuma vantagem.
  • A suposição acima não foi comprovada ou debatida de nenhuma forma.
  • Nas folhas de dados, fica claro em que borda a Saída de Dados está travada, no entanto, isso pode não representar a implementação interna.

Claramente, há espaço para pesquisas adicionais. Continua...

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.