Forum: Mikrocontroller und Digitale Elektronik frage zu bitpos


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von bitpos (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Frage:

Was ist damit gemeint?
Bitpos: [28:14]
Default: 5'b0

von Rufus Τ. F. (rufus) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
Kontext?

von bitpos (Gast)


Bewertung
-1 lesenswert
nicht lesenswert
Rufus Τ. F. schrieb:
> Kontext?

Kontext:
Setzen von Bits

Bitpos: [28:14]
Stelle mir darunter Bitpos 28 und Offset 14 vor

Aber da werde ich nicht schlau:
Default: 5'b0

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
1 lesenswert
nicht lesenswert
bitpos schrieb:
> Aber da werde ich nicht schlau:
Verilog.
Das ist eine Hardwarebeschreibungssprache.

> Stelle mir darunter Bitpos 28 und Offset 14 vor
Es ist ein Vektor mit den Bitnummern 28...14.

> Default: 5'b0
Das heißt normalerweise 5 stelliger Binärwert 00000

bitpos schrieb:
> Was ist damit gemeint?
Wo hast du das her? Warum fragst du?

: Bearbeitet durch Moderator
von bitpos (Gast)


Bewertung
0 lesenswert
nicht lesenswert
Lothar M. schrieb:

Danke!

> bitpos schrieb:
>> Aber da werde ich nicht schlau:
> Verilog.
> Das ist eine Hardwarebeschreibungssprache.
>
>> Stelle mir darunter Bitpos 28 und Offset 14 vor
> Es ist ein Vektor mit den Bitnummern 28...14.

Sind damit 15 Bits als gesamt Verfügbar dann gemeint?

>
>> Default: 5'b0
> Das heißt normalerweise 5 stelliger Binärwert 00000

Und da geht es los.
Das verstehe ich nicht, wenn hier nur 5 Bits angegeben werden.
Ist das lediglich ein Default Wert der aber bis 15 Bits sein kann?

>
> bitpos schrieb:
>> Was ist damit gemeint?
> Wo hast du das her? Warum fragst du?

Aus einer Aufgabe, die ich versuche zu verstehen.

https://books.google.de/books?id=gd9JbyzC-kEC&pg=PA172&lpg=PA172&dq=Vektor+bitpos+default&source=bl&ots=fMTq8OUFpB&sig=yrAJGgWXuo1XakMzCsHtYB0CP4U&hl=de&sa=X&ved=0ahUKEwjgq-ewsbrQAhVFCBoKHc9FBvAQ6AEIUDAH#v=onepage&q=Vektor%20bitpos%20default&f=false

Das bringt mich dann durcheinander:

[19:0]  20'h2B6

Würde dann bedeuten:
Vektor 19..0 ( 20 bits "Verfügbar" )
Default 20 stellig ( 20 bits ? ) hexadezimal ? 2B6 als default ?
2B6 wäre BIN 1010110110 und nur 10 bits.

Diesen Zusammenhang von Verfügbarkeit und Default sowie Default ( 20 
bits ) und dann nur 10 bits als HEX als default, verstehe ich nicht.

Wo muss ich da anfangen, um das zu verstehen?

von bitpos (Gast)


Bewertung
0 lesenswert
nicht lesenswert
http://www.mikrocontroller.net/articles/Verilog#Skalar.2C_Vektor.2C_Bit-Splitting.2C_Verkettung.2C_Wiederholung

Danke
Werde nicht schlauer:

[19:0]  20'h2B6

Vektor 19..0
Setzen von 20 bits?  mit dem default HEX: 0x2B6 = BIN 1010110110
ab Bit 0?
ab Bit 19 nach rechts?
also 1010110110
Bit19= 1, Bit18=0, Bit17=1 ...

denke ich mal

Aus dem link:
wird ab Bit 15 nach rechts gesetzt:
data[15:13] = 3'b110;   // Setze Bits 15, 14 = 1, Bit 13 = 0, Wert ist 
binär

von void (Gast)


Bewertung
0 lesenswert
nicht lesenswert
1
wire [519:0] vect;
2
vect[519:500] = 20'h2B6;
vect - Ein 520bit Vector.
       Oder anders gesagt 520 Leitungen nebeneinander.

vect[519:500] - Die obersten 20 Leitungen von vect.
                Bzw. die 20 Bits an den Positionen 519 bis 500.

= 20'h2B6 - Zuweisung von 20bit mit dem Wert hex "2B6".
            In "2B6" nicht genannte vordere bits sind explizit 0.
            Binär also: "0000_0000_0010_1011_0110"
            Oder in Verilog Notation: 20'h2B6 = 20'b00000000001010110110

vect[499:0] - 500 Leitungen/Bits mit jetzt noch undefiniertem Zustand.

von Lothar M. (lkmiller) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht lesenswert
bitpos schrieb:
> Wo muss ich da anfangen, um das zu verstehen?
Du musst dort anfangen,  wo bei Verilog viel implizit angenommen wird. 
Im Besonderen wird angenommen,  dass eine Zahl ohne die nötige Bitbreite 
links mit Nullen aufgefüllt wird.

void schrieb:
> In "2B6" nicht genannte vordere bits sind explizit 0.
Implizit.
Denn explizit (=ausdrücklich) sind nur die unteren 12 Bit über 3 
Hexzahlen definiert...

von bitpos (Gast)


Bewertung
0 lesenswert
nicht lesenswert
@void
danke

Lothar M. schrieb:
> bitpos schrieb:
>> Wo muss ich da anfangen, um das zu verstehen?
> Du musst dort anfangen,  wo bei Verilog viel implizit angenommen wird.
> Im Besonderen wird angenommen,  dass eine Zahl ohne die nötige Bitbreite
> links mit Nullen aufgefüllt wird.

Ok, danke!

>
> void schrieb:
>> In "2B6" nicht genannte vordere bits sind explizit 0.
> Implizit.
> Denn explizit (=ausdrücklich) sind nur die unteren 12 Bit über 3
> Hexzahlen definiert...

Gut erkannt und auf dem Punkt gebracht,
genau das war mein Problem Lothar.

Solange es dann nicht explizit dort steht,
gehe ich dann von LSB aus

example [20:8] 3'hFE
--------------------

setze den HEX Wert binär 11111110 ab LSB[8] 01111111 nach MSB[16]

oder anders geschrieben

MSB[16] nach LSB[8] 11111110

( wie schreibt man es eigentlich richtig? )

Danke, noch nicht alles aber einiges jetzt klarer.

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]
  • [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.