Carregar apresentação
A apresentação está carregando. Por favor, espere
PublicouAugusto Rafael Alterado mais de 10 anos atrás
1
OCP Open Core Protocol
2
Comunicação entre cores IP Como interligar dois componentes de hardware? Componente A Componente B Dados(32) Endereço (32) Controle (7) Dados(32) Endereço (32) Controle (7) Componente C Componente D Dados(32) Endereço (32) Controle (7) Dados(32) Endereço (32) Controle (7) ? ? Componente E Componente F Dados(32) Endereço (32) Controle (7) Dados(16) Endereço (16) Controle (5) ?
3
Como interligar 2 cores? Sinais compatíveis de ambos os lados – Basta interliga-los Quando 2 sinais são compatíveis? – Mesma direção – Mesma codificação (nível de tensão, freqüência, sincronismo, etc.) – Mesma largura de barramento
4
Como Interligar 2 cores? Quando alguns barramentos possuem larguras incompatíveis – Colocar buffer no meio do caminho – Interligar mais de um componente de menor largura – Descartar parte dos sinais – Definir um valor padrão para os sinais não conectados
5
Como interligar 2 cores? Sinais inexistentes de um dos lados – Definir um valor padrão para cada sinal – Deixa-los desconectados
6
Como interligar 2 cores? Interface totalmente incompatível – Reprojetar uma das interfaces – Criar um terceiro core apenas para fazer a conversão dos sinais E se forem 10 cores incompatíveis? E se forem 100 cores incompatíveis? E se forem 1000 cores incompatíveis?
7
OCP A interface entre os cores deve ser padronizada. Características: – Síncrona – Unidirecional – Ponto a ponto (um mestre e um escravo)
8
OCP Vantagens – Facilita o reuso e a independência de arquitetura – Reduz a área através da utilização apenas dos sinais necessários – Define uma interface através da qual todos os módulos podem ser testados e verificados
9
Visão Geral
10
Comandos Dois comandos básicos: – Leitura (Read) – Escrita (Write) Dois comandos extras: – Broadcast – ReadEx (leitura exclusiva para Read-Modify- Write)
11
Sinais Básicos São obrigatórios em todas as implementações OCP NameWidthDriverFunction Clk1-OCP Clock MAddr1-32MasterTransfer Address MCmd3MasterMaster Command MData8/16/32/64/128MasterWrite Data SCmdAccept1SlaveSlave Accepts Command SData8/16/32/64/128SlaveRead Data SResp2SlaveTransfer Response
12
Sinais Básicos (cont.) Clk: Todos os sinais OCP são síncronos com a borda de subida do Clock MAddr: Endereço do recurso acessado. Se a palavra for maior que 8 bits, os bits inferiores ficam fixos em 0 MData: Dados enviados. little-endian SCmdAccept: Slave aceita a transferência SData: Dados recebidos. little-endian
13
Sinais Básicos (cont.) MCmd[2:0]TransaçãoMnemônico 000IdleIDLE 001WriteWR 010ReadRD 011ReadExRDEX 100Reserved 101Reserved 110Reserved 111BroadcastBCST
14
Sinais Básicos (cont.) SResp[1:0]RespostaMnemônico 00No ResponseNULL 01Data Valid/AcceptDVA 10Reserved 11Response ErrorERR
15
Outros Sinais Simple Extensions: MAddrSpace, MBurst, MByteEn, MValidData, MRespAccept, SDataAccept Complex Extensions: MConnID, MDataThreadID, MThreadBusy, MThreadID, SThreadBusy, SThreadID Sideband Signals: MFlags, Reset_n, SError, SFlag, SInterrupt, Control, ControlBusy, ControlWr, Status, StatusBusy, StatusRd Test Signals: Scanctrl, Scanin, Scanout, ClkByp, TestClk, TCK, TDI, TDO, TMS, TRST_N
16
Temporização (Read/Write)
17
Fases A) O mestre coloca o valor WR no sinal MCmd. No mesmo ciclo, o endereço (A1) e o dado (D1) são colocados em MAddr e MData respectivamente. O escravo ativa o sinal SCmdAccept no mesmo ciclo. Escrita com latência 0. B) O escravo usa os sinais MAddr e MData para a escrita interna. O ciclo encerra. C) O mestre inicia uma leitura colocando o valor RD em MCmd. NO mesmo ciclo ele coloca um valor válido em MAddr. O escravo ativa SCmdAccept no mesmo ciclo. Leitura com latência 0. D) O escravo utiliza MAddr para determinar o valor de retorno e inicia a fase de resposta com DVA em SResp. O dado é devolvido em SData. E) O mestre reconhece o valor de SResp e lê o dado de SData completando o ciclo de resposta. Latência de 1 ciclo.
18
Request Handshake
19
Resposta Separada
20
Compatibilidade Para ser considerado compatível com OCP, cada interface OCP de um core deve: – Conter ao menos os sinais básicos – Seguir a semântica do protocolo, implementando ao menos o conjunto mínimo de comandos e respostas – Especificar a temporização de cada sinal usando a terminologia do protocolo
21
Compatibilidade Cada core e interface deve ser descrito segundo a sintaxe do protocolo – A temporização de todas as interfaces deve estar descrita – Qualquer interface não OCP deve ser descrita também seguindo uma regra especificada O desempenho do core deve ser descrito num formulário específico
Apresentações semelhantes
© 2024 SlidePlayer.com.br Inc.
All rights reserved.