BRPI0608975A2 - fifo signaling protocol insensitive to latency - Google Patents

fifo signaling protocol insensitive to latency Download PDF

Info

Publication number
BRPI0608975A2
BRPI0608975A2 BRPI0608975-5A BRPI0608975A BRPI0608975A2 BR PI0608975 A2 BRPI0608975 A2 BR PI0608975A2 BR PI0608975 A BRPI0608975 A BR PI0608975A BR PI0608975 A2 BRPI0608975 A2 BR PI0608975A2
Authority
BR
Brazil
Prior art keywords
data
domain
fifo
storage device
source
Prior art date
Application number
BRPI0608975-5A
Other languages
Portuguese (pt)
Inventor
Kenneth Alan Dockser
Victor Roberts Augsburg
James Norris Dieffenderfer
Jeffrey Todd Bridges
Robert Douglas Clancy
Thomas Andrew Sartorius
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of BRPI0608975A2 publication Critical patent/BRPI0608975A2/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/40Bus structure
    • G06F13/4004Coupling between buses
    • G06F13/4027Coupling between buses using bus bridges
    • G06F13/405Coupling between buses using bus bridges where the bridge performs a synchronising function
    • G06F13/4059Coupling between buses using bus bridges where the bridge performs a synchronising function where the synchronisation uses buffers, e.g. for speed matching between buses
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F5/00Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F5/06Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2205/00Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
    • G06F2205/12Indexing scheme relating to groups G06F5/12 - G06F5/14
    • G06F2205/126Monitoring of intermediate fill level, i.e. with additional means for monitoring the fill level, e.g. half full flag, almost empty flag

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Communication Control (AREA)
  • Information Transfer Systems (AREA)
  • Synchronisation In Digital Transmission Systems (AREA)

Abstract

PROTOCOLO DE SINALIZAçãO FIFO INSENSìVEL A LATêNCIA. Dados de um domínio de fonte que operam era uma primeira taxa de dados são transferidos para um FIFO em outro domínio operando em uma taxa de dados diferente. O FIFO armazena em buffer dados antes de transferir para um depósito para processamento ou armazenamento adicional. Um contador pelo lado de fonte monitora o espaço disponível no FIFO. Em exemplos revelados, o valor inicial do contador corresponde à profundidade do FIFO. O contador decrementa em resposta a um sinal de dados prontos a partir do domínio de fonte, sem retardo. O contador incrementa em resposta à sinalização a partir do domínio de depósito de uma retirada de dados do FIFO. Portanto, o incremento está sujeito à latência de sinalização entre os domínios. A fonte pode enviar mais um batimento de dados quando o contador indicar que o FIFO está cheio. O último batimento de dados é enviado continuamente da fonte até que seja indicado que uma posição do FIFO se tornou disponível; proporcionando efetivamente mais uma posição do FIFO.SIGNALING PROTOCOL FIFTH INSENSIBLE LATENCE. Data from a source domain operating at a first data rate is transferred to a FIFO in another domain operating at a different data rate. FIFO buffers data before transferring to a depot for further processing or storage. A font-side counter monitors available FIFO space. In revealed examples, the initial value of the counter corresponds to the depth of the FIFO. The counter decrements in response to a ready data signal from the source domain without delay. The counter increments in response to signaling from the deposit domain of a FIFO data withdrawal. Therefore, the increment is subject to signaling latency between domains. The source may send one more data beat when the counter indicates that the FIFO is full. The last data beat is sent continuously from the source until it is indicated that a FIFO position has become available; effectively providing one more FIFO position.

Description

PROTOCOLO DE SINALIZAÇÃO FIFO INSENSÍVEL À LATENCIALATENSE-FREE FIFO SIGNALING PROTOCOL

CAMPO TÉCNICOTECHNICAL FIELD

A presente matéria se refere aos protocolos parasinalização e controle, relacionados à transferência dedados por intermédio de dispositivos de armazenamentoprimeiro a entrar primeiro a sair (FIFO) e ao equipamentoimplementando tais protocolos de sinalização.FUNDAMENTOSThe present subject refers to the signaling and control protocols related to the transfer of data through first-in-first-out storage devices (FIFO) and to equipment implementing such signaling protocols.

Dispositivos de armazenamento primeiro a entrarprimeiro a sair (FIFO) são usados em processadores eaplicações de comunicação envolvendo transferências dedados entre domínios diferentes, comumente onde os domíniospodem operar em diferentes taxas de dados. Embora as taxasde dados sejam diferentes, e freqüentemente variem entre osdomínios, os sinais entre eles podem ser sincronizados emrelação à mesma freqüência de relógio fundamental (isto é,sincrona) ou sincronizados em relação a diferentesfreqüências de relógio fundamentais (isto é, assincronas).Em uma aplicação sincrona, o armazenamento provido peloFIFO compensa as diferenças nas taxas de dados dos doisdomínios. Em uma aplicação assincrona, o armazenamentoprovido pelo FIFO compensa as diferenças em ambas, taxas dedados e freqüências de relógio, dos dois domínios. Emqualquer um dos casos, o armazenamento ajuda a evitar perdade dados devido à transferência de dados em tempos ouvelocidades quando o domínio receptor não pode lidar com osmesmos e/ou para evitar duplicação de dados porque odominio receptor está esperando e pronto para receber dadosadicionais enquanto o dominio emissor ainda estátransferindo dados anteriores.First in First Out (FIFO) storage devices are used in processors and communication applications involving data transfers between different domains, commonly where domains can operate at different data rates. Although data rates are different, and often vary between domains, the signals between them may be synchronized relative to the same fundamental clock frequency (ie synchronous) or synchronized to different fundamental clock frequencies (ie asynchronous). In a synchronous application, the storage provided by FIFO compensates for differences in data rates between the two domains. In an asynchronous application, FIFO-provided storage compensates for differences in both data rates and clock frequencies of the two domains. In either case, storage helps to avoid data loss due to data transfer at times or speeds when the receiving domain cannot handle the same and / or to avoid data duplication because the receiving domain is waiting and ready to receive additional data while the domain. sender is still transferring previous data.

A maioria das implementações FIFO, contudo, élimitada pelo tamanho ou profundidade finita da memória ouarranjo de registrador implementando o armazenador FIFO.Por exemplo, os dados podem ainda ser perdidos se o dominioemissor enviar mais dados quando o dispositivo dearmazenamento FIFO já estiver cheio de dados esperando atransferência para o depósito no dominio receptor. Váriastécnicas foram desenvolvidas para alimentar informaçãosobre o nivel de enchimento e/ou status de gravação doFIFO, a partir do dominio receptor ou de depósito para odominio de origem ou emissor. Contudo, continua anecessidade de aperfeiçoamento adicional em tais técnicas.Most FIFO implementations, however, are limited by the size or finite depth of memory or register arrangement implementing the FIFO store. For example, data may still be lost if the sending domain sends more data when the FIFO storage device is already full of data waiting. transfer to the recipient domain deposit. Various techniques have been developed to feed information about FIFO's fill level and / or recording status from the receiving or depositing domain to the originating or issuing domain. However, there remains a need for further improvement in such techniques.

SUMARIOSUMMARY

Um contador monitoriza o espaço disponível noFIFO e o lado da origem utiliza a contagem para controlar atransferência de dados. Para melhorar o controle detransferência, o contador é implementado no lado de origemenquanto que o FIFO é implementado pelo lado do receptor. 0contador é responsivo a um sinal pelo lado de origem querepresenta um estado de pronto dos dados paratransferência, por exemplo, que novos dados foramcarregados em um registrador pelo lado da origem e estãodisponíveis ao dispositivo de armazenamento FIFO. Como ocontador está no lado de origem, não há retardo depropagação (isto é, retardo dentro do ciclo atual) nemlatência (isto é, retardo de um ou mais ciclos) incorridono recebimento e na resposta a esse sinal. 0 contadortambém é responsivo a um sinal de que espaço se tornoudisponível no dispositivo de armazenamento FIFO, enviado,por exemplo, quando os dados são emitidos a partir de umespaço liberado no dispositivo de armazenamento FIFO. Essesinal mencionado por último, contudo, é enviado a partir dodominio de depósito para o dominio de origem, e a operaçãodo contador está sujeita a qualquer latência incorrida nacomunicação do sinal entre os domínios.Um método exemplar permite a transferência dedados entre um dominio de origem operando em uma primeirataxa de dados e um dominio de depósito operando em umasegunda taxa de dados, diferente da primeira taxa de dados,por intermédio de um dispositivo de armazenamento primeiroa entrar primeiro a sair (FIFO) no dominio de depósito. 0método envolve carregar os dados em um registrador nodominio de origem para tornar os dados disponíveis aodominio de depósito e prover um sinal de dados prontos,quando a fonte tiver os dados prontos para transferência.Nesse exemplo, o valor representando o espaço disponível nodispositivo de armazenamento FIFO, mantido no contador nodominio de origem, é decrementado em resposta ao sinal dedados prontos. 0 método também envolve sinalizar o estadode dados prontos para o dominio de depósito, com base nosinal de dados prontos. No recebimento da sinalização doestado de dados prontos ■ no dominio de depósito, odispositivo de armazenamento FIFO é ativado para carregaros dados disponíveis a partir do registrador no dominio deorigem para o dispositivo de armazenamento FIFO. Em certoponto, os dados são emitidos a partir do dispositivo dearmazenamento FIFO para um depósito de dados, desse modoliberando um espaço no dispositivo de armazenamento FIFO. 0método também envolve sinalizar a liberação de espaço nodispositivo de armazenamento FIFO para o contador nodominio de origem. Em resposta ao recebimento dessasinalização, o contador incrementa o valor representandoespaço disponível no dispositivo de armazenamento FIFO. 0carregamento dos dados prontos no registrador no dominio deorigem para tornar os dados disponíveis ao dominio dedepósito é controlado em resposta ao valor representandoespaço disponível no dispositivo de armazenamento FIFO,mantido no contador no dominio de origem.Duas técnicas ou protocolos de sinalização,diferentes, são revelados. Uma técnica envolve enviar umsinal de pulso de dados prontos para um registrador nodomínio de depósito. Embora cada pulso consista em um únicociclo, o registrador no domínio de depósito mantém o pulso,e prove uma indicação de pronto, continua, até ser liberadoapós conclusão do carregamento de novos dados nodispositivo de armazenamento FIFO.A counter monitors available FIFO space and the source side uses the count to control data transfer. To improve transfer control, the counter is implemented on the source side while FIFO is implemented on the receiver side. The counter is responsive to a source-side signal that represents a ready state of the transfer data, for example, that new data has been loaded into a source-side register and is available to the FIFO storage device. Since the counter is on the source side, there is no delay in payment (ie delay within the current cycle) nor delay (ie delay in one or more cycles) incurred on receipt and response to this signal. The contact is also responsive to a signal that space becomes available on the FIFO storage device, sent, for example, when data is emitted from space freed up on the FIFO storage device. This last-mentioned sign, however, is sent from the deposit domain to the originating domain, and the counter operation is subject to any latency incurred in signal communication between the domains. An exemplary method allows the transfer of data between an operating domain of origin. at a first data rate and a deposit domain operating at a second data rate, other than the first data rate, by means of a first-in-first-out (FIFO) storage device in the deposit domain. The method involves loading the data into a register in the source domain to make the data available to the deposit domain and providing a ready data signal when the source has the data ready for transfer. In this example, the value representing the available storage space in the FIFO storage device. , kept at the source node counter, is decremented in response to the ready data signal. The method also involves signaling the ready data state for the deposit domain, based on the ready data signals. Upon receipt of the ready data state signaling ■ in the depot domain, the FIFO storage device is enabled to load data available from the source domain register to the FIFO storage device. In particular, data is output from the FIFO storage device to a data warehouse, thereby freeing up space on the FIFO storage device. The method also involves signaling the release of FIFO storage node space to the source node counter. In response to receiving this signal, the counter increments the value representing available space on the FIFO storage device. Loading the ready data into the register in the domain of origin to make the data available to the repository domain is controlled in response to the value representing available space in the FIFO storage device held at the counter in the source domain. Two different signaling techniques or protocols are revealed. . One technique involves sending a ready data pulse signal to a deposit domain register. Although each pulse consists of a single cycle, the depot domain registrar maintains the pulse, and provides a ready indication, continues until it is released upon completion of loading of new FIFO storage device data.

A outra técnica revelada utiliza sinalização"pingue-pongue". Isso envolve mudar um estado deregistrador de sinalização a partir de um estado de dadosprontos, anterior, válido para um estado de dados prontos,válido alternativo. Essencialmente, a saida do registradoralterna (pingue-pongue) entre os dois estados válidos dedados prontos, quando novas pulsações de dados se tornamsucessivamente disponíveis para transferência, Ummultiplexador (MUX) ou semelhante, pelo lado do depósito,indica que um novo batimento de dados está pronto, emresposta a cada transição entre dois estados alternados. Umelemento de controle pelo lado do depósito utiliza essaindicação de dados prontos a partir do MUX para controlar aentrada para o FIFO.The other technique revealed uses ping pong signaling. This involves changing a signaling recorder state from a previous, valid, ready data state to an alternate, valid ready data state. Essentially, the ping-pong output between the two valid ready data states, when new data pulses become successfully available for transfer, a Multiplexer (MUX) or similar, on the depot side, indicates that a new data beat is in progress. ready, in response to each transition between two alternate states. A depot-side control element uses this ready data indication from MUX to control input to FIFO.

Outro exemplo de um método para transferir dadosabrange uma pluralidade de ciclos potencialmentesobrepostos de transferência entre o domínio de origem e odomínio de depósito. Cada ciclo de transferência, o qualocorre tipicamente através de uma pluralidade de ciclos derelógio, requer o carregamento de dados a partir de umaorigem em um registrador no domínio de origem; sinalizandodados prontos para o domínio de depósito; carregamento dosdados a partir do registrador a partir do registrador nodominio de origem para um primeiro dispositivo dearmazenamento primeiro a entrar primeiro a sair (FIFO) nodomínio de depósito; emitindo os dados a partir dodispositivo de armazenamento FIFO para um dispositivo dedepósito e liberando espaço para dados no dispositivo dearmazenamento FIFO; e sinalizando a saida de dados eliberação de espaço no dispositivo de armazenamento FIFOpara o dominio de origem. Um valor de contagem mantido nodominio de origem é modificado de uma primeira maneira (porexemplo, decrementado ou incrementado), em resposta a cadacarregamento de dados no registrador no dominio de origem.O valor de contagem é modificado, de uma maneira oposta(por exemplo, incrementado ou decrementado) em reposta acada sinalização da liberação de espaço no dispositivo dearmazenamento FIFO para o dominio de origem. Controle decarregamento de dados a partir da origem para o registradorno dominio de origem, em sucessivos ciclos detransferência, se baseia em um estado atual do valor docontador. A etapa de carregar dados a partir do registradorde origem para o FIFO também inclui a transferência dedados e o sinal de pronto através de um ou maisregistradores intermediários como seria tipicamente feitoquando a transferência do registrador de origem para o FIFOnão pode ocorrer fisicamente em um único ciclo de relógio.Another example of a method for transferring data covers a plurality of potentially overlapping transfer cycles between the source domain and the deposit domain. Each transfer cycle, which typically occurs through a plurality of clock cycles, requires loading data from a source into a register in the home domain; signals ready for the deposit domain; loading data from the registrar from the source-domain registrar to a first-in-first-out-of-storage (FIFO) storage device; issuing data from the FIFO storage device to a repository device and freeing data space on the FIFO storage device; and signaling data output and free space on the FIFO storage device to the source domain. A count value kept in the source domain is first modified (for example, decremented or incremented) in response to each data load in the register in the source domain. The count value is modified in the opposite way (for example, incremented or decremented) in response to each signaling of space clearance in the FIFO storage device to the source domain. Control of data loading from the source to the register in the source domain in successive transfer cycles is based on a current state of the counter value. The step of loading data from the source register to the FIFO also includes data transfer and the ready signal through one or more intermediate registers as would typically be done when transferring the source register to the FIFO cannot physically occur in a single cycle. clock.

Ainda outro exemplo de um método para transferirdados entre domínios envolve um número de repetições deetapas, inclui o carregamento de dados a partir de umaorigem para um registrador no dominio de origem, e tornandoos dados disponíveis para o dominio de depósito; quandoespaço está disponível no dispositivo de armazenamentoprimeiro a entrar primeiro a sair (FIFO) no dominio dedepósito, carregando os dados a partir do registrador nodominio de origem para o dispositivo de armazenamento FIFO;e emitindo os dados a partir do dispositivo dearmazenamento FIFO para um dispositivo de depósito paraliberar espaço para os dados no dispositivo dearmazenamento FIFO. Esse método também envolve manter umacontagem no domínio de origem representativa do espaçodisponível no dispositivo de armazenamento F1F0. A contagemé mantida em resposta a cada carregamento de dados noregistrador no dominio de origem e em resposta àsinalização a partir do dominio de depósito de cadaliberação de espaço no dispositivo de armazenamento FIFO.Para cada repetição da etapa de carregar dados noregistrador no dominio de origem, existe uma etaparelacionada de controlar o carregamento de dados a partirda origem para aquele registrador com base em um estadoatual da contagem. Além disso, no caso da contagem indicarque o dispositivo de armazenamento FIFO está cheio, ométodo permite o carregamento de um próximo batimentodisponível de dados para o registrador no domínio de origeme manutenção daquele batimento de dados de tal modo que obatimento de dados é tornado continuamente disponível parao dispositivo de armazenamento FIFO para carregamento nodispositivo de armazenamento FIFO quando o espaço se tornadisponível.Yet another example of a method for transferring between domains involves a number of step repetitions, including loading data from a source to a register in the source domain, and making data available to the deposit domain; when space is available on the first-in-first-out (FIFO) storage device in the repository domain, loading data from the source domain register to the FIFO storage device, and outputting data from the FIFO storage device to a storage device. deposit to free space for data on FIFO storage device. This method also involves maintaining a count in the source domain that is representative of the space available on the F1F0 storage device. The count is maintained in response to each noregister data load in the source domain and in response to signaling from the space freeze deposit domain in the FIFO storage device. For each repetition of the noregister data load step in the source domain, there is a related method of controlling data loading from the source to that register based on a current count state. In addition, in the event that the count indicates that the FIFO storage device is full, the method allows loading of a next available data rate to the registrar in the originating domain and maintaining that data rate in such a way that the data collection is continuously made available to the host. FIFO storage device for loading FIFO storage device when space becomes available.

