Dies ist eine alte Version des Dokuments!
Um die Wiederverwendung von VHDL Komponenten zu fördern wurde die NTB VHDL Bibliothek eingerichtet.
Die Bibliothek befindet sich im SVN unter:
Für alle Komponenten in der Bibliothek müssen die unten aufgeführten Guidelines eingehalten werden. Es ist weiter darauf zu achten bei der Programierung die Blöcke so zu schreiben, dass sie in andren Projekten wieder verwendet werden können.
trunk
und tags
, optional noch branches
Die einzuhaltenden Richtlinien für Code sind hier zusammengestellt. Dabei sollte mindestens die Stufe 3 verwendet werden.
Für jeden Block muss eine .info Datei angelegt werden. Sie enthält Informationen über die jeweilige Komponente. Sie wird auch verwendet um den Wiki Eintag zu generieren. Es ist darauf zu achten, diese Datei stehts aktuell zu halten. Für jede Komponente müssen in der .info Datei folgende Parameter angegeben werden:
Optional können noch weitere Informationen abgelegt werden:
Alle Paramter die mit designator gekenzeichnet sind dürfen nicht zwischen Anführungszeichen geschrieben werden. Ein Beispiel ist hier zu finden.
name = "i2c"; description = "This block is following the 1982 Philips i2c Bus interface standard to transmit 16 Bit read or write data to one of 116 slaves at 100 kHz."; version = 0.1.0; date = 2013-11-01; designer = "Laszlo Arato"; source = i2c_driver.m.vhd; testbench = i2c_driver.tb.vhd; dev-state = tested bugs = "Function of acknowledge bits not testet."; license = "Apache License 2.0"; comments = "Used at the NTB in the Course 'EuR-III Digitale Systeme'";
Für jede Komponente ist mindestens eine Testbench, ein .do-Datei für das Laden der Simulation und ein .do-Datei für das Laden der Waveforms zu erstellen. Dabei muss in der Testbench mindestens die Komponente erstellt und allen Eingangssignalen ein Standardwert zugewiesen werden.
Die Version besitzt folgendes Format: 0.0.0. Die erste Zahl gibt Änderungen an der API der Componente an. Die zweite Zahl wird hochgezählt wenn die Features der Componente ändern. Die letze Zahl wird hochgezählt wenn irgend welche Bugfixes gemacht wurden.
Sobald eine Komponente einen gewissen Stand erreicht hat bzw. spätestens wenn sie in irgend einem Projekt ausgeliefert wird muss im SVN ein Tag erstellt werden. Davor wird eine neue Version vergeben.