Hallo,
für meine Diplomarbeit entwickele ich einen Prozessor, der ähnlich MMX
mehrere Register mit einem Befehl parallel verarbeiten können soll.
Dazu habe ich 16 parallele ALUs aufgebaut, in denen auch eine
Multiplikation möglich sein soll.
Der Code dafür sieht in jeder dieser ALUs folgendermaßen aus:
1 |
|
2 | signal mult_right: unsigned(15 downto 0);
|
3 | signal mult_left: unsigned(15 downto 0);
|
4 | signal mult_res32: unsigned(31 downto 0);
|
5 |
|
6 | mult_res32 <= mult_left * mult_right;
|
Die Synthese läuft einwandfrei ab, allerdings liefert mir Place & Route
für jede der ALUs diese Fehlermeldung:
WARNING:Place:119 - Unable to find location. MULT18X18SIO component
cpu_impl/vector_executionunit_impl/.../valu/Mmult_mult_res32 not placed.
Der FPGA für den das Bitfile generiert werden soll ist ein Xilinx
Spartan 3A (XC3S700A), welcher laut Datenblatt
(http://direct.xilinx.com/bvdocs/publications/ds529.pdf) zwanzig 18x18
Multiplizierer besitzen sollte.
Kann mir eventuell jemand einen Tipp geben, was hier schief laufen
könnte?
Viele Grüße,
Harald