Monitoração dinâmica de asserções para depuração em silício

=== The increasing demand for shorter time-to-market, combined with increased complexity and performance requirements put a tremendous pressure on post-silicon debug, which is usually the last step prior to chip release. In contrast to pre-silicon techniques, postsilicon debug have two main limitat...

Full description

Bibliographic Details
Main Author: Celina Gomes do Val
Other Authors: Claudionor Jose Nunes Coelho Junior
Format: Others
Language:English
Published: Universidade Federal de Minas Gerais 2011
Online Access:http://hdl.handle.net/1843/SLSS-8KKR3X
id ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-SLSS-8KKR3X
record_format oai_dc
collection NDLTD
language English
format Others
sources NDLTD
description === The increasing demand for shorter time-to-market, combined with increased complexity and performance requirements put a tremendous pressure on post-silicon debug, which is usually the last step prior to chip release. In contrast to pre-silicon techniques, postsilicon debug have two main limitations, controllability and observability, which cause the failure analysis and identification to require significantly more efiort. Post-silicon debug is thus becoming a potential bottleneck in productivity and cost. Therefore it is emerging as one of the most important topics for research and the EDA industry. In this thesis, we present a novel technique to improve observability of circuits during post-silicon debug, where the choice of signals to be monitored is done accordingly to a failure detected. This technique requires an on-chip module to control signal selection, as well as an ofi-chip system to correctly integrate the debug architecture with the target circuit. The on-chip architecture employs a scan-chain to identify any assertion failure and a trace bufier to store the state of a limited set of internal signals. A design for debug module was then developed to integrate the identification of the assertion that has failed, acquired by the scan-chain, to a system that chooses which signals must be captured by the trace bufier in the next execution. One important aspect of the system is the correlation between the signals chosen to be captured and the assertion that has failed. Connection software was developed to do this selection in an early stage of development, before tape-out. This software implements the signal selection based on the cone of infiuence (COI) of the embedded assertions and it is also capable of gathering the assertions in clusters. Besides that, the developed software generates new register transfer level (RTL) code for the circuit under debug, including all the design for debug logic and the connections necessary to its proper functioning.The proposed architecture was tested using a MIPS32 based processor with 40 assertions. This case study is presented to illustrate the eficiency of our rchitecture. The entire debug fiow is reproduced, from design integration, then going through the bug detection and finally the extraction of relevant data to reproduce the error using a design verification tool. Furthermore, a separate study was done to analyze the method proposed for signal selection and it included the analysis of two more designs. The on-chip architecture had no impact over chip performance and the area overhead was minimum, thus it could be employed to post-silicon debug without any major impact. Additionally, the system was capable of extracting relevant data for the creation of lighthouses which were used to produce failing scenarios using a formal verification tool. On the other hand the signal selection based only on the cone of infiuence of the assertions was not sensitive enough to decrease the area of the chip to be analyzed. In more complex systems, the connection between the internal components of the designs analyzed were too high, resulting in cones of infiuence similar to the entire circuit and also between all properties. A second approach was then suggested considering the hierarchical position of signals in the cone of infiuence of each property. Although the signals of the COI sets are almost the same, the distance and the path to an assertion checker define the hierarchical configuration of its COI. The tests performed demonstrated that the second approach is a promising technique for selecting which areas of the chip should be observed according to an assertion failure. However, that approach still relies on the validation engineer knowledge of the system in addition to the development process, so it can be properly configured. In order to automate this process, more research should be done to refine the selection of which hierarchical instances should be considered for the signal selection. === A crescente demanda de mercado combinada ao aumento da complexidade e performance dos designs atuais resultam em uma grande pressão sobre a depuração de silício, que é a última fase de desenvolvimento de um circuito integrado. Ao contrário das técnicas de validação pré-silício, a depuração em silício possui duas grandes limitações: a falta de controlabilidade e a baixa visibilidade. Com isso, esta requere um esforço muito maior para a identificação da causa de um erro. Portanto, a depuração em silício tem se tornado um gargalo na produção e custo de novos circuitos integrados e, por isso, tem sido considerada um tópico de interesse emergente para pesquisadores, bem como para a indústria de eletrônica. O presente trabalho propõe uma nova técnica para melhorar a visibilidade interna dos circuitos durante a depuração em silício, na qual os sinais a serem observados são escolhidos dinamicamente de acordo com alguma falha identificada. Para isso, desenvolveu-se uma arquitetura embutida de depuração para controlar a seleção de sinais, assim como um software para integrar essa arquitetura com o circuito alvo. A arquitetura embutida é composta por um módulo de depuração, que controla uma cadeia de asserções para identificação de falhas, bem como uma memória interna para captura dos sinais. De acordo com a falha identificada, um grupo específico de sinais deve ser capturado. A determinação dos sinais que compõem cada grupo deve ser feita antes da produção do circuito. Para isso, desenvolveu-se um software capaz de selecionar sinais relevantes a uma asserção, sendo a escolha baseada em seu cone de influência (cone of influence ou COI). Este software também é capaz de agrupar as asserções de acordo com a semelhança entre seus COIs. Com isso, o programa gera um novo código para o circuito alvo, incluindo o módulo de depuração bem como as conexões necessárias para o seu funcionamento. A fim de se testar a arquitetura proposta, foi realizado um estudo de caso com um processador baseado na arquitetura MIPS32 com 40 asserções embutidas. O estudo de caso permitiu avaliar a eficiência do sistema proposto, bem como reproduzir o fluxo completo de depuração. Um segundo teste englobando outros dois designs foi realizado com o intuito de analisar o algoritmo de seleção de sinais baseado em cones de influência. A adição da arquitetura de depuração desenvolvida não impactou a performance do circuito, além disso, a área necessária para sua inclusão foi pequena. Isso atesta a viabilidade do uso do sistema embutido para depuração, já que não houve um impacto significativo. Além disso, o módulo de depuração foi capaz de capturar os dados necessários para a reprodução do erro por uma ferramenta de verificação formal. Entretanto, o método proposto para seleção de sinais baseado no cone de influência das asserções se mostrou ineficiente, não havendo grande diferença entre o conjunto de sinais que compõe o cone de influência das propriedades. Isso se deve ao fato dos circuitos atuais, em sua grande maioria, possuírem uma complexidade muito grande, sendo que seus componentes se encontram muito interligados entre si. Visto a dificuldade encontrada, um segundo método para seleção de sinais foi proposto e implementado. Este se baseia não somente no conjunto de sinais que compõe o cone de influência, mas também na hierarquia existente no COI. Por sua vez, essa segunda alternativa se mostrou muito mais promissora e capaz de empregar um foco maior em certas áreas do design que, provavelmente, são mais relevantes para a análise de cada propriedade. Apesar disso, uma melhor investigação deve ser feita a fim de se refinar o resultado dessa técnica, fazendo com que a mesma seja menos dependente do conhecimento do engenheiro quanto à estrutura do circuito, bem como seu processo de desenvolvimento e teste.
author2 Claudionor Jose Nunes Coelho Junior
author_facet Claudionor Jose Nunes Coelho Junior
Celina Gomes do Val
author Celina Gomes do Val
spellingShingle Celina Gomes do Val
Monitoração dinâmica de asserções para depuração em silício
author_sort Celina Gomes do Val
title Monitoração dinâmica de asserções para depuração em silício
title_short Monitoração dinâmica de asserções para depuração em silício
title_full Monitoração dinâmica de asserções para depuração em silício
title_fullStr Monitoração dinâmica de asserções para depuração em silício
title_full_unstemmed Monitoração dinâmica de asserções para depuração em silício
title_sort monitoração dinâmica de asserções para depuração em silício
publisher Universidade Federal de Minas Gerais
publishDate 2011
url http://hdl.handle.net/1843/SLSS-8KKR3X
work_keys_str_mv AT celinagomesdoval monitoracaodinamicadeassercoesparadepuracaoemsilicio
_version_ 1718844029359095808
spelling ndltd-IBICT-oai-bibliotecadigital.ufmg.br-MTD2BR-SLSS-8KKR3X2019-01-21T17:53:22Z Monitoração dinâmica de asserções para depuração em silício Celina Gomes do Val Claudionor Jose Nunes Coelho Junior Antonio Otavio Fernandes Diogenes Cecilio da Silva Junior Andréa Iabrudi Tavares. The increasing demand for shorter time-to-market, combined with increased complexity and performance requirements put a tremendous pressure on post-silicon debug, which is usually the last step prior to chip release. In contrast to pre-silicon techniques, postsilicon debug have two main limitations, controllability and observability, which cause the failure analysis and identification to require significantly more efiort. Post-silicon debug is thus becoming a potential bottleneck in productivity and cost. Therefore it is emerging as one of the most important topics for research and the EDA industry. In this thesis, we present a novel technique to improve observability of circuits during post-silicon debug, where the choice of signals to be monitored is done accordingly to a failure detected. This technique requires an on-chip module to control signal selection, as well as an ofi-chip system to correctly integrate the debug architecture with the target circuit. The on-chip architecture employs a scan-chain to identify any assertion failure and a trace bufier to store the state of a limited set of internal signals. A design for debug module was then developed to integrate the identification of the assertion that has failed, acquired by the scan-chain, to a system that chooses which signals must be captured by the trace bufier in the next execution. One important aspect of the system is the correlation between the signals chosen to be captured and the assertion that has failed. Connection software was developed to do this selection in an early stage of development, before tape-out. This software implements the signal selection based on the cone of infiuence (COI) of the embedded assertions and it is also capable of gathering the assertions in clusters. Besides that, the developed software generates new register transfer level (RTL) code for the circuit under debug, including all the design for debug logic and the connections necessary to its proper functioning.The proposed architecture was tested using a MIPS32 based processor with 40 assertions. This case study is presented to illustrate the eficiency of our rchitecture. The entire debug fiow is reproduced, from design integration, then going through the bug detection and finally the extraction of relevant data to reproduce the error using a design verification tool. Furthermore, a separate study was done to analyze the method proposed for signal selection and it included the analysis of two more designs. The on-chip architecture had no impact over chip performance and the area overhead was minimum, thus it could be employed to post-silicon debug without any major impact. Additionally, the system was capable of extracting relevant data for the creation of lighthouses which were used to produce failing scenarios using a formal verification tool. On the other hand the signal selection based only on the cone of infiuence of the assertions was not sensitive enough to decrease the area of the chip to be analyzed. In more complex systems, the connection between the internal components of the designs analyzed were too high, resulting in cones of infiuence similar to the entire circuit and also between all properties. A second approach was then suggested considering the hierarchical position of signals in the cone of infiuence of each property. Although the signals of the COI sets are almost the same, the distance and the path to an assertion checker define the hierarchical configuration of its COI. The tests performed demonstrated that the second approach is a promising technique for selecting which areas of the chip should be observed according to an assertion failure. However, that approach still relies on the validation engineer knowledge of the system in addition to the development process, so it can be properly configured. In order to automate this process, more research should be done to refine the selection of which hierarchical instances should be considered for the signal selection. A crescente demanda de mercado combinada ao aumento da complexidade e performance dos designs atuais resultam em uma grande pressão sobre a depuração de silício, que é a última fase de desenvolvimento de um circuito integrado. Ao contrário das técnicas de validação pré-silício, a depuração em silício possui duas grandes limitações: a falta de controlabilidade e a baixa visibilidade. Com isso, esta requere um esforço muito maior para a identificação da causa de um erro. Portanto, a depuração em silício tem se tornado um gargalo na produção e custo de novos circuitos integrados e, por isso, tem sido considerada um tópico de interesse emergente para pesquisadores, bem como para a indústria de eletrônica. O presente trabalho propõe uma nova técnica para melhorar a visibilidade interna dos circuitos durante a depuração em silício, na qual os sinais a serem observados são escolhidos dinamicamente de acordo com alguma falha identificada. Para isso, desenvolveu-se uma arquitetura embutida de depuração para controlar a seleção de sinais, assim como um software para integrar essa arquitetura com o circuito alvo. A arquitetura embutida é composta por um módulo de depuração, que controla uma cadeia de asserções para identificação de falhas, bem como uma memória interna para captura dos sinais. De acordo com a falha identificada, um grupo específico de sinais deve ser capturado. A determinação dos sinais que compõem cada grupo deve ser feita antes da produção do circuito. Para isso, desenvolveu-se um software capaz de selecionar sinais relevantes a uma asserção, sendo a escolha baseada em seu cone de influência (cone of influence ou COI). Este software também é capaz de agrupar as asserções de acordo com a semelhança entre seus COIs. Com isso, o programa gera um novo código para o circuito alvo, incluindo o módulo de depuração bem como as conexões necessárias para o seu funcionamento. A fim de se testar a arquitetura proposta, foi realizado um estudo de caso com um processador baseado na arquitetura MIPS32 com 40 asserções embutidas. O estudo de caso permitiu avaliar a eficiência do sistema proposto, bem como reproduzir o fluxo completo de depuração. Um segundo teste englobando outros dois designs foi realizado com o intuito de analisar o algoritmo de seleção de sinais baseado em cones de influência. A adição da arquitetura de depuração desenvolvida não impactou a performance do circuito, além disso, a área necessária para sua inclusão foi pequena. Isso atesta a viabilidade do uso do sistema embutido para depuração, já que não houve um impacto significativo. Além disso, o módulo de depuração foi capaz de capturar os dados necessários para a reprodução do erro por uma ferramenta de verificação formal. Entretanto, o método proposto para seleção de sinais baseado no cone de influência das asserções se mostrou ineficiente, não havendo grande diferença entre o conjunto de sinais que compõe o cone de influência das propriedades. Isso se deve ao fato dos circuitos atuais, em sua grande maioria, possuírem uma complexidade muito grande, sendo que seus componentes se encontram muito interligados entre si. Visto a dificuldade encontrada, um segundo método para seleção de sinais foi proposto e implementado. Este se baseia não somente no conjunto de sinais que compõe o cone de influência, mas também na hierarquia existente no COI. Por sua vez, essa segunda alternativa se mostrou muito mais promissora e capaz de empregar um foco maior em certas áreas do design que, provavelmente, são mais relevantes para a análise de cada propriedade. Apesar disso, uma melhor investigação deve ser feita a fim de se refinar o resultado dessa técnica, fazendo com que a mesma seja menos dependente do conhecimento do engenheiro quanto à estrutura do circuito, bem como seu processo de desenvolvimento e teste. 2011-08-08 info:eu-repo/semantics/publishedVersion info:eu-repo/semantics/masterThesis http://hdl.handle.net/1843/SLSS-8KKR3X eng info:eu-repo/semantics/openAccess text/html Universidade Federal de Minas Gerais 32001010004P6 - CIÊNCIA DA COMPUTAÇÃO UFMG BR reponame:Biblioteca Digital de Teses e Dissertações da UFMG instname:Universidade Federal de Minas Gerais instacron:UFMG