Grund für Aufteilung in Byteblöcke

Gast #576030
Lesenswert?
• ▲
▼
kann mir einer mal erklären, warum im Beispielcode, der vom EDK (Xilinx) 
erzeugt wird, die gesamten Daten in byte Blöcke aufteilt?
1
for byte_index in 0 to (C_DWIDTH/8)-1 loop
2
  if ( Bus2IP_BE(byte_index) = '1' ) then
3
    slv_reg0(byte_index*8 to byte_index*8+7) <= Bus2IP_Data(byte_index*8 to byte_index*8+7);
4
  end if;
5
end loop;
Gast #576045
Lesenswert?
• ▲
▼
Damit man aus dem C Code heraus auch 8 Bit speichern/lesen kann.
z.b. mit
char* slv_reg0 = Basisadresse;
*slv_reg0 = 214; // Schreibt in die 8 höchstwertigsten Bits (slv_reg0(0 
to 7)) des Registers;
*(slv_reg0+1) = 123; // Schreibt in die nächsten 8 bits (slv_reg(8 to 
15)) des Registers. Dabei wird den die entsprechen Byte Enable Signale 
ArBE gesetzt  und nur nur durch deren Auswertung wird sichergestellt, 
dass nicht die ersten geschriebenen 8Bit wieder überschrieben werden.

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