Introdução ao System Generator - DECOM
Transcrição
Introdução ao System Generator - DECOM
ComL@b – Laboratório de Comunicações Digitais www.decom.fee.unicamp.br/~cardoso Aula 6: Introdução ao System Generator Fabbryccio Cardoso Marcelo Fernandes Dalton S. Arantes DECOM-FEEC-UNICAMP ComL@b – Laboratório de Comunicações Digitais Casos de Uso Desenvolvimento e análise de algoritmos visando hardware FPGA. visualização, geração de estímulos, simulação com blocos do Simulink, estimação de recursos de HW, cosimulação. Implementação de um projeto completo. Implementação de componentes para projetos maiores. ComL@b – Laboratório de Comunicações Digitais Vantagens Esconde vários detalhes de HW para facilitar a abordagem de processamento digital de sinais. Possibilita uma visão sistêmica e conceitual do projeto com vários níveis de detalhamento. Possibilita a geração de código HDL eficiente a partir de um modelo sistêmico. Aproveita todos os recursos de visualização, análise e de simulação disponíveis no Simulink. Possibilita interagir a simulação em software com a execução em HW – hardware no loop de simulação. ComL@b – Laboratório de Comunicações Digitais Limitações Não possibilita o gerenciamento e a distribuição de sinais de clock. Não possui pinos bidirecionais. Conseqüência: limitações na implementação de interfaces sofisticadas que envolvam restrições de tempo muito precisas. Solução: utilizar o SysGen para desenvolver componentes para serem integrados externamente (ISE) em VHDL. ComL@b – Laboratório de Comunicações Digitais Blocos Básicos Possibilita gerar código VHDL, netlists, componentes e binários. Possibilita simular os blocos do SysGen no Simulink. Possibilita gerar binário para co-simulação. Possibilita co-simulação com HW e ModelSim. Faz o mapeamento do tempo base de amostragem para o clock. System Generator DSP original double dbl fpt Fix_8_8 Gateway In fpt dbl double saida Gateway Out Sine Wave |u| Abs erro Time Scope Definem as fronteiras do projeto. Entre estes blocos pode-se utilizar apenas blocos Xilinx. São mapeados em HW para pinos de entrada e de saída. ComL@b – Laboratório de Comunicações Digitais System Generator Block Pode ser: • HDL Netlist (projeto ISE) • NGC Netlist (componente) • Bitstream (binário p/ prog) • EDK Export Tool (EDK) • HW Cosimulation Tipo de compilação Família do dispositivo Síntese para VHDL ou Verilog: • XST, Leonardo Spectrum, • Synplify, Synplify Pro Mapeado para o clock usado na FPGA – este mapeamento irá definir restrições de tempo para síntese e implementação. Período de amostragem base do modelo. ComL@b – Laboratório de Comunicações Digitais É boa prática trabalhar com Sample Time normalizado: Sample Time = 1 para o menor sample time do modelo. Motivo: menor sample time é mapeado para o clock do sistema. Implementações de Arredondar e Saturar consomem área. Localização dos pinos: Para barramento de 8 bits é necessário especificar 8 pinos Gateway In Fix ou UFix Truncar ou Arredondar Wrap, Saturar ou Flag as Error. ComL@b – Laboratório de Comunicações Digitais Ajuste automático do tipo de sinal 1 x Fix_8_5 a xladdsub a+b b Fix_8_5 z-2 Delay AddSub a (ab) xlmult -3 bz Mult k =1 Constant Fix_8_4 Fix_16_9 Fix_17_9 1 y ComL@b – Laboratório de Comunicações Digitais Exemplo Básico System Generator dbl fpt Sine Wave original Fix_8_5 DSP Gateway In fpt dbl saida Gateway Out |u| Abs histogram Fix_8_5 [ -4, 3.9688 ] passo = 0.03125 erro Time Scope ComL@b – Laboratório de Comunicações Digitais Exemplo Básico: Resultado Fix_8_5 Fix 8 5 0.1 Frequencia 0.09 0.08 0.07 0.06 0.05 0.04 0.03 0.02 0.01 0 -4 -3 -2 -1 0 Amostra 1 2 3 4 ComL@b – Laboratório de Comunicações Digitais Exemplo Básico: Resultado Fix_8_6 Fix 8 6 Frequencia 0.1 0.08 0.06 0.04 0.02 0 -2 -1.5 -1 -0.5 0 0.5 Amostra histogram Fix_8_6 [ -2, 1.9844 ] passo = 0.015625 1 1.5 2 ComL@b – Laboratório de Comunicações Digitais Exemplo Básico: Resultado Fix_8_7 Fix 8 7 Frequencia 0.1 0.08 0.06 0.04 0.02 0 -1 -0.5 0 Amostra histogram Fix_8_7 [ -1, 0.99219 ] passo = 0.0078125 0.5 1 ComL@b – Laboratório de Comunicações Digitais Exemplo: equação de diferenças y(n) = x(n) + a x(n-N) x System Generator y double fonte sim_filtro Fix_8_5 DSP double fonte Sine Wave dblfpt Gateway In Fix_17_9 x y Sys_filtro N=5 simulink fpt dbl Gateway Out sysgen |u| DSP double Sine Wave1 freq1 = 2/200 = 1/100 : 100 amostras por ciclo freq2 = 20/200 =1/10 : 10 amostras por ciclo erro Time Scope