Equipamento específico, utilizando essas técnicasde controle e de sinalização ou técnicas similares paratransferir dados entre os domínios, também é revelado. Umexemplo de tal equipamento poderia incluir um registradorde dados de leitura no domínio de origem, para receber osdados a partir de uma fonte e apresentar os dados recebidospara transferência ao domínio de depósito. Um dispositivode armazenamento primeiro a entrar primeiro a sair (FIFO) ,no domínio de depósito, recebe os dados a partir doregistrador de dados de leitura para transferência para umdepósito. 0 equipamento também inclui um contador nodomínio de origem. 0 contador é responsivo ao carregamentode dados no registrador de dados de leitura edescarregamento dos dados a partir do dispositivo dearmazenamento FIFO. 0 valor mantido no contador representao espaço disponível no dispositivo de armazenamento FIFO. 0equipamento inclui ainda um controle no dominio de origem,para controlar o carregamento de dados no registrador dedados de leitura para transferência para o dominio dedepósito, em resposta ao valor de contagem.Specific equipment utilizing these control and signaling techniques or similar techniques for transferring data between domains is also disclosed. An example of such equipment could include a read data recorder in the source domain to receive data from a source and present the data received for transfer to the deposit domain. A first-in-first-out (FIFO) storage device in the depot domain receives data from the read data manager for transfer to a depot. The equipment also includes a source domain counter. The counter is responsive to loading data into the read data logger and loading data from the FIFO storage device. The value kept in the counter represents available space on the FIFO storage device. The apparatus further includes a control in the source domain to control the loading of data into the register from read data for transfer to the deposit domain in response to the count value.

Em um aspecto, mediante indicação de que odispositivo de armazenamento FIFO está cheio por intermédiodo valor de contagem no contador, o controlador permite ocarregamento de um próximo batimento disponível de dadospara o registrador de dados de leitura. 0 registrador dedados de leitura mantém esse batimento de dados de modo aser continuamente apresentado ao dispositivo dearmazenamento FIFO para carregamento no dispositivo dearmazenamento FIFO quando o espaço se tornar disponível.In one aspect, by indicating that the FIFO storage device is full by means of the counter count value, the controller allows the loading of a next available data beat to the read data logger. The read data recorder maintains this data beat so that it is continuously presented to the FIFO storage device for loading into the FIFO storage device when space becomes available.

Em outro aspecto, o equipamento inclui meio parasinalizar quando os dados estão no registrador de dados deleitura para transferência para o dispositivo dearmazenamento FIFO, para o dominio de depósito paracontrolar o recebimento de dados pelo dispositivo dearmazenamento FIFO. Vários exemplos de técnicas desinalização apropriadas são revelados.In another aspect, the apparatus includes means for signaling when the data is in the read data register for transfer to the FIFO storage device, to the deposit domain to control the reception of data by the FIFO storage device. Several examples of appropriate desinalization techniques are disclosed.

Objetivos, vantagens e características inovadorasserão apresentadas em parte na descrição a seguir, e emparte se tornaram evidentes para aqueles versados natécnica mediante exame do que se segue e dos desenhosanexos ou podem ser aprendidos por intermédio da produçãoou operação dos exemplos. Os obj etivos e vantagens dospresentes ensinamentos podem ser realizados e conseguidospela prática ou uso das metodologias, instrumentalidades ecombinações particularmente assinaladas nas reivindicaçõesanexas.Objectives, advantages and innovative features will be presented in part in the following description, and in part have become apparent to those skilled in the art by examination of the following and the accompanying drawings or may be learned by producing or operating the examples. The objectives and advantages of the present teachings may be realized and achieved by the practice or use of the methodologies, instrumentalities and combinations particularly noted in the appended claims.

BREVE DESCRIÇÃO DOS DESENHOSBRIEF DESCRIPTION OF DRAWINGS

As figuras de desenho ilustram uma ou maisimplementações de acordo com os presentes ensinamentos,apenas como exemplo, e não como limitação. Nas figuras,numerais de referência semelhantes se referem aos mesmoselementos ou a elementos similares,The drawing figures illustrate one or more implementations according to the present teachings, by way of example only and not as a limitation. In the figures, like reference numerals refer to the same or similar elements,

A Figura 1 é um diagrama funcional de blocos deelementos transferindo dados entre dominios por intermédiode um armazenador primeiro a entrar primeiro a sair (FIFO)e elementos para sinalização e controle da troca de dados.Figure 1 is a functional block diagram of elements transferring data between domains via a first in first out (FIFO) store and elements for signaling and controlling data exchange.

As Figuras 2 (A) a 2(C) são diagramas detemporização úteis no entendimento da troca de dados nosistema da Figura 1.Figures 2 (A) to 2 (C) are timeless diagrams useful in understanding the data exchange in the system of Figure 1.

A Figura 3 é um diagrama funcional de blocos deelementos transferindo dados entre dominios por intermédiode um armazenador primeiro a entrar primeiro a sair (FIFO),e um conj unto de certo modo diferente de elementos parasinalização e controle da troca de dados.Figure 3 is a functional block diagram of elements transferring data between domains via a first-in-first-out (FIFO) store, and a somewhat different set of data exchange control and signaling elements.

As Figuras, 4(A) e 4(B) , são diagramas detemporização úteis para o entendimento da troca de dados nosistema da Figura 3.Figures 4 (A) and 4 (B) are timeless diagrams useful for understanding data exchange in the system of Figure 3.

DESCRIÇÃO DETALHADADETAILED DESCRIPTION

Na descrição detalhada seguinte, vários detalhesespecíficos são apresentados como exemplos para prover umentendimento completo dos ensinamentos relevantes. Contudo,deve ser evidente para aqueles versados na técnica que ospresentes ensinamentos podem ser praticados sem taisdetalhes. Em outras instâncias, métodos, procedimentos,componentes e conjunto de circuitos conhecido descritos emum nivel relativamente elevado, sem detalhe, para evitar osaspectos que podem desnecessariamente obscurecer ospresentes ensinamentos.A tecnologia aqui revelada se refere aosprocessos para sinalização e controle relacionados àtransferência de dados para e a partir de dispositivos dearmazenamento primeiro a entrar primeiro a sair (FIFO) e aoequipamento utilizando tais protocolos. Faz-se agorareferência, em detalhe, aos exemplos ilustrados nosdesenhos anexos e discutidos abaixo. A Figura 1 ilustra umprimeiro exemplo de um sistema implementando o protocolo desinalização relacionado ao FIFO.In the following detailed description, several specific details are presented as examples to provide a complete understanding of the relevant teachings. However, it should be apparent to those skilled in the art that the present teachings can be practiced without such details. In other instances, methods, procedures, components, and known circuitry described at a relatively high level, without detail, to avoid aspects that may unnecessarily obscure the present teachings. The technology disclosed herein refers to the signaling and control processes related to data transfer to and from from first in first out (FIFO) storage devices and equipment using such protocols. Reference is made in detail to the examples illustrated in the accompanying drawings and discussed below. Figure 1 illustrates a first example of a system implementing the FIFO-related signaling protocol.

0 sistema ilustrado inclui dois elementos em doisdomínios diferentes, um dominio de origem 11 desejandoenviar dados e um dominio de depósito 13 destinado areceber os dados. Essencialmente, um elemento no dominio 11representado genericamente pela origem de dados 15 temdados disponíveis, e um elemento no dominio 13 representadogenericamente pelo depósito de dados 17 precisa receberaqueles dados para processamento adicional, armazenamentoou semelhante.The illustrated system includes two elements in two different domains, a source domain 11 for sending data and a deposit domain 13 for receiving data. Essentially, an element in domain 11 is represented generally by the available data source 15, and an element in domain 13 is represented generally by the data store 17 needs to receive that data for further processing, storage or the like.

Os dois domínios são separados por um limite dedominio, representado pela linha pontilhada D-D. Os doisdomínios podem ser regiões diferentes de um único chip desemicondutor separado por uma região de limite, tal comoporções de núcleo diferentes de um chip de processador. Osdomínios diferentes também podem ser chips diferentes, oudiferentes dispositivos conectados por intermédio defiação, através de uma série de um ou mais registradores,ou outros meios de interface, ou dois sistemas separados secomunicando por intermédio de uma rede de área local ouremota. As operações dos circuitos nos dois domínios podemser sincronizadas em relação à mesma freqüência de relógiofundamental (isto é, sincrona) ou sincronizadas em relaçãoa diferentes freqüências de relógio fundamentais (isto é,assincronas).Para facilitar a discussão, supõe-se que os doisdomínios são sincronos e representam elementos bem próximosque são conectados diretamente juntos através do limite,por exemplo, duas seções de um chip de processadorinterconectadas ou acopladas juntas através de uma regiãode limite do chip. A separação das duas seções pode serfisica, por exemplo, duas partes ou áreas separadas dochip, ou a separação pode ser simplesmente lógica querdizer simplesmente entre componentes operando na taxa dedados do primeiro domínio e componentes operando na taxa dedados do segundo dominio.The two domains are separated by a domain boundary, represented by the dotted line D-D. The two domains may be different regions of a single de-conducting chip separated by a boundary region, such as different core portions of a processor chip. The different domains may also be different chips, or different devices connected via sharpening, through a series of one or more registers, or other interface means, or two separate systems communicating through a local area network. Circuit operations in the two domains can be synchronized to the same fundamental clock frequency (ie synchronous) or synchronized to different fundamental clock frequencies (ie asynchronous). For ease of discussion, it is assumed that the two domains are synchronous and represent very close elements that are directly connected together across the boundary, for example, two sections of a processor chip interconnected or coupled together across a boundary region of the chip. The separation of the two sections may be physical, for example, two separate parts or areas of the dochip, or the separation may simply be logical to simply mean between components operating at the rate of the first domain and components operating at the rate of the second domain.

Desse modo, as taxas de dados dos dois domíniosdiferem. Elementos no dominio de origem 11 operam em umataxa de dados, enquanto que os elementos no dominio dedepósito 13 operam em outra taxa de dados de certo mododiferente. A taxa de dados do dominio de depósito 13 edesse modo o dispositivo de depósito de dados 17 pode sermais lenta ou mais rápida do que a taxa de dados da origem15 no dominio 11. Além disso, as taxas de dados e dessemodo a diferença nas taxas de dados pode variar com otempo, por exemplo, à medida que variam as operações deprocessamento da origem 15 e do depósito 17. Nos diagramasde temporização exemplares (Figuras 2(A) a 2(C)), a taxa dedados de depósito é de certo modo mais lenta do que a taxade dados de origem. Embora nos exemplos as taxas de relógiosejam idênticas, vantagens também podem ser obtidas quandoos relógios são diferentes, utilizando técnicas conhecidasdaqueles versados na arte.Thus, the data rates of the two domains differ. Elements in the source domain 11 operate at one data rate, whereas elements in the deposit domain 13 operate at another data rate of a somewhat different mode. The data rate of the deposit domain 13 and thus the data device 17 may be slower or faster than the source data rate 15 in domain 11. In addition, the data rates and the difference in the data rates. data may vary over time, for example, as the source-15 and deposit-17 processing operations vary. In the exemplary timing diagrams (Figures 2 (A) to 2 (C)), the deposit data rate is somewhat slower than the source data rate. While the rates of watches in the examples are identical, advantages can also be obtained when watches are different using techniques known to those skilled in the art.

Retornando à Figura 1, para compensar a diferençade taxa de dados dos domínios 11 e 13, através do limite D-D, o dominio de depósito 13 inclui um dispositivo dearmazenamento primeiro a entrar primeiro a sair (FIFO),essencialmente para armazenar dados recebidos a partir dodomínio de origem 11. 0 armazenamento compensa asdiferenças nas taxas de dados dos dois domínios 11 e 13,para evitar perda de dados devido à transferência de dadosem tempos ou velocidades, quando o dominio receptor nãopode lidar com os mesmos, e/ou para evitar a duplicação dedados porque o dominio receptor 13 está esperando e prontopara receber dados adicionais enquanto o dominio emissor 11ainda está transferindo dados anteriores.Returning to Figure 1, to compensate for the data rate difference of domains 11 and 13 across the DD boundary, the deposit domain 13 includes a first in first out (FIFO) storage device essentially for storing data received from the domain. The storage compensates for differences in the data rates of the two domains 11 and 13 to avoid data loss due to data transfer at times or speeds when the receiving domain cannot handle them and / or to avoid duplication. This is because the receiving domain 13 is waiting and ready to receive additional data while the sending domain 11 is still transferring previous data.

0 dispositivo de armazenamento FIFO 19 pode serimplementado em qualquer uma de uma variedade dearquiteturas físicas, tal como registradores ou memórias.Para fins de discussão, é conveniente considerar o FIFO 19como uma série ou pilha de registradores através dos quaisse deslocam os dados recebidos. Contudo, os dispositivosFIFO freqüentemente utilizam memória e proporcionamoperações de primeiro a entrar primeiro a sair, porintermédio de manipulação apropriada do endereçamento dememória usado durante as operações de leitura e gravação.Um registrador ou localização está cheio quando um novobatimento de dados, 12 8 bytes no exemplo, é carregado ougravado no dispositivo de armazenamento FIFO 19. Umregistrador ou localização está liberado quando umbatimento de dados é descarregado ou lido a partir dodispositivo de armazenamento FIFO 19 para o depósito 17.The FIFO 19 storage device may be implemented in any of a variety of physical architectures, such as registers or memory. For discussion purposes, it is convenient to consider FIFO 19 as a series or stack of registers through which received data travels. However, FIFO devices often use memory and provide first-in-first-out operations through proper handling of the memory addressing used during read and write operations. A register or location is full when a new data rate, 12 8 bytes in the example , is loaded or written to FIFO storage device 19. A recorder or location is released when a data buffer is downloaded or read from FIFO storage device 19 to depot 17.

Pelo lado da origem ou emissão 11, a origem dedados 15 fornece um batimento de dados, nesse exemplo, 128bits de dados, a um registrador 21, referido algumas vezescomo um registrador de dados de leitura. No exemplo, oregistrador 21 é designado como registrador de dados deleitura (ReadData). O registrador ReadData 21 retém os 128bits de dados e apresenta os bits de dados nas linhas paratransferir os dados através do limite D-D para a entrada dodispositivo de armazenamento FIFO 19. Embora não se j amostrada no desenho, lógica adicional pode existir após oregistrador de dados de leitura e antes do FIFO. Enquanto oregistrador 21 retém o novo batimento (128 bytes) de dados,os dados estão disponíveis nas linhas para a entrada dodispositivo de armazenamento FIFO 19. Contudo, quando onovo batimento de dados é primeiramente carregado noregistrador 21, existe certo retardo de propagação antes doaparecimento dos dados na entrada do dispositivo dearmazenamento FIFO 19 no dominio de depósito 13.From the source or output side 11, data source 15 provides a data stream, in this example 128 bits of data, to a register 21, sometimes referred to as a read data register. In the example, Registrar 21 is referred to as ReadData. The ReadData register 21 holds the 128 bits of data and displays the data bits on the lines to transfer the data through the DD boundary to the FIFO storage device input 19. Although not already sampled in the drawing, additional logic may exist after the data recorder. read and before FIFO. While register 21 retains the new data rate (128 bytes), data is available on the lines for the FIFO storage device input 19. However, when the new data rate is first loaded on register 21, there is some propagation delay before the data appears. data at the input of the FIFO storage device 19 in the deposit domain 13.

Um controle FIFO 23 controla o fluxo de dadospara e através do registrador ReadData 21. 0 controladorFIFO 23 é uma máquina de estado finito. A máquina de estadopode ser implementada como um processador programável, masé formada tipicamente de circuitos e/ou blocos lógicos paragerar saldas desejadas em resposta às entradas especificas,quer dizer, de modo a implementar o algoritmo de controleespecifico pelo lado da origem. Quando a origem 15 tivernovos dados para enviar, o controle FIFO 2 3 faz com que oregistrador ReadData 21 apresente os novos dados se houverespaço disponível no dispositivo de armazenamento FIFO 19para o último batimento de dados, conforme indicado por umcontador de uso de registrador 25. 0 alcance ou valorinicial do contador corresponde à profundidade do FIFO.Portanto, o controle 2 3 pode determinar se espaço estádisponível no FIFO mediante exame de um estado do contador,por exemplo, se o contador ainda não é negativo (nenhumespaço disponível). Como discutido mais abaixo, é vantajosoque o contador 25 seja um elemento no dominio de origem 11.Embora mostrado como um elemento separado, o contador 25pode ser integrado como parte da máquina de estado servindocomo o controle FIFO 23.A FIFO 23 controller controls the data flow to and through the ReadData 21 register. The FIFO 23 controller is a finite state machine. The state machine may be implemented as a programmable processor, but is typically made up of circuits and / or logic blocks for desired outputs in response to specific inputs, that is, to implement the source-specific control algorithm. When the source 15 has new data to send, the FIFO 2 3 control causes the ReadData 21 administrator to present the new data if space is available on the FIFO storage device 19 for the last data beat as indicated by a register usage counter 25. 0 The range or initial value of the counter corresponds to the depth of the FIFO. Therefore, the 23 control can determine if space is available in FIFO by examining a counter state, for example, if the counter is not yet negative (no available space). As discussed below, it is advantageous that counter 25 is an element in the source domain 11. Although shown as a separate element, counter 25 can be integrated as part of the servo state machine as the FIFO control 23.

Quando o controle FIFO 23 faz com que oregistrador ReadData 21 apresente os novos dados paraentrada no dispositivo de armazenamento FIFO 19, o controleFIFO 2 3 sinaliza para o dominio de depósito 13 mediantegeração de um pulso de pronto, referido no exemplo comosinal ReadDataReady. Esse sinal é tipicamente um pulsoasseverado para um único ciclo de relógio, o que significaque ele não é um sinal de estado mantido elevado (ou baixo)pelo tempo em que os dados são mantidos disponíveis peloregistrador ReadData 21. No dominio de depósito, o sinal depulso ReadDataReady é aplicado a um registrador 27,designado como o registrador de pronto (Rdy) na figuraexemplar. Quando o registrador 27 recebe um pulso depronto, ele prove um sinal de estado, significando que osdados estão prontos para transferência para o controle FIFO no dominio de depósito 13. 0 registrador 27 mantém oestado de pronto (mantém o batimento) até ser liberado pelocontrole FIFO 29.When the FIFO control 23 causes ReadData 21 to display the new data for entry into the FIFO 19 storage device, the FIFO 23 control signals to the deposit domain 13 a ready pulse generation, referred to in the ReadDataReady comosignal example. This signal is typically a signal pulse for a single clock cycle, which means that it is not a high (or low) state signal for as long as data is kept available by the ReadData 21 record. In the deposit domain, the pulse signal ReadDataReady is applied to a register 27, designated as the ready register (Rdy) in the example figure. When register 27 receives a time-out pulse, it provides a status signal, meaning that the data is ready for transfer to FIFO control in the deposit domain 13. Register 27 keeps the state ready (holds the beat) until it is released by the FIFO control. 29

