Gast
#5143199
Hallo, ich würde gerne in einem Vivado Design (siehe Beitrag "Red Pitaya Erfahrungswerte?" ) einen generischen Multiplexer benutzen. das angefügte MUX_TEST.vhd Module ist im weitesten an dem Code hier angelehnt: https://stackoverflow.com/questions/23709954/creating-a-generic-multiplexer jetzt habe ich das Problem, dass es "so" in Vivado nicht funktioniert. Z.B. dürfen PORTS nur vom Typ STD_LOGIC oder STD_LOGIC_VECTOR sein und nicht etwas integer. Sollte ich den Port für "sel" auf STD_LOGIC_VECTOR stellen, müsste ich ja um die "Bitbreite" generisch berechnen zu lassen, aus "input_entries" die Quadratwurzel ziehen, auf den nächsten Ganzzahlwert runden 1 abziehen. dazu benötigte ich "log2" und "ceil" diese sind in der IEEE.MATH_REAL enthalten, jedoch nicht mehr in Vivado unterstützt. Wie komme ich sinnvollerweise doch noch zum Ziel? also PORT input ---> ist generisch PORT sel ---> ist generisch (Quadratwurzel und ceil benötigt) PORT outp --> ist generisch (nur von der Datenbreite abhängig) Viele Grüße