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?
digital-logic
mosfet
signal
travisbartley
fonte
fonte
Respostas:
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.
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.
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.
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.
fonte
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).
fonte
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:
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 :
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:
Claramente, há espaço para pesquisas adicionais. Continua...
fonte