No dominio de depósito 13, o controle FIFO 29 éoutra máquina de estado finito. A máquina de estado podeser implementada como um processador programável, mastipicamente é formada de circuitos e/ou blocos lógicos paragerar saidas desejadas em resposta às entradas especificas,quer dizer, de modo a implementar o algoritmo de controleespecifico pelo lado do depósito. 0 controle FIFO 2 9, porexemplo, prove sinais de "gravação" e "leitura" para odispositivo de armazenamento FIFO para controlar a entrada(gravação) e saida (leitura) de dados para e a partir dodispositivo de armazenamento FIFO 19. A função de leituralibera espaço para receber novos dados. Conforme observado,o registrador 27 prove um sinal de estado de pronto para ocontrole FIFO 29 em resposta ao batimento de pronto apartir do controle de dominio de origem 23. Se espaçoestiver disponível no dispositivo de armazenamento FIFO 19para receber os dados de pronto, o controlador 29 gera osinal de gravação, fazendo com que o dispositivo dearmazenamento FIFO aceite a entrada dos dados a partir doregistrador ReadData 21 no dominio de origem 11. 0 controleFIFO 29 sincroniza o registrador de estado de pronto 27(isto é, permite que ele seja atualizado com base no valordo sinal ReadDataReady) quando ele gera o sinal degravação, quer dizer quando ele instrui o dispositivo dearmazenamento FIFO 19 a aceitar um batimento de dados (12 8bits) a partir da fonte.In depot domain 13, FIFO control 29 is another finite state machine. The state machine may be implemented as a programmable processor, it is typically formed of circuits and / or logic blocks to desired outputs in response to the specific inputs, that is, in order to implement the specific depot side control algorithm. The FIFO 29 control, for example, provides "write" and "read" signals to the FIFO storage device to control data input (write) and output (read) to and from the FIFO 19 storage device. leitural frees up space to receive new data. As noted, register 27 provides a FIFO 29 ready state signal in response to the ready beat from the source domain control 23. If space is available on the FIFO storage device 19 to receive the ready data, controller 29 generates the write signal, causing the FIFO storage device to accept input from the ReadData 21 recorder in the source domain 11. The FIFO control 29 synchronizes the ready state register 27 (i.e. allows it to be updated based (ReadDataReady signal) when it generates the write signal, that is, when it instructs the FIFO 19 storage device to accept a data rate (12 8bits) from the source.

Conforme ilustrado, o pulso servindo como o sinalReadDataReady decrementa o contador 25, indicando que menosum local de registrador está disponível no dispositivo dearmazenamento FIFO 19. A esse respeito, o contador 25 édecrementado em resposta ao pulso de pronto gerado no mesmodominio 11, sem qualquer retardo ou latência paratransferência de um sinal entre os dois domínios 11 e 13. 0sinal de leitura a partir do controle FIFO 2 9 pelo lado dodepósito instrui o dispositivo de armazenamento FIFO 19 aemitir os dados a partir de um de seus locais deregistrador para o depósito 17 e liberar aquele local nodispositivo 19. Portanto, o pulso do sinal de pronto éfornecido a partir do dominio de depósito 13 através dolimite D-D, para incrementar o contador 25.As shown, the pulse serving as SignalReadDataReady decrements counter 25, indicating that less register location is available on FIFO storage device 19. In this regard, counter 25 is decremented in response to the ready pulse generated in mesmodominal 11, without any delay. or signal transfer latency between the two domains 11 and 13. The read signal from the FIFO 29 control on the deposit side instructs the FIFO 19 storage device to output data from one of its register locations to the depot 17 and releasing that device location 19. Therefore, the ready signal pulse is supplied from the deposit domain 13 through the DD limit to increment counter 25.

Haverá certa latência entre a emissão do sinal depronto pelo controle 29 e o surgimento do sinalcorrespondente como a indicação de entrada livre FIFO nocontador 25 no dominio de origem 11. A latência desinalização pode ser devido ao tempo exigido para asinalização atravessar o chip. Contudo, pode haver conjuntode circuitos de estado adicional, representadogenericamente pelo elemento de retardo/temporização 28 nodesenho, entre o sinal de leitura e a entrada livre deFIFO. Embora mostrado no dominio de depósito 13, o conjuntode circuitos 28 pode estar fisicamente em qualquer um ou emambos os domínios. 0 conjunto de circuitos adicional,tipicamente um ou mais flip-flops, garante niveis de sinaladequados e alinhamento de temporização através do limite Dentre os domínios. Contudo, o conjunto de circuitosadicional 2 8 acrescentaria um ou mais ciclos de retardos àlatência entre a asseveração do sinal de pronto pelocontrole 29 e o surgimento do sinal correspondente como aindicação de entrada livre de FIFO no contador 25. Emboranão sejam mostrados por conveniência, aqueles versados natécnica reconhecerão que se tal conjunto de circuitoadicional for provido, elementos similares deretardo/temporização seriam providos em outras linhas entreos dois domínios, tal como a linha ReadData e a linhaReadDataReady.There will be some latency between control signal output 29 and corresponding signal emergence as the FIFO free input indication 25 in source domain 11. The signaling latency may be due to the time required for signaling to cross the chip. However, there may be a set of additional state circuits, generally represented by the delay / time delay element 28, between the read signal and the free input of FIFO. Although shown in depot domain 13, circuitry 28 may be physically in either or both domains. The additional circuitry, typically one or more flip flops, ensures adequate signal levels and timing alignment across the boundary between domains. However, the additional circuitry 28 would add one or more delay cycles to the lag between the assertion of the ready signal by control 29 and the appearance of the corresponding signal as the FIFO free input indication at counter 25. Although those versed are not shown for convenience, The technician will recognize that if such an additional circuit set is provided, similar delay / timing elements would be provided on other lines between the two domains, such as the ReadData line and the ReadDataReady line.

0 contador 2 5 fornece a contagem de espaço livreFIFO ao controle FIFO 23 no domínio de origem 11 para usoem sua determinação para transferir novos dados através dolimite D-D. Ao decrementar a contagem cada dado de tempo édisponibilizado para o FIFO 19 e incrementando-se acontagem cada vez que um local for liberado (quando osdados são lidos a partir do FIFO 19), o valor do contador25 monitoriza a quantidade de espaço (número de locais deregistrador), disponíveis, ou livres, no dispositivo dearmazenamento FIFO 19. Contudo, como o contador 25 está nodomínio de origem 11, o decremento de certo modo precede orecebimento do sinal ReadDataReady e resposta a ele nodomínio de depósito 13. Há certo retardo ou latência natransferência do sinal de pulso através do limite D-D parao registrador 27. Inversamente, o incremento do contador 25no domínio de origem 11 de certo modo atrasa a leitura dedados a partir do dispositivo de armazenamento FIFO 19 nodomínio de depósito 13, devido ao retardo ou latência natransferência do sinal de leitura através do limite D-D.Counter 25 provides the FIFO free space count to the FIFO control 23 in source domain 11 for use in its determination to transfer new data through D-D limit. By decrementing the count each time data is made available to FIFO 19 and incrementing event each time a location is released (when data is read from FIFO 19) the counter25 value monitors the amount of space (number of locations available or free on the FIFO storage device 19. However, since counter 25 is in the original domain 11, the decrease somewhat precedes the ReadDataReady signal reception and response to the storage domain 13. There is some delay or latency Pulse signal natransference across the DD boundary to register 27. Conversely, incrementing the counter 25 in source domain 11 somewhat delays reading of data from the FIFO storage device 19 in the storage domain 13 due to the delay or latency in the transference. read signal through the DD limit.

0 controle FIFO 23 também é responsivo a um indicador de validade de dados (V) em um registrador de um bit 31 definido pela origem de dados 15, quando a origem inicialmente tem dados disponíveis para transferência para o depósito 17. Dito de outra forma, a fonte 15 define o indicador V no registrador 31 para informar ao controle FIFO 23 que existem novos dados válidos disponíveis para carregamento no registrador ReadData 21. 0 controle FIFO 23 prove um sinal de relógio (habilitação) para o registrador de um bit servindo como o indicador de validade de dados (V) 31. Quando os dados tiverem sido transferidos de forma bem-sucedida para o FIFO 19 no domínio de depósito, o controle FIFO 2 3 prove um sinal de relógio (habilitação) para carregar o registrador 31 e desse modo o estado do indicador de validade (V) . Em operação, o bit válido de origem é enviado a partir do registrador 31 para o controle FIFO de origem 23, para informar a esse controle FIFO 23 de que os dados estão prontos para serem enviados. 0 bit é liberado a partir do registrador 31 quando os dados são enviados, a menos que novos dados se desloquem simultaneamente a partir da origem 15. Dessa maneira, o controle FIFO 23 controla o indicador V no registrador 31 para permitir que a origem 15 aplique o indicador (e introduza um novo batimento de dados ao registrador ReadData) quando o contador 25 indica que existe espaço disponível para o novo batimento de dados.FIFO control 23 is also responsive to a data validity indicator (V) in a one-bit register 31 defined by data source 15, when the source initially has data available for transfer to depot 17. In other words, source 15 sets the V indicator in register 31 to inform the FIFO control 23 that there are new valid data available for loading in the ReadData register 21. The FIFO 23 control provides a clock signal (enable) to the one bit register serving as the data validity indicator (V) 31. When data has been successfully transferred to FIFO 19 in the depot domain, the FIFO 2 3 control provides a clock signal (enable) to load register 31 and thereafter. mode the status of the validity indicator (V). In operation, the valid source bit is sent from register 31 to source FIFO control 23 to inform this FIFO control 23 that the data is ready to be sent. The bit is cleared from register 31 when data is sent, unless new data moves simultaneously from source 15. In this way, FIFO control 23 controls indicator V in register 31 to allow source 15 to apply. the indicator (and enter a new data beat to the ReadData register) when counter 25 indicates that there is space available for the new data beat.

Para considerar a transferência de dados no sistema da Figura 1, pode ser útil considerar uma seqüência especifica de operações do sistema, com referência aos diagramas de temporização simples conforme ilustrado nas Figuras 2(A) a 2(C). A linha superior em cada desenho prove numeração dos ciclos de relógio, e as pulsações do relógiosão mostradas na próxima linha. Nos exemplos, o relógio é o mesmo em ambos os domínios. A terceira linha representa os dados introduzidos nos registradores ReadData 21, e a quarta linha representa o sinal ReadDataReady (abreviado DataRdy nos diagramas de sinal).To consider data transfer in the system of Figure 1, it may be useful to consider a specific sequence of system operations, with reference to simple timing diagrams as illustrated in Figures 2 (A) to 2 (C). The top line in each drawing provides clock cycle numbering, and the clock pulses are shown in the next line. In the examples, the clock is the same in both domains. The third line represents the data entered in the ReadData 21 registers, and the fourth line represents the ReadDataReady signal (abbreviated DataRdy in signal diagrams).

Considere agora a Figura 2 (A) como um primeiro exemplo. Nesse exemplo, para simplicidade, o FIFO consiste em uma única linha (Fifo[0]). A contagem (mostrada na quinta linha) representa o número de pulsações de dados que podem ser enviadas. A contagem começa com uma posição a mais do que o número de posições FIFO. Esse batimento adicional representa os dados que podem ser mantidos "continuamente" (no registrador ReadData). Uma contagem de zero indica que os dados de origem precisam ser mantidos a partir do ciclo anterior. Conseqüentemente, o sinal DataReady não deve ser asseverado em tal ciclo. Como o exemplo da Figura 2(A) tem apenas uma posição FIFO, inicialmente a contagem é ajustada para 2.Consider now Figure 2 (A) as a first example. In this example, for simplicity, FIFO consists of a single line (Fifo [0]). The count (shown in the fifth line) represents the number of data beats that can be sent. Counting begins with one position more than the number of FIFO positions. This additional beat represents data that can be kept "continuously" (in the ReadData register). A zero count indicates that the source data needs to be kept from the previous loop. Consequently, the DataReady signal should not be asserted in such a loop. As the example in Figure 2 (A) has only one FIFO position, initially the count is set to 2.

No ciclo 2, quando os dados Qo primeiramente aparecem no registrador ReadData 21, o controle FIFO 2 3 primeiramente assevera o sinal ReadDataReady (DataRdy). No próximo ciclo, como ele recebeu o sinal ReadDataReady, o contador decrementa sua contagem dos locais de armazenador FIFO disponíveis em 1. No exemplo, a quinta linha do diagrama, a contagem cai para 1 no terceiro ciclo.In loop 2, when Qo data first appears in the ReadData register 21, the FIFO 2 3 control first asserts the ReadDataReady (DataRdy) signal. In the next cycle, as it received the ReadDataReady signal, the counter decrements its count of available FIFO store locations by 1. In the example, the fifth line of the diagram, the count drops to 1 in the third cycle.

Suponha para discussão desse exemplo, que o espaço está disponível no FIFO. Em resposta ao sinal ReadDataReady no ciclo 2, o FIFO aceita o primeiro batimento Q0 de dados e desloca o mesmo para a linha Fifo[0] no próximo ciclo, quer dizer no ciclo 3. Ao mesmo tempo, nesse exemplo, o depósito está pronto, e aceita aquele batimento de dados nesse ciclo (linha inferior do desenho) , de modo que o controle FIFO 2 9 assevera o sinalde leitura (próximo à última linha no desenho) , para permitir a leitura daquele batimento de dados para fora do FIFO para o depósito.Suppose for discussion of this example, that space is available in FIFO. In response to the ReadDataReady signal in loop 2, FIFO accepts the first data hit Q0 and shifts it to line Fifo [0] in the next loop, that is to say in loop 3. At the same time, in this example, the deposit is ready , and accepts that data beat in that loop (bottom line of the drawing) so that the FIFO 29 control asserts the read signal (near the last line in the drawing) to allow that data beat to be read out of the FIFO to the deposit.

Nesse primeiro exemplo, o sistema exibe um ciclo único de latência entre os dominios- Como resultado da latência entre os dominios, o sinal de leitura a partir do controle FIFO 2 9 alcança o contador no próximo (quarto) ciclo, como o sinal de entrada livre do FIFO mostrado na Figura 1 ou a seta na Figura 2 (A) . Esse sinal representa uma liberação de uma entrada a partir do FIFO, que normalmente faria com que o contador incrementasse. Contudo, um novo batimento de dados também está disponível naquele mesmo ciclo, como indicado pelo sinal ReadDataReady continuado. 0 decremento responsivo ao sinal ReadDataReady neutraliza o incremento responsivo ao sinal de leitura, de modo que a contagem permanece em 1 (como mostrado pelo sombreado na linha Contagem). De forma similar, a contagem permanece em um através do ciclo 11, quer dizer desde que novos dados se tornem disponíveis e os dados estejam sendo lidos a partir do FIFO no dominio de depósito.In this first example, the system displays a single cycle of latency between domains. As a result of latency between domains, the read signal from the FIFO 2 control reaches the counter in the next (fourth) cycle as the input signal. of the FIFO shown in Figure 1 or the arrow in Figure 2 (A). This signal represents a release of an input from FIFO, which would normally cause the counter to increment. However, a new data beat is also available in that same cycle, as indicated by the continued ReadDataReady signal. The responsive decrement to the ReadDataReady signal counteracts the responsive increment to the read signal, so that the count remains at 1 (as shown by shading in the Count line). Similarly, the count remains at one through cycle 11, that is, as long as new data becomes available and data is being read from FIFO in the deposit domain.

No ciclo 10, o último batimento de dados Q8 é carregado no registrador ReadData, e o sinal ReadDataReady (DataRdy) permanece elevado. Contudo, no ciclo 11, quando aquele batimento de dados se desloca para o FIFO, e nenhum batimento novo de dados está disponível. O controle 23 cancela a asseveração do sinal ReadDataReady (DataRdy na Figura 2(A)). No próximo ciclo, quando o sinal de pronto a partir do controle 29 alcança o contador, o contador incrementa (não é necessidade correspondente de decrementar porque nenhum dado novo está disponível). Nesse exemplo simples, a contagem retorna até 2, no ciclo 12, após o último batimento de dados ter se deslocado através do FIFO para o depósito.A Figura 2B mostra a temporização para um exemplo similar, no qual o FIFO é três linhas mais profundo (posições Fifo[0], Fifo[l] e Fifo[2]), e existem dois ciclos de latência na sinalização entre os dois domínios, conforme representado pela linha adicional de entrada livre de FIFO. A latência adicional pode ser devido à inclusão de conjunto de circuitos de estado, adicional 28, por exemplo, um flip-flop, entre o sinal de leitura a partir do controle 2 9 e a entrada de sinal de entrada livre de FIFO do contador 25. Devido às similaridades, aqueles versados na técnica devem considerar as operações apresentadas pelo diagrama de sinalização mostrado nesse desenho.In cycle 10, the last data beat Q8 is loaded into the ReadData register, and the ReadDataReady (DataRdy) signal remains high. However, in cycle 11, when that data rate shifts to FIFO, and no new data rate is available. Control 23 cancels the assertion of the ReadDataReady signal (DataRdy in Figure 2 (A)). In the next cycle, when the ready signal from control 29 reaches the counter, the counter increments (no corresponding need to decrement because no new data is available). In this simple example, the count returns to 2, in cycle 12, after the last data beat has shifted through FIFO to the depot. Figure 2B shows the timing for a similar example, where FIFO is three lines deeper. (positions Fifo [0], Fifo [l] and Fifo [2]), and there are two signaling latency cycles between the two domains, as represented by the additional FIFO free entry line. The additional latency may be due to the inclusion of additional state circuitry 28, for example a flip-flop, between the read signal from the control 29 and the FIFO free input signal counter 25. Due to the similarities, those skilled in the art should consider the operations presented by the signaling diagram shown in this drawing.

A Figura 2(C) é outro exemplo de latência de ciclo único similar à Figura 2(A), contudo, na Figura 2 (C) o FIFO está mais fundo em três linhas (posições Fifo[0], Fifo[l] e Fifo[2]). Além disso, a Figura 2 (C) mostra a leitura mais lenta pelo Depósito e desse modo os dados se deslocando através das linhas do FIFO. Outra vez, a linha superior do diagrama prove numeração de ciclos de relógio, e os pulsos do relógio são mostrados na próxima linha. A terceira linha representa dados introduzidos no registrador ReadData 21. Deve ser observado, quando os dados estão disponíveis a partir da origem e espaço está disponível no FIFO, por exemplo, nos ciclos 2, 3 e 4, os dados se deslocam para o registrador ReadData em um ciclo e para fora do registrador para o FIFO no próximo ciclo. Por exemplo, pulsações de dados Qo, Qi e Q2 residem no registrador para apenas um ciclo cada. Contudo, quando os dados estão no registrador ReadData, mas espaço não está disponível no FIFO, um batimento de dados permanece no registrador por dois ou mais ciclos. No exemplo, as pulsações de dados começando com Q3 residem no registrador por pelo menos dois ciclos.Outra vez, a contagem (mostrada na quinta linha) representa o número de pulsações de dados que podem ser enviadas. A contagem começa com uma posição a mais do que o número de posições FIFO, quer dizer em 4 para o exemplo de FIFO de três linhas da Figura 2(C). Esse batimento adicional representa os dados que podem ser mantidos "continuamente" no registrador ReadData. Uma contagem de zero indica que os dados de origem precisam ser mantidos a partir do ciclo anterior, como representado pela retenção de cada uma das pulsações de dados começando com Q3 no registrador por pelo menos dois ciclos. Outra vez, o sinal DataReady não deve ser asseverado em um ciclo quando a contagem é 0.Figure 2 (C) is another example of single-loop latency similar to Figure 2 (A), however, in Figure 2 (C) FIFO is deeper in three lines (positions Fifo [0], Fifo [1] and Fifo [2]). In addition, Figure 2 (C) shows the slowest reading by the Depot and thus the data moving across the FIFO lines. Again, the top line of the diagram provides clock cycle numbering, and the clock pulses are shown on the next line. The third line represents data entered into the ReadData 21 register. It should be noted that when data is available from the source and space is available in FIFO, for example, in cycles 2, 3 and 4, the data moves to the ReadData register. one cycle and out of the register to the FIFO in the next cycle. For example, Qo, Qi, and Q2 data pulses reside in the register for only one cycle each. However, when data is in the ReadData register but space is not available in FIFO, a data knock remains in the register for two or more cycles. In the example, data heartbeats starting with Q3 reside in the register for at least two cycles. Again, the count (shown in the fifth line) represents the number of data heartbeats that can be sent. Counting starts with one position more than the number of FIFO positions, i.e. 4 for the three-line FIFO example of Figure 2 (C). This additional beat represents data that can be kept "continuously" in the ReadData register. A zero count indicates that the source data needs to be kept from the previous loop, as represented by retaining each of the data pulses starting with Q3 in the register for at least two cycles. Again, the DataReady signal should not be asserted in a loop when the count is 0.

Conforme observado, nesse exemplo, o FIFO consiste em três linhas, portanto, inicialmente a contagem mostrada na quinta linha é ajustada em 4. No ciclo 2, quando os dados Qo aparecem primeiramente no registrador 21, o controle FIFO 2 3 primeiramente assevera o sinal ReadDataReady (DataRdy) mostrado na quarta linha do diagrama. No próximo ciclo (ciclo 3), porque ele recebeu o sinal ReadDataReady a partir do controle de domínio de origem 23, o contador 25 decrementa sua contagem dos locais de armazenador disponíveis em 1 - No exemplo, na quinta linha do diagrama, a contagem cai para 3 no terceiro ciclo. Inicialmente, as linhas FIFO estão vazias, de modo que o primeiro batimento de dados pode se deslocar para o FIFO e diretamente para a linha inferior do FIFO, quer dizer para a linha Fifo[0], no terceiro ciclo. O depósito não está pronto para receber esses dados até algum tempo depois (por exemplo, no ciclo 6) conforme mostrado na parte inferir do diagrama. Assim, Fifo[0] mantém o primeiro batimento de dados Qo por vários ciclos.As noted in this example, FIFO consists of three lines, so initially the count shown in the fifth line is set to 4. In cycle 2, when Qo data first appears in register 21, the FIFO 2 3 control first asserts the signal. ReadDataReady (DataRdy) shown on the fourth line of the diagram. In the next cycle (cycle 3), because it received the ReadDataReady signal from source domain control 23, counter 25 decrements its count of available store locations by 1 - In the example, on the fifth line of the diagram, the count drops to 3 in the third cycle. Initially, the FIFO lines are empty, so that the first data beat can move to FIFO and directly to the bottom line of FIFO, that is to say to line Fifo [0] in the third cycle. The warehouse is not ready to receive this data until some time later (for example, in cycle 6) as shown in the bottom part of the diagram. Thus, Fifo [0] maintains the first Qo databeat for several cycles.

No ciclo 3, contudo, um segundo batimento dedados Qi se desloca para o registrador ReadData, e o controle pelo lado de origem 23 mantém o sinal ReadDataReady (DataRdy) alto. Como o contador ainda não recebeu um sinal de entrada livre de FIFO ou leitura a partir do dominio de depósito, o contador decrementa outra vez a contagem no ciclo 4, nesse caso, para um valor de 2. Nesse ponto no exemplo, duas das linhas FIFO estão vazias, de modo que o segundo batimento de dados pode se deslocar para o FIFO e diretamente para a linha próxima da última do FIFO, quer dizer para a linha Fifo[l], no quarto ciclo. 0 depósito ainda não está pronto para receber os dados até algum momento posterior (por exemplo, no ciclo 6), conforme mostrado na parte inferior do diagrama. Assim, Fifo[1] mantém o segundo batimento de dados Qx por vários ciclos.In loop 3, however, a second Qi data beat shifts to the ReadData register, and source-side control 23 keeps the ReadDataReady (DataRdy) signal high. Since the counter has not yet received a FIFO-free input signal or read from the deposit domain, the counter again decrements the count in cycle 4, in this case to a value of 2. At this point in the example, two of the lines FIFO are empty, so that the second data beat can move to FIFO and directly to the line near the last line of FIFO, that is to say the line Fifo [l] in the fourth cycle. The depot is not yet ready to receive data until some time later (for example, in cycle 6) as shown at the bottom of the diagram. Thus, Fifo [1] maintains the second Qx data beat for several cycles.

No ciclo 4, um terceiro batimento de dados Qi se desloca para o registrador ReadData, e o controle pelo lado de origem 2 3 mantém o sinal ReadDataReady (DataRdy) alto. Outra vez, o contador ainda não recebeu um sinal de entrada livre de FIFO ou de leitura a partir do dominio de depósito no próximo ciclo, de modo que no ciclo 5 o contador decrementa adicionalmente a contagem em 1, nesse caso, para um valor de 1. Nesse ponto no exemplo, uma das linhas FIFO está vazia, de modo que o segundo batimento de dados pode se deslocar para o FIFO na linha Fifo[0], no quinto ciclo. O depósito ainda não está pronto para receber aqueles dados até algum momento posterior, portanto, Fifo[0] inicialmente mantém o terceiro batimento de dados Q2.In loop 4, a third Qi data beat moves to the ReadData register, and source-side control 23 keeps the ReadDataReady (DataRdy) signal high. Again, the counter has not yet received a FIFO free or read input signal from the deposit domain in the next cycle, so that in cycle 5 the counter further decrements the count by 1, in this case to a value of 1. At this point in the example, one of the FIFO lines is empty, so that the second data beat can shift to FIFO on line Fifo [0] in the fifth cycle. The depot is not yet ready to receive that data until some time later, so Fifo [0] initially maintains the third data hit Q2.

No ciclo 5, outro batimento de dados Q3 se desloca para o registrador ReadData, e o controle pelo lado de origem 23 mantém o sinal ReadDataReady (DataRdy) alto. Dessa vez, como nenhum dado se deslocou para fora do FIFO, no ciclo 6 o contador decrementa adicionalmente a contagem para um valor de 0. Nesse ponto no exemplo, nenhuma daslinhas FIFO está vazia, e existem dados no registrador ReadData. Conseqüentemente, o sinal DataReady não é asseverado nesse ciclo. Contudo, o quarto batimento de dados Q3 é mantida "continuamente" no registrador ReadData.In loop 5, another data beat Q3 shifts to the ReadData register, and source-side control 23 keeps the ReadDataReady (DataRdy) signal high. This time, as no data has moved outside of FIFO, in cycle 6 the counter further decrements the count to a value of 0. At this point in the example, none of the FIFO lines is empty, and there is data in the ReadData register. Consequently, the DataReady signal is not asserted in this cycle. However, the fourth data beat Q3 is kept "continuously" in the ReadData register.

No exemplo, o depósito primeiramente se torna pronto para aceitar um batimento de dados no sexto ciclo (linha inferior do desenho), de modo que o controle FIFO 29 assevera o sinal de leitura (próximo à última linha no desenho), para permitir a leitura daquele batimento de dados a partir do FifofO] para o depósito. Nesse exemplo, o sistema exibe um único ciclo de latência entre os dominios. Como resultado da latência entre os dominios, o sinal de leitura a partir do controle FIFO 29 alcança o contador no próximo (sétimo) ciclo, como o sinal de entrada livre FIFO mostrado na Figura 1 ou a seta na Figura 2(C). Esse sinal representa uma liberação de uma entrada a partir do FIFO, o que faz com que o contador incremente de volta para um valor 1.In the example, the depot first becomes ready to accept a data beat in the sixth cycle (bottom line of the drawing), so that the FIFO 29 control asserts the read signal (near the last line in the drawing) to allow reading. that data beat from FifofO] to the deposit. In this example, the system displays a single latency cycle between domains. As a result of latency between domains, the read signal from the FIFO control 29 reaches the counter in the next (seventh) cycle, such as the free input FIFO signal shown in Figure 1 or the arrow in Figure 2 (C). This signal represents a release of an input from FIFO, which causes the counter to increment back to a value of 1.

