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

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