Título: Crossbar Switch NxN com Gerenciamento de Conflitos
Resumo
Crossbar Switch NxN com Gerenciamento de Conflitos: O objetivo dessa atividade é projetar um comutador de matriz NxN parametrizável em Verilog que utilize Barrel Shifters para realizar o roteamento simultâneo e sem bloqueio entre portas, integrando lógica de monitoramento de tráfego.
Objetivo
Projetar e implementar um comutador de matriz (Crossbar Switch) em Verilog que permita o roteamento independente e simultâneo de N portas. O projeto foca em escalabilidade de hardware (parametrização) e na implementação de lógica de monitoramento de integridade de tráfego.
Descrição do sistema
O sistema deve ser capaz de conectar qualquer uma das N entradas a qualquer uma das N saídas de forma paralela e sem bloqueio. A comutação interna deve ser baseada na arquitetura de Barrel Shifters para otimizar o deslocamento de barramentos de dados de largura W.
Requisitos Técnicos
Para o sucesso da implementação, os seguintes requisitos devem ser atendidos:
- Parametrização Obrigatória: O design deve ser genérico, utilizando parameter para definir o número de portas (N) e a largura da palavra de dados (W). O hardware deve ser capaz de se reconfigurar automaticamente ao alterar esses valores.
- Seleção Independente por Saída: Cada porta de saída deve possuir seu próprio barramento de controle de seleção dedicado. Isso permite que múltiplas rotas distintas coexistam no mesmo ciclo de clock.
- Detecção de Colisão (collision_error): O hardware deve monitorar os sinais de seleção em tempo real. Caso dois ou mais seletores de saída apontem para a mesma porta de entrada simultaneamente, um sinal de status global de erro deve ser ativado.
- Habilitação de Saída (output_enable): Cada porta de saída deve possuir um sinal de controle individual. Se desativado, a saída correspondente deve ser forçada a zero para evitar a propagação de dados residuais.
Arquitetura Modular
O código deve ser organizado de forma hierárquica nos seguintes blocos:
- Módulo Barrel Shifter:
- Núcleo combinacional responsável pelo deslocamento e roteamento dos dados.
- Módulo de Monitoria:
- Lógica de comparação responsável pela detecção de duplicidade nos seletores (Lógica de Colisão).
- Módulo Top-Level:
- Integração final da matriz de comutação com os sinais de status, erro e habilitação.