Gast
#2372609
Hallo, Ich habe für einen Spartan 3E einen Sinus Generator implementiert. Über USB kann die Sinuskurve im Block RAM des FPGA abgelegt werden. Über einen DAC wird der Sinus dann Ausgegeben. Die Abtastfrequenz ist einstellbar. Nun möchte ich nicht immer bei einer Amplitudenänderung die Sinuskurve neu über den PC berechnen und in den Block RAM laden. Hierzu möchte ich einen normierten Sinus im Block RAM ablegen und über den PC nur den Multiplikator einstellen. Um Rundungsfehler zu vermeiden Multipliziere ich erst mit dem Multiplikator um anschließend per Division auf den Richtigen Wert zu skalieren. Es wird also auf eine feste Divison durch 1000 oder ähnliches hinauslaufen. Der Multiplikator lässt sich leicht mit dem Core Generator von Xilinix erstellen. Dieser Multipliziert zwei 16 Bit Werte in einem Takt. Mein Problem ist jetzt das die Division 30 Takte benötigt. Für meine Anwendung ist das viel zu langsam. Gibt es eine andere möglichkeit die Divison durchzuführen. Oder gibt es vielleicht noch einen besseren Ansatz das ganze umzusetzen? Gruß Jörn