Mit Sorgfalt und etwas Wissen über Ihre Ziel-FPGA wird dies als ein Speicherblock anstelle von kombinatorischer Logik implementiert werden.
Eine typische Einschränkung ist, dass die Zuordnung
prbs_reg_feed <= prbs_reg_ip(byte_indx);
in einem getakteten Prozess platziert werden muss, da die Speicherblöcke typischerweise synchron sind.
Der einzige Weg, um sicher zu sein, ist, ein paar Minuten zu nehmen und diesen Block selbst zu synthetisieren und den Synthesebericht zu lesen. Und wenn es nicht funktioniert, lies zuerst die Dokumentation und experimentiere weiter.
Some examples here für RAM. ROM kann das gleiche sein, aber ohne Möglichkeit, es zu schreiben, und vielleicht prbs_reg_ip
als Konstante erklärt anstelle eines Signals, zum Beispiel
constant prbs_reg_ip : reg_type := (0 => X"C3", 1 => "80", 2 => "FF", ...);
Für einige FPGAs oder FPGA-Tools, müssen Sie ein Attribut hinzufügen das Signal (oder Typ), die den Speicher, beispielsweise
signal prbs_reg_ip : reg_type;
attribute ram_style : string;
attribute ram_style of prbs_reg_ip : signal is "block"; -- or "distributed"
Siehe this Xilinx answer für ein Beispiel dafür.
Danke Metthew ... – vijay