Quando o primeiro batimento de dados Qo se desloca para o depósito no ciclo 6, o espaço é liberado no Fifo [0] , de modo que outros dados no FIFO se deslocam descendentemente (Qi para Fifo [0] e Q2 para Fifo [1] ) no ciclo 7. O Fifo [2] da linha superior está vazia e pode receber agora o novo batimento de dados a partir do registrador ReadData, quer dizer o batimento Q3 nesse ponto no exemplo. Como o batimento Q3 se deslocou para o FIFO, o registrador ReadData agora aceita o próximo batimento de dados Q4.When the first data beat Qo shifts to the depot in cycle 6, space is freed in Fifo [0], so that other data in FIFO shifts downward (Qi for Fifo [0] and Q2 for Fifo [1] ) in cycle 7. Fifo [2] of the top row is empty and can now receive the new data beat from the ReadData register, ie the beat Q3 at this point in the example. As beat Q3 has shifted to FIFO, the ReadData register now accepts the next data beat Q4.

No exemplo, o depósito aceita os dados a partir da parte inferior do FIFO em ciclos alternados, de modo que operações similares àquelas dos ciclos 6 e 7 se alternam, por exemplo, de modo que a contagem se alterna entre 1 e 0 quando o contador decrementa alternadamente e entãoincrementa. Como mostrado, o DataRegister mantém cada novo batimento de dados "continuamente" por dois ciclos sucessivos, quer dizer até que o espaço se torne disponível no FIFO. Dessa forma, o registrador ReadData é essencialmente uma linha FIFO extra, embora ele proporcione essa função dentro do dominio de origem.In the example, the deposit accepts data from the bottom of the FIFO in alternating cycles, so operations similar to those in cycles 6 and 7 alternate, for example, so that the count alternates between 1 and 0 when the counter decreases alternately and then increases. As shown, DataRegister keeps each new data beat "continuously" for two successive cycles, that is until space becomes available in FIFO. Thus, the ReadData register is essentially an extra FIFO line, although it provides this function within the source domain.

Como observado acima, o contador 25 está localizado com a fonte 15 no dominio 11, mais propriamente do que com o próprio FIFO 19 no dominio 13. Isso é vantajoso uma vez que existe tipicamente latência para os sinais a partir do FIFO para a origem, significando que a origem não pode enviar dados até que certo número de ciclos após o FIFO se torne pronto. No exemplo ilustrado, o contador 25 não prove um instantâneo fiel em tempo do que está no FIFO 19, porque o contador incorre na penalidade de latência para incrementar. Contudo o sinal de espaço vazio de FIFO está disponível imediatamente para o controle de FIFO de origem 23 (sem latência). Desse modo, para condições típicas, o contador 25 pode ser visto como "comendo" a latência para a sinalização necessária entre os dominios 11 e 13.As noted above, counter 25 is located with source 15 in domain 11, rather than with FIFO 19 itself in domain 13. This is advantageous since there is typically latency for signals from FIFO to source, meaning that the source cannot send data until a certain number of cycles after FIFO becomes ready. In the illustrated example, counter 25 does not provide a true time snapshot of what is in FIFO 19, because the counter incurs the latency penalty to increment. However the FIFO empty space signal is immediately available for source FIFO control 23 (no latency). Thus, for typical conditions, counter 25 can be viewed as "eating" the signaling latency required between domains 11 and 13.

0 custo aqui é que o contador 25 pode ser pessimista em que ele poderia algumas vezes dizer que os dados não podem ser enviados quando na realidade existe espaço no dispositivo de armazenamento FIFO 19, porque o sinal livre a partir do controle 29 ainda não se propagou para o contador 25. Contudo, isso pode ser superado no desenho ilustrado mediante dimensionamento da profundidade de FIFO de acordo com a latência de sinal "livre" de modo que os dados podem ser transferidos continuamente. Também é possível comprar um pouco de largura de banda pelo fato de se poder enviar um último batimento de dados quando o controle pelo lado da origem 23 acredita que o FIFO 19 estácheio, quer seja pelo modelo apropriado da lógica de controle 2 3 ou mediante dimensionamento do contador para N+l (onde N é a profundidade de FIFO, por exemplo, o número de locais no FIFO 19).The cost here is that counter 25 may be pessimistic in that it could sometimes say that data cannot be sent when there is actually space on storage device FIFO 19, because the free signal from control 29 has not yet propagated. to counter 25. However, this can be overcome in the illustrated drawing by sizing the FIFO depth according to "free" signal latency so that data can be continuously transferred. It is also possible to buy a bit of bandwidth by the fact that one last bit of data may be sent when source-side control 23 believes that FIFO 19 is full either by the appropriate control logic model 2 3 or by scaling. from the counter to N + 1 (where N is the depth of FIFO, for example, the number of locations in FIFO 19).

Em virtude do contador local e da profundidade do FIFO, a fonte 15 pode enviar os dados continuamente. Desse modo, mediante dimensionamento do FIFO adequadamente, as transferências podem ocorrer sem considerar a latência dos sinais; portanto o sistema é substancialmente "insensível à latência". Observar que é possível que a latência se apresente aqui, especificamente, quando o lado de destino ou depósito não drena o FIFO 19 rapidamente o suficiente, e o sistema perde o armazenamento igual à latência. Isso pode ser compensado fazendo-se o FIFO 19 mais profundo, para cobrir as taxas de dados tipicas na qual o FIFO 19 é drenado. Desse modo, em condições tipicas, os dados são transferidos continuamente.Because of the local counter and FIFO depth, source 15 can send data continuously. Thus, by properly sizing the FIFO, transfers can occur without considering signal latency; therefore the system is substantially "latent insensitive". Note that latency may be present here, specifically, when the destination or depot side does not drain FIFO 19 quickly enough, and the system loses latency-equal storage. This can be compensated by making the deeper FIFO 19 to cover the typical data rates at which FIFO 19 is drained. Thus, under typical conditions, data is transferred continuously.

Além disso, o sistema não tem que ler os dados a partir do FIFO 19 exatamente quando ele decrementa o contador 25. Em vez disso, o sinal para decrementar o contador poderia levar à leitura de modo a decrementar o contador de certa forma mais cedo, desde que a temporização e a latência possam garantir que o lado do depósito lerá um batimento de dados a partir do dispositivo FIFO 19 e liberará espaço para dados novos, antes do lado de origem poder responder e enviar novos dados.In addition, the system does not have to read data from FIFO 19 exactly when it decrements the counter 25. Instead, the signal to decrement the counter could lead to reading in order to decrement the counter somewhat earlier, provided that timing and latency can ensure that the depot side will read a data beat from the FIFO device 19 and free up space for new data before the origin side can respond and send new data.

Como observado acima, com dimensionamento apropriado da profundidade de FIFO, é possível prover transferência de dados substancialmente continua entre os dois domínios. Para essa finalidade, a profundidade do FIFO deve ser pelo menos tão grande quanto a latência de sinalização de ida e volta, isto é, a contagem de ciclo a partir do ReadDataReady até que Espaço Vazio de FIFO sejavisível de volta na origem. Esse número é afetado por quaisquer estágios intermediários entre o registrador ReadData 21 e o FIFO 19 assim como latência intermediária entre o FIFO e solicitações de leitura a partir do depósito.As noted above, with proper FIFO depth sizing, it is possible to provide substantially continuous data transfer between the two domains. For this purpose, the FIFO depth must be at least as large as the round-trip signaling latency, that is, the cycle count from ReadDataReady until FIFO Void is visible back to the source. This number is affected by any intermediate stages between the ReadData 21 register and FIFO 19 as well as intermediate latency between FIFO and read requests from the depot.

0 dimensionamento do FIFO pode ser mais complicado quando o depósito não pode ler os dados tão rapidamente quanto a origem os enviam. Por exemplo, o depósito pode consumir os dados em metade da taxa em que eles são originados. 0 número de estágios adicionados depende da quantidade de dados enviados em um tempo (isto é, uma rajada), a latência de sinalização de ida e volta, e a taxa de consumo pelo depósito. No máximo, o tamanho do FIFO precisaria ser aumentado pelo tamanho (contagem de ciclo) da raj ada. Contudo, como espaço adicional será tornado disponível no FIFO quando o depósito lê os dados, o FIFO efetivo será de certo .modo menor. Onde o tamanho de rajada e os intervalos entre as rajadas variam, determinar o tamanho ótimo pode exigir simulações com várias profundidades de FIFO para se obter a transferência contínua desej ada dos dados entre os dois domínios.FIFO sizing can be more complicated when the warehouse cannot read data as quickly as the source sends it. For example, the warehouse can consume data at half the rate at which it originates. The number of stages added depends on the amount of data sent at one time (ie one burst), the round trip signaling latency, and the rate of consumption by the depot. At most, the size of the FIFO would need to be increased by the size (cycle count) of the burst. However, as additional space will be made available in FIFO when the deposit reads the data, the effective FIFO will certainly be smaller. Where burst size and burst intervals vary, determining the optimal size may require simulations with various FIFO depths to achieve the desired continuous transfer of data between the two domains.

