Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração

Detalhes bibliográficos
Autor(a) principal: Albertini, Bruno de Carvalho, 1980-
Data de Publicação: 2011
Tipo de documento: Tese
Idioma: por
Título da fonte: Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
Texto Completo: https://hdl.handle.net/20.500.12733/1617843
Resumo: Orientadores: Sandro Rigo, Guido Costa Souza de Araújo
id UNICAMP-30_c437660d8375a41917b1b177d5e43ab1
oai_identifier_str oai::862508
network_acronym_str UNICAMP-30
network_name_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository_id_str
spelling Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstraçãoAnalysis and verification support methodologies for high abstractions level platformsDepuração na computaçãoReflexão (Computação)Arquitetura de computadorHardware - Engenharia de sistemasDebugging in computer scienceReflection (Computer science)Computer architectureHardware - Systems engineeringOrientadores: Sandro Rigo, Guido Costa Souza de AraújoTese (doutorado) - Universidade Estadual de Campinas, Instituto de ComputaçãoResumo: A crescente complexidade das descrições de hardware em alto nível tem motivado a criação de metodologias de desenvolvimento por vários anos, sendo o mais recente nível de abstração representado pelo que é chamado de projeto Electronic System Level (ESL) e os projetos baseados em plataformas. Neste cenário, a exploração simultânea de diversos modelos arquiteturais, como os Systems-on-Chip (SoC), é a chave para se obter um bom balanceamento no particionamento hardware-software e melhorar o desempenho tanto do hardware quanto do software. Isto demanda uma infraestrutura de simulação de plataformas capaz de simular com rapidez, em um alto nível de abstração, tanto o software quanto o hardware. SystemC despontou como uma das linguagens de descrição mais adotadas e, juntamente com a modelagem em nível de transação (TLM, do inglês Transaction Level Modeling), vem sendo amplamente reconhecido como a técnica mais propícia para desenvolvimento em ESL. Uma das características mais marcantes de TLM é a possibilidade de reutilizar toda a infraestrutura da plataforma para a simulação de hardware e software [12]. A integração da verificação no fluxo de projeto é muito importante em uma metodologia baseada em TLM. Uma das técnicas de verificação mais conhecidas é a injeção de estímulos, usada para guiar a simulação para casos limite. Este tipo de funcionalidade é útil para aumentar a cobertura da verificação. As ferramentas disponíveis para descrições SystemC não permitem injeção de estímulos sem que o modelo seja alterado ou sem a utilização de um núcleo de simulação modificado para tal tarefa. Para a depuração, não temos notícia de nenhuma ferramenta de código aberto disponível, porém existem boas ferramentas comerciais preparadas especificamente para a depuração de modelos em SystemC. Nesta tese são propostas três metodologias para melhorar a capacidade de introspecção, depuração e análise de modelos de hardware descritos em alto nível de abstração. A primeira delas é composta por uma metodologia de reflexão computacional aplicável a módulos SystemC através da inserção de módulos de inspeção, que chamamos de ReFlexBox. A segunda técnica desenvolvida foi chamada de SignalReplay, e representa uma evolução da primeira técnica voltada para a captura, análise e injeção dos dados coletados pela reflexão. A última metodologia proposta, chamada de PDFA (do inglês, Platform Dataflow Analysis) visa extrair metadados através da reflexão de tipos sobrecarregados, permitindo que o projetista aplique técnicas de compiladores para a análise de hardware. Os resultados obtidos são apresentados como experimentos, implementados na forma de estudos de caso. Estes experimentos permitiram avaliar a eficácia das técnicas propostas que, ao contrário de trabalhos correlatos, aderem a seis princípios que consideramos fundamentais: (1) não são intrusivas em relação as modificações no modelo que podem ser necessárias para implementar a introspecção; (2) não necessitam de modificações no ambiente de simulação, compiladores ou bibliotecas, incluindo nossa linguagem alvo: SystemC; (3) geram uma sobrecarga pequena no tempo de simulação; (4) proveem observabilidade e controlabilidade; (5) são extensíveis, permitindo a adaptação para utilização em trabalhos similares, com pouca ou nenhuma modificação nas metodologias; e (6) protegem a propriedade intelectual do módulo sob verificaçãoAbstract: The increasing complexity of high level hardware descriptions has motivated the creation of development methodologies for several years, being the most recent level of abstraction represented by projects based on platforms and on the so called Electronic System Level design (ESL). In this scenario, simultaneously exploring different architectural models, like Systems-on-Chip (SoC), is the key to achieve a good balance on hardware-software partitioning and improve performance of both hardware and software. This requires a platform simulation infrastructure able to simulate at high speeds and high level of abstraction, both software and hardware. SystemC emerged as one of the most widely adopted description languages and, when used with the Transaction Level Modeling (TLM), has been widely recognized as the most suitable for ESL development. One of the most striking features of TLM is the possibility to reuse all the infrastructure platform for the simulation of hardware and software [12]. Integration of the verification into design flow is a key point in a TLM-based methodology. One well-known verification technique is the injection stimuli, used to guide the simulation to borderline states. This kind of functionality is useful to increase the coverage of the verification. The tools currently available for SystemC descriptions do not allow stimuli injection without model modifications, or without the use of a modified SystemC simulation core specially crafted for this task. We could not find any open source tool for debugging, but there are good commercial tools specifically prepared to SystemC model debugging. This thesis proposes three methodologies focused on improving the support for introspection, debug, and analysis of hardware models described in high abstraction level. First one is a methodology using computational reflection, applicable to SystemC descriptions by inserting inspection modules, that we call ReflexBoxes. The second technique is called SignalReplay, an evolution of the first technique focused on the capture, injection, and analysis of data collected by reflection. The last proposed methodology, called Platform Dataflow Analysis (PDFA), aims on the metadata extraction through overloaded type reflection, allowing the designer to use compiler techniques for hardware analysis. The results are presented as experiments, implemented as case studies. These experiments allowed us to evaluate the effectiveness of the proposed techniques that, unlike related work, adhere to what we consider six fundamental principles: (1) are not intrusive regarding any model modifications that may be necessary to implement introspection; (2) do not require any change in simulation environment, compilers, or libraries, including our target language: SystemC; (3) generate minimal overhead in simulation time; (4) provide observability and controllability; (5) are extensible, allowing the adaptation for use in similar work with little or no change in the methodology; and (6) protect the intellectual property of the module under verificationDoutoradoCiência da ComputaçãoDoutor em Ciência da Computação[s.n.]Rigo, Sandro, 1975-Araújo, Guido Costa Souza de, 1962-Azevedo, Rodolfo Jardim deCentoducatte, Paulo CesarSantos, Luiz Claudio Villar dosCalazans, Ney Laert VilarUniversidade Estadual de Campinas (UNICAMP). Instituto de ComputaçãoPrograma de Pós-Graduação em Ciência da ComputaçãoUNIVERSIDADE ESTADUAL DE CAMPINASAlbertini, Bruno de Carvalho, 1980-20112011-06-10T00:00:00Zinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/doctoralThesisapplication/pdf68 f. : il.https://hdl.handle.net/20.500.12733/1617843ALBERTINI, Bruno de Carvalho. Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração. 2011. 68 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1617843. Acesso em: 3 set. 2024.https://repositorio.unicamp.br/acervo/detalhe/862508porreponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)instname:Universidade Estadual de Campinas (UNICAMP)instacron:UNICAMPinfo:eu-repo/semantics/openAccess2017-08-29T11:07:16Zoai::862508Biblioteca Digital de Teses e DissertaçõesPUBhttp://repositorio.unicamp.br/oai/tese/oai.aspsbubd@unicamp.bropendoar:2017-08-29T11:07:16Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)false
dc.title.none.fl_str_mv Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
Analysis and verification support methodologies for high abstractions level platforms
title Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
spellingShingle Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
Albertini, Bruno de Carvalho, 1980-
Depuração na computação
Reflexão (Computação)
Arquitetura de computador
Hardware - Engenharia de sistemas
Debugging in computer science
Reflection (Computer science)
Computer architecture
Hardware - Systems engineering
title_short Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
title_full Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
title_fullStr Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
title_full_unstemmed Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
title_sort Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração
author Albertini, Bruno de Carvalho, 1980-
author_facet Albertini, Bruno de Carvalho, 1980-
author_role author
dc.contributor.none.fl_str_mv Rigo, Sandro, 1975-
Araújo, Guido Costa Souza de, 1962-
Azevedo, Rodolfo Jardim de
Centoducatte, Paulo Cesar
Santos, Luiz Claudio Villar dos
Calazans, Ney Laert Vilar
Universidade Estadual de Campinas (UNICAMP). Instituto de Computação
Programa de Pós-Graduação em Ciência da Computação
UNIVERSIDADE ESTADUAL DE CAMPINAS
dc.contributor.author.fl_str_mv Albertini, Bruno de Carvalho, 1980-
dc.subject.por.fl_str_mv Depuração na computação
Reflexão (Computação)
Arquitetura de computador
Hardware - Engenharia de sistemas
Debugging in computer science
Reflection (Computer science)
Computer architecture
Hardware - Systems engineering
topic Depuração na computação
Reflexão (Computação)
Arquitetura de computador
Hardware - Engenharia de sistemas
Debugging in computer science
Reflection (Computer science)
Computer architecture
Hardware - Systems engineering
description Orientadores: Sandro Rigo, Guido Costa Souza de Araújo
publishDate 2011
dc.date.none.fl_str_mv 2011
2011-06-10T00:00:00Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/doctoralThesis
format doctoralThesis
status_str publishedVersion
dc.identifier.uri.fl_str_mv https://hdl.handle.net/20.500.12733/1617843
ALBERTINI, Bruno de Carvalho. Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração. 2011. 68 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1617843. Acesso em: 3 set. 2024.
url https://hdl.handle.net/20.500.12733/1617843
identifier_str_mv ALBERTINI, Bruno de Carvalho. Metodologias de suporte a verificação e análise de modelos de plataformas em alto nível de abstração. 2011. 68 f. Tese (doutorado) - Universidade Estadual de Campinas, Instituto de Computação, Campinas, SP. Disponível em: https://hdl.handle.net/20.500.12733/1617843. Acesso em: 3 set. 2024.
dc.language.iso.fl_str_mv por
language por
dc.relation.none.fl_str_mv https://repositorio.unicamp.br/acervo/detalhe/862508
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.format.none.fl_str_mv application/pdf
68 f. : il.
dc.publisher.none.fl_str_mv [s.n.]
publisher.none.fl_str_mv [s.n.]
dc.source.none.fl_str_mv reponame:Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
instname:Universidade Estadual de Campinas (UNICAMP)
instacron:UNICAMP
instname_str Universidade Estadual de Campinas (UNICAMP)
instacron_str UNICAMP
institution UNICAMP
reponame_str Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
collection Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP)
repository.name.fl_str_mv Biblioteca Digital de Teses e Dissertações da Universidade Estadual de Campinas (UNICAMP) - Universidade Estadual de Campinas (UNICAMP)
repository.mail.fl_str_mv sbubd@unicamp.br
_version_ 1809189077603319808