Forum: Mikrocontroller und Digitale Elektronik frage zu bitpos


von bitpos (Gast)


Lesenswert?

Frage:

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

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

Kontext?

von bitpos (Gast)


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. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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)


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)


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)


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. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


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)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.