Zum Inhalt springen
hanse-computing.de
  • Moin
  • Über uns
  • Leistungen
  • Projekte
  • Neuigkeiten
  • Wissen
    • Netzwerktechniken
    • Systemadministration
    • Hardware-Spezifikationen
    • KI & Automatisierung
    • Glossar
      • Fachbegriffe
      • Programmiersprachen-Befehle
    • Datenbanken
    • IT-Grundlagen
    • Python: Grundlagen
    • Python: Datenstrukturen
    • Python: Dateien & IO
    • Python: Web & Frameworks
    • Python: Fehler & Debugging
    • Webentwicklung
    • Linux & Betriebssysteme
    • IT-Sicherheit
    • Cloud & Container
    • Tools & Software
    • Netzwerk: TCP/IP
    • Netzwerk: DNS & Dienste
    • Netzwerk: Sicherheit
    • Netzwerk: Tools
    • KI: Grundlagen
    • KI: Praxis
    • KI: LLM & Agenten
    • Hardware: Server
    • Hardware: Netzwerkgeräte
    • Hardware: Peripherie
    • Wiki-Startseite
    • Letzte Änderungen
    • Kategorie-Browser
    • Zufallsartikel
  • Infrastruktur
  • AI Easy Start
  • Test-Drive
  • Kontakt
  • Impressum
  • Datenschutz

Sprache auswählen

  • Deutsch (Deutschland)
  • English (United Kingdom)
  1. Aktuelle Seite:  
  2. Startseite
  3. Wissen
  4. Glossar
  5. Programmiersprachen-Befehle

Common-Lisp-Befehle: Schnellreferenz für die Lisp-Ursprache

Common Lisp ist der Standard-Lisp-Dialekt aus dem Jahr 1994 (ANSI X3.226-1994) und gilt als die mächtigste Lisp-Variante. Sie vereint funktionale Programmierung mit objektorientierten Konzepten aus CLOS (Common Lisp Object System) und wird bis heute in Forschung, KI und anspruchsvoller Softwareentwicklung eingesetzt.

Erste Schritte

Beliebte Implementierung ist SBCL (Steel Bank Common Lisp), ein quelloffener und sehr performanter Compiler:

sbcl                     ; interaktive REPL starten
sbcl --script datei.lisp ; Skript ohne REPL ausführen
sbcl --load datei.lisp   ; Datei laden
sbcl --eval "(format t "Hallo")" ; Ausdruck direkt auswerten

Paket- und Build-Verwaltung

  • Quicklisp ist der Paketmanager der Common-Lisp-Welt: (ql:quickload "paket") lädt eine Bibliothek und zieht Abhängigkeiten automatisch nach.
  • ASDF (Another System Definition Facility) beschreibt Projekte als Systeme — analog zu Makefiles oder Cargo.toml — und kompiliert sie in der richtigen Reihenfolge.
  • Ein Projekt wird mit (asdf:load-system "mein-system") geladen; (ql:quickload) nutzt ASDF intern.

Wichtige Sprachkonstrukte