0 contador é inicializado para o tamanho do dispositivo de armazenamento FIFO 19 e decrementado e incrementado à medida que os dados são introduzidos e descarregados do dispositivo de armazenamento FIFO 19. Portanto, a faixa de valores de contagem permissíveis corresponde ao número N de locais, quer dizer, a profundidade do dispositivo de armazenamento FIFO 19. Mesmo quando o contador informa que não há espaço livre (contagem de 0) , o controle 23 permitirá que a origem carregue os dados no registrador 21 e aplique um conjunto adicional dos 108 bits de dados às linhas de entrada FIFO. 0 controle fornecerá o pulso ReadDataReady, o qual é mantido noregistrador 27. Efetivamente, o registrador 21 e as linhas de transferência proporcionam um local de registrador extra para o dispositivo de armazenamento FIFO 19. Além disso, esse mecanismo emprega essencialmente o FIFO para mascarar (em casos típicos) a latência de sinalização entre a origem e o depósito.The counter is initialized to the size of the FIFO 19 storage device and decremented and incremented as data is entered and unloaded from the FIFO 19 storage device. Therefore, the range of allowable count values corresponds to the number of locations, either say, the depth of the FIFO storage device 19. Even when the counter reports that there is no free space (count of 0), control 23 will allow the source to load data into register 21 and apply an additional set of 108 data bits. to FIFO input lines. The control will provide the ReadDataReady pulse, which is kept in register 27. Effectively, register 21 and transfer lines provide an extra register location for FIFO storage device 19. In addition, this mechanism essentially employs FIFO to mask ( in typical cases) the signaling latency between source and depot.

No exemplo da Figura 1, o controle FIFO 23 pelo lado da origem prove um único pulso como o sinal indicando que um novo batimento válido de dados estava disponível e pronta para transferência para o FIFO 19. Contudo, em vez dessa sinalização de pulso do estado ReadDataReady a partir do dominio de origem para o dominio de depósito, os conceitos podem ser adaptados para utilizar outras técnicas, tal como um método de sinalização pingue-pongue. Esse método de sinalização pingue-pongue emprega dois sinais entre o controle FIFO de origem e a lógica de Depósito Pronto. No máximo, um desses dois sinais é verdadeiro. Quando os dados são enviados, o primeiro sinal é asseverado. O próximo batimento de dados faz com que o primeiro sinal seja liberado enquanto o segundo é asseverado. 0 próximo batimento de dados faz com que o segundo sinal seja liberado enquanto o primeiro é asseverado, e assim por diante. 0 lado do depósito sabe observar o sinal alternado após receber os dados em um sinal. Essa abordagem tem a vantagem de que quando o batimento de dados extra é enviado após a origem acreditar que o FIFO está cheio, o sinal permanece asseverado até que o contador seja incrementado e outro batimento de dados seja enviado. Desse modo, não existe a necessidade de capturar o pulso. Essencialmente, um sinal continuo é asseverado através do limite indicado quando dados válidos estão prontos e disponíveis para transferência para o FIFO.In the example of Figure 1, the source-side FIFO 23 control provides a single pulse as the signal indicating that a valid new data beat was available and ready for transfer to FIFO 19. However, instead of this state pulse signaling ReadDataReady From the source domain to the depot domain, concepts can be adapted to use other techniques, such as a ping-pong signaling method. This ping-pong signaling method employs two signals between the source FIFO control and the Ready Deposit logic. At most one of these two signs is true. When data is sent, the first signal is asserted. The next dice beat causes the first signal to be released while the second is asserted. The next dice beat causes the second signal to be released while the first is asserted, and so on. The depot side can observe the alternating signal after receiving the data in a signal. This approach has the advantage that when the extra data beat is sent after the source believes the FIFO is full, the signal remains asserted until the counter is incremented and another data beat is sent. Thus, there is no need to capture the pulse. Essentially, a continuous signal is asserted across the indicated limit when valid data is ready and available for transfer to FIFO.

A Figura 3 é um diagrama funcional de blocos deum sistema, geralmente similar àquele da Figura 1, porém utilizando a técnica de sinalização pingue-pongue. Como o primeiro exemplo, esse segundo sistema ilustrado inclui elementos em dois domínios diferentes, um domínio de origem 311 desej ando enviar dados e um dominio de depósito 313 destinado a receber os dados. Essencialmente, um elemento no dominio 311 representado genericamente pela origem de dados 315 tem dados disponíveis, e um elemento no dominio 311 representado genericamente pela origem de dados 315 tem dados disponíveis, e um elemento no dominio 313 representado genericamente pelo depósito de dados 317 precisa receber esses dados para processamento adicional, armazenamento ou semelhante.Figure 3 is a functional block diagram of a system, generally similar to that of Figure 1, but using the ping pong signaling technique. As the first example, this second illustrated system includes elements in two different domains, a source domain 311 wishing to send data and a depot domain 313 for receiving the data. Essentially, an element in domain 311 represented generically by data source 315 has data available, and an element in domain 311 represented generically by data source 315 has data available, and an element in domain 313 represented generically by data warehouse 317 needs to receive this data for further processing, storage or the like.

Os dois domínios são separados por um limite de dominio, representado pela linha pontilhada D-D. Outra vez, os dois domínios podem ser regiões diferentes de um único chip semicondutor, chips diferentes, ou dispositivos diferentes conectados por intermédio de fiação, através de uma série de um ou mais registradores, ou outro meio de interface, ou dois sistemas separados se comunicando por intermédio de uma rede de área local ou remota. Como na discussão anterior, as operações dos circuitos nos dois domínios podem ser sincronizadas em relação à mesma freqüência de relógio fundamental (isto é, sincrona), ou sincronizadas em relação a diferentes freqüências de relógio fundamentais (isto é, assincronas).The two domains are separated by a domain boundary, represented by the dotted line D-D. Again, the two domains may be different regions of a single semiconductor chip, different chips, or different devices wired through a series of one or more registers, or other interface means, or two separate systems communicating. through a local or remote area network. As in the previous discussion, circuit operations in both domains can be synchronized to the same fundamental clock frequency (ie, synchronous), or synchronized to different fundamental clock frequencies (ie asynchronous).

Para facilidade de discussão, supõe-se outra vez que os dois domínios sejam sincronos e representem elementos próximos que são conectados diretamente em conj unto através do limite, por exemplo, duas seções de número de um chip de processador interconectadas ou acopladas juntas através de uma região de limite do chip. A separação das duas seções pode ser fisica, por exemplo,duas partes ou áreas separadas do chip, ou a separação pode ser. puramente lógica, quer dizer, simplesmente entre os componentes operando na taxa de dados do primeiro dominio e os componentes operando na taxa de dados do segundo dominio.For ease of discussion, it is again assumed that the two domains are synchronous and represent close elements that are directly connected together across the boundary, for example, two number sections of a processor chip interconnected or coupled together via one another. chip boundary region. The separation of the two sections may be physical, for example two separate parts or areas of the chip, or the separation may be. It is purely logical, that is, simply between the components operating at the data rate of the first domain and the components operating at the data rate of the second domain.

Como anteriormente, os dois dominios operam em taxas de dados diferentes. Para compensar a diferença de taxa de dados dos dominios 311 e 313, através do limite D-D, o dominio de depósito 313 inclui um dispositivo de armazenamento primeiro a entrar primeira a sair (FIFO) 319, essencialmente para armazenar os dados recebidos a partir do dominio de origem 311. Outra vez, o dispositivo de armazenamento FIFO pode ser implementado em qualquer uma de uma ampla variedade de arquiteturas fisicas, tais como registradores ou memórias. Para fins de discussão, é conveniente considerar o FIFO 319 como uma série ou pilha de registradores através dos quais se deslocam os dados recebidos. Um registrador ou local é preenchido quando um novo batimento de dados é carregado ou gravado no dispositivo 319, e um registrador ou local é liberado quando um batimento de dados é descarregado ou lido a partir do dispositivo 319 para o depósito 317.As before, the two domains operate at different data rates. To compensate for the data rate difference of domains 311 and 313 across the DD boundary, deposit domain 313 includes a first in first out (FIFO) storage device 319, essentially for storing data received from the domain Again, the FIFO storage device can be implemented in any of a wide variety of physical architectures, such as registers or memories. For discussion purposes, it is convenient to consider FIFO 319 as a series or stack of registers through which received data travels. A register or location is populated when a new data rate is loaded or written to device 319, and a register or location is released when a data rate is downloaded or read from device 319 to depot 317.

Pelo lado da origem ou envio 311, a origem de dados 315 fornece um batimento de dados, nesse exemplo 128 bits de dados, a um registrador 321, algumas vezes referido como registrador de dados de leitura. No exemplo, o registrador 321 é designado como registrador de dados de leitura (ReadData). 0 registrador ReadData 321 mantém os 12 8 bits de dados e apresenta os bits de dados nas linhas para transferência dos dados através do limite D-D para a entrada do dispositivo de armazenamento FIFO 319. Embora não seja mostrada no desenho, lógica adicional pode existir após o registrador de dados de leitura e antes do FIFO.Enquanto o registrador 321 mantenha o novo batimento de dados, os dados estão disponíveis nas linhas para a entrada do dispositivo de armazenamento FIFO 319. Contudo, quando o novo batimento de dados é primeiramente carregado no registrador 321, existe algum retardo de propagação antes do aparecimento dos dados na entrada do dispositivo de armazenamento FIFO 319 no domínio de depósito 313.From the source or send side 311, data source 315 provides a data stream, in this example 128 data bits, to a register 321, sometimes referred to as read data register. In the example, register 321 is designated as read data register (ReadData). The ReadData 321 register holds the 128 data bits and displays the data bits on the lines for data transfer across the DD boundary to the FIFO 319 storage device input. Although not shown in the drawing, additional logic may exist after the read data register and before FIFO. While register 321 maintains the new data beat, data is available in the rows for the FIFO 319 storage device input. However, when the new data beat is first loaded into the register 321, there is some propagation delay before data appears at the entry of FIFO storage device 319 in depot domain 313.

Um controle FIFO 323 controla o fluxo de dados para e através do registrador ReadData 321. 0 controlador FIFO 323 é uma máquina de estado finito, similar ao controle 23 na Figura 1, embora a lógica da máquina de estado de controle 323 seja ligeiramente diferente, como se tornará evidente a partir da discussão abaixo. Quando a fonte 315 tiver novos dados para enviar, ela aplica o (V) indicador no registrador 331, e o controle FIFO 323 faz com que o registrador ReadData 321 apresente os novos dados se houver espaço disponível no dispositivo de armazenamento FIFO 319 para o último batimento de dados, como indicado por um contador de uso de registrador 325 no domínio de origem 321. 0 valor inicial do contador 325, e desse modo a faixa permissível de valores de contagem, corresponde ao número de locais no FIFO 319, quer dizer, a profundidade do FIFO. 0 controle 323 pode determinar se existe espaço no dispositivo. de armazenamento FIFO 319 para receber um novo batimento de dados mediante exame do estado do contador, por exemplo, para ver se a contagem é não-negativa. Embora mostrado como um elemento separado, o contador 32 5 pode ser integrado como parte da máquina de estado servindo como o controle FIFO 323.A FIFO 323 control controls data flow to and through the ReadData 321 register. The FIFO 323 controller is a finite state machine, similar to control 23 in Figure 1, although the logic of control state machine 323 is slightly different, as will become evident from the discussion below. When source 315 has new data to send, it applies the (V) indicator to register 331, and FIFO control 323 causes ReadData register 321 to display the new data if space is available on the FIFO 319 storage device for the last one. data rate, as indicated by a register usage counter 325 in source domain 321. The initial value of counter 325, and thus the allowable range of count values, corresponds to the number of locations in FIFO 319, i.e. the depth of the FIFO. Control 323 can determine if there is space on the device. FIFO 319 to receive a new data beat upon examination of the counter state, for example, to see if the count is non-negative. Although shown as a separate element, counter 325 can be integrated as part of the state machine serving as the FIFO control 323.

Quando o controle FIFO 323 faz com que o registrador ReadData 321 apresente os novos dados para introdução no dispositivo de armazenamento FIFO 319, o controle FIFO 323 outra vez precisa sinalizar o domínio dedepósito 313. Contudo, nesse caso, o controle 323 fornece o sinal ReadDataReady para o registrador pingue-pongue 326, no dominio de origem 311. O registrador pingue-pongue 326 é essencialmente um registrador de 2 bits, por exemplo, implementado utilizando dois ou mais flip-flops. 0 registrador 326 é controlado para ter três estados válidos como a seguir. O estado 0,0 indica que não existem ainda dados válidos prontos. O estado 0,1 é o primeiro de dois estados possivelmente válidos indicando que existem dados prontos para a transferência para o FIFO 319. O estado 1,0 é o segundo dos dois estados possivelmente válidos indicando que existem dados prontos para a transferência para o FIFO 32 9. Conforme discutido abaixo, os estados de dados prontos são indicados em seqüência pelas transições entre os estados 0,1 e 1,0. Digno de nota, o controle 323 e o registrador 32 6 são configurados de modo a não produzir um estado 1,1, uma vez que aquele estado não é um estado de sinalização válido nesse protocolo.When the FIFO 323 control causes the ReadData 321 register to present new data for input to the FIFO 319 storage device, the FIFO 323 control again needs to signal the 313 repository domain. However, in this case, the 323 control provides the ReadDataReady signal. for ping-pong register 326, in source domain 311. Ping-pong register 326 is essentially a 2-bit register, for example implemented using two or more flip-flops. Register 326 is controlled to have three valid states as follows. State 0,0 indicates that no valid data is ready yet. State 0.1 is the first of two possibly valid states indicating that data is ready for transfer to FIFO 319. State 1.0 is the second of two states possibly valid indicating that data is ready for transfer to FIFO 9. As discussed below, ready data states are indicated sequentially by transitions between states 0.1 and 1.0. Of note, control 323 and register 326 are configured so as not to produce a state of 1,1 since that state is not a valid signaling state in this protocol.

Quando os dados se tornam disponíveis para transferência, o controle FIFO 323 no dominio de origem 311 prove um sinal de pulso ReadDataReady para acionar os estados do registrador pingue-pongue 32 6. 0 controle FIFO 323 também fornece o sinal de pulso ReadDataReady para entrada de decremento (-) do contador de utilização de espaço FIFO 325. Quando nenhum dado está disponível ou pronto para envio, e o contador indica que não havia espaço suficiente no FIFO para os últimos dados enviados, o controle FIFO 32 3 libera o registrador pingue-pongue 32 6 (para o estado 0,0). Suponha agora que um batimento de dados se tornou disponível no presente ciclo, e que mais dados se tornaram disponíveis nos ciclos posteriores. Se nenhum dado estava disponível no ciclo anterior, e havia espaço suficiente no FIFO para a transferência anterior, oregistrador 326 estava no estado 0,0. Então, o primeiro pulso do sinal ReadDataReady faz com que o registrador 326 mude para o estado de dados prontos 0,1, o segundo pulso do sinal ReadDataReady faz com que o registrador 326 mude para o estado de dados prontos 1,0, o terceiro pulso do sinal ReadDataReady faz com que o registrador 326 mude de volta para o estado de dados pronto 0,1 e assim por diante. Desse modo, pulsos sucessivos do sinal ReadDataReady fazem com que o registrador 326 alterne ou "pingue-pongue" entre os dois estados de dados prontos, válidos até que o controle FIFO 323 libere o registrador 326 no momento quando a origem 315 não tem novos dados disponíveis para a transferência e todos os dados anteriores foram capturados.When data becomes available for transfer, the FIFO 323 control in source domain 311 provides a ReadDataReady pulse signal to trigger ping-pong register states 6. The FIFO 323 control also provides the ReadDataReady pulse signal for input. (-) decrement of the FIFO space utilization counter 325. When no data is available or ready to be sent, and the counter indicates that there was not enough FIFO space for the last data sent, the FIFO 32 3 control releases the ping register. punch 32 6 (for state 0,0). Suppose now that a data hit became available in the present cycle, and that more data became available in later cycles. If no data was available in the previous loop, and there was sufficient FIFO space for the previous transfer, the 326 recorder was in the 0.0 state. So the first pulse of the ReadDataReady signal causes register 326 to change to the ready data state 0.1, the second pulse of the ReadDataReady signal causes register 326 to change to the ready data state 1.0, the third ReadDataReady signal pulse causes register 326 to change back to ready data state 0.1 and so on. Thus, successive pulses of the ReadDataReady signal cause register 326 to toggle or ping between the two valid data states ready until FIFO control 323 releases register 326 at the moment when source 315 has no new data. available for download and all previous data has been captured.

O registrador 326 mantém cada estado até receber um novo sinal de pulso ou um comando de liberar a partir do controle FIFO 323. Como tal, cada estado aparecerá nas linhas de saida de 2 bits do registrador 32 6 continuamente, enquanto o controle FIFO 323 não mudar o estado do registrador 32 6. As linhas de saida do registrador 32 6 fornecem os dois bits de informação de estado de dados válidos através do limite D-D para um multiplexador (MUX) 327 no dominio de depósito 313. O MUX 327 fornece os dados de estado a um controle FIFO 32 9 no dominio de depósito 313, e a operação do MUX é controlada pelo controle FIFO 329. Sob controle a partir do controle FIFO de dominio de depósito 329, o UX 327 apresenta um 1 em sua saida, cada vez que uma transição aparecer em sua entrada, até que o FIFO capture os dados; quer dizer, ele apresenta um 1 cada vez que o dominio de origem 311 indicar que existe um novo batimento de dados, ou existem ainda para serem capturados os dados antigos, prontos para envio para o dispositivo de armazenamento FIFO 19. Se o MUX recebe um estado 0,0 em suas entradas (nenhum dado válido pronto para envio), elesempre emite um 0.Register 326 holds each state until it receives a new pulse signal or a release command from the FIFO 323 control. As such, each state will appear on register 32 6's 2-bit output lines continuously while the FIFO 323 control does not. change register 32 state 6. Register 32 6 output lines provide the two bits of data state information valid across the DD boundary for a multiplexer (MUX) 327 at depot domain 313. MUX 327 provides the data status to a FIFO 32 9 control in depot domain 313, and MUX operation is controlled by FIFO control 329. Under control from depot domain FIFO control 329, UX 327 has a 1 on its output, each once a transition appears in its input, until FIFO captures the data; that is, it displays a 1 each time the source domain 311 indicates that there is a new data hit, or old data ready to be sent to the FIFO 19 storage device. If MUX receives a state 0.0 in their entries (no valid data ready for shipment), they always issue a 0.

