frage zu bitpos

Moderator (Firma: Titel) Persönliche Seite #4801289
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?
Gast #4801327
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?
Gast #4801349
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
Gast #4801648
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.
Moderator (Firma: Titel) Persönliche Seite #4801776
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...
Gast #4802159
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren