Logarithmus in Verilog

Habe ich eine Aussage in verilog suchen, wie integer level = log(N) (Wobei N ein parameter und level ermittelt werden soll), Aber ich verstehe, das ich nicht tun kann komplexe mathematische Aussagen in verilog, so Frage ich mich, ob es eine alternative Lösung für das obige problem?

Jedes feedback dankbar!

  • Welche Art des Logarithmus versuchst du zu computer? Einen ganzzahligen Logarithmus zur Basis 2 ist einfach. Ein Fließkomma-Logarithmus zur Basis e ist viel schwieriger.
  • Ganzzahligen Logarithmus zur Basis 2
  • Ist N eine compile-Zeit-Konstante?
  • ja! Seine parameter an das Modul
  • In diesem Fall ist es Recht einfach. Sie können eine lookup-Tabelle, wenn N klein ist und die Geschwindigkeit ist ein Problem. Wenn N sehr groß werden, können Sie einfach eine Schleife über die bits von N von Links nach rechts, bis Sie finden, ein 1-bit.
  • wie machen Sie eine lookup-Tabelle? Auch N-Kappen-out bei 128 oder vielleicht 256, aber das ist über es
  • Finden Sie eine Erklärung und eine Implementierung in SystemVerilog (ganz ähnlich wie Verilog) der Logarithmus zur Basis 2, die in dieser Webseite: sistenix.com/logarithm.html Sobald der log2 ist einfacher umgesetzt werden, im Vergleich zu anderen Basen, können Sie berechnen, andere Logarithmen in verschiedenen Basen nur die Multiplikation der Folge von log2 durch eine Konstante Zahl.
  • würden Sie bitte lassen Sie mich mehr, wie kann ich das machen ", Wenn N groß werden, können Sie einfach eine Schleife über die bits von N von Links nach rechts, bis Sie finden, ein 1-bit."?

InformationsquelleAutor Max Eastman | 2011-04-09
Schreibe einen Kommentar