No domínio de depósito 313, o controle FIFO 329 é outra máquina de estado finito. A máquina de estado é similar ao controle 2 9, embora a lógica da máquina de estado seja ligeiramente diferente, como será evidente a partir da discussão abaixo. 0 controle FIFO 329, por exemplo, prove sinais de "gravar" e "ler" para o dispositivo de armazenamento FIFO 319 para controlar a entrada (gravação) e saida (leitura) de dados para e a partir do dispositivo de armazenamento FIFO 319. Conforme observado, o MUX 327 prove um sinal 1 para o controlador FIFO 329 em resposta a cada novo estado pingue-pongue a partir do registrador 326 no controle de dominio de origem 323, indicando que um novo batimento de dados está disponível para transferência. Se o espaço estiver disponível no dispositivo de armazenamento FIFO 319 para receber os dados prontos, o controle 32 9 gera o sinal de gravação, fazendo com que o dispositivo de armazenamento FIFO 319 aceite entrada dos dados a partir do registrador ReadData 321 no dominio de origem 311.In depot domain 313, FIFO control 329 is another finite state machine. The state machine is similar to control 29, although the state machine logic is slightly different, as will be apparent from the discussion below. FIFO control 329, for example, provides "write" and "read" signals to FIFO storage device 319 to control data input (write) and output (read) to and from FIFO storage device 319. As noted, the MUX 327 provides a signal 1 to the FIFO controller 329 in response to each new ping-pong state from register 326 on source domain control 323, indicating that a new data stream is available for transfer. If space is available on the FIFO 319 storage device to receive the ready data, control 329 generates the write signal, causing the FIFO 319 storage device to accept input from the ReadData 321 register in the source domain. 311.

Uma forma alternativa da sinalização de pingue-pongue pode ser implementada com um sinal de bit único. Em tal caso, a alternância dos bits indica o fornecimento de novos dados. Esse esquema elimina o estado 0,0, substituindo-o com uma ausência de transição. A alternância pode ser transformada em um pulso mediante substituição do MUX da Figura 3 por uma porta OU-exclusiva, A saida da porta OU-exclusiva seria verdadeira para cada ciclo em que existem dados a serem capturados pelo FIFO; quer sejam dados novos ou dados antigos que ainda não foram capturados.An alternative form of ping pong signaling can be implemented with a single bit signal. In such a case, bit switching indicates the provision of new data. This scheme eliminates the 0.0 state, replacing it with an absence of transition. The toggle can be turned into a pulse by replacing the MUX of Figure 3 with an exclusive-OR port. The output of the exclusive-OR port would be true for each cycle in which data is to be captured by FIFO; whether it is new data or old data that has not yet been captured.

Como no exemplo anterior, o batimento servindo como o sinal ReadDataReady decrementa o contador 325,indicando que um local de registro a menos está disponível no dispositivo de armazenamento FIFO 319. A esse respeito, o contador 325 é decrementado em resposta ao pulso pronto gerado no mesmo domínio 311, sem qualquer retardo ou latência para transferência de um sinal entre os dois domínios 311 e 313. 0 sinal de leitura a partir do controle FIFO 329 pelo lado do depósito instrui o dispositivo de armazenamento FIFO 319 a emitir os dados a partir de um de seus locais de registrador para o depósito 317 e liberar aquele local no dispositivo 319. Portanto, o pulso do sinal de leitura é fornecido a partir do domínio de depósito 313 através do limite D-D, para incrementar o contador 325.As in the previous example, the beat serving as the ReadDataReady signal decrements counter 325, indicating that one less register location is available on FIFO 319 storage device. In this regard, counter 325 is decremented in response to the ready pulse generated on the same domain 311, without any delay or latency for transferring a signal between the two domains 311 and 313. The read signal from the deposit-side FIFO control 329 instructs the FIFO storage device 319 to output the data from one of its register locations for depot 317 and release that location on device 319. Therefore, the read signal pulse is provided from depot domain 313 through the DD limit to increment counter 325.

Haverá certa latência entre a emissão do sinal de leitura pelo controle 329 e o surgimento do sinal correspondente como a indicação de entrada livre de FIFO no contador 325 no dominio de origem 311. A latência de sinalização pode ser devido ao tempo exigido para que a sinalização atravesse o chip. Contudo, pode haver conjunto de circuito de estado adicional, representado genericamente pelo elemento de retardo/temporização 328 no desenho, entre o sinal de leitura e a entrada livre do FIFO. Embora mostrado no dominio de depósito 313, o conjunto de circuitos 328 pode estar fisicamente em qualquer um ou em ambos os domínios. 0 conjunto de circuitos adicional, tipicamente um ou mais flip-flops, garante niveis adequados de sinal e alinhamento de temporização através do limite D entre os domínios. Contudo, o conjunto de circuitos adicional 328 acrescentaria um ou mais ciclos de retardo à latência entre a asseveração do sinal de leitura pelo controle 329 e o surgimento do sinal correspondente como a indicação de entrada livre de FIFO no contador 325. Embora não seja mostrado por conveniência, aqueles versados na técnica reconhecerão que se tal conjunto de circuitosadicional for provido, elementos similares de retardo/temporização seriam providos nas outras linhas entre os dois domínios, tal como a linha ReadData e a linha ReadDataReady.There will be some latency between the read signal emitted by control 329 and the corresponding signal appearing as the FIFO free input indication at counter 325 in source domain 311. Signaling latency may be due to the time required for signaling cross the chip. However, there may be additional state circuitry, generally represented by the delay / time delay element 328 in the drawing, between the read signal and the FIFO free input. Although shown in depot domain 313, circuitry 328 may be physically in either or both domains. The additional circuitry, typically one or more flip flops, ensures adequate signal levels and timing alignment across the D boundary between domains. However, additional circuitry 328 would add one or more latency delay cycles between the read signal assertion by control 329 and the corresponding signal appearing as the FIFO free input indication on counter 325. Although not shown by For convenience, those skilled in the art will recognize that if such an additional circuitry is provided, similar delay / timing elements would be provided on the other lines between the two domains, such as the ReadData line and the ReadDataReady line.

0 contador 325 fornece a contagem de espaço livre do FIFO ao controle de FIFO 323 no domínio de origem 311 para uso em sua determinação para transmitir novos dados através do limite D-D. Mediante ação de decrementar a contagem cada vez que os dados se tornarem disponíveis para o FIFO 319 e incrementar a contagem cada vez que um local for liberado (quando os dados são lidos a partir do FIFO 319) , o valor do contador 25 monitora a quantidade de espaço (número de locais de registrador) disponível ou livre no dispositivo de armazenamento FIFO 319. Contudo, devido ao contador 325 no dominio de origem 311, o decremento de certo modo precede o recebimento da informação de estado a partir do registrador 32 6 e resposta a ela no dominio de depósito 313. Existe certo retardo ou latência na transferência de 2 bits de informação de estado através do limite D-D para o MUX 327. Inversamente, o incremento do contador 325 no dominio de origem 311 de certo modo atrasa a leitura dos dados a partir do dispositivo de armazenamento FIFO 319 no dominio de depósito 313, devido ao retardo ou latência na transferência do sinal de leitura através do limite D-D.Counter 325 provides the FIFO free space count to FIFO control 323 in source domain 311 for use in its determination to transmit new data across the D-D boundary. By decreasing the count each time data becomes available to FIFO 319 and incrementing the count each time a location is released (when data is read from FIFO 319), the counter value 25 monitors the amount. However, due to counter 325 in source domain 311, the decrease somewhat precedes the receipt of state information from register 326, and the amount of space (number of register locations) available or free in the FIFO 319 storage device. response to it in deposit domain 313. There is some delay or latency in the transfer of 2 bits of state information across the DD limit to MUX 327. Conversely, incrementing counter 325 in source domain 311 somewhat delays reading. data from the FIFO storage device 319 in the deposit domain 313 due to the delay or latency in read signal transfer across the DD boundary.

