1-- Literatur: HSSE VHDL Style EDS2 von Markus Pfaff (FH-Hagenberg)
2
3-- Dateinamen
4 -- entity ... <e.id>-e.vhd
5 -- architecture ... <e.id>-<a.id>-a.vhd
6 -- entity & architecture ... <e.id>-<a.id>-ea.vhd
7 -- configuration ... <e.id>-<a.id>-<c.id>-c.vhd
8 -- entity & architecture & configuration ... <e.id>-<a.id>-<c.id>-eac.vhd
9 -- package header ... <package.id>-h.vhd
10 -- package body ... <package.id>-b.vhd
11 -- package header & body ... <package.id>-p.vhd
12
13
14-- Header
15 -----------------------------------------------------------------------
16 -- Title : xxx
17 -- Project : xxx
18 -----------------------------------------------------------------------
19 -- Abstract:
20 -- xxx
21 -----------------------------------------------------------------------
22 -- Company : xxx (FH-Hagenberg/HSSE, Hagenberg/Austria)
23 -- Copyright (c)
24 -----------------------------------------------------------------------
25 -- Author: xxx
26 -- Revision: xxx
27 -- Date: xxx
28 -----------------------------------------------------------------------
29
30
31-- Kommentare
32 -- moeglichst auf Englisch verfassen
33 -- vor der Codezeile, da daneben meistens kein Platz
34
35
36-- Namenskonvention
37 -- Gemischte Gross-/Kleinschreibung:
38 -- StrobeBaudRate, SystemClk, AsyncGlobalReset
39 -- oder
40 -- Kleinschreibung mit underscores:
41 -- strobe_baud_rate, system_clk, async_global_reset
42
43 -- input port i iClk clk_i
44 -- output port o oReqDataPar req_data_par_o
45 -- bidirectional port b bParData par_data_b
46 -- signal keines BaudRateCtr baud_rate_ctr
47 -- constant c cActivated activated_c
48 -- generic g gBaudRate baud_rate_g
49 -- variable v vFraction fraction_v
50 -- type a, t aSignedByte SignedByte_t
51 -- file File BmpDryFile BmpDryFile
52 -- Negative Logik n nAckData ack_data_n
53
54
55-- gaengige Namen
56 -- Reset, Rst: Asynchrones Ruecksetzsignal. Findet
57 -- sich nach der Synthese an FlipFlop-Reset-
58 -- Eingaengen wieder.
59 -- Clk: Ein Taktsignal. Nach der Synthese wird
60 -- es sich am Takteingang von FlipFlops
61 -- wiederfinden.
62 -- Strobe: Zeichen fuer eine zyklische Aktivitaet.
63 -- Ueber die Laenge einer Taktperiode aktiv,
64 -- sonst inaktiv. Keinesfalls zu verwechseln
65 -- mit einem Taktsignal!
66 -- Sel: Funktionsauswahl an einer kombinatorischen
67 -- Einheit, wie einem Multiplexer oder einer
68 -- ALU. (Das Wort Select ist ein reserved
69 -- word in VHDL und kann daher nicht benutzt
70 -- werden.)
71 -- Selcd: Abkuerzung fuer Selected. Verwendung
72 -- beispielsweise in Konstanten die eine
73 -- bestimmte Mux-Stellung einstellen:
74 -- cStaD0Selcd.
75 -- Enable, En: Freigabesignal.
76 -- Request, Req: Anfrage fuer Daten. Eine Einheit A zeigt
77 -- der Einheit B, dass Daten erwuenscht sind.
78 -- Acknowledge, Ack: Bestaetigung, dass ein request verstanden
79 -- wurde und dass die Antwort bereitliegt.
80 -- Toggle, Tgl: Aktivitaet auf diesem Signal wird durch
81 -- einen Pegelwechsel angezeigt.
82 -- Asynchronous, Async: Dieses Signal ist nicht synchron zum Takt
83 -- dieser unit. Es ist also nicht ein-
84 -- syncronisiert. Taktsynchrone Signale
85 -- werden nicht gesondert gekennzeichnet.
86 -- Counter, Ctr: Zaehlerstand.
87 -- NrOf, Nr: Anzahl.
88 -- Delayed1, Del1: Delayed um einen (zwei, drei,. . . )
89 -- Taktzyklen.
90 -- ReadWrite, Rw: Anwahl von Lese- oder Schreibbetrieb.
91 -- Default, Dft: Default-Wert, beispielsweise zur Belegung
92 -- von generics falls von aussen kein Wert
93 -- gewaehlt wird.
94 -- Mux: Ausgangssignal eines Multiplexers,
95 -- beispielsweise in einem Datenpfad.
96 -- Synchronized, Syncd: Einsynchronisierte Version eines
97 -- asynchronen Signals.
98 -- Metastable: Moeglicherweise metastabiles Signal,
99 -- beispielsweise das Ausgangssignal nach
100 -- der ersten Synchronisationsstufe.
101 -- Gibt es mehrere Synchronisationsstufen,
102 -- so setzt sich mit jeder Stufe die Wahr-
103 -- scheinlichkeit der Metastabilitaet herab.
104 -- Um dies zu kennzeichnen kann man an den
105 -- Begriff Metastable eine Zahl fuer die
106 -- Registerstufe anhaengen.
107 -- State: Statusregister einer FSM.
108 -- NextState: Eingang eines Statusregisters (einer FSM).
109 -- Bei einer FSMD kann es sich auch um einen
110 -- Zaehler handeln, z.B. NextCtr.
111 -- Waiting, HuntingStopBit: Die Zustandsnamen reflektieren Zustaende,
112 -- Situationen oder (derzeit laufende)
113 -- Taetigkeiten, nicht aber Befehle oder
114 -- dergleichen. Also etwa SendingData,
115 -- statt SendData.
116 -- Hunting: Beispielsweise das Durchforsten eines
117 -- Datenstroms auf ein betimmtes Datum hin.
118 -- WaitingOn: Warten auf ein bestimmtes Ereignis.
119 -- Ready: Einheit ist derzeit verfuegbar.
120 -- Busy: Einheit ist derzeit beschaeftigt.
121 -- Valid: Zeigt an, dass ein anderes Signal
122 -- (meist Datenbus, Adressbus,. . . )
123 -- gueltig ist.
124 -- Frq: Frequency, meist als Namensteil eines
125 -- generics, z.B. gClkFrq := 48E6.
126 -- DividingClk, DoingThis: Typische labels fuer einen process.
127 -- Diese Namen druecken Taetigkeiten
128 -- unmittelbar aus.