Denna komplexitet poäng är tänkt att vara till nytta för verifiering att köra testplaner. Förhoppningsvis kan RTL designers använda detta verktyg som ett sätt att hantera konstruktion komplexitet och som en guide för att effektivt lära strukturen av befintliga konstruktioner.
HDL Komplexitet Tool är ett enkelt verktyg för att ge mätdata. Den drivande konceptet är att du inte kan kontrollera vad du inte kan mäta. Vi har för avsikt att använda befintliga forskning för att utveckla ett verktyg som presterar bra på en uppsättning av verkliga projekt.
Faktiska defekt data kommer att användas för att testa komplexitet som en teknik för att identifiera riskfyllda komponenter. Real design kommer att mätas för att avgöra vilka praktiska användningsområden för hct. I slutändan bör det här verktyget vara praktiskt användbar för alla att utforma och / eller kontrollera en komplex hårdvara projekt.
INSTALLATION
& Nbsp; 1. Hämta senaste källor från http://www.sourceforge.net/hct
& Nbsp; 2. Packa filerna till en katalog
& Nbsp; 3. Kör: perl ./install.pl i den katalogen
& Nbsp; ** Om du vill installera på en * nix låda hela systemet, kör som root
& Nbsp; 4. Följ installations instruktioner
design
Den HCT är ständigt förändras. Vi börjar med McCabe Cyclomatic komplexitet analys för att förstå filial komplexitet. Sedan vi förbättrar detta med mer sofistikerade komplexitet poäng som är kalibrerade med riktiga defekta data.
En bra bakgrund om detta finns. Se "Mätning av komplexitet HDL modeller" av Michael Shaefers. Efter att vi har några utdrag som vi använder som kriterier för HCT konstruktion.
Det finns några HDL komplexitetsfaktorer som definieras i det dokumentet:
- Storlek
- Kapsling
- Flödeskontroll
- Informationsflödet
- Hierarki
- Tätort
- Regelbundenhet
- Modularitet
- Koppling (av moduler eller instanser)
- Samtidighet
- Timing
I detta papper, är idén om psykologiska komplexitet HDL infördes och gemensamma aspekter samt skillnader i programvaran kontra hårdvara design komplexitet analyseras. Poängen är att en bra komplexitet poäng kommer att följa sex regler:
1. Åtgärden måste grunda sig på en formell grund
2. Åtgärden måste vara intuitiv
3. Modeller under utveckling måste vara mätbara
4. En strukturerad modell måste mätas som mindre komplicerad än en ostrukturerad version
5. Lägga till nya delar till modellen måste öka komplexiteten
6. Byte en del av modellen genom en mer komplex del måste öka komplexiteten
Det är sex höga mål när du börjar tänka på dem. Den transitivitet följer av dem kommer att bli svårt att uppnå. Men vi skjuter för detta och bör använda det som en ledstjärna.
Vi behöver användarna att korrelera med sin defekt historia att förfina våra försök. Iteration på en ren och enkel generisk tolkning och beräkning ram är nyckeln till effektiv iterativ design. Vi måste fokusera på mjukvaruarkitektur en elegans våra valda språket i genomförandet.
Slutmålet är att ordentligt gör det psykologiska komplexitet hårdvarublock i alla HDL och använda detta för att förutsäga defekta priser och schema risker
Vad är nytt i den här versionen.
- Den här versionen är helt omgjorda för precisa mätresultat McCabe Cyclomatic komplexitet, byte av kod, byte av kommentarer, olika förhållanden och ett rankingsystem som du kan använda för att förstå complexit av alla moduler i ett projekt.
- Det fungerar på både Verilog och Konjunkturberoende CDL och stöd kommandoraden och CSV utdataformat.
Krav :
- Perl
Kommentarer hittades inte