(defun quadrat (x) (* x x))          ; Funktion definieren
(defparameter *name* "Wert")          ; globale Variable
(defclass tier () (name))             ; CLOS-Klasse
(defmethod sprich ((t tier)) ...)     ; Methode auf Klasse
(loop for i from 1 to 10 collect i)   ; Schleife
(mapcar #'quadrat '(1 2 3))           ; Funktion auf Liste mappen

Praxis-Tipps

  • Quicklisp einmalig installieren: (load "quicklisp.lisp"), dann (quicklisp-quickstart:install).
  • Die REPL mit , verlassen (SBCL), History mit den Pfeiltasten.
  • Emacs mit SLIME bietet eine komfortable Common-Lisp-Entwicklungsumgebung.

Verwandte Grundlagen: Scheme-Befehle, Clojure-Befehle, Racket-Befehle, Emacs-Lisp-Befehle.

Verilog-Befehle: HDL-Referenz für FPGA- und ASIC-Design

Verilog ist eine Hardware-Beschreibungssprache mit C-ähnlicher Syntax, die 1983/84 von Gateway Design Automation entwickelt und später von Cadence übernommen wurde. Seit 1995 ist sie als IEEE-Standard 1364 genormt. Verilog wird wie VHDL eingesetzt, um digitale Schaltungen für FPGAs und ASICs zu beschreiben, zu simulieren und zu synthetisieren.

Grundprinzip: Module

Die zentrale Einheit ist das module — vergleichbar mit einem Chip oder einer Teilschaltung. Ports werden als Ein- oder Ausgänge deklariert, das Innenleben mit always-Blöcken oder Zuweisungen beschrieben:

module and2 (
  input  wire a, b,
  output wire y
);
  assign y = a & b;
endmodule

Wichtige Sprachmittel

  • wire für verdrahtete Signale, reg für in always-Blöcken zugewiesene Werte
  • always @(*) für kombinatorische und always @(posedge clk) für taktflankengesteuerte Logik
  • module/endmodule, parameter für Konstanten, task/function für wiederverwendbare Bausteine
  • Bit-Operatoren wie &, |, ^ direkt auf Vektoren

Werkzeuge und Befehle

Icarus Verilog ist der klassische Open-Source-Simulator. Kompilierung und Simulation laufen getrennt:

iverilog -o sim and2.v and2_tb.v   # kompilieren
vvp sim                            # simulieren

Verilator übersetzt synthesizbares Verilog und SystemVerilog in schnellen C++- oder SystemC-Code — ideal für große Simulationen:

verilator --cc --build --exe --timing -j 0 sim_main.cpp and2.v

Simulationen erzeugen VCD-Dateien (Value Change Dump), die sich mit GTKWave als Wellenform anzeigen lassen.

Verwandte Grundlagen: SystemVerilog-Befehle, VHDL-Befehle, C/C++-Befehle.

SystemVerilog-Befehle: Design und Verifikation mit IEEE 1800

SystemVerilog ist die Erweiterung von Verilog zu einer einheitlichen Hardware-Beschreibungs- und Verifikationssprache (HDVL). Der Standard IEEE 1800 (erste Ausgabe 2005, aktuell 1800-2023) fasst Design, Testbench-Programmierung und formale Assertions in einer Sprache zusammen. SystemVerilog ist rückwärtskompatibel zu Verilog und heute der Standard in der Chip-Verifikation.

Design-Verbesserungen

Für das Synthese-Design bringt SystemVerilog dedizierte Prozess-Klassen mit, die die Absicht klarer ausdrücken als das generische always:

module counter (
  input  logic clk, rst_n,
  output logic [7:0] count
);
  always_ff @(posedge clk or negedge rst_n) begin
    if (!rst_n) count <= 8'h00;
    else        count <= count + 1;
  end
endmodule
  • always_ff für taktflankengesteuerte, always_comb für kombinatorische und always_latch für Latch-Logik
  • logic ersetzt die Unterscheidung von wire und reg in den meisten Fällen
  • typedef, struct, enum und interface für strukturierte Datentypen und Port-Bündel

Verifikation: Klassen, Constraints und Assertions

Der große Zugewinn liegt in der Verifikation: Objektorientierte class-Testbenches, constrained random Stimuli, covergroups für die Funktionsabdeckung und Assertions (SVA) für temporale Eigenschaften. Die Universal Verification Methodology (UVM) von Accellera baut vollständig auf SystemVerilog auf. Über die Direct Programming Interface (DPI) lassen sich C-Funktionen direkt in die Testbench einbinden.

Werkzeuge

Open Source: Verilator unterstützt ein breites synthesizbares Subset und wird per verilator --cc --build --exe --timing in C++ übersetzt. Kommerzielle Simulatoren sind Synopsys VCS, Siemens Questa und Cadence Xcelium.

Verwandte Grundlagen: Verilog-Befehle, VHDL-Befehle, C/C++-Befehle, Python-Befehle.

VHDL-Befehle: HDL-Referenz für FPGA- und ASIC-Design

VHDL (VHSIC Hardware Description Language) ist eine stark typisierte Hardware-Beschreibungssprache für digitale Schaltungen. Sie entstand in den 1980er-Jahren im US-Verteidigungsprogramm VHSIC (Very High Speed Integrated Circuit) und ist seit 1987 als IEEE-Standard 1076 genormt. Mit VHDL werden FPGAs und ASICs beschrieben, simuliert und synthetisiert.

Grundprinzip: Entity und Architecture

Jedes VHDL-Design trennt die Schnittstelle von der Implementierung: Die Entity deklariert Ein- und Ausgänge, die Architecture beschreibt das Verhalten oder die Struktur. Ein einfaches UND-Gatter sieht so aus:

library ieee;
use ieee.std_logic_1164.all;

entity and2 is
  port (a, b : in  std_logic;
        y    : out std_logic);
end entity;

architecture behav of and2 is
begin
  y <= a and b;
end architecture;

Wichtige Sprachmittel

  • std_logic und std_logic_vector aus dem Package ieee.std_logic_1164 — der Standard-Datentyp für Signale
  • process mit Sensitivitätsliste für sequentielle Logik, signal für Verbindungen, variable für lokale Werte
  • if/case innerhalb von Prozessen, generate für strukturelle Wiederholung
  • strikte Typisierung: Signale unterschiedlicher Typen müssen explizit konvertiert werden

Werkzeuge und Befehle

GHDL ist der verbreitete Open-Source-Simulator. Der Arbeitsablauf besteht aus Analyse, Elaboration und Ausführung:

ghdl -a and2.vhdl      # analysieren (Syntax- und Typprüfung)
ghdl -e and2           # elaborieren (Top-Level aufbauen)
ghdl -r and2 --vcd=out # simulieren, Wellenformen als VCD

Für die Synthese kommen kommerzielle Werkzeuge wie AMD Vivado oder Intel Quartus zum Einsatz, im Open-Source-Bereich auch Yosys. Testbench-Signale lassen sich mit GTKWave als VCD-Datei visualisieren.

Verwandte Grundlagen: Verilog-Befehle, SystemVerilog-Befehle, C/C++-Befehle, Assembly-Befehle.

Roc-Befehle: Schnellreferenz für die funktionale Sprache

Roc ist eine rein funktionale Programmiersprache, die Richard Feldman (bekannt aus der Elm-Community) entwickelt. Sie verfolgt das Motto „fast, friendly, functional“: Roc-Code soll schnell kompilieren und schnell laufen — die Sprache übersetzt zu Maschinencode oder WebAssembly. Statt einer großen Standardbibliothek nutzt Roc so genannte Platforms, die das Programmieren für Kommandozeile, Web-Server oder Browser vorkonfigurieren.

Erste Schritte

Der Roc-Compiler heißt roc und wird über die Kommandozeile bedient. Ein einfaches Programm liegt in einer main.roc-Datei:

roc check main.roc     # Typprüfung ohne Code zu erzeugen
roc build main.roc     # Kompiliert zu einer ausführbaren Datei
roc run main.roc       # Kompiliert und führt das Programm aus
roc dev main.roc       # Entwicklungsmodus mit schneller Neukompilierung
roc test main.roc      # Führt die Tests im Modul aus
roc fmt main.roc       # Formatiert den Quelltext
roc repl               # Interaktive REPL zum Ausprobieren

Wichtige Optionen

  • --output <datei> — Zielpfad der erzeugten Binärdatei festlegen
  • --target wasm32 — kompiliert zu WebAssembly statt nativem Maschinencode
  • --linker — Linker-Auswahl (Standard: LLD als Bibliothek eingebunden)

Praxis-Tipps

  • Roc ist noch in der Pre-Release-Phase — die Sprache verändert sich, die grundlegenden Befehle bleiben aber stabil.
  • Die basic-cli-Platform liefert Module für Kommandozeilen-Argumente und externe Befehle, basic-webserver für HTTP-Anwendungen.
  • Da Roc rein funktional ist, gibt es keine Variablen mit Seiteneffekten im klassischen Sinn — Abhängigkeiten werden explizit als Parameter gereicht.

Verwandte Grundlagen: Haskell-Befehle, Elm-Befehle, Rust-Befehle, Odin-Befehle, D-Befehle.

  1. D-Befehle: Schnellreferenz für die Systemsprache
  2. Ada-Befehle: Schnellreferenz für sicherheitskritische Software
  3. Odin-Befehle: Schnellreferenz für die Systemsprache mit klarer Syntax
  4. Gleam-Befehle: Schnellreferenz für die funktionale Sprache auf der BEAM-VM

Seite 37 von 46

  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
hanse-computing.de

hanse-computing.de – KI-gestützte Dienstleistungen aus Lübeck.

hanse-computing.de
IT-Dienstleistungen aus der Hansestadt
Über uns · Projekte · Neuigkeiten · Affiliate
Impressum · Datenschutz
© 2026 hanse-computing.de
© 2026 hanse-computing Impressum Datenschutz