Resize nicht synthetisierbar?

Gast #5468911
Lesenswert?
• ▲
▼
Hallo Zusammen,

ich wundere mich gerade ein bisschen, weil es mir noch nie aufgefallen 
ist. Bei folgender Codeschnipsel:
1
twos_complement_output_assign : if g_data_format = "TWOS_COMPLEMENT" or g_data_format = "twos_complement" generate
2
      assign_data_o : mux_data_o <= std_ulogic_vector(resize(signed(s_mux_data_reg), mux_data_o'length));
3
    end generate twos_complement_output_assign;

s_mux_data_reg ist 14Bit breit (std_ulogic_vector) und enthält Daten 
eines AD-Wandlers, mux_data_o ist 16 Bit breit und wird an einen 
Prozessor (Zynq PL) weiter geschickt.

In der Simulation (Modelsim) läuft das einwandfrei - wenn das MSB des 
Registers "1" ist, werden die beiden Bits von mux_data_o auch auf "1" 
gezogen. Ich dachte, das würde auch so durch die Synthese gehen, habe 
aber jetzt gesehen, dass die beiden MSBs wegoptimiert werden. Ich kann's 
natürlich von Hand mit einem Multiplexter machen, aber es wundert mich 
einfach. Ist resize in dem Fall nicht synthesefähig?

Danke und viele Grüße
Achim
Gast #5468969
Lesenswert?
• ▲
▼
Achim schrieb:
> Ich dachte, das würde auch so durch die Synthese gehen, habe
> aber jetzt gesehen, dass die beiden MSBs wegoptimiert werden. Ich kann's
> natürlich von Hand mit einem Multiplexter machen, aber es wundert mich
> einfach. Ist resize in dem Fall nicht synthesefähig?
Ich denke das resize funktioniert.
Die Bit sind mehrfach vorhanden und werden optimiert, aber nicht gleich 
wegoptimiert. Sind denn die beiden MSBs im Zynq-PL bei negativem 
Eingangssignal ok?

Duke
Gast #5469045
Lesenswert?
• ▲
▼
Ich glaube, du hast recht. Ich entwickle hier remote und habe keine 
Hardware zum testen - dabei habe ich mich auf die Aussage vom SW 
Entwickler verlassen. Wenn ich jetzt genau in das Synthese Ergebnis 
reingucke, dann hat Bit 13 das Alias Bit 14 und 15 - ist halt nur ein FF 
dafür gesetzt.

...und wenn ich weiter reingucke, dann glaube ich, dass der ADC von der 
SW nicht in den signed Modus gebracht wurde und nur offset binary Daten 
ausgibt :-/

Hab Dank für den Gedankenanstoß!

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.