Download de presentatie
De presentatie wordt gedownload. Even geduld aub
GepubliceerdPatricia Peters Laatst gewijzigd meer dan 10 jaar geleden
1
Ontwerpen van Digitale Systemen
Product-ontwikkeling stadia Fase in ontwerptraject Abstract Systeem nivo System on Chip (SoC) Digitaal Specificatie Functionele eisen Randvoorwaarden Beschrijvingstaal Pseudocode C, UML, VHDL, Statemachines Formele beschrijvingen, Algoritmes, Gedragsbeschrijving, Dataflow constructies, VHDL Architectuur Opsplitsen in subsystemen Opsplitsen in HW, SW, CPU, FPGA, CPLD, Standard logic componenten Opsplitsen in databewerkingen en stuursignalen, control unit en datapad. Strategieën Implementatie Realiseren, testen Integreren van realisaties, integratietesten Realisatie volgens RTL ontwikkelflow (sheet 2). Backannotation: toevoegen van bedradingscapaciteiten, gedissipeerd vermogen, etc. aan simultiemodel. analyse
2
Analyse: voor al uw oplossingen!
Hoofdzakelijk op de overgang van de specificatiefase naar architectuurfase waarin geschikte algoritmes, zinvolle oplossingen bedacht worden. Soms wordt dit als een aparte ontwerpfase gezien maar in de praktijk zal er in iedere stap in het ontwerptraject geanalyseerd worden. Opstellen specificatie Stel je wilt een product bouwen op basis van programmeerbare bouwstenen (FPGA) dan kan tijdens de implementatie blijken dat het ontwerp niet in de beschikbare bouwstenen past. Meer bouwstenen maken het product te duur. Door de timingeisen iets te versoepelen past het ontwerp wel, maar de specificatie van het product wordt afgezwakt. analyse specificatie Architectuur definitie Implementatie (Integratie) Testen
3
Specificatie fase • Functioneel gedrag: een beschrijving wat het systeem moet doen. • Performance: bitsnelheid, capaciteit, nauwkeurigheid, vermogensdissipatie, grootte, etc. • Omgevingsaspecten: temperatuur, vochtigheid, trillingen, EMC, etc. • Ergonomsiche aspecten: bediening, onderhoud, vormgeving, gewicht, etc. • Toekomstvisie: opties, uitbreidingen, etc. • Kosten en planning: kostprijs, time to market, etc. • Testprocedure: productietest, veldtest, etc.
4
Formaliseren van de functionele specificatie
Onjuiste of onvolledige specificatie leidt tot problemen in een later stadium in het ontwerptraject, gevolgen zijn kostbaar: Specificatie architectuur implementatie productie markt tijd Aantal gemaakte fouten Kosten die nodig zijn om fout te herstellen Formaliseren van de functionele specificatie: eenduidig vastleggen van de specificatie dmv een formele taal als VHDL.
5
VHDL ontwerpstijlen Het gebruik van afhankelijke signaaltoewijzingen.
Het verschil tussen een SIGNAL en VARIABLE (<= en :=) Flankgestuurde elementen, Flipflop.
6
Gedrag van invertor(s)
Concurrent (direct tussen BEGIN en END van de VHDL architectuur) beschreven. Afhankelijke toewijzingen ENTITY invertor_gedrag3 IS PORT ( a : in STD_LOGIC; f3 : out STD_LOGIC); END invertor_gedrag3; ARCHITECTURE Behavioral OF invertor_gedrag3 IS SIGNAL b : STD_LOGIC; BEGIN PROCESS(a) b <= NOT a; f3 <= NOT b; END PROCESS END Behavioral; ENTITY invertor_gedrag1 IS PORT ( a : in STD_LOGIC; f1 : out STD_LOGIC); END invertor_gedrag1; ARCHITECTURE Behavioral OF invertor_gedrag1 IS BEGIN f1 <= NOT a; END Behavioral; ENTITY invertor_gedrag2 IS PORT ( a : in STD_LOGIC; f2 : out STD_LOGIC); END invertor_gedrag2; ARCHITECTURE Behavioral OF invertor_gedrag2 IS BEGIN PROCESS(a) f2 <= NOT a; END PROCESS END Behavioral; BUFFER?! Gedrag 3 is niet juist dus is de gedrag 2 ook een Liever Niet beschrijving.
7
Synthese verloopt ook afhankelijk van tool. BUFFER
ENTITY invertor_gedrag5 IS PORT ( a : in STD_LOGIC; f4 : out STD_LOGIC); END invertor_gedrag5; ARCHITECTURE Behavioral OF invertor_gedrag5 IS VARIABLE b3 : STD_LOGIC; BEGIN PROCESS(a) b3 := NOT a; f4 <= NOT b3; END PROCESS END Behavioral; Voor goede simulatie: moet sensitivitylist aangepast worden (zie 4) of beter: gebruik een variabele (zie 5). Afhankelijke signaaltoewijzingen binnen processen geven dus vreemd gedrag Synthese verloopt ook afhankelijk van tool. BUFFER ENTITY invertor_gedrag4 IS PORT ( a : in STD_LOGIC; f4 : out STD_LOGIC); END invertor_gedrag4; ARCHITECTURE Behavioral OF invertor_gedrag4 IS SIGNAL b2 : STD_LOGIC; BEGIN PROCESS(a,b2) b2 <= NOT a; f4 <= NOT b2; END PROCESS END Behavioral; BUFFER Gedrag 4 is functioneel juist maar vreemd: b2 is een intern signaal en moet op de sensitivitylist staan.
8
SAMENGEVAT: WEL NIET WEL LIEVER NIET
Let op met afhankelijke signaaltoewijzingen binnen het PROCESS statement. Fouten zitten niet in de toewijzingen van (<= en :=) maar in het verkeerd gebruik van het PROCESS statement. Synthese resultaat hoeft niet hetzelfde te zijn als het simulatieresultaat. WEL NIET WEL LIEVER NIET
Verwante presentaties
© 2024 SlidePlayer.nl Inc.
All rights reserved.