0 controle FIFO 323 também é responsivo a um indicador de validade de dados (V) em um registrado de um bit 331 aplicado pela origem de dados 315, quando a origem inicialmente tem dados disponíveis para transferência para o depósito 317. Dito de outra forma, a origem 315 aplica o sinalizador V no registrador 331 para informar o controle FIFO 323 de que existem novos dados válidos disponíveis para carregamento no registrador ReadData 321. 0 controleFIFO 323 prove um sinal de relógio (habilitação) para o registrador de um bit servindo como o indicador de validade de dados (V) 31. Quando os dados tiverem sido transferidos de forma bem-sucedida para o FIFO 319 no dominio de depósito, o controle FIFO 323 prove um sinal de relógio (habilitação para carregar o registrador 331 e desse o estado do indicador de validade (V) . Em operação, o bit válido de origem é enviado a partir do registrador 331 para o controle FIFO de origem 323, para informar a esse controle FIFO 323 que os dados estão prontos para serem enviados. 0 bit é liberado a partir do registrador 331 quando os dados são enviados, a menos que novos dados se desloquem simultaneamente a partir da origem 315. Dessa maneira, o controle FIFO 323 controla o indicador V no registrador 331 para permitir que a origem 315 aplique o indicador (e introduza um novo batimento de dados para o registrador ReadData 321) quando o contador 325 indicar que existe espaço disponível para o novo batimento de dados.FIFO control 323 is also responsive to a data validity indicator (V) on a one-bit register 331 applied by data source 315, when the source initially has data available for transfer to deposit 317. In other words, source 315 applies the V flag to register 331 to inform FIFO control 323 that new valid data is available for loading into the ReadData register 321. FIFO control 323 provides a clock (enable) signal to the one-bit register serving as the data validity indicator (V) 31. When data has been successfully transferred to FIFO 319 in the deposit domain, the FIFO control 323 provides a clock signal (enable to load register 331 and give the status In operation, the valid source bit is sent from register 331 to source FIFO control 323 to inform this FIFO control 323. that the data is ready to be sent. The bit is cleared from register 331 when data is sent, unless new data moves simultaneously from source 315. In this way, FIFO control 323 controls indicator V in register 331 to allow source 315 to apply the indicator (and enter a new data beat for the ReadData register 321) when the counter 325 indicates that there is space available for the new data beat.

As Figuras, 4(A) e 4 (B), são diagramas de temporização de exemplos simples de operações do sistema da Figura 3. Geralmente, esses exemplos são similares àqueles discutidos acima em relação às Figuras 2(A) e 2(C), contudo, aqui, a sinalização de dados prontos de leitura a partir do dominio de origem assume a forma de sinais "Pingue" e "Pongue" como mostrado na quarta e quinta linha das Figuras 4 (A) e 4 (B) . Como mostrado nos desenhos, cada transição de um dos dois estados Pingue-Pongue válidos (para 0, 1 ou para 1, 0) é sinalizado que os dados estão prontos no registrador.Figures 4 (A) and 4 (B) are timing diagrams of simple examples of system operations of Figure 3. Generally, these examples are similar to those discussed above with respect to Figures 2 (A) and 2 (C). however here signaling read-ready data from the source domain takes the form of "Ping" and "Pongue" signals as shown in the fourth and fifth line of Figures 4 (A) and 4 (B). As shown in the drawings, each transition from one of two valid Ping-Pong states (to 0, 1 or to 1, 0) is signaled that the data is ready in the register.

Nesses exemplos, a contagem outra vez representa o número de pulsações de dados que podem ser enviados, e a contagem começa com uma posição a mais do que o número de posições FIFO (vide quinta linha em cada uma dessasfiguras). Esse batimento adicional representa os dados que podem ser mantidos "continuamente" no registrador ReadData no dominio de origem. Uma contagem de zero indica que os dados de origem precisam ser mantidos a partir do ciclo anterior. Conseqüentemente, nos exemplos de protocolo pingue-pongue, uma mudança de estado deve ocorrer em tal ciclo.In these examples, the count again represents the number of data beats that can be sent, and the count begins with one position more than the number of FIFO positions (see fifth line in each of these figures). This additional beat represents data that can be kept "continuously" in the ReadData register in the source domain. A zero count indicates that the source data needs to be kept from the previous loop. Consequently, in the ping-pong protocol examples, a state change must occur in such a loop.

Como observado acima, o contador 325 está localizado com a origem 315 no dominio 311, mais propriamente do que com o próprio FIFO 319 no dominio 313. Como mostrado pela discussão acima e Figura 3, o segundo exemplo similarmente se baseia no contador 32 5 no dominio de origem para monitorar a utilização de espaço no dispositivo de armazenamento FIFO 319. Muito similar ao primeiro exemplo, o contador efetivamente "consome" a latência de sinalização entre os domínios 311 e 313. Os dados são aplicados por intermédio do registrador 321 imediatamente quando disponíveis e são mantidos nesse lugar disponíveis para o FIFO até que sejam lidos para o FIFO, essencialmente proporcionando um local de armazenamento adicional para a pilha de registradores FIFO. 0 contador 32 5 incorre em penalidade de latência para incrementar, mas está imediatamente disponível para o lado de origem.As noted above, counter 325 is located with origin 315 in domain 311, rather than with FIFO 319 itself in domain 313. As shown by the discussion above and Figure 3, the second example is similarly based on counter 32 5 in domain 311. source domain to monitor space utilization on the FIFO 319 storage device. Very similar to the first example, the counter effectively "consumes" signaling latency between domains 311 and 313. Data is applied through register 321 immediately when available and are kept available to FIFO there until they are read to FIFO, essentially providing an additional storage location for the FIFO register stack. Counter 325 incurs incremental latency penalty, but is immediately available to the source side.

0 custo aqui é que o contador 325 pode ser pessimista em que ele poderia algumas vezes dizer que os dados não podem ser enviados quando na realidade existe espaço no dispositivo de armazenamento FIFO 319, porque o sinal de livre ainda não se propagou para o contador 325. Isso pode ser superado mediante dimensionamento da profundidade de FIFO de acordo com a latência de sinal "livre", de modo que os dados podem ser transferidos continuamente. Também é possível comprar um pouco de largura de banda por se poder enviar um último batimento dedados por intermédio do registrador 321, quando a origem de outro modo acredita que o FIFO está cheio, seja mediante modelo apropriado da lógica 323 ou mediante dimensionamento do contador para N+l (onde N é a profundidade de FIFO, por exemplo, o número de locais no FIFO 319) .The cost here is that counter 325 may be pessimistic in that it could sometimes say that data cannot be sent when there is actually space on the FIFO 319 storage device, because the free signal has not yet propagated to counter 325 This can be overcome by sizing the FIFO depth according to "free" signal latency so that data can be transferred continuously. It is also possible to buy a bit of bandwidth by being able to send a last data beat through the register 321, when the originator otherwise believes the FIFO is full, either by appropriate logic model 323 or by counter sizing to N + 1 (where N is the depth of FIFO, for example, the number of locations in FIFO 319).

Em virtude do contador local e da profundidade do FIFO, a origem 315 pode enviar os dados continuamente. Desse modo, mediante dimensionamento do FIFO 319 adequadamente, as transferências podem ocorrer sem considerar a latência dos sinais; e o processamento é substancialmente "insensível à latência77. Observar que é possível que a latência surja aqui, especificamente, quando o destino não drena o FIFO 319 rapidamente e suficiente, e perde o armazenamento igual à latência. Isso é compensado fazendo-se o FIFO 319 mais profundo para cobrir as taxas de dados tipicas nas quais o FIFO 319 é drenado. Desse modo, em condições tipicas, os dados são transferidos continuamente. A profundidade do FIFO, para obter transferência de dados substancialmente continua entre os domínios seria similar àquela discutida acima em relação ao exemplo da Figura 1.Because of the local counter and FIFO depth, source 315 can send data continuously. Thus, by properly scaling FIFO 319, transfers can occur without considering signal latency; and processing is substantially "latency insensitive77." Note that latency is likely to arise here, specifically, when fate does not drain FIFO 319 quickly and sufficiently, and loses latency-equal storage. This is compensated by doing FIFO. 319 deeper to cover the typical data rates at which FIFO 319 is drained, so under typical conditions the data is continuously transferred The depth of the FIFO to achieve substantially continuous data transfer between domains would be similar to that discussed. above with respect to the example in Figure 1.

Além disso, o sistema não tem que ler dados a partir do FIFO 319 exatamente quando ele decrementa o contador 325. Em vez disso, o sinal para decrementar o contador poderia conduzir a leitura de modo a decrementar o contador de certo modo mais cedo, desde que a temporização e a latência possam garantir que o lado de depósito lerá um batimento de dados a partir do dispositivo FIFO 319 e liberará espaço para novos dados, antes do lado de origem poder responder e enviar novos dados.In addition, the system does not have to read data from FIFO 319 exactly when it decrements counter 325. Instead, the signal to decrement the counter could drive the reading to decrement the counter somewhat earlier, since that timing and latency can ensure that the depot side will read a data beat from the FIFO 319 device and make room for new data before the origin side can respond and send new data.

Essas vantagens do segundo exemplo são substancialmente similares àquelas do primeiro exemplo. Contudo, as técnicas de sinalização de pingue-pongueacrescentam algumas vantagens singulares. Com a abordagem de pingue-pongue, quando um batimento extra de dados é enviado após a origem acreditar que o FIFO está cheio, o sinal permanece asseverado até que o contador 325 seja incrementado e outro batimento seja enviado. Desse modo, não há necessidade de capturar e manter o pulso ReadDataReady no lado do depósito.These advantages of the second example are substantially similar to those of the first example. However, ping pong signaling techniques add some unique advantages. With the ping-pong approach, when an extra data beat is sent after the source believes the FIFO is full, the signal remains asserted until the counter 325 is incremented and another beat is sent. Thus, there is no need to capture and maintain the ReadDataReady pulse on the depot side.

Embora o anterior tenha descrito o que é considerado como o melhor modo, e/ou outros exemplos; fica entendido que diversas modificações podem ser feitas no mesmo e que a matéria aqui discutida pode ser implementada de diversas formas e exemplos, e que os ensinamentos podem ser empregados em várias aplicações, apenas algumas das quais foram descritas aqui. Pretende-se por intermédio das reivindicações a seguir reivindicar quaisquer e todas as aplicações, modificações e variações que estej am compreendidas dentro do verdadeiro escopo dos presentes ensinamentos.Although the above has described what is considered as the best mode, and / or other examples; It is understood that various modifications may be made thereto and that the subject matter discussed herein may be implemented in various ways and examples, and that the teachings may be employed in various applications, only some of which have been described herein. It is intended by the following claims to claim any and all applications, modifications, and variations that are within the true scope of the present teachings.

Claims (30)

REIVINDICAÇÕES 1. Método para transferir dados entre um dominio de origem operando em uma primeira taxa de dados e um domínio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, por intermédio de um dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) no domínio de depósito, o método compreendendo:(a) quando uma origem tiver dados prontos para transferência, carregar os dados prontos em um registrador no domínio de origem, para tornar os dados disponíveis para o domínio de depósito, e prover um sinal de dados prontos;(b) decrementar um valor representando um espaço disponível no dispositivo de armazenamento FIFO, em um contador no domínio de origem, em resposta ao sinal de dados prontos;(c) sinalizar o estado de dados prontos para o domínio de depósito, com base no sinal de dados prontos;(d) no recebimento da sinalização do estado de dados prontos no domínio de depósito, ativar o dispositivo de armazenamento FIFO para carregar os dados disponíveis a partir do registrador no domínio de origem para o dispositivo de armazenamento FIFO;(e) emitir os dados a partir do dispositivo de armazenamento FIFO para um depósito de dados para liberar um espaço no dispositivo de armazenamento FIFO;(f) sinalizar a liberação de espaço no dispositivo de armazenamento FIFO para o contador no domínio de origem;(g) incrementar o valor representando espaço disponível no dispositivo de armazenamento FIFO, no contador no domínio de origem, em resposta ao recebimento no contador da sinalização de liberação do espaço no dispositivo de armazenamento FIFO; e(h) controlar uma etapa subseqüente de carregamento de dados prontos no registrador no domínio de origem para tornar os dados disponíveis para o domínio de depósito e prover um sinal de dados prontos, em resposta ao valor representando espaço disponível no dispositivo de armazenamento FIFO, no contador no domínio de origem.1. Method for transferring data between a source domain operating at a first data rate and a deposit domain operating at a second data rate, other than the first data rate, via a first-in-first storage device (FIFO) in the depot domain, the method comprising: (a) when a source has data ready for transfer, load the ready data into a registrar in the source domain, to make the data available to the deposit domain, and provide (b) decrementing a value representing available space on the FIFO storage device in a counter in the source domain in response to the ready data signal (c) signaling the state of ready data for the domain (d) on receipt of the ready data state flag in the deposit domain, enable the FIFO storage device to releasing the available data from the registrar in the source domain to the FIFO storage device, (e) issuing the data from the FIFO storage device to a data store to free a space on the FIFO storage device; flag the clearance of space on the FIFO storage device for the counter in the source domain (g) increment the value representing available space on the FIFO storage device in the counter in the source domain in response to receiving on the release signaling counter of space on the FIFO storage device; and (h) controlling a subsequent step of loading ready data into the registrar in the source domain to make the data available to the deposit domain and providing a ready data signal in response to the value representing available space on the FIFO storage device; at the counter in the source domain. 2. Método, de acordo com a reivindicação 1, compreendendo ainda:repetidamente realizar ciclos através das etapas (a) a (d) ; erepetidamente realizar ciclos através das etapas (e) a (g) ; econtrolar cada ciclo de carregamento de dados prontos no registrador no domínio de origem de acordo com um estado atual do valor representando espaço disponível no dispositivo de armazenamento FIFO, no contador no domínio de origem.A method according to claim 1 further comprising: repeatedly cycling through steps (a) to (d); repeating cycles through steps (e) to (g); and track each ready data load cycle in the register in the source domain according to a current state of the value representing available space on the FIFO storage device at the counter in the source domain. 3. Método, de acordo com a reivindicação 2, em que a repetição de ciclos e controle durante cada ciclo de carregamento de dados prontos permite a transferência substancialmente contínua de dados entre o domínio de origem e o domínio de depósito por intermédio do dispositivo de armazenamento FIFO no domínio de depósito.The method of claim 2, wherein looping and control during each ready data load cycle enables substantially continuous data transfer between the originating domain and the depositing domain via the storage device. FIFO in the deposit domain. 4. Método, de acordo com a reivindicação 1, emque:o sinal de dados prontos compreende um único ciclo de um sinal de pulso; ea etapa (C) de sinalização de estado de dados prontos para o domínio de depósito, com base no sinal de dados prontos, compreende a transmissão do único ciclo de um sinal de pulso para um registrador no domínio de depósito.The method of claim 1, wherein: the ready data signal comprises a single cycle of a pulse signal; and the deposit domain ready data state signaling step (C), based on the ready data signal, comprises transmitting the single cycle of a pulse signal to a deposit domain register. 5. Método, de acordo com a reivindicação 4,compreendendo ainda prover um sinal de pronto continuo a partir do registro no dominio de depósito para controlar o FIFO, até conclusão do carregamento dos dados disponíveis a partir do registrador no dominio de origem para o dispositivo de armazenamento FIFO.The method of claim 4, further comprising providing a continuous ready signal from the deposit domain register to control the FIFO until completion of loading of data available from the source domain registrar to the device FIFO storage. 6. Método, de acordo com a reivindicação 4, compreendendo ainda:repetidamente realizar ciclos através das etapas (a) a (d) ; erepetidamente realizar ciclos através das etapas (e) a (g); econtrolar cada ciclo de carregamento de dados prontos no registrador no dominio de origem de acordo com um estado atual do valor representando espaço disponível no dispositivo de armazenamento FIFO, no contador no dominio de origem.The method of claim 4 further comprising: repeatedly cycling through steps (a) to (d); repeating cycles through steps (e) to (g); and control each ready data load cycle in the register in the source domain according to a current value state representing available space on the FIFO storage device at the counter in the source domain. 7. Método, de acordo com a reivindicação 6, em que a repetição de ciclos e controle durante cada ciclo de carregamento de dados prontos permite a transferência substancialmente continua de dados entre o dominio de origem e o dominio de depósito por intermédio do dispositivo de armazenamento FIFO no dominio de depósito.The method of claim 6, wherein looping and control during each ready data load cycle allows substantially continuous data transfer between the originating domain and the depositing domain via the storage device. FIFO in the deposit domain. 8. Método, de acordo com a reivindicação 1, em que a etapa (C) de sinalizar estado de dados prontos para o dominio de depósito, com base no sinal de dados prontos, compreende:mudar uma sinalização de estado de registro a partir de um estado válido anterior de dados prontos para um estado válido alternativo de dados prontos; esinalizar o estado válido alternativo de dados prontos a partir do dominio de origem para o dominio de depósito.The method of claim 1, wherein step (C) of signaling ready data state for the deposit domain based on the ready data signal comprises: changing a register state signaling from a previous valid state of ready data to an alternate valid state of ready data; signaling the alternate valid state of ready data from the source domain to the depot domain. 9. Método, de acordo com a reivindicação 8,compreendendo ainda:repetidamente realizar ciclos através das etapas (a) a (g) , em que a realização de ciclos repetidos através da etapa (c) causa a sinalização alternada dos estados válidos de dados para o dominio de depósito; econtrolar cada ciclo de carregamento de dados prontos no registrador no dominio de origem de acordo com um estado atual do valor representando espaço disponível no dispositivo de armazenamento FIFO, no contador no dominio de origem.The method of claim 8 further comprising: repeatedly cycling through steps (a) to (g), wherein performing repeated cycles through step (c) causes alternate signaling of valid data states for the deposit domain; and control each ready data load cycle in the register in the source domain according to a current value state representing available space on the FIFO storage device at the counter in the source domain. 10. Método, de acordo com a reivindicação 9, em que a repetição de ciclos e controle durante cada ciclo de carregamento de dados prontos permite a transferência substancialmente continua de dados entre o dominio de origem e o dominio de depósito por intermédio do dispositivo de armazenamento FIFO no dominio de depósito.The method of claim 9, wherein looping and control during each ready data load cycle enables substantially continuous data transfer between the source domain and the deposit domain via the storage device. FIFO in the deposit domain. 11. Método para transferir dados entre um dominio de origem operando em uma primeira taxa de dados e um dominio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, o método compreendendo:(a) durante uma pluralidade de ciclos,substancialmente de forma continua:(1) carregar os dados a partir de uma origem para um registrador no dominio de origem;(2) sinalizar dados prontos para o dominio de depósito;(3) carregar os dados a partir do registrador no dominio de origem para um dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) no dominio de depósito;(4) emitir os dados a partir do dispositivo de armazenamento FIFO para um dispositivo dedepósito para liberar espaço para dados no dispositivo de armazenamento FIFO; e(5) sinalizar a liberação de espaço no dispositivo de armazenamento FIFO para o dominio de origem;(b) em resposta a cada carregamento de dados no registrador no dominio de origem, modificar um valor de contagem no dominio de origem em uma primeira maneira;(c) em resposta a cada sinalização de liberação de espaço no dispositivo de armazenamento FIFO para o dominio de origem, modificar o valor de contagem no dominio de origem de uma segunda maneira oposta à primeira maneira; e(d) em cada ciclo da etapa (a) , controlar o carregamento de dados a partir da origem para o registrador no dominio de origem com base em um estado atual do valor de contagem em relação à profundidade do dispositivo de armazenamento FIFO.A method for transferring data between a source domain operating at a first data rate and a deposit domain operating at a second data rate, other than the first data rate, the method comprising: (a) during a plurality of cycles substantially continuously: (1) loading data from a source to a registrar in the source domain (2) signaling data ready for the deposit domain (3) loading data from the registrar in the domain source for a first-in first-out storage device (FIFO) in the depot domain (4) outputting data from the FIFO storage device to a repository device to free data space on the FIFO storage device; and (5) signaling space clearance on the FIFO storage device to the source domain, (b) in response to each data load in the register on the source domain, modifying a count value on the source domain in a first way (c) in response to each space freeze signaling on the FIFO storage device for the source domain, modifying the count value on the source domain in a second manner as opposed to the first way; and (d) in each cycle of step (a), controlling the loading of data from the source to the register in the source domain based on a current state of the count value relative to the depth of the FIFO storage device. 12. Método, de acordo com a reivindicação 11, emque:cada sinalização de dados prontos para o dominio de depósito compreende transmitir um único ciclo de um sinal de pulso de dados prontos a partir do dominio de origem para o dominio de depósito; ecada etapa de modificar o valor de contagem no dominio de origem em uma primeira maneira é responsivo à originação de um único ciclo do sinal de pulso de dados prontos no dominio de origem.A method according to claim 11, wherein: each deposit domain ready data signaling comprises transmitting a single loop of a ready data pulse signal from the originating domain to the deposit domain; Each step of modifying the count value in the source domain in a first way is responsive to the origination of a single loop of the ready data pulse signal in the source domain. 13. Método, de acordo com a reivindicação 11, em que cada sinalização de dados prontos para o dominio de depósito compreende:mudar entre dois estados válidos alternativos dedados; esinalizar um estado atual dos dois estadosválidos alternativos de dados a partir do dominio de origem para o dominio de depósito.The method of claim 11, wherein each deposit domain ready data signaling comprises: switching between two alternative valid states of data; signaling a current state of the two alternate valid states of data from the source domain to the deposit domain. 14. Método, de acordo com a reivindicação 11, emque:uma faixa permissivel do valor de contagem corresponde à profundidade do dispositivo de armazenamento FIFO,a modificação da contagem no dominio de origem na primeira maneira compreende decrementar o valor de contagem; ea modificação da contagem no dominio de origem na segunda maneira compreende incrementar o valor de contagem.A method according to claim 11, wherein: an allowable range of the count value corresponds to the depth of the FIFO storage device, modifying the count in the source domain in the first way comprises decreasing the count value; and modifying the count in the source domain in the second way comprises incrementing the count value. 15. Método, de acordo com a reivindicação 11, em que a modificação do valor de contagem no dominio de origem na segunda maneira está sujeita às latências envolvidas na comunicação de cada sinalização de liberação de espaço no dispositivo de armazenamento FIFO a partir do dominio de depósito para o dominio de origem.The method of claim 11, wherein modifying the count value in the source domain in the second way is subject to the latencies involved in communicating each space-free signaling in the FIFO storage device from the domain of deposit for the home domain. 16. Método para transferir dados entre um dominio de origem operando em uma primeira taxa de dados e um dominio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, o método compreendendo:(a) durante cada uma de uma pluralidade derepetições:(1) carregar os dados a partir de uma origem para um registrador no dominio de origem, e tornar os dados disponíveis para o dominio de depósito;(2) quando o espaço estiver disponível no dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) no dominio de depósito, carregar os dados a partir do registrador nodomínio de origem para o dispositivo de armazenamento (FIFO); e(3) emitir os dados a partir do dispositivo de armazenamento FIFO para um dispositivo de depósito para liberar espaço para dados no dispositivo de armazenamento FIFO;(b) manter uma contagem no dominio de origem representativa de espaço disponível no dispositivo de armazenamento FIFO, responsivo a cada carregamento de dados no registrador no dominio de origem e responsivo à sinalização a partir do dominio de depósito de cada liberação de espaço no dispositivo de armazenamento FIFO; e(c) em cada repetição da etapa (a), controlar o carregamento de dados a partir da origem para o registrador no domínio de origem com base em um estado atual da contagem;em que o controle inclui, no caso da contagem indicar que o dispositivo de armazenamento FIFO está cheio, permitir o carregamento de um próximo batimento de dados disponível para o registrador no domínio de origem e manter aquele batimento de dados de modo que batimento de dados é tornada continuamente disponível ao dispositivo de armazenamento FIFO para carregamento no dispositivo de armazenamento FIFO quando o espaço se tornar disponível.A method for transferring data between a source domain operating at a first data rate and a deposit domain operating at a second data rate, other than the first data rate, the method comprising: (a) during each of a plurality of repetitions: (1) upload data from a source to a register in the source domain, and make data available to the deposit domain; (2) when space is available on the storage device first in first; exit (FIFO) in the depot domain, load data from the source domain register to the storage device (FIFO); and (3) outputting data from the FIFO storage device to a storage device to free data space on the FIFO storage device, (b) maintaining a representative source domain count of available space on the FIFO storage device, responsive to each data load in the register in the source domain and responsive to signaling from the deposit domain of each space release on the FIFO storage device; and (c) at each repetition of step (a), controlling the loading of data from the source to the registrar in the source domain based on a current count state, where control includes, if the count indicates that the FIFO storage device is full, allow loading of a next available data rate to the registrar in the source domain and maintain that data rate so that data rate is continuously made available to the FIFO storage device for loading on the device FIFO storage when space becomes available. 17. Método, de acordo com a reivindicação 16, compreendendo ainda sinalizar dados prontos para o domínio de depósito em cada carregamento de dados para o registrador no domínio de origem.The method of claim 16 further comprising signaling data ready for the deposit domain on each data load to the registrar in the source domain. 18. Método, de acordo com a reivindicação 17, em que cada sinalização de dados prontos para o domínio de depósito compreende transmitir um único ciclo de um sinal de pulso de dados prontos a partir do domínio de origem para domínio de depósito.The method of claim 17, wherein each deposit domain ready data signaling comprises transmitting a single loop of a ready data pulse signal from the source domain to the deposit domain. 19. Método, de acordo com a reivindicação 17, em que cada sinalização de dados prontos para o domínio de depósito compreende sinalizar uma transição para um de dois estados de dados válidos alternativos, a partir do domínio de origem para o domínio de depósito.The method of claim 17, wherein each depot domain ready data signaling comprises signaling a transition to one of two alternative valid data states from the source domain to the depot domain. 20. Equipamento para transmitir dados entre um domínio de origem operando em uma primeira taxa de dados e um domínio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, o equipamento compreendendo:elementos de domínio de origem, incluindo:(a) um registrador de dados de leitura, para receber dados a partir de uma origem e apresentar os dados recebidos para transferência para o domínio de depósito;(b) um controle para controlar o carregamento de dados a partir da origem para o registrador de dados de leitura e causar uma transmissão de sinalização do carregamento de dados para o domínio de depósito; e(c) um contador, em que o controle é responsivo a um estado de um valor no contador;elementos de dominio de depósito, incluindo:(1) um dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) em comunicação com o registrador de dados de leitura;(2) um controle, para controlar aceitação dos dados a partir do registrador de dados de leitura para o dispositivo de armazenamento FIFO em resposta ao recebimentoda sinalização do carregamento de dados, para controlar a liberação de espaço no dispositivo de armazenamento FIFO quando os dados são emitidos a partir do dispositivo de armazenamento FIFO para um depósito, e para causar uma transmissão de sinalização da liberação de espaço para o contador no dominio de origem; em que:o contador modifica o valor em uma primeira maneira em resposta a cada carregamento dos dados a partir da origem para o registrador de dados de leitura, eo contador modifica o valor de uma segunda maneira oposta à primeira maneira, no recebimento de cada sinalização de liberação de espaço no dispositivo de armazenamento FIFO, a partir do controle no dominio de depósito.20. Equipment for transmitting data between a source domain operating at a first data rate and a depot domain operating at a second data rate, other than the first data rate, equipment comprising: source domain elements, including: (a) a read data recorder for receiving data from a source and presenting the data received for transfer to the deposit domain (b) a control for controlling the loading of data from the source to the data recorder read data and cause a signaling transmission of the data load to the depot domain; and (c) a counter, wherein the control is responsive to a state of a value in the counter, deposit domain elements, including: (1) a first in first out (FIFO) storage device in communication with the (2) a control for controlling acceptance of data from the read data recorder to the FIFO storage device in response to receiving the data loading signaling to control the clearance of space on the data storage device. FIFO storage when data is emitted from the FIFO storage device to a depot, and to cause a space clearance signaling transmission to the counter in the source domain; where: the counter modifies the value in a first manner in response to each load of data from the source to the read data register, and the counter modifies the value in a second manner opposite to the first way upon receipt of each signaling of space clearance on the FIFO storage device from the control in the depot domain. 21. Equipamento, de acordo com a reivindicação 20, compreendendo ainda um registrador de estado de pronto no dominio de depósito, para receber um sinal de pulso a partir do controle no dominio de origem como a sinalização de carregamento de dados, cada ciclo do sinal de pulso representando um carregamento de novos dados a partir da origem para o registrador de dados de leitura, e para prover uma indicação de dados prontos para o controle no dominio de depósito em resposta a cada ciclo recebido do sinal de pulso.Apparatus according to claim 20, further comprising a depot ready state register for receiving a pulse signal from the control in the source domain such as data loading signaling, each signal cycle pulse data representing a load of new data from the source to the read data logger, and to provide an indication of deposit-ready control data in response to each cycle received from the pulse signal. 22. Equipamento, de acordo com a reivindicação 20, compreendendo ainda:um registrador de sinalização no dominio de origem alternando entre dois estados válidos em resposta a cada carregamento de dados a partir da origem para o registrador de dados de leitura; eum multiplexador no dominio de depósito, responsivo aos recebimentos alternados dos estados válidos a partir do registrador de sinalização no domínio de origem para prover indicações de dados prontos para o controle no domínio de depósito.Apparatus according to claim 20 further comprising: a source domain signaling register alternating between two valid states in response to each data load from the source to the read data register; It is a depot domain multiplexer responsive to alternate receipts of valid states from the signaling register in the source domain to provide data indications ready for control in the depot domain. 23. Aparelho, de acordo com a reivindicação 20, em que o dispositivo de armazenamento FIFO é suficientemente profundo para permitir transferência substancialmente contínua de dados a partir do domínio de origem para o domínio de depósito através do registrador de dados de leitura e do dispositivo de armazenamento FIFO.Apparatus according to claim 20, wherein the FIFO storage device is deep enough to permit substantially continuous data transfer from the source domain to the deposit domain via the read data recorder and the storage device. FIFO storage. 24. Equipamento para transmitir dados entre um domínio de origem operando em uma primeira taxa de dados e um domínio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, o equipamento compreendendo:elementos de domínio de origem, incluindo:(a) um registrador de dados de leitura, para receber dados a partir de uma origem e apresentar os dados recebidos para transferência para o domínio de depósito;(b) um controle para controlar o carregamento de dados a partir da origem para o registrador de dados de leitura e causar uma transmissão de sinalização do carregamento de dados para o domínio de depósito; e(c) um contador, em que o controle é responsivo a um estado de um valor no contador;elementos de domínio de depósito, incluindo:(1) um dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) em comunicação com o registrador de dados de leitura;(2) um controle, para controlar aceitação dos dados a partir do registrador de dados de leitura para o dispositivo de armazenamento FIFO em resposta aorecebimento da sinalização do carregamento de dados, e para controlar a liberação de espaço no dispositivo de armazenamento FIFO quando os dados são emitidos a partir do dispositivo de armazenamento FIFO para um depósito; em que:o contador é responsivo a cada carregamento de dados no registrador no domínio de origem e responsivo à sinalização a partir do dominio de depósito de cada liberação de espaço no dispositivo de armazenamento FIFO para manter o valor de contagem como uma indicação de espaço disponível no dispositivo de armazenamento FIFO; eresponsivo a uma indicação de que o dispositivo de armazenamento FIFO está cheio por intermédio do valor de contagem no contador, o controlador permite o carregamento de um próximo batimento disponível de dados para o registrador de dados de leitura para manter aquele batimento de dados de modo que o batimento de dados é apresentado continuamente ao dispositivo de armazenamento FIFO para carregamento no dispositivo de armazenamento FIFO quando espaço se torna disponível.24. Equipment for transmitting data between a source domain operating at a first data rate and a depot domain operating at a second data rate, other than the first data rate, equipment comprising: source domain elements, including: (a) a read data recorder for receiving data from a source and presenting the data received for transfer to the deposit domain (b) a control for controlling the loading of data from the source to the data recorder read data and cause a signaling transmission of the data load to the depot domain; and (c) a counter, wherein the control is responsive to a state of a value in the counter, depot domain elements, including: (1) a first in first out (FIFO) storage device in communication with the read data logger; (2) a control, for controlling acceptance of data from the read data logger to the FIFO storage device in response to receiving data loading signaling, and for controlling space clearance on the device FIFO storage when data is output from the FIFO storage device to a depot; where: the counter is responsive to each data load in the register in the source domain and responsive to signaling from the deposit domain of each space release on the FIFO storage device to maintain the count value as an indication of available space on FIFO storage device; responsive to an indication that the FIFO storage device is full by means of the counter count value, the controller allows loading of a next available data rate to the read data register to maintain that data rate so that The data beat is continuously displayed to the FIFO storage device for loading into the FIFO storage device when space becomes available. 25. Equipamento, de acordo com a reivindicação 24, compreendendo ainda um registrador de estado de pronto no domínio de depósito, para receber um sinal de pulso a partir do controle no domínio de origem como a sinalização de carregamento de dados, cada ciclo do sinal de pulso representando um carregamento de dados novos a partir da origem para o registrador de dados de leitura, e para prover uma indicação de dados prontos para o controle no domínio de depósito em reposta a cada ciclo recebido do sinal de pulso.Apparatus according to claim 24, further comprising a depot ready state register for receiving a pulse signal from the control in the originating domain such as data loading signaling, each signal cycle pulse data representing a load of new data from the source to the read data logger, and to provide an indication of data ready for control in the deposit domain in response to each cycle received from the pulse signal. 26. Equipamento, de acordo com a reivindicação 24, compreendendo ainda:um registrador de sinalização no domínio deorigem tendo dois estados de dados válidos, o registrador de sinalização mudando para um dos dois estados de dados válidos em resposta a cada carregamento de dados a partir da origem para o registrador de dados de leitura; eum multiplexador, no dominio de depósito, responsivo aos recebimentos dos estados de dados válidos a partir do registrador de sinalização no dominio de origem para prover as indicações de dados prontos para o controle no dominio de depósito.An apparatus according to claim 24, further comprising: a source domain signaling register having two valid data states, the signaling register changing to one of two valid data states in response to each data load from from source to read data logger; It is a depot domain multiplexer responsive to receiving valid data states from the signaling register in the source domain to provide the data indications ready for control in the depot domain. 27. Equipamento para transferir dados entre um dominio de origem operando em uma primeira taxa de dados e um dominio de depósito operando em uma segunda taxa de dados, diferente da primeira taxa de dados, o equipamento compreendendo:um registrador de dados de leitura no dominio de origem, para receber os dados a partir de uma origem e apresentar os dados recebidos para transferência ao dominio de depósito;um dispositivo de armazenamento primeiro a entrar primeiro a sair (FIFO) , no dominio de depósito, para receber os dados a partir do registrador de dados de leitura para transferência para um depósito;um contador no dominio de origem, responsivo ao carregamento de dados no registrador de dados de leitura e descarregamento de dados a partir do dispositivo de armazenamento FIFO, para manter um valor de contagem representativo do espaço disponível no dispositivo de armazenamento FIFO;um controle no dominio de origem, para controlar o carregamento de dados no registrador de dados de leitura para transferência para o dominio de depósito, responsivo a um estado do valor de contagem em relação à profundidade do dispositivo de armazenamento FIFO; emeio para sinalizar para o domínio de depósito que os dados no registrador de dados de leitura estão prontos para a transferência para o dispositivo de armazenamento FIFO, para permitir controle do recebimento de dados no dispositivo de armazenamento FIFO.27. Equipment for transferring data between a source domain operating at a first data rate and a deposit domain operating at a second data rate, other than the first data rate, equipment comprising: a domain read data recorder source to receive data from a source and present the data received for transfer to the depot domain, a first-in first-out storage device (FIFO) in the depot domain to receive data from the read data logger for transfer to a depot; a home domain counter responsive to loading data into the read data logger and offloading data from the FIFO storage device to maintain a representative value of the space available on FIFO storage device, a control in the source domain to control data loading in the datalogger readable for transfer to the deposit domain responsive to a state of the count value relative to the depth of the FIFO storage device; I want to signal to the depot domain that the data in the read datalogger is ready for transfer to the FIFO storage device to allow control of data reception on the FIFO storage device. 28. Equipamento, de acordo com a reivindicação 27, em que o arranjo do contador e do meio para sinalização tornam o equipamento substancialmente insensível à latência de sinalização permutada entre o domínio de origem e o domínio de depósito.Apparatus according to claim 27, wherein the arrangement of the meter and signaling means render the apparatus substantially insensitive to the signaling latency exchanged between the source domain and the depot domain. 29. Equipamento, de acordo com a reivindicação 27, em que a profundidade do dispositivo de armazenamento FIFO e o arran j o do contador e o meio para sinalização permitem transferência substancialmente contínua de dados entre o domínio de origem e o domínio de depósito por intermédio do registrador de dados de leitura e do dispositivo de armazenamento FIFO.The apparatus of claim 27, wherein the depth of the FIFO storage device and counter arrangement and signaling means permit substantially continuous data transfer between the source domain and the deposit domain via the read data logger and FIFO storage device. 30. Equipamento, de acordo com a reivindicação 27, em que se o estado do valor de contagem indicar que o dispositivo de armazenamento FIFO está cheio, o controle no domínio de origem controla o carregamento de dados no registrador de dados . de leitura para permitir o carregamento de um próximo batimento de dados disponível no registrador de dados de leitura para reter esse batimento de dados de modo que o batimento de dados é apresentado continuamente ao dispositivo de armazenamento FIFO para carregamento no dispositivo de armazenamento FIFO quando espaço se tornar disponível.Apparatus according to claim 27, wherein if the state of the count value indicates that the FIFO storage device is full, control in the source domain controls data loading in the data logger. to allow loading of a next available data rate in the read data register to hold that data rate so that the data rate is continuously presented to the FIFO storage device for loading into the FIFO storage device when space is available. make available.
BRPI0608975-5A 2005-05-11 2006-05-08 fifo signaling protocol insensitive to latency BRPI0608975A2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/128,135 US7454538B2 (en) 2005-05-11 2005-05-11 Latency insensitive FIFO signaling protocol
US11/128,135 2005-05-11
PCT/US2006/017899 WO2006124410A2 (en) 2005-05-11 2006-05-08 Latency insensitive fifo signaling protocol

