Esta pontuação complexidade pretende ser útil para verificação de conduzir os planos de teste. Felizmente, os designers RTL pode usar esta ferramenta como uma forma de gerenciar a complexidade do projeto e como um guia para aprender de forma eficiente a estrutura de modelos existentes.
A complexidade da ferramenta HDL é uma ferramenta simples para fornecer dados de medição. O conceito de condução é que você não pode controlar o que você não pode medir. Temos a intenção de usar a pesquisa existente para desenvolver uma ferramenta que funciona bem em um conjunto de projetos reais.
Dados de defeito real será usado para testar a complexidade como uma técnica para identificar componentes de risco. Projetos reais será medido para determinar quais são os usos práticos da HCT. No final, essa ferramenta deve ser praticamente útil para qualquer pessoa projetar e / ou verificação de um projecto de hardware complexo.
INSTALAÇÃO
& Nbsp; 1. Baixe últimas fontes de http://www.sourceforge.net/hct
& Nbsp; 2. Descompacte os arquivos em um diretório
& Nbsp; 3. Execute: perl ./install.pl nesse diretório
& Nbsp; ** Se você quiser instalar em um sistema * nix caixa de largura, por favor, execute como root
& Nbsp; 4. Siga as instruções do instalador
DESIGN
O HCT está em constante evolução. Estamos começando com a análise McCabe Cyclomatic Complexidade para compreender a complexidade ramo. Então estamos melhorando isso com escores de complexidade mais sofisticados que são calibrados com dados de defeito real.
Um bom fundo neste está disponível. Por favor, consulte a seção "Medindo a Complexidade da HDL Models", de Michael Shaefers. A seguir temos alguns trechos que usamos como critérios de projeto para HCT.
Existem alguns fatores de complexidade de HDL que são definidos nesse documento:
- Tamanho
- Nidificação
- Fluxo de controle
- Fluxo de informação
- Hierarquia
- Localidade
- Regularidade
- Modularidade
- Acoplamento (de módulos ou instâncias)
- Simultaneidade
- Momento
Nesse papel, a idéia de complexidade psicológica de HDL é introduzido e os aspectos comuns, bem como as diferenças de hardware o software contra a complexidade do projeto são analisados. O ponto é que uma boa pontuação de complexidade vai aderir a seis regras:
1. A medida tem que ser baseada em uma fundação formal de
2. A medida tem que ser intuitivo
3. Modelos em desenvolvimento têm de ser mensuráveis
4. Um modelo estruturado tem que ser medido como menos complexos do que uma versão não-estruturados
5. A adição de novas peças para o modelo tem de aumentar a complexidade
6. Substituindo uma parte do modelo por uma parte mais complexa tem de aumentar a complexidade
Essas são seis metas elevadas quando você começa a pensar sobre elas. A transitividade implícita por eles vai ser difícil de alcançar. No entanto, estamos filmando para isso e deve usá-lo como uma luz.
Vamos precisar de usuários para correlacionar com a sua história defeito para refinar nossas tentativas. Iteração sobre um quadro de análise e cálculo genérico pura e simples é a chave para o design iterativo eficaz. Temos de concentrar-se na arquitetura de software a elegância do nosso idioma escolhido de implementação.
O objetivo final é para marcar adequadamente a complexidade psicológica de blocos de hardware em qualquer HDL e usar isso para prever as taxas de defeitos e riscos da programação
O que é novo nesta versão:.
- Esta versão é totalmente redesenhado para resultados precisos de medição complexidade McCabe Cyclomatic, bytes de código, bytes de comentários, diversas proporções e um sistema de ranking que você pode usar para entender o complexit de todos os módulos no um projeto.
- Ele funciona tanto Verilog e ciclicidade CDL e apoio de linha de comando e formatos de saída CSV.
Requisitos :
- Perl
Comentários não encontrado