690 likes | 760 Vues
Design-Houses: Oportunidades para o Brasil e América Latina. Edna Barros (ensb@cin.ufpe.br) Centro de Informática – UFPE. Roteiro. Sistemas Embarcados e Novas tecnologias de Implementação Tecnologias de Projeto System Level Design Oportunidades de Mercado O Projeto Brazil_IP
E N D
Design-Houses: Oportunidades para o Brasil e América Latina Edna Barros (ensb@cin.ufpe.br) Centro de Informática – UFPE
Roteiro • Sistemas Embarcados e Novas tecnologias de Implementação • Tecnologias de Projeto • System Level Design • Oportunidades de Mercado • O Projeto Brazil_IP • Programa CI Brasil • Conclusões
Sistemas Embarcados e Novas Tecnologias de Implementação System on a Chip
Sistemas Embarcados: Tecnologias Novos Dispositivos Comunicação Funcionalidades Integradas Telefone Celular Vídeo, email, MP3 Mensagens, Browser, m-commerce E-book, Games... Computação Tecnologia
Tecnologia: SoC´s (System on Chip) dispositivos Núcleo memória Comunicação
10,000 1,000 100 Transistores por chip (em milhões) 10 1 0.1 0.01 0.001 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009 Tecnologia:Capacidade de Integração: Lei de Moore • Uma tendência que se mantém e foi prevista em 1965 por Gordon Moore Número de transistores praticamente dobra a cada 18 meses Note: logarithmic scale
Lei de Moore:Ilustração Gráfica Um chip de 2002 pode conter 15.000 chips de 1981 1981 1984 1987 1990 1993 1996 1999 2002 10.000 transistores 150.000.000 transistores
Microprocessor core IC Peripheral core Tecnologia: System-on-Chip Micro- proc. IC Memory IC Peripher. IC FPGA IC Board
System-On-Chip • Uso de núcleos de processadores (cores) • Baixo custo de fabricação em série • Alta qualidade • Diminuição de defeitos de montagem e fabricação em geral • Baixa potência consumida • Pequeno tamanho • Alta velocidade
Tecnologias de Projeto A maneira de converter uma funcionalidade em implementação
Motivação: Produtividade de Projeto 100,000 10,000 1,000 100 Produtividade (K) Trans./Pessoa – Mës 10 1 0.1 0.01 1981 2009 1995 2007 1997 1993 1989 1999 2001 1991 1983 2003 1987 1985 2005
Motivação: Produtividade de Projeto X Tam.Chip • O número de transistores por chip aumentou muito mais que a capacidade de projeto • Maior chip em 1981 requer 100 homem.mês • 10.000 transistores / 100 transistores / mês • Maior chip em 2002 requer 30.000 homem.mês • 150.000.000 / 5.000 transistores / mês • Custo aumentou de $1M para $300M 10,000 100,000 1,000 10,000 100 1000 Transistores/chip (milhões) Gap Produtividade (K) Trans./Homem.Mês 10 Capacidade do CI 100 1 10 0.1 1 produtividade 0.01 0.1 0.001 0.01 1981 1983 1985 1987 1989 1991 1993 1995 1997 1999 2001 2003 2005 2007 2009
Motivação: The mythical man-month • O problema é pior na realidade • O aumento da equipe pode, em algum momento, tornar o projeto mais lento, devido a complexidade de gerenciamento e comunicação • Esse efeito é conhecido na comunidade de software como “the mythical man-month” (Brooks 1975) Tempo 15 60000 16 16 18 50000 19 40000 23 24 30000 Duração em meses 20000 43 10000 Designers 0 10 20 30 40
Specification Automation Verification Reuse Implementation Melhorando a Produtividade • Tecnologias de Projeto • Foco em tecnologias com visão unificada de hardware e software • Automação • Programas substituem projeto manual • Síntese • Reuso • Componentes pré-definidos • IP-cores • Processadores de propósito geral e de propósito único em um mesmo IC • Verificação • Garantir a corretude e completude de cada etapa de projeto • Co-simulação Hardware/software
Tecnologia de Projeto: Síntese • Ferramentas de Síntese • Especificação da funcionalidade • Conversão da funcionalidade em implementação enquanto: • Satisfazendo restrições de projeto • Otimizando outras métricas • Desafios • Complexidade da Funcionalidade • Milhões de possiveis implementações • Métricas relacionadas e que competem • Desempenho vs. Área vs. Potência • Gap de Produtividade • Menos que 10 linhas de código ou 100 transistores produzidos por dia • Necessidade de especificação em alto nível de abstração
Behavior Structural Processors, memories Sequential programs Registers, FUs, MUXs Register transfers Gates, flip-flops Logic equations/FSM Transistors Transfer functions Cell Layout Modules Chips Boards Physical Gajski’s Y-chart Process(x) Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;
Processamento Controle Arquitetura Arquitetura Estrutura + + * / Process(x) Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do; + + * / Layout Comportamento ASIC Comp. Síntese algorítmica (alto nível) Síntese lógica Síntese de layout Prototipação Especificação Inicial Estr. Alg. RTL Geom. Process(x) Begin y := 0.22 + 0.889 x; i := 0; do until i > 3 loop y:= 0.5(y + x/y); i := i + 1; end do;
Redução do Tempo de Projeto System Design Logic Design Physical Design 70 SimulationSchematic entry Placement /Routing Hierarchy, Generators Logic-Level Synthesis High-Level Synthesis System-Level Synthesis homem-mês para 20KPortas
Sequential program code (e.g., C, VHDL) Behavioral synthesis (1990s) Compilers (1960s,1970s) Register transfers RT synthesis (1980s, 1990s) Assembly instructions Logic equations / FSM's Assemblers, linkers (1950s, 1960s) Logic synthesis (1970s, 1980s) Machine instructions Logic gates Implementation Microprocessor plus program bits VLSI, ASIC, or PLD implementation Síntese de Hardware e Software • Até os anos 90....Duas linhas de evolução.... • Evolução Software • Montadores • Compiladores • Evolução Hardware • Síntese Lógica • Síntese RT • Síntese Alto-Nível • A partir dos anos 90.... • Projeto integrado de Hardware e software • Ambos iniciam de uma descrição comportamental sequencial
Verificação Funcional • Garantia que um projeto está correto e completo • Correto • Implementa a especificação corretamente • Completo • Descreve a saída para todas as entradas relevantes • Verificação Formal • Difícil • Para projetos pequenos ou apenas algumas propriedades são verificadas • Simulação • Técnica mais usada
Verificação Funcional: Simulação • Criação de um modelo computacional do projeto • Fornecer valores para entrada • Verificar se os valores das saídas estão ok • Exemplo de Corretude • ALU • Fornecer todas as possíveis combinações para as entradas • Verificar se as saídas estão corretas • Exemplo de Completude • Porta do Elevador Fechada em Movimento • Forneça todas as possíveis sequencias de entrada • Verifique que a porta está sempre fechada quando o elevador está em movimento
Verificação Funcional: Testbenches Source ReferenceModel Checker Driver Moni-tor duv Design Under Verification
Vantagens da Simulação • Controlabilidade • Simulação pode ser interrompida/re-iniciada a qualquer momento • Controle dos Valores • Entradas e Valores internos • Observabilidade • Exame do sistema/ambiente a qualquer momento • Depuração • Pode parar a simulação em qualquer ponto e: • Observar valores internos • Modificar valores do sistema/ambienteantes de reinício • Considerar pequenos intervalos de tempo(ex: 500 nanosegundos)
1 IC 1 hour 10 FPGA 1 day 100 4 days hardware emulation 1000 throughput model 1.4 months 10000 instruction-set simulation 1.2 years 100,000 cycle-accurate simulation 12 years 1,000,000 register-transfer-level HDL simulation >1 lifetime 10,000,000 gate-level HDL simulation 1 millennium Desvantagens da Simulação • Enorme tempo de simulação • 1 hora de execução de um SOC • = 1.2 anos de simulação no nível de repertório de instrução • = 10,000,000 horas de simulação no nível de portas
Tendências e Necessidades: • Modelos de Simulação que permitam simulação rápida • Modelos descritos em níveis mais abstratos • Análise de Cobertura de Testes
System Level Design Tendências e Oportunidades
Board • Board • Processor • Processor • Memory • Memory • Peripheral • Peripheral System Level Design: Módulos de Propriedade Intelectual • Componentes Comerciais “ off-the-shelf “ (COTS) • IC´s pre-projetados e pre-fabricados • Implementam GPP ou SPP • Reduz tempo de projeto/depuração • Facilidade de aquisição
Core library • IP-core library • Core library • PeripheralA • PeripheralA • PeripheralA • PeripheralB • PeripheralB • PeripheralB • ProcessorX • ProcessorX • ProcessorX System Level Design: Módulos de Propriedade Intelectual • Componentes Comerciais “ off-the-shelf “ (COTS) • IC´s pre-projetados e pre-fabricados • Implementam GPP ou SPP • Reduz tempo de projeto/depuração • Facilidade de aquisição • System-on-a-chip (SOC) • Todos os componentes do sistema implementados em UM único CHIP • Muda forma de negócio: • Como Propriedade Intelectual e não como IC • SOC construído pela integração de múltiplas descrições • Board • Board • Processor • Processor • Memory • Memory • Peripheral • Peripheral • Peripheral • Peripheral • Mem • Mem • Processor • Processor • IP cores • IP cores
Projetos Baseados em Plataforma e IP-cores Crescimento de IP-cores, Memória e SW Percentual de reuso
Behavior Structural Processors, memories Sequential programs Registers, FUs, MUXs Register transfers Gates, flip-flops Logic equations/FSM Transistors Transfer functions Cell Layout Modules Chips Boards Physical Tipos de IP-cores • Soft core • Descrição Comportamental sintetizável (HDL) • Independe da tecnologia • Pode ser otimizado para a aplicação • Requer mais esforço de projeto • Pode não funcionar em tecnologia não testada • Não é otimizado Gajski’s Y-chart
Tipos de IP-cores • Soft core • Descrição Comportamental sintetizável (HDL) • Independe da tecnologia • Otimizado para a aplicação • Requer mais esforço de projeto • Pode não funcionar em tecnologia não testada • Não é otimizado • Firm core • Descrição estrutural (HDL) • Alguma reconfigurabilidade • Otimização limitada • Melhor previsibilidade e facilidade de uso Gajski’s Y-chart Behavior Structural Processors, memories Sequential programs Registers, FUs, MUXs Register transfers Gates, flip-flops Logic equations/FSM Transistors Transfer functions Cell Layout Modules Chips Boards Physical
Behavior Structural Processors, memories Sequential programs Registers, FUs, MUXs Register transfers Gates, flip-flops Logic equations/FSM Transistors Transfer functions Cell Layout Modules Chips Boards Physical Tipos de IP-cores • Soft core • Descrição Comportamental sintetizável (HDL) • Independe da tecnologia • Otimizado para a aplicação • Requer mais esforço de projeto • Pode não funcionar em tecnologia não testada • Não é otimizado • Firm core • Descrição estrutural (HDL) • Alguma reconfigurabilidade • Otimização limitada • Melhor previsibilidade e facilidade de uso • Hard core • Descrição Física • Fornecido em variedade de formatos de layout • Facilidade de Uso • Previsibilidade • Depende da tecnologia Gajski’s Y-chart
Padronização de Interfaces e de Documentação VSIA / OCP-IP Métricas para Certificação e Qualificação dos IP´s RMM e VSIA Padronização para Transferência (Classificação) Spirit Reuso de IP-cores: Desafios
Mercado de IP-cores: Desafios • Novo modelo de Negócio • Passado • Vendores vendem IC aos projetistas • Projetistas tem que adquirir cópias adicionais • Não era possível copiar do original • Presente • Vendedores podem comercializar IP´s • Projetistas podem usar tantas cópias quanto necessário • Modelos de Preços • Modelo baseado em Royalty • Similar ao modelo de IC • Projetista paga por cada modelo adicional • Modelo de Preço Fixo • Um preço por IP independente do número de cópias • Outros modelos
Proteção de IP • Passado • Cópia ilegal muito difícil • Engenharia reversa requeria esforço enorme • Cópia acidental não era possível • Presente • IP-cores são vendidos em formato eletrônico • Cópia deliberada/acidental facilitada • Proteção se faz necessária • Contratos para cópia/distribuição • Técnicas para proteção da Propriedade
Novos desafios para usuários de IPs • Licença • Mais difícil do que comprar um IC • Muitos contratos estabelecem modelo de preço e proteção • Assistência jurídica • Esforço extra de projeto • Especialmente para soft cores • Devem ser sintetizados e testados • Diferenças mínimas pode causar problemas • Verificação é mais difícil • Teste extensivo para soft cores sintetizados e soft/firm cores mapeados a tecnologia particular • Tempo e potência pode variar entre implementações • Verificação é crítica • IP-cores produzidos como IC • Não se pode substituir IP-core ruim
System Level Design: Projetos Baseados em Plataforma • Projetista inicia com modelo referência de plataforma (modelo de simulação) • Projetista desenvolve aplicação • Mapeamento da aplicação na arquitetura • Análise de métricas • Ajustes: • mapeamento • aplicação • Arquitetura • Ajustes na Plataforma • Maturidade das ferramentas de síntese/compiladores • IP´s podem ser ajustados • Refinamento continua até que implementação desejada seja obtida Platform Applications Mapping Analysis Numbers
? ? ? Projetos Baseados em Plataforma: Desafios • Desafios • Seleção de plataformas • Ajuste da plataforma • Projeto de plataforma • Necessidades • Biblioteca de modelos de processadores, barramentos, memórias • Mecanismo de especificação de plataformas • Ambiente de simulação • Benchmarcks
Projetos Baseados em Plataforma: Desafios • Desafios • Selecionar plataforma • Ajuste da Plataforma • Projeto de plataforma • Necessidades • Mecanismos de especificação de componentes • Mecanismos de geração automática de simuladores • Geração de Ferramentas de compilação • Mecanismos de análise
Projetos Baseados em Plataforma: Desafios • Desafios • Selecionar plataforma • Ajuste da plataforma • Projeto de plataforma • Problemas • Biblioteca de IP-cores dos componentes validados • Ferramentas de síntese e simulação
Projeto baseado em Plataformas: Mercado Potencial Análise Desempenho ARM 7TDMI ARM 922T ARM 922T Cliente Mercado Potencial
Projeto baseado em Plataformas: Mercado Potencial Análise Consumo de Energia Xtensa LX Xtensa LX ARM 7TDMI Consome 2 vezes menos Cliente Mercado Potencial
Serviços Serviços Serviços Serviços Mercado Potencial: Oferecendo Soluções Aplicações de Processamento de Imagem Aplicações Eletrônicas de consumidor Future Digital Camera (Digital Still Cameras) CISCO CRS-1 (40Gbps) Próxima geração de produtos imagem Aplicações WDM, Sistemas de Transmissões Ópticos sonares, WCDMA Próxima geração de digital video camcoder
Ambiente Platform-Designer Especificação de plataformas Análise do desempenho de comunicação Análise do desempenho em memórias Análise do consumo de energia em memórias
Ambiente Platform-Designer Especificação de plataformas Analise do desempenho de comunicação Framework Analise do desempenho em memórias Analise do consumo de energia em memórias