Servus,
in einem anderen thread wurde am Beispiel FSM-Erstellung die These aufgestellt, das sich dies zwischen FPGA und µC-Spezialisten unterscheidet:
Meistens Autodidakten, die aus der C-Ecke kommen und von Elektronik nichts verstehen. Digitaltechnik haben sie nicht erlernt, kennen die Mechanismen nicht und programmieren state machines. Dann arbeiten sie viel mit Code-Generatoren und wundern sich, ...
(siehe: Beitrag "Re: Projektverzug und Bugdichte in der FPGA-Entwicklung")
Ich hab da mal ein paar Fragen aufgestellt, um heraus zu loten, wo ob einer eher ein allgemeiner FSM-Kenner ist, mit C-Programmierung desselben Erfahrung hat oder ein FPGA-Experte ist.
Sicher ist diese Auswahl sehr subjektiv, mal zu detailiert, an anderer Stelle werden Teile des Know/Hows nicht getestet, dessen Fehlen erst später zu "bösen Erwachen" führt. Da kann diese Auflistung sicher ergänzt respektive verfeinert werden:
Fragen FSM Design allgemein:
- Was ist mealy/Moore
- was ist ein Sackgassen-Zustand
- Was ist ein unerreichbarer state
- wie dokumentiert man eine FSM (Automatengraph, Zustand, Transition, * Transitionbedingung, output)
- wie macht man eine FSM robust?
- was bedeutet "Lebendigkeit" im Zusammenhang mit FSM
Fragen Schwerpunkt (embeddded) programmierer:
- was ist Enumeration/Aufzählungstyp ?
- wie organisiert den Sourcecode einer FSM damit es übersichlich bleibt (header, funktional) ?
- wie organisiet man eine wartbare (leicht anpassbaer) FSM
- Gibt es ein LoC-Limit für FSM
- testunit für FSM
- wie spaghetti ist fsm
- switch case break
- was schreibt man in default:
- code style/lint für FSM
- typische Fehler die man bei FSM gemacht hat/kennt
- Welche Testabdeckung (test coverage) kann man wie erreichen ?
Fragen bzgl. FPGA-Aspekte:
*(VHDL) Ein oder zwei process Darstellung
- Anzahl states bezüglich schaltgeschwindigkeit
- Statcodierung ONE-HOT versus binary versus GRAY Vor-, Nachteile, Möglichkeit. *P robleme beim (asynchronen) reset
- warum states beim Debugging (nach Synthese/Implementierung) nicht mehr sichtbar
- was bedeutet fully encoded
- implementierungsunterschiede FF-FSM versus RAM-FSM
- VHDL: syntax gepulste signale (nur einen Takt lang aktiv)
- Auswirkungen single event upset auf FSM, wie gegenmassnahmen. sind die designprizipien für Zähler/counter auf FSM übertragbar.
- wenn ein LFSR die scnellste Implementierung für einen Zähler ist, kann man mit LSFR besonders schnelle FSM bauen ?
- wie macht man eine FPGA-FSM schneller? (schnell meint hier eine kürzeres period constraints setzen zu können.
- was verlangsamt eine FPGA-FSM (bei gleichen Ablauf), was nicht
- was macht ein FSM größer (mehr Logikelemente)