www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Verilog: Führende Nullen zählen


Autor: Paul W. (dantor)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

was stellt die effizienteste Methode dar, führende Nullen zu zählen?
Shiften und warten, bis eine eins rausfällt, hat immernoch lineare 
Komplexität. Gibt es etwas schnelleres?

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Paul W. schrieb:
> ... effizienteste ...
> ... schnelleres?

hm, entweder oder...

Wieviele Bits und was fuer eine Geschwindigkeit sollen's denn sein?

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Paul W. (dantor)

>Komplexität. Gibt es etwas schnelleres?

Ein direkter, paralleler Dekoder.

MfG
Falk

Autor: berndl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Falk Brunner schrieb:
> Ein direkter, paralleler Dekoder.

Ebend, in Verilog schoen zu loesen mit 'casex'. Die Frage war dann nur, 
alles parallel in einem cycle oder z.B. auf 8/16/32/... Bit Grenze 
pipelined...

Autor: Lothar Miller (lkmiller) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> was stellt die effizienteste Methode dar, führende Nullen zu zählen?
Ich habe da mal was für VHDL untersucht, evtl. bringt dir das was:
http://www.lothar-miller.de/s9y/archives/55-Finde-...

Autor: iulius (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier noch eine Variante die auf Durchlaufzeiten optimiert ist durch 
vollständige ausnutzung von 4er luts (kann man natürlich auch für 6er 
oder 7er machen)

ergibt  auf s3e-5 :

Number of 4 input LUTs:                62 out of   9,312    1%
Number of occupied Slices:             33 out of   4,656    1%
Maximum combinational path delay:      8.842ns

könnte also sogar mit 100mhz machbar sein selbst bei älterem/low cost 
FPGA.

für verilog und parametrisierbarkeit habe ich grad keinen nerv.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.