Frage: Was ist damit gemeint? Bitpos: [28:14] Default: 5'b0
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
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
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?
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
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.
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...
@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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.