Publications (1)

Publication Number Publication Date
BRPI0608975A2 true BRPI0608975A2 (en) 2010-02-17

Family

ID=37420511

Family Applications (1)

Application Number Title Priority Date Filing Date
BRPI0608975-5A BRPI0608975A2 (en) 2005-05-11 2006-05-08 fifo signaling protocol insensitive to latency

Country Status (8)

Country Link
US (2) US7454538B2 (en)
EP (1) EP1880299A4 (en)
JP (2) JP4681046B2 (en)
KR (1) KR100965356B1 (en)
CN (1) CN101213534B (en)
BR (1) BRPI0608975A2 (en)
IL (1) IL187298A0 (en)
WO (1) WO2006124410A2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613909B2 (en) * 2007-04-17 2009-11-03 Xmos Limited Resuming thread to service ready port transferring data externally at different clock rate than internal circuitry of a processor
JP5532724B2 (en) * 2009-07-30 2014-06-25 株式会社リコー Interface circuit and semiconductor device having the same
KR20110061189A (en) * 2009-12-01 2011-06-09 삼성전자주식회사 Asynchronization upsizing circuit in data processing system
TWI466016B (en) * 2011-07-01 2014-12-21 Realtek Semiconductor Corp First in first out device and method thereof
CN104038306B (en) * 2013-03-05 2017-09-29 上海航天测控通信研究所 The method and its asynchronous FIFO of low delay real-time Transmission multi code Rate of Chinese character bit stream data
US9880961B2 (en) * 2013-11-27 2018-01-30 Arm Limited Asynchronous bridge circuitry and a method of transferring data using asynchronous bridge circuitry
JPWO2016158063A1 (en) * 2015-03-30 2018-01-25 ソニーセミコンダクタソリューションズ株式会社 Asynchronous interface
TWI714358B (en) 2015-05-28 2020-12-21 日商東芝記憶體股份有限公司 Semiconductor device
CN108280437B (en) * 2018-01-30 2021-06-15 四川新先达测控技术有限公司 Pulse signal processing method and device and user terminal
CN111008002B (en) * 2019-12-06 2022-04-08 苏州盛科通信股份有限公司 Apparatus and method for automatically calculating and updating FIFO depth
CN113220607B (en) * 2021-05-26 2023-05-12 浙江赛思电子科技有限公司 Data processing method based on FIFO
CN114443524A (en) * 2022-01-28 2022-05-06 山东云海国创云计算装备产业创新中心有限公司 Data transmission method, system, storage medium and equipment

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3213345C2 (en) * 1982-04-08 1984-11-22 Siemens Ag, 1000 Berlin Und 8000 Muenchen Data transmission device between two asynchronously controlled data processing systems
US4525649A (en) * 1982-07-12 1985-06-25 Gte Products Corporation Drive scheme for a plurality of flourescent lamps
JPS62219390A (en) * 1986-03-20 1987-09-26 Fujitsu Ltd Fifo memory
JPS63308447A (en) * 1987-06-10 1988-12-15 Nec Corp Transmitting fifo memory controller
US5098139A (en) * 1988-12-20 1992-03-24 Larsson Leif T High security lock and latch for sliding doors
US5513224A (en) 1993-09-16 1996-04-30 Codex, Corp. Fill level indicator for self-timed fifo
US5604866A (en) * 1993-09-30 1997-02-18 Silicon Graphics, Inc. Flow control system having a counter in transmitter for decrementing and incrementing based upon transmitting and received message size respectively for indicating free space in receiver
US5506969A (en) * 1993-11-29 1996-04-09 Sun Microsystems, Inc. Method and apparatus for bus bandwidth management
JP3093583B2 (en) * 1994-11-04 2000-10-03 沖電気工業株式会社 Memory control circuit
JPH0997164A (en) * 1995-10-02 1997-04-08 Oki Electric Ind Co Ltd Asynchronous burst data reception circuit
US6101329A (en) 1997-02-18 2000-08-08 Lsi Logic Corporation System for comparing counter blocks and flag registers to determine whether FIFO buffer can send or receive data
US6098139A (en) 1998-05-27 2000-08-01 3Com Corporation Frequency independent asynchronous clock crossing FIFO
US6115760A (en) 1998-08-24 2000-09-05 3Com Corporation Intelligent scaleable FIFO buffer circuit for interfacing between digital domains
US6389489B1 (en) * 1999-03-17 2002-05-14 Motorola, Inc. Data processing system having a fifo buffer with variable threshold value based on input and output data rates and data block size
US6529570B1 (en) * 1999-09-30 2003-03-04 Silicon Graphics, Inc. Data synchronizer for a multiple rate clock source and method thereof
US6389469B1 (en) * 2000-03-27 2002-05-14 Targetize Innovative Solutions Ltd. System and method for customized content delivery
JP3815948B2 (en) * 2000-04-20 2006-08-30 シャープ株式会社 FIFO memory control circuit
JP3525867B2 (en) * 2000-07-07 2004-05-10 日本電気株式会社 Communication device and communication terminal
DE60022186T2 (en) * 2000-08-17 2006-06-08 Texas Instruments Inc., Dallas Maintaining a remote queue using two counters in the Move Control with hubs and ports
US7729302B2 (en) 2001-05-15 2010-06-01 The United States Of America As Represented By The Secretary Of The Navy Adaptive control of multiplexed input buffer channels
CN1153217C (en) * 2001-06-07 2004-06-09 扬智科技股份有限公司 Asynchronous FIFO controller

Also Published As

Publication number Publication date
JP2008541623A (en) 2008-11-20
EP1880299A2 (en) 2008-01-23
WO2006124410A2 (en) 2006-11-23
IL187298A0 (en) 2009-02-11
US7725625B2 (en) 2010-05-25
WO2006124410A3 (en) 2007-09-20
CN101213534A (en) 2008-07-02
US20060259669A1 (en) 2006-11-16
US20080281996A1 (en) 2008-11-13
JP2011101390A (en) 2011-05-19
JP4976537B2 (en) 2012-07-18
US7454538B2 (en) 2008-11-18
KR100965356B1 (en) 2010-06-23
JP4681046B2 (en) 2011-05-11
KR20080007506A (en) 2008-01-21
EP1880299A4 (en) 2009-07-08
CN101213534B (en) 2012-02-15

Similar Documents

Publication Publication Date Title
BRPI0608975A2 (en) fifo signaling protocol insensitive to latency
US6055285A (en) Synchronization circuit for transferring pointer between two asynchronous circuits
TWI298888B (en) Pseudo-synchronization of the transportation of data across asynchronous clock domains
KR100289443B1 (en) Source Synchronization Metastable Freeverse
JP3712471B2 (en) Computer system and interface circuit for transferring data between first circuit and second circuit
US10038450B1 (en) Circuits for and methods of transmitting data in an integrated circuit
US5539739A (en) Asynchronous interface between parallel processor nodes
US7352836B1 (en) System and method of cross-clock domain rate matching
US7180332B2 (en) Clock synchronization circuit
JP2002523857A (en) FIFO using asynchronous logic
US8001409B2 (en) Synchronization device and methods thereof
US7107393B1 (en) Systems and method for transferring data asynchronously between clock domains
US8023343B2 (en) Systems and methods for issuing address and data signals to a memory array
JP2004062630A (en) Fifo memory and semiconductor device
US6724683B2 (en) Transferring data between different clock domains
US6067629A (en) Apparatus and method for pseudo-synchronous communication between clocks of different frequencies
US9069906B2 (en) Method for sharing a resource and circuit making use of same
JP3475857B2 (en) Source synchronous transfer method
JP3562416B2 (en) Inter-LSI data transfer system and source synchronous data transfer method used therefor
JP2009503640A (en) Asynchronous data buffer
KR900007547Y1 (en) System synchronization apparatus using serial first in first out memory device
BR102013031832A2 (en) circuit and method for synchronous storage of a digital word with automatic transfer to another clock domain
EP1188108A1 (en) Two clock domain pulse to pulse synchronizer
WO2024086641A1 (en) Data lane deskew and rate adaptation in a package containing multiple circuit dies
WO2024086657A1 (en) Low latency pcie retimer with skew correction

Legal Events

Date Code Title Description
B08F Application dismissed because of non-payment of annual fees [chapter 8.6 patent gazette]

Free format text: REFERENTE A 9A ANUIDADE.

B08K Patent lapsed as no evidence of payment of the annual fee has been furnished to inpi [chapter 8.11 patent gazette]

Free format text: REFERENTE AO DESPACHO 8.6 PUBLICADO NA RPI 2308 DE 31/03/2015.